I would just like to remind the participants of this discussion that the value restriction historically originated as a _simplifaction_ of fancier and more capable forms of parametric polymorphism. The older, more capable kinds of ML polymorphism grew increasingly more complex, until Andrew Wright actually looked at what sort of programs people wrote and noticed that for the most part the fancy stuff was not needed. Thus it was decided that the ML polymorphism be _simplified_. This was a good decision, as it made types easier to understand and easier to implement, at a miniscule cost.
That is, we know that value restriction can be "improved", but by trying to do so you are just repeating the mistakes that were alerady made in the 90's. With kind regards, Andrej -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.fr/wws/info/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
