From: Pierre Weis <Pierre.Weis@inria.fr>
To: Ivan.Sanabria@comlab.ox.ac.uk (Ivan Sanabria-Piretti)
Cc: caml-list@inria.fr
Subject: Re: Caml type inference of references and mutable records
Date: Wed, 16 Aug 2000 16:53:47 +0200 (MET DST) [thread overview]
Message-ID: <200008161453.QAA02857@pauillac.inria.fr> (raw)
In-Reply-To: <000701c005f0$2d50e4e0$837c01a3@athos.comlab.ox.ac.uk> from Ivan Sanabria-Piretti at "Aug 14, 100 02:04:27 pm"
> Dear Camlers,
>
> I am looking for papers where the Caml's current polymorphic typing and
> inference algorithm of mutable data types are studied in detailed. I am
> mainly interested in the typing of references and mutable records.
>
> I have found two papers by Xavier Leroy on the INRIA repository that
> describe different approaches to the typing of references; there are:
> "Polymorphic type inference and assignment", 1991, and "Polymorphism by name
> for references and continuations", 1993. But it is not clear to me if any
> of these approaches is used currently in Caml.
>
> Thanks,
>
> Ivan Sanabria-Piretti
None of the articles you mentioned (nor Xavier's thesis that gave also
interesting and powerful typing disciplines for mutable values) are
currently used to implement type checking of polymorphic data
structures in Caml. This is due either to too complex type algebras,
too difficult type checking disciplines, unclear restrictions to
typable programs, or drastic modifications to the source language
(either modifications to modules' interfaces or to the evaluation
regime of the language).
The current restriction to obtain safe typing of references is much
more simple and pratical; it is described in the FAQ of the language
(http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html#polymorphisme);
it has also been discussed in the Caml mailing list, long time ago
(see for instance http://caml.inria.fr/archives/199403/msg00011.html);
it is based on the ``value polymorphism'' introduced by Andrew
K. Wright in his article ``Simple Imperative Polymorphism. Lisp and
Symbolic Computation 8(4): 343-355 (1995)''.
Hope this helps,
Pierre Weis
INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://cristal.inria.fr/~weis/
prev parent reply other threads:[~2000-08-16 14:57 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-14 13:04 Ivan Sanabria-Piretti
2000-08-16 14:53 ` Pierre Weis [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=200008161453.QAA02857@pauillac.inria.fr \
--to=pierre.weis@inria.fr \
--cc=Ivan.Sanabria@comlab.ox.ac.uk \
--cc=caml-list@inria.fr \
/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