Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
-
CLAIRE
- Language type:
- Description:
Claire is an object-oriented language with
powerful functional and
logic rule programming features, intended
for language research and specialized
application programming.
As an object-oriented language, Claire
does support definition of classes and
simple (single) inheritance. The class
system is just a part of the complex
type system that Claire supports, and
which programmers can use to set up
complex rules and conditions on subroutines.
The syntax of Claire is terse, it makes
heavy use of
punctuation and grouping characters,
like {} and :>, as well as a set of
reserved words similar to that of C.
The syntax is also very sensitive to
correct use of white space.
The primitive data
types in Claire include various numeric
types and strings, as well as program types
like classes and rules. Aggregate data
types built into the language are lists,
sets, and generalized (associative) arrays.
Claire supports the usual sequential
control constructs like conditionals and
loops, plus
exception handling.
The language also supports implicit control
flow in the form of searching of rules
(like Prolog).
Programs are composed of modules, which
define separate name spaces. Modules can
be defined statically or created dynamically.
Claire has simple I/O facilities for
reading and writing data. It does not
have any support for multi-threading or
extensive operating system interactions
(which probably helps it stay portable).
The current version of Claire, as of early
2003, was 3.2, with 3.3 just released.
The Claire implementation
is written in C++ and Claire, and runs on
Unix, PCs, and Macintosh.
The Claire compiler, interpreter, and tools
are available for free download in source
form. Documentation is also available,
along with scholarly papers about applications
of the language.
- Origin:
F. Laburthe, Y. Caseau, ENS Paris, 1995.
- See Also:
- Remarks:
The CLAIRE programming language was
developed at the Ecole Normale Superieure
in France, as a followup to a more complex
programming system named LAURE. The name
stands for Combining Logic, Assertions,
Inheritance, Relations, and Entities.
Current application areas for Claire
seem to be combinatorial optimization and
scheduling.
The language itself does not define GUI
facilities, but the current Claire
implementation does support a Tcl/Tk
interface library.
- Links:
-
-
- Date:
- Sample code:
// Very simple Fibonnacci example adapted from v2.1
// "Introduction to the CLAIRE Programming Language"
begin(fib_module)
fib[n:(0..10)] : integer := (if (n < 2) 1 else fib[n - 1] fib[n - 2])
test() -> (for i in (0 .. 10) printf("fib(~S) = ~S\n",i,fib[i])
end(fib_module)
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.