Skip to main content

Adding Linear Constraints over Real Numbers to Curry

  • Conference paper
  • First Online:
Functional and Logic Programming (FLOPS 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2024))

Included in the following conference series:

Abstract

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.

Acknowledgement

I would like to thank the anonymous referees for their useful feedback and comments to the paper.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. A. Colmerauer.Opening the Prolog III universe. BYTE, 12(9):177–182, August 1987.

    Google Scholar 

  5. 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. 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. Curry: An integrated functional logic language, (version 0.7). http://www-i2.informatik.rwth-aachen.de/~hanus/curry, 2000.

  8. 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. M. Hanus and F. Steiner. Controlling search in functional logic programs. In Proc. PLILP’98, 1998.

    Google Scholar 

  10. 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. J. Jaffar, S. Michaylov, P.J. Stuckey, and R. Yap. The CLP(ℜ) language and system. Technical report, IBM, 1990.

    Google Scholar 

  12. Thomas Johnsson. Lambda lifting. transforming programs to recursive equations. In Proc. FPLCA 1985, pages 190–203. Springer LNCS 201, 1985.

    Google Scholar 

  13. 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. W. Lux. Implementing encapsulated search for a lazy functional logic language. InProc. FLOPS 99, pages 100–113. Springer LNCS 1722, 1999.

    MATH  Google Scholar 

  15. 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. 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.

    Article  Google Scholar 

  17. U. Reddy. Narrowing as the operational semantics of functional languages. In Proc. ILPS’85, pages 138–151, 1985.

    Google Scholar 

  18. G. Smolka. The Oz programming model. In J. van Leeuwen, editor, Current Trends in Computer Science. Springer LNCS 1000, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lux, W. (2001). Adding Linear Constraints over Real Numbers to Curry. In: Kuchen, H., Ueda, K. (eds) Functional and Logic Programming. FLOPS 2001. Lecture Notes in Computer Science, vol 2024. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44716-4_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-44716-4_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41739-2

  • Online ISBN: 978-3-540-44716-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics