|
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: http://www.cduce.org
Software - Licence : MIT
Research activities
Functional programming Type Theory Higher-Order Languages XML Data centric languages and systems Data-Centric Languages and Systems
Members
BENZAKEN Véronique NGUYEN Kim
Group
Verification of Algorithms, Languages and Systems
|
|
|
|
|