Abstract
We describe and compare design choices for meta-predicate semantics, as found in representative Prolog predicate-based module systems and in Logtalk. We look at the consequences of these design choices from a pragmatic perspective, discussing explicit qualification semantics, computational reflection support, expressiveness of meta-predicate directives, meta-predicate definitions safety, portability of meta-predicate definitions, and meta-predicate performance. We also describe how to extend the usefulness of meta-predicate definitions. Our aim is to provide useful insights to discuss meta-predicate semantics and portability issues based on actual implementations and common usage patterns.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Moura, P.: Logtalk – Design of an Object-Oriented Logic Programming Language. PhD thesis, Department of Computer Science, University of Beira Interior, Portugal (September 2003)
Moura, P.: Logtalk 2.43.2 User and Reference Manuals (October 2011)
Moura, P.: Secure Implementation of Meta-predicates. In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol. 5418, pp. 269–283. Springer, Heidelberg (2009)
ISO/IEC: International Standard ISO/IEC 13211-2 Information Technology — Programming Languages — Prolog — Part II: Modules. ISO/IEC (2000)
O’Keefe, R.: An Elementary Prolog Library, http://www.cs.otago.ac.nz/staffpriv/ok/pllib.html
Swedish Institute for Computer Science: Quintus Prolog User’s Manual (Release 3.5). Swedish Institute for Computer Science (December 2003)
Moura, P. (ed.): ISO/IEC DTR 13211–5:2007 Prolog Multi-threading predicates, http://logtalk.org/plstd/threads.pdf
ISO/IEC: International Standard ISO/IEC 13211-1 Information Technology — Programming Languages — Prolog — Part I: General core. ISO/IEC (1995)
Bueno, F., Cabeza, D., Carro, M., Hermenegildo, M.V., López, P., Puebla, G.: Ciao Prolog System Manual
Cheadle, A.M., Harvey, W., Sadler, A.J., Schimpf, J., Shen, K., Wallace, M.G.: ECLiPSe: A tutorial introduction. Technical Report IC-Parc-03-1, IC-Parc, Imperial College, London (2003)
Wielemaker, J.: An overview of the SWI-Prolog programming environment. In: Mesnard, F., Serebenik, A. (eds.) Proceedings of the 13th International Workshop on Logic Programming Environments, Heverlee, Belgium, pp. 1–16. Katholieke Universiteit Leuven (December 2003); CW 371
Cabeza, D., Hermenegildo, M.V.: A New Module System for Prolog. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 131–148. Springer, Heidelberg (2000)
Nadathur, G., Miller, D.: An Overview of λProlog. In: Fifth International Logic Programming Conference, Seattle, pp. 810–827. MIT Press (August 1988)
Neumerkel, U.: Lambdas in ISO Prolog, http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/ISO-Hiord
Group, T.X.R.: The XSB Programmer’s Manual: version 3.3 (April 2011)
Yang, G., Kifer, M.: Flora-2: User’s manual (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Moura, P. (2012). Meta-predicate Semantics. In: Vidal, G. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 2011. Lecture Notes in Computer Science, vol 7225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32211-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-32211-2_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32210-5
Online ISBN: 978-3-642-32211-2
eBook Packages: Computer ScienceComputer Science (R0)