CLAIRE(ID:1902/cla001)


is a high-level functional and OOL with advanced rule processing capabilities. It is intended to allow the programmer to express complex algorithms with fewer lines and in an elegant readable form. Parametric classes and methods, OO logic with set extensions, dynamic versioning that supports easy exploration of search spaces, very rich type system including type intervals and second-order types (with dual static/dynamic typing). Set-based with an intuitive syntax, simple OOP, truly polymorphic and parametric programming, powerful yet readable extensions of DATALOG to express logic conditions.  Has a complete system with compiler, interpreter, tools - tracer, debugger, and object inspector.


Structures:
Related languages
DATALOG => CLAIRE   Extension of
LAURE => CLAIRE   Augmentation of

References:
  • Caseau, Y. and Laburthe, F. "Introduction to the CLAIRE programming language" Tech. rep., Departement Mathematiques et Informatique, Ecole Normale Superieure, Paris, France. view details
  • Caseau, Y.; Laburthe, F. "CLAIRE : a brief overview", Working paper, LIENS, 1996. view details Abstract: This paper gives a brief overview of the language: it should be read
    as an introduction to CLAIRE: we focus on the most original aspects, that are the rich data type system that we use to supplement the simplicity of our object model, the unusual degree of polymorphism that is supported by CLAIRE and the use of sets and rules. For a more
    thorough description, the reader should refer to the manual [CLAIRE],
    which contains a user guide, a reference manual and a tutorial. Finally, the set of techniques that we use to raise the level of abstraction and parametrization is described in a companion paper [CL96a]. External link: Online copy
  • Caseau, Yves and Laburthe, Francois "CLAIRE: Combining objects and rules for problem solving" view details Abstract: This paper describes a new approach towards code reuse through a
    high-level programming language. This work has been developed in the context of combinatorial optimization for industrial problems, where performance is critical and where a large number of fairly complex algorithms are used, that often share similar structures (such as branch & bound). The result is the CLAIRE programming language, which supports logic programming and provides high levels of abstraction and parametrization. Consequently, it may be used as an executable pseudo-code to describe concise and reusable problem solving algorithms. External link: Online copy
          in Proceedings of the JICSLP'96 workshop on multi-paradigm logic programming. TU Berlin, 1996 view details
  • Caseau, Y.; Josset, F.-X.; Laburthe, F. "CLAIRE : Combining Sets, Search and Rules to Better Express Algorithms" view details Abstract: This paper describes a new approach towards code reuse through a
    high-level programming language. This work has been developed in the context of combinatorial optimization for industrial problems, where performance is critical and where a large number of fairly complex algorithms are used, that often share similar structures (such as branch & bound). The result is the CLAIRE programming language, which supports logic programming and provides high levels of abstraction
    and parametrization. Consequently, it may be used as an executable pseudo-code to describe concise and reusable problem solving algorithms.
    External link: External link: Online copy
          in ICLP 1999 view details
  • Caseau, Yves; Josset, François-Xavier; Laburthe, François "CLAIRE: Combining sets, search and rules to better express algorithms" pp769-805 view details
          in Theory and Practice of Logic Programming (TPLP) 2(6) view details