## Calculate Categorically! (1992)

Venue: | Formal Aspects of Computing |

Citations: | 4 - 0 self |

### BibTeX

@ARTICLE{Fokkinga92calculatecategorically!,

author = {Maarten Fokkinga},

title = {Calculate Categorically!},

journal = {Formal Aspects of Computing},

year = {1992},

volume = {4},

pages = {69--2}

}

### OpenURL

### Abstract

this paper is an alternative to diagram chasing (4). The use of a standard notation for various unique arrows obviates in some cases the need for pictures for the purpose of naming (2). The need for a pictorial overview of the typing (1) is decreased to some extend by a consistent notation, in particular f ; g for composition (so that f : a ! b g: b ! c ) f

### Citations

440 |
Can programming be liberated from the von neumann style? A functional style and its algebra of programs
- Backus
- 1978
(Show Context)
Citation Context ...may interpret our activity as functional programming, though for specifications that are a bit unusual. The combinations and transformations of morphisms (functions) are fully in the spirit of Backus =-=[Bac78]-=- and Meertens [Mee86]. One should note that nowhere in this text a morphism (function) is applied to an argument; it is just by composing functions in various ways that new functions are formed and eq... |

394 |
Category Theory for Computing Science
- Barr, Wells
- 1999
(Show Context)
Citation Context ...ughes [Hug90]. 7 Overview. The remainder of the chapter is organised as follows. We assume that the reader is familiar with the very basics of category theory; Goldblatt [Gol79, Chapters 2,3,9], Barr =-=[BW90]-=-, and Pierce [Pie91] give a good introduction. In the next section we discuss initiality, and give some preliminaries. Then we specialise the laws for initiality to products and sums in Section 3, to ... |

285 | Why Functional Programming Matters
- Hughes
- 1990
(Show Context)
Citation Context ...ed. The absence of restrictions on combining functions (except for typing constraints) has often been claimed to be a major benefit of functional programming, for example by Backus [Bac78] and Hughes =-=[Hug90]-=-. 7 Overview. The remainder of the chapter is organised as follows. We assume that the reader is familiar with the very basics of category theory; Goldblatt [Gol79, Chapters 2,3,9], Barr [BW90], and P... |

225 |
Predicate Calculus and program semantics
- Dijkstra, Scholten
- 1990
(Show Context)
Citation Context ...ep by step to the simpler one. This style of conducting and reading proofs requires some exercising to get used to; once mastered it turns out to be an effective way of working. Dijkstra and Scholten =-=[DS90]-=- discuss this style in detail, and attribute the calculational format to Feijen, and van Gasteren [Gas88]. 4 Calculation with initiality. There is no problem in presenting the pasting of two diagrams ... |

217 |
Categories for the working mathematician, volume 5
- Lane
- 1998
(Show Context)
Citation Context ... Subject Classification: 18A05, 69D11, 69F32, 69F33. Key Words and Phrases: category theory, diagram chasing, initiality, algebraic calculation, functional programming. 1 Introduction Category Theory =-=[ML71]-=- is a field of mathematics that seeks to discuss and unify many concepts occurring in mathematics. In the last decade it has proved useful for computing science as well; this may be evident from the r... |

172 |
Basic Category Theory for Computer Scientists
- Pierce
- 1991
(Show Context)
Citation Context ...erview. The remainder of the chapter is organised as follows. We assume that the reader is familiar with the very basics of category theory; Goldblatt [Gol79, Chapters 2,3,9], Barr [BW90], and Pierce =-=[Pie91]-=- give a good introduction. In the next section we discuss initiality, and give some preliminaries. Then we specialise the laws for initiality to products and sums in Section 3, to initial algebras in ... |

123 |
The categorical abstract machine
- Cousineau, Curien, et al.
- 1987
(Show Context)
Citation Context ... of algebraic specification, but also to formalise and prove results for practical aspects like language design and implementation (e.g., Hagino [Hag87b, Hag87a], Reynolds [Rey80] and Cousineau et al =-=[CCM85]-=-) and program derivation (e.g., Malcolm [Mal90a, Mal90b], Meijer [Mei92], Paterson [Pat90], and Fokkinga [Fok92]). In this chapter we pave the way for a style of proof that is an alternative to the co... |

105 |
Data structures and program transformation
- Malcolm
- 1990
(Show Context)
Citation Context ...Set so that, actually, we have quite involved calculations with algorithms (functions). Calculations with algorithms working on more usual datatypes are explored extensively by, for instance, Malcolm =-=[Mal90b]-=- and Fokkinga [Fok92]. Acknowledgements. This note is heavily influenced by what other people have taught me in the past three years. In particular Roland Backhouse, Grant Malcolm, Lambert Meertens an... |

97 |
and Order in Algorithmics
- Law
- 1992
(Show Context)
Citation Context ...and implementation (e.g., Hagino [Hag87b, Hag87a], Reynolds [Rey80] and Cousineau et al [CCM85]) and program derivation (e.g., Malcolm [Mal90a, Mal90b], Meijer [Mei92], Paterson [Pat90], and Fokkinga =-=[Fok92]-=-). In this chapter we pave the way for a style of proof that is an alternative to the conventional one in Category Theory: calculation instead of diagram chasing. In effect, it is a form of Functional... |

96 |
Algorithmics: Towards programming as a mathematical activity
- Meertens
- 1986
(Show Context)
Citation Context ...ivity as functional programming, though for specifications that are a bit unusual. The combinations and transformations of morphisms (functions) are fully in the spirit of Backus [Bac78] and Meertens =-=[Mee86]-=-. One should note that nowhere in this text a morphism (function) is applied to an argument; it is just by composing functions in various ways that new functions are formed and equalities are proved. ... |

84 |
Algebraic Data Types and Program Transformation
- Malcolm
- 1990
(Show Context)
Citation Context ...is the key to calculational reasoning. The use of equivalences to characterise initiality (and more generally, universality) has been thoroughly advocated by Hoare [Hoa89]. As far as we know, Malcolm =-=[Mal90a]-=- was the first to use this style of reasoning in a formal way for the derivation of functional programs over initial algebras. 6 Functional programming. In this text all arrows (in the sequel called m... |

55 | Computational category theory - Rydeheard, Burstall - 1988 |

51 |
Using category theory to design implicit conversions and generic operators
- Reynolds
- 1980
(Show Context)
Citation Context ... semantics, and fundamentals of algebraic specification, but also to formalise and prove results for practical aspects like language design and implementation (e.g., Hagino [Hag87b, Hag87a], Reynolds =-=[Rey80]-=- and Cousineau et al [CCM85]) and program derivation (e.g., Malcolm [Mal90a, Mal90b], Meijer [Mei92], Paterson [Pat90], and Fokkinga [Fok92]). In this chapter we pave the way for a style of proof that... |

46 | A typed lambda calculus with categorical type constructors - Hagino - 1987 |

43 |
Calculating Compilers
- Meijer
- 1992
(Show Context)
Citation Context ... practical aspects like language design and implementation (e.g., Hagino [Hag87b, Hag87a], Reynolds [Rey80] and Cousineau et al [CCM85]) and program derivation (e.g., Malcolm [Mal90a, Mal90b], Meijer =-=[Mei92]-=-, Paterson [Pat90], and Fokkinga [Fok92]). In this chapter we pave the way for a style of proof that is an alternative to the conventional one in Category Theory: calculation instead of diagram chasin... |

31 | Category Theoretic Approach to Data Types - Hagino - 1987 |

23 |
Structure and Functors: The Categorical Imperative
- Arbib, Manes, et al.
- 1975
(Show Context)
Citation Context ... = source(g) , is an arrow again." Thus, a mathematical structure, when studied categorically, has to be modeled as a system of arrows. This may pose serious problems to the newcomer; Arbib and M=-=anes [AM75]-=- teach how to think in terms of arrows. The prominent role of arrows invites to use pictures containing (a lot of) arrows, so-called diagrams, as a tool in categorical proofs. The conventional style o... |

22 | Datatype Laws without Signatures - Fokkinga - 1996 |

22 |
On the Shape of Mathematical Arguments
- Gasteren
- 1988
(Show Context)
Citation Context ...et used to; once mastered it turns out to be an effective way of working. Dijkstra and Scholten [DS90] discuss this style in detail, and attribute the calculational format to Feijen, and van Gasteren =-=[Gas88]. 4 -=-Calculation with initiality. There is no problem in presenting the pasting of two diagrams as a calculation. For example, pasting `squares' (a) ' ; f = p ; / and (b) / ; g = q ; �� along `edge' / ... |

8 |
Lecture notes on constructive functional programming
- Bird
- 1988
(Show Context)
Citation Context ...; b; c; d (a \Psi b) j fl (c \Psi d) = (a j fl c) \Psi (b j fl d) . Writing a \Psi b as a b and a j fl b as a j b , the equation reads a b j c d = a j c b j d . The term abide has been coined by Bird =-=[Bir89] and comes-=- from "above-beside." In category theory this property is called the `middle exchange rule.' (f r g) \Delta (h r j) = (f \Delta h) r (g \Delta j) j r -Charn [x; f; g := lhs; f \Delta h; g \D... |

8 |
Notes on an Approach to Category Theory for Computer Scientists
- Hoare
- 1989
(Show Context)
Citation Context ...e shall see that this formalisation is the key to calculational reasoning. The use of equivalences to characterise initiality (and more generally, universality) has been thoroughly advocated by Hoare =-=[Hoa89]-=-. As far as we know, Malcolm [Mal90a] was the first to use this style of reasoning in a formal way for the derivation of functional programs over initial algebras. 6 Functional programming. In this te... |

4 | Topoi — the Categorical Analysis of Logic, volume 98 - Goldblatt - 1979 |

1 |
Organized by CWI
- Operators
- 1990
(Show Context)
Citation Context ... like language design and implementation (e.g., Hagino [Hag87b, Hag87a], Reynolds [Rey80] and Cousineau et al [CCM85]) and program derivation (e.g., Malcolm [Mal90a, Mal90b], Meijer [Mei92], Paterson =-=[Pat90]-=-, and Fokkinga [Fok92]). In this chapter we pave the way for a style of proof that is an alternative to the conventional one in Category Theory: calculation instead of diagram chasing. In effect, it i... |

1 | editors. Category Theory and Computer Science, volume 240 of Lect - Pitt, Abramsky, et al. - 1986 |