"Scott J." <[EMAIL PROTECTED]> wrote:
> A question: s is not a type variable as a isn't it? I mean a can be
> of type Integer while s cannot.

Guessing at your question:

a has no type (and neither does s); it /is/ a type.  In Haskell, types
have kinds.  And, both a and s have kind *.

Now then, the user can instantiate a to Integer, yes.  And the user
cannot instantiate s to anything---that's what the `forall' is for.
runST will (theoretically) instantiate s to something.  That could be
Integer if the language implementors felt like it.  The user of runST
certainly has to be prepared for the possibility.

Does that come close to answering your question?

> Regards,

> Scott

Jon Cast
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to