Bounded Linear Types in a Resource Semiring

Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring. For this type system we provide both a general type-inference procedure, parameterized by the decision procedure of the semiring equational theory, and a coherent categorical semantics. This could be a useful type-theoretic and denotational framework for resource-sensitive compilation, and it represents a generalization of several existing type systems. As a non-trivial instance, motivated by hardware compilation, we present a complex new application to calculating and controlling timing of execution in a recursion-free higher-order functional programming language with local store.

[1]  Martin Hofmann,et al.  Linear types and non-size-increasing polynomial time computation , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[2]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[3]  Nicolas Tabareau,et al.  Resource modalities in tensor logic , 2010, Ann. Pure Appl. Log..

[4]  Martin Hofmann,et al.  Bounded Linear Logic, Revisited , 2009, TLCA.

[5]  Karl Crary,et al.  Resource bound certification , 2000, POPL '00.

[6]  G. M. Kelly,et al.  On MacLane's conditions for coherence of natural associativities, commutativities, etc. , 1964 .

[7]  Andrzej S. Murawski,et al.  Compositional Model Extraction for Higher-Order Concurrent Programs , 2006, TACAS.

[8]  Ugo Dal Lago,et al.  Linear Dependent Types and Relative Completeness , 2011, 2011 IEEE 26th Annual Symposium on Logic in Computer Science.

[9]  Ugo Dal Lago,et al.  The geometry of types , 2012, POPL.

[10]  John C. Reynolds,et al.  The essence of ALGOL , 1997 .

[11]  Andrzej S. Murawski,et al.  Syntactic control of concurrency , 2006, Theor. Comput. Sci..

[12]  Andre Scedrov,et al.  Bounded Linear Logic: A Modular Approach to Polynomial-Time Computability , 1992, Theor. Comput. Sci..

[13]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[14]  John C. Reynolds,et al.  Syntactic control of interference , 1978, POPL.

[15]  Nicolas Tabareau,et al.  An Algebraic Account of References in Game Semantics , 2009, MFPS.

[16]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[17]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[18]  Dan R. Ghica,et al.  Geometry of synthesis: a structured approach to VLSI design , 2007, POPL '07.

[19]  Dan R. Ghica,et al.  From bounded affine types to automatic timing analysis , 2013, ArXiv.

[20]  Marco Gaboardi,et al.  A Core Quantitative Coeffect Calculus , 2014, ESOP.

[21]  Giulio Manzonetto,et al.  Weighted Relational Models of Typed Lambda-Calculi , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[22]  Dan R. Ghica,et al.  Geometry of synthesis III: resource management through type inference , 2011, POPL '11.

[23]  Gérard Boudol,et al.  The Lambda-Calculus with Multiplicities (Abstract) , 1993, CONCUR.

[24]  Peter W. O'Hearn On bunched typing , 2003, J. Funct. Program..

[25]  Dan R. Ghica,et al.  Slot games: a quantitative model of computation , 2005, POPL '05.