Table of Contents

Cover
Preface

  1. Part One

    1. Category: The Essence of Composition
    2. Types and Functions
    3. Categories Great and Small
    4. Kleisli Categories
    5. Products and Coproducts
    6. Simple Algebraic Data Types
    7. Functors
    8. Functoriality
    9. Function Types
    10. Natural Transformations
  2. Part Two

    1. Declarative Programming
    2. Limits and Colimits
    3. Free Monoids
    4. Representable Functors
    5. The Yoneda Lemma
    6. Yoneda Embedding
  3. Part Three

    1. It's All About Morphisms
    2. Adjunctions
    3. Free/Forgetful Adjunctions
    4. Monads: Programmer’s Definition
    5. Monads and Effects
    6. Monads Categorically
    7. Comonads
    8. F-Algebras
    9. Algebras for Monads
    10. Ends and Coends
    11. Kan Extensions
    12. Enriched Categories
    13. Topoi
    14. Lawvere Theories
    15. Monads, Monoids, and Categories