[Haskell-cafe] Mysterious fact

Jeremy Shaw jeremy at n-heptane.com
Mon Nov 1 18:40:30 EDT 2010


Looks a lot like Church encoding to me:

http://en.wikipedia.org/wiki/Church_encoding

It was first discovered by the guy who invented lambda calculus :p

- jeremy

On Nov 1, 2010, at 5:28 PM, Andrew Coppin wrote:

> The other day, I accidentally came up with this:
>
> {-# LANGUAGE RankNTypes #-}
>
> type Either x y = forall r. (x -> r) -> (y -> r) -> r
>
> left :: x -> Either x y
> left x f g = f x
>
> right :: y -> Either x y
> right y f g = g y
>
> This is one example; it seems that just about any algebraic type can  
> be encoded this way. I presume that somebody else has thought of  
> this before. Does it have a name?
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20101101/b93fa460/attachment.html


More information about the Haskell-Cafe mailing list