Abstract
We solve the inhabitation problem for a language called λ!, a subsuming paradigm (inspired by call-by-push-value) being able to encode, among others, call-by-name and call-by-value strategies of functional programming. The type specification uses a non-idempotent intersection type system, which is able to capture quantitative properties about the dynamics of programs. As an application, we show how our general methodology can be used to derive inhabitation algorithms for different lambda-calculi that are encodable into λ!.
- 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
Cross Ref
- Beniamino Accattoli and Giulio Guerrieri. 2022. Call-by-Value Solvability and Multi Types. CoRR, abs/2202.03079 (2022), arXiv:2202.03079. arxiv:2202.03079
Google Scholar
- Beniamino Accattoli and Giulio Guerrieri. 2022. The theory of call-by-value solvability. Proc. ACM Program. Lang., 6, ICFP (2022), 855–885. https://doi.org/10.1145/3547652
Google Scholar
Digital Library
- Beniamino Accattoli and Delia Kesner. 2010. The structural lambda-calculus. In Proceedings of 24th EACSL Conference on Computer Science Logic, Anuj Dawar and Helmut Veith (Eds.) (LNCS, Vol. 6247). Springer, 381–395.
Google Scholar
- Beniamino Accattoli and Luca Paolini. 2012. Call-by-Value Solvability, Revisited. In FLOPS, Tom Schrijvers and Peter Thiemann (Eds.) (LNCS, Vol. 7294). Springer, 4–16.
Google Scholar
- Victor Arrial. 2023. An Implementation of the Quantitative Inhabitation for Different Lambda Calculi in a Unifying Framework. https://github.com/ArrialVictor/InhabitationLambdaBang
Google Scholar
- Henk Barendregt. 1984. The Lambda Calculus: Its Syntax and Semantics (revised ed.) (Studies in logic and the foundation of mathematics, Vol. 103). North-Holland, Amsterdam.
Google Scholar
- Jan Bessai. 2013. Synthesizing Dependency Injection Configurations for the Spring Framework. Master’s thesis. Technical University of Dortmund.
Google Scholar
- Jan Bessai, Tzu-Chun Chen, Andrej Dudenhefner, Boris Düdder, Ugo de’Liguoro, and Jakob Rehof. 2018. Mixin Composition Synthesis based on Intersection Types. Log. Methods Comput. Sci., 14, 1 (2018), https://doi.org/10.23638/LMCS-14(1:18)2018
Google Scholar
Cross Ref
- Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, and Jakob Rehof. 2014. Combinatory Logic Synthesizer. In Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, Tiziana Margaria and Bernhard Steffen (Eds.). 8802, Springer Berlin Heidelberg, Berlin, Heidelberg. 26–40. isbn:978-3-662-45233-2 978-3-662-45234-9 https://doi.org/10.1007/978-3-662-45234-9_3 Series Title: Lecture Notes in Computer Science
Google Scholar
Digital Library
- 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. isbn:978-3-030-59024-6 https://doi.org/10.1007/978-3-030-59025-3
Google Scholar
Digital Library
- Antonio Bucciarelli, Delia Kesner, and Simona Ronchi Della Rocca. 2014. The Inhabitation Problem for Non-idempotent Intersection Types. In Theoretical Computer Science - 8th IFIP TC 1/WG 2.2 International Conference, TCS 2014, Rome, Italy, September 1-3, 2014. Proceedings, Josep Díaz, Ivan Lanese, and Davide Sangiorgi (Eds.) (Lecture Notes in Computer Science, Vol. 8705). Springer, 341–354. https://doi.org/10.1007/978-3-662-44602-7_26
Google Scholar
Cross Ref
- Antonio Bucciarelli, Delia Kesner, and Simona Ronchi Della Rocca. 2021. Solvability = Typability + Inhabitation. Logical Methods in Computer Science, Volume 17, Issue 1 (2021), Jan., https://doi.org/10.23638/LMCS-17(1:7)2021
Google Scholar
Cross Ref
- Antonio Bucciarelli, Delia Kesner, and Simona Ronchi Della Rocca. 2018. Inhabitation for Non-idempotent Intersection Types. Logical Methods in Computer Science, 14, 3 (2018), https://doi.org/10.23638/LMCS-14(3:7)2018
Google Scholar
Cross Ref
- Alberto Carraro and Giulio Guerrieri. 2014. A Semantical and Operational Account of Call-by-Value Solvability. In Foundations of Software Science and Computation Structures - 17th International Conference, FOSSACS 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014, Proceedings, Anca Muscholl (Ed.) (Lecture Notes in Computer Science, Vol. 8412). Springer, 103–118. https://doi.org/10.1007/978-3-642-54830-7_7
Google Scholar
Cross Ref
- Iliano Cervesato, Joshua S. Hodas, and Frank Pfenning. 2000. Efficient resource management for linear logic proof search. Theoretical Computer Science, 232, 1 (2000), Feb., 133–163. issn:0304-3975 https://doi.org/10.1016/S0304-3975(99)00173-5
Google Scholar
Digital Library
- Hubert Comon, Max Dauchet, Rémi Gilleron, Florent Jacquemard, Denis Lugiez, Christof Löding, Sophie Tison, and Marc Tommasi. 2008. Tree Automata Techniques and Applications. https://hal.inria.fr/hal-03367725
Google Scholar
- Mario Coppo and Mariangiola Dezani-Ciancaglini. 1978. A new type assignment for λ -terms. Archiv für mathematische Logik und Grundlagenforschung, 19, 1 (1978), 139–156. https://doi.org/10.1007/BF02011875
Google Scholar
Cross Ref
- Mario Coppo and Mariangiola Dezani-Ciancaglini. 1980. An extension of the basic functionality theory for the λ -calculus. Notre Dame J. Formal Log., 21, 4 (1980), 685–693. https://doi.org/10.1305/ndjfl/1093883253
Google Scholar
Cross Ref
- Mario Coppo, Mariangiola Dezani-Ciancaglini, and Betti Venneri. 1981. Functional Characters of Solvable Terms. Math. Log. Q., 27, 2-6 (1981), 45–58. https://doi.org/10.1002/malq.19810270205
Google Scholar
Cross Ref
- Daniel de Carvalho. 2007. Sémantiques de la logique linéaire et temps de calcul. Ph. D. Dissertation. Université Aix-Marseille II.
Google Scholar
- Daniel de Carvalho. 2018. Execution time of λ -terms via denotational semantics and intersection types. Math. Struct. Comput. Sci., 28, 7 (2018), 1169–1203. https://doi.org/10.1017/S0960129516000396
Google Scholar
Cross Ref
- Boris Düdder. 2014. Automatic Synthesis of Component & Connector-Software Architectures with Bounded Combinatory Logic. Ph. D. Dissertation. https://doi.org/10.17877/DE290R-6528
Google Scholar
Cross Ref
- Thomas Ehrhard. 2016. Call-By-Push-Value from a Linear Logic Point of View. In Programming Languages and Systems - 25th European Symposium on Programming, ESOP 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2-8, 2016, Proceedings, Peter Thiemann (Ed.) (Lecture Notes in Computer Science, Vol. 9632). Springer, 202–228. https://doi.org/10.1007/978-3-662-49498-1_9
Google Scholar
Cross Ref
- Thomas Ehrhard and Giulio Guerrieri. 2016. The Bang Calculus: an untyped lambda-calculus generalizing call-by-name and call-by-value. In Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming, Edinburgh, United Kingdom, September 5-7, 2016, James Cheney and Germán Vidal (Eds.). ACM, 174–187. https://doi.org/10.1145/2967973.2968608
Google Scholar
Digital Library
- Claudia Faggian and Giulio Guerrieri. 2021. Factorization in Call-by-Name and Call-by-Value Calculi via Linear Logic. In Foundations of Software Science and Computation Structures - 24th International Conference, FOSSACS 2021, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021, Luxembourg City, Luxembourg, March 27 - April 1, 2021, Proceedings, Stefan Kiefer and Christine Tasson (Eds.) (Lecture Notes in Computer Science, Vol. 12650). Springer, 205–225. isbn:978-3-030-71994-4 https://doi.org/10.1007/978-3-030-71995-1_11
Google Scholar
Digital Library
- Philippa Gardner. 1994. Discovering needed reductions using type theory. In Theoretical Aspects of Computer Software, Masami Hagiya and John C. Mitchell (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 555–574. isbn:978-3-540-48383-0
Google Scholar
- Jean-Yves Girard. 1987. Linear Logic. Theor. Comput. Sci., 50 (1987), 1–102. https://doi.org/10.1016/0304-3975(87)90045-4
Google Scholar
Digital Library
- Giulio Guerrieri and Giulio Manzonetto. 2018. The Bang Calculus and the Two Girard’s Translations. In Proceedings Joint International Workshop on Linearity & Trends in Linear Logic and Applications, [email protected] 2018 (EPTCS, Vol. 292). 15–30. https://doi.org/10.4204/EPTCS.292.2
Google Scholar
Cross Ref
- Giulio Guerrieri and Federico Olimpieri. 2021. Categorifying Non-Idempotent Intersection Types. In 29th EACSL Annual Conference on Computer Science Logic, CSL 2021, January 25-28, 2021, Ljubljana, Slovenia (Virtual Conference), Christel Baier and Jean Goubault-Larrecq (Eds.) (LIPIcs, Vol. 183). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 25:1–25:24. https://doi.org/10.4230/LIPIcs.CSL.2021.25
Google Scholar
Cross Ref
- Joshua S. Hodas and Dale Miller. 1994. Logic Programming in a Fragment of Intuitionistic Linear Logic. Information and Computation, 110, 2 (1994), May, 327–365. issn:0890-5401 https://doi.org/10.1006/inco.1994.1036
Google Scholar
Digital Library
- Jack Hughes and Dominic Orchard. 2020. Resourceful Program Synthesis from Graded Linear Types. In Logic-Based Program Synthesis and Transformation: 30th International Symposium, LOPSTR 2020, Bologna, Italy, September 7–9, 2020, Proceedings. Springer-Verlag, Berlin, Heidelberg. 151–170. isbn:978-3-030-68445-7 https://doi.org/10.1007/978-3-030-68446-4_8
Google Scholar
Digital Library
- Axel Kerinec, Giulio Manzonetto, and Simona Ronchi Della Rocca. 2021. Call-By-Value, Again!. In 6th International Conference on Formal Structures for Computation and Deduction, FSCD 2021, July 17-24, 2021, Buenos Aires, Argentina (Virtual Conference), Naoki Kobayashi (Ed.) (LIPIcs, Vol. 195). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 7:1–7:18. https://doi.org/10.4230/LIPIcs.FSCD.2021.7
Google Scholar
Cross Ref
- Delia Kesner and Andrés Viso. 2021. Encoding Tight Typing in a Unified Framework. CoRR, abs/2105.00564 (2021), arxiv:2105.00564. arxiv:2105.00564
Google Scholar
- Jan Willem Klop, Vincent van Oostrom, and Femke van Raamsdonk. 1993. Combinatory Reduction Systems: Introduction and Survey. Theor. Comput. Sci., 121, 1&2 (1993), 279–308. https://doi.org/10.1016/0304-3975(93)90091-7
Google Scholar
Digital Library
- Paul Blain Levy. 1999. Call-by-Push-Value: A Subsuming Paradigm. In Typed Lambda Calculi and Applications, Jean-Yves Girard (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 228–243. isbn:978-3-540-48959-7 https://doi.org/10.1007/3-540-48959-2_17
Google Scholar
Cross Ref
- Zohar Manna and Richard J. Waldinger. 1980. A Deductive Approach to Program Synthesis. ACM Trans. Program. Lang. Syst., 2, 1 (1980), 90–121. https://doi.org/10.1145/357084.357090
Google Scholar
Digital Library
- Dale Miller, Gopalan Nadathur, Frank Pfenning, and Andre Scedrov. 1991. Uniform Proofs as a Foundation for Logic Programming. Ann. Pure Appl. Log., 51, 1-2 (1991), 125–157. https://doi.org/10.1016/0168-0072(91)90068-W
Google Scholar
Cross Ref
- Robin Milner. 1978. A Theory of Type Polymorphism in Programming. J. Comput. System Sci., 17, 3 (1978), 348–375.
Google Scholar
Cross Ref
- Dominic Orchard, Vilem-Benjamin Liepelt, and Harley Eades III. 2019. Quantitative program reasoning with graded modal types. Proceedings of the ACM on Programming Languages, 3, ICFP (2019), 110:1–110:30. https://doi.org/10.1145/3341714
Google Scholar
Digital Library
- Luca Paolini and Simona Ronchi Della Rocca. 1999. Call-By-Value Solvability. RAIRO Theoretical Informatics and Applications, 33, 6 (1999), 507–534. https://doi.org/10.1051/ita:1999130
Google Scholar
Cross Ref
- S Plate. 2013. Automatische Generierung einer Konfiguration fur virtuelle Maschinen unter Zuhilfenahme eines Inhabitationsalgorithmus. Universität Dortmund, Department of Computer Science.
Google Scholar
- Gordon D. Plotkin. 1975. Call-by-Name, Call-by-Value and the lambda-Calculus. Theor. Comput. Sci., 1, 2 (1975), 125–159. https://doi.org/10.1016/0304-3975(75)90017-1
Google Scholar
Cross Ref
- Garrel Pottinger. 1980. A type assignment for the strongly normalizable λ -terms. In To H.B.Curry: Essays on Combinatory Logic, Lambda-calculus and Formalism. Academic Press, 561–577.
Google Scholar
- Pawel Urzyczyn. 1999. The Emptiness Problem for Intersection Types. Journal of Symbolic Logic, 64, 3 (1999), 1195–1215. https://doi.org/10.2307/2586625
Google Scholar
Cross Ref
- Anna Vasileva. 2013. Synthese von Orchestrationscode für Cloud-basierte Dienste. Ph. D. Dissertation. Universität Dortmund, Fakultät Informatik.
Google Scholar
- P Wolf. 2013. Entwicklung einer Adapters mit VI Scripting (LabVIEW) zur Synthese von LEGO(R) NXT-VIs aus einem Repository. Universität Dortmund, Department of Computer Science.
Google Scholar
Index Terms
Quantitative Inhabitation for Different Lambda Calculi in a Unifying Framework
Recommendations
Intersection type calculi of bounded dimension
POPL '17A notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures ...
The Bang Calculus: an untyped lambda-calculus generalizing call-by-name and call-by-value
PPDP '16: Proceedings of the 18th International Symposium on Principles and Practice of Declarative ProgrammingWe introduce and study the Bang Calculus, an untyped functional calculus in which the promotion operation of Linear Logic is made explicit and where application is a bilinear operation. This calculus, which can be understood as an untyped version of ...
Intersection type calculi of bounded dimension
POPL '17: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesA notion of dimension in intersection typed λ-calculi is presented. The dimension of a typed λ-term is given by the minimal norm of an elaboration (a proof theoretic decoration) necessary for typing the term at its type, and, intuitively, measures ...






Comments