module Lens.Simple (
_1, _2
, chosen
, ix
, at, intAt
, contains, intContains
, both
, _Left, _Right
, _Just, _Nothing
, ignored
, to, view, (^.)
, folding, views, (^..), (^?)
, toListOf, allOf, anyOf, firstOf, lastOf, sumOf, productOf
, lengthOf, nullOf
, backwards
, over, (%~), set, (.~)
, (&)
, (+~), (*~), (-~), (//~), (&&~), (||~), (<>~)
, zoom
, use, uses
, (%=)
, assign, (.=)
, (%%=)
, (<~)
, (+=), (-=), (*=)
, (//=)
, (&&=), (||=)
, (<>=)
, mapped
, lens
, iso
, setting
, choosing
, alongside
, beside
, makeLenses
, makeTraversals
, makeLensesBy
, makeLensesFor
, LensLike, LensLike'
, FoldLike, FoldLike'
, ASetter, ASetter'
, Phantom
, Constant, Identity
, AlongsideLeft, AlongsideRight
, Zooming
, Applicative, Foldable, Monoid
, Backwards, All, Any, First, Last, Sum, Product
, StateT, Writer
) where
import Lens.Family.Unchecked
import Lens.Family.Stock
import Lens.Family.State.Strict
import Lens.Family.TH (makeLenses, makeTraversals, makeLensesBy, makeLensesFor)
#if MIN_VERSION_base(4,8,0)
import Data.Function ((&))
import Lens.Family hiding (Fold,(&))
#else
import Lens.Family hiding (Fold)
#endif
infixl 1 ??
(??) :: Functor f => f (a -> b) -> a -> f b
ff ?? a = fmap ($ a) ff