Allgemein: filter :: (a -> Bool) -> [a] -> [a]
Hier: filter :: (Object -> boolean) -> OList -> OList
Eine filternde Funktion hat also den Typ (Object -> boolean).
Allgemein: foldl :: (a -> b -> a) -> a -> [b] -> a
Hier: foldl :: (OList -> Object -> OList) -> OList -> OList -> OList
Eine foldl-Funktion hat also den Typ (OList -> Object -> OList).
Erzeugt eine neue Liste, indem für alle Elemente der
foldl-Liste die foldl-Routine des Foldl-Objektes aufgerufen
wird, die aus einer Liste und einem Element eine neue Liste
generiert.
Grammatik in Chomsky-Normalform, d.h. alle Produktionen haben entweder die
Form m -> m'm'' mit m' und m'' aus M oder die Form m -> w mit w aus A, aka
rechts stehen entweder genau zwei Variablen oder genau ein Terminal.
Setzt solange "M" vor das Zeichen, bis das resultierende
Zeichen nicht in der Metazeichenmenge enthalten ist, also ein
neues Metazeichen gefunden wurde.
Allgemein: mapToString :: (a -> String) -> [a] -> String
Hier: mapToString :: (Object -> String) -> OList -> String
Eine mapToString-Funktion hat also den Typ (Object -> String).
Allgemein: mapVoid :: (a -> void) -> [a] -> void
Hier: mapVoid :: (Object -> void) -> OList -> void
Eine mapV-Funktion hat also den Typ (Object -> void).