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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
Belkhir, W., Giorgetti, A., Lenczner, M.: A symbolic transformation language and its application to a multiscale method. J. Symb. Comput. 65, 49–78 (2014)
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Vittek, M.: Elan: a logical framework based on computational systems. ENTCS 4, 35–50 (1996)
Caseau, Y., Josset, F., Laburthe, F.: CLAIRE: combining sets, search and rules to better express algorithms. TPLP 2(6), 769–805 (2002)
Cirstea, H., Kirchner, C.: The rewriting calculus - parts I and II. Logic J. IGPL 9(3), 339–410 (2001)
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)
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
Comon, H.: Completion of rewrite systems with membership constraints. Part II: constraint solving. J. Symb. Comput. 25(4), 421–453 (1998)
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)
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)
Dundua, B., Kutsia, T., Reisenberger-Hagmayer, K.: An overview of P\(\rho \)Log. RISC Report Series 16–05, RISC, University of Linz (2016)
Frühwirth, T.W.: Theory and practice of constraint handling rules. J. Log. Program. 37(1–3), 95–138 (1998)
Kutsia, T.: Solving equations with sequence variables and sequence functions. J. Symb. Comput. 42(3), 352–388 (2007)
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
Lloyd, J.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)
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)
Marin, M., Kutsia, T.: Foundations of the rule-based system \(\rho \)Log. J. Appl. Non-Classical Logics 16(1–2), 151–168 (2006)
Marin, M., Piroi, F.: Rule-based programming with Mathematica. In: Proceedings of the 6th International Mathematica Symposium, Alberta, Canada (2004)
Monagan, M.B., Geddes, K.O., Heal, K.M., Labahn, G., Vorkoetter, S.M., McCarron, J., DeMarco, P.: Maple 10 programming guide. Maplesoft (2005)
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)
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)
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
Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-prolog. Theor. Pract. Logic Program. 12(1–2), 67–96 (2012)
Wolfram, S.: The Mathematica Book, 5th edn. Wolfram-Media, Champaign (2003)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)