[move all the type definitions out of Foreign.C.Types 
John Meacham <john@repetae.net>**20120124063615
 Ignore-this: e6fa44641511d91e97231927fd794862
] hunk ./Makefile.am 220
-jhc-prim-1.0.hl: lib/jhc-prim/jhc-prim.yaml lib/jhc-prim/Jhc/Prim/Prim.hs lib/jhc-prim/Jhc/Prim/IO.hs lib/jhc-prim/Jhc/Prim/Words.hs lib/jhc-prim/Jhc/Prim/Bits.hs
+jhc-prim-1.0.hl: lib/jhc-prim/jhc-prim.yaml
hunk ./Makefile.am 311
-jhc-1.0.hl: lib/jhc/jhc.yaml lib/jhc/Jhc/Prim.hs lib/jhc/Jhc/IO.hs lib/jhc/Jhc/Int.hs \
-    lib/jhc/Jhc/Inst/Enum.hs lib/jhc/Data/Int.hs lib/jhc/Prelude/IO.hs lib/jhc/Jhc/Order.hs \
-    lib/jhc/System/C/Stdio.hs lib/jhc/Jhc/JumpPoint.hs lib/jhc/Data/Word.hs lib/jhc/Foreign/C/String.hs \
-    lib/jhc/Jhc/Show.hs lib/jhc/Jhc/Handle.hs lib/jhc/Jhc/Addr.hs lib/jhc/Numeric.hs \
-    lib/jhc/Jhc/Float.hs lib/jhc/Jhc/Inst/Storable.hs lib/jhc/Foreign/C/Types.hs lib/jhc/Data/Ratio.hs \
-    lib/jhc/Jhc/Hole.hs lib/jhc/Data/Char.hs lib/jhc/Jhc/List.hs lib/jhc/Foreign/Marshal/Utils.hs \
-    lib/jhc/Jhc/Basics.hs lib/jhc/System/Mem.hs lib/jhc/Prelude.hs lib/jhc/Jhc/Num.hs \
-    lib/jhc/Jhc/Text/Read.hs lib/jhc/Foreign/C/Error.hs lib/jhc/Foreign/Storable.hs lib/jhc/Foreign/Ptr.hs \
-    lib/jhc/Jhc/Inst/Order.hs lib/jhc/Jhc/Enum.hs lib/jhc/Jhc/Tuples.hs lib/jhc/Jhc/String.hs \
-    lib/jhc/Prelude/Float.hs lib/jhc/Jhc/Inst/PrimEnum.hs lib/jhc/Jhc/Inst/Show.hs lib/jhc/Jhc/Array.hs \
-    lib/jhc/Prelude/Text.hs lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Array.hs \
-    lib/jhc/Jhc/Options.hs lib/jhc/Prelude/CType.hs lib/jhc/Jhc/Monad.hs lib/jhc/System/IO/Unsafe.hs \
-    lib/jhc/System/Mem/StableName.hs lib/jhc/Jhc/Inst/Read.hs lib/jhc/Jhc/Maybe.hs
+jhc-1.0.hl: lib/jhc/jhc.yaml lib/jhc/Jhc/Prim.hs lib/jhc/Jhc/IO.hs lib/jhc/Jhc/Int.hs lib/jhc/Jhc/Inst/Enum.hs \
+    lib/jhc/Data/Int.hs lib/jhc/Prelude/IO.hs lib/jhc/Jhc/Order.hs lib/jhc/System/C/Stdio.hs lib/jhc/Data/Word.hs \
+    lib/jhc/Foreign/C/String.hs lib/jhc/Jhc/Show.hs lib/jhc/Jhc/Handle.hs lib/jhc/Jhc/Addr.hs lib/jhc/Numeric.hs \
+    lib/jhc/Jhc/Float.hs lib/jhc/Jhc/Inst/Storable.hs lib/jhc/Jhc/Inst/Num.hs lib/jhc/Foreign/C/Types.hs lib/jhc/Data/Ratio.hs \
+    lib/jhc/Data/Char.hs lib/jhc/Jhc/List.hs lib/jhc/Jhc/Type/Float.hs lib/jhc/Foreign/Marshal/Utils.hs lib/jhc/Jhc/Basics.hs \
+    lib/jhc/System/Mem.hs lib/jhc/Jhc/Type/Basic.hs lib/jhc/Prelude.hs lib/jhc/Jhc/Num.hs lib/jhc/Jhc/Text/Read.hs \
+    lib/jhc/Jhc/Type/Ptr.hs lib/jhc/Foreign/C/Error.hs lib/jhc/Foreign/Storable.hs lib/jhc/Foreign/Ptr.hs lib/jhc/Jhc/Inst/Order.hs \
+    lib/jhc/Jhc/Enum.hs lib/jhc/Jhc/Type/Handle.hs lib/jhc/Jhc/Tuples.hs lib/jhc/Jhc/String.hs lib/jhc/Prelude/Float.hs \
+    lib/jhc/Jhc/Type/C.hs lib/jhc/Jhc/Inst/PrimEnum.hs lib/jhc/Jhc/Inst/Show.hs lib/jhc/Jhc/Array.hs lib/jhc/Prelude/Text.hs \
+    lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Array.hs lib/jhc/Jhc/Options.hs lib/jhc/Prelude/CType.hs lib/jhc/Jhc/Monad.hs \
+    lib/jhc/System/IO/Unsafe.hs lib/jhc/System/Mem/StableName.hs lib/jhc/Jhc/Inst/Read.hs lib/jhc/Jhc/Maybe.hs jhc-prim-1.0.hl
+jhc-prim-1.0.hl: lib/jhc-prim/jhc-prim.yaml lib/jhc-prim/Jhc/Prim/IO.hs lib/jhc-prim/Jhc/Prim/Prim.hs lib/jhc-prim/Jhc/Prim/Wrapper.hs lib/jhc-prim/Jhc/Prim/Bits.hs
hunk ./lib/jhc-prim/Jhc/Prim/Bits.hs 25
-data BitsShort_ :: #
-data BitsInt_   :: #
-data BitsLong_  :: #
-data BitsLLong_ :: #
-
-data BitsSize_  :: #
-data BitsWchar_ :: #
-
hunk ./lib/jhc/Foreign/C/Error.hs 92
-import Foreign.Storable
-import Foreign.Ptr
-import Foreign.C.Types
hunk ./lib/jhc/Foreign/C/Error.hs 93
-import Jhc.Order
-import Jhc.Num
+import Foreign.C.Types
+import Foreign.Ptr
+import Foreign.Storable
hunk ./lib/jhc/Foreign/C/Error.hs 97
-import Jhc.Monad
hunk ./lib/jhc/Foreign/C/Error.hs 100
-
+import Jhc.Monad
+import Jhc.Num
+import Jhc.Order
+import Jhc.Type.C
hunk ./lib/jhc/Foreign/C/Error.hs 108
--- "errno" type
--- ------------
-
--- | Haskell representation for @errno@ values.
--- The implementation is deliberately exposed, to allow users to add
--- their own definitions of 'Errno' values.
-
-newtype Errno = Errno CInt
hunk ./lib/jhc/Foreign/C/Types.hs 9
-import Data.Word
hunk ./lib/jhc/Foreign/C/Types.hs 10
-
-data CChar
-data CSChar
-data CUChar
-
-data CInt
-data CUInt
-
-data CPtrdiff
-data CSize
-data CSigAtomic
-data CClock
-data CTime
-data CFloat
-data CDouble
-data CLDouble
hunk ./lib/jhc/Jhc/Inst/Storable.hs 40
---type BitsWchar_ = Bits32_
---type BitsSize_ = BitsPtr_
---type BitsInt_ = Bits32_
-
hunk ./lib/jhc/Jhc/Inst/Storable.hs 43
-INST_STORABLE_XXX(CInt,BitsInt_,bits<int>)
-INST_STORABLE_XXX(CUInt,BitsInt_,bits<int>)
---XINST_STORABLE_XXX(CWchar,BitsWchar_,bits<wchar_t>)
+INST_STORABLE_XXX(CInt,Bits32_,bits<int>)
+INST_STORABLE_XXX(CUInt,Bits32_,bits<int>)
hunk ./lib/jhc/Jhc/Inst/Storable.hs 46
---XINST_STORABLE_XXX(CWchar,BitsWchar_,bits32)
-INST_STORABLE_XXX(CSize,BitsSize_,bits<size_t>)
+INST_STORABLE_XXX(CSize,BitsPtr_,bits<size_t>)
hunk ./lib/jhc/Jhc/Type/C.hs 6
-newtype CLLong = CLLong IntMax
-newtype CULLong = CULLong WordMax
-newtype CLong = CLong IntPtr
-newtype CULong = CULong WordPtr
-newtype CShort = CShort Int16
-newtype CUShort = CUShort Word16
-newtype CWchar = CWchar Word32
-newtype CWint = CWint Int32
-newtype CIntMax = CIntMax IntMax
+import Jhc.Type.Float
+
+-- | Haskell representation for @errno@ values.
+-- The implementation is deliberately exposed, to allow users to add
+-- their own definitions of 'Errno' values.
+newtype Errno = Errno CInt
+
+newtype CChar    = CChar Int8
+newtype CSChar   = CSChar Int8
+newtype CUChar   = CUChar Word8
+newtype CInt     = CInt Int
+newtype CUInt    = CUInt Word
+newtype CLLong   = CLLong IntMax
+newtype CULLong  = CULLong WordMax
+newtype CLong    = CLong IntPtr
+newtype CULong   = CULong WordPtr
+newtype CShort   = CShort Int16
+newtype CUShort  = CUShort Word16
+newtype CWchar   = CWchar Word32
+newtype CWint    = CWint Int32
+newtype CIntMax  = CIntMax IntMax
hunk ./lib/jhc/Jhc/Type/C.hs 28
-newtype CIntPtr = CIntPtr IntPtr
+newtype CIntPtr  = CIntPtr IntPtr
hunk ./lib/jhc/Jhc/Type/C.hs 30
+newtype CFloat   = CFloat Float
+newtype CDouble  = CDouble Double
+newtype CLDouble = CLDouble Double
+newtype CSize    = CSize WordPtr
+newtype CPtrdiff = CPtrdiff IntPtr
+newtype CTime    = CTime IntMax
+newtype CClock   = CClock IntMax
hunk ./lib/jhc/Jhc/Type/C.hs 41
+data CSigAtomic
hunk ./src/DataConstructors.hs 895
-    (tc_Char,"wchar_t"),
hunk ./src/DataConstructors.hs 927
-
hunk ./src/DataConstructors.hs 936
+    (tc_CClock, "clock_t"),
hunk ./src/data/names.txt 36
+CChar      Jhc.Type.C.CChar
+CSChar     Jhc.Type.C.CSChar
+CUChar     Jhc.Type.C.CUChar
hunk ./src/data/names.txt 40
-CSChar     Foreign.C.Types.CSChar
-CUChar     Foreign.C.Types.CUChar
-
+CInt      Jhc.Type.C.CInt
+CUInt     Jhc.Type.C.CUInt
+CTime     Jhc.Type.C.CTime
+CSize     Jhc.Type.C.CSize
+CClock    Jhc.Type.C.CClock
hunk ./src/data/primitives.txt 21
-Foreign.C.Types.CChar, bits8
-Foreign.C.Types.CSChar, bits8
-Foreign.C.Types.CUChar, bits8
-#Foreign.C.Types.CShort, bits<short>
-Foreign.C.Types.CInt, bits<int>
-Foreign.C.Types.CUInt, bits<int>
-#Foreign.C.Types.CULong, bits<ptr>
-Foreign.C.Types.CSize, bits<size_t>
-#Foreign.C.Types.CWchar, bits<wchar_t>
-#Foreign.C.Types.CWint, bits<wchar_t>
-Foreign.C.Types.CTime, bits<time_t>
-
-