microlens-mtl 0.1.11.0 → 0.1.11.1
raw patch · 4 files changed
+45/−23 lines, 4 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Lens.Micro.Mtl: infixr 2 <~
+ Lens.Micro.Mtl: infixr 2 `magnify`
Files
- CHANGELOG.md +4/−0
- microlens-mtl.cabal +1/−1
- src/Lens/Micro/Mtl.hs +7/−9
- src/Lens/Micro/Mtl/Internal.hs +33/−13
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.1.11.1++* Fixed compilation on GHC 8.4.+ # 0.1.11.0 * Exported `Focusing`, etc. from `Lens.Micro.Mtl.Internal`.
microlens-mtl.cabal view
@@ -1,5 +1,5 @@ name: microlens-mtl-version: 0.1.11.0+version: 0.1.11.1 synopsis: microlens support for Reader/Writer/State from mtl description: This package contains functions (like 'view' or '+=') which work on 'MonadReader', 'MonadWriter', and 'MonadState' from the mtl package.
src/Lens/Micro/Mtl.hs view
@@ -1,12 +1,10 @@-{-# LANGUAGE-CPP,-MultiParamTypeClasses,-FunctionalDependencies,-FlexibleInstances,-UndecidableInstances,-TypeFamilies,-Trustworthy- #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE Trustworthy #-} -- This is needed because ErrorT is deprecated. {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
src/Lens/Micro/Mtl/Internal.hs view
@@ -1,16 +1,14 @@-{-# LANGUAGE-CPP,-MultiParamTypeClasses,-FunctionalDependencies,-FlexibleContexts,-FlexibleInstances,-UndecidableInstances,-ScopedTypeVariables,-RankNTypes,-TypeFamilies,-KindSignatures,-Trustworthy- #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE Trustworthy #-} -- This is needed because ErrorT is deprecated. {-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}@@ -182,10 +180,18 @@ instance Monoid a => Monoid (May a) where mempty = May (Just mempty) {-# INLINE mempty #-}+#if !MIN_VERSION_base(4,11,0) May Nothing `mappend` _ = May Nothing _ `mappend` May Nothing = May Nothing May (Just a) `mappend` May (Just b) = May (Just (mappend a b)) {-# INLINE mappend #-}+#else+instance Semigroup a => Semigroup (May a) where+ May Nothing <> _ = May Nothing+ _ <> May Nothing = May Nothing+ May (Just a) <> May (Just b) = May (Just (a <> b))+ {-# INLINE (<>) #-}+#endif ------------------------------------------------------------------------------ -- FocusingMay@@ -214,10 +220,18 @@ instance Monoid a => Monoid (Err e a) where mempty = Err (Right mempty) {-# INLINE mempty #-}+#if !MIN_VERSION_base(4,11,0) Err (Left e) `mappend` _ = Err (Left e) _ `mappend` Err (Left e) = Err (Left e) Err (Right a) `mappend` Err (Right b) = Err (Right (mappend a b)) {-# INLINE mappend #-}+#else+instance Semigroup a => Semigroup (Err e a) where+ Err (Left e) <> _ = Err (Left e)+ _ <> Err (Left e) = Err (Left e)+ Err (Right a) <> Err (Right b) = Err (Right (a <> b))+ {-# INLINE (<>) #-}+#endif ------------------------------------------------------------------------------ -- FocusingErr@@ -503,8 +517,14 @@ instance (Monad m, Monoid r) => Monoid (Effect m r a) where mempty = Effect (return mempty) {-# INLINE mempty #-}+#if !MIN_VERSION_base(4,11,0) Effect ma `mappend` Effect mb = Effect (liftM2 mappend ma mb) {-# INLINE mappend #-}+#else+instance (Monad m, Semigroup r) => Semigroup (Effect m r a) where+ Effect ma <> Effect mb = Effect (liftM2 (<>) ma mb)+ {-# INLINE (<>) #-}+#endif instance (Monad m, Monoid r) => Applicative (Effect m r) where pure _ = Effect (return mempty)