packages feed

optics-core 0.4.1 → 0.4.1.1

raw patch · 5 files changed

+16/−9 lines, 5 filesdep ~containers

Dependency ranges changed: containers

Files

CHANGELOG.md view
@@ -1,3 +1,6 @@+# optics-core-0.4.1.1 (2023-06-22)+* Add INLINE pragmas to small functions that really should inline+ # optics-core-0.4.1 (2022-03-22) * Add support for GHC-9.2 * Add `is` ([#410](https://github.com/well-typed/optics/pull/410))
optics-core.cabal view
@@ -1,13 +1,13 @@ cabal-version: 2.2 name:          optics-core-version:       0.4.1+version:       0.4.1.1 license:       BSD-3-Clause license-file:  LICENSE build-type:    Simple maintainer:    optics@well-typed.com author:        Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus tested-with:   GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7-                || ==9.0.2 || ==9.2.2, GHCJS ==8.4+                || ==9.0.2 || ==9.2.8 || ==9.4.5 || ==9.6.2, GHCJS ==8.4 synopsis:      Optics as an abstract interface: core definitions category:      Data, Optics, Lenses description:@@ -75,7 +75,7 @@                , array                  >= 0.5.2.0    && <0.6                , containers             >= 0.5.10.2   && <0.7                , indexed-profunctors    >= 0.1        && <0.2-               , transformers           >= 0.5        && <0.6+               , transformers           >= 0.5        && <0.7                , indexed-traversable    >= 0.1        && <0.2    exposed-modules: Optics.Core
src/Optics/Internal/Optic.hs view
@@ -106,6 +106,7 @@       .  Optic_ srcKind  p i (Curry is i) s t a b       -> Optic_ destKind p i (Curry is i) s t a b     cast x = implies @srcKind @destKind @p x+{-# INLINE castOptic #-}  -- | Compose two optics of compatible flavours. --@@ -128,6 +129,7 @@     m :: forall p i. (Profunctor p, Constraints m p)       => Optic__ p i (Curry ks i) s t a b     m | IxEq <- appendIndices @is @js @ks @i = km . lm+{-# INLINE (%) #-}  -- | Compose two optics of the same flavour. --@@ -144,6 +146,7 @@     oo :: forall p i. (Profunctor p, Constraints k p)        => Optic__ p i (Curry ks i) s t a b     oo | IxEq <- appendIndices @is @js @ks @i = o . o'+{-# INLINE (%%) #-}  -- | Flipped function application, specialised to optics and binding tightly. --@@ -157,6 +160,7 @@      -> (Optic k is s t a b -> Optic l js s' t' a' b')      -> Optic l js s' t' a' b' (%&) = (&)+{-# INLINE (%&) #-}  -- $setup -- >>> import Optics.Core
src/Optics/Internal/Optic/TypeLevel.hs view
@@ -111,12 +111,12 @@ class AppendIndices xs ys ks | xs ys -> ks where   appendIndices :: IxEq i (Curry xs (Curry ys i)) (Curry ks i) --- | If the second list is empty, we can shortcircuit and pick the first list--- immediately.-instance {-# INCOHERENT #-} AppendIndices xs '[] xs where+-- | If the second list is empty, we can pick the first list+-- even if nothing is known about it.+instance {-# INCOHERENT #-} xs ~ zs => AppendIndices xs '[] zs where   appendIndices = IxEq -instance AppendIndices '[] ys ys where+instance ys ~ zs => AppendIndices '[] ys zs where   appendIndices = IxEq  instance AppendIndices xs ys ks => AppendIndices (x ': xs) ys (x ': ks) where
src/Optics/Iso.hs view
@@ -50,8 +50,8 @@   -- | The functions translating back and forth must be mutually inverse:   --   -- @-  -- 'Optics.Getter.view' i . 'Optics.Getter.review' i ≡ 'id'-  -- 'Optics.Getter.review' i . 'Optics.Getter.view' i ≡ 'id'+  -- 'Optics.Getter.view' i . 'Optics.Review.review' i ≡ 'id'+  -- 'Optics.Review.review' i . 'Optics.Getter.view' i ≡ 'id'   -- @    -- * Additional introduction forms