MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Declarative Continuations and Categorical Duality (1989) [23 citations — 0 self]

by Andrzej Filinski
Add To MetaCart

Abstract:

This thesis presents a formalism for reasoning about continuations in a categorical setting. It points out how values and continuations ca n be seen as categorically dual concepts, and that this symmetry extends to not only data types, but also control structures, evaluation strategies and higher-order constructs. The central idea is a view of continuations as a declarative concept, rather than an imperative one, and the implicat ions of this make up the spine of the presentation. A symmetrical extension of the typed *-calculus is introduced, where values and continuations are treated as opposites, permitting a mirror-image syntax for dual categorical concepts like products and coproducts. An implementable semantic description and a static type system for this calculus are given. A purely categorical description of the language is also obtained, through a correspondence with a system of combinatory logic, similar to a cartesian closed category, but with a completely symmetrical set of axioms. Finally, a number of possible practical applications and directions for further research are suggested.

Citations

1137 Smalltalk-80: The Language and Its Implementation – Goldberg, Robson
467 A semantics of multiple inheritance – Cardelli - 1984
404 The Science of Programming – Gries - 1981
388 Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory – Stoy - 1977
370 Programming be Liberated from the von Neumann Style? AFunctional Style and its Algebra of Programs," in \ACM Turing Award Lectures: The First Twenty Years – Backus, \Can - 1987
343 Viewing control structures as patterns of passing messages – Hewitt - 1977
325 Introduction to Higher Order Categorical Logic – Lambek, Scott - 1986
270 Denotational semantics: A Methodology for Language Development – Schmidt - 1986
225 Call-by-name, call-by-value, and the -calculus – Plotkin - 1975
224 Definitional interpreters for higher-order programming languages – Reynolds - 1972
101 Continuation-passing, closure-passing style – Appel, Jim - 1989
85 Continuations: A Mathematical Semantics for Handling Full Jumps – Strachey, Wadsworth - 1974
82 The linear abstract machine – Lafont - 1988
73 Algebraic Approaches to Program Semantics – Manes, Arbib - 1986
72 CONS should not evaluate its arguments – Friedman, Wise - 1976
67 Backwards analysis of functional programs – Hughes - 1988
47 Computational Category Theory – Rydeheard, Burstall - 1988
39 A functional abstraction of typed contexts – Danvy, Filinski - 1989
27 Shallow binding in lisp 1.5 – Baker
26 Jones: The Implementation of Functional Programming Languages – Peyton - 1987
15 Arrows, structures, and functors: The categorical imperative – Arbib, Manes - 1975
15 Analysing strictness by abstractinterpretation of continuations – Hughes - 1987
9 Principal type-schemes for functional languages – Damas, Milner - 1982
8 et al. Lisp 1.5 Programmer's Manual – McCarthy - 1965
8 Constructing call-by-value continuation semantics – Sethi, Tang - 1980
4 Felleisen: The Theory and Practice of First-Class Prompts – Matthias - 1988
4 Mads Tofte: The Definition of Standard ML, Version 2 – Harper, Milner - 1988
4 MACLANE Categories for the working mathematician – Saunders - 1971
3 Iverson: A Programming Language – E - 1962
3 Moggi: Computational Lambda-calculus and Monads – Eugenio - 1989
2 Bj��rn Myhrhaug, and Kristen Nygaard: Simula – Dahl - 1970
1 Dijkstra: Goto Statement Considered Harmful – Edger - 1968
1 et al.: Behavioral Semantics of Nonrecursive Control Structures – Hewitt - 1974
1 Huwig and Axel Poign'e: A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Category – Hagen - 1986
1 and Niklaus Wirth: PASCAL: User Manual and Report – Jensen - 1974
1 Poign'e: On Semantic Algebras: Higher Order Structures – Axel - 1983
1 Carrie Wilpolt: An Introduction to Trellis/Owl – Schaffert, Cooper, et al. - 1986
1 ia-Virginia Aponte, Alain Laville – Weis