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 33C3CBD55 for ; Thu, 31 Aug 2006 01:57:08 +0200 (CEST) Received: from mail1.sea5.speakeasy.net (mail1.sea5.speakeasy.net [69.17.117.3]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id k7UNv5Mk006308 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Thu, 31 Aug 2006 01:57:07 +0200 Received: (qmail 1789 invoked from network); 30 Aug 2006 23:57:02 -0000 Received: from shell2.sea5.speakeasy.net ([69.17.116.3]) (envelope-sender ) by mail1.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 30 Aug 2006 23:57:02 -0000 Date: Wed, 30 Aug 2006 16:57:02 -0700 (PDT) From: brogoff To: Ocaml Subject: Re: [Caml-list] Class/prototype-based OO In-Reply-To: <1156830791.5147.144.camel@rosella.wigram> Message-ID: References: <53c655920608250051x48d81cbagabf8039f0269beee@mail.gmail.com> <1156505490.20759.354.camel@rosella.wigram> <1156830791.5147.144.camel@rosella.wigram> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Miltered: at concorde with ID 44F625D1.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 orthogonal:01 variants:01 mixin:01 2006,:98 wrote:01 polymorphic:01 polymorphic:01 typing:01 caml-list:01 speakeasy:01 modules:02 modules:02 objects:02 On Tue, 29 Aug 2006, skaller wrote: > Yes, indeed, this is wonderful! For the first time programmers > learn the truth. > > Ocaml does not pander to the false god of Object Orientation. Putting aside the loaded nature of the statement, Ocaml does not only support OO directly but any future enhancement has to work with the current Ocaml object system, which would seem to be a high bar for introducing new typing features. It would be more orthogonal IMO if there were no objects but rather some kind of polymorphic records dual to polymorphic variants, and an extended module system (what happened to the mixin modules?) which could handle other aspects of OO. Maybe a future ML will go in that direction? That's not saying that OO is "false", just that I think of parameterized modules as a fundamental ML feature and my sense is that the class system sits uneasily with modules. -- Brian