Convenience Iso and Prism for finitary types.
sheaf c3868a3a2c Ensure GHC 9.0 compatibility | vor 3 Jahren | |
---|---|---|
src | vor 3 Jahren | |
test | vor 4 Jahren | |
.gitignore | vor 4 Jahren | |
.nvimrc | vor 4 Jahren | |
CHANGELOG.md | vor 4 Jahren | |
LICENSE.md | vor 4 Jahren | |
README.md | vor 4 Jahren | |
Setup.hs | vor 4 Jahren | |
finitary-optics.cabal | vor 3 Jahren |
finitary-optics
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.
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!
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.