X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fprelude%2FPrelNames.lhs;h=59a13de421e181998f6ee4a62221170ff423bef7;hp=d226cbebdc95b02b0f12ccfaf96118318606fa03;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=4513387ea2c580aaae160948b810277e69f41850 diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs index d226cbe..59a13de 100644 --- a/compiler/prelude/PrelNames.lhs +++ b/compiler/prelude/PrelNames.lhs @@ -213,6 +213,11 @@ basicKnownKeyNames -- Other classes randomClassName, randomGenClassName, monadPlusClassName, + -- Code types + hetmet_brak_name, hetmet_esc_name, hetmet_csp_name, + hetmet_kappa_name, hetmet_kappa_app_name, + hetmet_guest_integer_literal_name, hetmet_guest_string_literal_name, hetmet_guest_char_literal_name, + -- Annotation type checking toAnnotationWrapperName @@ -276,6 +281,9 @@ gHC_PRIM, gHC_TYPES, gHC_UNIT, gHC_ORDERING, gHC_GENERICS, gHC_MAGIC, gHC_CLASSES, gHC_BASE, gHC_ENUM, gHC_CSTRING, gHC_SHOW, gHC_READ, gHC_NUM, gHC_INTEGER, gHC_INTEGER_TYPE, gHC_LIST, + gHC_HETMET_CODETYPES, + gHC_HETMET_PRIVATE, + gHC_HETMET_GARROW, gHC_TUPLE, dATA_TUPLE, dATA_EITHER, dATA_STRING, dATA_FOLDABLE, dATA_TRAVERSABLE, gHC_CONC, gHC_IO, gHC_IO_Exception, gHC_ST, gHC_ARR, gHC_STABLE, gHC_PTR, gHC_ERR, gHC_REAL, @@ -300,6 +308,9 @@ gHC_READ = mkBaseModule (fsLit "GHC.Read") gHC_NUM = mkBaseModule (fsLit "GHC.Num") gHC_INTEGER = mkIntegerModule (fsLit "GHC.Integer") gHC_INTEGER_TYPE= mkIntegerModule (fsLit "GHC.Integer.Type") +gHC_HETMET_CODETYPES = mkBaseModule (fsLit "GHC.HetMet.CodeTypes") +gHC_HETMET_PRIVATE = mkBaseModule (fsLit "GHC.HetMet.Private") +gHC_HETMET_GARROW = mkBaseModule (fsLit "Control.GArrow") gHC_LIST = mkBaseModule (fsLit "GHC.List") gHC_TUPLE = mkPrimModule (fsLit "GHC.Tuple") dATA_TUPLE = mkBaseModule (fsLit "Data.Tuple") @@ -882,6 +893,19 @@ toPName pkg = varQual (gHC_PARR pkg) (fsLit "toP") toPId emptyPName pkg = varQual (gHC_PARR pkg) (fsLit "emptyP") emptyPIdKey appPName pkg = varQual (gHC_PARR pkg) (fsLit "+:+") appPIdKey +-- code type things +hetmet_brak_name, hetmet_esc_name, hetmet_csp_name :: Name +hetmet_kappa_name, hetmet_kappa_app_name :: Name +hetmet_guest_integer_literal_name, hetmet_guest_string_literal_name, hetmet_guest_char_literal_name :: Name +hetmet_brak_name = varQual gHC_HETMET_CODETYPES (fsLit "hetmet_brak") hetmet_brak_key +hetmet_esc_name = varQual gHC_HETMET_CODETYPES (fsLit "hetmet_esc") hetmet_esc_key +hetmet_csp_name = varQual gHC_HETMET_CODETYPES (fsLit "hetmet_csp") hetmet_csp_key +hetmet_kappa_name = varQual gHC_HETMET_CODETYPES (fsLit "hetmet_kappa") hetmet_kappa_key +hetmet_kappa_app_name = varQual gHC_HETMET_CODETYPES (fsLit "hetmet_kappa_app") hetmet_kappa_app_key +hetmet_guest_integer_literal_name = varQual gHC_HETMET_CODETYPES (fsLit "guestIntegerLiteral") hetmet_guest_integer_literal_key +hetmet_guest_string_literal_name = varQual gHC_HETMET_CODETYPES (fsLit "guestStringLiteral") hetmet_guest_string_literal_key +hetmet_guest_char_literal_name = varQual gHC_HETMET_CODETYPES (fsLit "guestCharLiteral") hetmet_guest_char_literal_key + -- IO things ioTyConName, ioDataConName, thenIOName, bindIOName, returnIOName, failIOName :: Name @@ -1286,6 +1310,10 @@ parrDataConKey = mkPreludeDataConUnique 24 leftDataConKey, rightDataConKey :: Unique leftDataConKey = mkPreludeDataConUnique 25 rightDataConKey = mkPreludeDataConUnique 26 + +-- Data constructor for Heterogeneous Metaprogramming code types +hetMetCodeTypeDataConKey :: Unique +hetMetCodeTypeDataConKey = mkPreludeDataConUnique 27 \end{code} %************************************************************************ @@ -1490,6 +1518,24 @@ liftMIdKey = mkPreludeMiscIdUnique 132 groupMIdKey = mkPreludeMiscIdUnique 133 mzipIdKey = mkPreludeMiscIdUnique 134 +-- code types +hetMetCodeTypeTyConKey :: Unique +hetMetCodeTypeTyConKey = mkPreludeTyConUnique 135 +hetMetKappaTyConKey :: Unique +hetMetKappaTyConKey = mkPreludeTyConUnique 137 + +hetmet_guest_integer_literal_key, hetmet_guest_string_literal_key, hetmet_guest_char_literal_key :: Unique +hetmet_guest_integer_literal_key = mkPreludeMiscIdUnique 138 +hetmet_guest_string_literal_key = mkPreludeMiscIdUnique 139 +hetmet_guest_char_literal_key = mkPreludeMiscIdUnique 140 + +hetmet_brak_key, hetmet_esc_key, hetmet_csp_key :: Unique +hetmet_brak_key = mkPreludeMiscIdUnique 141 +hetmet_esc_key = mkPreludeMiscIdUnique 143 +hetmet_csp_key = mkPreludeMiscIdUnique 145 +hetmet_kappa_key = mkPreludeMiscIdUnique 146 +hetmet_kappa_app_key = mkPreludeMiscIdUnique 147 + ---------------- Template Haskell ------------------- -- USES IdUniques 200-499 @@ -1505,7 +1551,7 @@ mzipIdKey = mkPreludeMiscIdUnique 134 \begin{code} numericTyKeys :: [Unique] -numericTyKeys = +numericTyKeys = [ wordTyConKey , intTyConKey , integerTyConKey