Pith. sign in

REVIEW 3 cited by

Formalizing Box Inference for Capture Calculus

Not yet reviewed by Pith; the record is open.

This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.

SPECIMEN: schema-true, not a live event

T0 review · schema-true

One-sentence machine reading of the paper's core claim.

pith:XXXXXXXX · record.json · timestamp

arxiv 2306.06496 v1 pith:IRAHGGG4 submitted 2023-06-10 cs.PL

classification cs.PL
keywords capturecalculusinferenceboxestypescheckingoperationsprogram
verification ladder T0 review T1 audit T2 compute T3 formal
0 comments
read the original abstract

Capture calculus has recently been proposed as a solution to effect checking, achieved by tracking the captured references of terms in the types. Boxes, along with the box and unbox operations, are a crucial construct in capture calculus, which maintains the hygiene of types and improves the expressiveness of polymorphism over capturing types. Despite their usefulness in the formalism, boxes would soon become a heavy notational burden for users when the program grows. It thus necessitates the inference of boxes when integrating capture checking into a mainstream programming language. In this paper, we develop a formalisation of box inference for capture calculus. We begin by introducing a semi-algorithmic variant of the capture calculus, from which we derive an inference system where typed transformations are applied to complete missing box operations in programs. Then, we propose a type-level system that performs provably equivalent inference on the type level, without actually transforming the program. In the metatheory, we establish the relationships between these systems and capture calculus, thereby proving both the soundness and the completeness of box inference.

Discussion (0). Sign in to comment.

Forward citations

Cited by 3 Pith papers

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score. Full citation record

  1. What's in the Box: Ergonomic and Expressive Capture Tracking over Generic Data Structures (Extended Version)

    cs.PL 2025-09 conditional novelty 8.0 of 10 partial

    Reach capabilities name capabilities inside generic data structures, making Scala's capture checking expressive enough to type-check the standard collections library with small source changes.

  2. Classifying Capabilities (Extended Version)

    cs.PL 2026-07 accept novelty 6.0 of 10 full

    Tree-structured capability classifiers with only/except projections make kind-based capture constraints decidable, sound, and usable in Scala 3’s capture checker.

  3. Typestate via Revocable Capabilities

    cs.PL 2025-10 conditional novelty 6.0 of 10

    Scala 3 extension that lets capabilities be revoked and returned flow-sensitively, turning each capability into a typestate token checked by the compiler.

Pith tools