An Overview of P\(\rho \)Log

  • Conference paper
  • First Online:
Practical Aspects of Declarative Languages (PADL 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10137))

Included in the following conference series:

Abstract

This paper describes P\(\rho \)Log: a tool that combines Prolog with the \(\rho \)Log calculus. Such a combination brings strategy-controlled conditional transformation rules into logic programming. They operate on sequences of terms. Transformations may lead to several results, which can be explored by backtracking. Strategies provide a control on rule applications in a declarative way. They are programmable: users can construct complex strategies from simpler ones by special combinators. Different types of first- and second-order variables provide flexible control on selecting parts from sequences or terms. As a result, the obtained code is usually pretty compact and declaratively clear. In programs, P\(\rho \)Log-specific code can be intermixed with the standard Prolog code. The tool is implemented and tested in SWI-Prolog.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 35.99
Price includes VAT (United Kingdom)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 44.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://bruda.ca/emacs/prolog_mode_for_emacs.

References

  1. Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: piggybacking rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Berlin (2007). doi:10.1007/978-3-540-73449-9_5

    Chapter  Google Scholar 

  2. Belkhir, W., Giorgetti, A., Lenczner, M.: A symbolic transformation language and its application to a multiscale method. J. Symb. Comput. 65, 49–78 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  3. Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Vittek, M.: Elan: a logical framework based on computational systems. ENTCS 4, 35–50 (1996)

    MATH  Google Scholar 

  4. Caseau, Y., Josset, F., Laburthe, F.: CLAIRE: combining sets, search and rules to better express algorithms. TPLP 2(6), 769–805 (2002)

    MathSciNet  MATH  Google Scholar 

  5. Cirstea, H., Kirchner, C.: The rewriting calculus - parts I and II. Logic J. IGPL 9(3), 339–410 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  6. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Quesada, J.F.: Maude: specification and programming in rewriting logic. Theor. Comput. Sci. 285(2), 187–243 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  7. Coelho, J., Dundua, B., Florido, M., Kutsia, T.: A rule-based approach to XML processing and Web reasoning. In: Hitzler, P., Lukasiewicz, T. (eds.) RR 2010. LNCS, vol. 6333, pp. 164–172. Springer, Berlin (2010). doi:10.1007/978-3-642-15918-3_13

    Chapter  Google Scholar 

  8. Comon, H.: Completion of rewrite systems with membership constraints. Part II: constraint solving. J. Symb. Comput. 25(4), 421–453 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  9. Dembinski, P., Maluszynski, J.: And-parallelism with intelligent backtracking for annotated logic programs. In: Proceedings of 1985 Symposium on Logic Programming, pp. 29–38. IEEE-CS (1985)

    Google Scholar 

  10. Dundua, B., Kutsia, T., Marin, M.: Strategies in P\(\rho \)Log. In: Fernández, M. (ed.) 9th International Workshop on Reduction Strategies in Rewriting and Programming, WRS 2009, vol. 15 of EPTCS, pp. 32–43 (2009)

    Google Scholar 

  11. Dundua, B., Kutsia, T., Reisenberger-Hagmayer, K.: An overview of P\(\rho \)Log. RISC Report Series 16–05, RISC, University of Linz (2016)

    Google Scholar 

  12. Frühwirth, T.W.: Theory and practice of constraint handling rules. J. Log. Program. 37(1–3), 95–138 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  13. Kutsia, T.: Solving equations with sequence variables and sequence functions. J. Symb. Comput. 42(3), 352–388 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  14. Kutsia, T., Marin, M.: Matching with regular constraints. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 215–229. Springer, Berlin (2005). doi:10.1007/11591191_16

    Chapter  Google Scholar 

  15. Lloyd, J.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)

    Book  MATH  Google Scholar 

  16. Marin, M., Kutsia, T.: On the implementation of a rule-based programming system and some of its applications. In: Konev, B., Schmidt, R. (eds.) Proceedings of 4th International Workshop on the Implementation of Logics, WIL 2004, pp. 55–69 (2003)

    Google Scholar 

  17. Marin, M., Kutsia, T.: Foundations of the rule-based system \(\rho \)Log. J. Appl. Non-Classical Logics 16(1–2), 151–168 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  18. Marin, M., Piroi, F.: Rule-based programming with Mathematica. In: Proceedings of the 6th International Mathematica Symposium, Alberta, Canada (2004)

    Google Scholar 

  19. Monagan, M.B., Geddes, K.O., Heal, K.M., Labahn, G., Vorkoetter, S.M., McCarron, J., DeMarco, P.: Maple 10 programming guide. Maplesoft (2005)

    Google Scholar 

  20. Nguyen, P.: Meta-mining: a meta-learning framework to support the recommendation, planning and optimization of data mining workflows. Ph.D. thesis, Department of Computer Science, University of Geneva (2015)

    Google Scholar 

  21. van den Brand, M., van Deursen, A., Heering, J., de Jong, H., de Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P.A., Scheerder, J., Vinju, J.J., Visser, E., Visser, J.: The ASF+SDF meta-environment: a component-based language development environment. Electr. Notes Theor. Comput. Sci. 44(2), 3–8 (2001)

    Article  Google Scholar 

  22. Visser, E.: Stratego: a language for program transformation based on rewriting strategies. In: Middeldorp, A. (ed.) RTA 2001. LNCS, vol. 2051, pp. 357–361. Springer, Berlin (2001). doi:10.1007/3-540-45127-7_27

    Chapter  Google Scholar 

  23. Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-prolog. Theor. Pract. Logic Program. 12(1–2), 67–96 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  24. Wolfram, S.: The Mathematica Book, 5th edn. Wolfram-Media, Champaign (2003)

    MATH  Google Scholar 

Download references

Acknowledgments

This research is partially supported by the Austrian Science Fund (FWF) under the projects P 24087-N18 and P 28789-N32, and by the Rustaveli National Science Foundation (GSRNSF) under the grants FR/508/4-120/14 and YS15 2.1.2 70.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Temur Kutsia .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Dundua, B., Kutsia, T., Reisenberger-Hagmayer, K. (2017). An Overview of P\(\rho \)Log. In: Lierler, Y., Taha, W. (eds) Practical Aspects of Declarative Languages. PADL 2017. Lecture Notes in Computer Science(), vol 10137. Springer, Cham. https://doi.org/10.1007/978-3-319-51676-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-51676-9_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-51675-2

  • Online ISBN: 978-3-319-51676-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation