Safe Haskell | None |
---|
The main game action monad type implementation. Just as any other
component of the library, this implementation can be substituted.
This module should not be imported anywhere except in Action
to expose the executor to any code using the library.
- executorCli :: CliImplementation resp req () -> SessionUI -> State -> StateClient -> ChanServer resp req -> IO ()
- data CliImplementation resp req a
Documentation
executorCli :: CliImplementation resp req () -> SessionUI -> State -> StateClient -> ChanServer resp req -> IO ()Source
Init the client, then run an action, with a given session,
state and history, in the IO
monad.
data CliImplementation resp req a Source
Server state transformation monad.
MonadClientWriteRequest req (CliImplementation resp req) | |
MonadClientReadResponse resp (CliImplementation resp req) | |
Monad (CliImplementation resp req) | |
Functor (CliImplementation resp req) | |
Applicative (CliImplementation resp req) | |
MonadStateRead (CliImplementation resp req) | |
MonadStateWrite (CliImplementation resp req) | |
MonadAtomic (CliImplementation resp req) | |
MonadClient (CliImplementation resp req) | |
MonadClientUI (CliImplementation resp req) |