Category:Rascal: Difference between revisions

From Rosetta Code
Content added Content deleted
No edit summary
No edit summary
Line 11: Line 11:


Rascal is a [http://www.rascal-mpl.org/Rascal/RascalDomain domain specific] language for source code analysis and manipulation a.k.a. meta-programming. It is currently being developed and tested at [http://www.cwi.nl/ CWI]. No formal release has been made yet, but alpha quality "previews" are available on the [http://www.rascal-mpl.org/Rascal/Download Download] page.<ref name="The Rascal Project Website">http://www.rascal-mpl.org/</ref>
Rascal is a [http://www.rascal-mpl.org/Rascal/RascalDomain domain specific] language for source code analysis and manipulation a.k.a. meta-programming. It is currently being developed and tested at [http://www.cwi.nl/ CWI]. No formal release has been made yet, but alpha quality "previews" are available on the [http://www.rascal-mpl.org/Rascal/Download Download] page.<ref name="The Rascal Project Website">http://www.rascal-mpl.org/</ref>

==Facts==
Here's a list of facts about Rascal that you might find interesting:

# Rascal is the successor of the [http://www.meta-environment.org/ ASF+SDF Meta-Environment].
# Like [http://www.asfsdf.org/ ASF+SDF], it fully supports embedded concrete syntax fragments for "syntax safe" matching and construction of source code.
# Like [http://www.stringtemplate.org/ StringTemplate], it supports recursive string templates for code generation in the absence of a context-free grammar.
# [http://www.tobiasart.eu/ Tobias Baanders] designed the Rascal logo.
# It employs a parsing architecture inspired by Scott and Johnstone's GLL parsing.
# It's fundamental run-time data representation and manipulation API (pdb.values) is a part of [http://www.eclipse.org/imp/ Eclipse IMP].
# PDB.values was inspired (mostly) by the [http://www.meta-environment.org/Meta-Environment/ATerms ATerm library] and [http://www.meta-environment.org/twiki/login/Meta-Environment/RScript?origurl=%2FMeta-Environment%2FRScript RScript].
# We used Rascal itself to transform its Java-based interpreter from the Visitor design pattern to the Interpreter design pattern automagically.


==References==
==References==

Revision as of 15:58, 29 May 2012

Language
Rascal
This programming language may be used to instruct a computer to perform a task.
Official website
Execution method: Interpreted
Garbage collected: Yes
Parameter passing methods: By value
Type safety: Safe
Type strength: Strong
Type expression: Partially implicit
Type checking: Dynamic
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using Rascal.

Rascal is a domain specific language for source code analysis and manipulation a.k.a. meta-programming. It is currently being developed and tested at CWI. No formal release has been made yet, but alpha quality "previews" are available on the Download page.[1]

Facts

Here's a list of facts about Rascal that you might find interesting:

  1. Rascal is the successor of the ASF+SDF Meta-Environment.
  2. Like ASF+SDF, it fully supports embedded concrete syntax fragments for "syntax safe" matching and construction of source code.
  3. Like StringTemplate, it supports recursive string templates for code generation in the absence of a context-free grammar.
  4. Tobias Baanders designed the Rascal logo.
  5. It employs a parsing architecture inspired by Scott and Johnstone's GLL parsing.
  6. It's fundamental run-time data representation and manipulation API (pdb.values) is a part of Eclipse IMP.
  7. PDB.values was inspired (mostly) by the ATerm library and RScript.
  8. We used Rascal itself to transform its Java-based interpreter from the Visitor design pattern to the Interpreter design pattern automagically.

References