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

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