M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics

16Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.

Abstract

In this paper we introduce M-LISP, a dialect of LISP designed with an eye toward reconciling LISP's metalinguistic power with the structural style of operational semantics advocated by Plotkin [28]. We begin by reviewing the original definition of LISP [20] in an attempt to clarify the source of its metalinguistic power. We find that it arises from a problematic clause in this definition. We then define 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 1992. These operators encapsulate the matalinguistic representation conversions that occur globally in S-expression LISP. We show that the naive versions of these operators render LISP's equational logic inconsistent. On the positive side, we show that a naturally restricted form of the eval operator is confluent and therefore a conservative extension of M-LISP. Unfortunately, we must weaken the logic considerably to obtain a consistent theory of reification. © 1992, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Muller, R. (1992). M-LISP: A Representation-Independent Dialect of LISP with Reduction Semantics. ACM Transactions on Programming Languages and Systems (TOPLAS), 14(4), 589–616. https://doi.org/10.1145/133233.133254

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free