caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: John Prevost <j.prevost@cs.cmu.edu>
To: Xavier Leroy <xavier.leroy@inria.fr>
Cc: John Prevost <j.prevost@cs.cmu.edu>, Caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Serious typechecking error involving new polymorphism (crash)
Date: 30 Jul 2002 04:22:47 -0400 (34.916 UMT)	[thread overview]
Message-ID: <86ofcplj54.fsf@laurelin.dementia.org> (raw)
In-Reply-To: <20020730095833.B6564@pauillac.inria.fr>

>>>>> "xl" == Xavier Leroy <xavier.leroy@inria.fr> writes:

    xl> Yes, this is a serious bug with polymorphic methods and
    xl> fields.  Expect a 3.06 release as soon as it is fixed.  In the
    xl> meantime, you're welcome to experiment with polymorphic
    xl> methods and fields, but don't bet the farm on them...

Polymorphic methods should be safe, as far as I can tell, since method
calls provide natural points of polymorphism, and storage in the class
is not allowed to be polymorphic.  (That is, you can't pull the same
trick with an object because you can't store a polymorphic value to be
shared across multiple results from a method call, and any
insufficiently polymorphic value returned from a polymorphic method
call is caught.)

Can you share any plans for polymorphic records?  I can see no way to
make them safe except to restrict the contents to function values
(which prevents the use of abstract types which are safe, but is
survivable) or to extend the system so that any value may be
polymorphic.  (Which would then allow for the two argument types of :=
to be checked to see if they're equally polymorphic.)

I presume this second option might complicate typechecking
dramatically, though.  Otherwise, why avoid it?  (You can always use a
struct wrapper on the value at the moment to get the desired
effect--to make a list of map-type functions, for example.)

John.

-------------------
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


  reply	other threads:[~2002-07-30  8:15 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-29 12:45 [Caml-list] OCaml 3.05 released Xavier Leroy
2002-07-29 14:36 ` Nicolas Cannasse
2002-07-30  0:46 ` Shawn Wagner
2002-07-30  3:50 ` Scott J.
2002-07-30  7:34   ` John Prevost
2002-07-30  7:46   ` [Caml-list] Serious typechecking error involving new polymorphism (crash) John Prevost
2002-07-30  7:58     ` Xavier Leroy
2002-07-30  8:22       ` John Prevost [this message]
2002-07-30  8:47         ` Xavier Leroy
2002-07-30  8:37       ` Sven LUTHER
2002-07-30 14:11         ` [Caml-list] bug-fix branches Xavier Leroy
2002-07-30 16:15           ` Sven LUTHER
2002-08-01  9:37           ` [Caml-list] 3.05 and future 3.06 binary compatibility ? root
2002-08-01 12:09             ` [Caml-list] " Xavier Leroy
2002-08-01 15:56               ` Sven LUTHER
2002-08-08  8:37               ` Sven LUTHER
2002-08-09 12:25                 ` Xavier Leroy
2002-08-09 13:16                   ` Sven LUTHER
2002-07-30  7:51   ` [Caml-list] OCaml 3.05 released Dmitry Bely
2002-07-30 15:01     ` Scott J.
2002-07-30 15:11       ` Dmitry Bely
2002-08-02  5:31   ` Jacques Garrigue
2002-08-02 11:15     ` Tim Freeman
2002-07-30  7:48 ` [Caml-list] Record with one non mutable filed Christophe Raffalli
2002-07-30 11:49 ` [Caml-list] OCaml 3.05 released Yaron M. Minsky

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=86ofcplj54.fsf@laurelin.dementia.org \
    --to=j.prevost@cs.cmu.edu \
    --cc=caml-list@inria.fr \
    --cc=xavier.leroy@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;
as well as URLs for NNTP newsgroup(s).