Results 1 
3 of
3
The Rewriting Logic Semantics Project
 SOS 2005 PRELIMINARY VERSION
, 2005
"... Rewriting logic is a flexible and expressive logical framework that unifies denotational semantics and SOS in a novel way, avoiding their respective limitations and allowing very succinct semantic definitions. The fact that a rewrite theory’s axioms include both equations and rewrite rules provides ..."
Abstract

Cited by 39 (11 self)
 Add to MetaCart
Rewriting logic is a flexible and expressive logical framework that unifies denotational semantics and SOS in a novel way, avoiding their respective limitations and allowing very succinct semantic definitions. The fact that a rewrite theory’s axioms include both equations and rewrite rules provides a very useful “abstraction knob” to find the right balance between abstraction and observability in semantic definitions. Such semantic definitions are directly executable as interpreters in a rewriting logic language such as Maude, whose generic formal tools can be used to endow those interpreters with powerful program analysis capabilities.
An Executable Rewriting Logic Semantics of KScheme, in: D. Dube (Ed
 Laval University
, 2007
"... This paper presents an executable rewriting logic semantics of KScheme, a dialect of Scheme based (partially) on the informal definition given in the R 5 RS report (Kelsey et al. 1998). The presented semantics follows the K language definitional style (Ros¸u 2005 and 2006) and is a pure rewriting l ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This paper presents an executable rewriting logic semantics of KScheme, a dialect of Scheme based (partially) on the informal definition given in the R 5 RS report (Kelsey et al. 1998). The presented semantics follows the K language definitional style (Ros¸u 2005 and 2006) and is a pure rewriting logic specification (Meseguer 1992) containing 772 equations and 1 rewrite rule, so it can also be regarded as an algebraic denotational specification with an initial model semantics. Rewriting logic specifications can be executed on common (contextinsensitive) rewrite engines, provided that equations are oriented into rewrite rules, typically from lefttoright. While in theory rewriting logic specifications can let certain behaviors underspecified, thus allowing more models, in practice they need to completely specify all the desired behaviors if one wants to use their associated rewrite systems as “interpreters”, or “implementations”. To become executable, KScheme overspecifies certain features left undefined on purpose in R 5 RS. In spite of overspecifying for executability reasons, the rewriting logic semantics in this paper is the most complete formal definition of a language in the Scheme family that we are aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. The presented executable definition of KScheme can serve as a platform for experimentation with variants and extensions of Scheme, for example concurrency. The Maude system is used in this paper, but other rewrite engines could have been used as well. Even though, on paper, K rewritebased definitions tend to be as compact and highlevel as reductionbased definitions with evaluation contexts, their complete translation in Maude as executable specifications is rather verbose and lowlevel. An automated translator from K to Maude is under development, which will reduce the size of definitions following the K style several times and will certainly increase their readability. The complete Maude specification is public, together with a webbased interface to “execute” KScheme programs without having to download Maude.
A K Definition of Scheme ⋆
"... Abstract. This paper presents an executable rewriting logic semantics of R 5 RS Scheme using the K definitional technique [19]. We refer to this definition as KScheme. The presented semantics follows the K language definitional style but is almost entirely equational. It can also be regarded as a d ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. This paper presents an executable rewriting logic semantics of R 5 RS Scheme using the K definitional technique [19]. We refer to this definition as KScheme. The presented semantics follows the K language definitional style but is almost entirely equational. It can also be regarded as a denotational specification with an initial model semantics of Scheme. Equational specifications can be executed on common rewrite engines, provided that equations are oriented into rewrite rules, typically from lefttoright. The rewriting logic semantics in this paper is the most complete formal definition of Scheme that we are aware of, in the sense that it provides definitions for more Scheme language features than any other similar attempts. The presented executable definition, KScheme, can serve as a platform for experimentation with variants and extensions of Scheme, for example concurrency. KScheme also serves to show the viability of K as a definitional framework for programming languages.