Bacatá: A Language Parametric Notebook Generator (Tool Demo)Tool Demo
Interactive notebooks allow people to communicate and collaborate through a single rich document that might include live code, multimedia, computed results, and documentation, which is persisted as a whole for reproducibility. Notebooks are currently being used extensively in domains such as data science, data journalism, and machine learning. Constructing a notebook interface for a new language, however, requires a lot of effort. In this paper, we present Bacatá, a language parametric notebook generator for domain-specific languages (DSL) based on the Jupyter framework. Bacatá is designed so that language engineers may reuse existing language components (such as parsers, code generators, interpreters, etc.) as much as possible. We present the design of Bacatá and how DSL notebooks can be generated with minimum effort in the context of the Rascal metaprogramming system and language workbench. We demonstrate Bacatá’s utility by generating notebook interfaces for three languages, Halide* (a DSL for image processing), SweeterJS (an extended version of Javascript), and QL (a DSL for questionnaires). Our results show that notebooks generated by Bacatá often only require a few lines of code to wire existing components together.
Tue 6 Nov
15:30 - 17:30: SLE 2018 - Grammars & Metamodelling / Workbenches at Studio 1 Chair(s): Juan de LaraUniversidad Autónoma de Madrid | ||||||||||||||||||||||||||||||||||||||||||
15:30 - 16:00 Talk | Arvid ButtingSoftware Engineering RWTH Aachen University, Manuela DaliborSoftware Engineering, RWTH Aachen University, Gerrit LeonhardtSoftware Engineering, RWTH Aachen University, Bernhard RumpeRWTH Aachen University, Andreas WortmannRWTH Aachen University | |||||||||||||||||||||||||||||||||||||||||
16:00 - 16:20 Talk | Benoît LelandaisCEA/DAM/DIF, France, Marie-Pierre OudotCEA/DAM/DIF, France, Benoit CombemaleUniversity of Rennes 1 | |||||||||||||||||||||||||||||||||||||||||
16:20 - 16:40 Talk | Jasper DenkersTU Delft, Louis van GoolOcé Technologies B.V., Eelco VisserDelft University of Technology Link to publication DOI | |||||||||||||||||||||||||||||||||||||||||
16:40 - 17:00 Talk | Mauricio Verano MerinoTechnische Universiteit Eindhoven, Jurgen VinjuCentrum Wiskunde & Informatica / Technische Universiteit Eindhoven / SWAT.engineering BV, Tijs van der StormCWI & University of Groningen | |||||||||||||||||||||||||||||||||||||||||
17:00 - 17:20 Talk | Fabien CoulonUniversity of Toulouse / Obeo, Thomas DegueuleCentrum Wiskunde & Informatica, Tijs van der StormCWI & University of Groningen, Benoit CombemaleUniversity of Rennes 1 Pre-print |