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
The "Objective" part of Objective Caml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-11-11 (15:29)
From: Florian Weimer <fw@d...>
Subject: Re: Ant: [Caml-list] The "Objective" part of Objective Caml
>> > The object oriented part of OCaml is roughly speaking
>> > just as capable as that of Python, C++, Java, C# etc.
>> Sure, I don't doubt that. 
> I do. The Python system is much more 'capable' and much less 'robust'.
> This is typical for dynamic typing vs static typing.

The row type mechanism (or what it's called) allows me to write code
that can deal with objects of arbitrary classes, provided that they
implement the needed methods.  This comes quite close to what you can
do with more dynamic languages like Python, much closer than C++ or
Java.  (The GNU C++ compiler used to have "signatures", which were
quite similar, by the way, but you had to manually write down the
signatures, of course.)  Beyond that, the argument quickly turns into
the old "type checks at run time are more powerful" discussion.

Regarding my original question: In the meantime, I discovered the
paper "Objective ML: An effective object-oriented extension to ML" by
Rémy and Vouillon.  Curiously enough, I found a reference in Pierce's
TAPL book; search engines weren't helpful.  It seems to describe the
rationale behind the Objective Caml approach.  Since Brad Cox's work
is not mentioned, I think that any similarity is just a coincidence.