Rascal: From Algebraic Specification to Meta-Programming (Invited Paper)

Abstract

Algebraic specification has a long tradition in bridging the gap between specification and programming by making specifications executable. Building on extensive experience in designing, implementing and using specification formalisms that are based on algebraic specification and term rewriting (namely ASF and ASF+SDF), we are now focusing on using the best concepts from algebraic specification and integrating these into a new programming language: Rascal. This language is easy to learn by non-experts but is also scalable to very large meta-programming applications. We explain the algebraic roots of Rascal and its main application areas: software analysis, software transformation, and design and implementation of domain-specific languages. Some example applications in the domain of Model-Driven Engineering (MDE) are described to illustrate this.

Publication
Proceedings of the Second International Workshop on Algebraic Methods in Model-Based Software Engineering (AMMSE 2011)
Mark Hills
Mark Hills
Associate Professor

My research interests include programming languages, program analysis, and software engineering.