Skip to main content

2020 | OriginalPaper | Buchkapitel

On the Effectiveness of Higher-Order Logic Programming in Language-Oriented Programming

verfasst von : Matteo Cimini

Erschienen in: Functional and Logic Programming

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

In previous work we have presented https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-59025-3_7/MediaObjects/489031_1_En_7_Figa_HTML.gif , a functional language-oriented programming language with languages as first-class-citizens. Language definitions can be bound to variables, passed to and returned by functions, and can be modified at run-time before being used. https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-59025-3_7/MediaObjects/489031_1_En_7_Figb_HTML.gif programs are compiled and executed in the higher-order logic programming language \(\lambda \)Prolog. In this paper, we describe our compilation methods, which highlight how the distinctive features of higher-order logic programming are a great fit in implementing a language-oriented programming language.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
To remain in line with \(\lambda \)Prolog terminology we use the terms hypothetical reasoning throughout this paper, see [24].
 
2
We are guaranteed that the rules use the predicate \(\mathtt {step}\) for reductions because the OCaml part of https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-59025-3_7/MediaObjects/489031_1_En_7_Figbq_HTML.gif (see the figure on Sect. 3, page 4) specifically generates the \(\lambda \)Prolog term to use \(\mathtt {step}\). Similarly for \(\mathtt {value}\).
 
Literatur
3.
Zurück zum Zitat Bousse, E., Degueule, T., Vojtisek, D., Mayerhofer, T., Deantoni, J., Combemale, B.: Execution framework of the gemoc studio (tool demo). In: Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering SLE 2016, pp. 84–89. ACM, New York (2016) Bousse, E., Degueule, T., Vojtisek, D., Mayerhofer, T., Deantoni, J., Combemale, B.: Execution framework of the gemoc studio (tool demo). In: Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering SLE 2016, pp. 84–89. ACM, New York (2016)
5.
Zurück zum Zitat Butting, A., Eikermann, R., Kautz, O., Rumpe, B., Wortmann, A.: Modeling language variability with reusable language components. In: Proceedings of the 22nd International Systems and Software Product Line Conference SPLC 2018. ACM, New York (2018) Butting, A., Eikermann, R., Kautz, O., Rumpe, B., Wortmann, A.: Modeling language variability with reusable language components. In: Proceedings of the 22nd International Systems and Software Product Line Conference SPLC 2018. ACM, New York (2018)
9.
Zurück zum Zitat Dunchev, C., Guidi, F., Coen, C.S., Tassi, E.: ELPI: fast, embeddable, \(\backslash \)lambda prolog interpreter. In: Proceedings of the Logic for Programming, Artificial Intelligence, and Reasoning - 20th International Conference, LPAR-20 2015, Suva, Fiji, 24–28 November 2015, pp. 460–468 (2015). https://doi.org/10.1007/978-3-662-48899-7_32 Dunchev, C., Guidi, F., Coen, C.S., Tassi, E.: ELPI: fast, embeddable, \(\backslash \)lambda prolog interpreter. In: Proceedings of the Logic for Programming, Artificial Intelligence, and Reasoning - 20th International Conference, LPAR-20 2015, Suva, Fiji, 24–28 November 2015, pp. 460–468 (2015). https://​doi.​org/​10.​1007/​978-3-662-48899-7_​32
11.
Zurück zum Zitat Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: LDTA 2012, pp. 7:1–7:8. ACM, New York (2012) Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: LDTA 2012, pp. 7:1–7:8. ACM, New York (2012)
16.
Zurück zum Zitat Goodman, N.D., Stuhlmüller, A.: The design and implementation of probabilistic programming languages (2014). http://dippl.org. Accessed 10 Feb 2020 Goodman, N.D., Stuhlmüller, A.: The design and implementation of probabilistic programming languages (2014). http://​dippl.​org. Accessed 10 Feb 2020
19.
20.
Zurück zum Zitat Kienzle, J., et al.: Concern-oriented language development (COLD): fostering reuse in language engineering. Comput. Lang. Syst. Struct. 54, 139–155 (2018) Kienzle, J., et al.: Concern-oriented language development (COLD): fostering reuse in language engineering. Comput. Lang. Syst. Struct. 54, 139–155 (2018)
24.
Zurück zum Zitat Miller, D., Nadathur, G.: Programming with Higher-Order Logic, 1st edn. Cambridge University Press, New York (2012)CrossRef Miller, D., Nadathur, G.: Programming with Higher-Order Logic, 1st edn. Cambridge University Press, New York (2012)CrossRef
27.
Zurück zum Zitat Rosu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Logic Algebraic Program. 79(6), 397–434 (2010)MathSciNetCrossRef Rosu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Logic Algebraic Program. 79(6), 397–434 (2010)MathSciNetCrossRef
28.
Zurück zum Zitat Sewell, P., et al.: Ott: effective tool support for the working semanticist. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming ICFP 2007, pp. 1–12. ACM, New York (2007) Sewell, P., et al.: Ott: effective tool support for the working semanticist. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming ICFP 2007, pp. 1–12. ACM, New York (2007)
29.
Zurück zum Zitat Stefanescu, A., Park, D., Yuwen, S., Li, Y., Rosu, G.: Semantics-based program verifiers for all languages. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, 30 October–4 November 2016, pp. 74–91 (2016). https://doi.org/10.1145/2983990.2984027 Stefanescu, A., Park, D., Yuwen, S., Li, Y., Rosu, G.: Semantics-based program verifiers for all languages. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2016, part of SPLASH 2016, Amsterdam, The Netherlands, 30 October–4 November 2016, pp. 74–91 (2016). https://​doi.​org/​10.​1145/​2983990.​2984027
30.
Zurück zum Zitat Vacchi, E., Cazzola, W.: Neverlang: a framework for feature-oriented language development. Comput. Lang. Syst. Struct. 43, 1–40 (2015) Vacchi, E., Cazzola, W.: Neverlang: a framework for feature-oriented language development. Comput. Lang. Syst. Struct. 43, 1–40 (2015)
31.
Zurück zum Zitat Ward, M.P.: Language oriented programming. Softw.-Concepts Tools 15, 147–161 (1995) Ward, M.P.: Language oriented programming. Softw.-Concepts Tools 15, 147–161 (1995)
Metadaten
Titel
On the Effectiveness of Higher-Order Logic Programming in Language-Oriented Programming
verfasst von
Matteo Cimini
Copyright-Jahr
2020
DOI
https://doi.org/10.1007/978-3-030-59025-3_7

Premium Partner