[Haskell] deriving Show for GADT?
Ryan Ingram
ryani.spam at gmail.com
Tue Apr 14 02:03:00 EDT 2009
You might be able to write some Template Haskell to derive the Show instance.
It's a bit tricky, because there are some types which can't have Show
derived, such as:
data Foo where
Broken :: a -> Foo
What should
show (Broken id)
do?
-- ryan
On Mon, Apr 13, 2009 at 9:28 PM, Norman Ramsey <nr at cs.tufts.edu> wrote:
> I've got a fairly large GADT for which I wished to use
> deriving (Show)
> but I got a mysterious error message:
>
> Exp.hs:13:11:
> Can't make a derived instance of `Show (Exp a)'
> (`Exp' has non-Haskell-98 constructor(s))
> In the data type declaration for `Exp'
>
>
> This is from GHC. Does anybody know a compiler option or other trick
> that will coax the compiler into producing a Show instance.
> (I know I can write one by hand, but I'd rather not bother.)
>
>
> Norman
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
>
More information about the Haskell
mailing list