Metacasanova: An Optimized Meta-compiler for Domain-Specific Languages
Domain-Specific Languages (DSL’s) offer language-level abstractions that General-purpose languages do not offer, thereby speeding up the implementation of the solution of problems within a specific domain. Developers have the choice of developing a DSL by building an interpreter/compiler for it, which is a hard and time-consuming task, or embedding it in a host language, thus speeding up the development process but losing several advantages that having a dedicated compiler might bring. In this work we present a meta-compiler called Metacasanova, whose meta-language is based on operational semantics. We then propose a language extension with functors and modules that allows to embed the type system of a language definition inside the meta-type system of Metacasanova and improves the performance of manipulating data structures at run-time. Our result shows that Metacasanova drastically reduces the code lines required to develop a compiler, and that the running time of the Meta-program is improved by embedding the host Language type system in the meta-type system with the use of functors in the meta-language.
Tue 24 OctDisplayed time zone: Tijuana, Baja California change
15:30 - 17:00 | |||
15:30 25mTalk | FlowSpec: Declarative Dataflow Analysis Specification SLE DOI File Attached | ||
15:55 25mTalk | Metacasanova: An Optimized Meta-compiler for Domain-Specific Languages SLE Francesco Di Giacomo Università Ca' Foscari, Mohamed Abbadi Hogeschool Rotterdam, Agostino Cortesi Università Ca' Foscari Venezia, Pieter Spronck Tilburg University, Giuseppe Maggiore Hogeschool Rotterdam DOI | ||
16:20 25mTalk | Robust Programs with Filtered Iterators SLE Jiasi Shen Massachusetts Institute of Technology, Martin C. Rinard Massachusetts Institute of Technology DOI | ||
16:45 25mTalk | An Introduction to the Software Language Engineering Body of Knowledge SLE Vadim Zaytsev Raincode Labs, Belgium | ||
17:10 10mTalk | Energy Efficiency across Programming Languages: How do Energy, Time, and Memory Relate? SLE Rui Pereira HASLab/INESC TEC & Universidade do Minho, Marco Couto HASLab/INESC TEC & Universidade do Minho, Francisco Ribeiro HASLab/INESC TEC & Universidade do Minho, Rui Rua HASLab/INESC TEC & Universidade do Minho, Jácome Cunha NOVA-LINCS - Universidade Nova de Lisboa, João Paulo Fernandes Release/LISP, CISUC, João Saraiva University of Minho, Portugal DOI Media Attached |