HORIZON HASKELLDocslts/ghc-10.0.x8174fa42026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8174fa4 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.StgToJS.Ids

Module to deal with JS identifiers

  • 17 values
valuefreshIdent :: G Ident
#

Get fresh module-local Ident of the form: h$$unit:module_uniq

valuemakeIdentForId :: Id -> Maybe Int -> IdType -> Module -> Ident
#

Generate unique Ident for the given ID (uncached!)

The ident has the following forms:

global Id: h$unit:module.name[_num][_type_suffix] local Id: h$$unit:module.name[_num][_type_suffix]_uniq

Note that the string is z-encoded except for "_" delimiters.

Optional "_type_suffix" can be: - "_e" for IdEntry - "_con_e" for IdConEntry

Optional "_num" is passed as an argument to this function. It is used for Haskell Ids that require several JS variables: e.g. 64-bit numbers (Word64#, Int64#), Addr#, StablePtr#, unboxed tuples, etc.

Helpers for Idents

6 declarations
valueidentForIdN :: Id -> Int -> G Ident
#

Retrieve default Ident for the given Id with sub index

Some types, Word64, Addr#, unboxed tuple have more than one corresponding JS var, hence we use the sub index to identify each subpart / JS variable.

Helpers for variables

7 declarations