Commit 15312bbb authored by Sylvain Henry's avatar Sylvain Henry

Modules (#13009)

* SysTools
* Parser
* GHC.Builtin
* GHC.Iface.Recomp
* Settings

Update Haddock submodule

Metric Decrease:
    Naperian
    parsing001
parent 3ca52151
Pipeline #18228 failed with stages
in 421 minutes and 50 seconds
...@@ -319,7 +319,7 @@ import GHC.Hs ...@@ -319,7 +319,7 @@ import GHC.Hs
import GHC.Core.Type hiding( typeKind ) import GHC.Core.Type hiding( typeKind )
import GHC.Tc.Utils.TcType import GHC.Tc.Utils.TcType
import GHC.Types.Id import GHC.Types.Id
import TysPrim ( alphaTyVars ) import GHC.Builtin.Types.Prim ( alphaTyVars )
import GHC.Core.TyCon import GHC.Core.TyCon
import GHC.Core.TyCo.Ppr ( pprForAll ) import GHC.Core.TyCo.Ppr ( pprForAll )
import GHC.Core.Class import GHC.Core.Class
...@@ -338,8 +338,8 @@ import GHC.Driver.Types ...@@ -338,8 +338,8 @@ import GHC.Driver.Types
import GHC.Driver.CmdLine import GHC.Driver.CmdLine
import GHC.Driver.Session hiding (WarnReason(..)) import GHC.Driver.Session hiding (WarnReason(..))
import GHC.Driver.Ways import GHC.Driver.Ways
import SysTools import GHC.SysTools
import SysTools.BaseDir import GHC.SysTools.BaseDir
import GHC.Types.Annotations import GHC.Types.Annotations
import GHC.Types.Module import GHC.Types.Module
import Panic import Panic
...@@ -352,15 +352,15 @@ import StringBuffer ...@@ -352,15 +352,15 @@ import StringBuffer
import Outputable import Outputable
import GHC.Types.Basic import GHC.Types.Basic
import FastString import FastString
import qualified Parser import qualified GHC.Parser as Parser
import Lexer import GHC.Parser.Lexer
import ApiAnnotation import GHC.Parser.Annotation
import qualified GHC.LanguageExtensions as LangExt import qualified GHC.LanguageExtensions as LangExt
import GHC.Types.Name.Env import GHC.Types.Name.Env
import GHC.Tc.Module import GHC.Tc.Module
import GHC.Tc.Utils.Instantiate import GHC.Tc.Utils.Instantiate
import GHC.Tc.Instance.Family import GHC.Tc.Instance.Family
import FileCleanup import GHC.SysTools.FileCleanup
import Data.Foldable import Data.Foldable
import qualified Data.Map.Strict as Map import qualified Data.Map.Strict as Map
...@@ -857,7 +857,7 @@ data ParsedModule = ...@@ -857,7 +857,7 @@ data ParsedModule =
, pm_parsed_source :: ParsedSource , pm_parsed_source :: ParsedSource
, pm_extra_src_files :: [FilePath] , pm_extra_src_files :: [FilePath]
, pm_annotations :: ApiAnns } , pm_annotations :: ApiAnns }
-- See Note [Api annotations] in ApiAnnotation.hs -- See Note [Api annotations] in GHC.Parser.Annotation
instance ParsedMod ParsedModule where instance ParsedMod ParsedModule where
modSummary m = pm_mod_summary m modSummary m = pm_mod_summary m
...@@ -951,7 +951,7 @@ parseModule ms = do ...@@ -951,7 +951,7 @@ parseModule ms = do
hpm <- liftIO $ hscParse hsc_env_tmp ms hpm <- liftIO $ hscParse hsc_env_tmp ms
return (ParsedModule ms (hpm_module hpm) (hpm_src_files hpm) return (ParsedModule ms (hpm_module hpm) (hpm_src_files hpm)
(hpm_annotations hpm)) (hpm_annotations hpm))
-- See Note [Api annotations] in ApiAnnotation.hs -- See Note [Api annotations] in GHC.Parser.Annotation
-- | Typecheck and rename a parsed module. -- | Typecheck and rename a parsed module.
-- --
......
{- {-
(c) The GRASP/AQUA Project, Glasgow University, 1992-1998 (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
\section[PrelNames]{Definitions of prelude modules and names} \section[GHC.Builtin.Names]{Definitions of prelude modules and names}
Nota Bene: all Names defined in here should come from the base package Nota Bene: all Names defined in here should come from the base package
...@@ -63,7 +63,7 @@ This is accomplished through a combination of mechanisms: ...@@ -63,7 +63,7 @@ This is accomplished through a combination of mechanisms:
2. The knownKeyNames (which consist of the basicKnownKeyNames from 2. The knownKeyNames (which consist of the basicKnownKeyNames from
the module, and those names reachable via the wired-in stuff from the module, and those names reachable via the wired-in stuff from
TysWiredIn) are used to initialise the "OrigNameCache" in GHC.Builtin.Types) are used to initialise the "OrigNameCache" in
GHC.Iface.Env. This initialization ensures that when the type checker GHC.Iface.Env. This initialization ensures that when the type checker
or renamer (both of which use GHC.Iface.Env) look up an original name or renamer (both of which use GHC.Iface.Env) look up an original name
(i.e. a pair of a Module and an OccName) for a known-key name (i.e. a pair of a Module and an OccName) for a known-key name
...@@ -98,7 +98,7 @@ things, ...@@ -98,7 +98,7 @@ things,
GHC.Iface.Binary.putName, with that special treatment detected when we read GHC.Iface.Binary.putName, with that special treatment detected when we read
back to ensure that we get back to the correct uniques. See Note [Symbol back to ensure that we get back to the correct uniques. See Note [Symbol
table representation of names] in GHC.Iface.Binary and Note [How tuples table representation of names] in GHC.Iface.Binary and Note [How tuples
work] in TysWiredIn. work] in GHC.Builtin.Types.
Most of the infinite families cannot occur in source code, so mechanisms (a) and (b) Most of the infinite families cannot occur in source code, so mechanisms (a) and (b)
suffice to ensure that they always have the right Unique. In particular, suffice to ensure that they always have the right Unique. In particular,
...@@ -145,16 +145,17 @@ Note [Wired-in packages] in GHC.Types.Module. This is done in Packages.findWired ...@@ -145,16 +145,17 @@ Note [Wired-in packages] in GHC.Types.Module. This is done in Packages.findWired
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} {-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
module PrelNames ( module GHC.Builtin.Names
Unique, Uniquable(..), hasKey, -- Re-exported for convenience ( Unique, Uniquable(..), hasKey, -- Re-exported for convenience
----------------------------------------------------------- -----------------------------------------------------------
module PrelNames, -- A huge bunch of (a) Names, e.g. intTyConName module GHC.Builtin.Names, -- A huge bunch of (a) Names, e.g. intTyConName
-- (b) Uniques e.g. intTyConKey -- (b) Uniques e.g. intTyConKey
-- (c) Groups of classes and types -- (c) Groups of classes and types
-- (d) miscellaneous things -- (d) miscellaneous things
-- So many that we export them all -- So many that we export them all
) where )
where
#include "HsVersions.h" #include "HsVersions.h"
...@@ -210,7 +211,7 @@ isUnboundName name = name `hasKey` unboundKey ...@@ -210,7 +211,7 @@ isUnboundName name = name `hasKey` unboundKey
This section tells what the compiler knows about the association of This section tells what the compiler knows about the association of
names with uniques. These ones are the *non* wired-in ones. The names with uniques. These ones are the *non* wired-in ones. The
wired in ones are defined in TysWiredIn etc. wired in ones are defined in GHC.Builtin.Types etc.
-} -}
basicKnownKeyNames :: [Name] -- See Note [Known-key names] basicKnownKeyNames :: [Name] -- See Note [Known-key names]
...@@ -1648,7 +1649,7 @@ hasFieldClassNameKey = mkPreludeClassUnique 49 ...@@ -1648,7 +1649,7 @@ hasFieldClassNameKey = mkPreludeClassUnique 49
---------------- Template Haskell ------------------- ---------------- Template Haskell -------------------
-- THNames.hs: USES ClassUniques 200-299 -- GHC.Builtin.Names.TH: USES ClassUniques 200-299
----------------------------------------------------- -----------------------------------------------------
{- {-
...@@ -1895,7 +1896,7 @@ unsafeEqualityTyConKey = mkPreludeTyConUnique 191 ...@@ -1895,7 +1896,7 @@ unsafeEqualityTyConKey = mkPreludeTyConUnique 191
---------------- Template Haskell ------------------- ---------------- Template Haskell -------------------
-- THNames.hs: USES TyConUniques 200-299 -- GHC.Builtin.Names.TH: USES TyConUniques 200-299
----------------------------------------------------- -----------------------------------------------------
----------------------- SIMD ------------------------ ----------------------- SIMD ------------------------
...@@ -2025,7 +2026,7 @@ vecRepDataConKey = mkPreludeDataConUnique 71 ...@@ -2025,7 +2026,7 @@ vecRepDataConKey = mkPreludeDataConUnique 71
tupleRepDataConKey = mkPreludeDataConUnique 72 tupleRepDataConKey = mkPreludeDataConUnique 72
sumRepDataConKey = mkPreludeDataConUnique 73 sumRepDataConKey = mkPreludeDataConUnique 73
-- See Note [Wiring in RuntimeRep] in TysWiredIn -- See Note [Wiring in RuntimeRep] in GHC.Builtin.Types
runtimeRepSimpleDataConKeys, unliftedSimpleRepDataConKeys, unliftedRepDataConKeys :: [Unique] runtimeRepSimpleDataConKeys, unliftedSimpleRepDataConKeys, unliftedRepDataConKeys :: [Unique]
liftedRepDataConKey :: Unique liftedRepDataConKey :: Unique
runtimeRepSimpleDataConKeys@(liftedRepDataConKey : unliftedSimpleRepDataConKeys) runtimeRepSimpleDataConKeys@(liftedRepDataConKey : unliftedSimpleRepDataConKeys)
...@@ -2036,12 +2037,12 @@ unliftedRepDataConKeys = vecRepDataConKey : ...@@ -2036,12 +2037,12 @@ unliftedRepDataConKeys = vecRepDataConKey :
sumRepDataConKey : sumRepDataConKey :
unliftedSimpleRepDataConKeys unliftedSimpleRepDataConKeys
-- See Note [Wiring in RuntimeRep] in TysWiredIn -- See Note [Wiring in RuntimeRep] in GHC.Builtin.Types
-- VecCount -- VecCount
vecCountDataConKeys :: [Unique] vecCountDataConKeys :: [Unique]
vecCountDataConKeys = map mkPreludeDataConUnique [89..94] vecCountDataConKeys = map mkPreludeDataConUnique [89..94]
-- See Note [Wiring in RuntimeRep] in TysWiredIn -- See Note [Wiring in RuntimeRep] in GHC.Builtin.Types
-- VecElem -- VecElem
vecElemDataConKeys :: [Unique] vecElemDataConKeys :: [Unique]
vecElemDataConKeys = map mkPreludeDataConUnique [95..104] vecElemDataConKeys = map mkPreludeDataConUnique [95..104]
...@@ -2068,7 +2069,7 @@ unsafeReflDataConKey :: Unique ...@@ -2068,7 +2069,7 @@ unsafeReflDataConKey :: Unique
unsafeReflDataConKey = mkPreludeDataConUnique 114 unsafeReflDataConKey = mkPreludeDataConUnique 114
---------------- Template Haskell ------------------- ---------------- Template Haskell -------------------
-- THNames.hs: USES DataUniques 200-250 -- GHC.Builtin.Names.TH: USES DataUniques 200-250
----------------------------------------------------- -----------------------------------------------------
...@@ -2319,7 +2320,7 @@ proxyHashKey :: Unique ...@@ -2319,7 +2320,7 @@ proxyHashKey :: Unique
proxyHashKey = mkPreludeMiscIdUnique 502 proxyHashKey = mkPreludeMiscIdUnique 502
---------------- Template Haskell ------------------- ---------------- Template Haskell -------------------
-- THNames.hs: USES IdUniques 200-499 -- GHC.Builtin.Names.TH: USES IdUniques 200-499
----------------------------------------------------- -----------------------------------------------------
-- Used to make `Typeable` dictionaries -- Used to make `Typeable` dictionaries
......
module PrelNames where module GHC.Builtin.Names where
import GHC.Types.Module import GHC.Types.Module
import GHC.Types.Unique import GHC.Types.Unique
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
-- %* * -- %* *
-- %************************************************************************ -- %************************************************************************
module THNames where module GHC.Builtin.Names.TH where
import GhcPrelude () import GhcPrelude ()
import PrelNames( mk_known_key_name ) import GHC.Builtin.Names( mk_known_key_name )
import GHC.Types.Module( Module, mkModuleNameFS, mkModule, thUnitId ) import GHC.Types.Module( Module, mkModuleNameFS, mkModule, thUnitId )
import GHC.Types.Name( Name ) import GHC.Types.Name( Name )
import GHC.Types.Name.Occurrence( tcName, clsName, dataName, varName ) import GHC.Types.Name.Occurrence( tcName, clsName, dataName, varName )
...@@ -608,7 +608,7 @@ incoherentDataConName = thCon (fsLit "Incoherent") incoherentDataConKey ...@@ -608,7 +608,7 @@ incoherentDataConName = thCon (fsLit "Incoherent") incoherentDataConKey
********************************************************************* -} ********************************************************************* -}
-- ClassUniques available: 200-299 -- ClassUniques available: 200-299
-- Check in PrelNames if you want to change this -- Check in GHC.Builtin.Names if you want to change this
liftClassKey :: Unique liftClassKey :: Unique
liftClassKey = mkPreludeClassUnique 200 liftClassKey = mkPreludeClassUnique 200
...@@ -623,7 +623,7 @@ quoteClassKey = mkPreludeClassUnique 201 ...@@ -623,7 +623,7 @@ quoteClassKey = mkPreludeClassUnique 201
********************************************************************* -} ********************************************************************* -}
-- TyConUniques available: 200-299 -- TyConUniques available: 200-299
-- Check in PrelNames if you want to change this -- Check in GHC.Builtin.Names if you want to change this
expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey, expTyConKey, matchTyConKey, clauseTyConKey, qTyConKey, expQTyConKey,
patTyConKey, patTyConKey,
...@@ -675,7 +675,7 @@ decsTyConKey = mkPreludeTyConUnique 236 ...@@ -675,7 +675,7 @@ decsTyConKey = mkPreludeTyConUnique 236
********************************************************************* -} ********************************************************************* -}
-- DataConUniques available: 100-150 -- DataConUniques available: 100-150
-- If you want to change this, make sure you check in PrelNames -- If you want to change this, make sure you check in GHC.Builtin.Names
-- data Inline = ... -- data Inline = ...
noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique noInlineDataConKey, inlineDataConKey, inlinableDataConKey :: Unique
...@@ -715,7 +715,7 @@ incoherentDataConKey = mkPreludeDataConUnique 212 ...@@ -715,7 +715,7 @@ incoherentDataConKey = mkPreludeDataConUnique 212
********************************************************************* -} ********************************************************************* -}
-- IdUniques available: 200-499 -- IdUniques available: 200-499
-- If you want to change this, make sure you check in PrelNames -- If you want to change this, make sure you check in GHC.Builtin.Names
returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey, returnQIdKey, bindQIdKey, sequenceQIdKey, liftIdKey, newNameIdKey,
mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey, mkNameIdKey, mkNameG_vIdKey, mkNameG_dIdKey, mkNameG_tcIdKey,
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
module PrimOp ( module GHC.Builtin.PrimOps (
PrimOp(..), PrimOpVecCat(..), allThePrimOps, PrimOp(..), PrimOpVecCat(..), allThePrimOps,
primOpType, primOpSig, primOpType, primOpSig,
primOpTag, maxPrimOpTag, primOpOcc, primOpTag, maxPrimOpTag, primOpOcc,
...@@ -27,15 +27,15 @@ module PrimOp ( ...@@ -27,15 +27,15 @@ module PrimOp (
import GhcPrelude import GhcPrelude
import TysPrim import GHC.Builtin.Types.Prim
import TysWiredIn import GHC.Builtin.Types
import GHC.Cmm.Type import GHC.Cmm.Type
import GHC.Types.Demand import GHC.Types.Demand
import GHC.Types.Id ( Id, mkVanillaGlobalWithInfo ) import GHC.Types.Id ( Id, mkVanillaGlobalWithInfo )
import GHC.Types.Id.Info ( vanillaIdInfo, setCafInfo, CafInfo(NoCafRefs) ) import GHC.Types.Id.Info ( vanillaIdInfo, setCafInfo, CafInfo(NoCafRefs) )
import GHC.Types.Name import GHC.Types.Name
import PrelNames ( gHC_PRIMOPWRAPPERS ) import GHC.Builtin.Names ( gHC_PRIMOPWRAPPERS )
import GHC.Core.TyCon ( TyCon, isPrimTyCon, PrimRep(..) ) import GHC.Core.TyCon ( TyCon, isPrimTyCon, PrimRep(..) )
import GHC.Core.Type import GHC.Core.Type
import GHC.Types.RepType ( typePrimRep1, tyConPrimRep1 ) import GHC.Types.RepType ( typePrimRep1, tyConPrimRep1 )
......
module PrimOp where module GHC.Builtin.PrimOps where
import GhcPrelude () import GhcPrelude ()
......
{- {-
(c) The GRASP Project, Glasgow University, 1994-1998 (c) The GRASP Project, Glasgow University, 1994-1998
\section[TysWiredIn]{Wired-in knowledge about {\em non-primitive} types} Wired-in knowledge about {\em non-primitive} types
-} -}
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} {-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
-- | This module is about types that can be defined in Haskell, but which -- | This module is about types that can be defined in Haskell, but which
-- must be wired into the compiler nonetheless. C.f module TysPrim -- must be wired into the compiler nonetheless. C.f module GHC.Builtin.Types.Prim
module TysWiredIn ( module GHC.Builtin.Types (
-- * Helper functions defined here -- * Helper functions defined here
mkWiredInTyConName, -- This is used in TcTypeNats to define the mkWiredInTyConName, -- This is used in GHC.Builtin.Types.Literals to define the
-- built-in functions for evaluation. -- built-in functions for evaluation.
mkWiredInIdName, -- used in GHC.Types.Id.Make mkWiredInIdName, -- used in GHC.Types.Id.Make
...@@ -135,14 +135,14 @@ import GhcPrelude ...@@ -135,14 +135,14 @@ import GhcPrelude
import {-# SOURCE #-} GHC.Types.Id.Make ( mkDataConWorkId, mkDictSelId ) import {-# SOURCE #-} GHC.Types.Id.Make ( mkDataConWorkId, mkDictSelId )
-- friends: -- friends:
import PrelNames import GHC.Builtin.Names
import TysPrim import GHC.Builtin.Types.Prim
import {-# SOURCE #-} KnownUniques import {-# SOURCE #-} GHC.Builtin.Uniques
-- others: -- others:
import GHC.Core.Coercion.Axiom import GHC.Core.Coercion.Axiom
import GHC.Types.Id import GHC.Types.Id
import Constants ( mAX_TUPLE_SIZE, mAX_CTUPLE_SIZE, mAX_SUM_SIZE ) import GHC.Settings.Constants ( mAX_TUPLE_SIZE, mAX_CTUPLE_SIZE, mAX_SUM_SIZE )
import GHC.Types.Module ( Module ) import GHC.Types.Module ( Module )
import GHC.Core.Type import GHC.Core.Type
import GHC.Types.RepType import GHC.Types.RepType
...@@ -193,10 +193,10 @@ See also Note [Getting from RuntimeRep to PrimRep] in GHC.Types.RepType. ...@@ -193,10 +193,10 @@ See also Note [Getting from RuntimeRep to PrimRep] in GHC.Types.RepType.
************************************************************************ ************************************************************************
If you change which things are wired in, make sure you change their If you change which things are wired in, make sure you change their
names in PrelNames, so they use wTcQual, wDataQual, etc names in GHC.Builtin.Names, so they use wTcQual, wDataQual, etc
-} -}
-- This list is used only to define PrelInfo.wiredInThings. That in turn -- This list is used only to define GHC.Builtin.Utils.wiredInThings. That in turn
-- is used to initialise the name environment carried around by the renamer. -- is used to initialise the name environment carried around by the renamer.
-- This means that if we look up the name of a TyCon (or its implicit binders) -- This means that if we look up the name of a TyCon (or its implicit binders)
-- that occurs in this list that name will be assigned the wired-in key we -- that occurs in this list that name will be assigned the wired-in key we
...@@ -375,7 +375,7 @@ It has these properties: ...@@ -375,7 +375,7 @@ It has these properties:
* If (Any k) is the type of a value, it must be a /lifted/ value. So * If (Any k) is the type of a value, it must be a /lifted/ value. So
if we have (Any @(TYPE rr)) then rr must be 'LiftedRep. See if we have (Any @(TYPE rr)) then rr must be 'LiftedRep. See
Note [TYPE and RuntimeRep] in TysPrim. This is a convenient Note [TYPE and RuntimeRep] in GHC.Builtin.Types.Prim. This is a convenient
invariant, and makes isUnliftedTyCon well-defined; otherwise what invariant, and makes isUnliftedTyCon well-defined; otherwise what
would (isUnliftedTyCon Any) be? would (isUnliftedTyCon Any) be?
...@@ -654,7 +654,7 @@ constraintKind = mkTyConApp constraintKindTyCon [] ...@@ -654,7 +654,7 @@ constraintKind = mkTyConApp constraintKindTyCon []
* * * *
************************************************************************ ************************************************************************
Note [How tuples work] See also Note [Known-key names] in PrelNames Note [How tuples work] See also Note [Known-key names] in GHC.Builtin.Names
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
* There are three families of tuple TyCons and corresponding * There are three families of tuple TyCons and corresponding
DataCons, expressed by the type BasicTypes.TupleSort: DataCons, expressed by the type BasicTypes.TupleSort:
...@@ -701,7 +701,7 @@ Note [How tuples work] See also Note [Known-key names] in PrelNames ...@@ -701,7 +701,7 @@ Note [How tuples work] See also Note [Known-key names] in PrelNames
* Serialization to interface files works via the usual mechanism for known-key * Serialization to interface files works via the usual mechanism for known-key
things: instead of serializing the OccName we just serialize the key. During things: instead of serializing the OccName we just serialize the key. During
deserialization we lookup the Name associated with the unique with the logic deserialization we lookup the Name associated with the unique with the logic
in KnownUniques. See Note [Symbol table representation of names] for details. in GHC.Builtin.Uniques. See Note [Symbol table representation of names] for details.
Note [One-tuples] Note [One-tuples]
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
...@@ -1091,7 +1091,7 @@ mk_sum arity = (tycon, sum_cons) ...@@ -1091,7 +1091,7 @@ mk_sum arity = (tycon, sum_cons)
* * * *
********************************************************************* -} ********************************************************************* -}
-- See Note [The equality types story] in TysPrim -- See Note [The equality types story] in GHC.Builtin.Types.Prim
-- ((~~) :: forall k1 k2 (a :: k1) (b :: k2). a -> b -> Constraint) -- ((~~) :: forall k1 k2 (a :: k1) (b :: k2). a -> b -> Constraint)
-- --
-- It's tempting to put functional dependencies on (~~), but it's not -- It's tempting to put functional dependencies on (~~), but it's not
...@@ -1171,11 +1171,11 @@ mk_class tycon sc_pred sc_sel_id ...@@ -1171,11 +1171,11 @@ mk_class tycon sc_pred sc_sel_id
********************************************************************* -} ********************************************************************* -}
-- For information about the usage of the following type, -- For information about the usage of the following type,
-- see Note [TYPE and RuntimeRep] in module TysPrim -- see Note [TYPE and RuntimeRep] in module GHC.Builtin.Types.Prim
runtimeRepTy :: Type runtimeRepTy :: Type
runtimeRepTy = mkTyConTy runtimeRepTyCon runtimeRepTy = mkTyConTy runtimeRepTyCon
-- Type synonyms; see Note [TYPE and RuntimeRep] in TysPrim -- Type synonyms; see Note [TYPE and RuntimeRep] in GHC.Builtin.Types.Prim
-- type Type = tYPE 'LiftedRep -- type Type = tYPE 'LiftedRep
liftedTypeKindTyCon :: TyCon liftedTypeKindTyCon :: TyCon
liftedTypeKindTyCon = buildSynTyCon liftedTypeKindTyConName liftedTypeKindTyCon = buildSynTyCon liftedTypeKindTyConName
......
module TysWiredIn where module GHC.Builtin.Types where
import {-# SOURCE #-} GHC.Core.TyCon ( TyCon )