hls-tactics-plugin-1.2.0.0: Wingman plugin for Haskell Language Server
Safe HaskellNone
LanguageHaskell2010

Wingman.Judgements.Theta

Synopsis

Documentation

data Evidence Source #

Something we've learned about the type environment.

Instances

Instances details
Show Evidence Source # 
Instance details

Defined in Wingman.Judgements.Theta

Generic Evidence Source # 
Instance details

Defined in Wingman.Judgements.Theta

Associated Types

type Rep Evidence :: Type -> Type #

Methods

from :: Evidence -> Rep Evidence x #

to :: Rep Evidence x -> Evidence #

type Rep Evidence Source # 
Instance details

Defined in Wingman.Judgements.Theta

type Rep Evidence = D1 ('MetaData "Evidence" "Wingman.Judgements.Theta" "hls-tactics-plugin-1.2.0.0-ISyG8qIj9D072QqyrjxihH" 'False) (C1 ('MetaCons "EqualityOfTypes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "HasInstance" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PredType)))

getEvidenceAtHole :: Tracked age SrcSpan -> Tracked age (LHsBinds GhcTc) -> [Evidence] Source #

Compute all the Evidence implicitly bound at the given SrcSpan.

mkEvidence :: PredType -> [Evidence] Source #

Given a PredType, pull an Evidence out of it.

evidenceToSubst :: [Evidence] -> TacticState -> TacticState Source #

Update our knowledge of which types are equal.

evidenceToHypothesis :: Evidence -> Hypothesis CType Source #

Get all of the methods that are in scope from this piece of Evidence.

evidenceToThetaType :: [Evidence] -> Set CType Source #

Build a set of PredTypes from the evidence.