From Rascal to JVM byte code: a play in several acts
As Rascal (https://www.rascal-mpl.org) is being applied to larger and larger problems in software analysis, software transformation and the construction of industrial domain-specific languages in domains as diverse as finance, forensics, privacy and gaming, the need for more and more speed becomes apparent.
In this presentation I will describe two consecutive efforts in building a Rascal to JVM byte code compiler. The first effort is based on a hand-written type checker and uses coroutines as execution mechanism for Rascal’s pattern matching. Although this compiler leads to faster execution and is being used we will analyze why it disappoints.
The second effort is work in progress and amounts to creating and applying TypePal (a new constraint-based type checking framework) for type checking and to replacing coroutines by a variant of continuations that can be efficiently mapped to the JVM. We expect that this second effort will bring Rascal’s performance close to that of Java.
Thu 22 Nov
|13:30 - 13:55|
|13:55 - 14:20|
Casper Bach PoulsenDelft University of Technology
|14:20 - 14:45|
|14:45 - 15:10|
Manuel ChakravartyTweag I/O & IOHK