Subject: Re: Ocaml 2 object system origins
From: John Prevost <email@example.com>
Date: 13 Sep 1999 10:10:08 -0400
In-Reply-To: Didier.Remy@inria.fr's message of "Mon, 13 Sep 1999 15:15:57 +0200"
Ahh. Thanks very much--I recalled that there were some papers about
this, but poked around the web page a bit ineffectually.
On the topic of folklore and matching, you say:
> On the other hand, the language LOOM uses a new notion called
> matching (<#) and primitive self-types. It is folklore (but I don't
> think it has ever been checked formally) that matching does not
> accomplish more than polymorphism over row-variables.
Hmm. My intuition on looking at the two systems is to believe that,
if anything, polymorphism over row-variables *might* be more powerful.
Unfortunately, the comparison is complicated, since LOOM allows
variables of type #foo, and in O'Caml #foo is a synonym for a
type-expression with an unbound type variable (implying that this type
must be unified to a single type except in polymorphic function
types.) (It's so worrying when intuition can be confused in this
In any case, I'll have to do more reading and comparison now that I
have descriptions of both systems available to me.
Thanks very much for the excellent explanation.
This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:25 MET