A type system for Continuation Calculus
Authors: Herman Geuvers, Wouter Geraedts, Bram Geron and Judith van Stegeren
Paper Information
| Title: | A type system for Continuation Calculus |
| Authors: | Herman Geuvers, Wouter Geraedts, Bram Geron and Judith van Stegeren |
| Proceedings: | CLC Meeting Proceedings |
| Editors: | Paulo Oliva, Stefano Berardi and Steffen van Bakel |
| Keywords: | Continuations, Lambda Calculus, Types, Call by value, Call by name, Scott data types |
| Abstract: | ABSTRACT. Continuation Calculus (CC), introduced by Geron and Geuvers [2], is a simple foundational model for functional computation. It is closely related to lambda calculus and term rewriting, but it has no variable binding and no pattern matching. It is Turing complete and evaluation is deterministic. Notions like “call-by-value” and “call-by-name” computation are available by choosing appropriate function definitions: e.g. there is a call-by-value and a call-by-name addition function. In the present paper we extend CC with types, to be able to define data types in a canonical way, and functions over these data types, defined by iteration. The iteration scheme comes in two flavors: a call-by-value and a call-by-name iteration scheme. Data type definitions follow the so-called “Scott encoding” of data, as opposed to the more familiar “Church encoding”. We give examples of how to define functions over data types and how to reason with these functions. |
| Pages: | 18 |
| Talk: | Jul 13 12:00 |
| Paper: | ![]() |
