lens-4.15.4: Lenses, Folds and Traversals

Copyright(C) 2012-2016 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell98

Control.Lens.Internal.Iso

Description

 

Synopsis

Documentation

data Exchange a b s t #

This is used internally by the Iso code to provide efficient access to the two functions that make up an isomorphism.

Constructors

Exchange (s -> a) (b -> t) 

Instances

Profunctor (Exchange a b) # 

Methods

dimap :: (a -> b) -> (c -> d) -> Exchange a b b c -> Exchange a b a d #

lmap :: (a -> b) -> Exchange a b b c -> Exchange a b a c #

rmap :: (b -> c) -> Exchange a b a b -> Exchange a b a c #

(#.) :: Coercible * c b => (b -> c) -> Exchange a b a b -> Exchange a b a c #

(.#) :: Coercible * b a => Exchange a b b c -> (a -> b) -> Exchange a b a c #

Functor (Exchange a b s) # 

Methods

fmap :: (a -> b) -> Exchange a b s a -> Exchange a b s b #

(<$) :: a -> Exchange a b s b -> Exchange a b s a #

class Reversing t where #

This class provides a generalized notion of list reversal extended to other containers.

Minimal complete definition

reversing

Methods

reversing :: t -> t #

Instances

Reversing ByteString # 
Reversing ByteString # 
Reversing Text # 

Methods

reversing :: Text -> Text #

Reversing Text # 

Methods

reversing :: Text -> Text #

Reversing [a] # 

Methods

reversing :: [a] -> [a] #

Reversing (NonEmpty a) # 

Methods

reversing :: NonEmpty a -> NonEmpty a #

Reversing (Seq a) # 

Methods

reversing :: Seq a -> Seq a #

Reversing (Vector a) # 

Methods

reversing :: Vector a -> Vector a #

Storable a => Reversing (Vector a) # 

Methods

reversing :: Vector a -> Vector a #

Unbox a => Reversing (Vector a) # 

Methods

reversing :: Vector a -> Vector a #

Prim a => Reversing (Vector a) # 

Methods

reversing :: Vector a -> Vector a #

Reversing (Deque a) # 

Methods

reversing :: Deque a -> Deque a #