From: Jacques Garrigue <Jacques.Garrigue@inria.fr>
To: caml-list@inria.fr
Subject: Objective Caml 2.99 released
Date: Fri, 17 Dec 1999 18:50:21 +0100 [thread overview]
Message-ID: <19991217185021D.garrigue@pauillac.inria.fr> (raw)
We are happy to announce
Objective Caml version 2.99 (The Merger)
This release is the result of merging Objective Label features inside
Objective Caml. It contains very few bug fixes and many new
features. As the version number suggests, this is a beta release.
This does not mean that we are aware of any bug, but if you are
satisfied with 2.04 you may prefer to wait for 3.00.
New features:
* labeled arguments
They help you document your code.
You may choose to use the compatible syntax (by default), which
allows labels but require them to be present in applications, or
the stricter olabl-like syntax.
* optional arguments
They are available in both modes, and allow to define multiple
call patterns for functions.
* polymorphic variants
They allow the reuse of the same variant tag in multiple
contexts/types and provide a refined type checking.
New tools and libraries:
* ocaml2to3: a script converting ocaml 2 files to the new lexing rules.
This only means adding spaces around colons, and converting
question marks `?' to double ones `??'.
* ocamlbrowser: an "integrated programming environment". This contains
a library browser, a type-checking editor, and an Objective Caml shell.
* labltk: another version of the ocamltk Tcl/Tk interface. It allows
for a more natural syntax, using optional arguments.
OCamlBrowser and LablTk are not available on windows and Mac for this
release.
This merger does not mean that Objective Caml became Objective Label.
Only part of Objective Label features were included in this release.
Others, like polymorphic methods, may follow later, but nothing is
fixed yet.
Sources, documentation and binaries for Linux/RedHat and Windows are
available from:
http://caml.inria.fr/ocaml/distrib299.html
ftp://ftp.inria.fr/lang/caml-light/
For general info on Objective Caml, see http://caml.inria.fr/ocaml/
Please direct queries to caml-light@inria.fr, bug reports to
caml-bugs@caml.inria.fr, and general discussions to the mailing-list
caml-list@inria.fr or the comp.lang.ml newsgroup.
- Jacques Garrigue et Xavier Leroy, for the Objective Caml team.
Appendix:
---------
List of changes for Objective Label users
* polymorphic methods and covariant subtyping of constructors are
not available.
* you must use the "-modern -w s" flags to have the compiler and
toplevel behave more like Objective Label.
* syntax of optional arguments with default value changed. One writes
?(:arg = default) or ?(arg:x = default) in place of
?:arg [< default >] or ?arg:x [< default >]
Also you can now write (:arg : typ) to annotate a labeled argument
with a type expression.
* semantics of optional arguments changed. They are only discarded
when a non-labeled argument appearing after them in the function type
is applied. This means that any function have to rewritten to
have a non-labeled argument in last position.
* LablTk changed quite a bit. Outside of the above optional
arguments problem, some other functions were homogeneized.
next reply other threads:[~1999-12-17 22:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-12-17 17:50 Jacques Garrigue [this message]
1999-12-17 22:28 ` skaller
1999-12-23 18:09 Damien Doligez
1999-12-24 3:24 ` skaller
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=19991217185021D.garrigue@pauillac.inria.fr \
--to=jacques.garrigue@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