Re: [Haskell-cafe] Re: Re[2]: [Haskell] Proposal: unification of styleof function/data/type/class definitions

2006-09-11 Thread Brian Hulley
Taral wrote: On 9/11/06, Bulat Ziganshin [EMAIL PROTECTED] wrote: Expr Bool = Eq (Expr t) (Expr t) | forall t . Eq t Still confusing, but less so. The problem is that it's really backwards. The symbol being defined is Eq. Eq (Expr t) (Expr t) | Eq t = Expr Bool but that doesn't fit

Re: [Haskell-cafe] Re: Re[2]: [Haskell] Proposal: unification of styleof function/data/type/class definitions

2006-09-11 Thread Brian Hulley
Taral wrote: On 9/11/06, Bulat Ziganshin [EMAIL PROTECTED] wrote: Expr Bool = Eq (Expr t) (Expr t) | forall t . Eq t Still confusing, but less so. The problem is that it's really backwards. The symbol being defined is Eq. Eq (Expr t) (Expr t) | Eq t = Expr Bool but that doesn't fit

Re: [Haskell-cafe] Re: Re[2]: [Haskell] Proposal: unification of styleof function/data/type/class definitions

2006-09-11 Thread Taral
On 9/11/06, Brian Hulley [EMAIL PROTECTED] wrote: data Expr t = If (Expr Bool) (Expr t) (Expr t) Expr Bool = Eq (Expr t) (Expr t) | Eq t Expr Int = Lit Int Meh. I'm still not big on it, since in a normal function, the guard is based on a