-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Van Laarhoven lenses -- -- Van Laarhoven lenses @package lenz @version 0.1 module Data.Lens type Lens α β a b = Refractor ((~) (->)) Functor α β a b lens :: (α -> a) -> (b -> α -> β) -> Lens α β a b iso :: (α -> a) -> (b -> β) -> Lens α β a b get :: Lens α β a b -> α -> a set :: Lens α β a b -> b -> α -> β modify :: Lens α β a b -> (a -> b) -> α -> β fstL :: Lens (a, c) (b, c) a b sndL :: Lens (a, b) (a, c) b c swapL :: Lens (a, b) (c, d) (b, a) (d, c)