[LWN Logo]
[LWN.net]
From:	 David Mentre <David.Mentre@inria.fr>
To:	 lwn@lwn.net
Subject: Attn: Development Editor, Latest Caml Weekly News
Date:	 02 Oct 2001 15:51:17 +0200

Hello,

Here is the latest Caml Weekly News, week 26 sep. to 2 oct., 2001.

Summary:
1) Initial port of ocaml for mingw
2) coca-ml (downcast of objects)
3) A new (and fast) regex library written entirely in ocaml
4) Graph libraries in O'Caml?
5) No CWN next week


======================================================================
1) Initial port of ocaml for mingw
----------------------------------------------------------------------

"Art" proposed an initial port of ocaml to mingw (a minimal environment
to run unix program under Windows).

Quoting art: "Using code from the cvsnt project (just one function
really), I was able to make an ocaml that does not depend on cygwin1.dll
for windows.  The bad news is that currently, it still depends on gcc
-mno-cygwin, sh and make to build programs, etc.  The good news is that
it can produce programs that don't depend on cygwin1.dll as well (from
ocamlc or ocamlopt).  I have tested programs made with both ocamlc and
ocamlopt, and used objdump to verify that they only depend on the
microsoft C runtime."

Full details can be found in his post:
  http://caml.inria.fr/archives/200109/msg00265.html

======================================================================
2) coca-ml (downcast of objects)
----------------------------------------------------------------------

Emmanuel Chailloux announced:

   I have made a small extension to ocaml 3-02 called coca-ml and using
   camlp4 to allow "down cast" of objects between classes in relations
   of inheritence and sub-typing.

   This extension introduces two new syntatic constructions :

      expr instanceof c : is used to test if an object "is-a" element of
                          c or a derived class of c and returns a boolean.

      cast expr from c1 to c2 : is used to cast an object to the type c2 :
                                 type of expr must be equal to c1
                                 c2 must be a sub-type of c1
                                 expr "is-a" c2

     There is a dynamic test to check if expr "is-a" c2. If not a
     exception is raised.

   coca-ml home page is :

    http://www.pps.jussieu.fr/~emmanuel/Public/Dev/coca-ml/index-en.html

   Please send the bug reports
               or your remarks to Emmanuel.Chailloux@pps.jussieu.fr

======================================================================
3) A new (and fast) regex library written entirely in ocaml
----------------------------------------------------------------------

Jerome Vouillon annnounced:

I've started to write a regular expression library.  It supports
several styles of regular expressions:
- Perl-style regular expressions;
- Posix extended regular expressions;
- Emacs-style regular expressions;
- Shell-style file globbing
It is also possible to build regular expressions by combining simpler
regular expressions.

The library is still under developpement, but already quite
usable.  The most notable missing features are back-references
and look-ahead/look-behind assertions.

I would greatly appreciate your comments about the library (and, in
particular, about its API).  Contributions and bug reports are also
welcome.

The library can be downloaded from http://sourceforge.net/projects/libre/

The library seems to be pretty fast when compiled to native code.
Here are some timing results (Pentium III 500Mhz):
* Scanning a 1Mb string containing only 'a's, except for the last
  character which is a 'b', searching for the pattern "aa?b"
  (repeated 100 times).
    - RE: 2.6s
    - PCRE: 68s
* Regular expression example from http://www.bagley.org/~doug/shootout/
    - RE: 0.43s
    - PCRE: 3.68s
(The library is much slower when compiled to bytecode though, as it
 is entirely written in O'Caml.  I plan to rewrite the critical
 sections of the code in C.)

======================================================================
4) Graph libraries in O'Caml?
----------------------------------------------------------------------

Mattias Waldau was looking for an ocaml graph library. Several people
have pointed to or proposed some libraries.

Brian Rogoff: http://caml.inria.fr/archives/200109/msg00278.html
Francois Pottier: http://caml.inria.fr/archives/200110/msg00004.html
Chris Tilt: http://caml.inria.fr/archives/200109/msg00288.html

======================================================================
5) No CWN next week
----------------------------------------------------------------------

I won't be able to read my email next week, so there won't be any caml
weekly news.

======================================================================


-- 
 David.Mentre@inria.fr
 Opinions expressed here are only mine.