toPName, bpermutePName, bpermuteDftPName, indexOfPName,
-- FFI primitive types that are not wired-in.
- stablePtrTyConName, ptrTyConName, funPtrTyConName, addrTyConName,
+ stablePtrTyConName, ptrTyConName, funPtrTyConName,
int8TyConName, int16TyConName, int32TyConName, int64TyConName,
wordTyConName, word8TyConName, word16TyConName, word32TyConName, word64TyConName,
-- Others
otherwiseIdName,
plusIntegerName, timesIntegerName,
- eqStringName, assertName, breakpointName, assertErrorName,
- runSTRepName,
+ eqStringName, assertName, breakpointName, breakpointCondName,
+ assertErrorName, runSTRepName,
printName, fstName, sndName,
-- MonadFix
mONAD = mkModule "Control.Monad"
mONAD_FIX = mkModule "Control.Monad.Fix"
aRROW = mkModule "Control.Arrow"
-aDDR = mkModule "Addr"
rANDOM = mkModule "System.Random"
gLA_EXTS = mkModule "GHC.Exts"
unpackCStringUtf8_RDR = nameRdrName unpackCStringUtf8Name
newStablePtr_RDR = nameRdrName newStablePtrName
-addrDataCon_RDR = dataQual_RDR aDDR FSLIT("A#")
wordDataCon_RDR = dataQual_RDR pREL_WORD FSLIT("W#")
bindIO_RDR = nameRdrName bindIOName
unpackCStringUtf8Name = varQual pREL_BASE FSLIT("unpackCStringUtf8#") unpackCStringUtf8IdKey
eqStringName = varQual pREL_BASE FSLIT("eqString") eqStringIdKey
+-- The 'inline' function
+inlineIdName = varQual pREL_BASE FSLIT("inline") inlineIdKey
+
-- Base classes (Eq, Ord, Functor)
eqClassName = clsQual pREL_BASE FSLIT("Eq") eqClassKey
eqName = methName eqClassName FSLIT("==") eqClassOpKey
orName = varQual pREL_BASE FSLIT("||") orIdKey
assertName = varQual pREL_BASE FSLIT("assert") assertIdKey
breakpointName = varQual pREL_BASE FSLIT("breakpoint") breakpointIdKey
+breakpointCondName= varQual pREL_BASE FSLIT("breakpointCond") breakpointCondIdKey
breakpointJumpName
= mkInternalName
breakpointJumpIdKey
(mkOccNameFS varName FSLIT("breakpointJump"))
noSrcLoc
+breakpointCondJumpName
+ = mkInternalName
+ breakpointCondJumpIdKey
+ (mkOccNameFS varName FSLIT("breakpointCondJump"))
+ noSrcLoc
-- PrelTup
fstName = varQual pREL_TUP FSLIT("fst") fstIdKey
wordTyConName = tcQual pREL_WORD FSLIT("Word") wordTyConKey
wordDataConName = conName wordTyConName FSLIT("W#") wordDataConKey
--- Addr module
-addrTyConName = tcQual aDDR FSLIT("Addr") addrTyConKey
-
-- PrelPtr module
ptrTyConName = tcQual pREL_PTR FSLIT("Ptr") ptrTyConKey
funPtrTyConName = tcQual pREL_PTR FSLIT("FunPtr") funPtrTyConKey
\begin{code}
addrPrimTyConKey = mkPreludeTyConUnique 1
-addrTyConKey = mkPreludeTyConUnique 2
arrayPrimTyConKey = mkPreludeTyConUnique 3
boolTyConKey = mkPreludeTyConUnique 4
byteArrayPrimTyConKey = mkPreludeTyConUnique 5
assertErrorIdKey = mkPreludeMiscIdUnique 61
breakpointIdKey = mkPreludeMiscIdUnique 62
-breakpointJumpIdKey = mkPreludeMiscIdUnique 63
+breakpointCondIdKey = mkPreludeMiscIdUnique 63
+breakpointJumpIdKey = mkPreludeMiscIdUnique 64
+breakpointCondJumpIdKey = mkPreludeMiscIdUnique 65
+
+inlineIdKey = mkPreludeMiscIdUnique 66
-- Parallel array functions
nullPIdKey = mkPreludeMiscIdUnique 80
\begin{code}
numericTyKeys =
- [ addrTyConKey
- , wordTyConKey
+ [ wordTyConKey
, intTyConKey
, integerTyConKey
, doubleTyConKey
, floatTyConKey
]
-
- -- Renamer always imports these data decls replete with constructors
- -- so that desugarer can always see their constructors. Ugh!
-cCallishTyKeys =
- [ addrTyConKey
- , wordTyConKey
- , stablePtrTyConKey
- , int8TyConKey
- , int16TyConKey
- , int32TyConKey
- , int64TyConKey
- , word8TyConKey
- , word16TyConKey
- , word32TyConKey
- , word64TyConKey
- ]
\end{code}