microlens 0.4.6.0 → 0.4.7.0
raw patch · 3 files changed
+9/−8 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Lens.Micro: infixl 1 <&>
+ Lens.Micro: infixl 5 `failing`
+ Lens.Micro: infixl 8 ^?!
+ Lens.Micro: infixr 4 ?~
+ Lens.Micro: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (Lens.Micro.StateT s m)
+ Lens.Micro.Internal: infixl 8 .#
+ Lens.Micro.Internal: infixr 9 #.
+ Lens.Micro.Internal: ixAt :: At m => Index m -> Traversal' m (IxValue m)
- Lens.Micro.Internal: class Each s t a b | s -> a, t -> b, s b -> t, t a -> s where each = traverse
+ Lens.Micro.Internal: class Each s t a b | s -> a, t -> b, s b -> t, t a -> s
- Lens.Micro.Internal: class Ixed m where ix = ixAt
+ Lens.Micro.Internal: class Ixed m
Files
- CHANGELOG.md +4/−0
- microlens.cabal +1/−1
- src/Lens/Micro/Internal.hs +4/−7
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.4.7.0++* Fixed the [Haddock crash on GHC 8](https://github.com/aelve/microlens/issues/72) by removing default method implementations (`each = traverse` and `ix = ixAt`). If you had custom instances of `Ixed` or `Each` which relied on default methods, they'd stop working.+ # 0.4.6.0 * Added `traverseOf` and `traverseOf_`.
microlens.cabal view
@@ -1,5 +1,5 @@ name: microlens-version: 0.4.6.0+version: 0.4.7.0 synopsis: A tiny lens library with no dependencies. If you're writing an app, you probably want microlens-platform, not this. description: NOTE: If you're writing an app, you probably want <http://hackage.haskell.org/package/microlens-platform microlens-platform> – it has the most features. <http://hackage.haskell.org/package/microlens microlens> is intended more for library writers who want a tiny lens library (after all, lenses are pretty useful for everything, not just for updating records!).
src/Lens/Micro/Internal.hs view
@@ -5,7 +5,6 @@ UndecidableInstances, RankNTypes, ScopedTypeVariables,-DefaultSignatures, KindSignatures, TypeFamilies, MultiParamTypeClasses,@@ -44,6 +43,7 @@ IxValue, Ixed(..), At(..),+ ixAt, Field1(..), Field2(..), Field3(..),@@ -189,8 +189,6 @@ You can also use 'each' with types from <http://hackage.haskell.org/package/array array>, <http://hackage.haskell.org/package/bytestring bytestring>, and <http://hackage.haskell.org/package/containers containers> by using <http://hackage.haskell.org/package/microlens-ghc microlens-ghc>, or additionally with types from <http://hackage.haskell.org/package/vector vector>, <http://hackage.haskell.org/package/text text>, and <http://hackage.haskell.org/package/unordered-containers unordered-containers> by using <http://hackage.haskell.org/package/microlens-platform microlens-platform>. -} each :: Traversal s t a b- default each :: (Traversable g, s ~ g a, t ~ g b) => Traversal s t a b- each = traverse instance (a~b, q~r) => Each (a,b) (q,r) a q where each f ~(a,b) = (,) <$> f a <*> f b@@ -216,7 +214,9 @@ each = traversed {-# INLINE each #-} -instance Each (Maybe a) (Maybe b) a b+instance Each (Maybe a) (Maybe b) a b where+ each = traverse+ {-# INLINE each #-} type family Index (s :: *) :: * @@ -263,9 +263,6 @@ You can also use 'ix' with types from <http://hackage.haskell.org/package/array array>, <http://hackage.haskell.org/package/bytestring bytestring>, and <http://hackage.haskell.org/package/containers containers> by using <http://hackage.haskell.org/package/microlens-ghc microlens-ghc>, or additionally with types from <http://hackage.haskell.org/package/vector vector>, <http://hackage.haskell.org/package/text text>, and <http://hackage.haskell.org/package/unordered-containers unordered-containers> by using <http://hackage.haskell.org/package/microlens-platform microlens-platform>. -} ix :: Index m -> Traversal' m (IxValue m)- default ix :: (At m) => Index m -> Traversal' m (IxValue m)- ix = ixAt- {-# INLINE ix #-} class Ixed m => At m where {- |