for all quantifier
Jon Fairbairn
Jon.Fairbairn@cl.cam.ac.uk
Mon, 09 Jun 2003 16:35:24 +0100
On 2003-06-08 at 18:03PDT Ashley Yakeley wrote:
> In article <oqn0gue5cv.fsf@premise.demon.co.uk>,
> peter@premise.demon.co.uk (Peter G. Hancock) wrote:
> > Thanks! It made me wonder what colour the sky is on planet Haskell.
> > From a Curry-Howard point of view, (I think) the quantifiers are
> > currently the wrong way round. It is actually painful!
>
> Well don't forget the other one:
>
> data MyType1 = forall a. MkMyType1 a;
>
> data MyType2 = MkMyType2 (forall a. a);
>
> You can put anything in a MyType1, but only something of type (forall a.
> a) such as "undefined" in a MyType2.
I'm not sure I understand your implication. After the
proposed change you'd have to write:
> data MyType1 = exists a. MkMyType1 a;
>
> data MyType2 = MkMyType2 (forall a. a);
to get the same effect, and we'd have that
> data MyType1a = MkMyType1a (exists a . a)
would be (bar alpha) equivalent to MyType1, and (after a
suitable grace period)
> data MyType2a = forall a . MkMyType2a a
would be like MyType2, which all seems much more reasonable
than the present notation.
--
Jón Fairbairn Jon.Fairbairn@cl.cam.ac.uk
31 Chalmers Road jf@cl.cam.ac.uk
Cambridge CB1 3SZ +44 1223 570179 (after 14:00 only, please!)