Abstract
We investigate impure, call-by-value programming languages. Our first language only has variables and let-binding. Its equational theory is a variant of Lambek's theory of multicategories that omits the commutativity axiom.
We demonstrate that type constructions for impure languages --- products, sums and functions --- can be characterized by universal properties in the setting of 'premulticategories', multicategories where the commutativity law may fail. This leads us to new, universal characterizations of two earlier equational theories of impure programming languages: the premonoidal categories of Power and Robinson, and the monad-based models of Moggi. Our analysis thus puts these earlier abstract ideas on a canonical foundation, bringing them to a new, syntactic level.
- M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Levy. Explicit substitutions. J. Funct. Program., 1(4):375--416, 1991.Google Scholar
Cross Ref
- T. Altenkirch, J. Chapman, and T. Uustalu. Monads need not be endofunctors. In FOSSACS'10, pages 297--311, 2010. Google Scholar
Digital Library
- R. Atkey. What is a categorical model of arrows? In Proc. MSFP'08, pages 19--37, 2011.Google Scholar
Digital Library
- P. N. Benton and P. Wadler. Linear logic, monads and the lambda calculus. In Proc. LICS'96, pages 420--431, 1996. Google Scholar
Digital Library
- A. Burroni. T-categories (categories dans un triple). Cahiers Topologie Geom. Differentielle, 12(3):215--312, 1971.Google Scholar
- A. Burroni. Higher dimensional word problem. In Proc. CTCS'91, pages 94--105, 1991. Google Scholar
Digital Library
- P.-L. Curien. Operads, clones, and distributive laws. In Operads and Universal Algebra, 2010.Google Scholar
- J. Egger, R. E. Møgelberg, and A. Simpson. Enriching an effect calculus with linear types. In Proc. CSL'09, pages 240--254, 2009. Google Scholar
Digital Library
- M. P. Fiore. Semantic analysis of normalisation by evaluation for typed lambda calculus. In Proc. PPDP'02, pages 26--37, 2002. Google Scholar
Digital Library
- C. Flanagan, A. Sabry, B. F. Duba, and M. Felleisen. The essence of compiling with continuations. In Proc. PLDI'93, pages 237--247, 1993. Google Scholar
Digital Library
- F. Foltz, C. Lair, and G. M. Kelly. Algebraic categories with few monoidal biclosed structures or none. J. Pure and Applied Algebra, 17:171--177, 1980.Google Scholar
Cross Ref
- C. Führmann. Direct models of the computational lambda-calculus. In Proc. MFPS XV, pages 147--172, 1999.Google Scholar
Cross Ref
- H. Herbelin. A lambda-calculus structure isomorphic to Gentzen-style sequent calculus structure. In Proc. CSL'94, pages 61--75, 1994. Google Scholar
Digital Library
- C. Hermida. Representable multicategories. Advances in Mathematics, 151:164--225, 2000.Google Scholar
Cross Ref
- M. Hyland. Multicategories in and around algebra and logic. Invited talk, TACL'09. Slides available from the author's home page, 2009.Google Scholar
- B. Jacobs. Semantics of weakening and contraction. Annals of Pure and Applied Logic, 69(1):73--106, 1994.Google Scholar
Cross Ref
- B. Jacobs and I. Hasuo. Freyd is Kleisli, for arrows. In Proc. MSFP'06, 2006. Google Scholar
Digital Library
- A. Jeffrey. Premonoidal categories and a graphical view of programs. Unpublished, 1997.Google Scholar
- A. Kock. Monads on symmetric monoidal closed categories. Archiv der Math., 21:1--10, 1970.Google Scholar
Cross Ref
- Y. Lafont. Towards an algebraic theory of Boolean circuits. J. Pure Appl. Algebra, 184(2-3):257--310, 2003.Google Scholar
Cross Ref
- J. Lambek. Deductive systems and categories II. In Category theory, homology theory and their applications, volume 86 of LNM, pages 76--122. Springer, 1969.Google Scholar
- T. Leinster. Higher operads, higher categories. CUP, 2004.Google Scholar
Cross Ref
- P. B. Levy. Call-by-push-value. Springer, 2004.Google Scholar
- P. B. Levy, J. Power, and H. Thielecke. Modelling environments in call-by-value programming languages. Inform. Comput., 2003. Google Scholar
Digital Library
- F. Linton. Autonomous equational categories. Indiana Univ. Math. J., 15:637--642, 1966.Google Scholar
Cross Ref
- G. McCusker. A fully abstract relational model of syntactic control of interference. In Proc. CSL'02, pages 247--261, 2002. Google Scholar
Digital Library
- P. Melli`es and N. Tabareau. Linear continuations and duality. hal.archives-ouvertes.fr/hal-00339156, 2008.Google Scholar
- R. E. Møgelberg and S. Staton. Linearly-used state in models of callby-value. In CALCO'11, pages 298--313, 2011. Google Scholar
Digital Library
- E. Moggi. Computational lambda-calculus and monads. In LICS'89, pages 14--23, 1989. Google Scholar
Digital Library
- E. Moggi. Notions of computation and monads. Inform. Comput., 93 (1), 1991. Google Scholar
Digital Library
- P. W. O'Hearn. On bunched typing. J. Funct. Program., 13(4):747--796, 2003. Google Scholar
Digital Library
- J. Power. Premonoidal categories as categories with algebraic structure. Theor. Comput. Sci., 278(1-2):303--321, 2002. Google Scholar
Digital Library
- J. Power and E. Robinson. Premonoidal categories and notions of computation. Math. Struct. Comput. Sci., 7(5):453--468, 1997. Google Scholar
Digital Library
- J. Power and H. Thielecke. Closed Freyd- and kappa-categories. In Proc. ICALP'99, 1999. Google Scholar
Digital Library
- U. S. Reddy. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation, 9(1):7--76, 1996.Google Scholar
Cross Ref
- J. G. Stell. Modelling term rewriting systems by sesqui-categories. Technical Report TR94-02, Keele University, 1994.Google Scholar
Index Terms
Universal properties of impure programming languages
Recommendations
Universal properties of impure programming languages
POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesWe investigate impure, call-by-value programming languages. Our first language only has variables and let-binding. Its equational theory is a variant of Lambek's theory of multicategories that omits the commutativity axiom.
We demonstrate that type ...
An equational notion of lifting monad
Category theory and computer scienceWe introduce the notion of an equational lifting monad: a commutative strong monad satisfying one additional equation (valid for monads arising from partial map classifiers). We prove that any equational lifting monad has a representation by a partial ...
Algebraic properties of LA-languages
In this study, we introduce the concepts of L-valued regular substitution (LA-substitution), deterministic L-valued regular substitution (DLA-substitution), L-valued fuzzy homomorphism and its inverse images, homomorphism and its inverse images for a ...







Comments