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 E5382BB9A for ; Thu, 6 Oct 2005 18:54:34 +0200 (CEST) Received: from mail26.sea5.speakeasy.net (mail26.sea5.speakeasy.net [69.17.117.28]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j96GsW6X009875 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 6 Oct 2005 18:54:34 +0200 Received: (qmail 4043 invoked from network); 6 Oct 2005 16:54:31 -0000 Received: from shell2.sea5.speakeasy.net ([69.17.116.3]) (envelope-sender ) by mail26.sea5.speakeasy.net (qmail-ldap-1.03) with AES256-SHA encrypted SMTP for ; 6 Oct 2005 16:54:31 -0000 Date: Thu, 6 Oct 2005 09:54:31 -0700 (PDT) From: brogoff To: caml-list@yquem.inria.fr Subject: Re: Ant: Re: FP/IP and performance (in general) and Patterns... (Re: [Caml-list] Avoiding shared data) In-Reply-To: Message-ID: References: <20051005121028.GA757@first.in-berlin.de> <20051005205208.65943.qmail@web26807.mail.ukl.yahoo.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Miltered: at concorde with ID 434556C8.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 avoiding:01 markus:01 mottl:01 fwiw:01 ocaml:01 ocaml:01 intending:01 mutable:01 semantically:01 late-binding:01 ...:98 2005,:98 ...:98 qua:98 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=SPF_SOFTFAIL autolearn=disabled version=3.0.3 On Wed, 5 Oct 2005, Markus Mottl wrote: > FWIW, we use OCaml for fairly large systems (> 100 KLOCs, > 1000 > modules) with very complicated business logic handling high-volume > realtime events. Even though OCaml supports OOP very well, probably > much better than most mainstream languages, we do not use OOP and are > not intending to do so. Mutable records together with modules are > perfectly fine for handling changing states safely and efficiently and > are in the general case semantically more transparent than objects. > Your mileage may vary... I don't disagree with anything above, but thought I'd mention that OCaml classes can be used as more polymorphic records (giving up pattern matching and some performance), without using the late-binding/open-recursion aspect which is the sine qua non of OOP. -- Brian