Skip to content
Category theory applied to functional programming (undergraduate project)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
.gitignore
README.md
abstract.tex
acknowledgements.tex
algebras.tex
bibliography.tex
cain-print.tex
cain-screen.tex
cain.bib
cain.tex
categories.tex
conclusions.tex
constructions.tex
contents.tex
cover.tex
dedication.tex
epigraph.tex
frontispiece.tex
functors.tex
hatter.png
introduction.tex
main.tex
makefile
monads.tex
naturals.tex
ow-fuck.tex
preamble.tex
title.tex

README.md

Category theory applied to functional programming

Abstract

We study some of the applications of category theory to functional programming, particularly in the context of the Haskell functional programming language, and the Agda dependently typed functional programming language and proof assistant. More specifically, we describe and explain the concepts of category theory needed for conceptualizing and better understanding algebraic data types and folds, functors, monads, and parametrically polymorphic functions. With this purpose, we give a detailed account of categories, functors and endofunctors, natural transformations, monads and Kleisli triples, algebras and initial algebras over endofunctors, among others. In addition, we explore all of these concepts from the standpoints of categories and programming in Haskell, and, in some cases, Agda. In other words, we examine functional programming through category theory.

You can’t perform that action at this time.