Maps, Folds und Transformationen

map :: (a -> b) -> [a] -> [b]
map f [] = [] 
map f (x : xs) = f x : map f xs

map (> 2) [1,2,3,4] 
   = [False, False, True, True]
Dafür gelten Rechenregeln:
map f . map g = map (f . g)
(für Mathematiker: map ist ein (Endo-)Funktor in der Kategorie der Datentypen)

die sind nützlich bei Programmtransformationen (Vermeiden der Erzeugung temporärer Daten)



Johannes Waldmann 2007-06-21