## M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics (1992)

Venue: | ACM Transactions on Programming Languages and Systems |

Citations: | 21 - 2 self |

### BibTeX

@ARTICLE{Muller92m-lisp:a,

author = {Robert Muller},

title = {M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics},

journal = {ACM Transactions on Programming Languages and Systems},

year = {1992},

volume = {14},

pages = {589--616}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper we introduce M-LISP, a simple new dialect of LISP which is designed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin [Plo75]. We begin by reviewing the original denition of LISP [McC61] in an attempt to clarify the source of its metalinguistic power. We nd that it arises from a problematic clause in this denition. We then dene the abstract syntax and operational semantics of M-LISP, essentially a hybrid of M-expression LISP and Scheme. Next, we tie the operational semantics to the corresponding equational logic. As usual, provable equality in the logic implies operational equality. Having established this framework we then extend M-LISP with the metalinguistic eval and reify operators (the latter is a non-strict operator which converts its argument to its metalanguage representation.) These operators encapsulate the metalinguistic representation conversions that occur globall...

### Citations

1286 | A structural approach to operational semantics
- Plotkin
- 1981
(Show Context)
Citation Context ...y. In this paper we set out to reconcile this metalinguistic power with the structural style of operational semantics that has been persuasively advocated by Plotkin [Plo75, Plo81]. As he recounts in =-=[Plo8-=-1], Plotkin wassrst motivated to introduce this style by the - calculus and its fundamental notion ofs-reduction. Hesrst applied the idea to the analysis of ISWIM, a language with roots in -calculus a... |

443 |
Can programming be liberated from the von Neumann style? a functional style and its algebra of programs
- Backus
- 1978
(Show Context)
Citation Context ...red somewhat indirectly by Revesz [Rev88] in his list oriented extension of the -calculus which was developed independently of our pairing calculus . Revesz's calculus is oriented more toward FP [Ba=-=c78]-=- since its lists have an applicative property reminiscent of the construction functional form. Pfenning and Lee [PL88] have considered eval, but their work is carried out in a polymorphic typed settin... |

351 | Recursive functions of symbolic expressions and their computation by machine
- McCarthy
- 1960
(Show Context)
Citation Context ...signed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin [Plo75]. We begin by reviewing the original denition of LISP [=-=McC6-=-1] in an attempt to clarify the source of its metalinguistic power. Wesnd that it arises from a problematic clause in this denition. We then dene the abstract syntax and operational semantics of M-LIS... |

302 | Natural semantics
- Kahn
- 1987
(Show Context)
Citation Context ...))) 1 The relation we are referring to here is the re exive and transitive closure ! !R of the single step reduction relation !R . In the induced evaluator (and in the corresponding natural semantics =-=[Kah98]-=-) the problem manifests itself as lack of idempotence. 2 But then, having distinguished values from redexes, one is hard-pressed to explain the metalinguistic facilities. The kind of behavior illustra... |

300 | Definitional interpreters for higher-order programming languages
- Reynolds
- 1972
(Show Context)
Citation Context ...n the other hand, it is well-known that circumstances changed this recursiontheoretic exercise to one in programming language semantics. The evaluator is then taken as a denitional interpreter (cf., [=-=Rey72]-=-) specifying the computational behavior of LISP. So we are now concerned with a host of qualitative computational issues such as evaluation order and scoping discipline. It is well-known that the eval... |

191 |
Reflection and semantics in LISP
- Smith
- 1984
(Show Context)
Citation Context ...he other hand, that a persuasive case for the practical importance of the reify operator has been made | it appears that many of its applications in LISP can be carried out with macros [Pit80]. Smith =-=[Smi8-=-4] and the researchers that followed make the case that reiers allow a programmer to install procedures in the implementation. We include reication in our study in part because of its symmetry with ev... |

176 | Reflection and semantics in a procedural language - Smith - 1985 |

170 |
Call-by-name, call-by-value and the lambda-calculus
- Plotkin
- 1975
(Show Context)
Citation Context ... we introduce M-LISP, a simple new dialect of LISP which is designed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin =-=[Plo7-=-5]. We begin by reviewing the original denition of LISP [McC61] in an attempt to clarify the source of its metalinguistic power. Wesnd that it arises from a problematic clause in this denition. We the... |

160 | Towards a Mathematical Science of Computation
- McCarthy
- 1962
(Show Context)
Citation Context ...ation car[(A : B)]. In Figure 12 we dene a standard representation by induction on the structure of terms. The intention is that the representation satisfy the usual properties of an abstract syntax [=-=McC6-=-3]. Like LISP's original denition it maps terms tosrst-order symbolic representations. It is easy to see that the standard representation satises the conditions above. 4.2 The Eval Operator 4.2.1 Oper... |

156 |
The Lambda Calculus, its Syntax and Semantics. NorthHolland, 2nd edition
- Barendregt
- 1984
(Show Context)
Citation Context ...es. We will then derive the calculus for reasoning about operational equivalence between terms. 3.1 Preliminaries We begin by dening some notation. We generally adopt the terminology and notation of [=-=Bar8-=-4]. We use the symbol to denote the set of terms, the metavariables M , N , : : : to range over terms, the metavariables x, y, : : : to range over variables and the metavariable X to range over symb... |

72 |
Tree-manipulating systems and Church-Rosser theorems
- Rosen
- 1973
(Show Context)
Citation Context ...ary relations on a set S. Then 7! 1 commutes with 7! 2 if 8M , M 1 , M 2 2 S, such that M 7! 1 M 1 and M 7! 2 M 2 ) 9M 3 2 S such that M 1 7! 2 M 3 and M 2 7! 1 M 3 . The following two general lemmas =-=[Ros73]-=- will be used extensively throughout the paper. Lemma 1 (Rosen) Let 7! 1 and 7! 2 be binary relations on a set S. Suppose that 8M , M 1 , M 2 2 S, M 7! 1 M 1 , M 7! 2 M 2 ) 9M 3 2 S, such that M 1 = 7... |

58 | Reasoning with continuations - Felleisen, Friedman, et al. - 1986 |

33 |
Macro-by-example: Deriving syntactic transformations from their specifications
- Kohlbecker, Wand
- 1987
(Show Context)
Citation Context .... Function values are best expressed explicitly in the language syntax and macros can be expressed without any reference to representation by adhering to a pattern matching discipline as suggested in =-=[KW87-=-]. This leaves only eval and reication. As we show in Section 4, these operators can be reintroduced in an otherwise representation-independent dialect. Moreover, since these are the only operators wh... |

27 |
A Language with Eval and Polymorphism
- Pfenning, Lee
- 1989
(Show Context)
Citation Context ...ently of our pairing calculus . Revesz's calculus is oriented more toward FP [Bac78] since its lists have an applicative property reminiscent of the construction functional form. Pfenning and Lee [P=-=L88]-=- have considered eval, but their work is carried out in a polymorphic typed setting. 24 5.3 2-LISP and 3-LISP M-LISP has closer parallels to | and was originally motivated by | 2-LISP [Smi84], the pre... |

20 | Reification without Evaluation - Bawden - 1988 |

19 | Axiomatizing operational equivalence in the presence of side effects - Mason, Talcott - 1989 |

14 |
Special forms in LISP
- Pitman
- 1980
(Show Context)
Citation Context ...t believe, on the other hand, that a persuasive case for the practical importance of the reify operator has been made | it appears that many of its applications in LISP can be carried out with macros =-=[Pit8-=-0]. Smith [Smi84] and the researchers that followed make the case that reiers allow a programmer to install procedures in the implementation. We include reication in our study in part because of its s... |

13 | The mystery of the tower revealed: A non-re ective description of the re ective tower - Wand, Friedman - 1988 |

12 |
A critique of Abelson and Sussman: Why calculating is better than scheming
- Wadler
- 1987
(Show Context)
Citation Context ...ds the use of quotation in expressing higher-order functions. But higher-order functions in S-expression LISP are only one of a number of desirable programming language features arising from 4 Wadler =-=[Wad87]-=-, for example, notes that when students were asked to determine the value of the expressions(car (quote (a . b))) some responded that the value was quote, some that the value was the symbol a, and sti... |

10 |
Unique normal forms for lambda calculus with surjective pairing
- Klop, Vrijer
- 1989
(Show Context)
Citation Context ...ations !R , ! !R and =R as follows: (M;N) 2 R )M !R N M !R M 0 (x:M) !R (x:M 0 ) M !R M 0 (M N) !R (M 0 N) ; N !R N 0 (M N) !R (M N 0 ) 7 The v -calculus is unrelated to the surjective pairing of [KV8=-=9]-=-. 13 M !R M 0 [M : N ] !R [M 0 : N ] ; N !R N 0 [M : N ] !R [M : N 0 ] The symbol ! !R denotes the transitive and re exive closure of !R . If M ! !R N is provable we write R ` M ! ! N . The symbol =R ... |

6 |
Operational reasoning and denotational semantics
- Gordon
- 1975
(Show Context)
Citation Context ...ture to the problematic nature of equation (12) in McCarthy's original representation function. 5.1 Gordon Thesrst structured operational semantics for LISP was dened for M-expression LISP by Gordon [=-=Gor75]-=-. The reduction relation induces a partial order on terms which provides a basis for an induction principle, LISP-induction, suitable for proving properties of nontrivial LISP programs. One applicatio... |

5 | The theory and practice of prompts - Felleisen - 1988 |

3 | Proving theorems about LISP programs - Boyer, Moore - 1975 |

3 |
M-LISP: Its natural semantics and equational logic
- Muller
- 1991
(Show Context)
Citation Context ...age L. When applied to an L-representation p, of a source L 0 -program p it reduces to an L-representation, o, of the L-object program o. P p ! ! o This is a revised and expanded version of [Mul9=-=1-=-]. The author's current email address is muller@cs.bc.edu. y This research was supported in part by Defense Advanced Research Projects Agency N00039-88-C-0163. 1 With the representation o in hand the... |

2 | Recognizing quote deemed harmful to eval's laziness. Private Communication - Adams - 1987 |

2 | Intensions and extensions in a re tower - Danvy, Malmkjaer - 1988 |

2 | Rei Re without metaphysics - Friedman, Wand - 1984 |

2 | Equivalence of order LISP program: Proving properties of destructive programs via transformations - Mason - 1986 |

2 |
Syntax macros in M-LISP: A representation independent dialect of LISP with reduction semantics
- Muller
- 1990
(Show Context)
Citation Context ... the new dialect. In this paper we consider the eval and reify operators, the latter is a non-strict operator which converts its argument to its representation 2 . We consider syntax macros elsewhere =-=[Mul90]-=-. Although our main objective in this paper is to come to grips with the operational aspects of these metalinguistic facilities, we believe that it is also important to clear up the longstanding confu... |

2 |
A list oriented extension of the church-rosser theorem
- Revesz
- 1988
(Show Context)
Citation Context ...onsidered either the control features or assignment and they have not considered either pairs or metalinguistic features. The former but not the latter issue is explored somewhat indirectly by Revesz =-=[Rev-=-88] in his list oriented extension of the -calculus which was developed independently of our pairing calculus . Revesz's calculus is oriented more toward FP [Bac78] since its lists have an applicati... |

2 | The implementation of procedurally re languages - Rivieres, Smith - 1984 |

1 | User de datatypes as an aid to verifying LISP progams - Cartwright - 1976 |

1 |
A semantic comparision of LISP and scheme
- Muchnick, Pleban
- 1980
(Show Context)
Citation Context ... as an interface between the application and the metalanguage. Second, the features cannot be implemented eciently. Like its S-expression LISP counterpart, M-LISP's eval operator is not compositional =-=[MP80-=-]. Reication is also inherently interpretive. So it will not be possible to develop an ecient compiler for the extended language. 4.1 Representation of Terms Consider the LISP expression (eval (quote ... |