on master help sign in
Run ormolu
dc33205Sridhar Ratnakumar
src/JRec.hs+1−2
@@ -13,8 +13,8 @@ where
13
13
14import Control.Lens ((&), (.~), (^.), coerced)
14import Control.Lens ((&), (.~), (^.), coerced)
15import qualified "generic-lens" Data.Generics.Product.Fields as GL
15import qualified "generic-lens" Data.Generics.Product.Fields as GL
16−import qualified "generic-lens" Data.Generics.Wrapped as GL
17import qualified "generic-optics" Data.Generics.Product.Fields as GO
16import qualified "generic-optics" Data.Generics.Product.Fields as GO
17+import qualified "generic-lens" Data.Generics.Wrapped as GL
18import qualified "generic-optics" Data.Generics.Wrapped as GO
18import qualified "generic-optics" Data.Generics.Wrapped as GO
19import Data.Proxy
19import Data.Proxy
20import GHC.Exts (Any)
20import GHC.Exts (Any)
@@ -102,7 +102,6 @@ instance {-# OVERLAPPING #-} (R.Set field fields a' ~ fields', R.Set field field
102instance {-# OVERLAPPING #-} (R.Set field fields a ~ fields, R.Has field fields a) => GO.HasField' field (Rec fields) a where
102instance {-# OVERLAPPING #-} (R.Set field fields a ~ fields, R.Has field fields a) => GO.HasField' field (Rec fields) a where
103 field' = R.opticLens (R.FldProxy @field)
103 field' = R.opticLens (R.FldProxy @field)
104
104
105−
106pattern Rec ::
105pattern Rec ::
107 ( RecTuple tuple fields
106 ( RecTuple tuple fields
108 ) =>
107 ) =>
src/JRec/Super.hs+7−5
@@ -89,11 +89,13 @@ data Rec (lts :: [*]) = MkRec
89
89
90type role Rec representational
90type role Rec representational
91
91
92−instance
92+instance
93− ( RecApply lts lts Show,
93+ ( RecApply lts lts Show,
94 GShow Proxy (Rep (Rec lts)),
94 GShow Proxy (Rep (Rec lts)),
95 Generic (Rec lts)
95 Generic (Rec lts)
96+ ) =>
96− ) => Show (Rec lts) where
97+ Show (Rec lts)
98+ where
97 show = (\x -> if null x then "{}" else x) . unwords . drop 1 . words . flip (gshowsPrec 0) ""
99 show = (\x -> if null x then "{}" else x) . unwords . drop 1 . words . flip (gshowsPrec 0) ""
98
100
99instance RecEq lts lts => Eq (Rec lts) where
101instance RecEq lts lts => Eq (Rec lts) where
@@ -661,8 +663,8 @@ lens lbl f r =
661 fmap (\v -> set lbl v r) (f (get lbl r))
663 fmap (\v -> set lbl v r) (f (get lbl r))
662{-# INLINE lens #-}
664{-# INLINE lens #-}
663
665
664−opticLens ::
666+opticLens ::
665− (Has l lts v, Set l lts v' ~ lts') => FldProxy l -> OL.Lens (Rec lts) (Rec lts') v v'
667+ (Has l lts v, Set l lts v' ~ lts') => FldProxy l -> OL.Lens (Rec lts) (Rec lts') v v'
666opticLens lbl =
668opticLens lbl =
667 OL.lensVL $ lens lbl
669 OL.lensVL $ lens lbl
668{-# INLINE opticLens #-}
670{-# INLINE opticLens #-}
test/Spec.hs−1
@@ -1,2 +1 @@
1{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
1{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
2−