| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Optics.View
Description
EXPERIMENTAL
Synopsis
- class ViewableOptic k r where
- type ViewResult k r
- gview :: forall s m (is :: IxList). MonadReader s m => Optic' k is s r -> m (ViewResult k r)
- gviews :: forall s m (is :: IxList) a. MonadReader s m => Optic' k is s a -> (a -> r) -> m (ViewResult k r)
- guse :: forall k a s m (is :: IxList). (ViewableOptic k a, MonadState s m) => Optic' k is s a -> m (ViewResult k a)
- guses :: forall k r s m (is :: IxList) a. (ViewableOptic k r, MonadState s m) => Optic' k is s a -> (a -> r) -> m (ViewResult k r)
- glistening :: forall k r s m (is :: IxList) a. (ViewableOptic k r, MonadWriter s m) => Optic' k is s r -> m a -> m (a, ViewResult k r)
- glistenings :: forall k r s m (is :: IxList) a b. (ViewableOptic k r, MonadWriter s m) => Optic' k is s a -> (a -> r) -> m b -> m (b, ViewResult k r)
Documentation
class ViewableOptic k r where Source #
Generalized view (even more powerful than view from the lens library).
View the value(s) pointed to by an optic.
The type of the result depends on the optic. You get:
- Exactly one result
awithIso,Lens,ReversedPrismandGetter. - At most one result
Maybe awithPrism,AffineTraversalandAffineFold. - Monoidal summary of all results
Monoid a => awithTraversalandFold.
When in doubt, use specific, flavour restricted versions. This function is
mostly useful for things such as passthrough.
Associated Types
type ViewResult k r Source #
Methods
gview :: forall s m (is :: IxList). MonadReader s m => Optic' k is s r -> m (ViewResult k r) Source #
gviews :: forall s m (is :: IxList) a. MonadReader s m => Optic' k is s a -> (a -> r) -> m (ViewResult k r) Source #
Instances
guse :: forall k a s m (is :: IxList). (ViewableOptic k a, MonadState s m) => Optic' k is s a -> m (ViewResult k a) Source #
guses :: forall k r s m (is :: IxList) a. (ViewableOptic k r, MonadState s m) => Optic' k is s a -> (a -> r) -> m (ViewResult k r) Source #
glistening :: forall k r s m (is :: IxList) a. (ViewableOptic k r, MonadWriter s m) => Optic' k is s r -> m a -> m (a, ViewResult k r) Source #
glistenings :: forall k r s m (is :: IxList) a b. (ViewableOptic k r, MonadWriter s m) => Optic' k is s a -> (a -> r) -> m b -> m (b, ViewResult k r) Source #