| 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
- | UnsupportedCaseBuiltin !ann !Text
- 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.53.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.53.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 | |
| UnsupportedCaseBuiltin !ann !Text | |
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 | |