Je suis en train de tirer manuellement le type de (() foldr.)Dérivation du type de (() foldr.)
(.) ::(b1 -> c1) -> (a1 -> b1) -> a1 -> c1
foldr :: (a2 -> b2 -> b2) -> b2 -> [a2] -> b2
Puis:
b1 = a2 -> b2 -> b2
c1 = b2 -> [a2] -> b2
correspondre les types que je reçois :
((a2 -> b2 -> b2) -> (b2 -> [a2] -> b2)) -> (a1 -> (a2 -> b2 -> b2)) -> a1 -> (b2 -> [a2] -> b2)
Mais alors je suis confus sur la façon de réduire cette expression.
Une aide?
Thansks,
Sebastián.
Le titre de cette question porte sur '(foldr (.))', Mais dans la question actuelle, vous utilisez '((.) Foldr)'. S'il vous plaît modifier afin qu'ils soient d'accord. – chi