Skip to main contentSkip to search
Episciences
Open Access Journals
Sign in(new window)
Journal of Functional Programming logo
Journal of Functional Programming
Journal of Functional Programming logo
Journal of Functional Programming
Sign in(new window)
Articles & Issues
All articlesAll accepted articlesAll volumesSectionsAuthors
About
The journalIndexingNews
Boards
Publish
For authorsEthical charterFor reviewers
Submit
Journal of Functional Programming logo
Journal's leaflet
|
Contact
|
Credits
eISSN 1469-7653
|
RSS
|
Atom
Episciences
Documentation
|
Acknowledgements
|
Publishing policy
Accessibility: non-compliant
|
Legal mentions
|
Privacy statement
|
Terms of use
  1. Home > Articles & Issues >
  2. Articles >
  3. Don't exhaust, don't ...
Article

Don't exhaust, don't waste: Resource-aware soundness for big-step semantics

Riccardo Bianchini, Francesco Dagnino, Paola Giannini, Elena Zucca
Download article
Open on arXiv
Submitted on
June 7, 2025
Accepted on
June 14, 2026
Published on
August 4, 2026
Last modified on
August 4, 2026
Volume 36
Volume 36
DOI
10.46298/jfp.17800

Don't exhaust, don't waste: Resource-aware soundness for big-step semantics

Riccardo Bianchini, Francesco Dagnino, Paola Giannini, Elena Zucca
Abstract
We extend the semantics and type system of a lambda calculus equipped with common constructs to be "resource-aware". That is, the semantics keeps track 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 extension is parametric on an arbitrary "grade algebra", modeling an 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. Preprint submitted to JFP (Journal of Functional Programming)
Keywords
  • Programming Languages
Preview
Loading PDF preview...