Safe HaskellNone

LSC

Synopsis

Documentation

newtype Endomorph c a Source #

Constructors

Endomorph 

Fields

Instances

Instances details
Category c => Semigroup (Endomorph c a) Source # 
Instance details

Defined in LSC

Methods

(<>) :: Endomorph c a -> Endomorph c a -> Endomorph c a

sconcat :: NonEmpty (Endomorph c a) -> Endomorph c a

stimes :: Integral b => b -> Endomorph c a -> Endomorph c a

Category c => Monoid (Endomorph c a) Source # 
Instance details

Defined in LSC

Methods

mempty :: Endomorph c a

mappend :: Endomorph c a -> Endomorph c a -> Endomorph c a

mconcat :: [Endomorph c a] -> Endomorph c a

type Compiler' a = Compiler a a Source #

compiler :: Compiler a b -> a -> LSC b Source #

env :: Confinement () -> Compiler a b -> Compiler a b Source #

remote_ :: LSC b -> Compiler () b Source #

remote :: (a -> LSC b) -> Compiler a b Source #

local_ :: LSC b -> Compiler () b Source #

local :: (a -> LSC b) -> Compiler a b Source #

expensive :: NFData b => (a -> b) -> Compiler a b Source #

type Strategy' a = Strategy a a Source #

type Strategy a b = Compiler a b -> Compiler a b Source #

strategy1 :: Comparison a -> Strategy' a Source #

strategy2 :: Comparison a -> Strategy' a Source #

iterator :: ArrowChoice a => Word -> a b b -> a [b] [b] Source #

iterator1 :: Arrow a => Word -> a b b -> a [b] [b] Source #

newtype LS a b Source #

A Kleisli category with specialized arrow instances for concurrency and exception handling

Constructors

LS 

Fields

Instances

Instances details
ArrowZero LS Source # 
Instance details

Defined in LSC

Methods

zeroArrow :: LS b c

ArrowPlus LS Source # 
Instance details

Defined in LSC

Methods

(<+>) :: LS b c -> LS b c -> LS b c

Arrow LS Source # 
Instance details

Defined in LSC

Methods

arr :: (b -> c) -> LS b c

first :: LS b c -> LS (b, d) (c, d)

second :: LS b c -> LS (d, b) (d, c)

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

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

ArrowChoice LS Source # 
Instance details

Defined in LSC

Methods

left :: LS b c -> LS (Either b d) (Either c d)

right :: LS b c -> LS (Either d b) (Either d c)

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

(|||) :: LS b d -> LS c d -> LS (Either b c) d

ArrowApply LS Source # 
Instance details

Defined in LSC

Methods

app :: LS (LS b c, b) c

ArrowRace LS Source # 
Instance details

Defined in LSC

Methods

(///) :: LS b c -> LS d e -> LS (b, d) (Either c e)

(\\\) :: LS b c -> LS b c -> LS b c

ArrowSelect LS Source # 
Instance details

Defined in LSC

Methods

select :: Traversable f => LS b c -> LS (f b) (f c)

Category LS Source # 
Instance details

Defined in LSC

Methods

id :: forall (a :: k). LS a a

(.) :: forall (b :: k) (c :: k) (a :: k). LS b c -> LS a b -> LS a c

data NoResult Source #

Constructors

NoResult 

Instances

Instances details
Show NoResult Source # 
Instance details

Defined in LSC

Methods

showsPrec :: Int -> NoResult -> ShowS

show :: NoResult -> String

showList :: [NoResult] -> ShowS

Exception NoResult Source # 
Instance details

Defined in LSC

Methods

toException :: NoResult -> SomeException

fromException :: SomeException -> Maybe NoResult

displayException :: NoResult -> String

data LSZero Source #

Constructors

LSZero 

Instances

Instances details
Show LSZero Source # 
Instance details

Defined in LSC

Methods

showsPrec :: Int -> LSZero -> ShowS

show :: LSZero -> String

showList :: [LSZero] -> ShowS

Exception LSZero Source # 
Instance details

Defined in LSC

Methods

toException :: LSZero -> SomeException

fromException :: SomeException -> Maybe LSZero

displayException :: LSZero -> String

newtype LSR ls a b Source #

An arrow transformer with effects on the evaluation of the underlying arrow

Constructors

LSR 

Fields

  • unLSR :: Algebraic ls a b
     

Instances

Instances details
Arrow ls => ArrowTransformer LSR ls Source # 
Instance details

Defined in LSC

Methods

lift :: ls b c -> LSR ls b c

ArrowZero ls => ArrowZero (LSR ls) Source # 
Instance details

Defined in LSC

Methods

zeroArrow :: LSR ls b c

ArrowPlus ls => ArrowPlus (LSR ls) Source # 
Instance details

Defined in LSC

Methods

(<+>) :: LSR ls b c -> LSR ls b c -> LSR ls b c

Arrow ls => Arrow (LSR ls) Source # 
Instance details

Defined in LSC

Methods

arr :: (b -> c) -> LSR ls b c

first :: LSR ls b c -> LSR ls (b, d) (c, d)

second :: LSR ls b c -> LSR ls (d, b) (d, c)

(***) :: LSR ls b c -> LSR ls b' c' -> LSR ls (b, b') (c, c')

(&&&) :: LSR ls b c -> LSR ls b c' -> LSR ls b (c, c')

ArrowChoice ls => ArrowChoice (LSR ls) Source # 
Instance details

Defined in LSC

Methods

left :: LSR ls b c -> LSR ls (Either b d) (Either c d)

right :: LSR ls b c -> LSR ls (Either d b) (Either d c)

(+++) :: LSR ls b c -> LSR ls b' c' -> LSR ls (Either b b') (Either c c')

(|||) :: LSR ls b d -> LSR ls c d -> LSR ls (Either b c) d

ArrowApply ls => ArrowApply (LSR ls) Source # 
Instance details

Defined in LSC

Methods

app :: LSR ls (LSR ls b c, b) c

ArrowRace ls => ArrowRace (LSR ls) Source # 
Instance details

Defined in LSC

Methods

(///) :: LSR ls b c -> LSR ls d e -> LSR ls (b, d) (Either c e)

(\\\) :: LSR ls b c -> LSR ls b c -> LSR ls b c

ArrowSelect ls => ArrowSelect (LSR ls) Source # 
Instance details

Defined in LSC

Methods

select :: Traversable f => LSR ls b c -> LSR ls (f b) (f c)

Arrow ls => Category (LSR ls :: Type -> Type -> Type) Source # 
Instance details

Defined in LSC

Methods

id :: forall (a :: k). LSR ls a a

(.) :: forall (b :: k) (c :: k) (a :: k). LSR ls b c -> LSR ls a b -> LSR ls a c

reduce :: Arrow ls => LSR ls a b -> ls a b Source #