Istnieją co najmniej 2 rzeczy, których nie rozumiem o nim:Dlaczego sygnatura foldBack różni się od fałdu w F #?
- refaktoring od lewej strony do prawej bocznej składania wymaga dużo zmian nie tylko w podpisie, ale w każdym miejscu, zależy od funkcji folderu
- nie ma sposobu, aby go łańcuchem w odniesieniu do wykazu bez odwracania parametrów
List.foldBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State
List.fold : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State
Jakiekolwiek powody, dla których ktoś wprowadziłby wszystkie parametry w odwrotnej kolejności pod sygnaturą foldBack
w porównaniu do fold
?
Do edycji: to po prostu brzmi jak rant. Nie można go też nigdy zmienić bez zerwania ogromnych fragmentów kodu. –
Myślę, że sygnatura czyta się naturalnie, gdy masz już prawidłowy model mentalny tego, co robi każdy. także w leniwym langage, jest bardzo dobry powód, aby trzymać tych gości oddzielnie. Myślę, że jest to jednak ważne pytanie. – nicolas