Extract package:ghc

Extract a scalar element from a vector * val: The vector * idx: The index of the scalar within the vector
Maps of docs that were added via Template Haskell's putDoc.
Extract a scalar element from a structure * val: The structure * idx: The index of the scalar within the structure Corresponds to "extractvalue" instruction.
Extract the elements of a promoted list. Panics if the type is not a promoted list
given the instruction sequence of a block, produce a list of the block's UnwindPoints See Note [What is this unwinding business?] in GHC.Cmm.DebugBlock and Note [Unwinding information in the NCG] in this module.
Extracts the name for a SPECIALIZE instance pragma. In hsSigDoc, the src field of SpecInstSig signature contains the SourceText for a SPECIALIZE instance pragma of the form: "SourceText {-# SPECIALIZE" Extraction ensures that all variants of the pragma name (with a Z or an S) are output exactly as used in the pragma.
Extract docs from renamer output. This is monadic since we need to be able to read documentation added from Template Haskell's putDoc, which is stored in tcg_th_docs.
Extracts out individual maps of documentation added via Template Haskell's putDoc.
Extracts free type and kind variables from an argument in a GADT constructor, returning variable occurrences in left-to-right order. See Note [Ordering of implicit variables].
Get type/kind variables mentioned in the kind signature, preserving left-to-right order:
  • data T a (b :: k1) :: k2 -> k1 -> k2 -> Type -- result: [k2,k1]
  • data T a (b :: k1) -- result: []
See Note [Ordering of implicit variables].
extractHsTyRdrTyVars finds the type/kind variables of a HsType/HsKind. It's used when making the foralls explicit. See Note [Kind and type-variable binders]
Extracts the free type/kind variables from the kind signature of a HsType. This is used to implicitly quantify over k in type T = Nothing :: Maybe k. The left-to-right order of variables is preserved. See Note [Kind and type-variable binders] and Note [Ordering of implicit variables] and Note [Implicit quantification in type synonyms].
Extracts free type and kind variables from types in a list. When the same name occurs multiple times in the types, all occurrences are returned.