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
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2005-09-15 (20:48)
From: David Baelde <david.baelde@g...>
Subject: Heritage
Hi list,

We're getting crazy with some design problem. We need to design a
buffer object and be able to extend it with some features
(lexing,color highlighting... yes we're working on an editor). Here's
the problem.

I'd like to have a class (or function) for every extension. For
example be able to write
new parsed (new lexed (new basic)). I.e. I would need the class:

class lexed buf =
object inherit buf method get_token = ... end

It doesn't work cause inheritance is only from classes, not objects.
But I want buf to be of any class (any super-class of buffer actually)
but I don't want to coerce buf to type buffer, cause I want to keep
extra methods if any were added.

I'd like to know if there's any simple example of why
object-inheritance is forbidden, and if any of you have an idea for
that problem..