HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulegeneric-lens-core-2.2.1.0Haskell2010

Data.Generics.Internal.Profunctor.Iso

Internal lens helpers. Only exported for Haddock

  • 2 types
  • 11 values
typetype Iso' s a = Iso s s a a
#
valuerepIso :: (Generic a, Generic b) => Iso a b (Rep a x) (Rep b x)
#

A type and its generic representation are isomorphic

valuemIso
  1. :: Profunctor p2
  2. => p2 i2 (f p1) (g p1)
  3. -> p2 i2 (M1 i1 c f p1) (M1 i1 c g p1)
#

M1 is just a wrapper around `f p` mIso :: Iso' (M1 i c f p) (f p)

valuekIso :: Profunctor p2 => p2 i a b -> p2 i (K1 r a p1) (K1 r b p1)
#
valuerecIso :: Profunctor p2 => p2 i a b -> p2 i (Rec r a p1) (Rec r b p1)
#
valueprodIso
  1. :: Profunctor p
  2. => p i (a x, b x) (a' x, b' x)
  3. -> p i ((:*:) a b x) ((:*:) a' b' x)
#
valueassoc3
  1. :: Profunctor p
  2. => p i (a, (b, c)) (a', (b', c'))
  3. -> p i ((a, b), c) ((a', b'), c')
#
valuefromIso :: Iso s t a b -> Iso b a t s
#
valueiso :: (s -> a) -> (b -> t) -> Iso s t a b
#
valuewithIso :: Iso s t a b -> ((s -> a) -> (b -> t) -> r) -> r
#
valuepairing
  1. :: Iso s t a b
  2. -> Iso s' t' a' b'
  3. -> Iso (s, s') (t, t') (a, a') (b, b')
#