Nov. 10, 2016, 2 p.m.

Rascal is a domain-specific language specifically designed for processing source code. It is a modern language, featuring immutable data structures, inductive data types, pattern matching, backtracking, parametric polymorphism, higher-order functions and local type inference. It also includes various features helpful for working with programs as data, including support for concrete syntax handling, tree traversal operators, term rewriting, relational operations, fixed-point computation. In this talk, I will present Rascal from the perspective of a programming langauge researcher and say a few words about my experiences from using it.