English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
[Caml-list] Recovering masked methods
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-11-12 (19:47)
From: Eray Ozkural <erayo@c...>
Subject: Re: [Caml-list] Recovering masked methods (with CamlP4?)
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 


Eray Ozkural (exa) <erayo@cs.bilkent.edu.tr>
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