• Stars
    star
    515
  • Rank 85,879 (Top 2 %)
  • Language
  • License
    MIT License
  • Created about 8 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Category theory in the context of (functional) programming

Notes on Category Theory and Haskell

The notes can be found here:

  • pdf
  • epub (work in progress, missing diagrams and theorems)

This document contains notes on category theory in the context of (functional) programming. Originally they were lecture notes for a seminar hosted at Centrum Wiskunde & Informatica, the national research centre for mathematics and computer science in the Netherlands. The main reason for compiling these notes is to provide a way to gain familiarity with concepts of category theory (and other branches of mathematics) that apply in a broad sense to the field of functional programming.

Although the main focus is on the mathematics, examples are given in Haskell to illustrate how to apply the concepts. In some places, examples are given in other languages as well (such as Python and C++). The topics discussed include:

  • Categories
  • Types as a category
  • Products
  • Yoneda
  • Closed Cartesian categories
  • Adjunctions
  • Monads
  • F-algebras and recursion
  • Comonads
  • Lenses

Generating the document

The notes are written in Markdown, and pandoc is used to generate the document. Running make inside the doc directory should result in an (updated) pdf, granted that pandoc, pandoc-citeproc and a LaTeX environment are installed.

Contributing

GitHub can be used for any issues (typos, inaccuracies, ...). Pull requests with fixes or additional material are also very welcome.

More Repositories

1

Bulk

A modern interface for implementing bulk-synchronous parallel programs.
C++
93
star
2

pybind11_plus_hana

Example code for generating pybind11 bindings with Boost.Hana.
C++
20
star
3

TPT

Data partitioning toolbox for tomographic reconstruction
C++
14
star
4

TicTacMotion

Simple TicTacToe game in RubyMotion
Ruby
7
star
5

Zee

Distributed matrix library and partitioning framework.
C++
4
star
6

Algorithms

Algorithm reference. Implementations for ACM ICPC programming contests.
C++
4
star
7

dotfiles

dotfiles
Emacs Lisp
4
star
8

Motor

Experimental graphics engine
C
3
star
9

Lifeline

Character recognition for scientific writing, tailored for touchscreens.
C++
3
star
10

Pleiades

Distributed-memory tomographic reconstruction using the ASTRA toolbox, and Bulk.
C++
3
star
11

Arya

An OpenGL engine for RTS games
C++
2
star
12

flags

A header-only C++ library for CLI argument parsing
C++
2
star
13

G2S3

Solutions for the G2S3 Summer School on High Performance Data Analytics
Jupyter Notebook
2
star
14

Starry

iPhone planatarium / astronomy app. I've build this app with Thijs Scheepers as high school seniors for a school project.
Objective-C
1
star
15

MooseFarg

iOS application for a local paint company
Ruby
1
star
16

ebsp-empty-project

This repository can serve as a starting point upon which EBSP programs can be built.
C
1
star
17

Skadi

A simple chess engine written in modern C++
C++
1
star
18

Prismer

Lightweight engine for turn-based strategy games
C
1
star
19

Robo

Intergrated Circuit Simulator for Mac OS X. We have build Robo as a high school project for the VWO NLT module "Digitale Techniek". We are not going to finish this project. If you can use our code, please do! But a mention would be nice.
1
star