EtaMOO-0.1.0.0: src/MOO/Task.hs-boot
-- -*- Haskell -*-
module MOO.Task ( MOO
, World
, requestIO
, delayIO
, getWorld
, getWorld'
, putWorld
, getPlayer
, getObject
, readProperty
, findVerb
, callCommandVerb
, raise
, notyet
) where
import Control.Concurrent.STM
import Control.Monad.Reader
import Control.Monad.Cont
import Control.Monad.State.Strict
import MOO.Types
import {-# SOURCE #-} MOO.Object
import {-# SOURCE #-} MOO.Verb
import {-# SOURCE #-} MOO.Command
data World
data Environment
data TaskDisposition
data TaskState
type MOO = ReaderT Environment
(ContT TaskDisposition
(StateT TaskState STM))
requestIO :: IO a -> MOO a
delayIO :: IO () -> MOO ()
getWorld :: MOO World
getWorld' :: MOO (TVar World)
putWorld :: World -> MOO ()
getPlayer :: MOO ObjId
getObject :: ObjId -> MOO (Maybe Object)
readProperty :: ObjId -> StrT -> MOO (Maybe Value)
findVerb :: (Verb -> Bool) -> StrT -> ObjId -> MOO (Maybe ObjId, Maybe Verb)
callCommandVerb :: ObjId -> (ObjId, Verb) -> ObjId ->
Command -> (ObjId, ObjId) -> MOO Value
raise :: Error -> MOO a
notyet :: String -> MOO a