lenz-0.1.2: Van Laarhoven lenses
Data.Lens
type Lens α β a b = Refractor ((~) (->)) Functor α β a b Source #
lens :: (α -> a) -> (b -> α -> β) -> Lens α β a b Source #
iso :: (α -> a) -> (b -> β) -> Lens α β a b Source #
get :: Lens α β a b -> α -> a Source #
set :: Lens α β a b -> b -> α -> β Source #
modify :: Lens α β a b -> (a -> b) -> α -> β Source #
fstL :: Lens (a, c) (b, c) a b Source #
sndL :: Lens (a, b) (a, c) b c Source #
swapL :: Lens (a, b) (c, d) (b, a) (d, c) Source #
unitL :: Lens α α () () Source #