home Funktionale Programmierung: XML Arrows Prof. Dr. Uwe Schmidt FH Wedel

XML Arrows

weiter

weiter

Zustandsbehaftete XML Arrows und IO

List Arrows
reichen für die Verarbeitung, insbesondere Ein- Ausgabe nich aus.
Erweiterung
verallgemeinerte List-Arrows mit Zustand und IO
weiter
in HXT
newtype LA      a b = LA    { runLA  :: (a -> [b]) }
 
newtype SLA   s a b = SLA   { runSLA :: (s -> a -> (s, [b])) }
 
newtype IOLA    a b = IOLA  { runIOLA :: (a -> IO [b]) }
 
newtype IOSLA s a b = IOSLA { runIOSLA :: (s -> a -> IO (s, [b])) }
weiter
Analogie
zu Monaden
Listen-Monade
Zustands-Monade
IO-Monade
IOSLA
entspricht einer Kombination von Listen-, Zustands- und IO-Monade
Konsequenz
Die Kombinatoren für die Baum- und XML-Verarbeitung müssen in Klassen zusammengefasst werden.
Die oben definierten Typen müssen zu Instanzen dieser Klassen gemacht werden.
IOSLA
wird neben LA der am häufigsten verwendete Arrow sein
Zeit für konkrete Beispiele

Letzte Änderung: 12.03.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel