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.
Preview
Unable to display preview. Download preview PDF.
References
Hassan Aït-Kaci. Warren's Abstract Machine, A Tutorial Reconstruction. MIT Press, 1991.
Hassan Aït-Kaci and Pat Lincoln. LIFE: A natural language for natural language. Technical Report ACA-ST-074-88, MCC, Austin, TX, 1988.
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.
L. Peter Deutsch. Efficient implementation of the Smalltalk-80 system. In 11th Principles of Programming Languages, January 1984.
Gerard Ellis and Peter Van Roy. Compilation of matching in LIFE. DEC PRL draft report, May 1992.
Gregor Erbach and Suresh Manandhar. Visions for logic-based natural language processing. In Workshop on the Future of Logic Programming, ILPS 95, December 1995.
Seth Copen Goldstein. An abstract machine to implement functions in LIFE. DEC PRL technical note 18, January 1993.
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.
David Maier and David Scott Warren. Computing with Logic, Logic Programming with Prolog. Benjamin Cummings, 1988.
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.
Micha Meier. Better later than never. In Implementation of Logic Programming Systems, pages 151–165. Kluwer Academic Publishers, 1994.
Richard Meyer. Compiling LIFE. DEA report, DEC PRL draft report, September 1993.
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.
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.
SICS Programming Systems Group. SICStus Prolog User's Manual. Swedish Institute of Computer Science, 1995.
DFKI Programming Systems Lab. DFKI Oz System and Documentation. German Research Center for Artificial Intelligence (DFKI), 1995.
Vijay A. Saraswat. Concurrent Constraint Programming. MIT Press, 1993.
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.
Gert Smolka and Ralf Treinen. Records for logic programming. Journal of Logic Programming, 18(3):229–258, April 1994.
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.
Ralf Treinen. Feature trees over arbitrary structures. Studies in Logic, Language and Information. 1995. To appear.
Peter Van Roy. 1983–1993: The wonder years of sequential Prolog implementation. Journal of Logic Programming, 19/20:385–441, May/July 1994.
Author information
Authors and Affiliations
Editor information
Rights 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