Previous week   Up   Next week
Hello,

Here is the latest Caml Weekly News, for the week of 30 September to 07 
October, 2003.

01) GODI for ocaml release 3.07
02) Shared patch
03) beginner needs help creating a dynamically resizable array
04) MozCaml for OCaml 3.07
05) mod_caml 0.9.0
06) ocaml 3.07 patch
07) Cameleon 1.3
08) OCaml and XML (OX v0.1)
09) Caml on CNN
10) ViM support for OCaml 3.07 .annot type annotations
11) CamlTemplate 0.5.0 released
12) Copyright Clarifications

==============================================================================
01) GODI for ocaml release 3.07
------------------------------------------------------------------------------
** Gerd Stolpmann announced:

Hi list,

only one day after the 3.07 release there is an updated GODI
distribution. GODI is a source-based ocaml distribution, available from

http://www.ocaml-programming.de/godi/

GODI installs a fresh O'Caml 3.07 system along with a number of
packages, and allows easy maintainance of the installation.

GODI has been tested on Linux (several flavours), FreeBSD 4.8, Solaris
8. It probably runs on more operating systems, but not on Windows (the
Cygwin port has made some progress but is not yet done). There is still
a problem for FreeBSD concerning threads, so it might be a good idea to
wait until I have found the problem (any help appreciated).

-- How to install GODI: --

Download the bootstrap tarball from
http://www.ocaml-programming.de/packages/godi-bootstrap-20030929.tar.gz
and follow the instruction in the README file.

If you have already a GODI installation for 3.07beta2, you can upgrade
it to 3.07 provided it is not too old. If your bootstrap tarball was
from September, it will definitely work. To do the upgrade, edit
godi.conf, and set GODI_SECTION=3.07. Start godi_console, download the
new build archives (menu 1), and select all packages for build (menu 2,
key 'u' = upgrade). Start the build, and after a while your whole system
is upgraded. (Cool, isn't it.)

-- Packages available for GODI: --

cryptgps, equeue, findlib, lablgl, lablgtk, netclient, ocamlnet, pcre,
pxp, rpc, shell, wlex, xstr, xstrp4

-- Plan: --

Currently, I am working on an improved version of godi_console that will
be able to handle more than just a dozend packages. There is very little
time for me to create new packages, so I would appreciate any help
getting more libraries packaged.

** He then added:

> GODI has been tested on Linux (several flavours), FreeBSD 4.8, Solaris
> 8. It probably runs on more operating systems, but not on Windows (the
> Cygwin port has made some progress but is not yet done). There is still
> a problem for FreeBSD concerning threads, so it might be a good idea to
> wait until I have found the problem (any help appreciated).

These problems have been solved, it runs now flawlessly on FreeBSD. The
change ensures that ocamlrun links against libc, and not libc_r.

To get the changes: Simply bootstrap from the same tarball I posted the
afternoon. It updates itself automatically.

==============================================================================
02) Shared patch
------------------------------------------------------------------------------
** malc announced:

Thanks to Vitaly Lugovsky 4a_shared patch (for OCaml 3.07) is now
available. You can get it at:

http://storm.boblycat.org/~malc/scaml

==============================================================================
03) beginner needs help creating a dynamically resizable array
------------------------------------------------------------------------------
** Ram Bhamidipaty asked and Nicolas Cannasse answered:

> I am trying to create a dynamically resizable array. So far this is what 
> I have: 
> [...]

You can use DynArray from the ExtLib :
http://sourceforge.net/projects/ocaml-lib

** Markus Mottl also answered:

You might want to try the RES-library:

  http://www.oefai.at/~markus/home/ocaml_sources.html#RES

==============================================================================
04) MozCaml for OCaml 3.07
------------------------------------------------------------------------------
** Maxence Guesdon announced:

We are pleased to announce a new version of MozCaml is available at
http://caml.inria.fr/mozcaml/

MozCaml is a SideBar Tab for the Mozilla browser dedicated to the Caml language.

Changes since previous announce:
- Caml Weekly News included in the News tab,
- you can now search for functions, types, ... in the library tab,
- the library and manual now refer to OCaml 3.07.

==============================================================================
05) mod_caml 0.9.0
------------------------------------------------------------------------------
** Richard Jones announced:

I'm pleased to announce that mod_caml 0.9.0 is available here:

https://savannah.nongnu.org/files/?group=modcaml
http://www.merjis.com/developers/mod_caml/

mod_caml is a set of Objective CAML (OCaml) bindings for the Apache
API. It allows you to run CGI scripts written in OCaml directly inside
the Apache webserver. However, it is much much more than just that:

    * Bind to any part of the Apache request cycle.
    * Read and modify internal Apache structures.
    * Share modules of code between handlers and scripts.
    * CGI library and templating system (allows separation of code and
        presentation).
    * DBI library for simple database access.

The main change is that we now have a DBI layer for simple access to
relational databases. Implemented so far: a PostgreSQL driver. MySQL
coming soon.

The distribution has various examples including a comments system,
which you can see demonstrated at http://www.annexia.org/

==============================================================================
06) ocaml 3.07 patch
------------------------------------------------------------------------------
** Xavier Leroy announced:

In response to the Camlp4 issues (with labeled arguments) that were
discovered in release 3.07 of OCaml: Michel Mauny has been working
hard on correcting the issues, and I just made available a patch
against the 3.07 sources:

      http://caml.inria.fr/distrib/ocaml-3.07/ocaml-3.07-patch1.diffs

It would be great if the users who where affected by the problem could
give it a try and let us (caml@inria.fr) know how it goes.
(Users who track the CVS repository can use it instead.)

If the issues are fixed, I'll update the binary distributions to
incorporate the patch.  Making binary distributions takes a
surprisingly long time, and is boring, so I'd rather not do that too
often...

==============================================================================
07) Cameleon 1.3
------------------------------------------------------------------------------
** Maxence Guesdon announced:

I'm pleased to announce the release 1.3 of cameleon. It is compatible
with OCaml 3.07 and lablgtk 1.2.6.
Main changes are:
 - new library sqml, to parse and print sql queries (not yet fully tested,
   will be used in the future to add support for custom queries in dbforge)
 - dbforge: new option -remove-table-prefix, arguments to char, nchar, varchar
   and nvarchar are not handled as ocaml code of type int
 - file transfer in MLChat
 - report: lists use var instead of var.current to access the current element
 - new library Toolhtml
 - bug fixes

You can get it at the following addresses:
https://savannah.nongnu.org/files/?group=cameleon
http://pauillac.inria.fr/~guesdon/Tools/

==============================================================================
08) OCaml and XML (OX v0.1)
------------------------------------------------------------------------------
** Didier Plaindou announced:

I'm pleased to annouce the first beta release of OX available at:

http://d.plaindoux.free.fr/

OX   is an  XML   integration  into Objective-Caml, providing
XML transducers   based on pseudo-tree  view. This gives a
homogeneous  view of XML within OCaml code, and lets  users
to manipulate such terms like any other ones, without constraint.

This is based on camlp4 and have been checked with OCaml 
releases 3.6 and 3.7.

Any comments are welcome so don't hesitate.

==============================================================================
09) Caml on CNN
------------------------------------------------------------------------------
** Frank Dellaert reported:

Hi All

although I have not yet posted this on the Caml web-site, my group and I
have written  several significant computer vision and robotics
applications in Caml. You might be amused to know that last week,
Caml-generated output made it on CNN Headline News and CNN Next, a show
about emerging technology. The same segment might be aired on CNN
International this weekend. The clips are on this page:

http://borg.cc.gatech.edu/CNN/

Look for the segment where 10 ants are tracked, which was done by
Caml-code written by Zia Khan and myself. Next up for us is translating
the bee dance, in Caml :-)

==============================================================================
10) ViM support for OCaml 3.07 .annot type annotations
------------------------------------------------------------------------------
** Stefano Zacchiroli announced:

Here: 

  http://www.bononia.it/~zack/stuff/ocaml-dtypes.vim

you can find a ViM extension that is able to parse .annot files and
print the type of an highlighted (visual mode) part of an ocaml source 
file. Alternatively it can print the type of the ocaml identifier at the
current cursor position.

It requires vim-python (i.e. vim built with python support).

==============================================================================
11) CamlTemplate 0.5.0 released
------------------------------------------------------------------------------
** Benjamin Geer announced:

I'm pleased to announce the first release of CamlTemplate, a small
template processor library for Objective Caml. It can be used to
generate web pages, scripts, SQL queries, XML documents and other sorts
of text files. Features:

  * A versatile, easy-to-learn template syntax that supports
    common scripting-language constructs, while encouraging a
    separation between presentation logic and application logic.

  * The supported Caml data structures accomodate lists, tables
    and trees of items in a straightforward manner.

  * Works well with mod_caml.

  * Supports any ASCII-compatible encoding, including UTF-8.

  * Optional support for multithreading.

CamlTemplate can be downloaded from:

  http://saucecode.org/camltemplate

==============================================================================
12) Copyright Clarifications
------------------------------------------------------------------------------
** Xavier Leroy said, following an inquiry about bignum license:

> [Licensing conditions for the "bignum" library used by OCaml's "num"
>  library]

You're correct that these conditions are a bit of a problem.  The
license you quote is that from the original BigNum distribution in the
late 80's, although the code OCaml uses was later improved at INRIA.

As you noticed, the BigNum code is copyright Digital and INRIA.  If it
were just for INRIA, that code would have been put under a standard
open source license a long time ago.  The problem is on the Digital
side: there have been a long chain of events (Digital PRL lab closed;
Digital acquired by Compaq; Compaq acquired by HP) that makes it
nearly impossible to deal with the copyright holders.

There are several ways to address this problem, such as replacing
BigNum by GMP (the low-level functions of GMP match very closely
BigNum's API), but this will take a while.

In the meantime, users who are concerned about a potential licensing
problem for a commercial application can also consider other Caml
arbitrary-precision arithmetic libraries, such as MLGMP and Numerix
(see the Hump, section "Mathematics", at caml.inria.fr).  Feel free to
contact us (caml@inria.fr) directly if this licensing issue is a real
show-stopper for your application.

==============================================================================
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
zM

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
(alan.schmitt@inria.fr) and I'll mail it to you, or go take a look at
the archive (http://pauillac.inria.fr/~aschmitt/cwn/) or the RSS feed of the 
archives (http://pauillac.inria.fr/~aschmitt/cwn/cwn.rss). If you also wish to 
receive it every week by mail, just tell me so.

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

Alan Schmitt