Advertisement

A Calculus for Language Transformations

  • Benjamin MouradEmail author
  • Matteo Cimini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12011)

Abstract

In this paper we propose a calculus for expressing algorithms for programming languages transformations. We present the type system and operational semantics of the calculus, and we prove that it is type sound. We have implemented our calculus, and we demonstrate its applicability with common examples in programming languages. As our calculus manipulates inference systems, our work can, in principle, be applied to logical systems.

References

  1. 1.
    Ciobâcă, Ş.: From small-step semantics to big-step semantics, automatically. In: Johnsen, E.B., Petre, L. (eds.) IFM 2013. LNCS, vol. 7940, pp. 347–361. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-38613-8_24CrossRefGoogle Scholar
  2. 2.
    Danvy, O.: Defunctionalized interpreters for programming languages. In: Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming, ICFP 2008, pp. 131–142. ACM, New York (2008)Google Scholar
  3. 3.
    Erdweg, S., Giarrusso, P.G., Rendel, T.: Language composition untangled. In: LDTA 2012, pp. 7:1–7:8. ACM, New York (2012)Google Scholar
  4. 4.
    Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  5. 5.
    Fowler, M.: Language workbenches: the killer-app for domain specific languages? (2005). http://www.martinfowler.com/articles/languageWorkbench.html
  6. 6.
    Kahn, G.: Natural semantics. In: Brandenburg, F.J., Vidal-Naquet, G., Wirsing, M. (eds.) STACS 1987. LNCS, vol. 247, pp. 22–39. Springer, Heidelberg (1987).  https://doi.org/10.1007/BFb0039592CrossRefGoogle Scholar
  7. 7.
    Mourad, B., Cimini, M.: A calculus for language transformations (2019). Technical report. arXiv:1910.11924 [cs.PL]
  8. 8.
    Mourad, B., Cimini, M.: L-Tr (2019). http://www.cimini.info/LTR/index.html
  9. 9.
    Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)zbMATHGoogle Scholar
  10. 10.
    Plotkin, G.D.: A structural approach to operational semantics. DAIMI report FN-19, Computer Science Department of Aarhus University (1981)Google Scholar
  11. 11.
    Rosu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Log. Algebraic Program. 79(6), 397–434 (2010)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.University of Massachusetts LowellLowellUSA

Personalised recommendations