Download

The latest available version for download is the 0.4.0 release.

See recent changes (including those of the CVS version), and build instructions.

The simplest way to compile and install CDuce is probably to use the GODI distribution, and to select the apps-cduce package. There is also a apps-cduce-cvs package which synchronize itself with the CDuce CVS development tree.

You can browse the current CVS development tree here.

You can also download the CVS tree through an anonymous access. Set the CVSROOT environment variable to :pserver:anonymous@cvs.cduce.org:/cvsroot and do cvs checkout cduce. Or more simply, copy and paste in a terminal the following line

cvs -z3 -d ":pserver:anonymous@cvs.cduce.org:/cvsroot" co cduce

You can then do cvs update -dP in the cduce subdirectory to get an up-to-date version of the CVS tree.

Another way to follow the development in the CVS is to is the apps-cduce-cvs GODI package.

ulex is a lexer generator for Unicode and OCaml written by Alain Frisch.

Version 0.9, for the new Camlp4. Version 0.8, for OCaml 3.09. Version 0.4, for OCaml <= 3.07. Version 0.7, for OCaml 3.08, 3.09.

Gerd Stolpmann posted a message to the Caml-list which explains how to migrate from ocamllex to ulex.

Thanks to Thomas Petazzoni and Stefano Zacchiroli, CDuce 0.3.2 is now packaged and available in Debian stable (« sarge »). Just do apt-get install cduce.

Version 0.4.0 is also available in Debian testing (« etch »).

An RPM package is now available for CDuce 0.4.0, including the interpreter only without the OCaml/CDuce interface. This package does not need OCaml, but does need a version >= 4.5 of the pcre package.

N. B. : Some RPM-based distributions use the name "libpcre3" instead of "pcre" for the pcre package. If RPM complains that pcre is missing, but you have libpcre3 version >= 4.5 installed, you may safely use rpm -U --nodeps to force installation.

If you want to use the Ocaml/CDuce interface under an RPM-based distribution, you have to compile CDuce from source, because not all dependencies for the library exist as RPM packages. However, a number of them can be found in the ALT Linux distribution, in category Development/ML.

A FreeBSD port for CDuce 0.3.2 is now available (commit date : 2005-06-19)

To install it, follow those steps :

  1. Update your ports tree (using cvsup for example, just take a look at the handbook for more information.)

  2. Be sure everything is up to date (use sysutils/portupgrade this is the simplest way). Be also sure that your pcre lib was build with UTF8 support (if it isn't installed, you don't have to care.) The best way is to deinstall pcre and install the slave port devel/pcre-utf8.

  3. Go to /usr/ports/lang/cduce, type "make all install clean" and this it (or if you have portupgrade, "portinstall lang/cduce" would be enough).

As for most ocaml ports, be sure that all your already installed ports depending on ocaml are up to date (in particular, they need to be rebuild since the last ocaml update.)

The best way to do that is with (again) portupgrade : portupgrade -fru ocaml\*

If you are not familiar with FreeBSD ports, be sure to read the FreeBSD handbook and the manpage ports(7). Some articles in O'Reilly's OnLamp.com BSD DEVCENTER may interest you also.

OCaml's ports have been updated just before porting CDuce, so normaly, every thing needed to build CDuce's interface with ocaml is available (unless you build ocaml's port with option WITHOUT_COMPILER_LIB.)

The CDuce's port has some options :

WITHOUT_OCURL disable support for ocurl (since there's no ports of netclient, this disable url supports.)
default : ocurl enable
WITH_OCAML_EXPAT use expat instead of PXP. PXP was made default, but since expat problem with external DTD is fixed, it will be the default in next ports release.
default : expat disable
WITHOUT_MLIFACE disable CDuce's ocaml interface. default : MLIFACE enable
NOPORTSDOCS disable build/install of documentation (standard ports' option)
default : depending on you own ports configuration, probably docs enable.