{-|
Module      : View
Description : Local definition of view
Copyright   : (c) Eric Mertens, 2016
License     : ISC
Maintainer  : emertens@gmail.com

-}
module View (view) where

import Data.Functor.Const

-- | Local definition of lens package's view.
view :: ((a -> Const a a) -> s -> Const a s) -> s -> a
view :: ((a -> Const a a) -> s -> Const a s) -> s -> a
view (a -> Const a a) -> s -> Const a s
l s
x = Const a s -> a
forall a k (b :: k). Const a b -> a
getConst ((a -> Const a a) -> s -> Const a s
l a -> Const a a
forall k a (b :: k). a -> Const a b
Const s
x)