module RIO.Prelude.Lens ( view , Lens.Micro.ASetter , Lens.Micro.ASetter' , Lens.Micro.Getting , Lens.Micro.Lens , Lens.Micro.Lens' , Lens.Micro.SimpleGetter , Lens.Micro.lens , Lens.Micro.over , Lens.Micro.set , Lens.Micro.sets , Lens.Micro.to , (Lens.Micro.^.) ) where import Lens.Micro import Control.Monad.Reader (MonadReader, asks) import Lens.Micro.Internal (( #. )) import Control.Applicative (Const (..)) view :: MonadReader s m => Getting a s a -> m a view :: Getting a s a -> m a view Getting a s a l = (s -> a) -> m a forall r (m :: * -> *) a. MonadReader r m => (r -> a) -> m a asks (Const a s -> a forall a k (b :: k). Const a b -> a getConst (Const a s -> a) -> (s -> Const a s) -> s -> a forall c b a. Coercible c b => (b -> c) -> (a -> b) -> a -> c #. Getting a s a l a -> Const a a forall k a (b :: k). a -> Const a b Const)