Results 11  20
of
291
A callbyname lambdacalculus machine
 Higher Order and Symbolic Computation
"... We present, in this paper, a particularly simple lazy machine which runs programs written in λcalculus. It was introduced by the present writer more than twenty years ago. It has been, since, used and implemented ..."
Abstract

Cited by 44 (0 self)
 Add to MetaCart
(Show Context)
We present, in this paper, a particularly simple lazy machine which runs programs written in λcalculus. It was introduced by the present writer more than twenty years ago. It has been, since, used and implemented
Strong Normalisation of CutElimination in Classical Logic
, 2000
"... In this paper we present a strongly normalising cutelimination procedure for classical logic. This procedure adapts Gentzen's standard cutreductions, but is less restrictive than previous strongly normalising cutelimination procedures. In comparison, for example, with works by Dragalin and D ..."
Abstract

Cited by 44 (4 self)
 Add to MetaCart
In this paper we present a strongly normalising cutelimination procedure for classical logic. This procedure adapts Gentzen's standard cutreductions, but is less restrictive than previous strongly normalising cutelimination procedures. In comparison, for example, with works by Dragalin and Danos et al., our procedure requires no special annotations on formulae and allows cutrules to pass over other cutrules. In order to adapt the notion of symmetric reducibility candidates for proving the strong normalisation property, we introduce a novel term assignment for sequent proofs of classical logic and formalise cutreductions as term rewriting rules.
A Semantic analysis of control
, 1998
"... This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that ..."
Abstract

Cited by 38 (6 self)
 Add to MetaCart
(Show Context)
This thesis examines the use of denotational semantics to reason about control flow in sequential, basically functional languages. It extends recent work in game semantics, in which programs are interpreted as strategies for computation by interaction with an environment. Abramsky has suggested that an intensional hierarchy of computational features such as state, and their fully abstract models, can be captured as violations of the constraints on strategies in the basic functional model. Nonlocal control flow is shown to fit into this framework as the violation of strong and weak ‘bracketing ’ conditions, related to linear behaviour. The language µPCF (Parigot’s λµ with constants and recursion) is adopted as a simple basis for highertype, sequential computation with access to the flow of control. A simple operational semantics for both callbyname and callbyvalue evaluation is described. It is shown that dropping the bracketing condition on games models of PCF yields fully abstract models of µPCF.
Polymorphic type assignment and CPS conversion
 LISP and Symbolic Computation
, 1993
"... Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property maybe extended to Schemelike continuationpassing primitives, from which the soundness of these extensions ..."
Abstract

Cited by 38 (11 self)
 Add to MetaCart
(Show Context)
Meyer and Wand established that the type of a term in the simply typedcalculus may be related in a straightforward manner to the type of its callbyvalue CPS transform. This typing property maybe extended to Schemelike continuationpassing primitives, from which the soundness of these extensions follows. We study the extension of these results to the DamasMilner polymorphic type assignment system under both the callbyvalue and callbyname interpretations. We obtain CPS transforms for the callbyvalue interpretation, provided that the polymorphic let is restricted to values, and for the callbyname interpretation with no restrictions. We prove that there is no callbyvalue CPS transform for the full DamasMilner language that validates the MeyerWand typing property and is equivalent to the standard callbyvalue transform up toconversion. 1
Extracting constructive content from classical logic via controllike reductions
 In Bezem and Groote [12
, 1993
"... ..."
(Show Context)
Dependent choices, ‘quote’ and the clock
 Th. Comp. Sc
, 2003
"... When using the CurryHoward correspondence in order to obtain executable programs from mathematical proofs, we are faced with a difficult problem: to interpret each axiom of our axiom system for mathematics (which may be, for example, second order classical logic, or classical set theory) as an inst ..."
Abstract

Cited by 35 (13 self)
 Add to MetaCart
(Show Context)
When using the CurryHoward correspondence in order to obtain executable programs from mathematical proofs, we are faced with a difficult problem: to interpret each axiom of our axiom system for mathematics (which may be, for example, second order classical logic, or classical set theory) as an instruction of our programming language. This problem
A rational deconstruction of Landin’s SECD machine
 Implementation and Application of Functional Languages, 16th International Workshop, IFL’04, number 3474 in Lecture Notes in Computer Science
, 2004
"... Abstract. Landin’s SECD machine was the first abstract machine for applicative expressions, i.e., functional programs. Landin’s J operator was the first control operator for functional languages, and was specified by an extension of the SECD machine. We present a family of evaluation functions corre ..."
Abstract

Cited by 33 (20 self)
 Add to MetaCart
(Show Context)
Abstract. Landin’s SECD machine was the first abstract machine for applicative expressions, i.e., functional programs. Landin’s J operator was the first control operator for functional languages, and was specified by an extension of the SECD machine. We present a family of evaluation functions corresponding to this extension of the SECD machine, using a series of elementary transformations (transformation into continuationpassing style (CPS) and defunctionalization, chiefly) and their left inverses (transformation into direct style and refunctionalization). To this end, we modernize the SECD machine into a bisimilar one that operates in lockstep with the original one but that (1) does not use a data stack and (2) uses the callersave rather than the calleesave convention for environments. We also identify that the dump component of the SECD machine is managed in a calleesave way. The callersave counterpart of the modernized SECD machine precisely corresponds to Thielecke’s doublebarrelled continuations and to Felleisen’s encoding of J in terms of call/cc. We then variously characterize the J operator in terms of CPS and in terms of delimitedcontrol operators in the CPS hierarchy. As a byproduct, we also present several reduction semantics for applicative expressions
A formulaeastypes interpretation of subtractive logic
 Journal of Logic and Computation
, 2004
"... We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural ..."
Abstract

Cited by 33 (1 self)
 Add to MetaCart
(Show Context)
We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural Deduction. Then we extend this deduction system conservatively to Subtractive Logic. From a computational standpoint, the resulting calculus provides a type system for firstclass coroutines (a restricted form of firstclass continuations). Keywords: CurryHoward isomorphism, Subtractive Logic, control operators, coroutines. 1
A semantic view of classical proofs  typetheoretic, categorical, and denotational characterizations (Extended Abstract)
 IN PROCEEDINGS OF LICS '96
, 1996
"... Classical logic is one of the best examples of a mathematical theory that is truly useful to computer science. Hardware and software engineers apply the theory routinely. Yet from a foundational standpoint, there are aspects of classical logic that are problematic. Unlike intuitionistic logic, class ..."
Abstract

Cited by 33 (2 self)
 Add to MetaCart
Classical logic is one of the best examples of a mathematical theory that is truly useful to computer science. Hardware and software engineers apply the theory routinely. Yet from a foundational standpoint, there are aspects of classical logic that are problematic. Unlike intuitionistic logic, classical logic is often held to be nonconstructive, and so, is said to admit no proof semantics. To draw an analogy in the proofsas programs paradigm, it is as if we understand well the theory of manipulation between equivalent specifications (which we do), but have comparatively little foundational insight of the process of transforming one program to another that implements the same specification. This extended abstract outlines a semantic theory of classical proofs based on a variant of Parigot's λµcalculus [24], but presented here as a type theory. After reviewing the conceptual problems in the area and the potential benefits of such a theory, we sketch the key steps of our approach in ...
Reasoning with Continuations II: Full Abstraction for Models of Control
 In Proceedings of the 1990 ACM Conference on Lisp and Functional Programming
, 1990
"... A fully abstract model of a programming language assigns the same meaning to two terms if and only if they have the same operational behavior. Such models are wellknown for functional languages but little is known about extended functional languages with sophisticated control structures. We show th ..."
Abstract

Cited by 32 (3 self)
 Add to MetaCart
(Show Context)
A fully abstract model of a programming language assigns the same meaning to two terms if and only if they have the same operational behavior. Such models are wellknown for functional languages but little is known about extended functional languages with sophisticated control structures. We show that a direct model with error values and the conventional continuation model are adequate for functional languages augmented with first and higherorder control facilities, respectively. Furthermore, both models become fully abstract on adding a control delimiter and a parallel conditional to the programming languages.