/invertible

Haskell bidirectional arrows, bijective functions, and invariant functors

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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.