Abstract
We define and study a term calculus implementing higher-order node replication. It is used to specify two different (weak) evaluation strategies: call-by-name and fully lazy call-by-need, that are shown to be observationally equivalent by using type theoretical technical tools.
Supported by CNPq grant Universal 430667/2016-7.
Chapter PDF
Similar content being viewed by others
References
Abadi, M., Cardelli, L., Curien, P., Lévy, J.: Explicit substitutions. In: POPL. pp. 31–46. ACM Press (1990)
Accattoli, B.: Proof nets and the linear substitution calculus. In: ICTAC. Lecture Notes in Computer Science, vol. 11187, pp. 37–61. Springer (2018)
Accattoli, B., Barenbaum, P., Mazza, D.: Distilling abstract machines. In: ICFP. pp. 363–376. ACM (2014)
Accattoli, B., Bonelli, E., Kesner, D., Lombardi, C.: A nonstandard standardization theorem. In: POPL. pp. 659–670. ACM (2014)
Accattoli, B., Guerrieri, G., Leberle, M.: Types by need. In: ESOP. Lecture Notes in Computer Science, vol. 11423, pp. 410–439. Springer (2019)
Accattoli, B., Kesner, D.: The structural lambda-calculus. In: CSL. Lecture Notes in Computer Science, vol. 6247, pp. 381–395. Springer (2010)
Ariola, Z.M., Felleisen, M.: The call-by-need lambda calculus. J. Funct. Program. 7(3), 265–301 (1997)
Baader, F., Nipkow, T.: Term rewriting and all that. Cambridge University Press (1998)
Balabonski, T.: La plein paresse, une certain optimalité : partage de sous-termes et stratégies de réduction en réécriture d’ordre supérieur. Ph.D. thesis, Paris 7 (2012), http://www.theses.fr/2012PA077198
Balabonski, T.: A unified approach to fully lazy sharing. In: POPL. pp. 469–480. ACM (2012)
Balabonski, T.: Weak optimality, and the meaning of sharing. In: ICFP. pp. 263–274. ACM (2013)
Balabonski, T., Barenbaum, P., Bonelli, E., Kesner, D.: Foundations of strong call by need. Proc. ACM Program. Lang. 1(ICFP), 20:1–20:29 (2017)
Barendregt, H.P.: The lambda calculus - its syntax and semantics, Studies in logic and the foundations of mathematics, vol. 103. North-Holland (1985)
Barendregt, H.P., Dekkers, W., Statman, R.: Lambda Calculus with Types. Perspectives in logic, Cambridge University Press (2013)
Blanc, T., Lévy, J., Maranget, L.: Sharing in the weak lambda-calculus. In: Processes, Terms and Cycles. Lecture Notes in Computer Science, vol. 3838, pp. 70–87. Springer (2005)
Bloo, R., Rose, K.: Preservation of strong normalization in named lambda calculi with explicit substitution and garbage collection. In: CSN. pp. 62–72. Netherlands Computer Science Research Foundation (1995)
Bucciarelli, A., Ehrhard, T.: On phase semantics and denotational semantics: the exponentials. Ann. Pure Appl. Log. 109(3), 205–241 (2001)
Bucciarelli, A., Kesner, D., Ríos, A., Viso, A.: The bang calculus revisited. In: FLOPS. Lecture Notes in Computer Science, vol. 12073, pp. 13–32. Springer (2020)
Bucciarelli, A., Kesner, D., Ventura, D.: Non-idempotent intersection types for the lambda-calculus. Log. J. IGPL 25(4), 431–464 (2017)
Carraro, A., Guerrieri, G.: A semantical and operational account of call-by-value solvability. In: FoSSaCS. Lecture Notes in Computer Science, vol. 8412, pp. 103–118. Springer (2014)
de Carvalho, D.: Sémantiques de la logique linéaire et temps de calcul. Ph.D. thesis, Université Aix-Marseille II (2007), https://www.theses.fr/2007AIX22066
Chang, S., Felleisen, M.: The call-by-need lambda calculus, revisited. In: ESOP. Lecture Notes in Computer Science, vol. 7211, pp. 128–147. Springer (2012)
Coppo, M., Dezani-Ciancaglini, M.: A new type assignment for \(\lambda \)-terms. Arch. Math. Log. 19(1), 139–156 (1978)
Di Cosmo, R., Kesner, D., Polonowski, E.: Proof nets and explicit substitutions. Math. Struct. Comput. Sci. 13(3), 409–450 (2003)
Ehrhard, T.: Collapsing non-idempotent intersection types. In: CSL. LIPIcs, vol. 16, pp. 259–273. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2012)
Gardner, P.: Discovering needed reductions using type theory. In: TACS. Lecture Notes in Computer Science, vol. 789, pp. 555–574. Springer (1994)
Girard, J.: Linear logic. Theor. Comput. Sci. 50, 1–102 (1987)
Girard, J.Y.: Proof-nets: The parallel syntax for proof-theory, Lecture Notes in Pure Applied Mathematics, vol. 180, p. 97–124. Marcel Dekker (1996)
Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: ICFP. pp. 235–246. ACM (2002)
Guerrieri, G., Heijltjes, W.B., Paulus, J.W.N.: A deep quantitative type system. In: CSL. LIPIcs, vol. 183, pp. 24:1–24:24. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2021)
Guerrieri, G., Manzonetto, G.: The bang calculus and the two girard’s translations. In: Linearity-TLLA@FLoC. EPTCS, vol. 292, pp. 15–30 (2018)
Guglielmi, A., Gundersen, T., Parigot, M.: A proof calculus which reduces syntactic bureaucracy. In: RTA. LIPIcs, vol. 6, pp. 135–150. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2010)
Gundersen, T., Heijltjes, W., Parigot, M.: Atomic lambda calculus: A typed lambda-calculus with explicit sharing. In: LICS. pp. 311–320. IEEE Computer Society (2013)
Gundersen, T., Heijltjes, W., Parigot, M.: A proof of strong normalisation of the typed atomic lambda-calculus. In: LPAR. Lecture Notes in Computer Science, vol. 8312, pp. 340–354. Springer (2013)
Hardin, T.: Confluence results for the pure strong categorical logic CCL: lambda-calculi as subsystems of CCL. Theor. Comput. Sci. 65(3), 291–342 (1989)
He, F.: The Atomic Lambda-Mu Calculus. Ph.D. thesis, University of Bath (Jan 2018)
Hendriks, D., van Oostrom, V.:
. In: CADE. Lecture Notes in Computer Science, vol. 2741, pp. 136–150. Springer (2003)
Hughes, J.: The design and implementation of programming languages. Tech. Rep. PRG-40, Oucl (Jul 1983)
Jones, S.L.P.: The Implementation of Functional Programming Languages. Prentice-Hall (1987)
Kesner, D.: The theory of calculi with explicit substitutions revisited. In: CSL. Lecture Notes in Computer Science, vol. 4646, pp. 238–252. Springer (2007)
Kesner, D.: A theory of explicit substitutions with safe and full composition. Log. Methods Comput. Sci. 5(3) (2009)
Kesner, D.: Reasoning about call-by-need by means of types. In: FoSSaCS. Lecture Notes in Computer Science, vol. 9634, pp. 424–441. Springer (2016)
Kesner, D., Lengrand, S.: Resource operators for lambda-calculus. Inf. Comput. 205(4), 419–473 (2007)
Kesner, D., Renaud, F.: A prismoid framework for languages with resources. Theor. Comput. Sci. 412(37), 4867–4892 (2011)
Kesner, D., Ríos, A., Viso, A.: Call-by-need, neededness and all that. In: FoSSaCS. Lecture Notes in Computer Science, vol. 10803, pp. 241–257. Springer (2018)
Kesner, D., Ventura, D.: Quantitative types for the linear substitution calculus. In: IFIP TCS. Lecture Notes in Computer Science, vol. 8705, pp. 296–310. Springer (2014)
Kesner, D., Vial, P.: Non-idempotent types for classical calculi in natural deduction style. Log. Methods Comput. Sci. 16(1) (2020)
Kfoury, A.J.: A linearization of the lambda-calculus and consequences. J. Log. Comput. 10(3), 411–436 (2000)
Lamping, J.: An algorithm for optimal lambda calculus reduction. In: POPL. pp. 16–30. ACM Press (1990)
Lévy, J.J.: Réductions correctes et optimales dans le lambda-calcul. Ph.D. thesis, Université Paris VII (1978)
Lévy, J.J.: Optimal reductions in the lambda-calculus. In: To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalisms, pp. 159–191. Academic Press Inc (1980)
Lévy, J., Maranget, L.: Explicit substitutions and programming languages. In: FSTTCS. Lecture Notes in Computer Science, vol. 1738, pp. 181–200. Springer (1999)
Maraist, J., Odersky, M., Turner, D.N., Wadler, P.: Call-by-name, call-by-value, call-by-need and the linear lambda calculus. Theor. Comput. Sci. 228(1–2), 175–210 (1999)
Maraist, J., Odersky, M., Wadler, P.: The call-by-need lambda calculus. J. Funct. Program. 8(3), 275–317 (1998)
Paulus, J.W.N., Heijltjes, W.: Deep-inference intersection types. In: Int. Workshop: Twenty Years of Deep Inference. pp. 1–3 (2018), http://t-news.cn/Floc2018/FLoC2018-pages/proceedings_paper_652.pdf
Plotkin, G.D.: Call-by-name, call-by-value and the lambda-calculus. Theor. Comput. Sci. 1(2), 125–159 (1975)
Sherratt, D., Heijltjes, W., Gundersen, T., Parigot, M.: Spinal atomic lambda-calculus. In: FoSSaCS. Lecture Notes in Computer Science, vol. 12077, pp. 582–601. Springer (2020)
Sherratt, D.R.: A lambda-calculus that achieves full laziness with spine duplication. Ph.D. thesis, University of Bath (Mar 2019)
Shivers, O., Wand, M.: Bottom-up beta-reduction: Uplinks and lambda-dags. Fundam. Informaticae 103(1-4), 247–287 (2010)
Wadsworth, C.P.: Semantics and Pragmatics of the Lambda Calculus. Ph.D. thesis, Oxford University (1971)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2021 The Author(s)
About this paper
Cite this paper
Kesner, D., Peyrot, L., Ventura, D. (2021). The Spirit of Node Replication. In: Kiefer, S., Tasson, C. (eds) Foundations of Software Science and Computation Structures. FOSSACS 2021. Lecture Notes in Computer Science(), vol 12650. Springer, Cham. https://doi.org/10.1007/978-3-030-71995-1_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-71995-1_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-71994-4
Online ISBN: 978-3-030-71995-1
eBook Packages: Computer ScienceComputer Science (R0)