Previous week   Up   Next week

Here is the latest Caml Weekly News, week 21 may to 18 june, 2002. 

01) Hevea new release
02) New Ensemble release - 1.36
03) OCaml mode for NEdit
04) ant V0.3
05) New version of Active-DVI
06) Signal analysis
07) Signal analysis
08) Cash 0.10
09) Licensing Ocaml under different terms
10) F#
11) findlib-0.7
12) French interactive fiction, anyone ?
13) Ocaml tracing (with Camlp4)
14) Old cwn

01) Hevea new release
Luc Maranget announced:

It is my pleasure to anounce the new, 1.06, release of HEVEA.

    HEVEA is a LaTeX to HTML translator.  The input language is a fairly
    complete subset of LaTeX2e (old LaTeX style is also accepted) and the
    output language is HTML that is (hopefully) correct with respect to
    version 4.0 (transitional)

    HEVEA web page is

With respect to previous version 1.05, there are numerous changes,
including :
      - Hevea now includes a simple-minded HTML optimizer, and a new
        command line option ``-O'' to invoke it.
        The optimizer is also available as a standalone program

      - New (latex2e style) packages are provided, including the
        listings package for typesetting programs.

      - Image genearation in PNG format is provided.

  To compile hevea 1.06, you need ocaml 3.04. However, three binary
  packages are available from hevea home page (Linux/RedHat, Windows and

02) New Ensemble release - 1.36
Ohad Rodeh announced:

    A new Ensemble version is now available from the system site:

Ensemble is a group communication system written by Cornell, and the Hebrew
It allows the creation of process group wherein reliable communication
is supported. The system core is written in ML, with wrappers for

For the most part, the new version allows much better integration with C
applications that
are multithreaded. See the system homepage for more information.

03) OCaml mode for NEdit
Nathaniel Gray announced:


There may be one or two other people out there who use NEdit to write OCaml
code, so I thought I'd release the smart-indent macros and syntax hilighting
patterns that I use.

They should work with any version of NEdit after 5.2 and there are
installation instructions at the top of each file.

The macros/patterns can be found here:

For more information on OCaml:

For more information on NEdit:

04) ant V0.3
Achim Blumensath announced:


I'm pleased to announce the release of ant version 0.3. The archive can be
found at

ant is a typesetting system inspired by TeX. It does not aim at complete
compatibility with TeX but focuses instead on a flexible, clean, and
modular design.

This release is the first version of ant I consider usable. It has been
rewritten in OCaml and implements most features of (pure) TeX -- major
exceptions being marks, insertions, and tables (i.e., no floats and
footnotes yet). As a side effect of the translation, also the runtime
was drastically reduced.


PS: Yes, I do know about Apache Ant.

05) New version of Active-DVI
Pierre Weis announced:

Active-DVI is a presenter and previewer for texts or slides written in LaTeX,
hence the presentation tool of choice for the discriminating hacker.

Version 1.2.0 is now available. As the release number shows, this is a
major improvement w.r.t version 0.4.0 of Active-DVI.

This new version has been developed by Jun Furuse, Didier Rémy and
Pierre Weis with also contributions by Didier Le Botlan, Roberto Di   
Cosmo, Xavier Leroy, and Alan Schmitt.

In addition to the regular features of the Active-DVI previewer:

   * Encapsulated Postscript File inclusion
     (using the graphics LaTeX package)

   * Some effects for presentation (pause, delay, text color change)

this release introduces a lot of new features

   * Interactive demos, via launching of applications from within the slides

   * Background colors and background images for slides

   * Annotations of texts (visible when the mouse is on the annotated text)   

   * Hyper references within the same document or to other dvi files

   * Animated transitions from slide to slide

   * Text movements within the slide

   * Recording of text and arbitrary playback of recorded elements

   * Superposition effects for included images (alpha channels and blending)

   * A manual

   * A lot of examples, including talks using popular LaTeX packages seminar
     and prosper (cf.

   * A new user's interface in the redesigned LaTeX package advi.sty.

Play advi on the demonstration presentation demo.dvi that is in the test
directory of the distribution. Look at source code of various talks in
the directory ``examples''.

The source code, RPM packages, and information are available at

Contributions and comments are warmly welcome.

Mailing list
Bug reports to

06) Signal analysis
Alessandro Baretta asked:


I need some advice on a project I will have to start in a
few days. I need to write code to perform spectral analysis
of digital signals. I do not know the details yet, but I
know that I will have to perform Fourier trasformations on
fairly large arrays, let us say in the neighborhood 2^16
samples. Since the data comes from text files, I would like
to use Ocaml/Ocamllex/Ocamlyacc, but will I be able to
perform the numerical part at a decent speed? I realize
"decent" here could mean just about anything, but since I
have no real time specs, I simply have to crunch the data
fast enough (on a fast enough PC) so as to prevent the user
from getting exceedingly bored and frustrated between
commands. Are there any optimized FFT (and signal analysis)
libraries for Ocaml, or should I code the whole thing from

I would appreciate any ideas from anyone having some
previous signal analysis experience with Ocaml.

Thank you very much.

Berke Durak answered:


FFTW is really fast, but i've had trouble binding to it, so I ripped
the FFT code from Scheme's SLIB. The result is a small program that
displays in pseudo colour the spectrogram of a 16-bit raw audio
file, using Bigarray and Graphics :

BTW, couldn't someone hack FFTW to generate Caml code ? I mean, what's
the point of using C ?

Markus Mottl added:

Interfacing to the FFTW-library is indeed awful, because of many options
that interact in fancy ways. Making a half-descent OCaml-library for
FFT-routines using the FFTW would probably take a couple of days full-time
(too long for me, I am more into symbolic stuff ;).

You can grab my unfinished attempt from here:

07) Signal analysis
As related in last week cwn, there was some talk about FFTW bindings for
ocaml. Christophe Troestler added this week:

> Investigate the binding for FFTW library for ocaml.

You can find it at "".  The
interface is basically finished but it hasn't been thoroughly tested.
Most of the FFTW options are available -- including transforming
several arrays at once.  Do not hesitate to contact me in case of
problems or if you need further help.

08) Cash 0.10
Bruno Verlyck announced:

I'm pleased to announce the first release (0.10) of Cash, the Caml Shell.

* What is Cash ?

Cash is a Caml implementation of (an as large as possible subset of) the
API of Scsh (0.5.3), the Scheme Shell by Olin Shivers.  It's designed for
writing standalone Unix programs and shell scripts (but rather *not* for
interactive command use). It spans a wide range of application, from
"script" applications usually handled with perl or sh, to more standard
systems applications usually written in C.

* Release 0.10

This is the first public release of Cash.  I see it as beta, but I don't
expect a lot of bugs :-).  For more information, see:
Download the most recently distributed source:
Stay in sync with latest development / bug fixes (CVS archive):

* Bugs

Bug reports, comments, doc typos, and contributions are very welcome:
drop me a mail at

09) Licensing Ocaml under different terms
Blair Zajac asked and Michel Mauny answered:

> Ocaml Developers,
> I am the CEO of OrcaBlue Technologies and I am currently evaluating
> the possibility of developing a suite of libraries and some
> modifications to the Ocaml distribution, such as using the Apache
> Portable Runtime to make porting to various OSes easier, and selling
> and distributing libraries and binaries based on this code.
> I've seen Ocaml developers mention on the Caml mailing lists that  
> Ocaml has been licensed to other groups or individuals under terms
> different than the terms that Ocaml is distributed under and I would
> like to discuss this with the appropriate people.
> As an aside, I come from the opens source world myself, being
> the author the open-source Orca performance monitoring system at
> and author of several freely available Perl modules at
> Regards,
> Blair Zajac


Yes, it will soon be possible for members of the Caml Consortium (see to benefit of a much more flexible
licence than the current public licences for OCaml. Roughly speaking,
the license is a BSD-style licence, and it applies to all OCaml
versions whose public release occurs during the partner membership to
the Caml Consortium.

Please contact me directly for more information.

10) F#
Vincent Foley remarked:

F# is a .NET language based on the core of OCaml.  It can use the .NET
libraries and interact with C#.  What do you guys think?

(There has been many follow ups to this message, you may find the full
thread here: ) 

11) findlib-0.7
Gerd Stolpmann announced:

Hi list,

the new version of findlib (ocamlfind) is now available and can be
downloaded at the usual place:

The on-line documentation is available here:

List of changes:

- DLLs: There are now two styles of installation: DLLs can be
  installed in the package directories (like before), or in a shared
  directory "libexec". For the first style, there is now an option
  "ldconf" that determines whether the ld.conf file is to be updated,
  and if so, which file. The latter style is enabled by simply creating
  a directory "libexec" in the site-lib directory.

- "ocamlfind install" preserves now the mtime of the files.

- "ocamlfind printconf" is more flexible, and easier to call from scripts.

- "ocamlfind browser" calls ocamlbrowser with the right -I options.

- "ocamlfind query": -descendants implies now -recursive.

- "ocamlfind ocamldep": -native-filter and -bytecode-filter for more
  exact dependency generation.

- There may be now postinstall and postremove scripts.

- "ocamlfind pkg/cmd": This syntax can be used to call the program cmd
  that is installed in the package directory for pkg. Intended to
  simplify the invocation of programs that are installed in package
  directories and not in XXX/bin, which may be useful for package-
  related tools.

- Findlib has now a toolbox containing helpful programs besides
  ocamlfind. For the beginning, there is a Makefile wizard that
  can be called by "ocamlfind findlib/make_wizard".

- #use "topfind" instead of #use "findlib" to avoid name clashes
  in a certain configuration. #use "findlib" and #use "ocamlfind"
  are still supported for backward compatibility if the name clash
  does not occur.

- Fix: bytecode threads work again. (The wrong unix library was
  linked for recent O'Caml versions.)

- Many smaller improvements; the docs have been updated.

12) French interactive fiction, anyone ?
Berke Durak proposed:

Since it's now summer time, is anyone willing to write an interactive
fiction game (i.e. ŕ la Zork or Adventure, although not necessarily in
that particular (fantasy) style) in French (and in Ocaml, of course) ?
The lack of IF games in french is frustrating. Plus, I guess it would
be really fun to write such a game in Ocaml, given that current IF
systems are half-baked, improvised languages.

In particular, natural language processing routines for french
(parsing/unparsing) would be needed.

13) Ocaml tracing (with Camlp4)
Basile Starynkevitch announced:

Dear All,

A big thanks to Alain Frisch, John Malecki, and Daniel de Rauglaudre  
for their help.

I finally managed to write a tracing preprocessor.

You can get it thru CVS, eg at

14) Old cwn

If you happen to miss a cwn, you can send me a message
( and I'll mail it to you. If you also wish to
receive it every week by mail, just tell me so.


Alan Schmitt