[add primitive string type
John Meacham <john@repetae.net>**20061213061444] hunk ./C/FromGrin.hs 86
+    PrimString s -> return $ expressionRaw (show s)
hunk ./C/Prims.hs 3
-import C.FFI(Requires(..))
-import Data.Monoid
hunk ./C/Prims.hs 4
+import Data.Monoid
+
hunk ./C/Prims.hs 7
+import C.FFI(Requires(..))
hunk ./C/Prims.hs 10
-
+import PackedString
hunk ./C/Prims.hs 38
+    | PrimString PackedString                                 -- address of a raw string. encoded in utf8.
hunk ./C/Prims.hs 46
+instance Data PackedString where
+
hunk ./C/Prims.hs 68
+primIsConstant PrimString {} = True
hunk ./C/Prims.hs 80
+primEagerSafe PrimString {} = True
hunk ./C/Prims.hs 115
+    pprint (PrimString s) = tshow s <> char '#'
hunk ./E/FromHs.hs 24
-import FrontEnd.Class
hunk ./E/FromHs.hs 39
+import FrontEnd.Class
hunk ./E/FromHs.hs 41
-import FrontEnd.Syn.Traverse(getNamesFromHsPat)
hunk ./E/FromHs.hs 42
+import FrontEnd.Syn.Traverse(getNamesFromHsPat)
+import FrontEnd.Tc.Main(isTypePlaceholder)
hunk ./E/FromHs.hs 46
-import FrontEnd.Tc.Main(isTypePlaceholder)
-import qualified FrontEnd.Tc.Type as Type
hunk ./E/FromHs.hs 53
+import PackedString
hunk ./E/FromHs.hs 63
+import qualified FrontEnd.Tc.Type as Type
hunk ./E/FromHs.hs 451
+    cExpr (HsLit (HsStringPrim s)) = return $ EPrim (APrim (PrimString (packString s)) mempty) [] (rawType "HsPtr")
hunk ./E/ToHs.hs 290
+transE (EPrim (APrim (PrimString ss)  _) [] _) = return (tshow ss <> text "#")
hunk ./FrontEnd/Tc/Main.hs 173
+
hunk ./FrontEnd/Tc/Main.hs 847
+tiLit (HsStringPrim _)  = return (TCon (Tycon tc_Addr__ kindHash))