A categorical manifesto

This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for each concept, but completeness is not attempted. Some additional categorical concepts and some suggestions for further research are also mentioned. The paper concludes with some philosophical discussion.

[1]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part 1: Comma Categories, Colimits, Signatures and Theories , 1984, Theor. Comput. Sci..

[2]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[3]  M. Barr,et al.  Toposes, Triples and Theories , 1984 .

[4]  Joseph A. Goguen,et al.  Types as theories , 1991 .

[5]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part II: Signed and Abstract Theories , 1984, Theor. Comput. Sci..

[6]  P. T. Johnstone,et al.  TOPOSES, TRIPLES AND THEORIES (Grundlehren der mathematischen Wissenschaften 278) , 1986 .

[7]  John C. Reynolds,et al.  Algebraic Methods in Semantics , 1985 .

[8]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[9]  Rod M. Burstall An algebraic description of programs with assertions, verification and simulation , 1972 .

[10]  Eugenio Moggi,et al.  A category-theoretic account of program modules , 1989, Mathematical Structures in Computer Science.

[11]  S Maclane,et al.  Groups, Categories and Duality. , 1948, Proceedings of the National Academy of Sciences of the United States of America.

[12]  Michael Barr,et al.  The Formal Description of Data Types Using Sketches , 1987, MFPS.

[13]  José Meseguer,et al.  An Introduction to OBJ 3 , 1988, CTRS.

[14]  Gian Luigi Ferrari,et al.  Unifying models of concurrency , 1990 .

[15]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[16]  José Meseguer,et al.  Parameterized programming in OBJ2 , 1987, ICSE '87.

[17]  Joseph A. Goguen,et al.  What Is Unification?: A Categorical View of Substitution, Equation and Solution , 1989 .

[18]  Hans-Dieter Ehrich On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types , 1982, JACM.

[19]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation: Part 3: Indexed Categories , 1991, Theor. Comput. Sci..

[20]  W. Hatcher The logical foundations of mathematics , 1981 .

[21]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[22]  J. Hyland The Effective Topos , 1982 .

[23]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[24]  Stuart M. Shieber,et al.  An Introduction to Unification-Based Approaches to Grammar , 1986, CSLI Lecture Notes.

[25]  Joseph A. Goguen,et al.  Mathematical Representation of Hierarchically Organized Systems , 1970 .

[26]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[27]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[28]  Peter Aczel,et al.  Non-well-founded sets , 1988, CSLI lecture notes series.

[29]  S. Maclane,et al.  General theory of natural equivalences , 1945 .

[30]  Joseph A. Goguen,et al.  On Homomorphisms, Correctness, Termination, Unfoldments, and Equivalence of Flow Diagram Programs , 1974, J. Comput. Syst. Sci..

[31]  Gordon D. Plotkin,et al.  The category-theoretic solution of recursive domain equations , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[32]  Joseph A. Goguen,et al.  Reusing and Interconnecting Software Components , 1986, Computer.

[33]  Tony Hoare,et al.  Natural Transformations and Data Refinement , 1988 .

[34]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .

[35]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[36]  J. Goguen Minimal realization of machines in closed categories , 1972 .

[37]  K. Mani Chandy,et al.  Current trends in programming methodology , 1977 .

[38]  Ernst O. Attinger,et al.  Global Systems Dynamics , 1968 .

[39]  Saunders Mac Lane To the Greater Health of Mathematics , 1988 .

[40]  José Meseguer,et al.  Correctness of Recursive Parallel Nondeterministic Flow Programs , 1983, J. Comput. Syst. Sci..

[41]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[42]  S. Lane Categories for the Working Mathematician , 1971 .

[43]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[44]  José Meseguer,et al.  Models and Equality for Logical Programming , 1987, TAPSOFT, Vol.1.

[45]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[46]  Journal of the Association for Computing Machinery , 1961, Nature.

[47]  Richard Kennaway On "On Graph Rewritings" , 1987, Theor. Comput. Sci..

[48]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[49]  George J. Klir Applied General Systems Research , 1978 .

[50]  Jacques Herbrand Badania nad teorja dowodu = Recherches sur la théorie de la démonstration , 1930 .

[51]  R. Goldblatt Topoi, the Categorial Analysis of Logic , 1979 .

[52]  Bruce D. Shriver,et al.  Research Directions in Object-Oriented Programming , 1987 .

[53]  Berthold Hoffmann,et al.  Jungle Evaluation for Efficient Term Rewriting , 1988, ALP.

[54]  Yonghao Ma,et al.  CATEGORICAL APPROACH TO GENERAL SYSTEMS THEORY , 1992 .

[55]  José Meseguer,et al.  Software for the Rewrite Rule Machine , 1988, Fifth Generation Computer Systems.

[56]  Jacques Herbrand Recherches sur la théorie de la démonstration , 1930 .

[57]  José Meseguer,et al.  Petri nets are monoids: a new algebraic foundation for net theory , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[58]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[59]  Saunders MacLane,et al.  Duality for groups , 1950 .

[60]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[61]  Horst Herrlich,et al.  Category theory , 1979 .