Ich habe bemerkt, dass es einen Unterschied zwischen Haskell und Erlang gibt, wenn es um foldl
geht.
Für foldr
geben beide Sprachen die gleichen Ergebnisse zurück:
Die Rückgabewerte für foldl
sind jedoch unterschiedlich:
Wie kann dieser Unterschied erklärt werden?
Sie verwirren sich, indem Sie Ihre Falzfunktion nicht vereinfachen.
links falten, Haskell :
%Vor%fold left, Erlang :
%Vor%folde rechts, Haskell :
%Vor%fold right, Erlang :
%Vor% Daraus wird klar, dass in Haskell die Funktion foldl
an (Accumulator, Element)
übergeben wird, während die Funktion foldr
an (Element, Accumulator)
übergeben wird. Auf der anderen Seite werden beide Funktionen in Erlang (Element, Accumulator)
übergeben.