From 652818f5b23f8f47e6e19c3273b9588ae8f13c7e Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 14 Apr 2019 20:24:00 +0100 Subject: Some changes to recursion schemes --- src/VeriFuzz/RecursionScheme.hs | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/VeriFuzz/RecursionScheme.hs b/src/VeriFuzz/RecursionScheme.hs index 7d89498..e0807ad 100644 --- a/src/VeriFuzz/RecursionScheme.hs +++ b/src/VeriFuzz/RecursionScheme.hs @@ -55,30 +55,16 @@ cata :: Functor f => Algebra f a -> Term f -> a cata fn = para' $ const fn ana :: Functor f => Coalgebra f a -> a -> Term f -ana fn = - fn - >>> fmap (ana fn) - >>> In +ana fn = fn >>> fmap (ana fn) >>> In para :: Functor f => RAlgebra f a -> Term f -> a -para ralg = - out - >>> fmap (id &&& para ralg) - >>> ralg +para ralg = out >>> fmap (id &&& para ralg) >>> ralg para' :: Functor f => RAlgebra' f a -> Term f -> a para' ralg t = out t & fmap (para' ralg) & ralg t apo :: Functor f => RCoalgebra f a -> a -> Term f -apo rcoalg = - rcoalg - >>> fmap (id ||| apo rcoalg) - >>> In +apo rcoalg = rcoalg >>> fmap (id ||| apo rcoalg) >>> In histo :: Functor f => CVAlgebra f a -> Term f -> a -histo cv = - out - >>> fmap worker - >>> cv - where - worker t = undefined +histo cv = out >>> fmap worker >>> cv where worker t = undefined -- cgit