- Add instances for
SSymbol
,SNat
andSChar
from `base >=4.18.0.0'
-
Add EqP and OrdP classes. These are strong versions of Eq1 and Ord1, and on the other hand weaker versions of
GEq
andGCompare
. They are exactly what's needed forEq
andOrd
instances ofSome
.The naming is unfortunate:
GShow
would be better namedShowP
, as it's similar version ofShow1
.Note: we could add
ReadP
withreadsPrecP :: 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
andOrdP
will become superclasses ofGEq
andGCompare
Eq (Some t)
will requireEqP t
, similarly forOrd
andOrdP
.GShow
will getforall a. Show (f a)
superclass. (This will cause removal ofProduct
andSum
instances forbase <4.18
).
To ease future transition you may
- Define
EqP
andOrdP
instances for your types. ThedefaultEq
anddefaultCompare
methods can be used to defineeqp
andcomparep
fromGEq
andGCompare
instances respectively. - Move to use
GHC.Generics.:*:
and:+:
instead ofData.Functor.Product
andSum
, as these have betterEq
andOrd
instances.
- Drop support for GHC before 8.6
- 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
- Make
GNFData
PolyKinded. - Add
GNFData ((:~:) a)
andGNFData TypeRep
instances
- Explicitly mark
Data.Some
asSafe
. 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
- Add 'withSomeM' combinator. Allows to workaround: https://gitlab.haskell.org/ghc/ghc/issues/15681
- One less
unsafeCoerce
(thanks to David Feuer)
- Broken release
- Fix issue with GHC#9585 https://gitlab.haskell.org/ghc/ghc/issues/9584
- Split out of
dependent-sum
- Have
GADT
,Newtype
,Church
variants - Add
NFData
instance