graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellNone
LanguageHaskell2010

Control.Arrow.Trans

Documentation

class (Arrow arr, Arrow (t arr)) => ArrowTrans t arr where Source #

Methods

liftA :: arr a b -> t arr a b Source #

Instances

Instances details
Arrow arr => ArrowTrans (WriterA w) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> WriterA w arr a b Source #

Arrow arr => ArrowTrans (ReaderA r) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> ReaderA r arr a b Source #

ArrowChoice arr => ArrowTrans (ErrorA e) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> ErrorA e arr a b Source #

class Arrow arr => ArrowError e arr | arr -> e where Source #

Methods

throwA :: arr e a Source #

catchA :: arr (a, s) b -> arr (a, (e, s)) b -> arr (a, s) b Source #

Instances

Instances details
MonadError e m => ArrowError e (Kleisli m) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: Kleisli m e a Source #

catchA :: Kleisli m (a, s) b -> Kleisli m (a, (e, s)) b -> Kleisli m (a, s) b Source #

ArrowError e arr => ArrowError e (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: WriterA w arr e a Source #

catchA :: WriterA w arr (a, s) b -> WriterA w arr (a, (e, s)) b -> WriterA w arr (a, s) b Source #

ArrowError e arr => ArrowError e (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: ReaderA r arr e a Source #

catchA :: ReaderA r arr (a, s) b -> ReaderA r arr (a, (e, s)) b -> ReaderA r arr (a, s) b Source #

ArrowChoice arr => ArrowError e (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: ErrorA e arr e a Source #

catchA :: ErrorA e arr (a, s) b -> ErrorA e arr (a, (e, s)) b -> ErrorA e arr (a, s) b Source #

liftEitherA :: (ArrowChoice arr, ArrowError e arr) => arr (Either e a) a Source #

mapErrorA :: ArrowError e arr => arr (a, s) b -> arr (a, (e -> e, s)) b Source #

class Arrow arr => ArrowReader r arr | arr -> r where Source #

Methods

askA :: arr a r Source #

localA :: arr (a, s) b -> arr (a, (r, s)) b Source #

Instances

Instances details
MonadReader r m => ArrowReader r (Kleisli m) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: Kleisli m a r Source #

localA :: Kleisli m (a, s) b -> Kleisli m (a, (r, s)) b Source #

ArrowReader r arr => ArrowReader r (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: WriterA w arr a r Source #

localA :: WriterA w arr (a, s) b -> WriterA w arr (a, (r, s)) b Source #

Arrow arr => ArrowReader r (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: ReaderA r arr a r Source #

localA :: ReaderA r arr (a, s) b -> ReaderA r arr (a, (r, s)) b Source #

(ArrowReader r arr, ArrowChoice arr) => ArrowReader r (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: ErrorA e arr a r Source #

localA :: ErrorA e arr (a, s) b -> ErrorA e arr (a, (r, s)) b Source #

class (Monoid w, Arrow arr) => ArrowWriter w arr | arr -> w where Source #

Methods

tellA :: arr w () Source #

listenA :: arr a b -> arr a (b, w) Source #

Instances

Instances details
MonadWriter w m => ArrowWriter w (Kleisli m) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: Kleisli m w () Source #

listenA :: Kleisli m a b -> Kleisli m a (b, w) Source #

(Monoid w, Arrow arr) => ArrowWriter w (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: WriterA w arr w () Source #

listenA :: WriterA w arr a b -> WriterA w arr a (b, w) Source #

ArrowWriter w arr => ArrowWriter w (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: ReaderA r arr w () Source #

listenA :: ReaderA r arr a b -> ReaderA r arr a (b, w) Source #

(ArrowWriter w arr, ArrowChoice arr) => ArrowWriter w (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: ErrorA e arr w () Source #

listenA :: ErrorA e arr a b -> ErrorA e arr a (b, w) Source #

newtype ErrorA e arr a b Source #

Constructors

ErrorA 

Fields

Instances

Instances details
(ArrowWriter w arr, ArrowChoice arr) => ArrowWriter w (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: ErrorA e arr w () Source #

listenA :: ErrorA e arr a b -> ErrorA e arr a (b, w) Source #

(ArrowReader r arr, ArrowChoice arr) => ArrowReader r (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: ErrorA e arr a r Source #

localA :: ErrorA e arr (a, s) b -> ErrorA e arr (a, (r, s)) b Source #

ArrowChoice arr => ArrowError e (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: ErrorA e arr e a Source #

catchA :: ErrorA e arr (a, s) b -> ErrorA e arr (a, (e, s)) b -> ErrorA e arr (a, s) b Source #

(ArrowKleisli m arr, ArrowChoice arr) => ArrowKleisli m (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Extended

Methods

arrM :: (a -> m b) -> ErrorA e arr a b Source #

(ArrowChoice arr, ArrowCache m arr) => ArrowCache m (ErrorA e arr) Source # 
Instance details

Defined in Hasura.Incremental.Internal.Cache

Methods

cache :: Cacheable a => ErrorA e arr a b -> ErrorA e arr a b Source #

newDependency :: ErrorA e arr a (Dependency a) Source #

dependOn :: Cacheable a => ErrorA e arr (Dependency a) a Source #

bindDepend :: ErrorA e arr (DependT m a) a Source #

ArrowChoice arr => ArrowTrans (ErrorA e) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> ErrorA e arr a b Source #

ArrowChoice arr => Category (ErrorA e arr :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

id :: forall (a :: k). ErrorA e arr a a #

(.) :: forall (b :: k) (c :: k) (a :: k). ErrorA e arr b c -> ErrorA e arr a b -> ErrorA e arr a c #

ArrowChoice arr => Arrow (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

arr :: (b -> c) -> ErrorA e arr b c #

first :: ErrorA e arr b c -> ErrorA e arr (b, d) (c, d) #

second :: ErrorA e arr b c -> ErrorA e arr (d, b) (d, c) #

(***) :: ErrorA e arr b c -> ErrorA e arr b' c' -> ErrorA e arr (b, b') (c, c') #

(&&&) :: ErrorA e arr b c -> ErrorA e arr b c' -> ErrorA e arr b (c, c') #

ArrowChoice arr => ArrowChoice (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

left :: ErrorA e arr b c -> ErrorA e arr (Either b d) (Either c d) #

right :: ErrorA e arr b c -> ErrorA e arr (Either d b) (Either d c) #

(+++) :: ErrorA e arr b c -> ErrorA e arr b' c' -> ErrorA e arr (Either b b') (Either c c') #

(|||) :: ErrorA e arr b d -> ErrorA e arr c d -> ErrorA e arr (Either b c) d #

(ArrowChoice arr, ArrowApply arr) => ArrowApply (ErrorA e arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

app :: ErrorA e arr (ErrorA e arr b c, b) c #

Functor (arr a) => Functor (ErrorA e arr a) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

fmap :: (a0 -> b) -> ErrorA e arr a a0 -> ErrorA e arr a b #

(<$) :: a0 -> ErrorA e arr a b -> ErrorA e arr a a0 #

sequenceFirst :: Functor f => (f a, b) -> f (a, b) Source #

newtype ReaderA r arr a b Source #

Constructors

ReaderA 

Fields

Instances

Instances details
ArrowWriter w arr => ArrowWriter w (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: ReaderA r arr w () Source #

listenA :: ReaderA r arr a b -> ReaderA r arr a (b, w) Source #

Arrow arr => ArrowReader r (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: ReaderA r arr a r Source #

localA :: ReaderA r arr (a, s) b -> ReaderA r arr (a, (r, s)) b Source #

ArrowError e arr => ArrowError e (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: ReaderA r arr e a Source #

catchA :: ReaderA r arr (a, s) b -> ReaderA r arr (a, (e, s)) b -> ReaderA r arr (a, s) b Source #

ArrowKleisli m arr => ArrowKleisli m (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Extended

Methods

arrM :: (a -> m b) -> ReaderA r arr a b Source #

Arrow arr => ArrowTrans (ReaderA r) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> ReaderA r arr a b Source #

Arrow arr => Category (ReaderA r arr :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

id :: forall (a :: k). ReaderA r arr a a #

(.) :: forall (b :: k) (c :: k) (a :: k). ReaderA r arr b c -> ReaderA r arr a b -> ReaderA r arr a c #

Arrow arr => Arrow (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

arr :: (b -> c) -> ReaderA r arr b c #

first :: ReaderA r arr b c -> ReaderA r arr (b, d) (c, d) #

second :: ReaderA r arr b c -> ReaderA r arr (d, b) (d, c) #

(***) :: ReaderA r arr b c -> ReaderA r arr b' c' -> ReaderA r arr (b, b') (c, c') #

(&&&) :: ReaderA r arr b c -> ReaderA r arr b c' -> ReaderA r arr b (c, c') #

ArrowChoice arr => ArrowChoice (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

left :: ReaderA r arr b c -> ReaderA r arr (Either b d) (Either c d) #

right :: ReaderA r arr b c -> ReaderA r arr (Either d b) (Either d c) #

(+++) :: ReaderA r arr b c -> ReaderA r arr b' c' -> ReaderA r arr (Either b b') (Either c c') #

(|||) :: ReaderA r arr b d -> ReaderA r arr c d -> ReaderA r arr (Either b c) d #

ArrowApply arr => ArrowApply (ReaderA r arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

app :: ReaderA r arr (ReaderA r arr b c, b) c #

newtype WriterA w arr a b Source #

Constructors

MkWriterA (arr (a, w) (b, w)) 

Instances

Instances details
(Monoid w, Arrow arr) => ArrowWriter w (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

tellA :: WriterA w arr w () Source #

listenA :: WriterA w arr a b -> WriterA w arr a (b, w) Source #

ArrowReader r arr => ArrowReader r (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

askA :: WriterA w arr a r Source #

localA :: WriterA w arr (a, s) b -> WriterA w arr (a, (r, s)) b Source #

ArrowError e arr => ArrowError e (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

throwA :: WriterA w arr e a Source #

catchA :: WriterA w arr (a, s) b -> WriterA w arr (a, (e, s)) b -> WriterA w arr (a, s) b Source #

ArrowKleisli m arr => ArrowKleisli m (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Extended

Methods

arrM :: (a -> m b) -> WriterA w arr a b Source #

(Monoid w, ArrowCache m arr) => ArrowCache m (WriterA w arr) Source # 
Instance details

Defined in Hasura.Incremental.Internal.Cache

Methods

cache :: Cacheable a => WriterA w arr a b -> WriterA w arr a b Source #

newDependency :: WriterA w arr a (Dependency a) Source #

dependOn :: Cacheable a => WriterA w arr (Dependency a) a Source #

bindDepend :: WriterA w arr (DependT m a) a Source #

Arrow arr => ArrowTrans (WriterA w) arr Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

liftA :: arr a b -> WriterA w arr a b Source #

Category arr => Category (WriterA w arr :: Type -> Type -> Type) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

id :: forall (a :: k). WriterA w arr a a #

(.) :: forall (b :: k) (c :: k) (a :: k). WriterA w arr b c -> WriterA w arr a b -> WriterA w arr a c #

Arrow arr => Arrow (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

arr :: (b -> c) -> WriterA w arr b c #

first :: WriterA w arr b c -> WriterA w arr (b, d) (c, d) #

second :: WriterA w arr b c -> WriterA w arr (d, b) (d, c) #

(***) :: WriterA w arr b c -> WriterA w arr b' c' -> WriterA w arr (b, b') (c, c') #

(&&&) :: WriterA w arr b c -> WriterA w arr b c' -> WriterA w arr b (c, c') #

ArrowChoice arr => ArrowChoice (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

left :: WriterA w arr b c -> WriterA w arr (Either b d) (Either c d) #

right :: WriterA w arr b c -> WriterA w arr (Either d b) (Either d c) #

(+++) :: WriterA w arr b c -> WriterA w arr b' c' -> WriterA w arr (Either b b') (Either c c') #

(|||) :: WriterA w arr b d -> WriterA w arr c d -> WriterA w arr (Either b c) d #

ArrowApply arr => ArrowApply (WriterA w arr) Source # 
Instance details

Defined in Control.Arrow.Trans

Methods

app :: WriterA w arr (WriterA w arr b c, b) c #

(Monoid w, ArrowDistribute arr) => ArrowDistribute (WriterA w arr) Source # 
Instance details

Defined in Hasura.Incremental.Internal.Rule

Methods

keyed :: (Eq k, Hashable k) => WriterA w arr (e, (k, (a, s))) b -> WriterA w arr (e, (HashMap k a, s)) (HashMap k b) Source #

pattern WriterA :: (Monoid w, Arrow arr) => arr a (b, w) -> WriterA w arr a b Source #