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.
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Beniamino Accattoli and Claudio Sacerdoti Coen. 2017. On the value of variables. Inf. Comput., 255 (2017), 224–242.
Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Daniel de Carvalho. 2007. Sémantiques de la logique linéaire et temps de calcul. Université Aix-MarseilleII.
Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Peter Sestoft. 1997. Deriving a Lazy Abstract Machine. J. Funct. Program., 7, 3 (1997), 231–264.
Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- Pierre Vial. 2017. Infinitary intersection types as sequences: A new answer to Klop’s problem. In LICS. IEEE Computer Society, 1–12.
Google Scholar
- Mitchell Wand. 2007. On the correctness of the Krivine machine. High. Order Symb. Comput., 20, 3 (2007), 231–235.
Google Scholar
Digital Library
Index Terms
Multi types and reasonable space
Recommendations
A typed lambda calculus with intersection types
Intersection types are well known to type theorists mainly for two reasons. Firstly, they type all and only the strongly normalizable lambda terms. Secondly, the intersection type operator is a meta-level operator, that is, there is no direct logical ...
Gradual typing with union and intersection types
We propose a type system for functional languages with gradual types and set-theoretic type connectives and prove its soundness. In particular, we show how to lift the definition of the domain and result type of an application from non-gradual types to ...
Polymorphic functions with set-theoretic types: part 1: syntax, semantics, and evaluation
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesThis article is the first part of a two articles series about a calculus with higher-order polymorphic functions, recursive types with arrow and product type constructors and set-theoretic type connectives (union, intersection, and negation).
In this ...






Comments