unison-parser-typechecker-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Typechecker.TypeError

Synopsis

Documentation

data TypeError v loc Source #

Constructors

Mismatch 

Fields

BooleanMismatch 
ExistentialMismatch 
FunctionApplication 

Fields

NotFunctionApplication 

Fields

AbilityCheckFailure 

Fields

AbilityEqFailure 

Fields

AbilityEqFailureFromAp 

Fields

UnguardedLetRecCycle 

Fields

UnknownType 

Fields

UnknownTerm 

Fields

DuplicateDefinitions 

Fields

UncoveredPatterns loc (NonEmpty (Pattern ())) 
RedundantPattern loc 
KindInferenceFailure (KindError v loc) 
Other (ErrorNote v loc) 

Instances

Instances details
(Var v, Show loc, Ord loc) => Show (TypeError v loc) Source # 
Instance details

Defined in Unison.Typechecker.TypeError

Methods

showsPrec :: Int -> TypeError v loc -> ShowS #

show :: TypeError v loc -> String #

showList :: [TypeError v loc] -> ShowS #

data TypeInfo v loc Source #

Constructors

TopLevelComponent 

Fields

Instances

Instances details
Show v => Show (TypeInfo v loc) Source # 
Instance details

Defined in Unison.Typechecker.TypeError

Methods

showsPrec :: Int -> TypeInfo v loc -> ShowS #

show :: TypeInfo v loc -> String #

showList :: [TypeInfo v loc] -> ShowS #

type TypeNote v loc = Either (TypeError v loc) (TypeInfo v loc) Source #

typeErrorFromNote :: (Ord loc, Show loc, Var v) => ErrorNote v loc -> TypeError v loc Source #

typeInfoFromNote :: (Ord loc, Show loc, Var v) => InfoNote v loc -> Maybe (TypeInfo v loc) Source #

allErrors :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

generalMismatch :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

and :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

or :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

cond :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

matchGuard :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

booleanMismatch0 :: (Var v, Ord loc) => BooleanMismatch -> SubseqExtractor v loc () -> ErrorExtractor v loc (TypeError v loc) Source #

helper function to support and or cond

ifBody :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

listBody :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

matchBody :: (Var v, Ord loc) => ErrorExtractor v loc (TypeError v loc) Source #

applyingFunction :: forall v loc. Var v => ErrorExtractor v loc (TypeError v loc) Source #

Want to collect this info: The nth argument to $sel:f:Mismatch is $sel:foundType:Mismatch, but I was expecting $sel:expectedType:Mismatch.

30 | asdf asdf asdf

If you're curious $sel:f:Mismatch has type blah, where a was chosen as A b was chosen as B c was chosen as C (many colors / groups)

inSubtypes :: SubseqExtractor v loc (Type v loc, Type v loc, Maybe (Type v loc, Type v loc)) Source #