Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Markus Mottl <mottl@miss.wu-wien.ac.at>
To: Xavier.Leroy@inria.fr (Xavier Leroy)
Cc: caml-list@inria.fr (OCAML)
Subject: Re: cyclic value construction ("let rec")
Date: Thu, 6 Apr 2000 17:12:36 +0200 (MET DST)	[thread overview]
Message-ID: <200004061512.RAA29691@miss.wu-wien.ac.at> (raw)
In-Reply-To: <20000406162552.49765@pauillac.inria.fr> from "Xavier Leroy" at Apr 06, 2000 04:25:52 PM

> Alas, it can do a lot of harm.  For one thing, you could break type
> safety this way, just like with polymorphic references:

Oh, right... - I could have thought earlier of this eternal problem of
destructive update and polymorphic typing! Once again it seems to me that
there is little place to "wiggle" at the current implementation of the
typing discipline without losing its important properties...

So my "quick hack" version is indeed potentially explosive and will only
work correctly (= type safe) as long as the user does not put polymorphic
values into the datastructure and does not do "evil" things then.

It would be possible to allow this "const cast" with records that have a
non-parameterized type - which would be pretty boring and might possibly
make the language less regular: beginners might be confused why "casting
away" mutability is allowed in some cases but not in others.

Best regards,
Markus Mottl

-- 
Markus Mottl, mottl@miss.wu-wien.ac.at, http://miss.wu-wien.ac.at/~mottl



  reply	other threads:[~2000-04-09 23:28 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-30 20:12 Benoit Deboursetty
2000-04-03 12:57 ` Markus Mottl
2000-04-06 13:18   ` Pierre Weis
2000-04-06 13:34     ` Markus Mottl
2000-04-06 14:25       ` Xavier Leroy
2000-04-06 15:12         ` Markus Mottl [this message]
2000-04-10  0:03         ` Pierre Weis
2000-04-10  1:41           ` Markus Mottl

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=200004061512.RAA29691@miss.wu-wien.ac.at \
    --to=mottl@miss.wu-wien.ac.at \
    --cc=Xavier.Leroy@inria.fr \
    --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