Felix is a programming language with a fully featured purely functional subsystem embedded in a a traditional Algol-like imperative programming system. The system features garbage collection, static typing, parametric polymorphism, overloading, regular expression matching, and a lot more. A scripting harness is used to invoke source files, but fully compiled binary shared libraries are generated, yielding both rapid prototyping and high performance. Seamless binding of C/C++ code makes interfacing existing libraries easy. Control inversion provides language-level cooperative multi-tasking.
PolyGen is a program for generating random sentences according to a grammar definition, that is following custom syntactical and lexical rules. Formally, it is an interpreter of a language itself designed to define languages, where to interpret means executing a source program in real time and eventually outputting its result. Here, a source program is a grammar definition. The execution consists of the exploration of such grammar by selecting a random path, and the result is the sentence built on the way.
CDuce is a programming language adapted to writing safe and efficient applications that manipulate XML documents. A type system checks at compile time that applications deal with all the possible inputs and produce only valid outputs. Pattern matching is a powerful operation based on regular expressions to inspect documents. CDuce also features general-purpose features; it is a higher-order functional language, with a type-safe interface with Objective Caml.