2022
DOI: 10.1145/3527320
|View full text |Cite
|
Sign up to set email alerts
|

Effects, capabilities, and boxes: from scope-based reasoning to type-based reasoning and back

Abstract: Reasoning about the use of external resources is an important aspect of many practical applications. Effect systems enable tracking such information in types, but at the cost of complicating signatures of common functions. Capabilities coupled with escape analysis offer safety and natural signatures, but are often overly coarse grained and restrictive. We present System C, which builds on and generalizes ideas from type-based escape analysis and demonstrates that capabilities and effects can be reconciled harm… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
4
0

Year Published

2022
2022
2023
2023

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 14 publications
(4 citation statements)
references
References 38 publications
0
4
0
Order By: Relevance
“…They present an extension of the simply typed lambda calculus that enhances function types [Γ 0 ] ( ) → with the lexical environment Γ 0 that was originally used to type the closure. Brachthäuser et al [2022] show System C, which mediates between first-and second-class values with boxes. In their system, scoped capabilities are second-class values.…”
Section: Related Workmentioning
confidence: 99%
See 3 more Smart Citations
“…They present an extension of the simply typed lambda calculus that enhances function types [Γ 0 ] ( ) → with the lexical environment Γ 0 that was originally used to type the closure. Brachthäuser et al [2022] show System C, which mediates between first-and second-class values with boxes. In their system, scoped capabilities are second-class values.…”
Section: Related Workmentioning
confidence: 99%
“…This gives rise to a convenient and light-weight form of contextual effect polymorphism [Brachthäuser et al 2020a]. While this approach allows for effect polymorphism with a simple type system, it is also restrictive because it also forbids local returns and retentions of capabilities; a problem solved by adding boxing and unboxing [Brachthäuser et al 2022].…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations