Ceci est une ancienne révision du document !
What is TCLP ?
A prescriptive type system for Constraint Logic Programming, currently:
Based on
Typing Constraint Logic Programs by François Fages and Emmanuel Coquery. Journal of Theory and Practice of Logic Programming TPLP 1(6)., pp. 751-777. November 2001. Available as
ps.
TCLP uses 3 kind of polymorphism:
parametric polymorphism (e.g. : list(A))
subtyping (e.g. : list(A) < term)
overloading (also called adhoc polymorphism)
e.g.: '-'/2
can have type int * int → int and type A * B → pair(A,B)
- A prescriptive type system for Constraint Logic
Programming, currently:
-
TCLP uses 3 kind of polymorphism:
- parametric polymorphism (e.g. : list(A))
- subtyping (e.g. : list(A) < term)
- overloading (also called adhoc polymorphism)
e.g.: '-'/2 can have type
int * int -> int and
type A * B -> pair(A,B)
- Usable:
- No type declaration required !
- type inference for predicates
- default types for function symbols
- Extensible to other dialects by providing types for
built-ins
TCLP is implemented in Prolog/CHR.
What's new
- 2006-07-20
- TCLP 0.4.4 introduces type aliases.
- 2005-05-25
- TCLP 0.4.3 & fixed the online demo.
- 2004-11-16
- TCLP 0.4.2
- 2004-02-27
- TCLP 0.4.1
- 2004-01-27
- TCLP 0.4 is here !
- 2004-01-23
- Pre 0.4 release: 0.3f
- 2003-09-25
- Fixed binary for MacOSX without sicstus installed available
here.
- 2003-06-02
- Bugfix realease: 0.3b
- 2002-10-31
-
- New version of the documentation
- New version of TCLP: 0.3
- ppc / Darwin (MacOS X) port
- 2002-09-04
TCLP version 0.2.99g here
- 2002-06-26
TCLP version 0.2.99e here
- 2002-06-18
TCLP version 0.2.99d here
- 2002-04-24
-
TCLP version 0.2.99, entirely
rewritten in Prolog/CHR, with handling of overloading.
Download
here, have a look at the
documentation.
- 2001-12-06
-
Bugfix version 0.2.1
- 2001-11-05
-
New version 0.2
Updated the web site, including a new
documentation section.
Included an install script.
Changed the options in the web interface
(see the demo).
- April 2001
Initial version of TCLP (version 0.1)