Semantics engineering tools like Redex can be used to define, explore, and debug formal definitions of programming language semantics. However, such tools are often based on abstract syntax, which makes the definition of rules and the exploration of execution traces rather unfriendly. In this paper we introduce Credex, a library in the Rascal meta-programming language for defining small-step evaluation-context semantics, where terms and matching patterns are what-you-see-is-what-you-get. Credex employs parsing for decomposing terms into context and redex. Since Rascal’s grammar formalism is based on general parsing, a non-unique decomposition of a term literally corresponds to an ambiguous parse. We demonstrate the use of Credex, detail some aspects of its implementation, and discuss three case-studies.
Tijs van der Storm is senior researcher in the Software Analysis and Transformation (SWAT) group at Centrum Wiskunde & Informatica (CWI) in Amsterdam, and full professor in Software Engineering at the University of Groningen in Groningen. His research focuses on improving programmer experience through new and better software languages and developing the tools and techniques to engineer them in a modular and interactive fashion.
Wed 5 AprDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:40 - 11:00 | Session 1: Reflections & WorkbenchesEelco Visser Commemorative Symposium at Theatre Hall Chair(s): Jonathan Aldrich Carnegie Mellon University | ||
09:40 10mTalk | Eelco Visser as a Typographic Designer Eelco Visser Commemorative Symposium Paul Klint Centrum Wiskunde & Informatica | ||
09:50 10mTalk | Reflections on the Birth of Spoofax Eelco Visser Commemorative Symposium Karl Trygve Kalleberg KolibriFX AS | ||
10:00 10mTalk | Spoofax at Oracle: Domain-Specific Language Engineering for Large-Scale Graph Analytics Eelco Visser Commemorative Symposium Houda Boukham Mohammed V University in Rabat, Ecole Mohammadia d'Ingénieurs, Oracle Labs, Guido Wachsmuth Oracle Labs, Toine Hartman Oracle Labs, Hamza Boucherit Oracle Labs, Oskar van Rest Oracle, Hassan Chafi Oracle Labs, Sungpack Hong Oracle Labs, Martijn Dwars Oracle Labs, Arnaud Delamare Oracle Labs, Dalila Chiadmi Mohammed V University in Rabat, Ecole Mohammadia d'Ingénieurs | ||
10:10 10mTalk | The Importance of Being Eelco Eelco Visser Commemorative Symposium Andrew Black Portland State University, Kim Bruce Pomona College, James Noble Research & Programming | ||
10:20 10mTalk | Injecting Language Workbench Technology into Mainstream Languages Eelco Visser Commemorative Symposium DOI Pre-print | ||
10:30 10mTalk | Semantics Engineering with Concrete Syntax Eelco Visser Commemorative Symposium Tijs van der Storm CWI & University of Groningen | ||
10:40 10mTalk | Eelco Visser: The Oregon Connection Eelco Visser Commemorative Symposium Andrew Tolmach Portland State University | ||
10:50 10mOther | Session closing Eelco Visser Commemorative Symposium |