297 research outputs found
Rascal, 10 years later
When we designed the first version of Rascal in 2009, we jokingly promised ourselves to only write a single paper on the language itself, and see it as vehicle for research from then on,—that one paper became the SCAM 2009 article, now awarded with the SCAM most influential paper award. Since then, Rascal has evolved significantly, and has been successfully applied in research, education, and industry. This extended abstract gives an overview of the impact of Rascal over the last 10 years, and looks at current and future developments
On the impact of DSL tools on the maintainability of language implementations
Does the use of DSL tools improve the maintainability of language implementations compared to implementations from scratch? We present empirical results on aspects of maintainability of six implementations of the same DSL using different languages (Java, JavaScript, C#) and DSL tools (ANTLR, OMeta, Microsoft Oslo). Our evaluation indicates that the maintainability of language implementations is indeed higher when constructed using DSL tools
Rascal: A domain specific language for source code analysis and manipulation
Many automated software engineering tools require tight integration of techniques for source code analysis and manipulation. State-of-the-art tools exist for both, but the domains have remained notoriously separate because different computational paradigms fit each domain best. This impedance mismatch hampers the development of each new problem solution since desired functionality and scalability can only be achieved by repeated, ad hoc, integration of different techniques.
Rascal is a domain-specific language that takes away most of this boilerplate by providing high-level integration of source code analysis and manipulation on the conceptual, syntactic, semantic and technical level. We give an overview of the language and assess its merits by implementing a complex refactoring
On the S-wave piD-scattering length in the relativistic field theory model of the deuteron
The S-wave scattering length of the strong pion-deuteron (pi D) scattering is
calculated in the relativistic field theory model of the deuteron suggested in
[1,2].The theoretical result agrees well with the experimental data. The
important role of the Delta-resonance contribution to the elastic pi
D-scattering is confirmed.Comment: 7 pages, no figures, accepted for publication in Z. Phys.
Rascal: From Algebraic Specification to Meta-Programming
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.Comment: In Proceedings AMMSE 2011, arXiv:1106.596
The Rascal meta-programming language - a lab for software analysis, transformation, generation & visualization
National audienceThis paper summarizes the goals and features of a do- main specific programming language called Rascal. On the one hand it is designed to facilitate software research -- research about software in general. On the other hand Rascal is applied to specific software portfolios as well, as a means to improve them and as a means to learn to understand them. Specifically, Rascal is used create tools that analyze, transform, generate or visualize source code of software products. Such tools are motivated by the need to im- prove quality of existing software or the need to lower its cost-of-ownership. More generally such tools are cre- ated to build laboratory experiments that observe and measure quality, or try and improve software quality, etc. In this paper we provide an overview of Rascal as a "domain specific language for meta programming". We first explain its goals and then its features. We end by highlighting some example applications in the area of software analysis and transformation
- …