Stmt package:ghc

do block Statement
Are we in a do expression or a monad comprehension? This datatype is only used to report this context to the user in error messages.
Pattern of a do-stmt, list comprehension, pattern guard, etc
context of the do expression, used in pprArg
The anchor for a stmtlist is based on either the location or the first semicolon annotion.
Run a statement in the current interactive context.
Like execStmt, but takes a parsed statement as argument. Useful when doing preprocessing on the AST before execution, e.g. in GHCi (see GHCi.UI.runStmt).
Returns True if passed string is a statement.
Compile a stmt all the way to an HValue, but don't run it We return Nothing to indicate an empty statement (or comment only), not a parse error.
Compile a stmt all the way to an HValue, but don't run it We return Nothing to indicate an empty statement (or comment only), not a parse error.
ApplicativeStmt represents an applicative expression built with <$> and <*>. It is generated by the renamer, and is desugared into the appropriate applicative expression by the desugarer, but it is intended to be invisible in error messages. For full details, see Note [ApplicativeDo] in GHC.Rename.Expr