From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by walapai.inria.fr (8.13.6/8.13.6) with ESMTP id q0CA5Gl9029515 for ; Thu, 12 Jan 2012 11:05:17 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ah8BAMivDk9KfVK0kGdsb2JhbABDhQ6ncAgiAQEBAQkJDQcUBCGBcgEBAQQSAg9WEAsLAwwCJgICIhIBBQEcBjWiXQqLIpE6gS+JWIEWBJUNjgU9g3s X-IronPort-AV: E=Sophos;i="4.71,497,1320620400"; d="scan'208";a="126559758" Received: from mail-we0-f180.google.com ([74.125.82.180]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 12 Jan 2012 11:05:11 +0100 Received: by werp11 with SMTP id p11so2053476wer.39 for ; Thu, 12 Jan 2012 02:05:11 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.136.34 with SMTP id v34mr4415128wei.13.1326362710702; Thu, 12 Jan 2012 02:05:10 -0800 (PST) Received: by 10.180.106.8 with HTTP; Thu, 12 Jan 2012 02:05:10 -0800 (PST) In-Reply-To: <4F0EADF6.10309@wp.pl> References: <1326209342.96423.YahooMailNeo@web111502.mail.gq1.yahoo.com> <1326214824.62249.YahooMailNeo@web111507.mail.gq1.yahoo.com> <4F0D6913.4090207@wp.pl> <4F0D87E8.90602@wp.pl> <13b032314ec2f8f50916bcfa6eb7f72b.squirrel@mail.mpi-sws.org> <4F0D9501.60107@wp.pl> <869af1b432cfe71214ce68625a92a1c0.squirrel@mail.mpi-sws.org> <4F0EADF6.10309@wp.pl> Date: Thu, 12 Jan 2012 11:05:10 +0100 Message-ID: From: Andrej Bauer To: Dawid Toton Cc: caml-list Content-Type: text/plain; charset=UTF-8 Subject: Re: [Caml-list] Re: References and polymorphism 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