Claire (programming language)
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.
Paradigm | multi-paradigm: functional, object-oriented (class-based), rule processing, reflective |
---|---|
Designed by | Yves Caseau |
First appeared | 1994 |
Stable release | 3.3.46
/ February 17, 2009 |
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 |
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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.