caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: skaller <skaller@users.sourceforge.net>
To: Jon Harrop <jdh30@cam.ac.uk>
Cc: caml-list <caml-list@inria.fr>
Subject: Re: [Caml-list] Large projects in OCaml
Date: 21 May 2004 02:23:38 +1000	[thread overview]
Message-ID: <1085070217.19838.1012.camel@pelican.wigram> (raw)
In-Reply-To: <200405201410.38157.jdh30@cam.ac.uk>

On Thu, 2004-05-20 at 23:10, Jon Harrop wrote:
> On Thursday 20 May 2004 09:46, skaller wrote:
> > ...
> > I have found several bugs in the core compiler.

> Just out of curiosity, what were these bugs?

Typing of polymorphic variants. The big one
caused a core dump, rending 3.05 and 3.06 unusable.

I also pointed at a detail of pattern matching
polymorphic variants leading in part to recent
changes where the more relaxed rules can occasionally
lead to some indeterminism (there's an article
by Jacques Garrique on this somewhere). I wouldn't
call that a bug, but the new pattern matches are
less fragile: basically, the old ones refused
to allow redundant or useless cases (involving guards)
because it confused the typing. The problem was if you
commented out a tag somewhere else it gratuitously
broke the match typing, and you'd have to comment
out the case in the match too (even when all you'd
done is restrict the input expression tag set).
Now, there's a risk that guarded patterns aren't
tested sequentially, so you might end up in an
unexpected match handler if you weren't aware
of this (you can always nest matches to restore
the determinism). At least I think that's it :)

Polymorphic variants involve some interesting
language design compromises!

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
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:[~2004-05-20 16:23 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-19 17:24 ramu ramamurthy
2004-05-19 21:33 ` Jon Harrop
2004-05-19 23:04   ` David J. Trombley
2004-05-20 16:31   ` Eric Stokes
2004-05-20 17:37     ` Jon Harrop
2004-05-20 20:30       ` Eric Stokes
2004-05-20 21:04         ` Jon Harrop
2004-05-20 21:41           ` Eric Stokes
2004-05-21 11:28             ` Jon Harrop
2004-05-21 12:49               ` Ville-Pertti Keinonen
2004-05-21 16:27                 ` Jon Harrop
2004-05-24  3:07               ` Jacques GARRIGUE
2004-05-24  5:20                 ` skaller
2004-05-24 12:14                   ` Jacques GARRIGUE
2004-05-24 13:54                     ` skaller
2004-05-24 14:20                       ` Xavier Leroy
2004-05-24 16:48                         ` Alex Baretta
2004-05-24 17:38                           ` brogoff
2004-05-25  5:25                           ` Alan Schmitt
2004-05-24 19:24                         ` skaller
2004-05-24 19:52                           ` Brandon J. Van Every
2004-05-24 14:20                       ` Daniel Bünzli
2004-05-24 19:34                         ` skaller
2004-05-24 16:49                       ` james woodyatt
2004-05-19 21:38 ` Richard Jones
2004-05-20  8:46   ` skaller
2004-05-20 11:56     ` [Caml-list] A problem with nan sejourne kevin
2004-05-20 20:42       ` Jon Harrop
2004-05-20 22:24         ` David J. Trombley
2004-05-20 22:45         ` Damien Doligez
2004-05-20 13:10     ` [Caml-list] Large projects in OCaml Jon Harrop
2004-05-20 16:23       ` skaller [this message]
2004-05-20  6:35 ` David Monniaux
2004-05-20  7:17   ` Dustin Sallings
2004-05-25  7:26 Mattias Waldau
2004-05-25 19:07 ` Richard Jones
2004-05-25 19:54   ` Evan Martin
2004-05-26  6:57   ` skaller
2004-05-26  8:09     ` Richard Jones

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=1085070217.19838.1012.camel@pelican.wigram \
    --to=skaller@users.sourceforge.net \
    --cc=caml-list@inria.fr \
    --cc=jdh30@cam.ac.uk \
    /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).