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
References: 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 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 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 in Theory and Practice of Logic Programming (TPLP) 2(6) view details |