From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 3AA64BB81 for ; Fri, 11 Nov 2005 16:29:00 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jABFSx86019366 for ; Fri, 11 Nov 2005 16:28:59 +0100 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA25069 for ; Fri, 11 Nov 2005 16:28:59 +0100 (MET) Received: from mail.enyo.de (mail.enyo.de [212.9.189.167]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id jABFSwXm019363 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Fri, 11 Nov 2005 16:28:58 +0100 Received: from deneb.vpn.enyo.de ([212.9.189.177] helo=deneb.enyo.de) by albireo.enyo.de with esmtp id 1Eaapm-00069C-B5; Fri, 11 Nov 2005 16:28:58 +0100 Received: from fw by deneb.enyo.de with local (Exim 4.54) id 1Eaaph-0006Qs-2T; Fri, 11 Nov 2005 16:28:53 +0100 From: Florian Weimer To: skaller Cc: caml-list@inria.fr Subject: Re: Ant: [Caml-list] The "Objective" part of Objective Caml References: <20051107214110.46596.qmail@web26805.mail.ukl.yahoo.com> <87acggxguw.fsf@mid.deneb.enyo.de> <1131414473.23991.37.camel@rosella> Date: Fri, 11 Nov 2005 16:28:53 +0100 In-Reply-To: <1131414473.23991.37.camel@rosella> (skaller@users.sourceforge.net's message of "Tue, 08 Nov 2005 12:47:53 +1100") Message-ID: <8764qzyzii.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Miltered: at concorde with ID 4374B8BB.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 4374B8BA.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 ocaml:01 compiler:01 vouillon:01 pierce's:01 arbitrary:01 signatures:01 signatures:01 typing:01 typing:01 argument:01 remy:01 caml:02 caml:02 florian:02 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.3 >> > The object oriented part of OCaml is roughly speaking >> > just as capable as that of Python, C++, Java, C# etc. >>=20 >> Sure, I don't doubt that.=20 > > 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=E9my 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.