Interactive notebooks, such as provided by the Jupyter plat- form [ 2 ], are gaining traction in scientic computing, data science, and machine learning. Developing a Jupyter kernel machinery for a new language, however, requires consider- able eort. In this extended abstract, we present Bacatá, a language-parametric bridge between Jupyter and the Rascal language workbench [3 ]. Reusing existing language compo- nents, such as a parsers, interpreters, Read-Eval-Print Loop (REPLs) and autocomplete, Bacatá generates a Jupyter kernel machinery so that the DSL can be used in notebook form. We sketch the architecture of Bacatá and demonstrate it in action using a DSL for image processing, called Amalga.

Workshop on Domain-Specific Language Design and Implementation
Software Analysis and Transformation

Verano Merino, M., Vinju, J., & van der Storm, T. (2017). Bacatá: a generic notebook generator for DSLs. In Workshop on Domain-Specific Language Design and Implementation.