caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: EEK Cooper <s0567141@sms.ed.ac.uk>
To: caml-list@yquem.inria.fr
Subject: Map.fold behavior changed
Date: Fri, 24 Feb 2006 11:22:09 +0000	[thread overview]
Message-ID: <20060224112209.51szurk2dc00oggg@www.sms.ed.ac.uk> (raw)

Hi all,

My team just noticed that the behavior of Map.fold changed in OCaml 
version 3.08.4.

I'm concerned that the OCaml team would change the behavior of a 
library function so late in its life. I understand that it was thought 
to be "wrong" <http://caml.inria.fr/mantis/view.php?id=3607>, but 
changing the behavior of an existing function breaks existing apps and 
shouldn't be done lightly. Such changes should, of course, be carefully 
highlighted in a change log as *incompatible* changes, requring updates 
to existing programs--this one was buried under "bug fixes." The old 
behavior was apparently longstanding since 1995 
<http://camlcvs.inria.fr/cgi-bin/cvsweb/ocaml/stdlib/map.ml?annotate=1.15;f=h> 
versus 
<http://camlcvs.inria.fr/cgi-bin/cvsweb/ocaml/stdlib/map.ml?annotate=1.15.4.1;f=h>. If OCaml is meant to be a practical programming language, it should provide consistency for its users from version to 
version.

That said, we're now in the position where we need to compile different 
code depending on the version of OCaml. What's the best way to do 
conditional compilation in OCaml? Should we use cpp and #ifdef, or is 
there a more OCaml-savvy solution?

Thanks in advance,
Ezra



             reply	other threads:[~2006-02-24 11:22 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-24 11:22 EEK Cooper [this message]
2006-02-24 11:43 ` [Caml-list] " Jean-Christophe Filliatre
2006-02-24 13:29   ` EEK Cooper
2006-02-24 13:44     ` Jean-Christophe Filliatre
2006-02-24 14:13     ` Damien Doligez
2006-02-24 15:43       ` Brian Hurt
2006-02-24 16:20         ` Jean-Christophe Filliatre
2006-02-24 16:01       ` Joaquin Cuenca Abela
2006-02-27 12:59         ` Damien Doligez
2006-03-02 13:57           ` Ezra Cooper
2006-03-03 15:41             ` N. Owen Gunden
2006-03-09  7:14               ` Florian Hars
2006-03-13 16:31                 ` Damien Doligez
2006-03-15  7:27                   ` Florian Hars
2006-03-15  7:37                     ` Jon Harrop
2006-03-15  7:40                     ` Alain Frisch
2006-03-15  8:41                       ` Florian Hars
2006-03-15 21:18                         ` Christophe Raffalli
2006-02-24 15:31 ` Brian Hurt
2006-03-01  5:20 ` Nathaniel Gray
2006-03-01  9:33   ` Nicolas Pouillard

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=20060224112209.51szurk2dc00oggg@www.sms.ed.ac.uk \
    --to=s0567141@sms.ed.ac.uk \
    --cc=caml-list@yquem.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).