lens-4.17: Lenses, Folds and Traversals

Copyright(C) 2012-16 Edward Kmett Michael Sloan
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
PortabilityRank2, MPTCs, fundeps
Safe HaskellTrustworthy
LanguageHaskell98

Control.Lens.Wrapped

Contents

Description

The Wrapped class provides similar functionality as Control.Newtype, from the newtype package, but in a more convenient and efficient form.

There are a few functions from newtype that are not provided here, because they can be done with the Iso directly:

Control.Newtype.over Sum f ≡ _Unwrapping Sum %~ f
Control.Newtype.under Sum f ≡ _Wrapping Sum %~ f
Control.Newtype.overF Sum f ≡ mapping (_Unwrapping Sum) %~ f
Control.Newtype.underF Sum f ≡ mapping (_Wrapping Sum) %~ f

under can also be used with _Unwrapping to provide the equivalent of Control.Newtype.under. Also, most use cases don't need full polymorphism, so only the single constructor _Wrapping functions would be needed.

These equivalences aren't 100% honest, because newtype's operators need to rely on two Newtype constraints. This means that the wrapper used for the output is not necessarily the same as the input.

Synopsis

Wrapping and Unwrapping monomorphically

class Wrapped s where #

Wrapped provides isomorphisms to wrap and unwrap newtypes or data types with one constructor.

Minimal complete definition

Nothing

Associated Types

type Unwrapped s :: * #

Methods

_Wrapped' :: Iso' s (Unwrapped s) #

An isomorphism between s and a.

If your type has a Generic instance, _Wrapped' will default to _GWrapped', and you can choose to not override it with your own definition.

_Wrapped' :: (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s) #

An isomorphism between s and a.

If your type has a Generic instance, _Wrapped' will default to _GWrapped', and you can choose to not override it with your own definition.

Instances
Wrapped PatternMatchFail # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped PatternMatchFail :: Type #

Wrapped RecSelError # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecSelError :: Type #

Wrapped RecConError # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecConError :: Type #

Wrapped RecUpdError # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped RecUpdError :: Type #

Wrapped NoMethodError # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped NoMethodError :: Type #

Wrapped TypeError # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped TypeError :: Type #

Wrapped CDev # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CDev :: Type #

Wrapped CIno # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIno :: Type #

Wrapped CMode # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CMode :: Type #

Wrapped COff # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped COff :: Type #

Wrapped CPid # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CPid :: Type #

Wrapped CSsize # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSsize :: Type #

Wrapped CGid # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CGid :: Type #

Wrapped CNlink # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CNlink :: Type #

Wrapped CUid # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUid :: Type #

Wrapped CCc # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CCc :: Type #

Wrapped CSpeed # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSpeed :: Type #

Wrapped CTcflag # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CTcflag :: Type #

Wrapped CRLim # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CRLim :: Type #

Wrapped CBlkSize # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBlkSize :: Type #

Wrapped CBlkCnt # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBlkCnt :: Type #

Wrapped CClockId # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CClockId :: Type #

Wrapped CFsBlkCnt # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFsBlkCnt :: Type #

Wrapped CFsFilCnt # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFsFilCnt :: Type #

Wrapped CId # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CId :: Type #

Wrapped CKey # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CKey :: Type #

Wrapped Fd # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Fd :: Type #

Wrapped Errno # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Errno :: Type #

Wrapped CompactionFailed # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CompactionFailed :: Type #

Wrapped AssertionFailed # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped AssertionFailed :: Type #

Wrapped ErrorCall # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped ErrorCall :: Type #

Wrapped All # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped All :: Type #

Wrapped Any # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped Any :: Type #

Wrapped CChar # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CChar :: Type #

Wrapped CSChar # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSChar :: Type #

Wrapped CUChar # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUChar :: Type #

Wrapped CShort # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CShort :: Type #

Wrapped CUShort # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUShort :: Type #

Wrapped CInt # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CInt :: Type #

Wrapped CUInt # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUInt :: Type #

Wrapped CLong # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CLong :: Type #

Wrapped CULong # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CULong :: Type #

Wrapped CLLong # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CLLong :: Type #

Wrapped CULLong # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CULLong :: Type #

Wrapped CBool # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CBool :: Type #

Wrapped CFloat # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CFloat :: Type #

Wrapped CDouble # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CDouble :: Type #

Wrapped CPtrdiff # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CPtrdiff :: Type #

Wrapped CSize # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSize :: Type #

Wrapped CWchar # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CWchar :: Type #

Wrapped CSigAtomic # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSigAtomic :: Type #

Wrapped CClock # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CClock :: Type #

Wrapped CTime # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CTime :: Type #

Wrapped CUSeconds # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUSeconds :: Type #

Wrapped CSUSeconds # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CSUSeconds :: Type #

Wrapped CIntPtr # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIntPtr :: Type #

Wrapped CUIntPtr # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUIntPtr :: Type #

Wrapped CIntMax # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CIntMax :: Type #

Wrapped CUIntMax # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped CUIntMax :: Type #

Wrapped IntSet # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped IntSet :: Type #

Wrapped (Par1 p) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Par1 p) :: Type #

Methods

_Wrapped' :: Iso' (Par1 p) (Unwrapped (Par1 p)) #

Wrapped (Predicate a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Predicate a) :: Type #

Wrapped (Comparison a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Comparison a) :: Type #

Wrapped (Equivalence a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Equivalence a) :: Type #

Wrapped (Min a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Min a) :: Type #

Methods

_Wrapped' :: Iso' (Min a) (Unwrapped (Min a)) #

Wrapped (Max a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Max a) :: Type #

Methods

_Wrapped' :: Iso' (Max a) (Unwrapped (Max a)) #

Wrapped (First a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (First a) :: Type #

Methods

_Wrapped' :: Iso' (First a) (Unwrapped (First a)) #

Wrapped (Last a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Last a) :: Type #

Methods

_Wrapped' :: Iso' (Last a) (Unwrapped (Last a)) #

Wrapped (WrappedMonoid a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedMonoid a) :: Type #

Wrapped (Option a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Option a) :: Type #

Methods

_Wrapped' :: Iso' (Option a) (Unwrapped (Option a)) #

Wrapped (ZipList a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ZipList a) :: Type #

Methods

_Wrapped' :: Iso' (ZipList a) (Unwrapped (ZipList a)) #

Wrapped (Identity a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Identity a) :: Type #

Wrapped (First a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (First a) :: Type #

Methods

_Wrapped' :: Iso' (First a) (Unwrapped (First a)) #

Wrapped (Last a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Last a) :: Type #

Methods

_Wrapped' :: Iso' (Last a) (Unwrapped (Last a)) #

Wrapped (Dual a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Dual a) :: Type #

Methods

_Wrapped' :: Iso' (Dual a) (Unwrapped (Dual a)) #

Wrapped (Endo a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Endo a) :: Type #

Methods

_Wrapped' :: Iso' (Endo a) (Unwrapped (Endo a)) #

Wrapped (Sum a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Sum a) :: Type #

Methods

_Wrapped' :: Iso' (Sum a) (Unwrapped (Sum a)) #

Wrapped (Product a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Product a) :: Type #

Methods

_Wrapped' :: Iso' (Product a) (Unwrapped (Product a)) #

Wrapped (Down a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Down a) :: Type #

Methods

_Wrapped' :: Iso' (Down a) (Unwrapped (Down a)) #

Wrapped (NonEmpty a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (NonEmpty a) :: Type #

Wrapped (IntMap a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IntMap a) :: Type #

Methods

_Wrapped' :: Iso' (IntMap a) (Unwrapped (IntMap a)) #

Wrapped (Seq a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Seq a) :: Type #

Methods

_Wrapped' :: Iso' (Seq a) (Unwrapped (Seq a)) #

Ord a => Wrapped (Set a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Set a) :: Type #

Methods

_Wrapped' :: Iso' (Set a) (Unwrapped (Set a)) #

(Hashable a, Eq a) => Wrapped (HashSet a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (HashSet a) :: Type #

Methods

_Wrapped' :: Iso' (HashSet a) (Unwrapped (HashSet a)) #

Unbox a => Wrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) :: Type #

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Storable a => Wrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) :: Type #

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Prim a => Wrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) :: Type #

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Wrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) :: Type #

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a)) #

Wrapped (Op a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Op a b) :: Type #

Methods

_Wrapped' :: Iso' (Op a b) (Unwrapped (Op a b)) #

Wrapped (WrappedMonad m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedMonad m a) :: Type #

Wrapped (ArrowMonad m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ArrowMonad m a) :: Type #

Methods

_Wrapped' :: Iso' (ArrowMonad m a) (Unwrapped (ArrowMonad m a)) #

Ord k => Wrapped (Map k a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Map k a) :: Type #

Methods

_Wrapped' :: Iso' (Map k a) (Unwrapped (Map k a)) #

Wrapped (MaybeT m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (MaybeT m a) :: Type #

Methods

_Wrapped' :: Iso' (MaybeT m a) (Unwrapped (MaybeT m a)) #

Wrapped (CatchT m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CatchT m a) :: Type #

Methods

_Wrapped' :: Iso' (CatchT m a) (Unwrapped (CatchT m a)) #

Wrapped (CoiterT w a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CoiterT w a) :: Type #

Methods

_Wrapped' :: Iso' (CoiterT w a) (Unwrapped (CoiterT w a)) #

Wrapped (IterT m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IterT m a) :: Type #

Methods

_Wrapped' :: Iso' (IterT m a) (Unwrapped (IterT m a)) #

Wrapped (Alt f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Alt f a) :: Type #

Methods

_Wrapped' :: Iso' (Alt f a) (Unwrapped (Alt f a)) #

Wrapped (ListT m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ListT m a) :: Type #

Methods

_Wrapped' :: Iso' (ListT m a) (Unwrapped (ListT m a)) #

(Hashable k, Eq k) => Wrapped (HashMap k a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (HashMap k a) :: Type #

Methods

_Wrapped' :: Iso' (HashMap k a) (Unwrapped (HashMap k a)) #

Wrapped (WrappedApplicative f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedApplicative f a) :: Type #

Wrapped (MaybeApply f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (MaybeApply f a) :: Type #

Methods

_Wrapped' :: Iso' (MaybeApply f a) (Unwrapped (MaybeApply f a)) #

Wrapped (Rec1 f p) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Rec1 f p) :: Type #

Methods

_Wrapped' :: Iso' (Rec1 f p) (Unwrapped (Rec1 f p)) #

Wrapped (WrappedArrow a b c) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedArrow a b c) :: Type #

Methods

_Wrapped' :: Iso' (WrappedArrow a b c) (Unwrapped (WrappedArrow a b c)) #

Wrapped (Kleisli m a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Kleisli m a b) :: Type #

Methods

_Wrapped' :: Iso' (Kleisli m a b) (Unwrapped (Kleisli m a b)) #

Wrapped (Const a x) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Const a x) :: Type #

Methods

_Wrapped' :: Iso' (Const a x) (Unwrapped (Const a x)) #

Wrapped (Alt f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Alt f a) :: Type #

Methods

_Wrapped' :: Iso' (Alt f a) (Unwrapped (Alt f a)) #

Wrapped (Join p a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Join p a) :: Type #

Methods

_Wrapped' :: Iso' (Join p a) (Unwrapped (Join p a)) #

Wrapped (Fix p a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Fix p a) :: Type #

Methods

_Wrapped' :: Iso' (Fix p a) (Unwrapped (Fix p a)) #

Wrapped (TracedT m w a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (TracedT m w a) :: Type #

Methods

_Wrapped' :: Iso' (TracedT m w a) (Unwrapped (TracedT m w a)) #

Wrapped (IdentityT m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (IdentityT m a) :: Type #

Methods

_Wrapped' :: Iso' (IdentityT m a) (Unwrapped (IdentityT m a)) #

Wrapped (Compose f g a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Compose f g a) :: Type #

Methods

_Wrapped' :: Iso' (Compose f g a) (Unwrapped (Compose f g a)) #

Wrapped (ComposeFC f g a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ComposeFC f g a) :: Type #

Methods

_Wrapped' :: Iso' (ComposeFC f g a) (Unwrapped (ComposeFC f g a)) #

Wrapped (ComposeCF f g a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ComposeCF f g a) :: Type #

Methods

_Wrapped' :: Iso' (ComposeCF f g a) (Unwrapped (ComposeCF f g a)) #

Wrapped (ExceptT e m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ExceptT e m a) :: Type #

Methods

_Wrapped' :: Iso' (ExceptT e m a) (Unwrapped (ExceptT e m a)) #

Wrapped (FreeT f m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (FreeT f m a) :: Type #

Methods

_Wrapped' :: Iso' (FreeT f m a) (Unwrapped (FreeT f m a)) #

Wrapped (CofreeT f w a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (CofreeT f w a) :: Type #

Methods

_Wrapped' :: Iso' (CofreeT f w a) (Unwrapped (CofreeT f w a)) #

Wrapped (ApT f g a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ApT f g a) :: Type #

Methods

_Wrapped' :: Iso' (ApT f g a) (Unwrapped (ApT f g a)) #

Wrapped (ErrorT e m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ErrorT e m a) :: Type #

Methods

_Wrapped' :: Iso' (ErrorT e m a) (Unwrapped (ErrorT e m a)) #

Wrapped (ReaderT r m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ReaderT r m a) :: Type #

Methods

_Wrapped' :: Iso' (ReaderT r m a) (Unwrapped (ReaderT r m a)) #

Wrapped (StateT s m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (StateT s m a) :: Type #

Methods

_Wrapped' :: Iso' (StateT s m a) (Unwrapped (StateT s m a)) #

Wrapped (StateT s m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (StateT s m a) :: Type #

Methods

_Wrapped' :: Iso' (StateT s m a) (Unwrapped (StateT s m a)) #

Wrapped (WriterT w m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WriterT w m a) :: Type #

Methods

_Wrapped' :: Iso' (WriterT w m a) (Unwrapped (WriterT w m a)) #

Wrapped (WriterT w m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WriterT w m a) :: Type #

Methods

_Wrapped' :: Iso' (WriterT w m a) (Unwrapped (WriterT w m a)) #

Wrapped (Star f d c) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Star f d c) :: Type #

Methods

_Wrapped' :: Iso' (Star f d c) (Unwrapped (Star f d c)) #

Wrapped (Costar f d c) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Costar f d c) :: Type #

Methods

_Wrapped' :: Iso' (Costar f d c) (Unwrapped (Costar f d c)) #

Wrapped (WrappedArrow p a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedArrow p a b) :: Type #

Methods

_Wrapped' :: Iso' (WrappedArrow p a b) (Unwrapped (WrappedArrow p a b)) #

Wrapped (Forget r a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Forget r a b) :: Type #

Methods

_Wrapped' :: Iso' (Forget r a b) (Unwrapped (Forget r a b)) #

Wrapped (Static f a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Static f a b) :: Type #

Methods

_Wrapped' :: Iso' (Static f a b) (Unwrapped (Static f a b)) #

Wrapped (Tagged s a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Tagged s a) :: Type #

Methods

_Wrapped' :: Iso' (Tagged s a) (Unwrapped (Tagged s a)) #

Wrapped (Reverse f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Reverse f a) :: Type #

Methods

_Wrapped' :: Iso' (Reverse f a) (Unwrapped (Reverse f a)) #

Wrapped (Constant a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Constant a b) :: Type #

Methods

_Wrapped' :: Iso' (Constant a b) (Unwrapped (Constant a b)) #

Wrapped (Backwards f a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Backwards f a) :: Type #

Methods

_Wrapped' :: Iso' (Backwards f a) (Unwrapped (Backwards f a)) #

Wrapped (K1 i c p) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (K1 i c p) :: Type #

Methods

_Wrapped' :: Iso' (K1 i c p) (Unwrapped (K1 i c p)) #

Wrapped (ContT r m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (ContT r m a) :: Type #

Methods

_Wrapped' :: Iso' (ContT r m a) (Unwrapped (ContT r m a)) #

Wrapped (Cayley f p a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Cayley f p a b) :: Type #

Methods

_Wrapped' :: Iso' (Cayley f p a b) (Unwrapped (Cayley f p a b)) #

Wrapped (M1 i c f p) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (M1 i c f p) :: Type #

Methods

_Wrapped' :: Iso' (M1 i c f p) (Unwrapped (M1 i c f p)) #

Wrapped ((f :.: g) p) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped ((f :.: g) p) :: Type #

Methods

_Wrapped' :: Iso' ((f :.: g) p) (Unwrapped ((f :.: g) p)) #

Wrapped (Compose f g a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Compose f g a) :: Type #

Methods

_Wrapped' :: Iso' (Compose f g a) (Unwrapped (Compose f g a)) #

Wrapped (WrappedBifunctor p a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedBifunctor p a b) :: Type #

Wrapped (Joker g a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Joker g a b) :: Type #

Methods

_Wrapped' :: Iso' (Joker g a b) (Unwrapped (Joker g a b)) #

Wrapped (Flip p a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Flip p a b) :: Type #

Methods

_Wrapped' :: Iso' (Flip p a b) (Unwrapped (Flip p a b)) #

Wrapped (Clown f a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Clown f a b) :: Type #

Methods

_Wrapped' :: Iso' (Clown f a b) (Unwrapped (Clown f a b)) #

Wrapped (RWST r w s m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (RWST r w s m a) :: Type #

Methods

_Wrapped' :: Iso' (RWST r w s m a) (Unwrapped (RWST r w s m a)) #

Wrapped (RWST r w s m a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (RWST r w s m a) :: Type #

Methods

_Wrapped' :: Iso' (RWST r w s m a) (Unwrapped (RWST r w s m a)) #

Wrapped (Dual k3 a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Dual k3 a b) :: Type #

Methods

_Wrapped' :: Iso' (Dual k3 a b) (Unwrapped (Dual k3 a b)) #

Wrapped (WrappedCategory k3 a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (WrappedCategory k3 a b) :: Type #

Wrapped (Semi m a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Semi m a b) :: Type #

Methods

_Wrapped' :: Iso' (Semi m a b) (Unwrapped (Semi m a b)) #

Wrapped (Tannen f p a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Tannen f p a b) :: Type #

Methods

_Wrapped' :: Iso' (Tannen f p a b) (Unwrapped (Tannen f p a b)) #

Wrapped (Biff p f g a b) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Biff p f g a b) :: Type #

Methods

_Wrapped' :: Iso' (Biff p f g a b) (Unwrapped (Biff p f g a b)) #

_Wrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' s (Unwrapped s) #

This is a convenient version of _Wrapped with an argument that's ignored.

The user supplied function is ignored, merely its type is used.

_Unwrapping' :: Wrapped s => (Unwrapped s -> s) -> Iso' (Unwrapped s) s #

This is a convenient version of _Wrapped with an argument that's ignored.

The user supplied function is ignored, merely its type is used.

Wrapping and unwrapping polymorphically

class Wrapped s => Rewrapped (s :: *) (t :: *) #

Instances
t ~ PatternMatchFail => Rewrapped PatternMatchFail t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ RecSelError => Rewrapped RecSelError t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ RecConError => Rewrapped RecConError t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ RecUpdError => Rewrapped RecUpdError t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ NoMethodError => Rewrapped NoMethodError t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ TypeError => Rewrapped TypeError t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CDev t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CIno t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CMode t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped COff t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CPid t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSsize t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CGid t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CNlink t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUid t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CCc t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSpeed t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CTcflag t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CRLim t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CBlkSize t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CBlkCnt t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CClockId t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CFsBlkCnt t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CFsFilCnt t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CId t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CKey t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped Fd t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped Errno t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ CompactionFailed => Rewrapped CompactionFailed t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ AssertionFailed => Rewrapped AssertionFailed t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ErrorCall => Rewrapped ErrorCall t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ All => Rewrapped All t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Any => Rewrapped Any t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CChar t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSChar t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUChar t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CShort t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUShort t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CInt t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUInt t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CLong t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CULong t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CLLong t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CULLong t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CBool t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CFloat t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CDouble t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CPtrdiff t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSize t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CWchar t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSigAtomic t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CClock t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CTime t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUSeconds t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CSUSeconds t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CIntPtr t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUIntPtr t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CIntMax t # 
Instance details

Defined in Control.Lens.Wrapped

Rewrapped CUIntMax t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ IntSet => Rewrapped IntSet t #

Use wrapping fromList. unwrapping returns a sorted list.

Instance details

Defined in Control.Lens.Wrapped

t ~ Par1 p' => Rewrapped (Par1 p) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Predicate b => Rewrapped (Predicate a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Comparison b => Rewrapped (Comparison a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Equivalence b => Rewrapped (Equivalence a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Min b => Rewrapped (Min a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Max b => Rewrapped (Max a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ First b => Rewrapped (First a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Last b => Rewrapped (Last a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedMonoid b => Rewrapped (WrappedMonoid a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Option b => Rewrapped (Option a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ZipList b => Rewrapped (ZipList a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Identity b => Rewrapped (Identity a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ First b => Rewrapped (First a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Last b => Rewrapped (Last a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Dual b => Rewrapped (Dual a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Endo b => Rewrapped (Endo a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Sum b => Rewrapped (Sum a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Product b => Rewrapped (Product a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Down b => Rewrapped (Down a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ NonEmpty b => Rewrapped (NonEmpty a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ IntMap a' => Rewrapped (IntMap a) t #

Use wrapping fromList. unwrapping returns a sorted list.

Instance details

Defined in Control.Lens.Wrapped

t ~ Seq a' => Rewrapped (Seq a) t # 
Instance details

Defined in Control.Lens.Wrapped

(t ~ Set a', Ord a) => Rewrapped (Set a) t #

Use wrapping fromList. unwrapping returns a sorted list.

Instance details

Defined in Control.Lens.Wrapped

(t ~ HashSet a', Hashable a, Eq a) => Rewrapped (HashSet a) t #

Use wrapping fromList. Unwrapping returns some permutation of the list.

Instance details

Defined in Control.Lens.Wrapped

(Unbox a, t ~ Vector a') => Rewrapped (Vector a) t # 
Instance details

Defined in Control.Lens.Wrapped

(Storable a, t ~ Vector a') => Rewrapped (Vector a) t # 
Instance details

Defined in Control.Lens.Wrapped

(Prim a, t ~ Vector a') => Rewrapped (Vector a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Vector a' => Rewrapped (Vector a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Op a' b' => Rewrapped (Op a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedMonad m' a' => Rewrapped (WrappedMonad m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ArrowMonad m' a' => Rewrapped (ArrowMonad m a) t # 
Instance details

Defined in Control.Lens.Wrapped

(t ~ Map k' a', Ord k) => Rewrapped (Map k a) t #

Use wrapping fromList. unwrapping returns a sorted list.

Instance details

Defined in Control.Lens.Wrapped

t ~ MaybeT n b => Rewrapped (MaybeT m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ CatchT m' a' => Rewrapped (CatchT m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ CoiterT w' a' => Rewrapped (CoiterT w a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ IterT m' a' => Rewrapped (IterT m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Alt f' a' => Rewrapped (Alt f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ListT n b => Rewrapped (ListT m a) t # 
Instance details

Defined in Control.Lens.Wrapped

(t ~ HashMap k' a', Hashable k, Eq k) => Rewrapped (HashMap k a) t #

Use wrapping fromList. Unwrapping returns some permutation of the list.

Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedApplicative f' a' => Rewrapped (WrappedApplicative f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ MaybeApply f' a' => Rewrapped (MaybeApply f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Rec1 f' p' => Rewrapped (Rec1 f p) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedArrow a' b' c' => Rewrapped (WrappedArrow a b c) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Kleisli m' a' b' => Rewrapped (Kleisli m a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Const a' x' => Rewrapped (Const a x) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Alt g b => Rewrapped (Alt f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Join p' a' => Rewrapped (Join p a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Fix p' a' => Rewrapped (Fix p a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ TracedT m' w' a' => Rewrapped (TracedT m w a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ IdentityT n b => Rewrapped (IdentityT m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Compose f' g' a' => Rewrapped (Compose f g a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ComposeFC f' g' a' => Rewrapped (ComposeFC f g a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ComposeCF f' g' a' => Rewrapped (ComposeCF f g a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ExceptT e' m' a' => Rewrapped (ExceptT e m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ FreeT f' m' a' => Rewrapped (FreeT f m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ CofreeT f' w' a' => Rewrapped (CofreeT f w a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ApT f' g' a' => Rewrapped (ApT f g a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ErrorT e' m' a' => Rewrapped (ErrorT e m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ReaderT s n b => Rewrapped (ReaderT r m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ StateT s' m' a' => Rewrapped (StateT s m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ StateT s' m' a' => Rewrapped (StateT s m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WriterT w' m' a' => Rewrapped (WriterT w m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WriterT w' m' a' => Rewrapped (WriterT w m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Star f' d' c' => Rewrapped (Star f d c) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Costar f' d' c' => Rewrapped (Costar f d c) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedArrow p' a' b' => Rewrapped (WrappedArrow p a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Forget r' a' b' => Rewrapped (Forget r a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Static f' a' b' => Rewrapped (Static f a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Tagged s' a' => Rewrapped (Tagged s a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Reverse g b => Rewrapped (Reverse f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Constant a' b' => Rewrapped (Constant a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Backwards g b => Rewrapped (Backwards f a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ K1 i' c' p' => Rewrapped (K1 i c p) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ ContT r' m' a' => Rewrapped (ContT r m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Cayley f' p' a' b' => Rewrapped (Cayley f p a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ M1 i' c' f' p' => Rewrapped (M1 i c f p) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ (f' :.: g') p' => Rewrapped ((f :.: g) p) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Compose f' g' a' => Rewrapped (Compose f g a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedBifunctor p' a' b' => Rewrapped (WrappedBifunctor p a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Joker g' a' b' => Rewrapped (Joker g a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Flip p' a' b' => Rewrapped (Flip p a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Clown f' a' b' => Rewrapped (Clown f a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ RWST r' w' s' m' a' => Rewrapped (RWST r w s m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ RWST r' w' s' m' a' => Rewrapped (RWST r w s m a) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Dual k' a' b' => Rewrapped (Dual k6 a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ WrappedCategory k' a' b' => Rewrapped (WrappedCategory k6 a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Semi m' a' b' => Rewrapped (Semi m a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Tannen f' p' a' b' => Rewrapped (Tannen f p a b) t # 
Instance details

Defined in Control.Lens.Wrapped

t ~ Biff p' f' g' a' b' => Rewrapped (Biff p f g a b) t # 
Instance details

Defined in Control.Lens.Wrapped

class (Rewrapped s t, Rewrapped t s) => Rewrapping s t #

Instances
(Rewrapped s t, Rewrapped t s) => Rewrapping s t # 
Instance details

Defined in Control.Lens.Wrapped

_Wrapped :: Rewrapping s t => Iso s t (Unwrapped s) (Unwrapped t) #

Work under a newtype wrapper.

>>> Const "hello" & _Wrapped %~ Prelude.length & getConst
5
_Wrappedfrom _Unwrapped
_Unwrappedfrom _Wrapped

_Wrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso s t (Unwrapped s) (Unwrapped t) #

This is a convenient version of _Wrapped with an argument that's ignored.

The user supplied function is ignored, merely its types are used.

_Unwrapping :: Rewrapping s t => (Unwrapped s -> s) -> Iso (Unwrapped t) (Unwrapped s) t s #

This is a convenient version of _Unwrapped with an argument that's ignored.

The user supplied function is ignored, merely its types are used.

Operations

op :: Wrapped s => (Unwrapped s -> s) -> s -> Unwrapped s #

Given the constructor for a Wrapped type, return a deconstructor that is its inverse.

Assuming the Wrapped instance is legal, these laws hold:

op f . f ≡ id
f . op f ≡ id
>>> op Identity (Identity 4)
4
>>> op Const (Const "hello")
"hello"

ala :: (Functor f, Rewrapping s t) => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> f s) -> f (Unwrapped s) #

This combinator is based on ala from Conor McBride's work on Epigram.

As with _Wrapping, the user supplied function for the newtype is ignored.

>>> ala Sum foldMap [1,2,3,4]
10
>>> ala All foldMap [True,True]
True
>>> ala All foldMap [True,False]
False
>>> ala Any foldMap [False,False]
False
>>> ala Any foldMap [True,False]
True
>>> ala Product foldMap [1,2,3,4]
24

You may want to think of this combinator as having the following, simpler, type.

ala :: Rewrapping s t => (Unwrapped s -> s) -> ((Unwrapped t -> t) -> e -> s) -> e -> Unwrapped s

alaf :: (Functor f, Functor g, Rewrapping s t) => (Unwrapped s -> s) -> (f t -> g s) -> f (Unwrapped t) -> g (Unwrapped s) #

This combinator is based on ala' from Conor McBride's work on Epigram.

As with _Wrapping, the user supplied function for the newtype is ignored.

alaf :: Rewrapping s t => (Unwrapped s -> s) -> ((r ->  t) -> e -> s) -> (r -> Unwrapped t) -> e -> Unwrapped s
>>> alaf Sum foldMap Prelude.length ["hello","world"]
10

Pattern Synonyms

pattern Wrapped :: forall s. Rewrapped s s => Unwrapped s -> s #

pattern Unwrapped :: forall t. Rewrapped t t => t -> Unwrapped t #

Generics

_GWrapped' :: (Generic s, D1 d (C1 c (S1 s' (Rec0 a))) ~ Rep s, Unwrapped s ~ GUnwrapped (Rep s)) => Iso' s (Unwrapped s) #

Implement the _Wrapped operation for a type using its Generic instance.