exinst
Dependent pairs and their instances.
https://github.com/k0001/exinst
LTS Haskell 22.39: | 0.9 |
Stackage Nightly 2024-10-29: | 0.9 |
Latest on Hackage: | 0.9 |
exinst-0.9@sha256:f211026788df975db7e79f1104238e9dcb24fd9df663df1d8aa10ff398a574ba,1024
Module 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
,Ord
andGeneric
instances now live in theexinst-base
package. This is so thatexinst
doesn’t need to depend on the largesingletons-base
. Users wanting access to those instances need to importExinst.Base
explicitly. -
Builds with GHC 9.4.
-
The tests for
exinst
now 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
hashable
are now always exported from theexinst
, and theaeson
,bytes
,cereal
andserialise
instances are now exported from new packagesexinst-aeson
,exinst-bytes
,exinst-cereal
andexinst-serialise
. The instances exported from those packages are the same as the ones exported withexinst-0.6
.
Version 0.6
-
The
binary
anddeepseq
Cabal 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
cborg
andserialise
-
Add instances for
serialise
(binary CBOR encoding/decoding)
Version 0.4
-
BREAKING: Decouple
binary
andcereal
instances frombytes
. This introduces a slight backwards incompatible change if you were using someSerial
instances that depended on host endianness (such asInt
). -
Add
P1
,P2
,P3
,P4
. -
Add
S1
,S2
,S3
,S4
. -
Add
Read
instances forSome{1,2,3,4}
. -
Moved documentation from
README.md
into the top-levelExinst
module.
Version 0.3.0.1
-
Removed dependency on
generic-random
. -
Correctly deal with cabal flags for
deepseq
andhashable
. -
Add
binary
’sData.Binary.Binary
andcereal
’sData.Serialize.Serialize
instances forSome{1,2,3,4}
. These instances are compatible with each other and rely on theData.Bytes.Serial
instances.
Version 0.3
-
BREAKING: Renamed module
Exinst.Singletons
toExinst
. -
BREAKING: The
Exinst.Instances.Base
module is gone. Thebase
instances are now exported fromExinst
. -
Add
Dict0
. -
Re-export
Constraint
frombase
. -
Add
Dict{0,2,3,4}
instances forBool
. -
Add
GHC.Generics.Generic
support forSome{1,2,3,4}
. This only works for indexes withPEnum
andPBounded
instances. -
Added tests.
-
Added
Test.QuickCheck.Arbitrary
instances forSome{1,2,3,4}
inExinst.Instances.QuickCheck
. These instances and their dependency onQuickCheck
can be toggled with thequickcheck
Cabal flag. -
Added
Data.Aeson.{FromJSON,ToJSON}
instances forSome{1,2,3,4}
inExinst.Instances.Aeson
. These instances and their dependency onaeson
can be toggled with theaeson
Cabal flag. These instances used to exist in now-deprecated theexinst-aeson
package, and are compatible with them. -
Added
Bytes.Serial.Serial
instances forSome{1,2,3,4}
inExinst.Instances.Bytes
. These instances and their dependency onbytes
can be toggled with thebytes
Cabal flag. These instances used to exist in now-deprecated theexinst-bytes
package, and are compatible with them. -
Added
Control.DeepSeq.NFData
instances forSome{1,2,3,4}
inExinst.Instances.DeepSeq
. These instances and their dependency ondeepseq
can be toggled with thedeepseq
Cabal flag. These instances used to exist in now-deprecated theexinst-deepseq
package, and are compatible with them. -
Added
Data.Hashable.Hashable
instances forSome{1,2,3,4}
inExinst.Instances.DeepSeq
. These instances and their dependency onhashable
can be toggled with thehashable
Cabal flag. These instances used to exist in now-deprecated theexinst-hashable
package, and are compatible with them.
Version 0.2
-
Depend on
singletons-2.2
, which meansKProxy
is gone. -
Add
_Some{1,2,3,4}
prisms. -
Add
Dict1
instance 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
singletons
dependency. -
withSome{1,2,3,4}Sing
bringsSingI
instances to scope. -
Generalized the
(* -> Constraint)
parameter inDict{1,2,3,4}
to(k -> Constraint)
.
Version 0.1
- Initial release.