{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,4]],"date-time":"2024-09-04T21:53:08Z","timestamp":1725486788179},"reference-count":64,"publisher":"Cambridge University Press (CUP)","issue":"1","license":[{"start":{"date-parts":[[2009,3,4]],"date-time":"2009-03-04T00:00:00Z","timestamp":1236124800000},"content-version":"unspecified","delay-in-days":6578,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Math. Struct. Comp. Sci."],"published-print":{"date-parts":[[1991,3]]},"abstract":"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.<\/jats:p>","DOI":"10.1017\/s0960129500000050","type":"journal-article","created":{"date-parts":[[2009,3,4]],"date-time":"2009-03-04T09:03:24Z","timestamp":1236157404000},"page":"49-67","source":"Crossref","is-referenced-by-count":124,"title":["A categorical manifesto"],"prefix":"10.1017","volume":"1","author":[{"given":"Joseph A.","family":"Goguen","sequence":"first","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2009,3,4]]},"reference":[{"key":"S0960129500000050_ref021","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1986.1663146"},{"key":"S0960129500000050_ref041","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-50667-5_71"},{"key":"S0960129500000050_ref033","first-page":"80","volume-title":"Current Trends in Programming Methodology, IV","author":"Goguen","year":"1976"},{"key":"S0960129500000050_ref018","doi-asserted-by":"publisher","DOI":"10.1007\/BF01843493"},{"key":"S0960129500000050_ref020","first-page":"234","volume-title":"Proc. First Int. Symp. on Category Theory Applied to Computation and Control","author":"Goguen","year":"1975"},{"key":"S0960129500000050_ref017","doi-asserted-by":"publisher","DOI":"10.1090\/S0002-9904-1972-13032-5"},{"key":"S0960129500000050_ref057","volume":"661","author":"Par\u00e9","year":"1978","journal-title":"Indexed Categories and their Applications, Springer Lecture Notes in Mathematics"},{"key":"S0960129500000050_ref016","first-page":"112","volume-title":"Global Systems Dynamics","author":"Goguen","year":"1971"},{"key":"S0960129500000050_ref019","doi-asserted-by":"publisher","DOI":"10.1016\/S0022-0000(74)80028-0"},{"key":"S0960129500000050_ref010","first-page":"1","article-title":"Introduction to the algebraic theory of graph grammars","volume":"73","author":"Ehrig","year":"1979","journal-title":"Graph Gramars and their Application to Computer Science and Biology, Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref009","doi-asserted-by":"publisher","DOI":"10.1145\/322290.322303"},{"key":"S0960129500000050_ref008","volume-title":"Categorical Combinators, Sequential Algorithms, and Functional Programming","author":"Curien","year":"1986"},{"key":"S0960129500000050_ref028","first-page":"258","article-title":"An introduction to OBJ3","volume":"308","author":"Goguen","year":"1988","journal-title":"Proc. Conf. on Conditional Term Rewriting, Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref044","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(87)90079-X"},{"key":"S0960129500000050_ref002","volume-title":"Toposes, Triples and Theories, Grundlehren der mathematischen Wissenschafter","author":"Barr","year":"1984"},{"key":"S0960129500000050_ref036","volume-title":"Topoi, the Categorial Analysis of Logic","author":"Goldblatt","year":"1979"},{"key":"S0960129500000050_ref012","unstructured":"Ferrari G. L. (1990) Unifying models of concurrency. PhD thesis, University of Pisa."},{"key":"S0960129500000050_ref043","volume":"279","author":"Keller","year":"1987","journal-title":"Proc. Graph Reduction Workshop, Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref031","first-page":"417","volume-title":"Research Directions in Object-Oriented Programming","author":"Goguen","year":"1987"},{"key":"S0960129500000050_ref014","first-page":"51","volume-title":"Proc. Ninth Int. Conf. on Software Engineering","author":"Futatsugi","year":"1987"},{"key":"S0960129500000050_ref034","unstructured":"Goguen J. Thatcher J. Wagner E. and Wright J. (1973) A junction between computer science and category theory, I: Basic concepts and examples (part 1). Technical Report, IBM Watson Research Center, Yorktown Heights, NY. Research Report RC 4526."},{"key":"S0960129500000050_ref001","article-title":"Non-well-founded Sets. Center for the Study of Language and Information, Stanford University","volume":"14","author":"Aczel","year":"1988","journal-title":"CSLI Lecture Notes"},{"key":"S0960129500000050_ref061","doi-asserted-by":"publisher","DOI":"10.1137\/0211062"},{"key":"S0960129500000050_ref022","first-page":"217","volume-title":"Resolution of Equations in Algebraic Structures, Vol. 1: Algebraic Techniques","author":"Goguen","year":"1988"},{"key":"S0960129500000050_ref023","volume-title":"Proc. Symp. on General Topology and Applications","author":"Goguen","year":"1990"},{"key":"S0960129500000050_ref004","first-page":"374","article-title":"Intuitionistische betrachtungen \u00fcber den formalismus","volume":"31","author":"Brouwer","year":"1928","journal-title":"Koninklijke Akademie van wetenschappen te Amsterdam, Proc. Section of Sciences"},{"key":"S0960129500000050_ref050","volume-title":"The Tree of Knowledge","author":"Maturana","year":"1987"},{"key":"S0960129500000050_ref024","unstructured":"Goguen J. and Burstall R. (1980) CAT, a system for the structured elaboration of correct programs from structured specifications. Technical Report CSL-118, SRI Computer Science Laboratory."},{"key":"S0960129500000050_ref025","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(84)90134-8"},{"key":"S0960129500000050_ref026","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(84)90036-7"},{"key":"S0960129500000050_ref007","first-page":"292","article-title":"The semantics of Clear, a specification language","volume":"86","author":"Burstall","year":"1980","journal-title":"Proc. 1979 Copenhagen Winter School on Abstract Software Specification, Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref027","first-page":"257","volume-title":"Applied General Systems Research","author":"Goguen","year":"1978"},{"key":"S0960129500000050_ref056","unstructured":"Moggi E. (1989) A category-theoretic account of program modules. Laboratory for Foundations of Computer Science, University of Edinburgh."},{"key":"S0960129500000050_ref015","unstructured":"Glauert J. R. W. Hammond K. Kennaway J. R. Papadopoulos G.A. and Sleep M. R. (1988) DACTL: Some introductory papers. Technical Report SYS-C88\u201308, School of Information Systems, University of East Anglia."},{"key":"S0960129500000050_ref029","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(83)90043-0"},{"key":"S0960129500000050_ref030","first-page":"1","article-title":"Models and equality for logical programming","volume":"250","author":"Goguen","year":"1987","journal-title":"Proc. 1987 TAPSOFT, Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref032","first-page":"628","volume-title":"Proc. Int. Conf. on Fifth Generation Computer Systems 1988","author":"Goguen","year":"1988"},{"key":"S0960129500000050_ref013","first-page":"52","volume-title":"Proc. Twelfth ACM Symp. on Principles of Programming Languages","author":"Futatsugi","year":"1985"},{"key":"S0960129500000050_ref059","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0073967"},{"key":"S0960129500000050_ref035","doi-asserted-by":"publisher","DOI":"10.1145\/321992.321997"},{"key":"S0960129500000050_ref037","volume-title":"The Logical Foundations of Mathematics","author":"Hatcher","year":"1982"},{"key":"S0960129500000050_ref005","doi-asserted-by":"publisher","DOI":"10.1145\/800235.807068"},{"key":"S0960129500000050_ref038","article-title":"Recherches sur la theorie de la demonstration","volume":"33","author":"Herbrand","year":"1930","journal-title":"Travaux de la Soci\u00e9t\u00e9des Sciences et des Lettres de Varsovie, Classe III"},{"key":"S0960129500000050_ref011","doi-asserted-by":"publisher","DOI":"10.1090\/S0002-9947-1945-0013131-6"},{"key":"S0960129500000050_ref039","volume-title":"Category Theory","author":"Herrlich","year":"1973"},{"key":"S0960129500000050_ref051","first-page":"459","volume-title":"Algebraic Methods in Semantics","author":"Meseguer","year":"1985"},{"key":"S0960129500000050_ref040","volume-title":"Natural transformations and data refinement","author":"Hoare","year":"1988"},{"key":"S0960129500000050_ref042","volume-title":"The Brouwer Symposium","author":"Hyland","year":"1982"},{"key":"S0960129500000050_ref045","volume-title":"Introduction to Higher Order Categorical Logic","author":"Lambek","year":"1986"},{"key":"S0960129500000050_ref046","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.34.6.263"},{"key":"S0960129500000050_ref053","unstructured":"Milner R. (1971) An algebraic definition of simulation between programs. Technical Report CS-205, Stanford University, Computer Science Department."},{"key":"S0960129500000050_ref047","volume-title":"Categories for the Working Mathematician","author":"MacLane","year":"1971"},{"key":"S0960129500000050_ref006","first-page":"1045","volume-title":"Proc. Fifth Int. Joint Conf. on Artificial Intelligence","author":"Burstall","year":"1977"},{"key":"S0960129500000050_ref049","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.50.5.869"},{"key":"S0960129500000050_ref060","unstructured":"Shieber S. (1986) An Introduction to Unification-Based Approaches to Grammar, Center for the Study of Language and Information."},{"key":"S0960129500000050_ref063","unstructured":"Tracz W. J. (1990) Formal specification of parameterized programs in LILLEANNA. PhD thesis, Stanford University, to appear."},{"key":"S0960129500000050_ref052","volume-title":"Proc. Symp. on Logic in Computer Science","author":"Meseguer","year":"1988"},{"key":"S0960129500000050_ref054","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-10235-3"},{"key":"S0960129500000050_ref058","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(84)90021-5"},{"key":"S0960129500000050_ref055","unstructured":"Moggi E. (1988) Computational lambda-calculus and monads. Technical Report ECS-LFCS-88\u201366, Laboratory for Foundations of Computer Science, University of Edinburgh."},{"key":"S0960129500000050_ref003","article-title":"The formal description of data types using sketches","volume":"298","author":"Barr","year":"1988","journal-title":"Mathematical Foundations of Programming Language Semantics. Springer Lecture Notes in Computer Science"},{"key":"S0960129500000050_ref062","unstructured":"Tarlecki A. Burstall R. and Goguen J. (1989) Some fundamental algebraic tools for the semantics of computation, part 3: Indexed categories. Technical Report PRG-77, Programming Research Group, Oxford University. Theoret. Comput. Sci. to appear."},{"key":"S0960129500000050_ref048","doi-asserted-by":"publisher","DOI":"10.1007\/BF03026636"},{"key":"S0960129500000050_ref064","volume-title":"Process and Reality","author":"Whitehead","year":"1969"}],"container-title":["Mathematical Structures in Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0960129500000050","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,17]],"date-time":"2019-05-17T22:20:38Z","timestamp":1558131638000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0960129500000050\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1991,3]]},"references-count":64,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1991,3]]}},"alternative-id":["S0960129500000050"],"URL":"https:\/\/doi.org\/10.1017\/s0960129500000050","relation":{},"ISSN":["0960-1295","1469-8072"],"issn-type":[{"value":"0960-1295","type":"print"},{"value":"1469-8072","type":"electronic"}],"subject":[],"published":{"date-parts":[[1991,3]]}}}