## A Formulae-as-Types Notion of Control (1990)

Venue: | In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages |

Citations: | 252 - 0 self |

### BibTeX

@INPROCEEDINGS{Griffin90aformulae-as-types,

author = {Timothy G. Griffin},

title = {A Formulae-as-Types Notion of Control},

booktitle = {In Conference Record of the Seventeenth Annual ACM Symposium on Principles of Programming Languages},

year = {1990},

pages = {47--58},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

The programming language Scheme contains the control construct call/cc that allows access to the current continuation (the current control context). This, in effect, provides Scheme with first-class labels and jumps. We show that the well-known formulae-astypes correspondence, which relates a constructive proof of a formula ff to a program of type ff, can be extended to a typed Idealized Scheme. What is surprising about this correspondence is that it relates classical proofs to typed programs. The existence of computationally interesting "classical programs" --- programs of type ff, where ff holds classically, but not constructively --- is illustrated by the definition of conjunctive, disjunctive, and existential types using standard classical definitions. We also prove that all evaluations of typed terms in Idealized Scheme are finite.

### Citations

469 |
The formulae-as-types notion of construction
- Howard
- 1980
(Show Context)
Citation Context ...tive, and existential types using standard classical definitions. We also prove that all evaluations of typed terms in Idealized Scheme are finite. 1 Introduction The formulae-as-types correspondence =-=[10, 18, 8]-=-, also referred to as the propositions-as-types correspondence and as the Curry/Howard isomorphism, relates a constructive proof of a formula ff to a program of type ff. This correspondence has been r... |

349 |
The mechanical evaluation of expressions
- Landin
- 1964
(Show Context)
Citation Context ...ll-by-name version, denoted as ISWIMn . These ISWIMs give rise to call-byvalue and call-by-name versions of Idealized Scheme, denoted as IS v and IS n , respectively. 2.1 Call-by-value Landin's ISWIM =-=[11, 12]-=- is a call-by-value language whose core syntax is made up of expressions of the -calculus, N ::= x j NN j x:N where x ranges over an infinite set of variables. The operational semantics of ISWIM was d... |

239 |
Common LISP: The Language
- Steele
- 1984
(Show Context)
Citation Context ...since an operator computationally equivalent to K can be defined as K d (M ) def = C(k:k(Mk)): (K d ) One use of K d is in the implemention of a "catch/throw" mechanism similar to that of Co=-=mmon Lisp [17]. Think of the evalu-=-ation of E 0 [K d (j:M )] as a "catch" that labels the current context with the name j. If j is never invoked, or "thrown to" during the evaluation of M , then this expression retu... |

220 |
Call-by-name, call-by-value, and the -calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...up of expressions of the -calculus, N ::= x j NN j x:N where x ranges over an infinite set of variables. The operational semantics of ISWIM was defined by Landin in terms of the SECD-machine. Plotkin =-=[14]-=- showed that this definition is equivalent 2 to the (partial) function eval v : 1. eval v (V ) = V , 2. eval v (MN ) = eval v (Q[V=x]) if eval v (M ) = x:Q and eval v (N ) = V . Each V represents a va... |

199 |
The next 700 programming languages
- Landin
- 1966
(Show Context)
Citation Context ...ll-by-name version, denoted as ISWIMn . These ISWIMs give rise to call-byvalue and call-by-name versions of Idealized Scheme, denoted as IS v and IS n , respectively. 2.1 Call-by-value Landin's ISWIM =-=[11, 12]-=- is a call-by-value language whose core syntax is made up of expressions of the -calculus, N ::= x j NN j x:N where x ranges over an infinite set of variables. The operational semantics of ISWIM was d... |

173 |
Introduction to Combinators and Calculus
- Hindley, Seldin
- 1986
(Show Context)
Citation Context ...nite evaluation sequence starting from M induces an infinite fi-reduction sequence starting from M 0 . Then, since there are no infinite fi-reductions in the simply-typed -calculus (see, for example, =-=[9]-=-) there can be no infinite evaluations of IS t terms. An obvious candidate for this translation is the cps transform of the previous section. However, as mentioned in Plotkin [14], the cps transform M... |

120 |
A syntactic theory of sequential control
- Felleisen, Friedman, et al.
- 1987
(Show Context)
Citation Context ...formulae-as-types correspondence presented in this paper is based on a typed version of Idealized Scheme --- a typed ISWIM containing an operator C similar to call/cc --- developed by Felleisen et al =-=[3, 2, 4]-=- for reasoning about Scheme programs. Section 2 reviews ISWIM and its extension to Idealized Scheme (IS) with the control operator C of Felleisen et al. Roughly speaking, the evaluation of C(M ) aband... |

102 | Lambda calculus schemata
- Fischer
- 1972
(Show Context)
Citation Context ...h a translation is often called a continuation passing style transformation, or simply a cps transformation. 6.1 Call-by-value cps A cps transform M for untyped -expressions was introduced by Fischer =-=[7]-=- and extended to expressions containing C by Felleisen et al [3]. A slightly modified Page 9 cps transform is defined here as x = k:kx; x:M = k:k(x:M); MN = k:M (m:N (n:mnk)); C(M ) = k:M (m:m(z:d:kz)... |

92 |
Revised Report on the Algorithmic Language Scheme
- Rees, Clinger
- 1986
(Show Context)
Citation Context ...sses computational content when the notion of computation is extended to include explicit access to the current control context. This notion of computation is found in the programming language Scheme =-=[16]-=-, which contains the control construct call/cc 1 that provides access to the current continuation (the current control context) . This, in effect, provides Scheme with firstclass labels and jumps, and... |

84 |
Control operators, the SECD-machine, and the -calculus
- Felleisen, Friedman
- 1986
(Show Context)
Citation Context ...formulae-as-types correspondence presented in this paper is based on a typed version of Idealized Scheme --- a typed ISWIM containing an operator C similar to call/cc --- developed by Felleisen et al =-=[3, 2, 4]-=- for reasoning about Scheme programs. Section 2 reviews ISWIM and its extension to Idealized Scheme (IS) with the control operator C of Felleisen et al. Roughly speaking, the evaluation of C(M ) aband... |

69 | Continuation semantics in typed lambda-calculi (summary
- Meyer, Wand
- 1985
(Show Context)
Citation Context ... as t = t; (ff ! fi) = ff ! (fi ! o) ! o: Theorem 5 [cps as a typed transform] If M is an IS t expression of type ff, then M has type (ff ! o) ! o. This fact simply extends a result of Meyer and Wand =-=[13]-=- from simply-typed terms to typed terms containing C. An embedding of classical implicational logic (C) into constructive implicational logic (J) is defined to be a translation of formulae ff 0 such t... |

59 |
Programming with continuations
- Friedman, Haynes, et al.
- 1985
(Show Context)
Citation Context ...formulae-as-types correspondence presented in this paper is based on a typed version of Idealized Scheme --- a typed ISWIM containing an operator C similar to call/cc --- developed by Felleisen et al =-=[3, 2, 4]-=- for reasoning about Scheme programs. Section 2 reviews ISWIM and its extension to Idealized Scheme (IS) with the control operator C of Felleisen et al. Roughly speaking, the evaluation of C(M ) aband... |

40 |
Declarative continuations: an investigation of duality in programming language semantics (lecture notes in computer science 389
- Filinski
- 1989
(Show Context)
Citation Context ...t all? Whether or not there is a "deeper reason" underlying the correspondence is unclear at this time. [Note: Shortly before the publication deadline for this conference the work of Andrzej=-= Filinski [6, 5] was broug-=-ht to my attention. His work may provide a "deeper reason," for the correspondence described in this paper. However, due to the lack of time, I have been unable to investigate this thoroughl... |

31 | Declarative continuations and categorical duality
- Filinski
- 1989
(Show Context)
Citation Context ...t all? Whether or not there is a "deeper reason" underlying the correspondence is unclear at this time. [Note: Shortly before the publication deadline for this conference the work of Andrzej=-= Filinski [6, 5] was broug-=-ht to my attention. His work may provide a "deeper reason," for the correspondence described in this paper. However, due to the lack of time, I have been unable to investigate this thoroughl... |

13 |
Natural Deduction. Almquist and Wiksell
- Prawitz
- 1965
(Show Context)
Citation Context ...he notation M ff means that M has type ff. First, the Curry-Howard isomorphism between ISWIM t terms and natural deduction proofs for minimal logic (M) is presented. The reader is referred to Prawitz =-=[15]-=-, Stenlund [18], and Girard [8], for a complete treatment. Second, the correspondence is extended to IS t with a logically consistent typing for C. Natural deduction derivations (proofs) \Sigma are tr... |

7 |
The Calculi of # v -CS conversion: a syntactic theory of control and state in imperative higher order programming
- Felleisen
- 1987
(Show Context)
Citation Context .... The notation of evaluation contexts allows, as we shall see below, a concise specification of the operational semantics of operators that manipulate continuations (indeed, this was its intended use =-=[3, 2, 4, 1]-=-). The programming language Scheme [16] contains call/cc, a control construct that provides programs with direct access to a procedural abstraction representing the current continuation (the current c... |