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