
Hi, Am Montag, den 01.11.2010, 22:28 +0000 schrieb Andrew Coppin:
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?
that reminds me very much of a similar sounding mail to this list by me¹. Is there a name for this meme already? :-) Greetings, Joachim ¹ http://www.mail-archive.com/haskell-cafe@haskell.org/msg21500.html -- Joachim Breitner e-Mail: mail@joachim-breitner.de Homepage: http://www.joachim-breitner.de ICQ#: 74513189 Jabber-ID: nomeata@joachim-breitner.de