exinst
Dependent pairs and their instances.
https://github.com/k0001/exinst
| LTS Haskell 24.16: | 0.9 |
| Stackage Nightly 2025-10-24: | 0.9 |
| Latest on Hackage: | 0.9 |
exinst-0.9@sha256:f211026788df975db7e79f1104238e9dcb24fd9df663df1d8aa10ff398a574ba,1024Module documentation for 0.9
exinst
See the BSD3 LICENSE file to learn about the legal terms and conditions for this library.
Find documentation for this library in the top-level
Exinst
module.
Changes
Version 0.9
-
BACKWARDS COMPATIBLE COMPILER ASSISTED CHANGE: The
Show,Read,Eq,OrdandGenericinstances now live in theexinst-basepackage. This is so thatexinstdoesn’t need to depend on the largesingletons-base. Users wanting access to those instances need to importExinst.Baseexplicitly. -
Builds with GHC 9.4.
-
The tests for
exinstnow live inexinst-base.
Version 0.8
- Builds with GHC 8.10 and
singletons-2.7.
Version 0.7
- BACKWARDS COMPATIBLE COMPILER ASSISTED CHANGE: All of the cabal flags
for turning on and off instances were removed. The
hashableare now always exported from theexinst, and theaeson,bytes,cerealandserialiseinstances are now exported from new packagesexinst-aeson,exinst-bytes,exinst-cerealandexinst-serialise. The instances exported from those packages are the same as the ones exported withexinst-0.6.
Version 0.6
-
The
binaryanddeepseqCabal flags were removed since these two packages are always included with the GHC distribution, so it doesn’t make sense to make them optional. -
The optional dependencies hidden behind Cabal flags now apply to the test suite as well.
-
Builds with GHC 8.4.
Version 0.5
-
BREAKING: Depend on
singletons == 2.3.*. -
Add
same{1,2,3,4}. -
Add dependencies on
cborgandserialise -
Add instances for
serialise(binary CBOR encoding/decoding)
Version 0.4
-
BREAKING: Decouple
binaryandcerealinstances frombytes. This introduces a slight backwards incompatible change if you were using someSerialinstances that depended on host endianness (such asInt). -
Add
P1,P2,P3,P4. -
Add
S1,S2,S3,S4. -
Add
Readinstances forSome{1,2,3,4}. -
Moved documentation from
README.mdinto the top-levelExinstmodule.
Version 0.3.0.1
-
Removed dependency on
generic-random. -
Correctly deal with cabal flags for
deepseqandhashable. -
Add
binary’sData.Binary.Binaryandcereal’sData.Serialize.Serializeinstances forSome{1,2,3,4}. These instances are compatible with each other and rely on theData.Bytes.Serialinstances.
Version 0.3
-
BREAKING: Renamed module
Exinst.SingletonstoExinst. -
BREAKING: The
Exinst.Instances.Basemodule is gone. Thebaseinstances are now exported fromExinst. -
Add
Dict0. -
Re-export
Constraintfrombase. -
Add
Dict{0,2,3,4}instances forBool. -
Add
GHC.Generics.Genericsupport forSome{1,2,3,4}. This only works for indexes withPEnumandPBoundedinstances. -
Added tests.
-
Added
Test.QuickCheck.Arbitraryinstances forSome{1,2,3,4}inExinst.Instances.QuickCheck. These instances and their dependency onQuickCheckcan be toggled with thequickcheckCabal flag. -
Added
Data.Aeson.{FromJSON,ToJSON}instances forSome{1,2,3,4}inExinst.Instances.Aeson. These instances and their dependency onaesoncan be toggled with theaesonCabal flag. These instances used to exist in now-deprecated theexinst-aesonpackage, and are compatible with them. -
Added
Bytes.Serial.Serialinstances forSome{1,2,3,4}inExinst.Instances.Bytes. These instances and their dependency onbytescan be toggled with thebytesCabal flag. These instances used to exist in now-deprecated theexinst-bytespackage, and are compatible with them. -
Added
Control.DeepSeq.NFDatainstances forSome{1,2,3,4}inExinst.Instances.DeepSeq. These instances and their dependency ondeepseqcan be toggled with thedeepseqCabal flag. These instances used to exist in now-deprecated theexinst-deepseqpackage, and are compatible with them. -
Added
Data.Hashable.Hashableinstances forSome{1,2,3,4}inExinst.Instances.DeepSeq. These instances and their dependency onhashablecan be toggled with thehashableCabal flag. These instances used to exist in now-deprecated theexinst-hashablepackage, and are compatible with them.
Version 0.2
-
Depend on
singletons-2.2, which meansKProxyis gone. -
Add
_Some{1,2,3,4}prisms. -
Add
Dict1instance forBool. -
Add
some{1,2,3,4}SingRep. -
Thanks to Sandy Maguire for having contributed to this release.
Version 0.1.2
-
Export the
Some{1,2,3,4}constructors. -
Make all the fields in
Some{1,2,3,4}strict. -
Relax upper bound on
base,singletons,constraints. -
Re-export
Dict(Dict)fromconstraints.
Version 0.1.1
-
Relax upper bound on
singletonsdependency. -
withSome{1,2,3,4}SingbringsSingIinstances to scope. -
Generalized the
(* -> Constraint)parameter inDict{1,2,3,4}to(k -> Constraint).
Version 0.1
- Initial release.