| But this gives a "less polymorphic" error.  I think the problem is
that
| ghc will not instantiate the "a'" in "IO a'" as a higher-rank type
| because it occurs within a type contructor.  I believe this is the
| restriction referred to at the end of 7.4.9[1].  If I instead write

I think that is indeed the heart of your problem.  Actually I'm writing
a paper right now about how to lift this restriction.  An out of date
version is here,
        http://research.microsoft.com/%7Esimonpj/papers/boxy/
that gives the general idea, but a much better version will be done in a
week's time.

It's not fully implemented yet, but I'll keep your message as an example
to try when it is.

Simon
-cafe
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to