mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
12 lines
326 B
Plaintext
12 lines
326 B
Plaintext
definition module GenHylo
|
|
|
|
import StdGeneric, GenMap
|
|
|
|
:: Fix f = In (f .(Fix f))
|
|
Out :: !u:(Fix v:a) -> v:(a w:(Fix v:a)), [u <= w]
|
|
|
|
hylo :: ((.f .b) -> .b) (.a -> (.f .a)) -> (.a -> .b) | gMap{|*->*|} f
|
|
cata :: (u:(f .a) -> .a) -> (Fix u:f) -> .a | gMap{|*->*|} f
|
|
ana :: (.a -> u:(f .a)) -> .a -> (Fix u:f) | gMap{|*->*|} f
|
|
|