lens-4.15.1: Lenses, Folds and Traversals

Control.Lens.Internal.Magma

Contents

Description

Synopsis

# Magma

data Magma i t b a where Source #

This provides a way to peek at the internal structure of a Traversal or IndexedTraversal

Constructors

 MagmaAp :: Magma i (x -> y) b a -> Magma i x b a -> Magma i y b a MagmaPure :: x -> Magma i x b a MagmaFmap :: (x -> y) -> Magma i x b a -> Magma i y b a Magma :: i -> a -> Magma i b b a

Instances

# Mafic

data Mafic a b t Source #

This is used to generate an indexed magma from an unindexed source

By constructing it this way we avoid infinite reassociations in sums where possible.

Constructors

 Mafic Int (Int -> Magma Int t b a)

Instances

 Source # Methodsifmap :: (s -> t) -> Mafic a b s -> Mafic a b t Source # Sellable (->) Mafic Source # Methodssell :: a -> Mafic a b b Source # Source # Methodsbazaar :: Applicative f => Indexed Int a (f b) -> Mafic a b t -> f t Source # Functor (Mafic a b) Source # Methodsfmap :: (a -> b) -> Mafic a b a -> Mafic a b b #(<$) :: a -> Mafic a b b -> Mafic a b a # Applicative (Mafic a b) Source # Methodspure :: a -> Mafic a b a #(<*>) :: Mafic a b (a -> b) -> Mafic a b a -> Mafic a b b #(*>) :: Mafic a b a -> Mafic a b b -> Mafic a b b #(<*) :: Mafic a b a -> Mafic a b b -> Mafic a b a # Apply (Mafic a b) Source # Methods(<.>) :: Mafic a b (a -> b) -> Mafic a b a -> Mafic a b b #(.>) :: Mafic a b a -> Mafic a b b -> Mafic a b b #(<.) :: Mafic a b a -> Mafic a b b -> Mafic a b a # runMafic :: Mafic a b t -> Magma Int t b a Source # Generate a Magma using from a prefix sum. # TakingWhile data TakingWhile p g a b t Source # This is used to generate an indexed magma from an unindexed source By constructing it this way we avoid infinite reassociations where possible. In TakingWhile p g a b t, g has a nominal role to avoid exposing an illegal _|_ via Contravariant, while the remaining arguments are degraded to a nominal role by the invariants of Magma Constructors  TakingWhile Bool t (Bool -> Magma () t b (Corep p a)) Instances  Corepresentable p => Bizarre p (TakingWhile p g) Source # Methodsbazaar :: Applicative f => p a (f b) -> TakingWhile p g a b t -> f t Source # Source # Methodsifmap :: (s -> t) -> TakingWhile p f a b s -> TakingWhile p f a b t Source # Functor (TakingWhile p f a b) Source # Methodsfmap :: (a -> b) -> TakingWhile p f a b a -> TakingWhile p f a b b #(<$) :: a -> TakingWhile p f a b b -> TakingWhile p f a b a # Applicative (TakingWhile p f a b) Source # Methodspure :: a -> TakingWhile p f a b a #(<*>) :: TakingWhile p f a b (a -> b) -> TakingWhile p f a b a -> TakingWhile p f a b b #(*>) :: TakingWhile p f a b a -> TakingWhile p f a b b -> TakingWhile p f a b b #(<*) :: TakingWhile p f a b a -> TakingWhile p f a b b -> TakingWhile p f a b a # Contravariant f => Contravariant (TakingWhile p f a b) Source # Methodscontramap :: (a -> b) -> TakingWhile p f a b b -> TakingWhile p f a b a #(>\$) :: b -> TakingWhile p f a b b -> TakingWhile p f a b a # Apply (TakingWhile p f a b) Source # Methods(<.>) :: TakingWhile p f a b (a -> b) -> TakingWhile p f a b a -> TakingWhile p f a b b #(.>) :: TakingWhile p f a b a -> TakingWhile p f a b b -> TakingWhile p f a b b #(<.) :: TakingWhile p f a b a -> TakingWhile p f a b b -> TakingWhile p f a b a #

runTakingWhile :: TakingWhile p f a b t -> Magma () t b (Corep p a) Source #

Generate a Magma with leaves only while the predicate holds from left to right.