🤖 AI Summary
This work addresses the problems of termination and normalization measurability for the Functional Machine Calculus (FMC) extended with computational effects—including global mutable storage, I/O, and probabilistic choice. We introduce the first quantitative type system for FMC based on non-idempotent intersection types. The system features two tiers: *weak quantitative types*, which precisely characterize stack-machine execution steps and spine normalization; and *strong quantitative types*, which—via continuation-passing style encoding and perpetual evaluation—characterize strong normalization and provide explicit upper bounds on reduction length. Type safety is ensured by effect encoding and faithful stack-machine semantics. We establish decidability of type checking. This is the first unified framework enabling precise quantitative characterization of both strong normalization and termination in a higher-order effectful language, thereby establishing a novel paradigm for resource-sensitive analysis of effectful functional computation.
📝 Abstract
The Functional Machine Calculus (FMC, Heijltjes 2022) extends the lambda-calculus with the computational effects of global mutable store, input/output, and probabilistic choice while maintaining confluent reduction and simply-typed strong normalization. Based in a simple call-by-name stack machine in the style of Krivine, the FMC models effects through additional argument stacks, and introduces sequential composition through a continuation stack to encode call-by-value behaviour, where simple types guarantee termination of the machine. The present paper provides a discipline of quantitative types, also known as non-idempotent intersection types, for the FMC, in two variants. In the weak variant, typeability coincides with termination of the stack machine and with spine normalization, while exactly measuring the transitions in machine evaluation. The strong variant characterizes strong normalization through a notion of perpetual evaluation, while giving an upper bound to the length of reductions. Through the encoding of effects, quantitative typeability coincides with termination for higher-order mutable store, input/output, and probabilistic choice.