| Safe Haskell | Safe-Inferred |
|---|
Game.Antisplice.Monad.Vocab
Description
Provides a monad that collects vocab during dungeon construction and reproduces it later.
- data Token
- newtype VocabT m a = Vocab {}
- class Monad m => MonadVocab m where
- lookupVocab :: String -> m Token
- insertVocab :: String -> (String -> Token) -> m ()
- vocabKnown :: String -> m Bool
Documentation
Algebraic type for primitive and complex tokens.
The vocab monad. Carries the currently noun vocab as its state.
Instances
| MonadTrans VocabT | |
| (MonadError SplErr m0, Run VocabT) => MonadError SplErr (VocabT m0) | |
| Monad m => Monad (VocabT m) | |
| Functor m => Functor (VocabT m) | |
| ExpanderEnv m0 => ExpanderEnv (VocabT m0) | |
| MonadExpand m0 => MonadExpand (VocabT m0) | |
| ExtendedPrinter m0 => ExtendedPrinter (VocabT m0) | |
| MonadSpawn m0 => MonadSpawn (VocabT m0) | |
| MonadPrinter m0 => MonadPrinter (VocabT m0) | |
| MonadScanner m0 => MonadScanner (VocabT m0) | |
| MonadFinalizer m0 => MonadFinalizer (VocabT m0) | |
| MonadClock m0 => MonadClock (VocabT m0) | |
| MonadRandom m0 => MonadRandom (VocabT m0) | |
| MonadIO m => MonadIO (VocabT m) | |
| MonadCounter m0 => MonadCounter (VocabT m0) | |
| MonadAtoms m0 => MonadAtoms (VocabT m0) | |
| Monad m => MonadVocab (VocabT m) | |
| MonadDungeon m0 => MonadDungeon (VocabT m0) | |
| MonadPlayer m0 => MonadPlayer (VocabT m0) | |
| MonadRoom m0 => MonadRoom (VocabT m0) |
class Monad m => MonadVocab m whereSource
Tyepclass for all vocab-memorizing monads.
Methods
lookupVocab :: String -> m TokenSource
Lookup a word and return its token.
insertVocab :: String -> (String -> Token) -> m ()Source
Learn a new word.
vocabKnown :: String -> m BoolSource
Check if a word is already known.
Instances
| MonadVocab m0 => MonadVocab (CounterT m0) | |
| MonadVocab m0 => MonadVocab (SplErrT m0) | |
| MonadVocab m0 => MonadVocab (AtomStoreT m0) | |
| Monad m => MonadVocab (VocabT m) | |
| MonadVocab m0 => MonadVocab (DungeonT m0) | |
| MonadVocab m0 => MonadVocab (PlayerT m0) | |
| MonadVocab m0 => MonadVocab (ObjectT m0) | |
| MonadVocab m0 => MonadVocab (RoomT m0) |