Copyright | disco team and contributors |
---|---|
License | BSD-3-Clause |
Maintainer | byorgey@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Type for collecting all potential Disco errors at the top level, and a type for runtime errors.
Synopsis
- data DiscoError where
- ModuleNotFound :: String -> DiscoError
- CyclicImport :: [ModuleName] -> DiscoError
- TypeCheckErr :: TCError -> DiscoError
- ParseErr :: ParseErrorBundle String DiscoParseError -> DiscoError
- EvalErr :: EvalError -> DiscoError
- Panic :: String -> DiscoError
- data EvalError where
- UnboundError :: Name core -> EvalError
- DivByZero :: EvalError
- Overflow :: EvalError
- NonExhaustive :: EvalError
- InfiniteLoop :: EvalError
- Crash :: String -> EvalError
- panic :: Member (Error DiscoError) r => String -> Sem r a
- outputDiscoErrors :: Member (Output Message) r => Sem (Error DiscoError ': r) () -> Sem r ()
Documentation
data DiscoError where Source #
Top-level error type for Disco.
ModuleNotFound :: String -> DiscoError | Module not found. |
CyclicImport :: [ModuleName] -> DiscoError | Cyclic import encountered. |
TypeCheckErr :: TCError -> DiscoError | Error encountered during typechecking. |
ParseErr :: ParseErrorBundle String DiscoParseError -> DiscoError | Error encountered during parsing. |
EvalErr :: EvalError -> DiscoError | Error encountered at runtime. |
Panic :: String -> DiscoError | Something that shouldn't happen; indicates the presence of a bug. |
Instances
Show DiscoError Source # | |
Defined in Disco.Error showsPrec :: Int -> DiscoError -> ShowS # show :: DiscoError -> String # showList :: [DiscoError] -> ShowS # | |
Pretty DiscoError Source # | |
Errors that can be generated at runtime.
UnboundError :: Name core -> EvalError | An unbound name. This shouldn't happen. |
DivByZero :: EvalError | Division by zero. |
Overflow :: EvalError | Overflow, e.g. (2^66)! |
NonExhaustive :: EvalError | Non-exhaustive case analysis. |
InfiniteLoop :: EvalError | Infinite loop detected via black hole. |
Crash :: String -> EvalError | User-generated crash. |
outputDiscoErrors :: Member (Output Message) r => Sem (Error DiscoError ': r) () -> Sem r () Source #