Interpreter
Why download the CLAIRE 4 Interpreter ?
Although CLAIRE is a compiled language, it is quite useful to use it in its simpler form of an interpreted language:
great for fast prototyping (REPL), as any interpreted language such as Python, LISP or Clojure.
REPL stands for Read-Eval-Print-Loop, together with the introspective capabilities of interpreted language, it supports using the langguage for querying and debugging the system that you build.As a stand alone file, the CLAIRE4 interpreter is very easy to install and it does not hit the wall of administrative rights for compiling or installing.
CLAIRE is a very powerful expressive language, with first-class citizen support for sets, hypothetical reasonning or high order relations, in addition to being an object-oriented functional programming language.
How to use CLAIRE 4 Interpreter ?
It is extremely easy :
copy the claire4.exe executable file from the repository associated to your operating system (currently MacOS or Windows) -> go to https://github.com/ycaseau/CLAIRE4
download the documentation or use this web site.
You are ready to go, just type "claire4"create an init.cl file to define your own modules
Pros and Cons
As an interpreted language, CLAIRE 4 has a number of benefits
It is fast : you can see how CLAIRE4 compares to Python or Clojure on the Result page. The exact ranking depends on your domain of use, but CLAIRE4 is globally as fast as the best interpreters around.
It is very expressive, because of its many high-order constructs. CLAIRE was designed for complex system modelling and the simpler expression of complex combinatorial optimization such as tree exploration.
CLAIRE code for algorithms is concise and very readable (a consequence of expressiveness together with the fact that CLAIRE is derived from a specification language)
A sweet spot for CLAIRE is complex system modelling. You may find some examples in the few public CLAIRE libraries that are visible on GitHub.
It has also a number of drawbacks:
The community is very small, hence almost no libraries are available yet. 90% of Python usage, for instance, is scripting for advanced library such as machine learning and data science, or Web processing. CLAIRE4 has no value here.
CLAIRE4 is a rich powerful language with a longer learning curve. CLAIRE inherits the ambition to be an "executable specification language", which is great to share code with non developers but requires some training (indexing a sequence of length N from 1 to N versus 0 to N-1 is a perfect example).
The true value of CLAIRE is to be both a flexible interpreted language with a REPL (read-eval-print loop) and a fast compiled language. If you only use the interpreter, you are missing parts of the benefits (however, on many corporate settings, this may be the only thing that you are allowed to do)
As a conclusion, the sweet spot of CLAIRE stand-alone interpreter is quick prototyping of algorithms in a format that can be shared and explained, because of CLAIRE pseudo-code (readable) roots.