skip to main content
research-article
Open Access
Best Paper

Multi types and reasonable space

Published:31 August 2022Publication History
Skip Abstract Section

Abstract

Accattoli, Dal Lago, and Vanoni have recently proved that the space used by the Space KAM, a variant of the Krivine abstract machine, is a reasonable space cost model for the λ-calculus accounting for logarithmic space, solving a longstanding open problem. In this paper, we provide a new system of multi types (a variant of intersection types) and extract from multi type derivations the space used by the Space KAM, capturing into a type system the space complexity of the abstract machine. Additionally, we show how to capture also the time of the Space KAM, which is a reasonable time cost model, via minor changes to the type system.

References

  1. Samson Abramsky, Radha Jagadeesan, and Pasquale Malacaria. 2000. Full Abstraction for PCF. Inf. Comput., 163, 2 (2000), 409–470. https://doi.org/10.1006/inco.2000.2930 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Beniamino Accattoli. 2017. (In)Efficiency and Reasonable Cost Models. In 12th Workshop on Logical and Semantic Frameworks, with Applications, LSFA 2017 (ENTCS, Vol. 338). Elsevier, 23–43. https://doi.org/10.1016/j.entcs.2018.10.003 Google ScholarGoogle ScholarCross RefCross Ref
  3. Beniamino Accattoli, Pablo Barenbaum, and Damiano Mazza. 2014. Distilling abstract machines. In Proceedings of the 19th ACM SIGPLAN international conference on Functional progranitarmming, Gothenburg, Sweden, September 1-3, 2014, Johan Jeuring and Manuel M. T. Chakravarty (Eds.). ACM, 363–376. https://doi.org/10.1145/2628136.2628154 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Beniamino Accattoli and Claudio Sacerdoti Coen. 2017. On the value of variables. Inf. Comput., 255 (2017), 224–242. Google ScholarGoogle Scholar
  5. Beniamino Accattoli and Ugo Dal Lago. 2016. (Leftmost-Outermost) Beta Reduction is Invariant, Indeed. Logical Methods in Computer Science, 12, 1 (2016), https://doi.org/10.2168/LMCS-12(1:4)2016 Google ScholarGoogle ScholarCross RefCross Ref
  6. Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2020. The Machinery of Interaction. In Proceedings of the 22nd International Symposium on Principles and Practice of Declarative Programming (PPDP ’20). Association for Computing Machinery, New York, NY, USA. Article 4, 15 pages. isbn:9781450388214 https://doi.org/10.1145/3414080.3414108 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2021. The (In)Efficiency of Interaction. Proc. ACM Program. Lang., 5, POPL (2021), Article 51, Jan., 33 pages. https://doi.org/10.1145/3434332 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2021. The Space of Interaction. In 2021 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). 1–13. https://doi.org/10.1109/LICS52264.2021.9470726 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2022. Reasonable Space for the λ -calculus, Logarithmically. In 2022 37th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). https://doi.org/10.1145/3531130.3533362 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Beniamino Accattoli, Stéphane Graham-Lengrand, and Delia Kesner. 2018. Tight Typings and Split Bounds. Proc. ACM Program. Lang., 2, ICFP (2018), 94:1–94:30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Beniamino Accattoli, Stéphane Graham-Lengrand, and Delia Kesner. 2020. Tight typings and split bounds, fully developed. J. Funct. Program., 30 (2020), e14. https://doi.org/10.1017/S095679682000012X Google ScholarGoogle Scholar
  12. Beniamino Accattoli and Giulio Guerrieri. 2018. Types of Fireballs. In Programming Languages and Systems - 16th Asian Symposium, APLAS 2018, Wellington, New Zealand, December 2-6, 2018, Proceedings, Sukyoung Ryu (Ed.) (Lecture Notes in Computer Science, Vol. 11275). Springer, 45–66. https://doi.org/10.1007/978-3-030-02768-1_3 Google ScholarGoogle ScholarCross RefCross Ref
  13. Beniamino Accattoli, Giulio Guerrieri, and Maico Leberle. 2019. Types by Need. In 28th European Symposium on Programming, ESOP 2019,Prague, Czech Republic, April 6-11, 2019, Proceedings (Lecture Notes in Computer Science, Vol. 11423). Springer, 410–439. https://doi.org/10.1007/978-3-030-17184-1_15 Google ScholarGoogle ScholarCross RefCross Ref
  14. Beniamino Accattoli, Ugo Dal Lago, and Gabriele Vanoni. 2022. Multi Types and Reasonable Space (Long Version). CoRR, https://doi.org/10.48550/arXiv.2207.08795 Google ScholarGoogle Scholar
  15. Sandra Alves, Delia Kesner, and Daniel Ventura. 2019. A Quantitative Understanding of Pattern Matching. In 25th International Conference on Types for Proofs and Programs, TYPES 2019, June 11-14, 2019, Oslo, Norway. 3:1–3:36. https://doi.org/10.4230/LIPIcs.TYPES.2019.3 Google ScholarGoogle ScholarCross RefCross Ref
  16. Alexis Bernadet and Stéphane Graham-Lengrand. 2013. Non-idempotent intersection types and strong normalisation. Logical Methods in Computer Science, 9, 4 (2013), https://doi.org/10.2168/LMCS-9(4:3)2013 Google ScholarGoogle ScholarCross RefCross Ref
  17. Guy E. Blelloch and John Greiner. 1995. Parallelism in Sequential Functional Languages. In Proceedings of the seventh international conference on Functional programming languages and computer architecture, FPCA 1995, La Jolla, California, USA, June 25-28, 1995. ACM, 226–237. https://doi.org/10.1145/224164.224210 Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Viviana Bono and Mariangiola Dezani-Ciancaglini. 2020. A tale of intersection types. In LICS ’20: 35th Annual ACM/IEEE Symposium on Logic in Computer Science, Saarbrücken, Germany, July 8-11, 2020, Holger Hermanns, Lijun Zhang, Naoki Kobayashi, and Dale Miller (Eds.). ACM, 7–20. https://doi.org/10.1145/3373718.3394733 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Antonio Bucciarelli and Thomas Ehrhard. 2001. On phase semantics and denotational semantics: the exponentials. Ann. Pure Appl. Log., 109, 3 (2001), 205–241. https://doi.org/10.1016/S0168-0072(00)00056-7 Google ScholarGoogle ScholarCross RefCross Ref
  20. Antonio Bucciarelli, Delia Kesner, Alejandro Ríos, and Andrés Viso. 2020. The Bang Calculus Revisited. In Functional and Logic Programming - 15th International Symposium, FLOPS 2020, Akita, Japan, September 14-16, 2020, Proceedings, Keisuke Nakano and Konstantinos Sagonas (Eds.) (Lecture Notes in Computer Science, Vol. 12073). Springer, 13–32. https://doi.org/10.1007/978-3-030-59025-3_2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Antonio Bucciarelli, Delia Kesner, and Daniel Ventura. 2017. Non-idempotent intersection types for the Lambda-Calculus. Logic Journal of the IGPL, 25, 4 (2017), 431–464. https://doi.org/10.1093/jigpal/jzx018 Google ScholarGoogle ScholarCross RefCross Ref
  22. Mario Coppo and Mariangiola Dezani-Ciancaglini. 1978. A new type assignment for λ -terms. Arch. Math. Log., 19, 1 (1978), 139–156. https://doi.org/10.1007/BF02011875 Google ScholarGoogle ScholarCross RefCross Ref
  23. Ugo Dal Lago, Claudia Faggian, and Simona Ronchi Della Rocca. 2021. Intersection types and (positive) almost-sure termination. Proc. ACM Program. Lang., 5, POPL (2021), Article 32, 32 pages. https://doi.org/10.1145/3434313 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Vincent Danos, Hugo Herbelin, and Laurent Regnier. 1996. Game Semantics & Abstract Machines. In Proceedings, 11th Annual IEEE Symposium on Logic in Computer Science, New Brunswick, New Jersey, USA, July 27-30, 1996. IEEE Computer Society, 394–405. https://doi.org/10.1109/LICS.1996.561456 Google ScholarGoogle Scholar
  25. Vincent Danos and Laurent Regnier. 1999. Reversible, irreversible and optimal lambda-machines. Theoretical Computer Science, 227, 1 (1999), 79–97. issn:0304-3975 https://doi.org/10.1016/S0304-3975(99)00049-3 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Daniel de Carvalho. 2007. Sémantiques de la logique linéaire et temps de calcul. Université Aix-MarseilleII. Google ScholarGoogle Scholar
  27. Daniel de Carvalho. 2018. Execution time of λ -terms via denotational semantics and intersection types. Math. Str. in Comput. Sci., 28, 7 (2018), 1169–1203. https://doi.org/10.1017/S0960129516000396 Google ScholarGoogle ScholarCross RefCross Ref
  28. Daniel de Carvalho, Michele Pagani, and Lorenzo Tortora de Falco. 2011. A semantic measure of the execution time in linear logic. Theoretical Computer Science, 412, 20 (2011), 1884–1902. https://doi.org/10.1016/j.tcs.2010.12.017 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Mariangiola Dezani-Ciancaglini, Paola Giannini, and Betti Venneri. 2018. Intersection Types in Java: Back to the Future. In Models, Mindsets, Meta: The What, the How, and the Why Not? - Essays Dedicated to Bernhard Steffen on the Occasion of His 60th Birthday, Tiziana Margaria, Susanne Graf, and Kim G. Larsen (Eds.) (Lecture Notes in Computer Science, Vol. 11200). Springer, 68–86. https://doi.org/10.1007/978-3-030-22348-9_6 Google ScholarGoogle Scholar
  30. Yannick Forster, Fabian Kunze, and Marc Roth. 2020. The weak call-by-value λ -calculus is reasonable for both time and space. Proc. ACM Program. Lang., 4, POPL (2020), 27:1–27:23. https://doi.org/10.1145/3371095 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Timothy S. Freeman and Frank Pfenning. 1991. Refinement Types for ML. In Proceedings of the ACM SIGPLAN’91 Conference on Programming Language Design and Implementation (PLDI), Toronto, Ontario, Canada, June 26-28, 1991, David S. Wise (Ed.). ACM, 268–277. https://doi.org/10.1145/113445.113468 Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Daniel P. Friedman, Abdulaziz Ghuloum, Jeremy G. Siek, and Onnie Lynn Winebarger. 2007. Improving the lazy Krivine machine. High. Order Symb. Comput., 20, 3 (2007), 271–293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Alain Frisch, Giuseppe Castagna, and Véronique Benzaken. 2008. Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types. J. ACM, 55, 4 (2008), 19:1–19:64. https://doi.org/10.1145/1391289.1391293 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Jean-Yves Girard. 1989. Geometry of Interaction 1: Interpretation of System F. In Logic Colloquium ’88, R. Ferro, C. Bonotto, S. Valentini, and A. Zanardo (Eds.) (Studies in Logic and the Foundations of Mathematics, Vol. 127). Elsevier, 221 – 260. issn:0049-237X https://doi.org/10.1016/S0049-237X(08)70271-4 Google ScholarGoogle ScholarCross RefCross Ref
  35. Delia Kesner, Loïc Peyrot, and Daniel Ventura. 2021. The Spirit of Node Replication. In FoSSaCS (Lecture Notes in Computer Science, Vol. 12650). Springer, 344–364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Delia Kesner and Pierre Vial. 2020. Consuming and Persistent Types for Classical Logic. In LICS ’20: 35th Annual ACM/IEEE Symposium on Logic in Computer Science, Saarbrücken, Germany, July 8-11, 2020, Holger Hermanns, Lijun Zhang, Naoki Kobayashi, and Dale Miller (Eds.). ACM, 619–632. https://doi.org/10.1145/3373718.3394774 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Delia Kesner and Andrés Viso. 2022. Encoding Tight Typing in a Unified Framework. In CSL (LIPIcs, Vol. 216). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 27:1–27:20. Google ScholarGoogle Scholar
  38. Jean-Louis Krivine. 2007. A Call-by-name Lambda-calculus Machine. Higher Order Symbol. Comput., 20, 3 (2007), 199–207. issn:1388-3690 https://doi.org/10.1007/s10990-007-9018-9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Stéphane Lengrand, Pierre Lescanne, Daniel J. Dougherty, Mariangiola Dezani-Ciancaglini, and Steffen van Bakel. 2004. Intersection types for explicit substitutions. Inf. Comput., 189, 1 (2004), 17–42. https://doi.org/10.1016/j.ic.2003.09.004 Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Ian Mackie. 1995. The Geometry of Interaction Machine. In Conference Record of POPL’95: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California, USA, January 23-25, 1995, Ron K. Cytron and Peter Lee (Eds.). ACM Press, 198–208. https://doi.org/10.1145/199448.199483 Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Peter Møller Neergaard and Harry G. Mairson. 2004. Types, potency, and idempotency: why nonlinearity and amnesia make a type system work. In Proceedings of the Ninth ACM SIGPLAN International Conference on Functional Programming, ICFP 2004, Snow Bird, UT, USA, September 19-21, 2004, Chris Okasaki and Kathleen Fisher (Eds.). ACM, 138–149. https://doi.org/10.1145/1016850.1016871 Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Benjamin C. Pierce. 1997. Intersection Types and Bounded Polymorphism. Math. Struct. Comput. Sci., 7, 2 (1997), 129–193. https://doi.org/10.1017/S096012959600223X Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. David Sands, Jörgen Gustavsson, and Andrew Moran. 2002. Lambda Calculi and Linear Speedups. In The Essence of Computation, Complexity, Analysis, Transformation. Essays Dedicated to Neil D. Jones [on occasion of his 60th birthday], Torben Æ . Mogensen, David A. Schmidt, and Ivan Hal Sudborough (Eds.) (Lecture Notes in Computer Science, Vol. 2566). Springer, 60–84. https://doi.org/10.1007/3-540-36377-7_4 Google ScholarGoogle ScholarCross RefCross Ref
  44. Peter Sestoft. 1997. Deriving a Lazy Abstract Machine. J. Funct. Program., 7, 3 (1997), 231–264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Cees F. Slot and Peter van Emde Boas. 1988. The Problem of Space Invariance for Sequential Machines. Inf. Comput., 77, 2 (1988), 93–122. https://doi.org/10.1016/0890-5401(88)90052-1 Google ScholarGoogle ScholarCross RefCross Ref
  46. Steffen van Bakel. 1992. Complete Restrictions of the Intersection Type Discipline. Theor. Comput. Sci., 102, 1 (1992), 135–163. https://doi.org/10.1016/0304-3975(92)90297-S Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Peter van Emde Boas. 1990. Machine Models and Simulation. In Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity (A). Elsevier and MIT Press, 1–66. Google ScholarGoogle Scholar
  48. Pierre Vial. 2017. Infinitary intersection types as sequences: A new answer to Klop’s problem. In LICS. IEEE Computer Society, 1–12. Google ScholarGoogle Scholar
  49. Mitchell Wand. 2007. On the correctness of the Krivine machine. High. Order Symb. Comput., 20, 3 (2007), 231–235. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Multi types and reasonable space

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Article Metrics

          • Downloads (Last 12 months)155
          • Downloads (Last 6 weeks)13

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!