Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Ocaml 2 object system origins
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: John Prevost <prevost@m...>
Subject: Re: Ocaml 2 object system origins
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.