Continuation calculus

Programs with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic model of computation that is evaluated using only head reduc...

Full description

Bibliographic Details
Main Authors: Bram Geron, Herman Geuvers
Format: Article
Language:English
Published: Open Publishing Association 2013-09-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1309.1257v1
id doaj-0f2674ce304742e981623875b48074ec
record_format Article
spelling doaj-0f2674ce304742e981623875b48074ec2020-11-24T23:14:50ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802013-09-01127Proc. COS 2013668510.4204/EPTCS.127.5Continuation calculusBram GeronHerman GeuversPrograms with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic model of computation that is evaluated using only head reduction, and argue that it is suitable for modeling programs with control. It is demonstrated how to define programs, specify them, and prove them correct. This is shown in detail by presenting in CC a list multiplication program that prematurely returns when it encounters a zero. The correctness proof includes termination of the program. In continuation calculus we can model both call-by-name and call-by-value. In addition, call-by-name functions can be applied to call-by-value results, and conversely.http://arxiv.org/pdf/1309.1257v1
collection DOAJ
language English
format Article
sources DOAJ
author Bram Geron
Herman Geuvers
spellingShingle Bram Geron
Herman Geuvers
Continuation calculus
Electronic Proceedings in Theoretical Computer Science
author_facet Bram Geron
Herman Geuvers
author_sort Bram Geron
title Continuation calculus
title_short Continuation calculus
title_full Continuation calculus
title_fullStr Continuation calculus
title_full_unstemmed Continuation calculus
title_sort continuation calculus
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2013-09-01
description Programs with control are usually modeled using lambda calculus extended with control operators. Instead of modifying lambda calculus, we consider a different model of computation. We introduce continuation calculus, or CC, a deterministic model of computation that is evaluated using only head reduction, and argue that it is suitable for modeling programs with control. It is demonstrated how to define programs, specify them, and prove them correct. This is shown in detail by presenting in CC a list multiplication program that prematurely returns when it encounters a zero. The correctness proof includes termination of the program. In continuation calculus we can model both call-by-name and call-by-value. In addition, call-by-name functions can be applied to call-by-value results, and conversely.
url http://arxiv.org/pdf/1309.1257v1
work_keys_str_mv AT bramgeron continuationcalculus
AT hermangeuvers continuationcalculus
_version_ 1725593089956904960