From: Didier Remy <remy@morgon.inria.fr>
To: Giuseppe Castagna <Giuseppe.Castagna@ens.fr>
Cc: caml-list@inria.fr, mottl@miss.wu-wien.ac.at
Subject: Re: subtyping and inheritance
Date: Tue, 20 Apr 1999 14:38:06 +0200 [thread overview]
Message-ID: <19990420143806.33996@morgon.inria.fr> (raw)
In-Reply-To: <3715D924.F50D6586@ens.fr>; from Giuseppe Castagna on Thu, Apr 15, 1999 at 02:18:44PM +0200
Dear Beppe,
> Surely, it would require some modifications to the compiler, but all it
> would have to do is to mark some particular methods and all the objects
> that could call these methods by a natural number (for those who know,
> some sort of De Brujin notation, that a purist may consider as dynamic
> type information). How to do it in practice is described for the language
> O2 in [1] (but without the natural numbers since in O2 the dynamic type
> information is available). This is obtained by simply modifying the
> compiler without affecting the language.
> ...
The works [1] and [2] that you cite apply to the languages O2 and Java.
However, both languages have a very weak type system. In particular, neither
one supports polymorphic types (hence parametric classes) or self types.
Thus, I don't think that your experiences with O2 and Java can immediately
be transfered to Ocaml. In particular, adding dynamics types in the
presence of polymorphism is much more complex than the simple sketch above.
Also, regarding type checking, you probably need the higher-order version of
lambda-&, which is much more difficult than the first-order version that you
are using in [1] and [2]. Of course, type inference is likely to be another
complication...
So I do not think that applying [1] or [2] to Ocaml is an implementation
exercise. It certainly remains an interesting, but serious and probably
difficult, research project.
-Didier
next prev parent reply other threads:[~1999-04-21 16:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-04-15 12:18 Giuseppe Castagna
1999-04-15 16:02 ` Markus Mottl
1999-04-20 12:38 ` Didier Remy [this message]
1999-04-20 15:06 ` Giuseppe Castagna
1999-04-21 12:18 ` Didier Remy
-- strict thread matches above, loose matches on Subject: below --
1999-01-11 18:52 Markus Mottl
1999-01-15 15:02 ` Jerome Vouillon
1999-01-15 17:37 ` Markus Mottl
1999-01-18 19:55 ` Jerome Vouillon
1999-01-18 21:18 ` Markus Mottl
1999-01-20 11:50 ` Hendrik Tews
1999-01-25 0:08 ` Markus Mottl
1999-01-27 14:18 ` Jerome Vouillon
1999-01-27 14:45 ` Markus Mottl
1999-01-28 19:40 ` Hendrik Tews
1999-01-27 14:28 ` Jerome Vouillon
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=19990420143806.33996@morgon.inria.fr \
--to=remy@morgon.inria.fr \
--cc=Didier.Remy@inria.fr \
--cc=Giuseppe.Castagna@ens.fr \
--cc=caml-list@inria.fr \
--cc=mottl@miss.wu-wien.ac.at \
/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