folds-0.7.1: Beautiful Folding

Safe HaskellTrustworthy
LanguageHaskell98

Data.Fold.L1'

Synopsis

Documentation

data L1' a b Source

A strict Mealy Machine

Constructors

forall c . L1' (c -> b) (c -> a -> c) (a -> c) 

Instances

Arrow L1' Source 

Methods

arr :: (b -> c) -> L1' b c

first :: L1' b c -> L1' (b, d) (c, d)

second :: L1' b c -> L1' (d, b) (d, c)

(***) :: L1' b c -> L1' b' c' -> L1' (b, b') (c, c')

(&&&) :: L1' b c -> L1' b c' -> L1' b (c, c')

ArrowChoice L1' Source 

Methods

left :: L1' b c -> L1' (Either b d) (Either c d)

right :: L1' b c -> L1' (Either d b) (Either d c)

(+++) :: L1' b c -> L1' b' c' -> L1' (Either b b') (Either c c')

(|||) :: L1' b d -> L1' c d -> L1' (Either b c) d

Corepresentable L1' Source 

Associated Types

type Corep (L1' :: * -> * -> *) :: * -> *

Methods

cotabulate :: (Corep L1' d -> c) -> L1' d c

Profunctor L1' Source 

Methods

dimap :: (a -> b) -> (c -> d) -> L1' b c -> L1' a d

lmap :: (a -> b) -> L1' b c -> L1' a c

rmap :: (b -> c) -> L1' a b -> L1' a c

(#.) :: Coercible * c b => (b -> c) -> L1' a b -> L1' a c

(.#) :: Coercible * b a => L1' b c -> (a -> b) -> L1' a c

Choice L1' Source 

Methods

left' :: L1' a b -> L1' (Either a c) (Either b c)

right' :: L1' a b -> L1' (Either c a) (Either c b)

Closed L1' Source 

Methods

closed :: L1' a b -> L1' (x -> a) (x -> b)

Strong L1' Source 

Methods

first' :: L1' a b -> L1' (a, c) (b, c)

second' :: L1' a b -> L1' (c, a) (c, b)

Costrong L1' Source 

Methods

unfirst :: L1' (a, d) (b, d) -> L1' a b

unsecond :: L1' (d, a) (d, b) -> L1' a b

Scan L1' Source 

Methods

prefix1 :: a -> L1' a b -> L1' a b Source

postfix1 :: L1' a b -> a -> L1' a b Source

run1 :: a -> L1' a b -> b Source

interspersing :: a -> L1' a b -> L1' a b Source

AsL1' L1' Source 

Methods

asL1' :: L1' a b -> L1' a b Source

AsRM1 L1' Source 

Methods

asM1 :: L1' a b -> M1 a b Source

asR1 :: L1' a b -> R1 a b Source

Category * L1' Source 

Methods

id :: L1' a a

(.) :: L1' b c -> L1' a b -> L1' a c

Cosieve L1' NonEmpty Source 

Methods

cosieve :: L1' a b -> NonEmpty a -> b

Semigroupoid * L1' Source 

Methods

o :: L1' j k1 -> L1' i j -> L1' i k1

Monad (L1' a) Source 

Methods

(>>=) :: L1' a b -> (b -> L1' a c) -> L1' a c

(>>) :: L1' a b -> L1' a c -> L1' a c

return :: b -> L1' a b

fail :: String -> L1' a b

Functor (L1' a) Source 

Methods

fmap :: (b -> c) -> L1' a b -> L1' a c

(<$) :: b -> L1' a c -> L1' a b

MonadFix (L1' a) Source 

Methods

mfix :: (b -> L1' a b) -> L1' a b

Applicative (L1' a) Source 

Methods

pure :: b -> L1' a b

(<*>) :: L1' a (b -> c) -> L1' a b -> L1' a c

(*>) :: L1' a b -> L1' a c -> L1' a c

(<*) :: L1' a b -> L1' a c -> L1' a b

Distributive (L1' a) Source 

Methods

distribute :: Functor f => f (L1' a b) -> L1' a (f b)

collect :: Functor f => (b -> L1' a c) -> f b -> L1' a (f c)

distributeM :: Monad m => m (L1' a b) -> L1' a (m b)

collectM :: Monad m => (b -> L1' a c) -> m b -> L1' a (m c)

Representable (L1' a) Source 

Associated Types

type Rep (L1' a :: * -> *) :: *

Methods

tabulate :: (Rep (L1' a) -> b) -> L1' a b

index :: L1' a b -> Rep (L1' a) -> b

Pointed (L1' a) Source 

Methods

point :: b -> L1' a b

Apply (L1' a) Source 

Methods

(<.>) :: L1' a (b -> c) -> L1' a b -> L1' a c

(.>) :: L1' a b -> L1' a c -> L1' a c

(<.) :: L1' a b -> L1' a c -> L1' a b

MonadReader (NonEmpty a) (L1' a) Source 

Methods

ask :: L1' a (NonEmpty a)

local :: (NonEmpty a -> NonEmpty a) -> L1' a b -> L1' a b

reader :: (NonEmpty a -> b) -> L1' a b

type Corep L1' = NonEmpty Source 
type Rep (L1' a) = NonEmpty a Source