From: Alessandro Baretta <alex@baretta.com>
To: Michael Vanier <mvanier@cs.caltech.edu>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] a design problem requiring downcasting? (long)
Date: Mon, 30 Sep 2002 11:54:18 +0200 [thread overview]
Message-ID: <3D981F4A.8000106@baretta.com> (raw)
In-Reply-To: <200209300709.g8U798C00735@orchestra.cs.caltech.edu>
Michael Vanier wrote:
>
> I'm not sure. All the approaches I've seen in ocaml seem incredibly heavy
> compared with RTTI in java (and/or more brittle). I'm not sure about your
> approach, though (it looks pretty light). Thanks for the suggestion!
You are very welcome ;)
> Here is a question for the language designers: is there a technical reason
> why RTTI can't be done easily in the ocaml object system? Or is the lack
> of RTTI more of a "moral" issue? Or is it just due to not enough time to
> put in all the features one would like? I can imagine that the fact that
> subtyping is implicit for any class that implements the methods of a
> superclass might make RTTI very tricky to implement cleanly in a general
> way.
I don't think there will be any Caml preachers prophesyzing
your doom for having desired RTTI. I just have a feeling it
does not fit in cleanly with the type system.
> It's too bad we can't all roll our own object systems for ocaml ;-)
>
> Mike
Who says you can't? Pick up CamlP4 and write preprocessing
code adding your favorite flavor of RTTI to your your
classes. You might very well automate the generation of
polymorphic-variant-RTTI-tagging object creation
functions--my flavor of RTTI--or any other flavor you like
best. One might even come up with a syntax extension
supporting some form of double-dispatch polymorphism. But,
to my great dishonor, I'm still not a CamlP4 guru, so I'll
leave this to others.
Alex
-------------------
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
prev parent reply other threads:[~2002-09-30 9:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-26 9:01 Michael Vanier
2002-09-26 14:32 ` Remi VANICAT
2002-09-26 15:19 ` nadji
2002-09-26 15:27 ` Remi VANICAT
2002-09-26 15:55 ` nadji
2002-09-26 15:53 ` Jeffrey Palmer
2002-09-26 16:35 ` Oleg
2002-09-26 17:47 ` brogoff
2002-09-26 19:14 ` Fred Smith
2002-09-27 17:01 ` Tim Freeman
2002-09-26 22:46 ` Alessandro Baretta
2002-09-27 7:20 ` Francois Pottier
2002-09-27 10:16 ` Michael Vanier
2002-09-29 22:59 ` Alessandro Baretta
2002-09-30 7:09 ` Michael Vanier
2002-09-30 9:54 ` Alessandro Baretta [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D981F4A.8000106@baretta.com \
--to=alex@baretta.com \
--cc=caml-list@inria.fr \
--cc=mvanier@cs.caltech.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox