| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
GHC.Debugger.Runtime.Term.Key
Synopsis
- data TermKey where
- data PathFragment (b :: Bool) where
- PositionalIndex :: forall (b :: Bool). Int -> PathFragment b
- LabeledField :: forall (b :: Bool). Int -> Name -> PathFragment b
Documentation
A TermKey serves to fetch a Term in a Debugger session.
Note: A TermKey is only valid in the stopped context it was created in.
Constructors
| FromId :: Id -> TermKey | Obtain a term from an Id. |
| FromPath :: TermKey -> PathFragment 'False -> TermKey | Append a PathFragment to the current Term Key. Used to construct keys for indexed and labeled fields. |
| FromCustomTerm :: TermKey -> String -> Term -> TermKey | Use a custom term, by custom name, along a TermKey path, rather than
reconstructing one from the |
Instances
| Outputable TermKey Source # | |
Defined in GHC.Debugger.Runtime.Term.Key | |
data PathFragment (b :: Bool) where Source #
A term may be identified by an Id (such as a local variable) plus a list
of PathFragments to an arbitrarily nested field.
Constructors
| PositionalIndex :: forall (b :: Bool). Int -> PathFragment b | A positional index is an index from 1 to inf |
| LabeledField :: forall (b :: Bool). Int -> Name -> PathFragment b | A labeled field indexes a datacon fields by name
The position is given by the |
Instances
| Outputable (PathFragment b) Source # | |
Defined in GHC.Debugger.Runtime.Term.Key Methods ppr :: PathFragment b -> SDoc # | |
| Eq (PathFragment b) Source # | |
Defined in GHC.Debugger.Runtime.Term.Key Methods (==) :: PathFragment b -> PathFragment b -> Bool # (/=) :: PathFragment b -> PathFragment b -> Bool # | |
| Ord (PathFragment b) Source # | |
Defined in GHC.Debugger.Runtime.Term.Key Methods compare :: PathFragment b -> PathFragment b -> Ordering # (<) :: PathFragment b -> PathFragment b -> Bool # (<=) :: PathFragment b -> PathFragment b -> Bool # (>) :: PathFragment b -> PathFragment b -> Bool # (>=) :: PathFragment b -> PathFragment b -> Bool # max :: PathFragment b -> PathFragment b -> PathFragment b # min :: PathFragment b -> PathFragment b -> PathFragment b # | |