CLAIRE

CLAIRE: Combining sets, search and rules to better express algorithms, programming language. This paper presents a programming language which includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (functional) language. Although these paradigms are separately well known and are available under various programming environments, the originality of the CLAIRE language comes from the tight integration, which yields interesting run-time performances, and from the richness of this combination, which yields new ways in which to express complex algorithmic patterns with few elegant lines. To achieve the opposite goals of a high abstraction level (conciseness and readability) and run-time performance (CLAIRE is used as a C++ pre-processor), we have developed two kinds of compiler: first, a pattern pre-processor handles iterations over both concrete and abstract sets (data types and program fragments), in a completely user-extensible manner; secondly, an inference compiler transforms a set of logical rules into a set of functions (demons that are used through procedural attachment).


References in zbMATH (referenced in 34 articles , 1 standard article )

Showing results 21 to 34 of 34.
Sorted by year (citations)
  1. Hu, Zhenjiang; Chin, Wei-Ngan; Takeichi, Masato: Calculating a new data mining algorithm for market basket analysis (2001)
  2. Kirchner, Hélène; Moreau, Pierre-Etienne: Promoting rewriting to a programming language: A compiler for non-deterministic rewrite programs in associative-commutative theories (2001)
  3. Mattioli, Juliette; Museux, Nicolas; Jourdan, J.; Savéant, Pierre; de Givry, Simon: A constraint optimization framework for mapping a digital signal processing application onto a parallel architecture (2001)
  4. Baptiste, Philippe; Le Pape, Claude: Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems (2000)
  5. Castro, Carlos; Borovanský, Peter: The use of a strategy language for solving search problems (2000)
  6. Michel, Laurent; Van Hentenryck, Pascal: Localizer (2000)
  7. Ringeissen, Christophe: Handling relations over finite domains in the rule-based system ELAN (2000)
  8. Baptiste, Philippe: An O((n^4)) algorithm for preemptive scheduling of a single machine to minimize the number of late jobs (1999)
  9. Caseau, Yves; Laburthe, François: Heuristics for large constrained vehicle routing problems (1999)
  10. Henz, Martin; Müller, Tobias; Boon, Ng Ka: Figaro: Yet another constraint programming library (1999)
  11. Le Pape, Claude; Baptiste, Philippe: Heuristic control of a constraint-based algorithm for the preemptive job-shop scheduling problem (1999)
  12. Apt, Krzysztof R.: A proof theoretic view of constraint programming (1998)
  13. Bockmayr, Alexander; Kasper, Thomas: Branch and infer: A unifying framework for integer and finite domain constraint programming. (1998)
  14. le Pape, Claude; Baptiste, Philippe: Resource constraints for preemptive job-shop scheduling (1998)