module Inferno.Eval.Error where

import Inferno.Types.Syntax (ExtIdent)

data EvalError
  = AssertionFailed
  | RuntimeError String
  | CastError String
  | NotFoundInImplicitEnv ExtIdent
  deriving (Int -> EvalError -> ShowS
[EvalError] -> ShowS
EvalError -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EvalError] -> ShowS
$cshowList :: [EvalError] -> ShowS
show :: EvalError -> String
$cshow :: EvalError -> String
showsPrec :: Int -> EvalError -> ShowS
$cshowsPrec :: Int -> EvalError -> ShowS
Show, EvalError -> EvalError -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EvalError -> EvalError -> Bool
$c/= :: EvalError -> EvalError -> Bool
== :: EvalError -> EvalError -> Bool
$c== :: EvalError -> EvalError -> Bool
Eq)