reverse :: [a] -> [a]
als foldl
fromBits :: [Bool] -> Integer
,
Beispiel fromBits [True,False,False,True,False]=18
...als foldr
oder als foldl
?
foldl f a (map g xs) = foldl ? ?das
map
verschwindet dabei
⇒ stream
fusion (Coutts, Leshchinsky, Stewart, 2007)
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.7401
foldr f a xs = foldl ? ? (reverse xs)
map
durch >>=
implementieren
(entspr. Select
durch SelectMany
)
filter
durch foldr
implementieren (autotool)