Category Theory Lecture Notes for ESSLLI Michael Barr Department of Mathematics and Statistics McGill University Charles Wells Department of Mathematics Case Western Reserve University c Michael Barr and Charles Wells, 1999 Contents Preface iv 1 Preliminaries 1 1.1 Graphs 1 1.2 Homomorphisms of graphs 2 2 Categories 4 2.1 Basic definitions 4 2.2 Functional programming languages as categories 6 2.3