Tristan Allwood: Very cool. I don't understand some (a lot of) parts though:
> instance Show a => Reify (ShowConstraint a) where > reify = ShowC ShowC has type "(Show a) => ShowConstraint a", whereas reify is supposed to have type "ShowConstraint a". > data SingleList (a :: * -> *) where > Cons :: (a b) -> b -> SingleList a -> SingleList a > Nil :: SingleList a Cons has a type variable "b" in its signature, but no forall. I suppose it comes from the * -> * in SingleList's type? That's all I can come up with for now. A great deal of high level coding flying around above my head now. Thanks, TJ _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
