Abstract nonsense: category theory, recursion schemes, dependent types, etc.
 
Go to file
James T. Martin 8a1fad57df
Redefine bifunctors in terms of product categories.
2021-03-01 22:20:17 -08:00
.github/workflows Redefine bifunctors in terms of product categories. 2021-03-01 22:20:17 -08:00
src Redefine bifunctors in terms of product categories. 2021-03-01 22:20:17 -08:00
.editorconfig Working on improving documentation. 2020-10-29 18:48:11 -07:00
.gitignore Rewrite and generalize most of the library; partial LinearTypes support. 2021-03-01 02:21:28 -08:00
LICENSE Monads are monoids in the category of endofunctors! 2020-08-14 20:03:53 -07:00
README.md Rewrite and generalize most of the library; partial LinearTypes support. 2021-03-01 02:21:28 -08:00
Setup.hs Monads are monoids in the category of endofunctors! 2020-08-14 20:03:53 -07:00
hie.yaml Rewrite and generalize most of the library; partial LinearTypes support. 2021-03-01 02:21:28 -08:00
monoids-in-the-category-of-endofunctors.cabal Redefine bifunctors in terms of product categories. 2021-03-01 22:20:17 -08:00

README.md

Monoids in the Category of Endofunctors

This is a toy library for studying the field of Abstract Nonsense through Haskell. Writing this sort of code makes for a fun puzzle, but I want to be absolutely clear that I would never do anything even remotely close to this in a serious codebase. If you want to see code more representative of me as a programming practitioner, please refer to pretty much any project other than this one.

This library currently includes:

  • Category theory (Category)
  • Recursion schemes (Category.Functor.Foldable)
  • Dependent types, type-level programming, and codata (Data)
  • Dependent quantifiers (implemented with the help of a typeclass; Quantifier)

For further information, build and read the Haddock.

Content warning

This library is an abuse of GHC Haskell and an abuse of common sense. Do not attempt to view this library if you are faint of heart.