@hackage / finitary-optics

Prisms and Isos between finitary types.

Latest1.0.0.0

About

Metadata

  • Last updated , by sheaf
  • License GPL-3.0-or-later
  • Maintained by: Sam Derbyshire

  • Lottery factor: 0

Links

Installation

Tested Compilers

  1. 9.0.1
  2. 8.10.1
  3. 8.8.3
  4. 8.6.5

Readme

finitary-optics

What's this all about, then?

If a type has an instance of Finitary, we know the type's cardinality n, and can convert any (non-bottom) inhabitant to a value of Finite n. We can use this to inter-convert between these types. This can sometimes be useful.

This library provides some optics (specifically a Prism and an Iso) which help us do this kind of conversion more conveniently.

Sounds good! Can I use it?

We've tested this library on GHCs 8.6.5, 8.8.3 and 8.10.1, on GNU/Linux x86_64. If you use this library on any other platforms, let us know how it goes - especially if something breaks!

License

This library is under the GNU General Public License, version 3 or later (SPDX code GPL-3.0-or-later). For more details, see the LICENSE.md file.