Score: 0

Don't exhaust, don't waste

Published: July 18, 2025 | arXiv ID: 2507.13792v2

By: Riccardo Bianchini , Francesco Dagnino , Paola Giannini and more

Potential Business Impact:

Prevents computer programs from wasting resources.

Business Areas:
Semantic Web Internet Services

We extend the semantics and type system of a lambda calculus equipped with common constructs to be resource-aware. That is, the semantics keep tracks of the usage of resources, and is stuck, besides in case of type errors, if either a needed resource is exhausted, or a provided resource would be wasted. In such way, the type system guarantees, besides standard soundness, that for well-typed programs there is a computation where no resource gets either exhausted or wasted. The no-waste extension is parametric on an arbitrary grade algebra, modeling an arbitrary assortment of possible usages, and does not require ad-hoc changes to the underlying language. To this end, the semantics needs to be formalized in big-step style; as a consequence, expressing and proving (resource-aware) soundness is challenging, and is achieved by applying recent techniques based on coinductive reasoning.

Country of Origin
🇮🇹 Italy

Page Count
63 pages

Category
Computer Science:
Programming Languages