Results 1 -
5 of
5
Lambda-Calculus Schemata
, 1993
"... A lambda-calculus schema is an expression of the lambda calculus augmented by uninterpreted constant and operator symbols. It is an abstraction of programming languages such as LISP which permit functions to be passed to and returned from other functions. When given an interpretation for its constan ..."
Abstract
-
Cited by 91 (1 self)
- Add to MetaCart
A lambda-calculus schema is an expression of the lambda calculus augmented by uninterpreted constant and operator symbols. It is an abstraction of programming languages such as LISP which permit functions to be passed to and returned from other functions. When given an interpretation for its constant and operator symbols, certain schemata, called lambda abstractions, naturally define partial functions over the domain of interpretation. Two implementation strategies are considered: the retention strategy in which all variable bindings are retained until no longer needed (implying the use of some sort of garbage-collected store) and the deletion strategy, modeled after the usual stack implementation of ALGOL 60, in which variable bindings are destroyed when control leaves the procedure (or block) in which they were created. Not all lambda abstractions evaluate correctly under the deletion strategy. Nevertheless, both strategies are equally powerful in the sense that any lambda abstraction can be mechanically translated into another that evaluates correctly under the deletion strategy and defines the same partial function over the domain of interpretation as the original. Proof is by translation into continuation-passing style.
A Verified Code Generator For A Subset Of Gypsy
, 1988
"... A VERIFIED CODE GENERATOR FOR A SUBSET OF GYPSY Publication No. William David Young, Ph.D. The University of Texas at Austin, 1988 Supervising Professors: Robert S. Boyer, J Strother Moore This report describes the specification and mechanical proof of a code generator for a subset of Gypsy 2.05 cal ..."
Abstract
-
Cited by 22 (4 self)
- Add to MetaCart
A VERIFIED CODE GENERATOR FOR A SUBSET OF GYPSY Publication No. William David Young, Ph.D. The University of Texas at Austin, 1988 Supervising Professors: Robert S. Boyer, J Strother Moore This report describes the specification and mechanical proof of a code generator for a subset of Gypsy 2.05 called Micro-Gypsy. Micro-Gypsy is a high-level language containing many of the Gypsy control structures, simple data types and arrays, and predefined and user-defined procedure definitions including recursive procedure definitions. The language is formally specified by a recognizer and interpreter written as functions in the Boyer-Moore logic. The target language for the Micro-Gypsy code generator is the Piton high-level assembly language verified by J Moore to be correctly implemented on the FM8502 hardware. The semantics of Piton is specified by another interpreter written in the logic. A Boyer-Moore function maps a Micro-Gypsy state containing program and data structures into an initial Pit...
Casper: a Cached Architecture Supporting Persistence
- COMPUTING SYSTEMS
, 1992
"... Persistent object systems greatly simplify programming tasks since they hide the traditional distinction between short-term and long-term storage from the applications programmer. As a result, the programmer can operate at a level of abstraction in which short-term and long-term data are treated uni ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
Persistent object systems greatly simplify programming tasks since they hide the traditional distinction between short-term and long-term storage from the applications programmer. As a result, the programmer can operate at a level of abstraction in which short-term and long-term data are treated uniformly. It is important that such a persistent system be capable of being used concurrently; such concurrent usage may arise because of parallel process facilities in the programming language concerned, or because of multiple users of the same persistent store. Concurrent access has not been satisfactorily supported in existing persistent store implementations and a number of significant research issues remain to be investigated. This paper describes an architecture that supports concurrent access to a shared persistent object store. The persistent distributed architecture represented by our system exploits a number of the facilities provided by the Mach distributed operating system.
The equivalence of models of tasking
- Proc. of ACM Conf. on Proving Assertions about Programs, SIGPLAN Not
, 1972
"... Abstract. A technique for proving the equivalence of implementations of multi-tasking programming languages is developed and applied to proving the equivalence of the contour model and a multi-tasking version of the copy rule. In multi-tasking programming languages, e.g. Algol 68 [vWN 69] and PL/I [ ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Abstract. A technique for proving the equivalence of implementations of multi-tasking programming languages is developed and applied to proving the equivalence of the contour model and a multi-tasking version of the copy rule. In multi-tasking programming languages, e.g. Algol 68 [vWN 69] and PL/I [Wlk 69], the inherent nondeterminism associated with tasking accentuates the difficulty of precisely describing computations
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.

