proarrow: Category theory with a central role for profunctors
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
A library for doing category theory in Haskell with profunctors, rather
than functors, as the central abstraction. Every Haskell kind carries at
most one category structure (chosen via CategoryOf), newtype wrappers on
kinds give variant categories, and functors are encoded as representable
profunctors. On top of this the library provides monoidal structure,
(co)limits, adjunctions, Kan extensions, promonads, and a full
profunctor-optics hierarchy.
.
Import Proarrow to get started; Proarrow.Core explains the design of the
core abstractions in depth. The public sublibrary proarrow:testing provides
generic law-checking properties for testing your own categories. Rendered
documentation is available at https://sjoerdvisscher.github.io/proarrow/.
[Skip to Readme]
Properties
| Versions | 0.1, 0.1.0.0 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.20 && <5), containers (>=0.6 && <0.9), data-default (>=0.7 && <0.9), falsify (>=0.4 && <0.5), fin (>=0.3.2 && <1), proarrow, tasty (>=1.4 && <1.6), tasty-falsify (>=0.1 && <0.2), universe-base (>=1.1.4 && <1.2), vec (>=0.5.1 && <1) [details] |
| License | BSD-3-Clause |
| Author | Sjoerd Visscher |
| Maintainer | sjoerd@w3future.com |
| Category | Math, Categories |
| Home page | https://github.com/sjoerdvisscher/proarrow |
| Bug tracker | https://github.com/sjoerdvisscher/proarrow/issues |
| Uploaded | by SjoerdVisscher at 2026-09-28T12:48:48Z |
library proarrow
Modules
- Proarrow
- Proarrow.Adjunction
- Category
- Proarrow.Category.Enriched
- Proarrow.Category.Enriched.Dagger
- Proarrow.Category.Enriched.Finitary
- Proarrow.Category.Enriched.Finitary.Sheaf
- Proarrow.Category.Enriched.Finitary.Topos
- Proarrow.Category.Enriched.Quantale
- Proarrow.Category.Enriched.Thin
- Proarrow.Category.Enriched.Thin.Composition
- Instance
- Proarrow.Category.Instance.Bool
- Proarrow.Category.Instance.Collage
- Proarrow.Category.Instance.Constraint
- Proarrow.Category.Instance.Coproduct
- Proarrow.Category.Instance.Cospan
- Proarrow.Category.Instance.Cost
- Proarrow.Category.Instance.Discrete
- Proarrow.Category.Instance.Duploid
- Proarrow.Category.Instance.Fam
- Proarrow.Category.Instance.FinHask
- Proarrow.Category.Instance.FinRel
- Proarrow.Category.Instance.FinSet
- Proarrow.Category.Instance.Free
- Proarrow.Category.Instance.Graph
- Proarrow.Category.Instance.Hask
- Proarrow.Category.Instance.IntConstruction
- Proarrow.Category.Instance.Kleisli
- Proarrow.Category.Instance.Linear
- Proarrow.Category.Instance.Mat
- Proarrow.Category.Instance.Monoid
- Proarrow.Category.Instance.Nat
- Proarrow.Category.Instance.Opposite
- Proarrow.Category.Instance.Ordinal
- Proarrow.Category.Instance.Paths
- Proarrow.Category.Instance.PointedHask
- Proarrow.Category.Instance.Product
- Proarrow.Category.Instance.Prof
- Proarrow.Category.Instance.Rel
- Proarrow.Category.Instance.Rep
- Proarrow.Category.Instance.Simplex
- Proarrow.Category.Instance.Span
- Proarrow.Category.Instance.Sub
- Proarrow.Category.Instance.Unit
- Proarrow.Category.Instance.ZX
- Proarrow.Category.Instance.Zero
- Proarrow.Category.Internal
- Proarrow.Category.Monoidal
- Proarrow.Category.Monoidal.Action
- Proarrow.Category.Monoidal.Applicative
- Proarrow.Category.Monoidal.Cartesian
- Proarrow.Category.Monoidal.Closed
- Proarrow.Category.Monoidal.Coclosed
- Proarrow.Category.Monoidal.CompactClosed
- Proarrow.Category.Monoidal.CopyDiscard
- Proarrow.Category.Monoidal.Distributive
- Proarrow.Category.Monoidal.EndoProf
- Proarrow.Category.Monoidal.Hypergraph
- Proarrow.Category.Monoidal.Rev
- Proarrow.Category.Monoidal.StarAutonomous
- Proarrow.Category.Monoidal.Strength
- Proarrow.Category.Monoidal.Strictified
- Proarrow.Category.Promonoidal
- Proarrow.Category.Sheaf
- Proarrow.Category.Topos
- Proarrow.Category.Enriched
- Proarrow.Colimit
- Proarrow.Colimit.BinaryCoproduct
- Proarrow.Colimit.Coequalizer
- Proarrow.Colimit.Copower
- Proarrow.Colimit.Initial
- Proarrow.Colimit.NaturalNumbers
- Proarrow.Colimit.Pushout
- Proarrow.Core
- Proarrow.Functor
- Proarrow.Limit
- Proarrow.Limit.BinaryProduct
- Proarrow.Limit.Equalizer
- Proarrow.Limit.Power
- Proarrow.Limit.Pullback
- Proarrow.Limit.Terminal
- Proarrow.Monoid
- Proarrow.Object
- Proarrow.Optic
- Proarrow.Optic.Action
- Proarrow.Optic.AffineFold
- Proarrow.Optic.AffineTraversal
- Proarrow.Optic.Day
- Proarrow.Optic.Fold
- Proarrow.Optic.Getter
- Proarrow.Optic.Glass
- Proarrow.Optic.Grate
- Proarrow.Optic.Iso
- Proarrow.Optic.Kaleidoscope
- Proarrow.Optic.Lens
- Proarrow.Optic.MonoidalLens
- Proarrow.Optic.MonoidalTraversal
- Proarrow.Optic.PowerGrate
- Proarrow.Optic.Prism
- Proarrow.Optic.Prod
- Proarrow.Optic.Setter
- Proarrow.Optic.Sum
- Proarrow.Optic.Tracer
- Proarrow.Optic.Traversal
- Proarrow.Optics
- Proarrow.Path
- Profunctor
- Proarrow.Profunctor.Cofree
- Proarrow.Profunctor.Corepresentable
- Proarrow.Profunctor.Free
- Instance
- Proarrow.Profunctor.Instance.Adj
- Proarrow.Profunctor.Instance.Arrow
- Proarrow.Profunctor.Instance.Cocone
- Proarrow.Profunctor.Instance.Composition
- Proarrow.Profunctor.Instance.Cone
- Proarrow.Profunctor.Instance.Constant
- Proarrow.Profunctor.Instance.Coproduct
- Proarrow.Profunctor.Instance.Costar
- Proarrow.Profunctor.Instance.Coyoneda
- Proarrow.Profunctor.Instance.Day
- Proarrow.Profunctor.Instance.Direp
- Proarrow.Profunctor.Instance.Edges
- Proarrow.Profunctor.Instance.Exponential
- Proarrow.Profunctor.Instance.Fix
- Proarrow.Profunctor.Instance.Fold
- Proarrow.Profunctor.Instance.HaskValue
- Proarrow.Profunctor.Instance.Identity
- Proarrow.Profunctor.Instance.Initial
- Proarrow.Profunctor.Instance.List
- Proarrow.Profunctor.Instance.PastroTambara
- Proarrow.Profunctor.Instance.Product
- Proarrow.Profunctor.Instance.Ran
- Proarrow.Profunctor.Instance.Rift
- Proarrow.Profunctor.Instance.Sieve
- Proarrow.Profunctor.Instance.Star
- Proarrow.Profunctor.Instance.Terminal
- Proarrow.Profunctor.Instance.Wrapped
- Proarrow.Profunctor.Instance.Yoneda
- Proarrow.Profunctor.Representable
- Proarrow.Promonad
- Proarrow.Promonad.Cont
- Proarrow.Promonad.Reader
- Proarrow.Promonad.State
- Proarrow.Promonad.Writer
- Proarrow.Squares
- Tools
- Proarrow.Tools.CCC
- Proarrow.Tools.DPO
- Diagrams
- Proarrow.Tools.Diagrams.Dot
- Proarrow.Tools.Diagrams.Svg
- Proarrow.Tools.Laws
- Proarrow.Universal
library proarrow:testing
Modules
- Proarrow
- Proarrow.Testing
- Proarrow.Testing.Laws
- Proarrow.Testing.Laws.Run
- Proarrow.Testing.Laws
- Proarrow.Testing
Downloads
- proarrow-0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees