Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
PlutusCore.Error
Contents
Synopsis
- data ParserError
- data ParserErrorBundle = ParseErrorB !(ParseErrorBundle Text ParserError)
- data NormCheckError tyname name uni fun ann
- data UniqueError ann
- = MultiplyDefined !Unique !ann !ann
- | IncoherentUsage !Unique !ann !ann
- | FreeVariable !Unique !ann
- data ExpectedShapeOr a
- = ExpectedShape !Text ![Text]
- | ExpectedExact !a
- data TypeError term uni fun ann
- = KindMismatch !ann !(Type TyName uni ()) !(ExpectedShapeOr (Kind ())) !(Kind ())
- | TypeMismatch !ann !term !(ExpectedShapeOr (Type TyName uni ())) !(Normalized (Type TyName uni ()))
- | TyNameMismatch !ann !TyName !TyName
- | NameMismatch !ann !Name !Name
- | FreeTypeVariableE !ann !TyName
- | FreeVariableE !ann !Name
- | UnknownBuiltinFunctionE !ann !fun
- data FreeVariableError
- = FreeUnique !Unique
- | FreeIndex !Index
- data Error uni fun ann
- = ParseErrorE !ParserErrorBundle
- | UniqueCoherencyErrorE !(UniqueError ann)
- | TypeErrorE !(TypeError (Term TyName Name uni fun ()) uni fun ann)
- | NormCheckErrorE !(NormCheckError TyName Name uni fun ann)
- | FreeVariableErrorE !FreeVariableError
- throwingEither ∷ MonadError e m ⇒ AReview e t → Either t a → m a
- class Ord a ⇒ ShowErrorComponent a where
- showErrorComponent ∷ a → String
- errorComponentLen ∷ a → Int
- data ApplyProgramError = MkApplyProgramError Version Version
Documentation
data ParserError Source #
An error encountered during parsing.
Constructors
BuiltinTypeNotAStar !Text !SourcePos | |
UnknownBuiltinFunction !Text !SourcePos ![Text] | |
InvalidBuiltinConstant !Text !Text !SourcePos |
Instances
data ParserErrorBundle Source #
Constructors
ParseErrorB !(ParseErrorBundle Text ParserError) |
Instances
Generic ParserErrorBundle Source # | |
Defined in PlutusCore.Error Methods | |
Show ParserErrorBundle Source # | |
Defined in PlutusCore.Error | |
NFData ParserErrorBundle Source # | |
Defined in PlutusCore.Error Methods rnf ∷ ParserErrorBundle → () Source # | |
Eq ParserErrorBundle Source # | |
Defined in PlutusCore.Error Methods (==) ∷ ParserErrorBundle → ParserErrorBundle → Bool Source # (/=) ∷ ParserErrorBundle → ParserErrorBundle → Bool Source # | |
Pretty ParserErrorBundle Source # | |
Defined in PlutusCore.Error Methods pretty ∷ ParserErrorBundle → Doc ann Source # prettyList ∷ [ParserErrorBundle] → Doc ann Source # | |
type Rep ParserErrorBundle Source # | |
Defined in PlutusCore.Error type Rep ParserErrorBundle = D1 ('MetaData "ParserErrorBundle" "PlutusCore.Error" "plutus-core-1.46.0.0-inplace" 'False) (C1 ('MetaCons "ParseErrorB" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (ParseErrorBundle Text ParserError)))) |
data NormCheckError tyname name uni fun ann Source #
Constructors
BadType !ann !(Type tyname uni ann) !Text | |
BadTerm !ann !(Term tyname name uni fun ann) !Text |
Instances
(Pretty ann, PrettyBy config (Type tyname uni ann), PrettyBy config (Term tyname name uni fun ann)) ⇒ PrettyBy config (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error Methods prettyBy ∷ config → NormCheckError tyname name uni fun ann → Doc ann0 Source # prettyListBy ∷ config → [NormCheckError tyname name uni fun ann] → Doc ann0 Source # | |
Functor (NormCheckError tyname name uni fun) Source # | |
Defined in PlutusCore.Error Methods fmap ∷ (a → b) → NormCheckError tyname name uni fun a → NormCheckError tyname name uni fun b Source # (<$) ∷ a → NormCheckError tyname name uni fun b → NormCheckError tyname name uni fun a Source # | |
Generic (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error Methods from ∷ NormCheckError tyname name uni fun ann → Rep (NormCheckError tyname name uni fun ann) x Source # to ∷ Rep (NormCheckError tyname name uni fun ann) x → NormCheckError tyname name uni fun ann Source # | |
(Show tyname, Show name, Closed uni, Everywhere uni Show, Show fun, Show ann, GShow uni) ⇒ Show (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error | |
(NFData tyname, NFData name, Closed uni, Everywhere uni NFData, NFData fun, NFData ann) ⇒ NFData (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error Methods rnf ∷ NormCheckError tyname name uni fun ann → () Source # | |
(Eq (Term tyname name uni fun ann), Eq (Type tyname uni ann), GEq uni, Closed uni, Everywhere uni Eq, Eq fun, Eq ann) ⇒ Eq (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error Methods (==) ∷ NormCheckError tyname name uni fun ann → NormCheckError tyname name uni fun ann → Bool Source # (/=) ∷ NormCheckError tyname name uni fun ann → NormCheckError tyname name uni fun ann → Bool Source # | |
type Rep (NormCheckError tyname name uni fun ann) Source # | |
Defined in PlutusCore.Error type Rep (NormCheckError tyname name uni fun ann) = D1 ('MetaData "NormCheckError" "PlutusCore.Error" "plutus-core-1.46.0.0-inplace" 'False) (C1 ('MetaCons "BadType" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ann) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Type tyname uni ann)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: C1 ('MetaCons "BadTerm" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ann) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Term tyname name uni fun ann)) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) |
data UniqueError ann Source #
Constructors
MultiplyDefined !Unique !ann !ann | |
IncoherentUsage !Unique !ann !ann | |
FreeVariable !Unique !ann |
Instances
data ExpectedShapeOr a Source #
This is needed for nice kind/type checking error messages. In some cases the type checker knows
the exact type that an expression has to have for type checking to succeed (see any of
checkTypeM
functions and its usages), which is what ExpectedExact
is suitable for. In other
cases the type checker only cares about the shape of the inferred type, e.g. the type checker
knows that the type of a function has to be dom -> cod
for type checking to succeed, but it
doesn't yet care what dom
and cod
exactly are. Which is what ExpectedShape
is useful for as
it allows one to specify the shape of an expected type with some existential variables in it when
it's impossible to provide an exact type.
Constructors
ExpectedShape | |
ExpectedExact !a |
Instances
data TypeError term uni fun ann Source #
Constructors
KindMismatch | |
Fields
| |
TypeMismatch | |
Fields
| |
TyNameMismatch !ann !TyName !TyName | |
NameMismatch !ann !Name !Name | |
FreeTypeVariableE !ann !TyName | |
FreeVariableE !ann !Name | |
UnknownBuiltinFunctionE !ann !fun |
Instances
data FreeVariableError Source #
We cannot do a correct translation to or from de Bruijn indices if the program is not well-scoped. So we throw an error in such a case.
Constructors
FreeUnique !Unique | |
FreeIndex !Index |
Instances
data Error uni fun ann Source #
Constructors
ParseErrorE !ParserErrorBundle | |
UniqueCoherencyErrorE !(UniqueError ann) | |
TypeErrorE !(TypeError (Term TyName Name uni fun ()) uni fun ann) | |
NormCheckErrorE !(NormCheckError TyName Name uni fun ann) | |
FreeVariableErrorE !FreeVariableError |
Instances
throwingEither ∷ MonadError e m ⇒ AReview e t → Either t a → m a Source #
class Ord a ⇒ ShowErrorComponent a where Source #
The type class defines how to print a custom component of ParseError
.
Since: megaparsec-5.0.0
Minimal complete definition
Methods
showErrorComponent ∷ a → String Source #
Pretty-print a component of ParseError
.
errorComponentLen ∷ a → Int Source #
Length of the error component in characters, used for highlighting of parse errors in input string.
Since: megaparsec-7.0.0
Instances
ShowErrorComponent Void | |
Defined in Text.Megaparsec.Error | |
ShowErrorComponent ParserError Source # | |
Defined in PlutusCore.Error Methods |
data ApplyProgramError Source #
Errors from applyProgram
for PIR, PLC, UPLC.
Constructors
MkApplyProgramError Version Version |
Instances
Exception ApplyProgramError Source # | |
Defined in PlutusCore.Error | |
Show ApplyProgramError Source # | |
Defined in PlutusCore.Error |