Previous week Up Next week


Here is the latest Caml Weekly News, for the week of 03 to 10 January, 2006.

  1. Announcing OMake
  2. OCaml-3.09.0/AIX port
  3. ocamlduce: mailing list
  4. Pickling for OCaml?
  5. Release 3.09.1

Announcing OMake


Replying to the thread from last week, Nathaniel Gray said:
I would like to announce that an OS X binary installer is now
available for OMake  Get it at htttp://

OCaml-3.09.0/AIX port


Christoph Bauer announced:
I need an OCaml-3.09.0/AIX port and so I made one by myself (with the
help from Xavier Leroy).

You could download the modified sources/binaries from

I hope the port finds its way back in the offical ocaml releases.

ocamlduce: mailing list


Alain Frisch announced:
I've created a new mailing list to host announces and discussions about 
OCamlDuce, the extension of OCaml with support for XML. Feel free to 
join (and participate) if you are interested in the project:


- Download OCamlDuce 3.09.1:

- OCamlDuce homepage:

Pickling for OCaml?


Jonathan Roewen said and Erik de Castro Lopo asked:
> Has anyone done a pickling library for O'Caml yet?

Will the Marshall module not do?
Jonathan Roewen answered and Markus Mottl said:
> Marshal is unsafe. Pickling is safe. I'd take pickling =)

You could try our S-expression library, which uses CamlP4 to generate
code for converting arbitrary extensionally defined (= sum and product
types, polymorphic variants, records, types with type variables)
OCaml-types to and from S-expressions:

The library is safe and displays understandable error messages when
parsing S-expressions.  One can choose whether to print values in
human-readable ways or in very compact machine-readable (somewhat
human-readable) form.  It's also very easy to write down OCaml-values
in S-expression syntax, which makes it ideal for complex configuration
Alessandro Baretta said and Mark Shinwell added:
> Marshalling and "pickling" are synonyms. The Marshal module does not 
> provide runtime checks, yet, but the Caml team is working at it, as far as 
> I know.

Myself and others at Cambridge, headed by Peter Sewell, are working on
type- and abstraction-safe marshalling for O'Caml that works even where
values to be marshalled are passed through polymorphic functions.
Expect to hear more later this year.

Release 3.09.1


Damien Doligez announced:
It is our pleasure to announce the release of OCaml version 3.09.1.
This is mainly a bug-fix release, see the list of changes below.

Best wishes for 2006,

-- Damien Doligez, for the OCaml team.

Objective Caml 3.09.1:

Bug fixes:
- compilers: raise not_found with -principal PR#3855
- compilers: assert failure in typeclass.cml PR#3856
- compilers: assert failure in typing/ PR#3909
- compilers: fatal error exception Ctype.Unify PR#3918
- compilers: spurious warning Y PR#3868
- compilers: spurious warning Z on loop index PR#3907
- compilers: error message that emacs cannot parse
- ocamlopt: problems with -for-pack/-pack PR#3825, PR#3826, PR#3919
- ocamlopt: can't produce shared libraries on x86_64 PR#3869, PR#3924
- ocamlopt: float alignment problem on SPARC PR#3944
- ocamlopt: can't compile on MIPS PR#3936
- runtime: missing dependence for ld.conf
- runtime: missing dependence for .depend.nt PR#3880
- runtime: memory leak in caml_register_named_value PR#3940
- runtime: crash in Marshal.to_buffer PR#3879
- stdlib: Sys.time giving wrong results on Mac OS X PR#3850
- stdlib: Weak.get_copy causing random crashes in rare cases
- stdlib, debugger, labltk: use TMPDIR if set PR#3895
- stdlib: scanf bug on int32 and nativeint PR#3932
- camlp4: mkcamlp4 option parsing problem PR#3941
- camlp4: bug in pretty-printing of lazy/assert/new
- camlp4: update the unmaintained makefile for _loc name
- ocamldoc: several fixes see ocamldoc/Changes.txt
- otherlibs/str: bug in long sequences of alternatives PR#3783
- otherlibs/systhreads: deadlock in Windows PR#3910
- tools: update dumpobj to handle new event format PR#3873
- toplevel: activate warning Y in toplevel PR#3832

New features:
- otherlibs/labltk: browser uses menu bars instead of menu buttons
John Carr said:
I updated my SPARC 64 bit native code changes to work with version 3.09.1.

Using folding to read the cwn in vim 6+

Here is a quick trick to help you read this CWN if you are viewing it using vim (version 6 or greater).

:set foldmethod=expr
:set foldexpr=getline(v:lnum)=~'^=\\{78}$'?'<1':1

If you know of a better way, please let me know.

Old cwn

If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.

If you also wish to receive it every week by mail, you may subscribe online.

Alan Schmitt