packages feed

praglude 0.1.2.0 → 0.2.0.0

raw patch · 2 files changed

+28/−30 lines, 2 filesdep ~aesondep ~basedep ~base64-bytestringPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson, base, base64-bytestring, bytestring, casing, containers, data-default, deepseq, directory, filepath, hashable, lens, mtl, random, semigroups, string-convert, template-haskell, text, time, unordered-containers, vector

API changes (from Hackage documentation)

- Praglude: instance (Data.Hashable.Class.Hashable v, Data.Hashable.Class.Hashable k) => Data.Hashable.Class.Hashable (Praglude.LHashMap k v)
- Praglude: parseJSONList :: FromJSON a => Value -> Parser [a]
- Praglude: toEncodingList :: ToJSON a => [a] -> Encoding
- Praglude: toJSONList :: ToJSON a => [a] -> Value
- Praglude: update :: DictLike m k => k -> (v -> Maybe v) -> m k v -> m k v
+ Praglude: adjust :: DictLike m k => k -> (v -> v) -> m k v -> m k v
- Praglude: ilike :: (Indexable i p, Contravariant f, Functor f) => i -> a -> Over' p f s a
+ Praglude: ilike :: (Indexable i p, Contravariant f) => i -> a -> Over' p f s a
- Praglude: ito :: (Indexable i p, Contravariant f, Functor f) => (s -> (i, a)) -> Over' p f s a
+ Praglude: ito :: (Indexable i p, Contravariant f) => (s -> (i, a)) -> Over' p f s a
- Praglude: like :: (Profunctor p, Contravariant f, Functor f) => a -> Optic' * * p f s a
+ Praglude: like :: (Profunctor p, Contravariant f) => a -> Optic' * * p f s a
- Praglude: re :: AReview t b -> Getter b t
+ Praglude: re :: Contravariant f => AReview t b -> LensLike' f b t
- Praglude: to :: (Profunctor p, Contravariant f, Functor f) => (s -> a) -> Optic' * * p f s a
+ Praglude: to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' * * p f s a

Files

praglude.cabal view
@@ -1,5 +1,5 @@ name: praglude-version: 0.1.2.0+version: 0.2.0.0 synopsis: A pragmatic Prelude description: An opinionated alternative Prelude, focused on practicality. homepage: https://github.com/tdammers/praglude@@ -10,33 +10,32 @@ copyright: 2016 Tobias Dammers category: Web build-type: Simple--- extra-source-files: cabal-version: >=1.10  library   hs-source-dirs: src   exposed-modules: Praglude-  build-depends: base >= 4.7 && < 5-               , aeson-               , bytestring-               , base64-bytestring-               , casing-               , containers-               , data-default-               , deepseq-               , directory-               , filepath-               , hashable-               , lens-               , template-haskell-               , mtl-               , random-               , semigroups-               , string-convert-               , text-               , time-               , unordered-containers-               , vector+  build-depends: base >=4.9 && <5+               , aeson >=0.11.2.1 && <0.12+               , bytestring >=0.10.8.1 && <0.11+               , base64-bytestring >=1.0.0.1 && <1.1+               , casing >=0.1.0.1 && <0.2+               , containers >=0.5.7.1 && <0.6+               , data-default >=0.7.1.1 && <0.8+               , deepseq >=1.4.2.0 && <1.5+               , directory >=1.2.6.2 && <1.3+               , filepath >=1.4.1.0 && <1.5+               , hashable >=1.2.4.0 && <1.3+               , lens ==4.14.*+               , template-haskell >=2.11.0.0 && <2.12+               , mtl >=2.2.1 && <2.3+               , random ==1.1.*+               , semigroups >=0.18.2 && <0.19+               , string-convert >=3.0.1 && <3.1+               , text >=1.2.2.1 && <1.3+               , time >=1.1 && <2+               , unordered-containers >=0.2.7.1 && <0.3+               , vector >=0.11.0.0 && <0.12   default-language: Haskell2010  source-repository head
src/Praglude.hs view
@@ -1305,7 +1305,6 @@ import qualified Data.Aeson as JSON import qualified Data.Aeson.TH as JSON import Data.Default-import Data.List (foldl') import Control.Concurrent import Control.Exception import Data.Function@@ -1357,7 +1356,7 @@ -- we can tie laziness into the type itself (similar to how it works -- for 'Text' and 'ByteString'). newtype LHashMap k v = LHashMap { unLHashMap :: LHashMap.HashMap k v }-    deriving (Read, Show, Typeable, Generic, Functor, Foldable, Traversable, Eq, Data, Semigroup, Monoid, NFData, Hashable)+    deriving (Read, Show, Typeable, Generic, Functor, Foldable, Traversable, Eq, Data, Semigroup, Monoid, NFData)  type HashSet = HashSet.HashSet @@ -1523,7 +1522,7 @@     -- | Delete by key     delete :: k -> m k v -> m k v     -- | Modify an element at a key-    update :: k -> (v -> Maybe v) -> m k v -> m k v+    adjust :: k -> (v -> v) -> m k v -> m k v     -- | Convert to an association list (list of key/value pairs)     pairs :: m k v -> [(k, v)]     -- | Convert from an association list (list of key/value pairs)@@ -1543,7 +1542,7 @@ instance Eq k => DictLike AList k where     insert k v (AList xs) = AList $ (k,v):xs     delete k (AList xs) = AList $ filter ((/= k) . fst) xs-    update k f (AList xs) = AList [ (k, fromMaybe v $ f v) | (k, v) <- xs ]+    adjust k f (AList xs) = AList [ (k', if k == k' then f v else v) | (k', v) <- xs ]     pairs = unAList     fromPairs = AList     singletonMap k v = AList [(k, v)]@@ -1611,7 +1610,7 @@ instance (Eq k, Hashable k) => DictLike HashMap.HashMap k where     insert = HashMap.insert     delete = HashMap.delete-    update = flip HashMap.update+    adjust = flip HashMap.adjust     pairs = HashMap.toList     fromPairs = HashMap.fromList     keys = HashMap.keys@@ -1636,7 +1635,7 @@ instance (Eq k, Ord k) => DictLike Map.Map k where     insert = Map.insert     delete = Map.delete-    update = flip Map.update+    adjust = flip Map.adjust     pairs = Map.toList     fromPairs = Map.fromList     keys = Map.keys@@ -1661,7 +1660,7 @@ instance (Eq k, Hashable k) => DictLike LHashMap k where     insert k v = overLHashMap $ LHashMap.insert k v     delete k = overLHashMap $ LHashMap.delete k-    update k f = overLHashMap $ LHashMap.update f k+    adjust k f = overLHashMap $ LHashMap.adjust f k     pairs = LHashMap.toList . unLHashMap     fromPairs = LHashMap . LHashMap.fromList     keys = LHashMap.keys . unLHashMap