Claire (programming language)
From Wikipedia, the free encyclopedia
Claire is a high-level functional and object-oriented programming language with rule processing abilities. It was designed by Yves Caseau at Bouygues' e-Lab research laboratory, and received its final definition in 2004.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
Quick Facts Paradigm, Designed by ...
Paradigm | multi-paradigm: functional, object-oriented (class-based), rule processing, reflective |
---|---|
Designed by | Yves Caseau |
First appeared | 1994 (1994) |
Stable release | 3.3.46
/ February 17, 2009; 15 years ago (2009-02-17) |
Typing discipline | strong, both static and dynamic |
OS | Cross-platform |
License | Permissive free software licence |
Filename extensions | .cl |
Website | www |
Major implementations | |
Claire (reference implementation), WebClaire | |
Influenced by | |
Smalltalk, SETL, OPS5, Lisp, ML, C, LORE, LAURE |
Close
Claire provides:
- A simple object system with parametric classes and methods
- Polymorphic and parametric functional programming
- Production rules triggered by events
- Versioned snapshots of the state of the whole system, or any part, supporting rollback and easy exploration of search spaces
- Explicit relations between entities; for example, two entities might be declared inverses of one another
- First-class sets with convenient syntax for set-based programming
- An expressive set-based type system allowing both second-order static and dynamic typing
Claire's reference implementation, consisting of an interpreter and compiler, was fully open-sourced with the release of version 3.3.46 in February 2009. Another implementation, WebClaire, is commercially supported.
Claire has, since 2022, a new reference version, CLAIRE4, which is written on top of the Go programming language. It has a new website with documentations and examples, together with a Github open source repository.