free-categories: free categories

[ bsd3, control, library ] [ Propose Tags ]

free categories, paths, and categorical folds


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2
Change log CHANGELOG.md
Dependencies base (>=4.12 && <=5) [details]
License BSD-3-Clause
Author Eitan Chatav
Maintainer eitan@morphism.tech
Category Control
Home page http://github.com/morphismtech/free-categories
Bug tracker http://github.com/morphismtech/free-categories/issues
Uploaded by echatav at 2019-10-01T17:38:51Z
Distributions LTSHaskell:0.2.0.2, NixOS:0.2.0.2, Stackage:0.2.0.2
Reverse Dependencies 1 direct, 5 indirect [details]
Downloads 1440 total (24 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-10-01 [all 1 reports]

Readme for free-categories-0.1.0.0

[back to package description]

free-categories

Consider the category of Haskell "quivers" with

  • objects are types of higher kind
    • p :: k -> k -> Type
  • morphisms are terms of RankNType,
    • forall x y. p x y -> q x y
  • identity is id
  • composition is .

Now, consider the subcategory of Haskell Categorys with

  • constrained objects Category c => c
  • morphisms act functorially
    • t :: (Category c, Category d) => c x y -> d x y
    • t id = id
    • t (g . f) = t g . t f

The free category functor from quivers to Categorys may be defined up to isomorphism as

  • the functor Path of type-aligned lists

  • the functor FoldPath of categorical folds

  • abstractly as CFree path => path, the class of left adjoints to the functor which forgets the constraint on Category c => c

  • or as any isomorphic data structure