packages feed

vinyl 0.12.2 → 0.12.3

raw patch · 3 files changed

+13/−12 lines, 3 filesdep ~aesondep ~base

Dependency ranges changed: aeson, base

Files

Data/Vinyl/Derived.hs view
@@ -92,14 +92,14 @@ rputf' :: forall l v v' record us us'.           (HasField record l us us' v v', KnownSymbol l, RecElemFCtx record ElField)        => Label l -> v' -> record ElField us -> record ElField us'-rputf' _ = rput' @(l:::v) . (Field :: v' -> ElField '(l,v'))+rputf' _ = rput' @_ @(l:::v) . (Field :: v' -> ElField '(l,v'))  -- | Set a named field without changing its type. @rputf #foo 23@ sets -- the field named @#foo@ to @23@. rputf :: forall l v record us.           (HasField record l us us v v, KnownSymbol l, RecElemFCtx record ElField)        => Label l -> v -> record ElField us -> record ElField us-rputf _ = rput @(l:::v) . Field+rputf _ = rput @_ @(l:::v) . Field  -- | A lens into a 'Rec' identified by a 'Label'. rlensfL' :: forall l v v' record g f us us'.
Data/Vinyl/Lens.hs view
@@ -46,7 +46,7 @@ -- the constraint solver realize that this is a decidable predicate -- with respect to the judgemental equality in @k@. class (i ~ RIndex r rs, NatToInt i)-  => RecElem record r r' rs rs' (i :: Nat) | r r' rs i -> rs' where+  => RecElem (record :: (k -> *) -> [k] -> *) (r :: k) (r' :: k) (rs :: [k]) (rs' :: [k]) (i :: Nat) | r r' rs i -> rs' where   -- | An opportunity for instances to generate constraints based on   -- the functor parameter of records passed to class methods.   type RecElemFCtx record (f :: k -> *) :: Constraint@@ -98,16 +98,16 @@   {-# INLINE rlensC #-}   rgetC = getConst . rlensC Const   {-# INLINE rgetC #-}-  rputC y = getIdentity . rlensC @_ @r (\_ -> Identity y)+  rputC y = getIdentity . rlensC @_ @_ @r (\_ -> Identity y)   {-# INLINE rputC #-}  instance (RIndex r (s ': rs) ~ 'S i, RecElem Rec r r' rs rs' i)   => RecElem Rec r r' (s ': rs) (s ': rs') ('S i) where   rlensC f (x :& xs) = fmap (x :&) (rlensC f xs)   {-# INLINE rlensC #-}-  rgetC = getConst . rlensC @_ @r @r' Const+  rgetC = getConst . rlensC @_ @_ @r @r' Const   {-# INLINE rgetC #-}-  rputC y = getIdentity . rlensC @_ @r (\_ -> Identity y)+  rputC y = getIdentity . rlensC @_ @_ @r (\_ -> Identity y)   {-# INLINE rputC #-}  --  | The 'rgetC' field getter with the type arguments re-ordered for@@ -119,15 +119,16 @@  -- | The type-changing field setter 'rputC' with the type arguments -- re-ordered for more convenient usage with @TypeApplications@.-rput' :: forall r r' rs rs' record f. (RecElem record r r' rs rs' (RIndex r rs), RecElemFCtx record f)+rput' :: forall k (r :: k) (r' :: k) (rs :: [k]) (rs' :: [k]) record f+       . (RecElem record r r' rs rs' (RIndex r rs), RecElemFCtx record f)       => f r' -> record f rs -> record f rs'-rput' = rputC @_ @r @r'+rput' = rputC @_ @_ @r @r'  -- | Type-preserving field setter. This type is simpler to work with -- than that of 'rput''.-rput :: forall r rs record f. (RecElem record r r rs rs (RIndex r rs), RecElemFCtx record f)+rput :: forall k (r :: k) rs record f. (RecElem record r r rs rs (RIndex r rs), RecElemFCtx record f)       => f r -> record f rs -> record f rs-rput = rput' @r+rput = rput' @_ @r  -- | Type-changing field lens 'rlensC' with the type arguments -- re-ordered for more convenient usage with @TypeApplications@.
vinyl.cabal view
@@ -1,5 +1,5 @@ name:                vinyl-version:             0.12.2+version:             0.12.3 synopsis:            Extensible Records -- description: license:             MIT@@ -97,7 +97,7 @@   type:             exitcode-stdio-1.0   hs-source-dirs:   tests   main-is:          Aeson.hs-  build-depends:    base, hspec, aeson, text, mtl, vinyl,+  build-depends:    base, hspec, aeson >= 1.5.2, text, mtl, vinyl,                     vector, unordered-containers, lens, lens-aeson   default-language: Haskell2010