Pytania otagowane jako fold

W programowaniu funkcjonalnym zwinięcie, znane również jako redukcja, akumulacja lub katamorfizm, jest rodzajem funkcji wyższego rzędu, która rekurencyjnie stosuje transformację do struktury danych, „zwijając” ją do wartości sumarycznej



7
Implikacje foldr vs. foldl (lub foldl ')
Po pierwsze, Real World Haskell , który czytam, mówi, żeby nigdy nie używać foldli zamiast tego używać foldl'. Więc ufam temu. Ale jestem zamglona, gdy w użyciu foldrw porównaniu foldl'. Chociaż widzę strukturę ich działania inaczej ułożoną przede mną, jestem zbyt głupi, by zrozumieć, kiedy „co jest lepsze”. Wydaje mi …



4
Różnica między spasowaniem a redukcją?
Próbuje dowiedzieć się F #, ale irytować, gdy próbuje odróżnić krotnie i zmniejszyć . Fold wydaje się robić to samo, ale ma dodatkowy parametr. Czy istnieje uzasadniony powód, dla którego te dwie funkcje istnieją, czy też mają one służyć osobom z różnych środowisk? (Np .: ciąg i ciąg w C …

9
Jaki jest „pythonowy” odpowiednik funkcji „fold” z programowania funkcjonalnego?
Jaki jest najbardziej idiomatyczny sposób osiągnięcia czegoś takiego w Haskellu: foldl (+) 0 [1,2,3,4,5] --> 15 Lub jego odpowiednik w Rubim: [1,2,3,4,5].inject(0) {|m,x| m + x} #> 15 Oczywiście Python udostępnia reducefunkcję, która jest implementacją fold, dokładnie tak, jak powyżej, jednak powiedziano mi, że „pythonowym” sposobem programowania jest unikanie lambdaterminów …



9
Pisanie foldl za pomocą foldr
W Real World Haskell , rozdział 4. o programowaniu funkcjonalnym : Napisz foldl z foldr: -- file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl f z xs = foldr step id xs z where step x g a = g (f a …


3
Jaka wiedza lub szkolenie jest potrzebne, aby ktoś mógł zapisać taką definicję foldlM? [Zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 7 miesięcy temu . Ostatnio próbuję użyć Haskell w moim prawdziwym systemie produkcji skrzynek. System typów Haskell naprawdę oferuje …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.