Extract package:ghc-lib

Extract a scalar element from a vector * val: The vector * idx: The index of the scalar within the vector
Extract a scalar element from a structure * val: The structure * idx: The index of the scalar within the structure Corresponds to "extractvalue" instruction.
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.
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.