einzelne :: [a] -> [[a]] einzelne = map unit where unit x = [x]können wir auch noch was vereinfachen. Es ist nicht nötig, daß die Funktion "unit" wirklich extra einen Namen bekommt. Wir benötigen sie ja nur einmal. Es würde also eine unbenannte Funktion völlig ausreichen. Das sieht dann so aus:
einzelne :: [a] -> [[a]] einzelne = map ( \ x -> [x] )Eine unbenannte (anonyme) Funktion bauen wir aus Backslash und Pfeil. Der Backslash soll so aussehen wir ein Lambda. Was dasteht, ist ein Lambda-Ausdruck. Siehe Vorlesung Lambda-Kalkül (Prof. Herre, nächstes Semester).
Anonyme Funktionen sind Funktionen, d. h. anstatt
h x y z = ...können wir schreiben
h = \ x y z -> ...