extremely basic Rlp2Core
This commit is contained in:
14
src/Misc/MonadicRecursionSchemes.hs
Normal file
14
src/Misc/MonadicRecursionSchemes.hs
Normal file
@@ -0,0 +1,14 @@
|
||||
module Misc.MonadicRecursionSchemes
|
||||
where
|
||||
--------------------------------------------------------------------------------
|
||||
import Control.Monad
|
||||
import Data.Functor.Foldable
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
-- | catamorphism
|
||||
cataM :: (Monad m, Traversable (Base t), Recursive t)
|
||||
=> (Base t a -> m a) -- ^ algebra
|
||||
-> t -> m a
|
||||
cataM phi = h
|
||||
where h = phi <=< mapM h . project
|
||||
|
||||
Reference in New Issue
Block a user