invertible: bidirectional arrows, bijective functions, and invariant functors

[ bsd3, composition, control, data, library ] [ Propose Tags ] [ Report a vulnerability ]

Representations and operations for bidirectional arrows (total isomorphisms: an arrow paired with its inverse). Classes for invariant functors and monoidal functors. Includes a number of useful bijections and operations, as well as interoperability with related packages.

Most users will want to import one or more of Data.Invertible qualified, Control.Invertible.Monoidal unqualified, and any additional compatibility modules.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
arrows

Support the arrows package

Disabled
invariant

Support the invariant package

Enabled
lens

Support the lens package

Enabled
partial-isomorphisms

Support the partial-isomorphisms package

Enabled
piso

Support the Piso package

Disabled
semigroupoids

Support the semigroupoids package

Enabled
typecompose

Support the TypeCompose package

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.2, 0.2.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.0.4, 0.2.0.5, 0.2.0.6, 0.2.0.7, 0.2.0.8
Dependencies base (>=4.8 && <5), haskell-src-meta (>=0.6 && <0.9), invariant, lens (>=4 && <6), partial-isomorphisms, semigroupoids (>=4), template-haskell (>=2 && <3), transformers [details]
Tested with ghc ==7.10.3, ghc ==8.0.1
License BSD-3-Clause
Copyright 2016
Author Dylan Simon
Maintainer dylan@dylex.net
Category Data, Control, Composition
Source repo head: git clone https://github.com/dylex/invertible
Uploaded by DylanSimon at 2023-07-04T16:52:58Z
Distributions LTSHaskell:0.2.0.8, NixOS:0.2.0.8, Stackage:0.2.0.8
Reverse Dependencies 5 direct, 1 indirect [details]
Downloads 7876 total (69 in the last 30 days)
Rating 1.25 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for invertible-0.2.0.8

[back to package description]
Haskell bidirectional arrows, bijective functions, and invariant functors

Representations and operations for bidirectional arrows (total isomorphisms: an
arrow paired with its inverse).  Classes for invariant functors and monoidal
functors.  Includes a number of useful bijections and operations, as well as
interoperability with related packages.

See also: semigroupoids, TypeCompose, lens, semi-iso, partial-isomorphisms, and
Piso packages.

Artem Alimarine, et al. There and Back Again: Arrows for Invertible
  Programming. Haskell '05.