2010
DOI: 10.1007/978-3-642-11623-0_11
| View full text |Cite
|
Sign up to set email alerts
|

Abstract: We introduce a Hoare logic for call-by-value higher-order functional languages with control operators such as callcc. The key idea is to build the assertion language and proof rules around an explicit logical representation of jumps and their dual 'places-to-jump-to'. This enables the assertion language to capture precisely the intensional and extensional effects of jumping by internalising rely/guarantee reasoning, leading to simple proof rules for higher-order functions with callcc. We show that the logic ca… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
15
0

Year Published

2010
2010
2013
2013

Publication Types

Select...
1
1
1

Relationship

1
2

Authors

Journals

citations
Cited by 8 publications
(15 citation statements)
references
References 32 publications
(40 reference statements)
0
15
0
Order By: Relevance
“…The logic smoothly generalises previous work on axiomatic semantics for the ML family of languages [1,2,9,11,12,21]. The logic is for total correctness (for partial correctness see [4]).…”
Section: Introductionmentioning
confidence: 84%
See 2 more Smart Citations
“…The logic smoothly generalises previous work on axiomatic semantics for the ML family of languages [1,2,9,11,12,21]. The logic is for total correctness (for partial correctness see [4]).…”
Section: Introductionmentioning
confidence: 84%
“…Our logic is a Hoare logic with pre-and post-conditions in the tradition of logics for ML-like languages [1,2,11,12]. Expressions, ranged over by e, e , ... and formulae A, B, ... of the logic are given by the grammar below, using the types and variables of PCF.…”
Section: A Logic For Total Correctnessmentioning
confidence: 99%
See 1 more Smart Citation
“…In contrast, in HTTcc, we allow the full expressiveness of CIC, including Σ-types over specifications, which, as we illustrated, is required for specifying closures that return captured continuations. Berger [5] presents a first-order Hoare logic for callcc in an otherwise purely functional language. One of the main features of the logic is the polarity distinction between the types of programs that perform jumps ('jumping-to') and the types of labels for jumps ('being-jumped-to').…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…The presence of dynamic state significantly complicates matters, and differentiates our work from recent Hoare-style logics for higher-order jumps [5,10]. From the semantic point of view, supporting dynamic state requires building a model in which executing a continuation does not roll back the mutable state to the point at which the continuation is captured.…”
Section: Introductionmentioning
confidence: 99%