Skip to main content

Integrating efficient records into concurrent constraint programming

  • Constraints
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1996)

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

  • 155 Accesses

Abstract

We show how to implement efficient records in constraint logic programming (CLP) and its generalization concurrent constraint programming (CCP). Records can be naturally integrated into CCP as a new constraint domain. The implementation provides the added expressive power of concurrency and fine-grained constraints over records, yet does not pay for this expressivity when it is not used. In addition to traditional record operations, our implementation allows to compute with partiallyknown records. This fine granularity is useful for natural-language and knowledge-representation applications. The paper describes the implementation of records in the DFKI Oz system. Oz is a higher-order CCP language with encapsulated search. We show that the efficiency of records in CCP is competitive with modern Prolog implementation technology and that our implementation provides improved performance for natural-language applications.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, 1991.

    Google Scholar 

  2. Hassan Aït-Kaci and Pat Lincoln. LIFE: A natural language for natural language. Technical Report ACA-ST-074-88, MCC, Austin, TX, 1988.

    Google Scholar 

  3. Hassan Aït-Kaci, Andreas Podelski, and Gert Smolka. A feature-based constraint system for logic programming with entailment. In 5th FGCS, pages 1012–1022, 1992.

    Google Scholar 

  4. L. Peter Deutsch. Efficient implementation of the Smalltalk-80 system. In 11th Principles of Programming Languages, January 1984.

    Google Scholar 

  5. Gerard Ellis and Peter Van Roy. Compilation of matching in LIFE. DEC PRL draft report, May 1992.

    Google Scholar 

  6. Gregor Erbach and Suresh Manandhar. Visions for logic-based natural language processing. In Workshop on the Future of Logic Programming, ILPS 95, December 1995.

    Google Scholar 

  7. Seth Copen Goldstein. An abstract machine to implement functions in LIFE. DEC PRL technical note 18, January 1993.

    Google Scholar 

  8. Michael J. Maher. Logic semantics for a class of committed-choice programs. In Jean-Louis Lassez, editor, Logic Programming, Proceedings of the Fourth International Conference, pages 858–876. MIT Press, 1987.

    Google Scholar 

  9. David Maier and David Scott Warren. Computing with Logic, Logic Programming with Prolog. Benjamin Cummings, 1988.

    Google Scholar 

  10. Michael Mehl, Ralf Scheidhauer, and Christian Schulte. An Abstract Machine for Oz. In Manuel Hermenegildo and S. Doaitse Swierstra, editors, Programming Languages: Implementations, Logics and Programs, 7th International Symposium, PLILP'95, Lecture Notes in Computer Science, vol. 982, pages 151–168, Utrecht, The Netherlands, September 1995. Springer-Verlag.

    Google Scholar 

  11. Micha Meier. Better later than never. In Implementation of Logic Programming Systems, pages 151–165. Kluwer Academic Publishers, 1994.

    Google Scholar 

  12. Richard Meyer. Compiling LIFE. DEA report, DEC PRL draft report, September 1993.

    Google Scholar 

  13. Richard Meyer, Bruno Dumant, and Peter Van Roy. The Half-Life 0.1 system. Available at http://ps-www.dfki.uni-sb.de/∼vanroy/halflife.html, 1994.

    Google Scholar 

  14. Andreas Podelski and Peter Van Roy. The Beauty and the Beast algorithm: Quasi-linear incremental tests of entailment and disentailment over trees. In 11th ILPS, pages 359–374, November 1994.

    Google Scholar 

  15. SICS Programming Systems Group. SICStus Prolog User's Manual. Swedish Institute of Computer Science, 1995.

    Google Scholar 

  16. DFKI Programming Systems Lab. DFKI Oz System and Documentation. German Research Center for Artificial Intelligence (DFKI), 1995.

    Google Scholar 

  17. Vijay A. Saraswat. Concurrent Constraint Programming. MIT Press, 1993.

    Google Scholar 

  18. Gert Smolka. The Oz programming model. In Jan van Leeuwen, editor, Computer Science Today, Lecture Notes in Computer Science, vol. 1000, pages 324–343. Springer-Verlag, Berlin, 1995.

    Google Scholar 

  19. Gert Smolka and Ralf Treinen. Records for logic programming. Journal of Logic Programming, 18(3):229–258, April 1994.

    Google Scholar 

  20. Ralf Treinen. Feature constraints with first-class features. In Andrzej M. Borzyszkowski and Stefan Sokolowski, editors, Mathematical Foundations of Computer Science, Lecture Notes in Computer Science, vol. 711, pages 734–743, Gdańsk, Poland, 30 August–3 September 1993. Springer-Verlag.

    Google Scholar 

  21. Ralf Treinen. Feature trees over arbitrary structures. Studies in Logic, Language and Information. 1995. To appear.

    Google Scholar 

  22. Peter Van Roy. 1983–1993: The wonder years of sequential Prolog implementation. Journal of Logic Programming, 19/20:385–441, May/July 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Herbert Kuchen S. Doaitse Swierstra

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Van Roy, P., Mehl, M., Scheidhauer, R. (1996). Integrating efficient records into concurrent constraint programming. In: Kuchen, H., Doaitse Swierstra, S. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1996. Lecture Notes in Computer Science, vol 1140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61756-6_102

Download citation

  • DOI: https://doi.org/10.1007/3-540-61756-6_102

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61756-3

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics