Tytuł mówi wszystko. foldl1
i foldl'
są uogólnione do Foldable
, natomiast foldl1'
nie jest. Czy to tylko niedawne niedopatrzenie? Czy jest to wybór projektu?Dlaczego foldl1 nie jest uogólniony na Składany?
Rodzaj foldl1'
jest
foldl1' :: (a -> a -> a) -> [a] -> a
spodziewałem się, że mają ten sam typ jak foldl1
:
foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
widzę też, że foldl1'
jest eksportowana przez Data.List
ale nie Data.Foldable
. Być może jest to powiązane?
Ani 'foldl1' ani' foldl1'' nie należy do 'Foldable'. Należą one do 'Foldable1', klasy niepozornych składanych pojemników. Ktoś popełnił błąd i umieścił 'foldl1' w' Foldable'. Nie sądzę, by ktokolwiek miał serce, by zsumować ten błąd. – dfeuer
@dfeuer: czy wprowadzono "Składany", nie poprzedzony przez __ długi okres dyskusji i ankiet? Czy zostało to pominięte, czy jest to jakiś kompromis? – ljedrz
@ljedrz Myślę, że mieszasz dyskusję na temat używania 'Składany' w Preludium z oryginalnym projektem (jeśli jest)' Składany'. – Cactus