foldr und foldl
Die Funktion fold wendet eine Funktion auf jedes Element einer Liste an, speichert das Ergebnis in einer neuen Liste und gibt diese zurück.
foldr liest die Liste von links nach rechts ein. foldl von rechts nach links, also falsch herum. Daraus ergibt sich auch gleich eine sehr hilfreiche Anwendung von foldl:
(list 5 4 3 2 1)
Es invertiert also einfach die übergebene Liste.
Ein anderes Beispiel (bei dem es keinen Unterschied macht, ob man foldr oder foldl nutzt):
15
map
map wendet eine Funktion auf alle Elemente einer Liste an, und gibt die jeweiligen Ergebnisse als neue Liste zurück.
(list 1 4 9 16 25)
filter
filter filtert eine Liste. Dazu übergibt man eine Funktion die entweder true zurückgibt, wenn das gerade getestete Element in die neue Liste soll, oder eben false, wenn es nicht in die neue Liste soll.
(list 2 4)
Schlagworte: filter, fold, Funktion, list, Liste, map, Scheme