All Versions
15
Latest Version
Avg Release Cycle
77 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v0.9.1.0 Changes
- ๐ Fix
conIdToString
(it was completely broken) - โ Add
conIdMin
andconIdMax
representing the leftmost and rightmost constructors of a data type. - โ Add
NonEmptyType
andIsEmptyType
to express the constraint that a generic type must or must not be empty. - Reexport
Generic
andGeneric1
for convenience.
- ๐ Fix
-
v0.9.0.0 Changes
- ๐ Improved definition of
gfoldMap
,gtraverse
, andsequenceA
. The optimized Core ofTraversable
instances eliminates allGHC.Generic
instance boilerplate. In many cases, it is identical to the result of GHC'sDeriveFoldable
andDeriveTraversable
extensions (note: this was already not a problem forgfmap
).
It's worth noting that there are currently issues with inlining which prevent optimizations that generic-data would ideally rely on.
+ The biggest issue is that GHC will not even inline the `to` and `from` methods of the `Generic` instance it derives for large types (this shows up at around 5 constructors and 10 fields, which is indeed not really big). This will be fixed by a patch for GHC (WIP): https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2965 + There appear to be some more inlining issues beyond that (issue #40).
- ๐ Improved definition of
-
v0.8.3.0 Changes
- โ Add generic
Read
. Thanks to RyanGlScott.
- โ Add generic
-
v0.8.2.0 Changes
- โ Add microsurgery
CopyRep
. - ๐ Improve documentation of
Microsurgery
module. - ๐ Fix a bug where
gshowsPrec
would incorrectly display prefix uses of symbol data constructors or record selectors (e.g.,data R = (:!:) Int Int
ordata S = MkS { (##) :: Int -> Int }
). Thanks to RyanGlScott. - ๐ Fix a bug where
gshowsPrec
would incorrectly display infix uses of alphanumeric data constructors (e.g.,data T = Int `MkT` Int
). Thanks to RyanGlScott.
- โ Add microsurgery
-
v0.8.1.0 Changes
- โ Add
Old
type family mapping newtypes to their underlying type.
- โ Add
-
v0.8.0.0 Changes
February 16, 2020- โ Add
GenericProduct
, for derivingvia GenericProduct B
whenB
is not the typeA
you want the derived instance for. Note this used to beGenerically
's behavior forMonoid
before 0.7.0.0. โ Add generic implementations for
Ix
. Thanks to Topsii.โ Add
conIdNamed
, to get aConId
by its type-level nameโ Add instance
Show (ConId a)
๐ Improve type errors for deriving
Semigroup
andMonoid
viaGenerically
. Thanks to yairchu.
- โ Add
-
v0.7.0.0 Changes
May 04, 2019- ๐ Changed
Monoid
instance forGenerically
, to be compatible with users' non-generic instances ofSemigroup
. Thanks to yairchu. - โ Add
gcoerce
,gcoerceBinop
.
- ๐ Changed
-
v0.6.0.1 Changes
April 25, 2019- ๐ Fix derivation of
Show1
for(:.:)
- ๐ Fix derivation of
-
v0.6.0.0 Changes
March 27, 2019- โ Add
Surgery
newtype for DerivingVia Derecordify
,Typeage
,RenameFields
,RenameConstrs
,OnFields
are no longer type families, but defunctionalized symbols to be applied usingGSurgery
.
- โ Add
-
v0.5.0.0 Changes
January 04, 2019- Specialize
onData
toData
- โ Add some instances for
U1
andV1
inMicrosurgery
- โ Add
OnFields
andDOnFields
surgeries ("higher-kindification")
- Specialize