Integrating efficient records into concurrent constraint programming

  • Peter Van Roy
  • Michael Mehl
  • Ralf Scheidhauer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1140)


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.


Concurrent Constraint Record Logic Programming Implementation Natural-Language Processing Prolog 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, 1991.Google Scholar
  2. 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. 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. 4.
    L. Peter Deutsch. Efficient implementation of the Smalltalk-80 system. In 11th Principles of Programming Languages, January 1984.Google Scholar
  5. 5.
    Gerard Ellis and Peter Van Roy. Compilation of matching in LIFE. DEC PRL draft report, May 1992.Google Scholar
  6. 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. 7.
    Seth Copen Goldstein. An abstract machine to implement functions in LIFE. DEC PRL technical note 18, January 1993.Google Scholar
  8. 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. 9.
    David Maier and David Scott Warren. Computing with Logic, Logic Programming with Prolog. Benjamin Cummings, 1988.Google Scholar
  10. 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. 11.
    Micha Meier. Better later than never. In Implementation of Logic Programming Systems, pages 151–165. Kluwer Academic Publishers, 1994.Google Scholar
  12. 12.
    Richard Meyer. Compiling LIFE. DEA report, DEC PRL draft report, September 1993.Google Scholar
  13. 13.
    Richard Meyer, Bruno Dumant, and Peter Van Roy. The Half-Life 0.1 system. Available at∼vanroy/halflife.html, 1994.Google Scholar
  14. 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. 15.
    SICS Programming Systems Group. SICStus Prolog User's Manual. Swedish Institute of Computer Science, 1995.Google Scholar
  16. 16.
    DFKI Programming Systems Lab. DFKI Oz System and Documentation. German Research Center for Artificial Intelligence (DFKI), 1995.Google Scholar
  17. 17.
    Vijay A. Saraswat. Concurrent Constraint Programming. MIT Press, 1993.Google Scholar
  18. 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. 19.
    Gert Smolka and Ralf Treinen. Records for logic programming. Journal of Logic Programming, 18(3):229–258, April 1994.Google Scholar
  20. 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. 21.
    Ralf Treinen. Feature trees over arbitrary structures. Studies in Logic, Language and Information. 1995. To appear.Google Scholar
  22. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Peter Van Roy
    • 1
  • Michael Mehl
    • 2
  • Ralf Scheidhauer
    • 2
  1. 1.Swedish Institute of Computer ScienceStockholmSweden
  2. 2.Programming Systems LabDFKISaarbrückenGermany

Personalised recommendations