Skip to main content

ELPI: Fast, Embeddable, \(\lambda \)Prolog Interpreter

  • Conference paper
  • First Online:
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9450))

Included in the following conference series:

Abstract

We present a new interpreter for \(\lambda \)Prolog that runs consistently faster than the byte code compiled by Teyjus, that is considered the best available implementation of \(\lambda \)Prolog. The key insight is the identification of a fragment of the language, which we call reduction-free fragment (\(\mathcal {L}_\lambda ^\beta \)), that occurs quite naturally in \(\lambda \)Prolog programs and that admits constant time reduction and unification rules.

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 EPUB and 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

References

  1. Asperti, A., Ricciotti, W., Sacerdoti Coen, C., Tassi, E.: Hints in unification. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 84–98. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  2. de Bruijn, N.G.: Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. In: Nederpelt, R.P., Geuvers, J.H., de Vrijer, R.C. (eds.) Selected Papers on Automath, pp. 375–388. North-Holland, Amsterdam (1994)

    Google Scholar 

  3. Gonthier, G., Asperti, A., Avigad, J., Bertot, Y., Cohen, C., Garillot, F., Le Roux, S., Mahboubi, A., O’Connor, R., Ould Biha, S., Pasca, I., Rideau, L., Solovyev, A., Tassi, E., Théry, L.: A machine-checked proof of the odd order theorem. In: Blazy, Sandrine, Paulin-Mohring, Christine, Pichardie, David (eds.) ITP 2013. LNCS, vol. 7998, pp. 163–179. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Gonthier, G., Ziliani, B., Nanevski, A., Dreyer, D.: How to make ad hoc proof automation less ad hoc. J. Funct. Program. 23(4), 357–401 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  5. Guidi, F.: The formal system \(\lambda \delta \). In: ToCL, vol. 11(1), pp. 1–37, November 2009

    Google Scholar 

  6. Guidi, F.: Verified representations of Landau’s “Grundlagen” in \(\lambda \delta \) and in the calculus of constructions (2015). http://lambdadelta.info/, Submitted to JFR

  7. Liang, C., Nadathur, G., Qi, X.: Choices in representation and reduction strategies for lambda terms in intensional contexts. JAR 33(2), 89–132 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  8. Miller, D.: A logic programming language with lambda-abstraction, function variables, and simple unification. J. Logic Comput. 1, 253–281 (1991)

    Article  Google Scholar 

  9. Miller, D., Nadathur, G.: Programming with Higher-Order Logic. Cambridge University Press, Cambridge (2012)

    Book  MATH  Google Scholar 

  10. Nadathur, G., Mitchell, D.J.: System description: Teyjus - a compiler and abstract machine based implementation of \(\lambda \) prolog. In: Ganzinger, Harald (ed.) CADE 1999. LNCS (LNAI), vol. 1632, pp. 287–291. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  11. Ridoux, O.: \(\lambda \)-Prolog de A a Z... ou presque. Habilitation à diriger des recherches, Université de Rennes 1 (1998)

    Google Scholar 

  12. Sozeau, M., Oury, N.: First-class type classes. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 278–293. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  13. van Benthem Jutting, L.S.: Checking Landau’s “Grundlagen” in the Automath system. In: Mathematical Centre Tracts, vol. 83. Mathematisch Centrum (1979)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cvetan Dunchev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dunchev, C., Guidi, F., Sacerdoti Coen, C., Tassi, E. (2015). ELPI: Fast, Embeddable, \(\lambda \)Prolog Interpreter. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2015. Lecture Notes in Computer Science(), vol 9450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48899-7_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48899-7_32

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48898-0

  • Online ISBN: 978-3-662-48899-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics