packages feed

large-generics 0.2.0.0 → 0.2.1

raw patch · 5 files changed

+35/−4 lines, 5 filesdep +deepseqdep ~basedep ~primitivePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: deepseq

Dependency ranges changed: base, primitive

API changes (from Hackage documentation)

+ Data.Record.Generic: type Constraints a :: (Type -> Constraint) -> Constraint;
+ Data.Record.Generic: type MetadataOf a :: [(Symbol, Type)];
+ Data.Record.Generic.NFData: grnf :: (Generic a, Constraints a NFData) => a -> ()
- Data.Record.Generic: [Dict] :: forall k (c :: k -> Constraint) (a :: k). c a => Dict c a
+ Data.Record.Generic: [Dict] :: forall {k} (c :: k -> Constraint) (a :: k). c a => Dict c a
- Data.Record.Generic: mapIIK :: forall k a b c (d :: k). (a -> b -> c) -> I a -> I b -> K c d
+ Data.Record.Generic: mapIIK :: forall {k} a b c (d :: k). (a -> b -> c) -> I a -> I b -> K c d
- Data.Record.Generic: mapIK :: forall k a b (c :: k). (a -> b) -> I a -> K b c
+ Data.Record.Generic: mapIK :: forall {k} a b (c :: k). (a -> b) -> I a -> K b c
- Data.Record.Generic: mapIKI :: forall k a b c (d :: k). (a -> b -> c) -> I a -> K b d -> I c
+ Data.Record.Generic: mapIKI :: forall {k} a b c (d :: k). (a -> b -> c) -> I a -> K b d -> I c
- Data.Record.Generic: mapIKK :: forall k1 k2 a b c (d :: k1) (e :: k2). (a -> b -> c) -> I a -> K b d -> K c e
+ Data.Record.Generic: mapIKK :: forall {k1} {k2} a b c (d :: k1) (e :: k2). (a -> b -> c) -> I a -> K b d -> K c e
- Data.Record.Generic: mapKI :: forall k a b (c :: k). (a -> b) -> K a c -> I b
+ Data.Record.Generic: mapKI :: forall {k} a b (c :: k). (a -> b) -> K a c -> I b
- Data.Record.Generic: mapKII :: forall k a b c (d :: k). (a -> b -> c) -> K a d -> I b -> I c
+ Data.Record.Generic: mapKII :: forall {k} a b c (d :: k). (a -> b -> c) -> K a d -> I b -> I c
- Data.Record.Generic: mapKIK :: forall k1 k2 a b c (d :: k1) (e :: k2). (a -> b -> c) -> K a d -> I b -> K c e
+ Data.Record.Generic: mapKIK :: forall {k1} {k2} a b c (d :: k1) (e :: k2). (a -> b -> c) -> K a d -> I b -> K c e
- Data.Record.Generic: mapKK :: forall k1 k2 a b (c :: k1) (d :: k2). (a -> b) -> K a c -> K b d
+ Data.Record.Generic: mapKK :: forall {k1} {k2} a b (c :: k1) (d :: k2). (a -> b) -> K a c -> K b d
- Data.Record.Generic: mapKKI :: forall k1 k2 a b c (d :: k1) (e :: k2). (a -> b -> c) -> K a d -> K b e -> I c
+ Data.Record.Generic: mapKKI :: forall {k1} {k2} a b c (d :: k1) (e :: k2). (a -> b -> c) -> K a d -> K b e -> I c
- Data.Record.Generic: mapKKK :: forall k1 k2 k3 a b c (d :: k1) (e :: k2) (f :: k3). (a -> b -> c) -> K a d -> K b e -> K c f
+ Data.Record.Generic: mapKKK :: forall {k1} {k2} {k3} a b c (d :: k1) (e :: k2) (f :: k3). (a -> b -> c) -> K a d -> K b e -> K c f
- Data.Record.Generic: unComp :: forall l k f (g :: k -> l) (p :: k). (f :.: g) p -> f (g p)
+ Data.Record.Generic: unComp :: forall {l} {k} f (g :: k -> l) (p :: k). (f :.: g) p -> f (g p)
- Data.Record.Generic: unK :: forall k a (b :: k). K a b -> a
+ Data.Record.Generic: unK :: forall {k} a (b :: k). K a b -> a

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for large-generics +## 0.2.1 -- 2023-03-06++* Support ghc 9.4+ ## 0.2.0.0 -- 2022-04-06  * Use `SmallArray` instead of `Vector`
large-generics.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               large-generics-version:            0.2.0.0+version:            0.2.1 synopsis:           Generic programming API for large-records and large-anon description:        The large-generics package offers a style of generic                     programming inspired by generics-sop, but optimized for@@ -13,7 +13,7 @@ maintainer:         edsko@well-typed.com category:           Generics extra-source-files: CHANGELOG.md-tested-with:        GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.2+tested-with:        GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.7 || ==9.4.4  library   exposed-modules:@@ -32,6 +32,7 @@       Data.Record.Generic.JSON       Data.Record.Generic.Lens.VL       Data.Record.Generic.LowerBound+      Data.Record.Generic.NFData       Data.Record.Generic.Show   default-language:       Haskell2010@@ -41,8 +42,9 @@   hs-source-dirs:       src   build-depends:-      base         >= 4.13  && < 4.17-    , aeson        >= 1.4.4 && < 2.1+      base         >= 4.13  && < 4.18+    , aeson        >= 1.4.4 && < 2.2+    , deepseq      >= 1.4.4 && < 1.5     , generics-sop >= 0.5   && < 0.6     , sop-core     >= 0.5   && < 0.6     , primitive    >= 0.7   && < 0.8
src/Data/Record/Generic.hs view
@@ -5,6 +5,7 @@ {-# LANGUAGE GADTs                #-} {-# LANGUAGE KindSignatures       #-} {-# LANGUAGE TypeFamilies         #-}+{-# LANGUAGE TypeOperators        #-} {-# LANGUAGE UndecidableInstances #-}  module Data.Record.Generic (
+ src/Data/Record/Generic/NFData.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE TypeApplications #-}++module Data.Record.Generic.NFData (+    grnf+  ) where++import Control.DeepSeq (NFData, rnf)+import Data.Record.Generic+import qualified Data.Record.Generic.Rep as Rep++-- | Generic rnf function+--+-- Typical usage:+--+-- > instance NFData T where+-- >   rnf = grnf+--+grnf :: (Generic a, Constraints a NFData) => a -> ()+grnf =+    rnf+  . Rep.collapse+  . Rep.cmap (Proxy @NFData) (mapIK rnf)+  . from
src/Data/Record/Generic/SOP.hs view
@@ -10,6 +10,7 @@ {-# LANGUAGE StandaloneDeriving      #-} {-# LANGUAGE TypeApplications        #-} {-# LANGUAGE TypeFamilies            #-}+{-# LANGUAGE TypeOperators           #-} {-# LANGUAGE UndecidableInstances    #-} {-# LANGUAGE UndecidableSuperClasses #-}