[clean up Atom.hsc some, make the internal name format use pritable characters when creating atoms to aid in debugging.
John Meacham <john@repetae.net>**20080213054653] hunk ./Name/Name.hs 18
+    isTypeNamespace,
+    isValNamespace,
hunk ./Name/Name.hs 26
-import Char
-import Monad(liftM)
+import Data.Char
hunk ./Name/Name.hs 76
-createName t m i = Name $  toAtom $ (chr $ fromEnum t):m ++ "\NUL" ++ i
+createName t m i = Name $  toAtom $ (chr $  ord '1' + fromEnum t):m ++ ";" ++ i
hunk ./Name/Name.hs 79
-createUName t i =  Name $ toAtom $ (chr $ fromEnum t):"\NUL" ++ i
+createUName t i =  Name $ toAtom $ (chr $ fromEnum t + ord '1'):";" ++ i
hunk ./Name/Name.hs 146
-nameType (Name a) = toEnum (ord (head (fromAtom a)))
+nameType (Name a) = toEnum $ fromIntegral ( a `unsafeByteIndex` 0)  - ord '1'
hunk ./Name/Name.hs 150
-    f ('\NUL':xs) = UnQual $ HsIdent xs
-    f xs | (a,_:b) <- span (/= '\NUL') xs  = Qual (Module a) (HsIdent b)
+    f (';':xs) = UnQual $ HsIdent xs
+    f xs | (a,_:b) <- span (/= ';') xs  = Qual (Module a) (HsIdent b)
hunk ./Name/Name.hs 156
-    f ('\NUL':xs) = (nameType n,Nothing,xs)
+    f (';':xs) = (nameType n,Nothing,xs)
hunk ./Name/Name.hs 158
-        (a,_:b) = span (/= '\NUL') xs
+        (a,_:b) = span (/= ';') xs
hunk ./StringTable/Atom.hsc 11
+    unsafeByteIndex,
hunk ./StringTable/Atom.hsc 26
-import System.IO.Unsafe
hunk ./StringTable/Atom.hsc 142
+unsafeByteIndex :: Atom -> Int -> Word8
+unsafeByteIndex atom off = fromIntegral (unsafePerformIO $ peek (stPtr atom `advancePtr` off))
+
hunk ./StringTable/StringTable_cbits.c 7
-#include <pthread.h>
hunk ./StringTable/StringTable_cbits.c 10
-#include "StringTable_cbits.h"
+
+#define USE_THREADS 0
+
+#if USE_THREADS
+
+#include <pthread.h>
hunk ./StringTable/StringTable_cbits.c 20
+#else
+
hunk ./StringTable/StringTable_cbits.c 25
+#endif
+
+#include "StringTable_cbits.h"
hunk ./StringTable/StringTable_cbits.c 129
+#ifndef NDEBUG
+
hunk ./StringTable/StringTable_cbits.c 150
+#endif
+
hunk ./StringTable/StringTable_cbits.c 204
-        if(item_exists(ATOM_PTR(x.atom),ATOM_LEN(x.atom)))
-            dump_table();