Simon Peyton Jones pushed to branch wip/spj-reinstallable-base at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • compiler/GHC/Builtin/Modules.hs
    1
    +module GHC.Builtin.Modules
    
    2
    +   ( module GHC.Builtin.Modules )
    
    3
    +   where
    
    4
    +
    
    5
    +import GHC.Prelude
    
    6
    +
    
    7
    +import GHC.Unit.Types
    
    8
    +
    
    9
    +import GHC.Data.FastString
    
    10
    +
    
    11
    +import Language.Haskell.Syntax.Module.Name
    
    12
    +
    
    13
    +{-
    
    14
    +************************************************************************
    
    15
    +*                                                                      *
    
    16
    +\subsection{Module names}
    
    17
    +*                                                                      *
    
    18
    +************************************************************************
    
    19
    +
    
    20
    +
    
    21
    +--MetaHaskell Extension Add a new module here
    
    22
    +-}
    
    23
    +
    
    24
    +gHC_PRIM, gHC_PRIM_PANIC,
    
    25
    +    gHC_TYPES, gHC_INTERNAL_DATA_DATA, gHC_MAGIC, gHC_MAGIC_DICT,
    
    26
    +    gHC_CLASSES, gHC_CLASSES_IP, gHC_PRIMOPWRAPPERS :: Module
    
    27
    +gHC_PRIM           = mkGhcInternalModule (fsLit "GHC.Internal.Prim")   -- Primitive types and values
    
    28
    +gHC_PRIM_PANIC     = mkGhcInternalModule (fsLit "GHC.Internal.Prim.Panic")
    
    29
    +gHC_TYPES          = mkGhcInternalModule (fsLit "GHC.Internal.Types")
    
    30
    +gHC_MAGIC          = mkGhcInternalModule (fsLit "GHC.Internal.Magic")
    
    31
    +gHC_MAGIC_DICT     = mkGhcInternalModule (fsLit "GHC.Internal.Magic.Dict")
    
    32
    +gHC_CSTRING        = mkGhcInternalModule (fsLit "GHC.Internal.CString")
    
    33
    +gHC_CLASSES        = mkGhcInternalModule (fsLit "GHC.Internal.Classes")
    
    34
    +gHC_CLASSES_IP     = mkGhcInternalModule (fsLit "GHC.Internal.Classes.IP")
    
    35
    +gHC_PRIMOPWRAPPERS = mkGhcInternalModule (fsLit "GHC.Internal.PrimopWrappers")
    
    36
    +gHC_INTERNAL_TUPLE = mkGhcInternalModule (fsLit "GHC.Internal.Tuple")
    
    37
    +
    
    38
    +gHC_INTERNAL_CONTROL_MONAD_ZIP :: Module
    
    39
    +gHC_INTERNAL_CONTROL_MONAD_ZIP  = mkGhcInternalModule (fsLit "GHC.Internal.Control.Monad.Zip")
    
    40
    +
    
    41
    +gHC_INTERNAL_NUM_INTEGER, gHC_INTERNAL_NUM_NATURAL, gHC_INTERNAL_NUM_BIGNAT :: Module
    
    42
    +gHC_INTERNAL_NUM_INTEGER            = mkGhcInternalModule (fsLit "GHC.Internal.Bignum.Integer")
    
    43
    +gHC_INTERNAL_NUM_NATURAL            = mkGhcInternalModule (fsLit "GHC.Internal.Bignum.Natural")
    
    44
    +gHC_INTERNAL_NUM_BIGNAT             = mkGhcInternalModule (fsLit "GHC.Internal.Bignum.BigNat")
    
    45
    +
    
    46
    +gHC_INTERNAL_BASE, gHC_INTERNAL_ENUM,
    
    47
    +    gHC_INTERNAL_GHCI, gHC_INTERNAL_GHCI_HELPERS, gHC_CSTRING, gHC_INTERNAL_DATA_STRING,
    
    48
    +    gHC_INTERNAL_SHOW, gHC_INTERNAL_READ, gHC_INTERNAL_NUM, gHC_INTERNAL_MAYBE,
    
    49
    +    gHC_INTERNAL_LIST, gHC_INTERNAL_TUPLE, gHC_INTERNAL_DATA_EITHER,
    
    50
    +    gHC_INTERNAL_DATA_FOLDABLE, gHC_INTERNAL_DATA_TRAVERSABLE,
    
    51
    +    gHC_INTERNAL_EXCEPTION_CONTEXT,
    
    52
    +    gHC_INTERNAL_CONC, gHC_INTERNAL_IO, gHC_INTERNAL_IO_Exception,
    
    53
    +    gHC_INTERNAL_ST, gHC_INTERNAL_IX, gHC_INTERNAL_STABLE, gHC_INTERNAL_PTR, gHC_INTERNAL_ERR, gHC_INTERNAL_REAL,
    
    54
    +    gHC_INTERNAL_FLOAT, gHC_INTERNAL_TOP_HANDLER, gHC_INTERNAL_SYSTEM_IO, gHC_INTERNAL_DYNAMIC,
    
    55
    +    gHC_INTERNAL_TYPEABLE, gHC_INTERNAL_TYPEABLE_INTERNAL, gHC_INTERNAL_GENERICS,
    
    56
    +    gHC_INTERNAL_READ_PREC, gHC_INTERNAL_LEX, gHC_INTERNAL_INT, gHC_INTERNAL_WORD, gHC_INTERNAL_MONAD, gHC_INTERNAL_MONAD_FIX,  gHC_INTERNAL_MONAD_FAIL,
    
    57
    +    gHC_INTERNAL_ARROW, gHC_INTERNAL_DESUGAR, gHC_INTERNAL_RANDOM, gHC_INTERNAL_EXTS,
    
    58
    +    gHC_INTERNAL_CONTROL_EXCEPTION_BASE, gHC_INTERNAL_TYPEERROR, gHC_INTERNAL_TYPELITS, gHC_INTERNAL_TYPELITS_INTERNAL,
    
    59
    +    gHC_INTERNAL_TYPENATS, gHC_INTERNAL_TYPENATS_INTERNAL,
    
    60
    +    gHC_INTERNAL_DATA_COERCE, gHC_INTERNAL_DEBUG_TRACE, gHC_INTERNAL_UNSAFE_COERCE, gHC_INTERNAL_FOREIGN_C_CONSTPTR,
    
    61
    +    gHC_INTERNAL_JS_PRIM, gHC_INTERNAL_WASM_PRIM_TYPES :: Module
    
    62
    +gHC_INTERNAL_BASE                   = mkGhcInternalModule (fsLit "GHC.Internal.Base")
    
    63
    +gHC_INTERNAL_ENUM                   = mkGhcInternalModule (fsLit "GHC.Internal.Enum")
    
    64
    +gHC_INTERNAL_GHCI                   = mkGhcInternalModule (fsLit "GHC.Internal.GHCi")
    
    65
    +gHC_INTERNAL_GHCI_HELPERS           = mkGhcInternalModule (fsLit "GHC.Internal.GHCi.Helpers")
    
    66
    +gHC_INTERNAL_SHOW                   = mkGhcInternalModule (fsLit "GHC.Internal.Show")
    
    67
    +gHC_INTERNAL_READ                   = mkGhcInternalModule (fsLit "GHC.Internal.Read")
    
    68
    +gHC_INTERNAL_NUM                    = mkGhcInternalModule (fsLit "GHC.Internal.Num")
    
    69
    +gHC_INTERNAL_MAYBE                  = mkGhcInternalModule (fsLit "GHC.Internal.Maybe")
    
    70
    +gHC_INTERNAL_LIST                   = mkGhcInternalModule (fsLit "GHC.Internal.List")
    
    71
    +gHC_INTERNAL_DATA_EITHER            = mkGhcInternalModule (fsLit "GHC.Internal.Data.Either")
    
    72
    +gHC_INTERNAL_DATA_STRING            = mkGhcInternalModule (fsLit "GHC.Internal.Data.String")
    
    73
    +gHC_INTERNAL_DATA_FOLDABLE          = mkGhcInternalModule (fsLit "GHC.Internal.Data.Foldable")
    
    74
    +gHC_INTERNAL_DATA_TRAVERSABLE       = mkGhcInternalModule (fsLit "GHC.Internal.Data.Traversable")
    
    75
    +gHC_INTERNAL_CONC                   = mkGhcInternalModule (fsLit "GHC.Internal.GHC.Conc")
    
    76
    +gHC_INTERNAL_IO                     = mkGhcInternalModule (fsLit "GHC.Internal.IO")
    
    77
    +gHC_INTERNAL_IO_Exception           = mkGhcInternalModule (fsLit "GHC.Internal.IO.Exception")
    
    78
    +gHC_INTERNAL_ST                     = mkGhcInternalModule (fsLit "GHC.Internal.ST")
    
    79
    +gHC_INTERNAL_IX                     = mkGhcInternalModule (fsLit "GHC.Internal.Ix")
    
    80
    +gHC_INTERNAL_STABLE                 = mkGhcInternalModule (fsLit "GHC.Internal.Stable")
    
    81
    +gHC_INTERNAL_PTR                    = mkGhcInternalModule (fsLit "GHC.Internal.Ptr")
    
    82
    +gHC_INTERNAL_ERR                    = mkGhcInternalModule (fsLit "GHC.Internal.Err")
    
    83
    +gHC_INTERNAL_REAL                   = mkGhcInternalModule (fsLit "GHC.Internal.Real")
    
    84
    +gHC_INTERNAL_FLOAT                  = mkGhcInternalModule (fsLit "GHC.Internal.Float")
    
    85
    +gHC_INTERNAL_TOP_HANDLER            = mkGhcInternalModule (fsLit "GHC.Internal.TopHandler")
    
    86
    +gHC_INTERNAL_SYSTEM_IO              = mkGhcInternalModule (fsLit "GHC.Internal.System.IO")
    
    87
    +gHC_INTERNAL_DYNAMIC                = mkGhcInternalModule (fsLit "GHC.Internal.Data.Dynamic")
    
    88
    +gHC_INTERNAL_TYPEABLE               = mkGhcInternalModule (fsLit "GHC.Internal.Data.Typeable")
    
    89
    +gHC_INTERNAL_TYPEABLE_INTERNAL      = mkGhcInternalModule (fsLit "GHC.Internal.Data.Typeable.Internal")
    
    90
    +gHC_INTERNAL_DATA_DATA              = mkGhcInternalModule (fsLit "GHC.Internal.Data.Data")
    
    91
    +gHC_INTERNAL_READ_PREC              = mkGhcInternalModule (fsLit "GHC.Internal.Text.ParserCombinators.ReadPrec")
    
    92
    +gHC_INTERNAL_LEX                    = mkGhcInternalModule (fsLit "GHC.Internal.Text.Read.Lex")
    
    93
    +gHC_INTERNAL_INT                    = mkGhcInternalModule (fsLit "GHC.Internal.Int")
    
    94
    +gHC_INTERNAL_WORD                   = mkGhcInternalModule (fsLit "GHC.Internal.Word")
    
    95
    +gHC_INTERNAL_MONAD                  = mkGhcInternalModule (fsLit "GHC.Internal.Control.Monad")
    
    96
    +gHC_INTERNAL_MONAD_FIX              = mkGhcInternalModule (fsLit "GHC.Internal.Control.Monad.Fix")
    
    97
    +gHC_INTERNAL_MONAD_FAIL             = mkGhcInternalModule (fsLit "GHC.Internal.Control.Monad.Fail")
    
    98
    +gHC_INTERNAL_ARROW                  = mkGhcInternalModule (fsLit "GHC.Internal.Control.Arrow")
    
    99
    +gHC_INTERNAL_DESUGAR                = mkGhcInternalModule (fsLit "GHC.Internal.Desugar")
    
    100
    +gHC_INTERNAL_RANDOM                 = mkGhcInternalModule (fsLit "GHC.Internal.System.Random")
    
    101
    +gHC_INTERNAL_EXTS                   = mkGhcInternalModule (fsLit "GHC.Internal.Exts")
    
    102
    +gHC_INTERNAL_CONTROL_EXCEPTION_BASE = mkGhcInternalModule (fsLit "GHC.Internal.Control.Exception.Base")
    
    103
    +gHC_INTERNAL_EXCEPTION_CONTEXT      = mkGhcInternalModule (fsLit "GHC.Internal.Exception.Context")
    
    104
    +gHC_INTERNAL_GENERICS               = mkGhcInternalModule (fsLit "GHC.Internal.Generics")
    
    105
    +gHC_INTERNAL_TYPEERROR              = mkGhcInternalModule (fsLit "GHC.Internal.TypeError")
    
    106
    +gHC_INTERNAL_TYPELITS               = mkGhcInternalModule (fsLit "GHC.Internal.TypeLits")
    
    107
    +gHC_INTERNAL_TYPELITS_INTERNAL      = mkGhcInternalModule (fsLit "GHC.Internal.TypeLits.Internal")
    
    108
    +gHC_INTERNAL_TYPENATS               = mkGhcInternalModule (fsLit "GHC.Internal.TypeNats")
    
    109
    +gHC_INTERNAL_TYPENATS_INTERNAL      = mkGhcInternalModule (fsLit "GHC.Internal.TypeNats.Internal")
    
    110
    +gHC_INTERNAL_DATA_COERCE            = mkGhcInternalModule (fsLit "GHC.Internal.Data.Coerce")
    
    111
    +gHC_INTERNAL_DEBUG_TRACE            = mkGhcInternalModule (fsLit "GHC.Internal.Debug.Trace")
    
    112
    +gHC_INTERNAL_UNSAFE_COERCE          = mkGhcInternalModule (fsLit "GHC.Internal.Unsafe.Coerce")
    
    113
    +gHC_INTERNAL_FOREIGN_C_CONSTPTR     = mkGhcInternalModule (fsLit "GHC.Internal.Foreign.C.ConstPtr")
    
    114
    +gHC_INTERNAL_JS_PRIM                = mkGhcInternalModule (fsLit "GHC.Internal.JS.Prim")
    
    115
    +gHC_INTERNAL_WASM_PRIM_TYPES        = mkGhcInternalModule (fsLit "GHC.Internal.Wasm.Prim.Types")
    
    116
    +
    
    117
    +gHC_INTERNAL_SRCLOC :: Module
    
    118
    +gHC_INTERNAL_SRCLOC = mkGhcInternalModule (fsLit "GHC.Internal.SrcLoc")
    
    119
    +
    
    120
    +gHC_INTERNAL_STACK, gHC_INTERNAL_STACK_TYPES :: Module
    
    121
    +gHC_INTERNAL_STACK = mkGhcInternalModule (fsLit "GHC.Internal.Stack")
    
    122
    +gHC_INTERNAL_STACK_TYPES = mkGhcInternalModule (fsLit "GHC.Internal.Stack.Types")
    
    123
    +
    
    124
    +gHC_INTERNAL_STATICPTR :: Module
    
    125
    +gHC_INTERNAL_STATICPTR = mkGhcInternalModule (fsLit "GHC.Internal.StaticPtr")
    
    126
    +
    
    127
    +gHC_INTERNAL_STATICPTR_INTERNAL :: Module
    
    128
    +gHC_INTERNAL_STATICPTR_INTERNAL = mkGhcInternalModule (fsLit "GHC.Internal.StaticPtr.Internal")
    
    129
    +
    
    130
    +gHC_INTERNAL_FINGERPRINT_TYPE :: Module
    
    131
    +gHC_INTERNAL_FINGERPRINT_TYPE = mkGhcInternalModule (fsLit "GHC.Internal.Fingerprint.Type")
    
    132
    +
    
    133
    +gHC_INTERNAL_OVER_LABELS :: Module
    
    134
    +gHC_INTERNAL_OVER_LABELS = mkGhcInternalModule (fsLit "GHC.Internal.OverloadedLabels")
    
    135
    +
    
    136
    +gHC_INTERNAL_RECORDS :: Module
    
    137
    +gHC_INTERNAL_RECORDS = mkGhcInternalModule (fsLit "GHC.Internal.Records")
    
    138
    +
    
    139
    +rOOT_MAIN :: Module
    
    140
    +rOOT_MAIN       = mkMainModule (fsLit ":Main") -- Root module for initialisation
    
    141
    +
    
    142
    +mkInteractiveModule :: String -> Module
    
    143
    +-- (mkInteractiveMoudule "9") makes module 'interactive:Ghci9'
    
    144
    +mkInteractiveModule n = mkModule interactiveUnit (mkModuleName ("Ghci" ++ n))
    
    145
    +
    
    146
    +pRELUDE_NAME, mAIN_NAME, kNOWN_KEY_NAMES :: ModuleName
    
    147
    +pRELUDE_NAME    = mkModuleNameFS (fsLit "Prelude")
    
    148
    +mAIN_NAME       = mkModuleNameFS (fsLit "Main")
    
    149
    +kNOWN_KEY_NAMES = mkModuleNameFS (fsLit "GHC.KnownKeyNames")
    
    150
    +
    
    151
    +rEBINDABLE_MOD_NAME :: ModuleName
    
    152
    +rEBINDABLE_MOD_NAME = mkModuleName "Rebindable"
    
    153
    +
    
    154
    +mkGhcInternalModule :: FastString -> Module
    
    155
    +mkGhcInternalModule m = mkGhcInternalModule_ (mkModuleNameFS m)
    
    156
    +
    
    157
    +mkGhcInternalModule_ :: ModuleName -> Module
    
    158
    +mkGhcInternalModule_ m = mkModule ghcInternalUnit m
    
    159
    +
    
    160
    +mkThisGhcModule :: FastString -> Module
    
    161
    +mkThisGhcModule m = mkThisGhcModule_ (mkModuleNameFS m)
    
    162
    +
    
    163
    +mkThisGhcModule_ :: ModuleName -> Module
    
    164
    +mkThisGhcModule_ m = mkModule thisGhcUnit m
    
    165
    +
    
    166
    +mkMainModule :: FastString -> Module
    
    167
    +mkMainModule m = mkModule mainUnit (mkModuleNameFS m)
    
    168
    +
    
    169
    +mkMainModule_ :: ModuleName -> Module
    
    170
    +mkMainModule_ m = mkModule mainUnit m
    
    171
    +