www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

SKiD

Gepostet:
12.07.2012 14:49

Verständnisfrage  
Hallo zusammen,

im Rahmen einer Ausarbeitung fürs Studium soll geklärt werden, wie das \"Iteratee IO\"-Konzept funktioniert, jedoch ist mir dieses ganze System dahinter nicht ganz schlüssig, da ich nur Grundkenntnisse in Haskell habe. Ich suche derzeit nach einen einfachen Beispiel, welches den Mechanismus nahelegt, wie Iteratees funktionieren und in denen die verschiedenen Status \"Done\" und \"Next\" vorkommen. Des Weiteren das sequentielle ausrufen zweiter Iteratees mit dem >>-Operator und zusammenschalten durch den .-Operator.

Auf der Wiki (http://www.haskell.org/haskellwiki/Enumerator_and_iteratee) habe ich drei Beispiele dazu gefunden, allerdings sind diese etwas schwierig zu verstehen. Das erste Beispiel verstehe ich tweilweise. Zumindest der Teil ab dem der Iteratee (it) ins Spiel kommt. Bei den ersten drei Zeilen und der letzten Zeile hört es allerdings auf. Genauso wie bei den anderen beiden Beispielen unten.

Kann mich jemand darüber aufklären?
So richtig finde ich leider keinen Weg rein und die Informationen aus dem Internet sind zu diesem Thema leider nur mehr als spärlich.

Beste Grüße,
SKiD.
Zum Seitenanfang    
 
Landei

Gepostet:
13.07.2012 08:28

   
Ich habe von Iteratees keine Ahnung, aber diese Erklärung scheint recht verständlich zu sein: https://john-millikin.com/articles/understanding-iteratees/

Falls (!) ich das richtig sehe, bündelt ein Iteratee drei Konzepte:
- Es bildet die Teile einer while-Schleife (Berechnungs-Schritt, Teil-Ergebnisse, Fehler) als Datentypen ab
- Der \\\"Rest der Berechnung\\\" wird wie in einer Continuation behandelt (zu Continuations siehe z.B. http://en.wikibooks.org/wiki/Haskell/Continuation_passing_style )
- Es ist monadisch (genauer gesag sogar ein Monaden-Transformer), und nutzt das zur Sequenzialisierung der Schritte (wie es z.B. auch IO tut)

Zum Seitenanfang