CDuce public release

Dear readers of the Types mailing list,

We are proud to announce the first public release of


a new strongly typed higher-order functional programming language for
XML documents with an efficient type-based runtime implementation. 
The distribution can be downloaded at:


The subscribers of the type mailing might be interested in it as it
uses very expressive types (intersection, union, negation, arrow,
record, product, and recursive types) combined with higher-order and
overloaded functions and with a subtyping relation defined via a
set-theoretic semantic interpretation of these types. Moreover, it
demonstrates how types can be used to implement a very efficient
run-time system.

A tutorial, a user's manual, some preliminary benchmarks, some
presentation slides, and several technical papers can be found at:


The current release is a research prototype, but it can already be
(and has been successfully) used as a replacement for XSLT or other
technologies for processing XML documents. CDuce is fast, functional,
type-safe, and conforms to basic standards: Unicode, XML, DTD,
Namespaces are handled, partial support of XML Schema validation is
in alpha testing (and undocumented) while queries are being

You are invited to try it by using the on-line prototype available at
http://www.cduce.org/cgi-bin/cduce or by downloading and compiling
it, and using it as interactive toplevel or in batch execution. You
can test it by rebuilding all the pages of our CDuce web site
(written in XML and processed by a CDuce program), included in the
distribution. We successfully compiled CDuce on Intel Linux, SunOS
5.7, Windows XP, and FreeBSD 4.7.

This is the first beta version. All your comments, suggestions, and
bug reports will be warmly welcome. Please send all of them to

Thanks in advance,

  The CDuce team.