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

Unison.Typechecker.Extractor

Synopsis

Documentation

type Extractor e a = MaybeT (Reader e) a Source #

type ErrorExtractor v loc a = Extractor (ErrorNote v loc) a Source #

type InfoExtractor v loc a = Extractor (InfoNote v loc) a Source #

type PathExtractor v loc a = Extractor (PathElement v loc) a Source #

extractor :: (e -> Maybe a) -> Extractor e a Source #

extract :: Extractor e a -> e -> Maybe a Source #

traceNote :: Show a => String -> ErrorExtractor v loc a -> ErrorExtractor v loc a Source #

data SubseqExtractor' n a Source #

Constructors

SubseqExtractor' 

Fields

Instances

Instances details
MonadFail (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Methods

fail :: String -> SubseqExtractor' n a #

Alternative (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Applicative (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Functor (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Methods

fmap :: (a -> b) -> SubseqExtractor' n a -> SubseqExtractor' n b #

(<$) :: a -> SubseqExtractor' n b -> SubseqExtractor' n a #

Monad (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

MonadPlus (SubseqExtractor' n) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Monoid (SubseqExtractor' n a) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Semigroup (SubseqExtractor' n a) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

data Ranged a Source #

Constructors

Pure a 
Ranged 

Fields

Instances

Instances details
Functor Ranged Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Methods

fmap :: (a -> b) -> Ranged a -> Ranged b #

(<$) :: a -> Ranged b -> Ranged a #

Show a => Show (Ranged a) Source # 
Instance details

Defined in Unison.Typechecker.Extractor

Methods

showsPrec :: Int -> Ranged a -> ShowS #

show :: Ranged a -> String #

showList :: [Ranged a] -> ShowS #

_no :: SubseqExtractor' n a -> SubseqExtractor' n () Source #

collects the regions where xa doesn't match / aka invert a set of intervals unused, but don't want to delete it yet - Aug 30, 2018

_any' :: (n -> Int) -> SubseqExtractor' n () Source #

some :: forall n a. SubseqExtractor' n a -> SubseqExtractor' n [a] Source #

inSubtype :: SubseqExtractor v loc (Type v loc, Type v loc) Source #

inEquate :: SubseqExtractor v loc (Type v loc, Type v loc) Source #

inCheck :: SubseqExtractor v loc (Term v loc, Type v loc) Source #

inFunctionCall :: SubseqExtractor v loc ([v], Term v loc, Type v loc, [Term v loc]) Source #

cause :: ErrorExtractor v loc (Cause v loc) Source #

unknownTerm :: Var v => ErrorExtractor v loc (loc, v, [Suggestion v loc], Type v loc) Source #

abilityCheckFailure :: ErrorExtractor v loc ([Type v loc], [Type v loc], Context v loc) Source #

abilityEqFailure :: ErrorExtractor v loc ([Type v loc], [Type v loc], Context v loc) Source #

malformedEffectBind :: ErrorExtractor v loc (Type v loc, Type v loc, [Type v loc]) Source #

solvedBlank :: InfoExtractor v loc (Recorded loc, v, Type v loc) Source #