Abstract nonsense: category theory, recursion schemes, dependent types, etc.
 
Go to file
James T. Martin 69f0312c8d
Rewrite.
I ended up re-implementing most of the functionality of this library
while trying to implement a categorical model of a programming
language I was working on, so I went ahead and copied most of it
over here.

The new version is still missing some features, such as
linear functions, monadic bind, the Unc typeclass, and haddock.
It also makes a few different design decisions, which come
with their own trade-offs.
2024-01-04 15:11:41 -08:00
.github/workflows Redefine bifunctors in terms of product categories. 2021-03-01 22:20:17 -08:00
src Rewrite. 2024-01-04 15:11:41 -08:00
.editorconfig Rewrite. 2024-01-04 15:11:41 -08:00
.gitignore Rewrite. 2024-01-04 15:11:41 -08:00
LICENSE.txt Rewrite. 2024-01-04 15:11:41 -08:00
README.md Rewrite. 2024-01-04 15:11:41 -08:00
monoids-in-the-category-of-endofunctors.cabal Rewrite. 2024-01-04 15:11:41 -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 you probably shouldn't use this for any serious work.

This library currently includes:

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

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.