[Haskell-cafe] Re: Re: [Haskell] Proposal: unification of style
of function/data/type/class definitions
taralx at gmail.com
Mon Sep 11 11:07:51 EDT 2006
On 9/11/06, Bulat Ziganshin <bulat.ziganshin at gmail.com> 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 well, does it? In my mind, the current mode is a
Eq :: Eq t => Expr t -> Expr t -> Expr Bool
And this is perfectly readable. The arrow means that the argument is
an implicit propositional one, but it's still an argument.
Taral <taralx at gmail.com>
"You can't prove anything."
-- Gödel's Incompetence Theorem
More information about the Haskell-Cafe