lens-3.9: src/Control/Lens/Operators.hs
-----------------------------------------------------------------------------
-- |
-- Module : Control.Lens.Operators
-- Copyright : (C) 2012-13 Edward Kmett
-- License : BSD-style (see the file LICENSE)
-- Maintainer : Edward Kmett <ekmett@gmail.com>
-- Stability : experimental
-- Portability : non-portable
--
-- This module exists for users who like to work with qualified imports
-- but want access to the operators from Lens.
--
-- > import qualified Control.Lens as L
-- > import Control.Lens.Operators
----------------------------------------------------------------------------
module Control.Lens.Operators
(
-- * General Purpose
(&), (<&>), (??)
-- * Getting
, (^.), (^@.)
-- ** Loupes
, (^#)
-- ** with Effects
, (^!), (^@!)
, (^!!), (^@!!)
, (^!?), (^@!?)
-- ** from Folds
, (^..), (^@..)
, (^?), (^@?)
, (^?!), (^@?!)
-- * Reviewing
, ( # )
-- * Common Operators
-- ** Setting
, (.~) , (.=)
, (<.~), (<.=)
, (<<.~), (<<.=)
--- *** Loupes
, ( #~ ), ( #= )
, (<#~), (<#=)
-- *** Just
, (?~), (?=)
, (<?~), (<?=)
-- ** Modifying
, (%~), (%=)
, (<%~), (<%=)
, (<<%~), (<<%=)
-- *** Loupes
, ( #%~ ), ( #%= )
, (<#%~), (<#%=)
-- *** with Indices
, (%@~), (%@=)
, (<%@~), (<%@=)
, (<<%@~), (<<%@=)
-- ** Traversing
, (%%~), (%%=)
--- *** Loupes
, ( #%%~ ), ( #%%= )
--- *** with Indices
, (%%@~), (%%@=)
-- ** Addition
, (+~), (+=), (<+~), (<+=)
-- ** Subtraction
, (-~), (-=), (<-~), (<-=)
-- ** Multiplication
, (*~), (*=), (<*~), (<*=)
-- ** Division
, (//~), (//=), (<//~), (<//=)
-- ** Exponentiation
, (^~), (^=), (<^~), (<^=)
, (^^~), (^^=), (<^^~), (<^^=)
, (**~), (**=), (<**~), (<**=)
-- ** Logical Or
, (||~), (||=), (<||~), (<||=)
-- ** Logical And
, (&&~), (&&=), (<&&~), (<&&=)
-- ** Monoidal
, (<>~), (<>=), (<<>~), (<<>=)
-- * Composing Indices
, (<.>), (<.), (.>)
-- * Monadic Assignment
, (<~), (<<~)
-- * Zippers
, (:>)(), (:>>)()
-- * Cons and Snoc
, (<|), (|>)
) where
import Control.Lens.Action
import Control.Lens.Combinators
import Control.Lens.Cons
import Control.Lens.Fold
import Control.Lens.Getter
import Control.Lens.Indexed
import Control.Lens.Lens
import Control.Lens.Review
import Control.Lens.Setter
import Control.Lens.Zipper
{-# ANN module "HLint: ignore Use import/export shortcut" #-}