Safe Haskell | None |
---|---|
Language | Haskell2010 |
IR.Pattern.Anomaly
Synopsis
- data AnomalyCtx = AnomalyCtx {}
- newtype AnomalyFn a = AnomalyFn (ReaderT AnomalyCtx Pass a)
- buildCtx :: [(TConId, TypeDef)] -> AnomalyCtx
- runAnomalyFn :: AnomalyFn a -> AnomalyCtx -> Pass a
- checkProgram :: Show t => Program t -> Pass ()
- checkDefs :: Show t => [(VarId, Expr t)] -> AnomalyFn ()
- checkExprs :: Show t => [Expr t] -> AnomalyFn ()
- checkExpr :: Show t => Expr t -> AnomalyFn ()
- checkPats :: Show t => [Alt t] -> AnomalyFn ()
- checkUseless :: Show t => [Alt t] -> AnomalyFn ()
- checkExhaustive :: Show t => [Alt t] -> AnomalyFn ()
- useful :: PatMat t -> PatVec t -> AnomalyFn Bool
- usefulInductive :: PatMat t -> PatVec t -> AnomalyFn Bool
- samplePat :: PatMat t -> Maybe (Alt t)
- askCInfo :: Identifier -> AnomalyFn CInfo
- askTInfo :: Identifier -> AnomalyFn TInfo
- hasCompleteCons :: Set Identifier -> PatMat t -> Bool
- showId :: Identifier -> ErrorMsg
- showSet :: Set Identifier -> ErrorMsg
- throwMalformedError :: AnomalyFn a
Documentation
data AnomalyCtx Source #
Constructors
AnomalyCtx | |
Fields
|
Instances
MonadReader AnomalyCtx AnomalyFn Source # | |
Defined in IR.Pattern.Anomaly Methods ask :: AnomalyFn AnomalyCtx # local :: (AnomalyCtx -> AnomalyCtx) -> AnomalyFn a -> AnomalyFn a # reader :: (AnomalyCtx -> a) -> AnomalyFn a # |
Constructors
AnomalyFn (ReaderT AnomalyCtx Pass a) |
Instances
Monad AnomalyFn Source # | |
Functor AnomalyFn Source # | |
MonadFail AnomalyFn Source # | |
Defined in IR.Pattern.Anomaly | |
Applicative AnomalyFn Source # | |
MonadReader AnomalyCtx AnomalyFn Source # | |
Defined in IR.Pattern.Anomaly Methods ask :: AnomalyFn AnomalyCtx # local :: (AnomalyCtx -> AnomalyCtx) -> AnomalyFn a -> AnomalyFn a # reader :: (AnomalyCtx -> a) -> AnomalyFn a # | |
MonadError Error AnomalyFn Source # | |
Defined in IR.Pattern.Anomaly Methods throwError :: Error -> AnomalyFn a # catchError :: AnomalyFn a -> (Error -> AnomalyFn a) -> AnomalyFn a # | |
MonadWriter [Warning] AnomalyFn Source # | |
runAnomalyFn :: AnomalyFn a -> AnomalyCtx -> Pass a Source #
Run a AnomalyFn computation.
hasCompleteCons :: Set Identifier -> PatMat t -> Bool Source #
showId :: Identifier -> ErrorMsg Source #
Report Identifier
for error reporting.