Safe Haskell | None |
---|---|
Language | Haskell2010 |
Datatypes for error traces, produced by the standard interpreters in Generics.BiGUL.Interpreter.
- data BiGULTrace
- = BTSuccess
- | BTError BiGULError
- | (Show s, Show v) => BTNextSV String s v BiGULTrace
- | Show s => BTNextS String s BiGULTrace
- | BTBranch Int BiGULTrace
- | BTBranches [BiGULTrace]
- data BiGULError
- = BEFail String
- | BESkipMismatch
- | BESourcePatternMismatch PatError
- | BEViewPatternMismatch PatError
- | BEInvRearrFailed PatError
- | BEViewRecoveringFailed PatError
- | BEDependencyMismatch
- | BECaseExhausted
- | BEAdaptiveBranchRevisited
- | BEPreviousBranchMatched
- | BEExitConditionFailed
- | BEPostVerificationFailed
- | BEBranchUnmatched
- | BEAdaptiveBranchMatched
- indent :: String -> String
- data PatError
Documentation
data BiGULTrace Source #
Execution traces, which log the operations executed, intermediate sources and views, and reasons of eventual failure.
BTSuccess | Execution successfully produces a result. |
BTError BiGULError | Execution fails to produce a result. |
(Show s, Show v) => BTNextSV String s v BiGULTrace | An intermediate step with the current source and view. |
Show s => BTNextS String s BiGULTrace | An intermediate step with the current source. |
BTBranch Int BiGULTrace | Inside a branch. Notes that branch numbering starts from 0. |
BTBranches [BiGULTrace] | All branches fail. |
data BiGULError Source #
Datatype of atomic errors.
BEFail String |
|
BESkipMismatch | When executing |
BESourcePatternMismatch PatError | The source does not match with a pattern. |
BEViewPatternMismatch PatError | The view does not match with a pattern. |
BEInvRearrFailed PatError | The inverse rearrangement fails. |
BEViewRecoveringFailed PatError | The view cannot be reconstructed. |
BEDependencyMismatch | When executing |
BECaseExhausted | No branch in a |
BEAdaptiveBranchRevisited | After adaptation, execution still goes into an adaptative branch. |
BEPreviousBranchMatched | After execution of a branch, the computed source and view satisfy the main condition of a previous branch. |
BEExitConditionFailed | After execution of a branch, the updated source fails to satisfy the exit condition. |
BEPostVerificationFailed | After execution of a branch, the computed source and view do not satisfy the main condition. |
BEBranchUnmatched | The main condition is not satisfied by the source and view (and hence the branch is not chosen). |
BEAdaptiveBranchMatched | The branch is adaptive and hence ignored. |
Pattern matching errors, which also explain where the matching fails.
PEConstantMismatch | A constant pattern/expression is matched with a different value. |
PELeftMismatch | |
PERightMismatch | |
PEIncompatibleUpdates | Occurrences of the same variable in an expression are matched with different values. |
PEMultipleUpdates | A variable that should appear at most once in an expression is however used multiple times. |
PEValueUnrecoverable | A variable that should appear at least once in an expression is however absent. |
PEProdL PatError | The error is on the left of a product pattern/expression. |
PEProdR PatError | The error is on the right of a product pattern/expression. |
PELeft PatError | The error is inside a |
PERight PatError | The error is inside a |
PEIn PatError | The error is inside a constructor pattern/expression. |