runMainIOName,
orderingTyConName,
rationalTyConName,
+ stringTyConName,
ratioDataConName,
ratioTyConName,
integerTyConName, smallIntegerDataConName, largeIntegerDataConName,
realFracClassName, -- numeric
realFloatClassName, -- numeric
dataClassName,
+ isStringClassName,
-- Numeric stuff
negateName, minusName,
fromRationalName, fromIntegerName,
geName, eqName,
+
+ -- String stuff
+ fromStringName,
-- Enum stuff
enumFromName, enumFromThenName,
otherwiseIdName,
plusIntegerName, timesIntegerName,
eqStringName, assertName, breakpointName, breakpointCondName,
+ breakpointAutoName, opaqueTyConName, unknownTyConName,
+ unknown1TyConName, unknown2TyConName, unknown3TyConName,
assertErrorName, runSTRepName,
printName, fstName, sndName,
times_RDR = varQual_RDR gHC_NUM FSLIT("*")
plus_RDR = varQual_RDR gHC_NUM FSLIT("+")
+fromString_RDR = nameRdrName fromStringName
+
compose_RDR = varQual_RDR gHC_BASE FSLIT(".")
not_RDR = varQual_RDR gHC_BASE FSLIT("not")
unpackCStringFoldrName = varQual gHC_BASE FSLIT("unpackFoldrCString#") unpackCStringFoldrIdKey
unpackCStringUtf8Name = varQual gHC_BASE FSLIT("unpackCStringUtf8#") unpackCStringUtf8IdKey
eqStringName = varQual gHC_BASE FSLIT("eqString") eqStringIdKey
+stringTyConName = tcQual gHC_BASE FSLIT("String") stringTyConKey
-- The 'inline' function
inlineIdName = varQual gHC_BASE FSLIT("inline") inlineIdKey
failMName = methName gHC_BASE FSLIT("fail") failMClassOpKey
-- Random PrelBase functions
+fromStringName = methName gHC_BASE FSLIT("fromString") fromStringClassOpKey
otherwiseIdName = varQual gHC_BASE FSLIT("otherwise") otherwiseIdKey
foldrName = varQual gHC_BASE FSLIT("foldr") foldrIdKey
buildName = varQual gHC_BASE FSLIT("build") buildIdKey
augmentName = varQual gHC_BASE FSLIT("augment") augmentIdKey
appendName = varQual gHC_BASE FSLIT("++") appendIdKey
-andName = varQual gHC_BASE FSLIT("&&") andIdKey
-orName = varQual gHC_BASE FSLIT("||") orIdKey
+andName = varQual gHC_BASE FSLIT("&&") andIdKey
+orName = varQual gHC_BASE FSLIT("||") orIdKey
assertName = varQual gHC_BASE FSLIT("assert") assertIdKey
breakpointName = varQual gHC_BASE FSLIT("breakpoint") breakpointIdKey
breakpointCondName= varQual gHC_BASE FSLIT("breakpointCond") breakpointCondIdKey
+breakpointAutoName= varQual gHC_BASE FSLIT("breakpointAuto") breakpointAutoIdKey
+unknownTyConName = tcQual gHC_BASE FSLIT("Unknown") unknownTyConKey
+unknown1TyConName = tcQual gHC_BASE FSLIT("Unknown1") unknown1TyConKey
+unknown2TyConName = tcQual gHC_BASE FSLIT("Unknown2") unknown2TyConKey
+unknown3TyConName = tcQual gHC_BASE FSLIT("Unknown3") unknown3TyConKey
+opaqueTyConName = tcQual gHC_BASE FSLIT("Opaque") opaqueTyConKey
+
breakpointJumpName
= mkInternalName
breakpointJumpIdKey
breakpointCondJumpIdKey
(mkOccNameFS varName FSLIT("breakpointCondJump"))
noSrcLoc
+breakpointAutoJumpName
+ = mkInternalName
+ breakpointAutoJumpIdKey
+ (mkOccNameFS varName FSLIT("breakpointAutoJump"))
+ noSrcLoc
-- PrelTup
fstName = varQual dATA_TUP FSLIT("fst") fstIdKey
monadPlusClassName = clsQual mONAD FSLIT("MonadPlus") monadPlusClassKey
randomClassName = clsQual rANDOM FSLIT("Random") randomClassKey
randomGenClassName = clsQual rANDOM FSLIT("RandomGen") randomGenClassKey
+isStringClassName = clsQual gHC_BASE FSLIT("IsString") isStringClassKey
-- dotnet interop
objectTyConName = tcQual dOTNET FSLIT("Object") objectTyConKey
monadPlusClassKey = mkPreludeClassUnique 30
randomClassKey = mkPreludeClassUnique 31
randomGenClassKey = mkPreludeClassUnique 32
+
+isStringClassKey = mkPreludeClassUnique 33
\end{code}
%************************************************************************
instCoercionTyConKey = mkPreludeTyConUnique 97
unsafeCoercionTyConKey = mkPreludeTyConUnique 98
+unknownTyConKey = mkPreludeTyConUnique 99
+unknown1TyConKey = mkPreludeTyConUnique 130
+unknown2TyConKey = mkPreludeTyConUnique 131
+unknown3TyConKey = mkPreludeTyConUnique 132
+opaqueTyConKey = mkPreludeTyConUnique 133
+
+stringTyConKey = mkPreludeTyConUnique 134
+
---------------- Template Haskell -------------------
-- USES TyConUniques 100-129
breakpointIdKey = mkPreludeMiscIdUnique 62
breakpointCondIdKey = mkPreludeMiscIdUnique 63
-breakpointJumpIdKey = mkPreludeMiscIdUnique 64
-breakpointCondJumpIdKey = mkPreludeMiscIdUnique 65
+breakpointAutoIdKey = mkPreludeMiscIdUnique 64
+breakpointJumpIdKey = mkPreludeMiscIdUnique 65
+breakpointCondJumpIdKey = mkPreludeMiscIdUnique 66
+breakpointAutoJumpIdKey = mkPreludeMiscIdUnique 67
-inlineIdKey = mkPreludeMiscIdUnique 66
+inlineIdKey = mkPreludeMiscIdUnique 68
-- Parallel array functions
nullPIdKey = mkPreludeMiscIdUnique 80
choiceAIdKey = mkPreludeMiscIdUnique 123 -- |||
loopAIdKey = mkPreludeMiscIdUnique 124
+fromStringClassOpKey = mkPreludeMiscIdUnique 125
+
---------------- Template Haskell -------------------
-- USES IdUniques 200-399
-----------------------------------------------------
standardClassKeys = derivableClassKeys ++ numericClassKeys
++ [randomClassKey, randomGenClassKey,
functorClassKey,
- monadClassKey, monadPlusClassKey]
+ monadClassKey, monadPlusClassKey,
+ isStringClassKey
+ ]
\end{code}
@derivableClassKeys@ is also used in checking \tr{deriving} constructs