CDuce is a modern XML-oriented functional language with innovative features. A compiler is available under the terms of an open-source license. CDuce is type-safe, efficient, and offer powerful constructions to work with XML documents.
CDuce is fast, functional, type-safe, and conforms to basic standards: XML, DTD, Unicode, XML Schema is partially supported, Namespaces are fully supported.
Preliminary benchmarks suggest that despite the overhead for static type verification, a CDuce program can run faster (30% to 60%) than an equivalent XSLT style-sheet (we performed benchmarks with the xsltproc tools from the Gnome libxslt library).
Here are some key features of "CDuce":
· XML objects can be manipulated as first-class citizen values: elements, sequences, tags, characters and strings, attribute sets; sequences of XML elements can be specified by regular expressions, which also apply to characters strings;
· functions themselves are first-class values, they can be manipulated, stored in data structure, returned by a function,...
· a powerful pattern matching operation can perform complex extractions from sequences of XML elements;
· a rich type algebra, with recursive types and arbitrary boolean combinations (union, intersection, complement) allows precise definitions of data structures and XML types; general purpose types and types constructors are taken seriously (products, extensible records, arbitrary precision integers with interval constraints, Unicode characters);
· polymorphism through a natural notion of subtyping, and overloaded functions with dynamic dispatch;
· an highly-effective type-driven compilation schema.
What`s New in This Release: [ read full changelog ]
· Port to OCaml 3.11 (courtesy of Richard Jones)
· fixed to work with ocaml-curl library >= 0.5
· Tools
· Fixed dtd2cduce bug when handling of "FIXED" attributes
· Fixed bug in building: PXP was not build if GCI not present