Results 1 
7 of
7
LambdaCalculus Schemata
, 1993
"... A lambdacalculus 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 106 (1 self)
 Add to MetaCart
A lambdacalculus 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 garbagecollected 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 continuationpassing style.
Structured programming with go to statements
 Computing Surveys
, 1974
"... A consideration of several different examples sheds new light on the problem of ereating reliable, wellstructured programs that behave efficiently. This study focuses largely on two issues: (a) improved syntax for iterations and error exits, making it possible to write a larger class of programs c ..."
Abstract

Cited by 82 (3 self)
 Add to MetaCart
A consideration of several different examples sheds new light on the problem of ereating reliable, wellstructured programs that behave efficiently. This study focuses largely on two issues: (a) improved syntax for iterations and error exits, making it possible to write a larger class of programs clearly and efficiently without go to state
The many disguises of accumulation
, 1991
"... Several descriptions of basically one transformation technique viz accumulation are compared Their basis viz the associativity and the existence of a neutral element inherent in a monoid is identied Keywords transformational programming factorial fast reverse accumulation continuations la ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Several descriptions of basically one transformation technique viz accumulation are compared Their basis viz the associativity and the existence of a neutral element inherent in a monoid is identied Keywords transformational programming factorial fast reverse accumulation continuations lambda abstraction generalisation tail recursion implementation of lists
Recursion Versus Iteration at HigherOrders
, 1997
"... . We extend the wellknown analysis of recursionremoval in firstorder program schemes to a higherorder language of finitely typed and polymorphically typed functional programs, the semantics of which is based on callbyname parameterpassing. We introduce methods for recursionremoval, i.e. for ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
. We extend the wellknown analysis of recursionremoval in firstorder program schemes to a higherorder language of finitely typed and polymorphically typed functional programs, the semantics of which is based on callbyname parameterpassing. We introduce methods for recursionremoval, i.e. for translating higherorder recursive programs into higherorder iterative programs, and determine conditions under which this translation is possible. Just as finitely typed recursive programs are naturally classified by their orders, so are finitely typed iterative programs. This syntactic classification of recursive and iterative programs corresponds to a semantic (or computational) classification: the higher the order of programs, the more functions they can compute. 1 Background and Motivation Although our analysis is entirely theoretical, as it combines methods from typed calculi, from abstract recursion theory and from denotational semantics, the problems we consider have a strong pra...
by
, 1971
"... We discuss the class of program schemas augmented with equality tests, that is, tests of equality between terms. In the first part of the paper we discuss and illustrate the "power " cf equality tests. It turns out that the class of program schemas with equality is more powerful th ..."
Abstract
 Add to MetaCart
We discuss the class of program schemas augmented with equality tests, that is, tests of equality between terms. In the first part of the paper we discuss and illustrate the &quot;power &quot; cf equality tests. It turns out that the class of program schemas with equality is more powerful than the &quot;maximal&quot; classes of schemas suggested by other investigators. In the second part of the paper we discuss the decision problems of program schemas with equality. It is shown for example that while the decision problems normally considered for schemas (such as halting, divergence, equivalence, isomorphism and freedom) are solvable for Ianov
Using Message Passing Instead of the GOTO Construct
, 1978
"... This paper advocates a programming methodology using message passing. Efficient programs are derived for fast exponentiation, merging ordered sequences, and path existence determination in a directed graph. The problems have been proposed by John Reynolds as interesting ones to investigate because t ..."
Abstract
 Add to MetaCart
This paper advocates a programming methodology using message passing. Efficient programs are derived for fast exponentiation, merging ordered sequences, and path existence determination in a directed graph. The problems have been proposed by John Reynolds as interesting ones to investigate because they. illustrate significant issues in programming. The methodology advocated here is directed toward the production of programs that are intended to execute efficiently in a computing environment with many processors. The absence of the COTO construct does not seem to be constricting in any respect in the development of efficient programs using the programming methodology advocated here.