Safe Haskell | None |
---|---|
Language | Haskell2010 |
A DSL for generating commands and groups
Synopsis
- command' :: Member (Final IO) r => Text -> (Context -> Sem r (Either CommandError a)) -> ((Context, a) -> Sem (Fail ': r) ()) -> Sem (DSLState r) Command
- command :: forall ps a r. (Member (Final IO) r, TypedCommandC ps a r) => Text -> (Context -> CommandForParsers ps r) -> Sem (DSLState r) Command
- help :: Member (Reader (Context -> Text)) r => (Context -> Text) -> Sem r a -> Sem r a
- requires :: [Check] -> Sem (DSLState r) a -> Sem (DSLState r) a
- requires' :: Member (Final IO) r => Text -> (Context -> Sem r (Maybe Text)) -> Sem (DSLState r) a -> Sem (DSLState r) a
- requiresPure :: [(Text, Context -> Maybe Text)] -> Sem (DSLState r) a -> Sem (DSLState r) a
- group :: Member (Final IO) r => Text -> Sem (DSLState r) a -> Sem (DSLState r) a
- type DSLState r = LocalWriter (HashMap Text Command) ': (LocalWriter (HashMap Text Group) ': (Reader (Maybe Group) ': (Reader (Context -> Text) ': (Reader [Check] ': (Fixpoint ': r)))))
- raiseDSL :: Sem r a -> Sem (DSLState r) a
Documentation
command' :: Member (Final IO) r => Text -> (Context -> Sem r (Either CommandError a)) -> ((Context, a) -> Sem (Fail ': r) ()) -> Sem (DSLState r) Command Source #
Build a command with an already prepared invokation action
command :: forall ps a r. (Member (Final IO) r, TypedCommandC ps a r) => Text -> (Context -> CommandForParsers ps r) -> Sem (DSLState r) Command Source #
requires' :: Member (Final IO) r => Text -> (Context -> Sem r (Maybe Text)) -> Sem (DSLState r) a -> Sem (DSLState r) a Source #
requiresPure :: [(Text, Context -> Maybe Text)] -> Sem (DSLState r) a -> Sem (DSLState r) a Source #