1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
# 1.0.6
- Add instances for `SSymbol`, `SNat` and `SChar` from `base >=4.18.0.0'
# 1.0.5
- Add EqP and OrdP classes.
These are strong versions of Eq1 and Ord1, and on the other hand
weaker versions of `GEq` and `GCompare`.
They are exactly what's needed for `Eq` and `Ord` instances of `Some`.
The naming is unfortunate: `GShow` would be better named `ShowP`,
as it's similar version of `Show1`.
Note: we could add `ReadP` with `readsPrecP :: Int -> ReadS (t a)` method,
but it will barely have any instances.
`GRead` is different, as it can reify the type index for many types,
e.g. for the singletons.
In some future there will be major version of `some` with following
breaking changes:
- `EqP` and `OrdP` will become superclasses of `GEq` and `GCompare`
- `Eq (Some t)` will require `EqP t`, similarly for `Ord` and `OrdP`.
- `GShow` will get `forall a. Show (f a)` superclass. (This will cause removal of `Product` and `Sum` instances for `base <4.18`).
To ease future transition you may
- Define `EqP` and `OrdP` instances for your types.
The `defaultEq` and `defaultCompare` methods can be used to define
`eqp` and `comparep` from `GEq` and `GCompare` instances respectively.
- Move to use `GHC.Generics.:*:` and `:+:` instead of `Data.Functor.Product` and `Sum`, as these have better `Eq` and `Ord` instances.
# 1.0.4.1
- Drop support for GHC before 8.6
# 1.0.4
- Add instances for `(:~~:)`
- Add instances for `:+:` and `:*:`
- Add `defaultGeq :: GCompare f => f a -> f b -> Maybe (a :~: b)`
- Add `defaultGshowsPrec :: Show (t a) => Int -> t a -> ShowS`
# 1.0.3
- Make `GNFData` PolyKinded.
- Add `GNFData ((:~:) a)` and `GNFData TypeRep` instances
# 1.0.2
- Explicitly mark `Data.Some` as `Safe`.
It was previously inferred, yet it was Safe too,
as it only re-exports other explicitly marked modules.
- Allow `base-4.15`, GHC-9.0 compatibility
# 1.0.1
- Add 'withSomeM' combinator.
Allows to workaround: https://gitlab.haskell.org/ghc/ghc/issues/15681
# 1.0.0.3
- One less `unsafeCoerce` (thanks to David Feuer)
# 1.0.0.2
- Broken release
# 1.0.0.1
- Fix issue with GHC#9585 https://gitlab.haskell.org/ghc/ghc/issues/9584
# 1
- Split out of `dependent-sum`
- Have `GADT`, `Newtype`, `Church` variants
- Add `NFData` instance
|