[Haskell-cafe] encoding for least fixpoint

Ryan Ingram ryani.spam at gmail.com
Wed Mar 18 12:15:17 EDT 2009


On Wed, Mar 18, 2009 at 8:10 AM, David Menendez <dave at zednenem.com> wrote:
> l_out :: Functor f => Lfix f -> f (Lfix f)
> l_out = cata (fmap l_in)
>
> g_in :: Functor f => f (Gfix f) -> Gfix f
> g_in = ana (fmap g_out)

Well, you just blew my mind.  I had an informal proof in my head of
why g_in shouldn't be possible to write, but I must be missing
something huge.

Looks like I need to get out some paper and reduce this by hand,
because there is some black magic going on here :)

  -- ryan


More information about the Haskell-Cafe mailing list