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 SAA21560; Sat, 20 Jul 2002 18:58:22 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 SAA21556 for ; Sat, 20 Jul 2002 18:58:21 +0200 (MET DST) Received: from sunny.pacific.net.au (sunny.pacific.net.au [203.25.148.40]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g6KGwJv16660 for ; Sat, 20 Jul 2002 18:58:19 +0200 (MET DST) Received: from wisma.pacific.net.au (wisma.pacific.net.au [210.23.129.72]) by sunny.pacific.net.au with ESMTP id g6KGwGSs003081; Sun, 21 Jul 2002 02:58:16 +1000 (EST) Received: from ozemail.com.au (ppp175.dyn26.pacific.net.au [61.8.26.175]) by wisma.pacific.net.au with ESMTP id CAA09504; Sun, 21 Jul 2002 02:58:14 +1000 (EST) Message-ID: <3D3996A6.1010709@ozemail.com.au> Date: Sun, 21 Jul 2002 02:58:14 +1000 From: John Max Skaller User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901 X-Accept-Language: en-us MIME-Version: 1.0 To: Andreas Rossberg CC: Oleg , caml-list Subject: Re: [Caml-list] productivity improvement References: <20020716172916.4903.qmail@web10702.mail.yahoo.com> <200207190821.EAA09974@hickory.cc.columbia.edu> <3D37D474.2551F19E@ps.uni-sb.de> <200207191033.GAA11831@dewberry.cc.columbia.edu> <3D384BA1.A883C845@ps.uni-sb.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Andreas Rossberg wrote: > >No. That's one of the things OO ideology gets wrong. Making the type the >unit of encapsulation is much too inflexible. Often you want to >encapsulate several types simultanously, e.g. when you have functions >operating on a group of closely related types, which cannot sensibly be >implemented knowing only one of the types' internals. Thus >orthogonalising types and modules is a definite plus. > Yes. When I read OOSC (Meyer), I thought it was pretty good science. I still do, because one can pinpoint the error to the decision to map both modules and types onto the class construction. From a category viewpoint, however, it is obvious OO is limited and gets a fundamental idea completely wrong: in OO, methods are used to abstract a type from its representation, and the coding is *intrinsic*, that is, 'inside the object' which is called encapsulation. But in the categorical model, the types are simple points with no properties at all: the 'type' structure is *extrinsic*. The beauty of the categorical model is that the semantics of the 'types' can be determined entirely without specifying any encoding of the functions! It is necessary only to specify how they compose. Anyhow, this is why I think OO is a waste of time as a 'paradigm': it get the fundamental answer to the question completely wrong. The question, of course is: how do we represent abstractions? Ocaml modules are not right either, but they're much better answer in general. -- John Max Skaller, mailto:skaller@ozemail.com.au snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia. voice:61-2-9660-0850 ------------------- 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