[comp.lang.prolog] Constraint Logic Programming info sought

bobk@mntgfx.UUCP (11/10/87)

I haven't heard much in this newsgroup about Constraint Logic Programming.
It seems to me that CLP is what I originally thought PROLOG should have
been, before I learned about PROLOG.

Can anyone describe exactly what the differences are between CLP and PROLOG?
Is it practical to modify existing PROLOG interpreters to handle, say,
CLP(R)?  Is it practical to do this with compiled PROLOG systems based on
the Warren Abstract Machine, e.g. SB-Prolog?

I have heard that some CLP systems involve some sort of constraint solver
grafted on to a regular PROLOG system.  What tasks would such a solver
be able to perform in the domain of real numbers?  Would it solve sets
of simultaneous equations and inequalities?  Would it need to do any
algebraic rearrangement of clauses?  Could a CLP(R) meta-interpreter be
written in PROLOG?

Finally, I am looking for bibliographic references about CLP, as well as
any readily-available source code implementations to experiment with.

-- 
Robert J. Kelley
Mentor Graphics Corporation
...!tektronix!sequent!mntgfx!bobk or bobk@mntgfx.MENTOR.COM

spiro@A.GP.CS.CMU.EDU (Spiro Michaylov) (11/24/87)

In article <1987Nov9.145220.8991@mntgfx.mentor.com>, bobk@mntgfx.mentor.com (Bob Kelley) writes:
> I haven't heard much in this newsgroup about Constraint Logic Programming.
> It seems to me that CLP is what I originally thought PROLOG should have
> been, before I learned about PROLOG.
> 
... two paragraphs deleted
> 
> Finally, I am looking for bibliographic references about CLP, as well as
> any readily-available source code implementations to experiment with.
> 

As one of the four implementors of the CLP(R) system developed at Monash 
University in 1986, I'd like to provide some pointers for getting information
on CLP. 

The system that we developed in 1986 was an interpreter, and our current 
research is largely on compilation issues -- although no compiler is as yet 
available. 

The source code for the interpreter is being licensed by Monash University, 
and further information on obtaining it can be requested from:

     ACSNET:             clp@moncsbruce.oz
     ARPANET,CSNET:      clp@moncsbruce.oz.au
     UUCP:               seismo!munnari!moncsbruce.oz!clp
     If all else fails:  munnari!moncsbruce!clp@uunet.UU.NET .

     CLP(R) Distribution
     Department of Computer Science
     Monash University
     Clayton
     Victoria 3168

It is NOT in the public domain, and to my knowledge no other implementation 
exists. 

The list of implementors with addresses is given below. All of us would be 
more than happy to answer questions about the CLP scheme, the CLP(R) system,
etc. Additionally, I would be glad to send copies of any or all of the
relevant publications to anybody who is interested.

	Joxan Jaffar
	H1-D46,
	IBM Thomas J. Watson Research Center,
	PO Box 704,
	Yorktown Heights, NY 10598
	( joxan@ibm.com )
	
	Spiro Michaylov
	Department of Computer Science,
	Carnegie-Mellon University,
	Pittsburgh, PA 15213
	( spiro@a.gp.cs.cmu.edu )

	Peter Stuckey and Roland Yap
	Department of Computer Science,
	Monash University,
	Clayton, 3168 
	Victoria,
	AUSTRALIA
	( munnari!moncsbruce!pjs@uunet.UU.NET )
	( munnari!moncsbruce!roland@uunet.UU.NET )

Further information can be found in the following papers:

1.   J.  Jaffar   and   J-L.   Lassez,   "Constraint   Logic
     Programming",  Proc.  14th  ACM-POPL,  Munich,  January
     1987.

2.   J.  Jaffar   and   S.   Michaylov,   "Methodology   and
     Implementation  of  a  CLP  System",  Proc.  4th  ICLP,
     Melbourne, May 1987.

3.   N.C. Heintze, S. Michaylov and  P.J.  Stuckey,  "CLP(R)
     and  Some  Electrical  Engineering Problems", Proc. 4th
     ICLP, Melbourne, May 1987.

4.   C. Lassez, K. McAloon and  R.  Yap,  "Constraint  Logic
     Programming  and  Option  Trading",  IEEE  Expert, Fall
     Issue 1987.

Disclaimer: 
	While I am continuing to do research in this area, I no longer
	have any affiliation with Monash University. The licensing of the
	CLP(R) system is a non-commercial venture in which I have
	no involment beyond giving people pointers.