\begin{code}
+{-# OPTIONS -w #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
module PrelNames (
Unique, Uniquable(..), hasKey, -- Re-exported for convenience
#include "HsVersions.h"
-import PackageConfig
-import Module ( Module, ModuleName, mkModule, mkModuleNameFS )
+import Module
import OccName ( dataName, tcName, clsName, varName, mkOccNameFS,
mkVarOccFS )
import RdrName ( RdrName, nameRdrName, mkOrig, rdrNameOcc, mkUnqual )
basicKnownKeyNames
= genericTyConNames
++ typeableClassNames
- ++ ndpNames
++ [ -- Type constructors (synonyms especially)
ioTyConName, ioDataConName,
runMainIOName,
-- Stable pointers
newStablePtrName,
+ -- GHC Extensions
+ groupWithName,
+
-- Strings and lists
unpackCStringName, unpackCStringAppendName,
unpackCStringFoldrName, unpackCStringUtf8Name,
-- List operations
- concatName, filterName,
+ concatName, filterName, mapName,
zipName, foldrName, buildName, augmentName, appendName,
-- Parallel array operations
- nullPName, lengthPName, replicatePName, mapPName,
+ nullPName, lengthPName, replicatePName, singletonPName, mapPName,
filterPName, zipPName, crossMapPName, indexPName,
toPName, bpermutePName, bpermuteDftPName, indexOfPName,
genericTyConNames :: [Name]
genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName]
-
-ndpNames :: [Name]
-ndpNames = [ parrayTyConName, paTyConName, closureTyConName
- , mkClosureName, applyClosureName
- , mkClosurePName, applyClosurePName
- , closurePAName
- , lengthPAName, replicatePAName ]
\end{code}
gENERICS = mkBaseModule FSLIT("Data.Generics.Basics")
dOTNET = mkBaseModule FSLIT("GHC.Dotnet")
rEAD_PREC = mkBaseModule FSLIT("Text.ParserCombinators.ReadPrec")
-lEX = mkBaseModule FSLIT("Text.Read.Lex")
+lEX = mkBaseModule FSLIT("Text.Read.Lex")
gHC_INT = mkBaseModule FSLIT("GHC.Int")
gHC_WORD = mkBaseModule FSLIT("GHC.Word")
mONAD = mkBaseModule FSLIT("Control.Monad")
mONAD_FIX = mkBaseModule FSLIT("Control.Monad.Fix")
aRROW = mkBaseModule FSLIT("Control.Arrow")
+gHC_DESUGAR = mkBaseModule FSLIT("GHC.Desugar")
rANDOM = mkBaseModule FSLIT("System.Random")
-gLA_EXTS = mkBaseModule FSLIT("GHC.Exts")
-
-nDP_LIFTED = mkNDPModule FSLIT("Data.Array.Parallel.Lifted")
+gHC_EXTS = mkBaseModule FSLIT("GHC.Exts")
mAIN = mkMainModule_ mAIN_NAME
rOOT_MAIN = mkMainModule FSLIT(":Main") -- Root module for initialisation
mkBaseModule_ :: ModuleName -> Module
mkBaseModule_ m = mkModule basePackageId m
-mkNDPModule :: FastString -> Module
-mkNDPModule m = mkModule ndpPackageId (mkModuleNameFS m)
-
-mkNDPModule_ :: ModuleName -> Module
-mkNDPModule_ m = mkModule ndpPackageId m
-
mkMainModule :: FastString -> Module
mkMainModule m = mkModule mainPackageId (mkModuleNameFS m)
returnMName = methName gHC_BASE FSLIT("return") returnMClassOpKey
failMName = methName gHC_BASE FSLIT("fail") failMClassOpKey
+-- Functions for GHC extensions
+groupWithName = varQual gHC_EXTS FSLIT("groupWith") groupWithIdKey
+
-- Random PrelBase functions
fromStringName = methName dATA_STRING 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
+mapName = varQual gHC_BASE FSLIT("map") mapIdKey
appendName = varQual gHC_BASE FSLIT("++") appendIdKey
andName = varQual gHC_BASE FSLIT("&&") andIdKey
orName = varQual gHC_BASE FSLIT("||") orIdKey
enumFromThenToPName= varQual gHC_PARR FSLIT("enumFromThenToP") enumFromThenToPIdKey
nullPName = varQual gHC_PARR FSLIT("nullP") nullPIdKey
lengthPName = varQual gHC_PARR FSLIT("lengthP") lengthPIdKey
+singletonPName = varQual gHC_PARR FSLIT("singletonP") singletonPIdKey
replicatePName = varQual gHC_PARR FSLIT("replicateP") replicatePIdKey
mapPName = varQual gHC_PARR FSLIT("mapP") mapPIdKey
filterPName = varQual gHC_PARR FSLIT("filterP") filterPIdKey
-- Arrow notation
arrAName = varQual aRROW FSLIT("arr") arrAIdKey
-composeAName = varQual aRROW FSLIT(">>>") composeAIdKey
+composeAName = varQual gHC_DESUGAR FSLIT(">>>") composeAIdKey
firstAName = varQual aRROW FSLIT("first") firstAIdKey
appAName = varQual aRROW FSLIT("app") appAIdKey
choiceAName = varQual aRROW FSLIT("|||") choiceAIdKey
marshalStringName = varQual dOTNET FSLIT("marshalString") marshalStringIdKey
unmarshalStringName = varQual dOTNET FSLIT("unmarshalString") unmarshalStringIdKey
checkDotnetResName = varQual dOTNET FSLIT("checkResult") checkDotnetResNameIdKey
-
--- NDP stuff
-parrayTyConName = tcQual nDP_LIFTED FSLIT("PArray") parrayTyConKey
-paTyConName = tcQual nDP_LIFTED FSLIT("PA") paTyConKey
-closureTyConName = tcQual nDP_LIFTED FSLIT(":->") closureTyConKey
-mkClosureName = varQual nDP_LIFTED FSLIT("mkClosure") mkClosureIdKey
-applyClosureName = varQual nDP_LIFTED FSLIT("$:") applyClosureIdKey
-mkClosurePName = varQual nDP_LIFTED FSLIT("mkClosureP") mkClosurePIdKey
-applyClosurePName = varQual nDP_LIFTED FSLIT("$:^") applyClosurePIdKey
-closurePAName = varQual nDP_LIFTED FSLIT("closurePA") closurePAIdKey
-lengthPAName = varQual nDP_LIFTED FSLIT("lengthP") lengthPAIdKey
-replicatePAName = varQual nDP_LIFTED FSLIT("replicateP") replicatePAIdKey
\end{code}
%************************************************************************
stringTyConKey = mkPreludeTyConUnique 134
-parrayTyConKey = mkPreludeTyConUnique 135
-paTyConKey = mkPreludeTyConUnique 136
-closureTyConKey = mkPreludeTyConUnique 137
-
-
---------------- Template Haskell -------------------
-- USES TyConUniques 100-129
-----------------------------------------------------
inlineIdKey = mkPreludeMiscIdUnique 68
+mapIdKey = mkPreludeMiscIdUnique 69
+groupWithIdKey = mkPreludeMiscIdUnique 70
+
-- Parallel array functions
+singletonPIdKey = mkPreludeMiscIdUnique 79
nullPIdKey = mkPreludeMiscIdUnique 80
lengthPIdKey = mkPreludeMiscIdUnique 81
replicatePIdKey = mkPreludeMiscIdUnique 82
fromStringClassOpKey = mkPreludeMiscIdUnique 125
--- Flattened parallel array functions
-mkClosureIdKey = mkPreludeMiscIdUnique 126
-applyClosureIdKey = mkPreludeMiscIdUnique 127
-mkClosurePIdKey = mkPreludeMiscIdUnique 128
-applyClosurePIdKey = mkPreludeMiscIdUnique 129
-closurePAIdKey = mkPreludeMiscIdUnique 130
-lengthPAIdKey = mkPreludeMiscIdUnique 131
-replicatePAIdKey = mkPreludeMiscIdUnique 132
-
---------------- Template Haskell -------------------
-- USES IdUniques 200-399
-----------------------------------------------------