caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Xavier Leroy <xleroy@pauillac.inria.fr>
To: raffalli@cs.chalmers.se (Christophe Raffalli)
Cc: caml-list@pauillac.inria.fr
Subject: Re: Objective Caml 1.00
Date: Fri, 10 May 1996 13:43:32 +0200 (MET DST)	[thread overview]
Message-ID: <199605101143.NAA17437@pauillac.inria.fr> (raw)
In-Reply-To: <199605091630.SAA19527@lips.cs.chalmers.se> from "Christophe Raffalli" at May 9, 96 06:30:50 pm


> As "Upward compatibility with Caml Special Light is very high", I wonder if
> Objectif Caml will replace CSL or if newer versions of CSL will continue to
> come. Should every user of CSL move to Objective Caml ?

Objective Caml should really be viewed as the latest release of
CSL. It could very well have been called CSL 1.20. It's just that we
werent' completely happy with the name "Caml Special Light" (too long,
not catchy enough), and wanted to emphasize the new object stuff.

The only incompatibility between Objective Caml and Caml Special Light
is that there are a few extra reserved keywords in Objective Caml,
such as "new", "class", "inherit" and "constraint". Unfortunately,
several library functions were called "new" (e.g. Hashtbl.new) and had
to be renamed (e.g. Hashtbl.create).

The Objective Caml distribution contains a script (in tools/csl2ocaml)
to help convert to Objective Caml. It renames the library functions
and warns for each use of one of the now-reserved keywords as variable
names.

You may also have to change your Makefiles, because the compilers have
been renamed as well (cslc -> ocamlc, etc), but this is not even
necessary with a few extra symbolic links.

Apart from this, all CSL code should run in Objective Caml without
further modification.

Other improvements and bug fixes between CSL 1.15 and Objective Caml
1.00 include:

  * Compilation of "or" patterns (pat1 | pat2) completely revised to
  avoid code size explosion.

  * Compiler support for preprocessing source files (-pp flag).

  * Library construction: flag -linkall to force linking of all units in
  a library.

  * Native-code compiler: port to the Sparc under NetBSD.

  * Toplevel: fixed bug when tracing several times the same function
  under different names.

  * New format for marshaling arbitrary data structures, allows
  marshaling to/from strings.

  * Standard library: new module Genlex (configurable lexer for streams)

  * Thread library: much better support for I/O and blocking system calls.

  * Graphics library: faster reclaimation of unused pixmaps.

  * Unix library: new functions {set,clear}_nonblock,
    {set,clear}_close_on_exec, {set,get}itimer, inet_addr_any,
    {get,set}sockopt.

  * Dynlink library: added support for linking libraries (.cma files).

> A more general question is:
> 
> What is the future of the Caml family which now include : 
>   Caml-light (and two exotic compiler: camlot and camloo)
>   Caml-Special-light
>   Chameaux
>   Objective Caml
>   ... others ?

I can't say for those I'm not responsible for (camlot, camloo,
chamau); maybe their authors will like to comment.

Caml Special Light is completely superseded by Objective Caml, and no
new version of CSL will be released. All developments will continue on
Objective Caml. So, everybody is encouraged to switch from CSL to
Objective Caml just as they would switch to the latest release of CSL.

To support the use of Caml Light in programming courses, Caml Light is
still being maintained, though not actively developed. We make
bug-fix releases of Caml Light from time to time (though at a
considerably slower pace than Objective Caml releases), but no major
changes are forthcoming.

> The best way to answer would be to post regularly (once a month ?)
> on the mailing list a newsletter (You could call it "Some news from
> the Caravan" :-), telling us what's happening in the Caravan of CAML
> people.

I'm afraid there is not enough material for monthly publishing...
But don't hesitate to ask for clarification if our plans are not clear
enough.

- Xavier Leroy





       reply	other threads:[~1996-05-10 16:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199605091630.SAA19527@lips.cs.chalmers.se>
1996-05-10 11:43 ` Xavier Leroy [this message]
     [not found] <9605100813.AA11357@lsun169>
1996-05-15 17:13 ` Didier Remy
1996-05-09 14:27 Xavier Leroy

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=199605101143.NAA17437@pauillac.inria.fr \
    --to=xleroy@pauillac.inria.fr \
    --cc=caml-list@pauillac.inria.fr \
    --cc=raffalli@cs.chalmers.se \
    /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).