{"id":13688163,"url":"https://github.com/jwbuurlage/category-theory-programmers","last_synced_at":"2026-01-29T02:11:16.915Z","repository":{"id":142675077,"uuid":"74686736","full_name":"jwbuurlage/category-theory-programmers","owner":"jwbuurlage","description":"Category theory in the context of (functional) programming","archived":false,"fork":false,"pushed_at":"2018-02-26T15:02:33.000Z","size":8609,"stargazers_count":514,"open_issues_count":2,"forks_count":38,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-11-12T11:40:26.224Z","etag":null,"topics":["category-theory","functional-programming","lecture-notes","mathematics"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwbuurlage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-11-24T15:50:12.000Z","updated_at":"2024-11-08T02:18:33.000Z","dependencies_parsed_at":"2024-01-14T17:58:29.955Z","dependency_job_id":"7a9cfb1c-50cd-4750-b31a-5c72cf9b52a5","html_url":"https://github.com/jwbuurlage/category-theory-programmers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwbuurlage%2Fcategory-theory-programmers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwbuurlage%2Fcategory-theory-programmers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwbuurlage%2Fcategory-theory-programmers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwbuurlage%2Fcategory-theory-programmers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwbuurlage","download_url":"https://codeload.github.com/jwbuurlage/category-theory-programmers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251906718,"owners_count":21663151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["category-theory","functional-programming","lecture-notes","mathematics"],"created_at":"2024-08-02T15:01:08.089Z","updated_at":"2026-01-29T02:11:16.866Z","avatar_url":"https://github.com/jwbuurlage.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Notes on Category Theory and Haskell\n\nThe notes can be found here:\n- [pdf](https://github.com/jwbuurlage/category-theory-programmers/raw/master/doc/categories_for_programmers.pdf)\n- [epub](https://github.com/jwbuurlage/category-theory-programmers/raw/master/doc/categories_for_programmers.epub) (work in progress, missing diagrams and theorems)\n\nThis document contains notes on category theory in the context of (functional) programming. Originally they were lecture notes for a seminar hosted at Centrum Wiskunde \u0026 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.\n\nAlthough 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:\n\n* Categories\n* Types as a category\n* Products\n* Yoneda\n* Closed Cartesian categories\n* Adjunctions\n* Monads\n* F-algebras and recursion\n* Comonads\n* Lenses\n\n## Generating the document\n\nThe 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.\n\n## Contributing\n\nGitHub can be used for any issues (typos, inaccuracies, ...). Pull requests with fixes or additional material are also very welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwbuurlage%2Fcategory-theory-programmers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwbuurlage%2Fcategory-theory-programmers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwbuurlage%2Fcategory-theory-programmers/lists"}