{-# LANGUAGE NoMonomorphismRestriction #-}
module Lens
( module Data.Lens.Light
, module Lens
) where
import Data.Lens.Light
over :: Lens a b -> (b -> b) -> a -> a
over = Lens a b -> (b -> b) -> a -> a
forall a b. Lens a b -> (b -> b) -> a -> a
modL
set :: Lens a b -> b -> a -> a
set = Lens a b -> b -> a -> a
forall a b. Lens a b -> b -> a -> a
setL
use :: Lens a b -> m b
use = Lens a b -> m b
forall a (m :: * -> *) b. MonadState a m => Lens a b -> m b
access
_2 :: Lens (a, b) b
_2 = ((a, b) -> b) -> (b -> (a, b) -> (a, b)) -> Lens (a, b) b
forall a b. (a -> b) -> (b -> a -> a) -> Lens a b
lens (a, b) -> b
forall a b. (a, b) -> b
snd ((b -> (a, b) -> (a, b)) -> Lens (a, b) b)
-> (b -> (a, b) -> (a, b)) -> Lens (a, b) b
forall a b. (a -> b) -> a -> b
$ \ b
y (a
x, b
_) -> (a
x, b
y)