TY - GEN
T1 - Mirroring Call-By-Need, or Values Acting Silly
AU - Accattoli, Beniamino
AU - Lancelot, Adrienne
N1 - Publisher Copyright:
© Beniamino Accattoli and Adrienne Lancelot.
PY - 2024/7/1
Y1 - 2024/7/1
N2 - Call-by-need evaluation for the λ-calculus can be seen as merging the best of call-by-name and call-by-value, namely the wise erasing behaviour of the former and the wise duplicating behaviour of the latter. To better understand how duplication and erasure can be combined, we design a degenerated calculus, dubbed call-by-silly, that is symmetric to call-by-need in that it merges the worst of call-by-name and call-by-value, namely silly duplications by-name and silly erasures by-value. We validate the design of the call-by-silly calculus via rewriting properties and multi types. In particular, we mirror the main theorem about call-by-need – that is, its operational equivalence with call-by-name – showing that call-by-silly and call-by-value induce the same contextual equivalence. This fact shows the blindness with respect to efficiency of call-by-value contextual equivalence. We also define a call-by-silly strategy and measure its length via tight multi types. Lastly, we prove that the call-by-silly strategy computes evaluation sequences of maximal length in the calculus.
AB - Call-by-need evaluation for the λ-calculus can be seen as merging the best of call-by-name and call-by-value, namely the wise erasing behaviour of the former and the wise duplicating behaviour of the latter. To better understand how duplication and erasure can be combined, we design a degenerated calculus, dubbed call-by-silly, that is symmetric to call-by-need in that it merges the worst of call-by-name and call-by-value, namely silly duplications by-name and silly erasures by-value. We validate the design of the call-by-silly calculus via rewriting properties and multi types. In particular, we mirror the main theorem about call-by-need – that is, its operational equivalence with call-by-name – showing that call-by-silly and call-by-value induce the same contextual equivalence. This fact shows the blindness with respect to efficiency of call-by-value contextual equivalence. We also define a call-by-silly strategy and measure its length via tight multi types. Lastly, we prove that the call-by-silly strategy computes evaluation sequences of maximal length in the calculus.
KW - Lambda calculus
KW - call-by-need
KW - call-by-value
KW - intersection types
UR - https://www.scopus.com/pages/publications/85198840644
U2 - 10.4230/LIPIcs.FSCD.2024.23
DO - 10.4230/LIPIcs.FSCD.2024.23
M3 - Conference contribution
AN - SCOPUS:85198840644
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 9th International Conference on Formal Structures for Computation and Deduction, FSCD 2024
A2 - Rehof, Jakob
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 9th International Conference on Formal Structures for Computation and Deduction, FSCD 2024
Y2 - 10 July 2024 through 13 July 2024
ER -