There is a disadvantage in GADTs. They don't work in Hugs.
On 27 Dec 2008, at 22:49, Luke Palmer wrote:
On Sat, Dec 27, 2008 at 12:44 PM, David Menendez <d...@zednenem.com>
wrote:
On Sat, Dec 27, 2008 at 2:24 PM, Andrew Wagner <wagner.and...@gmail.com
> wrote:
> I'm sure there's a way to do this, but it's escaping me at
present. I want
> to do something like this:
>
> data Foo = Bar a => Foo a Bool ...
>
> That is, I want to create a new type, Foo, whose constructor takes
both a
> Boolean and a value of a type of class Bar.
Try this:
{-# LANGUAGE ExistentialQuantification #-}
data Foo = forall a. Bar a => Foo a Bool
Though for existentials, I find GADT more natural (actually I find
GADT more natural in most cases):
data Foo where
Foo :: Bar a => a -> Foo
Luke
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe