From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA16464; Fri, 6 Aug 2004 17:29:21 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA16963 for ; Fri, 6 Aug 2004 17:29:19 +0200 (MET DST) Received: from mproxy.gmail.com (rproxy.gmail.com [64.233.170.207]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i76FTImL002620 for ; Fri, 6 Aug 2004 17:29:19 +0200 Received: by mproxy.gmail.com with SMTP id 75so45716rnl for ; Fri, 06 Aug 2004 08:29:17 -0700 (PDT) Received: by 10.38.71.67 with SMTP id t67mr100745rna; Fri, 06 Aug 2004 08:29:17 -0700 (PDT) Message-ID: Date: Fri, 6 Aug 2004 11:29:17 -0400 From: John Prevost To: caml-list@inria.fr Subject: Re: [Caml-list] Peut on unifier foncteurs et objets ? In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: X-Miltered: at nez-perce with ID 4113A3CE.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Loop: caml-list@inria.fr X-Spam: no; 0.00; prevost:01 prevost:01 caml-list:01 foncteurs:01 functors:01 roles:01 functor:01 functor:01 scare:01 functors:01 blah:01 modules:02 modules:02 necessarily:02 objects:02 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Please forgive me if I make some mistakes in interpreting your message. My French is not good at all. I believe the message was talking about the merging of modules/functors and objects, and how there is a lot of redundancy in O'Caml already, and that's not necessarily a bad thing. My feeling about modules and objects is not that they should be in any way unified--they do indeed serve different roles. What I *would* like to see is a bit better support when the two things are used together. The recent thread about how to write the functor such that it takes in a module with a class in it and uses that class is a good example of a rough spot--you can manipulate the type part of a class like it is a type. You can wrap the "new blah" construct in an actual function. But you cannot truly express in a functor that "module F (A : MT_Having_Class_Cl) : MT_Having_Other_Class_Cl with class cl = A.cl" It is this sort of difficulty that can scare a user of objects away from using functors, even when functors do suit their needs admirably. I'd also suggest that some advanced examples of modules and functors sans objects might be nice to have in the manual--but that's really something that can be done by the community (and outside the manual.) John. ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners