Results 1 -
5 of
5
Definitional interpreters for higher-order programming languages
- Reprinted from the proceedings of the 25th ACM National Conference
, 1972
"... Abstract. Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include ..."
Abstract
-
Cited by 263 (2 self)
- Add to MetaCart
Abstract. Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters that are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include McCarthy’s definition of LISP, Landin’s SECD machine, the Vienna definition of PL/I, Reynolds ’ definitions of GEDANKEN, and recent unpublished work by L. Morris and C. Wadsworth. Such definitions can be classified according to whether the interpreter contains higher-order functions, and whether the order of application (i.e., call by value versus call by name) in the defined language depends upon the order of application in the defining language. As an example, we consider the definition of a simple applicative programming language by means of an interpreter written in a similar language. Definitions in each of the above classifications are derived from one another by informal but constructive methods. The treatment of imperative features such as jumps and assignment is also discussed.
Formal semantics of programming languages: VDL
- IBM Journal of Research and Development
, 1981
"... The history of ideas that led to the first formalization of the syntax and semantics of PLII is sketched. The definition method and notation are known as the Vienna Definition Language (VDL). The paper examines the relationship between VDL and both denotational semantics and the axiomatic approach t ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
The history of ideas that led to the first formalization of the syntax and semantics of PLII is sketched. The definition method and notation are known as the Vienna Definition Language (VDL). The paper examines the relationship between VDL and both denotational semantics and the axiomatic approach to programming language definition. 1.
Abstract Models of Storage
, 2000
"... This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages. ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
This note is a historical survey of Christopher Strachey's influence on the development of semantic models of assignment and storage management in procedural languages.
Combining Semantics with Non-Standard Interpreter Hierarchies
- Foundations of Software Technology and Theoretical Computer Science. Proceedings, LNCS 1974
, 2000
"... . This paper reports on results concerning the combination of non-standard semantics via interpreters. We define what a semantics combination means and identify under which conditions a combination can be realized by computer programs (robustness, safely combinable). We develop the underlying mathem ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
. This paper reports on results concerning the combination of non-standard semantics via interpreters. We define what a semantics combination means and identify under which conditions a combination can be realized by computer programs (robustness, safely combinable). We develop the underlying mathematical theory and examine the meaning of several non-standard interpreter towers. Our results suggest a technique for the implementation of a certain class of programming language dialects by composing a hierarchy of non-standard interpreters. 1 Introduction The definition of programming language semantics from simpler, more elementary parts is an intriguing question [6, 11, 17, 18]. This paper reports on new results concerning the combination of semantics via non-standard interpreters. Instead of using the familiar tower of interpreters [13] for implementing the standard semantics of a programming language, we generalize this idea to implement the non-standard semantics of a programming la...
On The Design And Specification Of A Common Base Language
, 1971
"... This is a report on the work of the Computation Structures Group of Project MAC toward the design and specification of a common base language for programs and information structures. We envision that the meanings of programs expressed in practical source languages will be defined by rules of transla ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This is a report on the work of the Computation Structures Group of Project MAC toward the design and specification of a common base language for programs and information structures. We envision that the meanings of programs expressed in practical source languages will be defined by rules of translation into the base language. The meanings of programs in the base language is fixed by rules of interpretation which constitute a transition system called the interpreter for the base language. We view the base language interpreter as the functional specification of a computer system in which-emphasis is placed on programming generality -- the ability of users to build complex programs by combining independently written program modules.

