Lilac: a functional programming language based on linear logic

We take Abramsky's term assignment for Intuitionistic Linear Logic (the linear term calculus) as the basis of a functional programming language. This is a language where the programmer must embed explicitly the resource and control information of an algorithm. We give a type reconstruction algorithm for our language in the style of Milner's W algorithm, together with a description of the implementation and examples of use.

[1]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[2]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

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

[4]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[5]  Luís Damas Type assignment in programming languages , 1984 .

[6]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

[7]  Chris Hankin,et al.  Abstract Interpretation of Declarative Languages , 1987 .

[8]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[9]  Peter G. Harrison,et al.  Functional Programming , 1988 .

[10]  Jean-Yves Girard,et al.  Towards a geometry of interaction , 1989 .

[11]  J. Girard,et al.  Proofs and types , 1989 .

[12]  Robin Milner,et al.  Definition of standard ML , 1990 .

[13]  Colin Runciman,et al.  Linearity and Laziness , 1991, FPCA.

[14]  Philip Wadler Is there a use for linear logic , 1991 .

[15]  Peter W. O'Hearn Linear Logic and Interference Control , 1991, Category Theory and Computer Science.

[16]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[17]  P. Lincoln,et al.  Operational aspects of linear lambda calculus , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[18]  Valeria C V de Paiva,et al.  Term Assignment for Intuitionistic Linear Logic , 1992 .

[19]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[20]  Martín Abadi,et al.  The geometry of optimal lambda reduction , 1992, POPL '92.

[21]  Carl A. Gunter,et al.  Proving memory management invariants for a language based on linear logic , 1992, LFP '92.

[22]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

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

[24]  G. Rozenber,et al.  Current Trends in Theoretical Computer Science , 1993 .

[25]  Ian Mackie,et al.  An internal language for autonomous categories , 1993, Theory and Formal Methods.