TY - GEN
T1 - Strong Call-by-Value is Reasonable, Implosively
AU - Accattoli, Beniamino
AU - Condoluci, Andrea
AU - Coen, Claudio Sacerdoti
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/6/29
Y1 - 2021/6/29
N2 - Whether the number of β -steps in the λ-calculus can be taken as a reasonable time cost model (that is, polynomially related to the one of Turing machines) is a delicate problem, which depends on the notion of evaluation strategy. Since the nineties, it is known that weak (that is, out of abstractions) call-by-value evaluation is a reasonable strategy while Lévy's optimal parallel strategy, which is strong (that is, it reduces everywhere), is not. The strong case turned out to be subtler than the weak one. In 2014 Accattoli and Dal Lago have shown that strong call-by-name is reasonable, by introducing a new form of useful sharing and, later, an abstract machine with an overhead quadratic in the number of β-steps.Here we show that also strong call-by-value evaluation is reasonable for time, via a new abstract machine realizing useful sharing and having a linear overhead. Moreover, our machine uses a new mix of sharing techniques, adding on top of useful sharing a form of implosive sharing, which on some terms brings an exponential speed-up. We give examples of families that the machine executes in time logarithmic in the number of β-steps.
AB - Whether the number of β -steps in the λ-calculus can be taken as a reasonable time cost model (that is, polynomially related to the one of Turing machines) is a delicate problem, which depends on the notion of evaluation strategy. Since the nineties, it is known that weak (that is, out of abstractions) call-by-value evaluation is a reasonable strategy while Lévy's optimal parallel strategy, which is strong (that is, it reduces everywhere), is not. The strong case turned out to be subtler than the weak one. In 2014 Accattoli and Dal Lago have shown that strong call-by-name is reasonable, by introducing a new form of useful sharing and, later, an abstract machine with an overhead quadratic in the number of β-steps.Here we show that also strong call-by-value evaluation is reasonable for time, via a new abstract machine realizing useful sharing and having a linear overhead. Moreover, our machine uses a new mix of sharing techniques, adding on top of useful sharing a form of implosive sharing, which on some terms brings an exponential speed-up. We give examples of families that the machine executes in time logarithmic in the number of β-steps.
U2 - 10.1109/LICS52264.2021.9470630
DO - 10.1109/LICS52264.2021.9470630
M3 - Conference contribution
AN - SCOPUS:85110833727
T3 - Proceedings - Symposium on Logic in Computer Science
BT - 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2021
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 36th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2021
Y2 - 29 June 2021 through 2 July 2021
ER -