Français Anglais
Accueil Annuaire Plan du site
Home > Research results > Software & patents
Research results
Software CDuce

CDuce - CDuce an XML centric Programmimg Language
Date of the last release: 10 February 2012

Person in charge : BENZAKEN Véronique

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.

Our point of view and our guideline for the design of CDuce is that a programming language for XML should take XML types ( DTD, XML Schema, Relax-NG, ...) seriously into account. The benefits are the following:
  • static verifications (e.g.: ensure that a transformation produces a valid document
  • in particular, we aim at smooth and safe compositions of XML transformations, and incremental programming;
  • static optimizations and efficient execution model (knowing the type of a document is crucial to extract information efficiently).

Some features particular to 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.

CDuce is fast, functional, type-safe, and conforms to basic standards: Unicode, XML, DTD, Namespaces are fully supported, XML Schema is partially supported

More information:

Software - Licence : MIT

Research activities
  Functional programming
  Type Theory
  Higher-Order Languages
  Data centric languages and systems
  Data-Centric Languages and Systems

  BENZAKEN Véronique

  Verification of Algorithms, Languages and Systems

Software & patents

Deep Neural Architectures for DNA