ExplicitForAll complete

Iavor Diatchki iavor.diatchki at gmail.com
Sun Nov 21 21:25:38 EST 2010

I have no strong feelings for or against allowing explicit foralls in
types but I have a few questions/suggestions on the proposal in its
current form (21 Nov 2010):

* Why is "forall" promoted to a keyword, rather then just being
special in types as is in all implementations?  I like the current
status quo where "forall" can still be used in value expressions.

* It seems that allowing "superflous" values in "foralls" could be
useful for some future extensions.  For example, if we had scoped type
variables and explicit type application, then it may make sense to
have quantified variables that do not appear
in the rest of the type (but do appear in the definition of the
function).  I guess, we could revise things again if that was to ever
happen but still, it seems to me that this might be more appropriate
as an "unused variable" warning, rather then an error?

*  Is there any case where an empty "forall" is useful, and if not,
why allow it?  I guess it is a way to make it explicit that a value is
monomorphic but i think that types like "forall. Int" look odd.


On Fri, Nov 19, 2010 at 5:08 PM, Ian Lynagh <igloo at earth.li> wrote:
> Hi all,
> I've completed the ExplicitForAll proposal, started by Niklas Broberg
> (but any errors are doubtless mine!):
> http://hackage.haskell.org/trac/haskell-prime/wiki/ExplicitForall
> http://hackage.haskell.org/trac/haskell-prime/ticket/133
> I imagine this is too late for H2011 (if that will actually be
> happening?), but there wasn't an H2012 milestone, so I put it in H2011
> anyway. Please feel free to remilestone.
> Thanks
> Ian
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-prime

More information about the Haskell-prime mailing list