This shows you the differences between two versions of the page.
pp:24:teme:haskell-imagini-functionale [2024/05/11 20:37] mihnea.muraru [Notă pentru curioși (facultativ)] |
pp:24:teme:haskell-imagini-functionale [2024/05/11 22:42] (current) mihnea.muraru [Notă pentru curioși (facultativ)] |
||
---|---|---|---|
Line 238: | Line 238: | ||
</code> | </code> | ||
- | În acest fel, poate fi definită o **unică funcțională** ''foldAST'', cu tipul mai general ''Functor f => (f a -> a) -> Fix f -> a'', pentru care funcționalele ''foldTransformationAST'' și ''foldRegionAST'' devin cazuri particulare. Constrângerea ''Functor f'' este necesară pentru utilizarea lui ''fmap'' în implementare. **//Combiner//-ul** are acum tipul mai general ''f a -> a'' și poartă numele de **algebră asociată functorului** ''f''. | + | În acest fel, poate fi definită o **unică funcțională** ''foldAST'', cu tipul mai general ''Functor f => (f a -> a) -> Fix f -> a'', pentru care funcționalele ''foldTransformationAST'' și ''foldRegionAST'' devin cazuri particulare. Constrângerea ''Functor f'' este necesară pentru utilizarea lui ''fmap'' în implementare, ca în cerința temei, care știe să propage idiosincratic reducerea la substructuri. **//Combiner//-ul** are acum tipul mai general ''f a -> a'' și poartă numele de **algebră asociată functorului** ''f''. |
===== Precizări ===== | ===== Precizări ===== | ||