2011
DOI: 10.4204/eptcs.56.2
|View full text |Cite
|
Sign up to set email alerts
|

Rascal: From Algebraic Specification to Meta-Programming

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 a… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2012
2012
2024
2024

Publication Types

Select...
6
1
1

Relationship

2
6

Authors

Journals

citations
Cited by 11 publications
(7 citation statements)
references
References 30 publications
0
7
0
Order By: Relevance
“…Users are not forced to use the language for all components, and are actively helped by the system to connect to other systems. We call Rascal therefore a programming language, rather than a specification formalism [46].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Users are not forced to use the language for all components, and are actively helped by the system to connect to other systems. We call Rascal therefore a programming language, rather than a specification formalism [46].…”
Section: Discussionmentioning
confidence: 99%
“…In earlier work [46] we discussed the evolution of Rascal from its origins in the ASF+SDF and RSCRIPT systems. Some of the material in this paper, especially in Section 2, is based on this work, including the Rascal examples shown for illustration.…”
Section: Related Workmentioning
confidence: 99%
“…The syntax features (grammar definition and parsing) were initially directly based on SDF [11], but the notation has changed, the expressivity has increased (cf., earlier work discusses this evolution [33]) and we are at the moment developing a new parsing technology. The features related to analysis are mostly based on relational calculus and on relational algebra and logic programming systems such as Crocopat [34], Grok [35], and RScript [12], with some influence from CodeSurfer [36].…”
Section: Related Workmentioning
confidence: 97%
“…Languages like Stratego [6,36], Maude [10,27] and ELAN [5] support a term rewriting approach with user-defined strategies to control the application of rules. Rascal [32] (and its predecessor ASF+DSF [33]) are closely related, using algebraic specifications as a basis to define programs, with traversal functions to control the application of rules. Tom [3] is an extension of Java with algebraic terms, rule definitions and a strategy language, thus allowing programmers to combine imperative object-oriented programming and strategic term rewriting.…”
Section: Related Workmentioning
confidence: 99%