smash-lens 0.1.0.1 → 0.1.0.3
raw patch · 5 files changed
+30/−13 lines, 5 filesdep ~basedep ~lensdep ~smashPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, lens, smash
API changes (from Hackage documentation)
- Data.Can.Lens: instance (a Data.Type.Equality.~ a', b Data.Type.Equality.~ b') => Control.Lens.Each.Each (Data.Can.Can a a') (Data.Can.Can b b') a b
- Data.Can.Lens: instance Control.Lens.Iso.Swapped Data.Can.Can
- Data.Smash.Lens: instance (a Data.Type.Equality.~ a', b Data.Type.Equality.~ b') => Control.Lens.Each.Each (Data.Smash.Smash a a') (Data.Smash.Smash b b') a b
- Data.Smash.Lens: instance Control.Lens.Iso.Swapped Data.Smash.Smash
- Data.Wedge.Lens: instance (a Data.Type.Equality.~ a', b Data.Type.Equality.~ b') => Control.Lens.Each.Each (Data.Wedge.Wedge a a') (Data.Wedge.Wedge b b') a b
- Data.Wedge.Lens: instance Control.Lens.Iso.Swapped Data.Wedge.Wedge
+ Data.Can.Lens: instance (a GHC.Types.~ a', b GHC.Types.~ b') => Control.Lens.Each.Each (Data.Can.Can a a') (Data.Can.Can b b') a b
+ Data.Smash.Lens: instance (a GHC.Types.~ a', b GHC.Types.~ b') => Control.Lens.Each.Each (Data.Smash.Smash a a') (Data.Smash.Smash b b') a b
+ Data.Wedge.Lens: instance (a GHC.Types.~ a', b GHC.Types.~ b') => Control.Lens.Each.Each (Data.Wedge.Wedge a a') (Data.Wedge.Wedge b b') a b
Files
- CHANGELOG.md +8/−0
- smash-lens.cabal +9/−9
- src/Data/Can/Lens.hs +4/−1
- src/Data/Smash/Lens.hs +4/−1
- src/Data/Wedge/Lens.hs +5/−2
CHANGELOG.md view
@@ -1,5 +1,13 @@ # Revision history for smash-lens +## 0.1.0.3 -- 2022-04-03++* Update `base` bounds to allow GHC 9.2.x++## 0.1.0.2 -- 2022-04-02++* Update `lens` dependency bound to allow for `lens-5.0` and `lens-5.1`+ ## 0.1.0.1 * Add `Iso`s for `Wedge`, `Can`, and `Smash`. [#14](https://github.com/emilypi/smash/pull/14)
smash-lens.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.0 name: smash-lens-version: 0.1.0.1+version: 0.1.0.3 synopsis: Optics for the `smash` library description: Prisms, Traversals, and combinators for the `smash` library.@@ -11,7 +11,7 @@ license-file: LICENSE author: Emily Pillmore maintainer: emilypi@cohomolo.gy-copyright: (c) 2020 Emily Pillmore <emilypi@cohomolo.gy>+copyright: (c) 2020-2022 Emily Pillmore <emilypi@cohomolo.gy> category: Data build-type: Simple extra-source-files:@@ -19,11 +19,11 @@ README.md tested-with:- GHC ==8.2.2- || ==8.4.4- || ==8.6.5+ GHC ==8.6.5 || ==8.8.4- || ==8.10.2+ || ==8.10.7+ || ==9.0.2+ || ==9.2.2 source-repository head type: git@@ -38,9 +38,9 @@ -- other-modules: -- other-extensions: build-depends:- base >=4.10 && <5.0- , lens >=4.0 && <5.0- , smash ^>=0.1+ base >=4.11 && <4.17+ , lens >=4.0 && <5.2+ , smash >=0.1.3 hs-source-dirs: src default-language: Haskell2010
src/Data/Can/Lens.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -6,7 +7,7 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -- | -- Module : Data.Can.Lens--- Copyright : (c) 2020 Emily Pillmore+-- Copyright : (c) 2020-2022 Emily Pillmore -- License : BSD-style -- -- Maintainer : Emily Pillmore <emilypi@cohomolo.gy>@@ -144,8 +145,10 @@ -- ------------------------------------------------------------------- -- -- Orphans +#if ! MIN_VERSION_lens(5,0,0) instance Swapped Can where swapped = iso swapCan swapCan+#endif instance (a ~ a', b ~ b') => Each (Can a a') (Can b b') a b where each _ Non = pure Non
src/Data/Smash/Lens.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -6,7 +7,7 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -- | -- Module : Data.Smash.Lens--- Copyright : (c) 2020 Emily Pillmore+-- Copyright : (c) 2020-2022 Emily Pillmore -- License : BSD-style -- -- Maintainer : Emily Pillmore <emilypi@cohomolo.gy>@@ -100,8 +101,10 @@ -- ------------------------------------------------------------------- -- -- Orphans +#if ! MIN_VERSION_lens(5,0,0) instance Swapped Smash where swapped = iso swapSmash swapSmash+#endif instance (a ~ a', b ~ b') => Each (Smash a a') (Smash b b') a b where each _ Nada = pure Nada
src/Data/Wedge/Lens.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-}@@ -6,7 +7,7 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} -- | -- Module : Data.Wedge.Lens--- Copyright : (c) 2020 Emily Pillmore+-- Copyright : (c) 2020-2022 Emily Pillmore -- License : BSD-style -- -- Maintainer : Emily Pillmore <emilypi@cohomolo.gy>@@ -112,13 +113,15 @@ _There = prism There $ \case There b -> Right b Here a -> Left (Here a)- Nowhere -> Left (Nowhere)+ Nowhere -> Left Nowhere -- ------------------------------------------------------------------- -- -- Orphans +#if ! MIN_VERSION_lens(5,0,0) instance Swapped Wedge where swapped = iso swapWedge swapWedge+#endif instance (a ~ a', b ~ b') => Each (Wedge a a') (Wedge b b') a b where each _ Nowhere = pure Nowhere