Dear environmentalists, This week’s PEM Colloquium presentation is about an experimental replication that supports the design of Rascal. You are all welcome! Date: 25 January 2013 Time: 11:00-12:00 Room: CWI, L017 Speaker: Jasper Timmer Title: Modularizing a DSL implementation with Rascal Abstract: see below ---------------------------------------------------------------------- Modularizing a DSL implementation with Rascal To make compilers more maintainable, one could build the language implementation in a modular way. This would mean adding only new files to the existing base language. Rascal is a language workbench that supports this, as claimed by its developers. To test this, a Domain Specific Language (DSL) is build to verify this claim. The language built, is a re-implementation of the existing DSL Derric, a forensic DSL to describe file formats and to generate a Java class to test files if they conform to this format. During implementation a number of issues came forward. There is no override-keyword for functions in Rascal, developers cannot add cases to switch or visit statements later, it is not possible to rename imports, string templates are closed for modification and modules are copied often just to change just one import. In this thesis for four of the five issues, modification of Rascal is suggested. Only the closed switch and visit statements can already be remedied by using Pattern Based Dispatch, a way of defining a function multiple times, based on the input value. This research concludes by confirming the claim by the creators of Rascal. ---------------------------------------------------------------------- http://event.cwi.nl/pem/ ---------------------------------------------------------------------- Yours, Vadim.