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

Ide.Plugin.Tactic.Types

Synopsis

Documentation

data AgdaMatch Source #

Constructors

AgdaMatch 

Fields

Instances

Instances details
Show AgdaMatch Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

newtype Rose a Source #

Constructors

Rose (Tree a) 

Instances

Instances details
Functor Rose Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

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

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

Eq a => Eq (Rose a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: Rose a -> Rose a -> Bool #

(/=) :: Rose a -> Rose a -> Bool #

Show (Rose String) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic (Rose a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep (Rose a) :: Type -> Type #

Methods

from :: Rose a -> Rep (Rose a) x #

to :: Rep (Rose a) x -> Rose a #

Semigroup a => Semigroup (Rose a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(<>) :: Rose a -> Rose a -> Rose a #

sconcat :: NonEmpty (Rose a) -> Rose a #

stimes :: Integral b => b -> Rose a -> Rose a #

Monoid a => Monoid (Rose a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

mempty :: Rose a #

mappend :: Rose a -> Rose a -> Rose a #

mconcat :: [Rose a] -> Rose a #

MonadExtract (Trace, LHsExpr GhcPs) ExtractM Source #

Orphan instance for producing holes when attempting to solve tactics.

Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (Rose a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (Rose a) = D1 ('MetaData "Rose" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'True) (C1 ('MetaCons "Rose" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Tree a))))

data Context Source #

The Reader context of tactics and rules

Constructors

Context 

Fields

Instances

Instances details
Eq Context Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: Context -> Context -> Bool #

(/=) :: Context -> Context -> Bool #

Ord Context Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Show Context Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

MonadReader Context ExtractM Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

ask :: ExtractM Context #

local :: (Context -> Context) -> ExtractM a -> ExtractM a #

reader :: (Context -> a) -> ExtractM a #

newtype ExtractM a Source #

Constructors

ExtractM 

Instances

Instances details
Monad ExtractM Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(>>=) :: ExtractM a -> (a -> ExtractM b) -> ExtractM b #

(>>) :: ExtractM a -> ExtractM b -> ExtractM b #

return :: a -> ExtractM a #

Functor ExtractM Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

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

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

Applicative ExtractM Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

pure :: a -> ExtractM a #

(<*>) :: ExtractM (a -> b) -> ExtractM a -> ExtractM b #

liftA2 :: (a -> b -> c) -> ExtractM a -> ExtractM b -> ExtractM c #

(*>) :: ExtractM a -> ExtractM b -> ExtractM b #

(<*) :: ExtractM a -> ExtractM b -> ExtractM a #

MonadReader Context ExtractM Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

ask :: ExtractM Context #

local :: (Context -> Context) -> ExtractM a -> ExtractM a #

reader :: (Context -> a) -> ExtractM a #

MonadExtract (Trace, LHsExpr GhcPs) ExtractM Source #

Orphan instance for producing holes when attempting to solve tactics.

Instance details

Defined in Ide.Plugin.Tactic.Types

data Judgement' a Source #

The current bindings and goal for a hole to be filled by refinery.

Instances

Instances details
Functor Judgement' Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

fmap :: (a -> b) -> Judgement' a -> Judgement' b #

(<$) :: a -> Judgement' b -> Judgement' a #

Eq a => Eq (Judgement' a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: Judgement' a -> Judgement' a -> Bool #

(/=) :: Judgement' a -> Judgement' a -> Bool #

Show a => Show (Judgement' a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic (Judgement' a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep (Judgement' a) :: Type -> Type #

Methods

from :: Judgement' a -> Rep (Judgement' a) x #

to :: Rep (Judgement' a) x -> Judgement' a #

type Rep (Judgement' a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (Judgement' a) = D1 ('MetaData "Judgement'" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'False) (C1 ('MetaCons "Judgement" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_jHypothesis") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Hypothesis a)) :*: S1 ('MetaSel ('Just "_jBlacklistDestruct") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "_jWhitelistSplit") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "_jIsTopHole") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_jGoal") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))))

data HyInfo a Source #

The provenance and type of a hypothesis term.

Constructors

HyInfo 

Instances

Instances details
Functor HyInfo Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

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

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

Eq a => Eq (HyInfo a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: HyInfo a -> HyInfo a -> Bool #

(/=) :: HyInfo a -> HyInfo a -> Bool #

Ord a => Ord (HyInfo a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

compare :: HyInfo a -> HyInfo a -> Ordering #

(<) :: HyInfo a -> HyInfo a -> Bool #

(<=) :: HyInfo a -> HyInfo a -> Bool #

(>) :: HyInfo a -> HyInfo a -> Bool #

(>=) :: HyInfo a -> HyInfo a -> Bool #

max :: HyInfo a -> HyInfo a -> HyInfo a #

min :: HyInfo a -> HyInfo a -> HyInfo a #

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

Defined in Ide.Plugin.Tactic.Types

Methods

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

show :: HyInfo a -> String #

showList :: [HyInfo a] -> ShowS #

Generic (HyInfo a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep (HyInfo a) :: Type -> Type #

Methods

from :: HyInfo a -> Rep (HyInfo a) x #

to :: Rep (HyInfo a) x -> HyInfo a #

type Rep (HyInfo a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (HyInfo a) = D1 ('MetaData "HyInfo" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'False) (C1 ('MetaCons "HyInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "hi_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OccName) :*: (S1 ('MetaSel ('Just "hi_provenance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Provenance) :*: S1 ('MetaSel ('Just "hi_type") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))

newtype Hypothesis a Source #

Constructors

Hypothesis 

Fields

Instances

Instances details
Functor Hypothesis Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

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

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

Eq a => Eq (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: Hypothesis a -> Hypothesis a -> Bool #

(/=) :: Hypothesis a -> Hypothesis a -> Bool #

Ord a => Ord (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

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

Defined in Ide.Plugin.Tactic.Types

Generic (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep (Hypothesis a) :: Type -> Type #

Methods

from :: Hypothesis a -> Rep (Hypothesis a) x #

to :: Rep (Hypothesis a) x -> Hypothesis a #

Semigroup (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Monoid (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (Hypothesis a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep (Hypothesis a) = D1 ('MetaData "Hypothesis" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'True) (C1 ('MetaCons "Hypothesis" 'PrefixI 'True) (S1 ('MetaSel ('Just "unHypothesis") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [HyInfo a])))

newtype Uniquely a Source #

A wrapper which uses a Uniquable constraint for providing Eq and Ord instances.

Constructors

Uniquely 

Fields

Instances

Instances details
Uniquable a => Eq (Uniquely a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: Uniquely a -> Uniquely a -> Bool #

(/=) :: Uniquely a -> Uniquely a -> Bool #

Uniquable a => Ord (Uniquely a) Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

compare :: Uniquely a -> Uniquely a -> Ordering #

(<) :: Uniquely a -> Uniquely a -> Bool #

(<=) :: Uniquely a -> Uniquely a -> Bool #

(>) :: Uniquely a -> Uniquely a -> Bool #

(>=) :: Uniquely a -> Uniquely a -> Bool #

max :: Uniquely a -> Uniquely a -> Uniquely a #

min :: Uniquely a -> Uniquely a -> Uniquely a #

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

Defined in Ide.Plugin.Tactic.Types

Methods

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

show :: Uniquely a -> String #

showList :: [Uniquely a] -> ShowS #

data PatVal Source #

Provenance of a pattern value.

Constructors

PatVal 

Fields

Instances

Instances details
Eq PatVal Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: PatVal -> PatVal -> Bool #

(/=) :: PatVal -> PatVal -> Bool #

Ord PatVal Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Show PatVal Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic PatVal Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep PatVal :: Type -> Type #

Methods

from :: PatVal -> Rep PatVal x #

to :: Rep PatVal x -> PatVal #

type Rep PatVal Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep PatVal = D1 ('MetaData "PatVal" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'False) (C1 ('MetaCons "PatVal" 'PrefixI 'True) ((S1 ('MetaSel ('Just "pv_scrutinee") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe OccName)) :*: S1 ('MetaSel ('Just "pv_ancestry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set OccName))) :*: (S1 ('MetaSel ('Just "pv_datacon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Uniquely DataCon)) :*: S1 ('MetaSel ('Just "pv_position") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

data DisallowReason Source #

Why was a hypothesis disallowed?

Instances

Instances details
Eq DisallowReason Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Ord DisallowReason Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Show DisallowReason Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic DisallowReason Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep DisallowReason :: Type -> Type #

type Rep DisallowReason Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep DisallowReason = D1 ('MetaData "DisallowReason" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'False) ((C1 ('MetaCons "WrongBranch" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "Shadowed" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecursiveCall" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AlreadyDestructed" 'PrefixI 'False) (U1 :: Type -> Type)))

data Provenance Source #

Describes where hypotheses came from. Used extensively to prune stupid solutions from the search space.

Constructors

TopLevelArgPrv

An argument given to the topmost function that contains the current hole. Recursive calls are restricted to values whose provenance lines up with the same argument.

Fields

  • OccName

    Binding function

  • Int

    Argument Position | A binding created in a pattern match.

PatternMatchPrv PatVal 
ClassMethodPrv (Uniquely Class)

Class | A binding explicitly written by the user.

UserPrv 
RecursivePrv

The recursive hypothesis. Present only in the context of the recursion tactic.

DisallowedPrv DisallowReason Provenance

A hypothesis which has been disallowed for some reason. It's important to keep these in the hypothesis set, rather than filtering it, in order to continue tracking downstream provenance.

Instances

Instances details
Eq Provenance Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Ord Provenance Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Show Provenance Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic Provenance Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep Provenance :: Type -> Type #

type Rep Provenance Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

data TacticState Source #

Constructors

TacticState 

Fields

Instances

Instances details
Show TacticState Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Generic TacticState Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Associated Types

type Rep TacticState :: Type -> Type #

type Rep TacticState Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

type Rep TacticState = D1 ('MetaData "TacticState" "Ide.Plugin.Tactic.Types" "hls-tactics-plugin-1.0.0.0-JjkuRbP5sBO2aDU4B9iK42" 'False) (C1 ('MetaCons "TacticState" 'PrefixI 'True) (((S1 ('MetaSel ('Just "ts_skolems") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set TyVar)) :*: S1 ('MetaSel ('Just "ts_unifier") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TCvSubst)) :*: (S1 ('MetaSel ('Just "ts_used_vals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set OccName)) :*: S1 ('MetaSel ('Just "ts_intro_vals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set OccName)))) :*: ((S1 ('MetaSel ('Just "ts_unused_top_vals") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Set OccName)) :*: S1 ('MetaSel ('Just "ts_recursion_stack") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Maybe PatVal])) :*: (S1 ('MetaSel ('Just "ts_recursion_count") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "ts_unique_gen") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 UniqSupply)))))

newtype CType Source #

A wrapper around Type which supports equality and ordering.

Constructors

CType 

Fields

Instances

Instances details
Eq CType Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

(==) :: CType -> CType -> Bool #

(/=) :: CType -> CType -> Bool #

Ord CType Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

compare :: CType -> CType -> Ordering #

(<) :: CType -> CType -> Bool #

(<=) :: CType -> CType -> Bool #

(>) :: CType -> CType -> Bool #

(>=) :: CType -> CType -> Bool #

max :: CType -> CType -> CType #

min :: CType -> CType -> CType #

Show CType Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

Methods

showsPrec :: Int -> CType -> ShowS #

show :: CType -> String #

showList :: [CType] -> ShowS #

overProvenance :: (Provenance -> Provenance) -> HyInfo a -> HyInfo a Source #

Map a function over the provenance.

emptyContext :: Context Source #

An empty context

dropEveryOther :: [a] -> [a] Source #

rose :: (Eq a, Monoid a) => a -> [Rose a] -> Rose a Source #

data OccName #

Occurrence Name

In this context that means: "classified (i.e. as a type name, value name, etc) but not qualified and not yet resolved"

Instances

Instances details
Eq OccName 
Instance details

Defined in OccName

Methods

(==) :: OccName -> OccName -> Bool #

(/=) :: OccName -> OccName -> Bool #

Data OccName 
Instance details

Defined in OccName

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OccName -> c OccName #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OccName #

toConstr :: OccName -> Constr #

dataTypeOf :: OccName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OccName) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OccName) #

gmapT :: (forall b. Data b => b -> b) -> OccName -> OccName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OccName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OccName -> r #

gmapQ :: (forall d. Data d => d -> u) -> OccName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OccName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OccName -> m OccName #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OccName -> m OccName #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OccName -> m OccName #

Ord OccName 
Instance details

Defined in OccName

Show OccName Source # 
Instance details

Defined in Ide.Plugin.Tactic.Types

NFData OccName 
Instance details

Defined in OccName

Methods

rnf :: OccName -> () #

HasOccName OccName 
Instance details

Defined in OccName

Methods

occName :: OccName -> OccName #

Binary OccName 
Instance details

Defined in OccName

Uniquable OccName 
Instance details

Defined in OccName

Methods

getUnique :: OccName -> Unique #

Outputable OccName 
Instance details

Defined in OccName

Methods

ppr :: OccName -> SDoc #

pprPrec :: Rational -> OccName -> SDoc #

OutputableBndr OccName 
Instance details

Defined in OccName

data Name #

A unique, unambiguous name for something, containing information about where that thing originated.

Instances

Instances details
Eq Name

The same comments as for Name's Ord instance apply.

Instance details

Defined in Name

Methods

(==) :: Name -> Name -> Bool #

(/=) :: Name -> Name -> Bool #

Data Name 
Instance details

Defined in Name

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name #

toConstr :: Name -> Constr #

dataTypeOf :: Name -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) #

gmapT :: (forall b. Data b => b -> b) -> Name -> Name #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r #

gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name #

Ord Name

Caution: This instance is implemented via nonDetCmpUnique, which means that the ordering is not stable across deserialization or rebuilds.

See nonDetCmpUnique for further information, and trac #15240 for a bug caused by improper use of this instance.

Instance details

Defined in Name

Methods

compare :: Name -> Name -> Ordering #

(<) :: Name -> Name -> Bool #

(<=) :: Name -> Name -> Bool #

(>) :: Name -> Name -> Bool #

(>=) :: Name -> Name -> Bool #

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

NFData Name 
Instance details

Defined in Name

Methods

rnf :: Name -> () #

NamedThing Name 
Instance details

Defined in Name

HasOccName Name 
Instance details

Defined in Name

Methods

occName :: Name -> OccName #

Binary Name

Assumes that the Name is a non-binding one. See putIfaceTopBndr and getIfaceTopBndr for serializing binding Names. See UserData for the rationale for this distinction.

Instance details

Defined in Name

Methods

put_ :: BinHandle -> Name -> IO () #

put :: BinHandle -> Name -> IO (Bin Name) #

get :: BinHandle -> IO Name #

Uniquable Name 
Instance details

Defined in Name

Methods

getUnique :: Name -> Unique #

HasSrcSpan Name 
Instance details

Defined in Name

Outputable Name 
Instance details

Defined in Name

Methods

ppr :: Name -> SDoc #

pprPrec :: Rational -> Name -> SDoc #

OutputableBndr Name 
Instance details

Defined in Name

type SrcSpanLess Name 
Instance details

Defined in Name

data Type #

Instances

Instances details
Data Type 
Instance details

Defined in TyCoRep

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Type -> c Type #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Type #

toConstr :: Type -> Constr #

dataTypeOf :: Type -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Type) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Type) #

gmapT :: (forall b. Data b => b -> b) -> Type -> Type #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Type -> r #

gmapQ :: (forall d. Data d => d -> u) -> Type -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Type -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Type -> m Type #

Outputable Type 
Instance details

Defined in TyCoRep

Methods

ppr :: Type -> SDoc #

pprPrec :: Rational -> Type -> SDoc #

Eq (DeBruijn Type) 
Instance details

Defined in CoreMap

Methods

(==) :: DeBruijn Type -> DeBruijn Type -> Bool #

(/=) :: DeBruijn Type -> DeBruijn Type -> Bool #

type TyVar = Var #

Type or kind Variable

data Range #

Instances

Instances details
Eq Range 
Instance details

Defined in Language.LSP.Types.Location

Methods

(==) :: Range -> Range -> Bool #

(/=) :: Range -> Range -> Bool #

Ord Range 
Instance details

Defined in Language.LSP.Types.Location

Methods

compare :: Range -> Range -> Ordering #

(<) :: Range -> Range -> Bool #

(<=) :: Range -> Range -> Bool #

(>) :: Range -> Range -> Bool #

(>=) :: Range -> Range -> Bool #

max :: Range -> Range -> Range #

min :: Range -> Range -> Range #

Read Range 
Instance details

Defined in Language.LSP.Types.Location

Show Range 
Instance details

Defined in Language.LSP.Types.Location

Methods

showsPrec :: Int -> Range -> ShowS #

show :: Range -> String #

showList :: [Range] -> ShowS #

Generic Range 
Instance details

Defined in Language.LSP.Types.Location

Associated Types

type Rep Range :: Type -> Type #

Methods

from :: Range -> Rep Range x #

to :: Rep Range x -> Range #

ToJSON Range 
Instance details

Defined in Language.LSP.Types.Location

FromJSON Range 
Instance details

Defined in Language.LSP.Types.Location

NFData Range 
Instance details

Defined in Language.LSP.Types.Location

Methods

rnf :: Range -> () #

type Rep Range 
Instance details

Defined in Language.LSP.Types.Location

type Rep Range = D1 ('MetaData "Range" "Language.LSP.Types.Location" "lsp-types-1.1.0.0-6GA8X8rnyjX71RqllIS6to" 'False) (C1 ('MetaCons "Range" 'PrefixI 'True) (S1 ('MetaSel ('Just "_start") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "_end") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)))

Orphan instances

Show TCvSubst Source # 
Instance details

Show Class Source # 
Instance details

Methods

showsPrec :: Int -> Class -> ShowS #

show :: Class -> String #

showList :: [Class] -> ShowS #

Show DataCon Source # 
Instance details

Show Var Source # 
Instance details

Methods

showsPrec :: Int -> Var -> ShowS #

show :: Var -> String #

showList :: [Var] -> ShowS #

Show UniqSupply Source # 
Instance details

Show OccName Source # 
Instance details

Show (HsExpr GhcPs) Source # 
Instance details

Show (Pat GhcPs) Source # 
Instance details