+%************************************************************************
+%* *
+\subsection{Known names}
+%* *
+%************************************************************************
+
+The following names are known to the compiler, but they don't require
+pre-assigned keys. Mostly these names are used in generating deriving
+code, which is passed through the renamer anyway.
+
+ THEY ARE ALL ORIGINAL NAMES, HOWEVER
+
+\begin{code}
+-- Lists and tuples
+tupleCon_RDR, tupleTyCon_RDR :: Int -> RdrName
+ubxTupleCon_RDR, ubxTupleTyCon_RDR :: Int -> RdrName
+
+tupleCon_RDR = mkTupConRdrName dataName Boxed
+tupleTyCon_RDR = mkTupConRdrName tcName Boxed
+ubxTupleCon_RDR = mkTupConRdrName dataName Unboxed
+ubxTupleTyCon_RDR = mkTupConRdrName tcName Unboxed
+
+unitCon_RDR = dataQual_RDR pREL_BASE_Name FSLIT("()")
+unitTyCon_RDR = tcQual_RDR pREL_BASE_Name FSLIT("()")
+
+and_RDR = varQual_RDR pREL_BASE_Name FSLIT("&&")
+not_RDR = varQual_RDR pREL_BASE_Name FSLIT("not")
+compose_RDR = varQual_RDR pREL_BASE_Name FSLIT(".")
+ne_RDR = varQual_RDR pREL_BASE_Name FSLIT("/=")
+le_RDR = varQual_RDR pREL_BASE_Name FSLIT("<=")
+lt_RDR = varQual_RDR pREL_BASE_Name FSLIT("<")
+gt_RDR = varQual_RDR pREL_BASE_Name FSLIT(">")
+ltTag_RDR = dataQual_RDR pREL_BASE_Name FSLIT("LT")
+eqTag_RDR = dataQual_RDR pREL_BASE_Name FSLIT("EQ")
+gtTag_RDR = dataQual_RDR pREL_BASE_Name FSLIT("GT")
+max_RDR = varQual_RDR pREL_BASE_Name FSLIT("max")
+min_RDR = varQual_RDR pREL_BASE_Name FSLIT("min")
+compare_RDR = varQual_RDR pREL_BASE_Name FSLIT("compare")
+showList_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showList")
+showList___RDR = varQual_RDR pREL_SHOW_Name FSLIT("showList__")
+showsPrec_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showsPrec")
+showSpace_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showSpace")
+showString_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showString")
+showParen_RDR = varQual_RDR pREL_SHOW_Name FSLIT("showParen")
+
+readsPrec_RDR = varQual_RDR pREL_READ_Name FSLIT("readsPrec")
+readPrec_RDR = varQual_RDR pREL_READ_Name FSLIT("readPrec")
+readListPrec_RDR = varQual_RDR pREL_READ_Name FSLIT("readListPrec")
+readList_RDR = varQual_RDR pREL_READ_Name FSLIT("readList")
+
+readListDefault_RDR = varQual_RDR pREL_READ_Name FSLIT("readListDefault")
+readListPrecDefault_RDR = varQual_RDR pREL_READ_Name FSLIT("readListPrecDefault")
+parens_RDR = varQual_RDR pREL_READ_Name FSLIT("parens")
+choose_RDR = varQual_RDR pREL_READ_Name FSLIT("choose")
+lexP_RDR = varQual_RDR pREL_READ_Name FSLIT("lexP")
+
+-- Module ReadPrec
+step_RDR = varQual_RDR rEAD_PREC_Name FSLIT("step")
+reset_RDR = varQual_RDR rEAD_PREC_Name FSLIT("reset")
+alt_RDR = varQual_RDR rEAD_PREC_Name FSLIT("+++")
+prec_RDR = varQual_RDR rEAD_PREC_Name FSLIT("prec")
+
+-- Module Lex
+symbol_RDR = dataQual_RDR lEX_Name FSLIT("Symbol")
+ident_RDR = dataQual_RDR lEX_Name FSLIT("Ident")
+single_RDR = dataQual_RDR lEX_Name FSLIT("Single")
+
+times_RDR = varQual_RDR pREL_NUM_Name FSLIT("*")
+plus_RDR = varQual_RDR pREL_NUM_Name FSLIT("+")
+negate_RDR = varQual_RDR pREL_NUM_Name FSLIT("negate")
+range_RDR = varQual_RDR pREL_ARR_Name FSLIT("range")
+index_RDR = varQual_RDR pREL_ARR_Name FSLIT("index")
+inRange_RDR = varQual_RDR pREL_ARR_Name FSLIT("inRange")
+succ_RDR = varQual_RDR pREL_ENUM_Name FSLIT("succ")
+pred_RDR = varQual_RDR pREL_ENUM_Name FSLIT("pred")
+minBound_RDR = varQual_RDR pREL_ENUM_Name FSLIT("minBound")
+maxBound_RDR = varQual_RDR pREL_ENUM_Name FSLIT("maxBound")
+assertErr_RDR = varQual_RDR pREL_ERR_Name FSLIT("assertError")