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 UAA12899; Tue, 12 Nov 2002 20:47:58 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id UAA12850 for caml-list@pauillac.inria.fr; Tue, 12 Nov 2002 20:47:57 +0100 (MET) 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 LAA28453 for ; Tue, 12 Nov 2002 11:18:52 +0100 (MET) Received: from bicom3_nt.bicom-inc.com ([63.76.208.12]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id gACAIo117007; Tue, 12 Nov 2002 11:18:51 +0100 (MET) Received: from 10.27.34.103 ([10.27.34.103]) by bicom3_nt.bicom-inc.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id 4134C9NK; Mon, 11 Nov 2002 11:15:22 -0500 From: Eray Ozkural Organization: Bilkent University CS Dept. To: Alessandro Baretta , Johan =?iso-8859-1?q?Balti=E9?= , Ocaml , Daniel de Rauglaudre Subject: Re: [Caml-list] Recovering masked methods (with CamlP4?) Date: Mon, 11 Nov 2002 11:20:09 +0200 User-Agent: KMail/1.4.5 References: <3D335729.3020307@baretta.com> <20020716095939.M27616@wanadoo.fr> <3D33FE98.6000001@baretta.com> In-Reply-To: <3D33FE98.6000001@baretta.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200211111120.10044.erayo@cs.bilkent.edu.tr> Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi Alessandro, On Tuesday 16 July 2002 14:08, Alessandro Baretta wrote: > > I strongly disagree. Inheritance, as pointed out previously > by someone on this list (I can't remember whom), is a > syntactic property of classes, whereas subtyping is a > semantic property of instances. Just now I have received a > post by John Prevost clarifying this. > Precisely. Languages that the "software engineering" culture have spawned adopt a less-than-rational view of the matter. They have not been able to distinguish typing from inheritance. The most famous of those languages is C++. Although C++ tries to make a difference between "private" and "public" inheritance, it's still a disasterous object system. I think this distinction becomes much clearer in a theoretical analysis of class based languages. When we compare the prominent object oriented languages, it is much easier to see that the approach of ocaml is the logical generalization of object systems found in imperative languages. That is also how ocaml puts orthogonality back in the equation. Still, I observe some well-known flaws in the whole of ocaml object system; but those are hard to overcome in a graceful extension of core caml such as ocaml. Regards, -- Eray Ozkural (exa) Comp. Sci. Dept., Bilkent University, Ankara www: http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://mp3.com/ariza GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C ------------------- 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