Rascal is an experimental domain specific language for metaprogramming, such as static code analysis, program transformation, program generation and implementation of domain specific languages. It is a general meta language in the sense that it does not have a bias for any particular software language. It includes primitives from relational calculus and term rewriting. Its syntax and semantics are based on procedural (imperative) and functional programming.
|Developer(s)||SWAT  group at the CWI |
0.18.2 / 15 July 2020
|Operating system||Linux, Unix, Windows, Mac OS X|
|Type||program transformation system, program analysis system|
- Klint, Paul; van der Storm, Tijs; Vinju, Jurgen (2013), "RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation" (PDF), 2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation, 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM), Edmonton, Alberta, Canada, pp. 168–177, CiteSeerX 10.1.1.513.2410, doi:10.1109/SCAM.2009.28, ISBN 978-0-7695-3793-1, S2CID 206553849, retrieved 8 December 2015