on master help sign in
Use case rather than let
commit97aaeac19298d545e235d1227ff5998feb6dd5b1 authorMatthew Pickering <matthewtpickering@gmail.com> dateTue 23 Jan 2018, 16:17 (9 years ago) parent7ba5d18
2 files changed+5−5
src/Data/Generics/Internal/VL/Lens.hs+2−2 src/Data/Generics/Product/Internal/Positions.hs+3−3
src/Data/Generics/Internal/VL/Lens.hs+2−2
@@ -42,8 +42,8 @@ set l x = runIdentity . l (Identity . const x)
4242lens2lensvl :: ALens a b s t -> Lens s t a b
4343lens2lensvl (ALens _get _set) =
4444 \f x ->
45− let (c, a) = oneShot _get (inline x)
46− in oneShot (_set . (c, )) <$> f (inline a)
45+ case _get x of
46+ (c, a) -> (_set . (c, )) <$> f a
4747{-# INLINE lens2lensvl #-}
4848
4949ravel :: (ALens a b a b -> ALens a b s t)
src/Data/Generics/Product/Internal/Positions.hs+3−3
@@ -49,18 +49,18 @@ class GHasPosition (i :: Nat) (s :: Type -> Type) (t :: Type -> Type) a b | s i
4949type GHasPosition' i s a = GHasPosition i s s a a
5050
5151instance (GHasPosition i l l' a b, GHasPosition i r r' a b) => GHasPosition i (l :+: r) (l' :+: r') a b where
52− gposition = \x -> sumIso (choosing (gposition @i) (gposition @i) x)
52+ gposition = sumIso . choosing (gposition @i) (gposition @i)
5353 {-# INLINE gposition #-}
5454
5555instance GHasPosition i s t a b => GHasPosition i (M1 D meta s) (M1 D meta t) a b where
56− gposition x = mLens (gposition @i x)
56+ gposition = mLens . gposition @i
5757 {-# INLINE gposition #-}
5858
5959instance
6060 ( IndexList (i - 1) as bs a b
6161 , GIsList () f g as bs
6262 ) => GHasPosition i (M1 C meta f) (M1 C meta g) a b where
63− gposition x = mIso (glist @() (point @(i - 1) x))
63+ gposition = mIso . glist @() . point @(i - 1)
6464 {-# INLINE gposition #-}
6565
6666type family Size f :: Nat where