rio-0.0.3.0: src/RIO/Prelude/Lens.hs
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 l = asks (getConst #. l Const)