------------------------------------------------------------------------------- -- | -- Module : Control.Lens.Loupe -- Copyright : (C) 2012-13 Edward Kmett -- License : BSD-style (see the file LICENSE) -- Maintainer : Edward Kmett -- Stability : provisional -- Portability : Rank2Types -- -- This module exports a minimalist API for working with lenses in highly -- monomorphic settings. ------------------------------------------------------------------------------- module Control.Lens.Loupe ( ALens, ALens' , cloneLens , storing , (^#) , ( #~ ), ( #%~ ), ( #%%~ ), (<#~), (<#%~) , ( #= ), ( #%= ), ( #%%= ), (<#=), (<#%=) -- * Deprecated Aliases , Loupe, SimpleLoupe ) where import Control.Lens.Internal.Context import Control.Lens.Lens import Control.Lens.Type -- | This is an older alias for a type-restricted form of lens that is able to be passed around -- in containers monomorphically. -- -- Deprecated. This has since been renamed to 'ALens' for consistency. type Loupe s t a b = LensLike (Pretext (->) a b) s t a b {-# DEPRECATED Loupe "use ALens" #-} -- | @ -- type 'SimpleLoupe' = 'Simple' 'Loupe' -- @ -- -- Deprecated for two reasons. 'Loupe' is now 'ALens', and we no longer use the verbose @SimpleFoo@ naming -- convention, this has since been renamed to 'ALens'' for consistency. type SimpleLoupe s a = Loupe s s a a {-# DEPRECATED SimpleLoupe "use ALens'" #-}