Adding Linear Constraints over Real Numbers to Curry

  • Wolfgang Lux
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2024)


Constraint logic programming languages are an extension of logic programming languages where unification has been replaced by constraint solving. Constraint solving techniques allow to reduce the search space of a logic program dramatically and have been shown to be useful in a wide area of application domains.

Functional-logic languages are a different branch in the group of declarative languages, which combine the reduction of expressions with unification. In contrast to purely functional languages, functional-logic languages allow for computations with partially known data and offer builtin search strategies, allowing for a more concise formulation of programs. Compared to purely logic languages, functional-logic languages provide functions and a declarative approach to I/O, thus avoiding the need for non-declarative language constructs (e.g. the ubiquitous cut in Prolog). In this paper we will consider the integration of constraint programming and functional-logic programming in the context of the language Curry. Curry is a multi-paradigm declarative language, which aims at unifying the different lines of research in functional-logic programming. In particular, we have chosen the domain of linear constraints over real numbers and will describe the semantic and operational issues of this integration.


Logic Program Linear Constraint Task Graph Optimization Constraint Linear Expression 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AEH97]
    S. Antoy, R. Echahed, and M. Hanus. Parallel evaluation strategies for functional logic languages. In Proc. ICLP ’97, pages 138–152. MIT Press, 1997.Google Scholar
  2. [AHLU96]
    P. Arenas-Sánchez, T. Hortalá-González, F.J. López-Fraguas, and E. Ullán-Hernández. Functional logic programming with real numbers. In Proc. JICSLP’96 Post-Conference Workshop on Multi-Paradigm Logic Programming. TR 96-28, Technical University Berlin, 1996.Google Scholar
  3. [ALN87]
    H. Aït-Kaci, P. Lincoln, and R. Nasr. Le Fun: Logic, equations, and functions. In Proc. ILPS ’87, pages 17–23, 1987.Google Scholar
  4. [Col87]
    A. Colmerauer.Opening the Prolog III universe. BYTE, 12(9):177–182, August 1987.Google Scholar
  5. [CWA+95]
    M. Carlsson, J. Widéxn, J. Andersson, S. Andersson, K. Boortz, H. Nilsson, and T. Sjöland. Sicstus prolog user’s manual. Technical Report T91:15, SICS, June 1995.Google Scholar
  6. [Fag93]
    François Fages. On the semantics of optimization predicates in clp languages. In Proc. FSTTCS 1993, pages 193–204. Springer LNCS 761, 1993.Google Scholar
  7. [Han00]
    Curry: An integrated functional logic language, (version 0.7)., 2000.
  8. [HPW92]
    P. Hudak, S. Peyton Jones, and P. Wadler. Report on the programming language Haskell (version 1.2). SIGPLAN Notices, 27(5), 1992.Google Scholar
  9. [HS98]
    M. Hanus and F. Steiner. Controlling search in functional logic programs. In Proc. PLILP’98, 1998.Google Scholar
  10. [IvH93]
    J.-L. Imbert and P. van Hentenryck. On the handling of disequations in clp over linear rational arithmetic. In F. Benhamou and A. Colmerauer, editors, Constraint Logic Programming, Selected Research, pages 49–71. MIT Press, 1993.Google Scholar
  11. [JMSY90]
    J. Jaffar, S. Michaylov, P.J. Stuckey, and R. Yap. The CLP(ℜ) language and system. Technical report, IBM, 1990.Google Scholar
  12. [Joh85]
    Thomas Johnsson. Lambda lifting. transforming programs to recursive equations. In Proc. FPLCA 1985, pages 190–203. Springer LNCS 201, 1985.Google Scholar
  13. [LH99]
    F.J. López-Fraguas and T. Hortalá-González. TOY: A multiparadigm declarative system. In Proc. RTA’99, pages 244–247. Springer LNCS 1631, 1999.Google Scholar
  14. [Lux99]
    W. Lux. Implementing encapsulated search for a lazy functional logic language. InProc. FLOPS 99, pages 100–113. Springer LNCS 1722, 1999.Google Scholar
  15. [Lux00]
    W. Lux. Adding linear constraints over real numbers to curry. In Proc. WFLP 2000. TR 2000.2039, Universidad Politecnica de Valencia, 2000.Google Scholar
  16. [MS93]
    K. Marriott and P. Stuckey. Semantics of constraint logic programs with optimization. ACM Letters on Programming Languages and Systems, 2(1-4): 197–212, 1993.CrossRefGoogle Scholar
  17. [Red85]
    U. Reddy. Narrowing as the operational semantics of functional languages. In Proc. ILPS’85, pages 138–151, 1985.Google Scholar
  18. [Smo95]
    G. Smolka. The Oz programming model. In J. van Leeuwen, editor, Current Trends in Computer Science. Springer LNCS 1000, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Wolfgang Lux
    • 1
  1. 1.Universität MünsterMünster

Personalised recommendations