Hello Taral,
Sunday, September 10, 2006, 9:45:33 PM, you wrote:
>> data Expr t = If (Expr Bool) (Expr t) (Expr t)
>> Expr Int = Lit Int
>> Expr Bool | Eq t = Eq (Expr t) (Expr t)
> I find this somewhat unreadable due to the implicit "t" parameter not
> showing up on the left-hand side...
if you mean last line, i tend to agree. i was just a little impulsive
and don't mentioned that we define existential here :)
it may look as
Expr Bool = Eq (Expr t) (Expr t) | Eq t
Brian Hulley developed here an idea about implicit "forall"
declaration just before class restrictions involving this variable, so
it will be equivalent to:
Expr Bool = Eq (Expr t) (Expr t) | forall t . Eq t
--
Best regards,
Bulat mailto:[EMAIL PROTECTED]
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe