# Declarative Continuations and Categorical Duality

@inproceedings{Filinski1989DeclarativeCA, title={Declarative Continuations and Categorical Duality}, author={Andrzej Filinski}, year={1989} }

This thesis presents a formalism for reasoning about continuations in a categorical setting. It points out how values and continuations can 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 implications of this make up the spine of the presentation. A symmetrical…

No Paper Link Available

## 53 Citations

A tutorial on computational classical logic and the sequent calculus

- Computer ScienceJournal of Functional Programming
- 2018

A model of computation that heavily emphasizes the concept of duality and the interaction between opposites–production interacts with consumption is presented, and two different methods of focusing are compared and contrast and illustrate how they are two means to the same end.

The logical basis of evaluation order and pattern-matching

- Computer Science
- 2009

This thesis aims to give a fresh take on the proofs-as-programs analogy, and obtains a programming language with built-in support for pattern-matching, in which evaluation order is explicitly reflected at the level of types—and hence can be controlled locally, rather than being an ad hoc, global policy decision.

What is an abstract machine

- Computer Science
- 1991

A categorical abstract machine capable of normal-order reduction of lambda calculus expressions in weak head-normal form is specified, and an implementation of (weak) lambda-calculus reduction by the categorical abstention machine is proved coherent with the syntactic reduction rule (B) of the calculus.

Control categories and duality: on the categorical semantics of the lambda-mu calculus

- Computer ScienceMathematical Structures in Computer Science
- 2001

It is proved, via a categorical structure theorem, that the categorical semantics is equivalent to a CPS semantics in the style of Hofmann and Streicher, and that the call-by-name λμ-calculus forms an internal language for the dual co-control categories.

Linear lambda calculus with non-linear first-class continuations

- MathematicsICSCA '17
- 2017

This paper formalizes the lambda calculus with first-class continuations in the framework of linear logic, which is a logical system sensitive to duplicability and removability, proposed by Jean-Yves Girard.

ML Polymorphism of Linear Lambda Calculus with First-class Continuations

- Mathematics, Computer ScienceICSCA
- 2019

An ML polymorphic type system for the linear lambda calculus with first-class continuations is proposed and a type inference algorithm of the type system is designed that allows both values and continuations to be duplicated and erased.

A formulae-as-type notion of control

- Computer SciencePOPL '90
- 1989

It is proved that all evaluations of typed terms in Idealized Scheme are finite, and the existence of computationally interesting “classical programs” is illustrated by the definition of conjunctively, disjunctive, and existential types using standard classical definitions.

Proposal : The logical basis of evaluation order

- Philosophy
- 2007

Most type systems are agnostic regarding the evaluation strategy for the underlying languages, with the value restriction for ML which is absent in Haskell as a notable exception. As type systems…

A Symmetric Lambda-Calculus Corresponding to the Negation-Free Bilateral Natural Deduction

- MathematicsArXiv
- 2021

This paper proposes a simple symmetric lambda-calculus corresponding to the negation-free natural deduction based bilateralism in proof-theoretic semantics and shows that mutual transformations between expressions and continuations are definable in the calculus to justify the duality of functions.

## References

SHOWING 1-10 OF 45 REFERENCES

Declarative Continuations: an Investigation of Duality in Programming Language Semantics

- Computer ScienceCategory Theory and Computer Science
- 1989

A symmetric extension of the typed λ-calculus is introduced, where values and continuations play dual roles, permitting mirror-image syntax for dual categorical concepts like products and coproducts.

A Functional Abstraction of Typed Contexts

- Computer Science
- 1989

Making functional control abstractions first-class offers a new area in programming which this paper explores, and an extension towards gaining control over embedding contexts is extended.

Constructing Call-by-Value Continuation Semantics

- Computer ScienceJACM
- 1980

This paper defines transformations and shows that the transformations preserve the predicates used to construct continuation semantics, starting from a direct semantics of a language with procedures called by value.

A Typed Lambda Calculus with Categorical Type Constructors

- MathematicsCategory Theory and Computer Science
- 1987

A typed lambda calculus with categorical type constructors with uniform category theoretic mechanism to declare new types is introduced and it is shown that they are strongly normalizing even though it has infinite things like infinite lists.

Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory

- Computer Science
- 1981

A Semantics of Multiple Inheritance

- Computer ScienceInf. Comput.
- 1984

Programming with taxonomically organized data is often called objectoriented programming, and has been advocated as an effective way of structuring programming environments, data bases, and large systems in general.

A Note on Inconsistencies Caused by Fixpoints in a Cartesian Closed Category

- PhilosophyTheor. Comput. Sci.
- 1990

Shallow binding in Lisp 1.5

- Computer ScienceCACM
- 1978

The concept of rerooting is shown to combine the concept of shallow binding in Lisp with Dijkstra's display for Algol and hence is a general model for shallow binding.

Can programming be liberated from the von Neumann style

- Computer Science
- 1977

An alternative functional style of programming is founded on the use of combining forms for creating programs that deal with structured data, are often nonrepetitive and nonrecursive, are hierarchically constructed, do not name their arguments, and do not require the complex machinery of procedure declarations to become generally applicable.

Computational lambda-calculus and monads

- Computer Science[1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science
- 1989

The author gives a calculus based on a categorical semantics for computations, which provides a correct basis for proving equivalence of programs, independent from any specific computational model.