Score: 0

Typing Strictness (Extended Version)

Published: October 17, 2025 | arXiv ID: 2510.16133v1

By: Daniel Sainati , Joseph W. Cutler , Benjamin C. Pierce and more

Potential Business Impact:

Makes computer programs run faster by understanding how they use info.

Business Areas:
Natural Language Processing Artificial Intelligence, Data and Analytics, Software

Strictness analysis is critical to efficient implementation of languages with non-strict evaluation, mitigating much of the performance overhead of laziness. However, reasoning about strictness at the source level can be challenging and unintuitive. We propose a new definition of strictness that refines the traditional one by describing variable usage more precisely. We lay type-theoretic foundations for this definition in both call-by-name and call-by-push-value settings, drawing inspiration from the literature on type systems tracking effects and coeffects. We prove via a logical relation that the strictness attributes computed by our type systems accurately describe the use of variables at runtime, and we offer a strictness-annotation-preserving translation from the call-by-name system to the call-by-push-value one. All our results are mechanized in Rocq.

Country of Origin
πŸ‡ΊπŸ‡Έ United States

Page Count
34 pages

Category
Computer Science:
Programming Languages