optics-core-0.4: Optics as an abstract interface: core definitions
Safe HaskellNone
LanguageHaskell2010

Optics.Operators

Description

Defines some infix operators for optics operations. This is a deliberately small collection.

If you like operators, you may also wish to import Optics.State.Operators from the optics-extra package.

Synopsis

Documentation

(^.) :: Is k A_Getter => s -> Optic' k is s a -> a infixl 8 Source #

Flipped infix version of view.

(^..) :: Is k A_Fold => s -> Optic' k is s a -> [a] infixl 8 Source #

Flipped infix version of toListOf.

(^?) :: Is k An_AffineFold => s -> Optic' k is s a -> Maybe a infixl 8 Source #

Flipped infix version of preview.

(#) :: Is k A_Review => Optic' k is t b -> b -> t infixr 8 Source #

Infix version of review.

(%~) :: Is k A_Setter => Optic k is s t a b -> (a -> b) -> s -> t infixr 4 Source #

Infix version of over.

(%!~) :: Is k A_Setter => Optic k is s t a b -> (a -> b) -> s -> t infixr 4 Source #

Infix version of over'.

(.~) :: Is k A_Setter => Optic k is s t a b -> b -> s -> t infixr 4 Source #

Infix version of set.

(!~) :: Is k A_Setter => Optic k is s t a b -> b -> s -> t infixr 4 Source #

Infix version of set'.

(?~) :: Is k A_Setter => Optic k is s t a (Maybe b) -> b -> s -> t infixr 4 Source #

Set the target of a Setter to Just a value.

o ?~ b ≡ set o (Just b)
>>> Nothing & equality ?~ 'x'
Just 'x'
>>> Map.empty & at 3 ?~ 'x'
fromList [(3,'x')]

(?!~) :: Is k A_Setter => Optic k is s t a (Maybe b) -> b -> s -> t infixr 4 Source #

Strict version of (?~).