Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type TID = VarId
- data ThreadId
- type CID = VarId
- type ChanBound = Word16
- data Chan t a
- data ThreadCMD fs a where
- data ChanCMD fs a where
- NewChan :: pred a => exp ChanBound -> ChanCMD (Param3 prog exp pred) (Chan t a)
- ReadChan :: pred a => Chan t a -> ChanCMD (Param3 prog exp pred) (Val a)
- WriteChan :: pred a => Chan t a -> exp a -> ChanCMD (Param3 prog exp pred) (Val Bool)
- CloseChan :: Chan Closeable a -> ChanCMD (Param3 prog exp pred) ()
- ReadOK :: Chan Closeable a -> ChanCMD (Param3 prog exp pred) (Val Bool)
- data Closeable
- data Uncloseable
Documentation
A bounded channel.
data ThreadCMD fs a where Source
ForkWithId :: (ThreadId -> prog ()) -> ThreadCMD (Param3 prog exp pred) ThreadId | |
Kill :: ThreadId -> ThreadCMD (Param3 prog exp pred) () | |
Wait :: ThreadId -> ThreadCMD (Param3 prog exp pred) () |
HFunctor * * ((,) k ((,) k *)) (ThreadCMD k k) Source | |
HBifunctor * k ((,) k *) (ThreadCMD (k -> *) k) Source | |
(:<:) ((,) (* -> *) ((,) (k -> *) ((,) k1 *))) * (ThreadCMD (k -> *) k1) instr => Reexpressible k ((,) k *) (ThreadCMD (k -> *) k) instr Source | |
InterpBi ((,) k *) * (ThreadCMD (* -> *) k) IO (Param1 k pred) Source |
data ChanCMD fs a where Source
NewChan :: pred a => exp ChanBound -> ChanCMD (Param3 prog exp pred) (Chan t a) | |
ReadChan :: pred a => Chan t a -> ChanCMD (Param3 prog exp pred) (Val a) | |
WriteChan :: pred a => Chan t a -> exp a -> ChanCMD (Param3 prog exp pred) (Val Bool) | |
CloseChan :: Chan Closeable a -> ChanCMD (Param3 prog exp pred) () | |
ReadOK :: Chan Closeable a -> ChanCMD (Param3 prog exp pred) (Val Bool) |
HFunctor k * ((,) (* -> *) ((,) (* -> Constraint) *)) (ChanCMD (k -> *)) Source | |
HBifunctor * * ((,) (* -> Constraint) *) (ChanCMD (* -> *)) Source | |
(:<:) ((,) (* -> *) ((,) (* -> *) ((,) (* -> Constraint) *))) * (ChanCMD (* -> *)) instr => Reexpressible * ((,) (* -> Constraint) *) (ChanCMD (* -> *)) instr Source | |
InterpBi ((,) (* -> Constraint) *) * (ChanCMD (* -> *)) IO (Param1 (* -> Constraint) pred) Source |
data Uncloseable Source