[start moving definitions to jhc-prim
John Meacham <john@repetae.net>**20120122042237
 Ignore-this: bcafd0217030cd2ad2f3f62ac48bb971
] move ./lib/jhc-prim/Jhc/Prim.hs ./lib/jhc-prim/Jhc/Prim/Prim.hs
hunk ./Makefile.am 220
-jhc-prim-1.0.hl: lib/jhc-prim/jhc-prim.yaml lib/jhc-prim/Jhc/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 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
hunk ./Makefile.am 222
-jhc-1.0.hl: lib/jhc/jhc.yaml
+jhc-1.0.hl: lib/jhc/jhc.yaml jhc-prim-1.0.hl
hunk ./Makefile.am 321
-    lib/jhc/Prelude/Text.hs lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Array.hs lib/jhc/Jhc/Types.hs \
+    lib/jhc/Prelude/Text.hs lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Array.hs \
hunk ./lib/jhc-prim/Jhc/Prim/Prim.hs 1
-module Jhc.Prim where
+module Jhc.Prim.Prim where
hunk ./lib/jhc-prim/jhc-prim.yaml 10
-        - Jhc.Prim
+        - Jhc.Prim.Prim
hunk ./lib/jhc/Foreign/Ptr.hs 18
-
-import Jhc.Show
+import Data.Word
+import Foreign.Storable
+import Jhc.Addr
+import Jhc.Basics
+import Jhc.IO
hunk ./lib/jhc/Foreign/Ptr.hs 25
-import Jhc.Order
-import Jhc.IO
-import Jhc.Basics
hunk ./lib/jhc/Foreign/Ptr.hs 26
-import Jhc.Addr
-import Foreign.Storable
-import Data.Word
-import Jhc.Types
-
+import Jhc.Order
+import Jhc.Prim.Bits
+import Jhc.Show
hunk ./lib/jhc/Foreign/Ptr.hs 33
-
hunk ./lib/jhc/Foreign/Ptr.hs 49
-
hunk ./lib/jhc/Foreign/Storable.hs 4
-
-import Jhc.Types
-import Jhc.Basics
hunk ./lib/jhc/Foreign/Storable.hs 5
-import Jhc.Int
+import Jhc.Basics
hunk ./lib/jhc/Foreign/Storable.hs 7
+import Jhc.Int
+import Jhc.Prim.Bits
hunk ./lib/jhc/Foreign/Storable.hs 31
-
hunk ./lib/jhc/Jhc/Addr.hs 3
-
hunk ./lib/jhc/Jhc/Addr.hs 17
-import Jhc.Types
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Addr.hs 32
-
hunk ./lib/jhc/Jhc/Addr.hs 41
-
hunk ./lib/jhc/Jhc/Addr.hs 47
-
hunk ./lib/jhc/Jhc/Enum.hs 5
-import Jhc.Inst.PrimEnum()
hunk ./lib/jhc/Jhc/Enum.hs 6
-import Jhc.Types
hunk ./lib/jhc/Jhc/Enum.hs 7
-import Jhc.Order
+import Jhc.Inst.PrimEnum()
hunk ./lib/jhc/Jhc/Enum.hs 9
+import Jhc.Order
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Enum.hs 37
-
hunk ./lib/jhc/Jhc/Enum.hs 63
-
hunk ./lib/jhc/Jhc/Enum.hs 82
-
hunk ./lib/jhc/Jhc/Float.hs 16
-import Jhc.Int
+import Jhc.Enum
hunk ./lib/jhc/Jhc/Float.hs 18
+import Jhc.Inst.Num
+import Jhc.Int
hunk ./lib/jhc/Jhc/Float.hs 22
-import Jhc.Types
-import Jhc.Enum
-import Jhc.Inst.Num
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Float.hs 29
-
hunk ./lib/jhc/Jhc/Float.hs 53
-
-
hunk ./lib/jhc/Jhc/Float.hs 59
-
-
hunk ./lib/jhc/Jhc/Float.hs 90
-
hunk ./lib/jhc/Jhc/Float.hs 136
-
-
hunk ./lib/jhc/Jhc/Float.hs 142
-
hunk ./lib/jhc/Jhc/Float.hs 205
-
-
hunk ./lib/jhc/Jhc/Float.hs 214
-
-
hunk ./lib/jhc/Jhc/Inst/PrimEnum.hs 9
-
-import Jhc.Prim
hunk ./lib/jhc/Jhc/Inst/PrimEnum.hs 10
-import Jhc.Types
-
+import Jhc.Prim
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Inst/Storable.hs 4
-
-
hunk ./lib/jhc/Jhc/Inst/Storable.hs 11
-import Jhc.Int
hunk ./lib/jhc/Jhc/Inst/Storable.hs 12
+import Jhc.Int
hunk ./lib/jhc/Jhc/Inst/Storable.hs 14
-import Jhc.Types
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Inst/Storable.hs 21
-
hunk ./lib/jhc/Jhc/Options.hs 15
-import Jhc.Order
+import Jhc.Basics
hunk ./lib/jhc/Jhc/Options.hs 17
+import Jhc.Order
hunk ./lib/jhc/Jhc/Options.hs 19
-import Jhc.Types
-import Jhc.Basics
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Options.hs 24
-
-
-
hunk ./lib/jhc/Jhc/Options.hs 32
-
hunk ./lib/jhc/Jhc/Options.hs 37
-
hunk ./lib/jhc/Jhc/Order.hs 3
-
hunk ./lib/jhc/Jhc/Order.hs 14
-
hunk ./lib/jhc/Jhc/Order.hs 16
-import Jhc.Types
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Order.hs 58
-
hunk ./lib/jhc/Jhc/Order.hs 97
-
hunk ./lib/jhc/Jhc/Order.hs 101
-
hunk ./lib/jhc/Jhc/Order.hs 111
-
hunk ./lib/jhc/Jhc/Order.hs 114
-
hunk ./lib/jhc/Jhc/Prim.hs 1
-{-# OPTIONS_JHC -fno-prelude -fffi -funboxed-tuples #-}
hunk ./lib/jhc/Jhc/Prim.hs 2
-module Jhc.Prim where
-
--- this module is always included in all programs compiled by jhc. it defines some things that are needed to make jhc work at all.
+module Jhc.Prim(module Jhc.Prim.Bits, module Jhc.Prim) where
hunk ./lib/jhc/Jhc/Prim.hs 4
+import Jhc.Prim.Bits
hunk ./lib/jhc/Jhc/Prim.hs 6
-import Jhc.Types
hunk ./lib/jhc/Jhc/Prim.hs 23
--- these exist simply to modify the calling
--- convention with unboxed types
-newtype Addr_ = Addr_ BitsPtr_
-newtype FunAddr_ = FunAddr_ BitsPtr_
-
hunk ./lib/jhc/Jhc/Types.hs 1
-{-# LANGUAGE NoImplicitPrelude #-}
-module Jhc.Types where
-
-data Bits1_ :: #
-
-data Bits8_   :: #
-data Bits16_  :: #
-data Bits32_  :: #
-data Bits64_  :: #
-data Bits128_ :: #
-data BitsPtr_ :: #
-data BitsMax_ :: #
-
-data Float32_ :: #
-data Float64_ :: #
-data Float80_ :: #
-data Float128_ :: #
-
-data BitsShort_ :: #
-data BitsInt_ :: #
-data BitsLong_ :: #
-data BitsLLong_ :: #
-
-data BitsSize_ :: #
-data BitsWchar_ :: #
rmfile ./lib/jhc/Jhc/Types.hs
hunk ./lib/jhc/Prelude/Float.hs 5
-import Jhc.Order
-import Jhc.Basics
-import Jhc.Monad
-import Jhc.IO
-import Jhc.Float
-import Jhc.Num
-import Jhc.Types
hunk ./lib/jhc/Prelude/Float.hs 6
-import Foreign.Storable
hunk ./lib/jhc/Prelude/Float.hs 7
-import Foreign.Ptr
hunk ./lib/jhc/Prelude/Float.hs 8
-import Numeric
-import Prelude.Text
+import Foreign.Ptr
+import Foreign.Storable
+import Jhc.Basics
+import Jhc.Float
+import Jhc.IO
hunk ./lib/jhc/Prelude/Float.hs 14
+import Jhc.Monad
+import Jhc.Num
+import Jhc.Order
+import Jhc.Prim.Bits
+import Numeric
hunk ./lib/jhc/Prelude/Float.hs 20
-
-
-
+import Prelude.Text
hunk ./lib/jhc/Prelude/Float.hs 24
-
hunk ./lib/jhc/Prelude/Float.hs 71
-
hunk ./lib/jhc/Prelude/Float.hs 88
-
hunk ./lib/jhc/Prelude/Float.hs 94
-
hunk ./lib/jhc/Prelude/Float.hs 114
-
hunk ./lib/jhc/Prelude/Float.hs 124
-
-
-
hunk ./lib/jhc/Prelude/Float.hs 153
-
-
-
hunk ./lib/jhc/Prelude/Float.hs 179
-
hunk ./lib/jhc/Prelude/Float.hs 181
-
-
hunk ./lib/jhc/Prelude/Float.hs 185
-
-
hunk ./lib/jhc/Prelude/Float.hs 204
-
hunk ./lib/jhc/Prelude/Float.hs 277
-
hunk ./lib/jhc/System/Mem/StableName.hs 7
-import Jhc.Types
+import Jhc.Prim.Bits
hunk ./lib/jhc/jhc.yaml 5
-Options: --noauto
+Options: [ --noauto, -pjhc-prim ]
hunk ./lib/jhc/jhc.yaml 46
-        - Jhc.Types
hunk ./src/DataConstructors.hs 885
+    (tc_Char_,"wchar_t"),
hunk ./src/Ho/Build.hs 192
-        Just (ModLibrary False _ lib) | m /= Module "Jhc.Prim" -> putErrDie $ printf  "ERROR: Attempt to import module '%s' which is a member of the library '%s'." (show m) (libName lib)
+        Just (ModLibrary False _ lib) | not ("jhc-prim-" `isPrefixOf` libName lib)  -> putErrDie $ printf  "ERROR: Attempt to import module '%s' which is a member of the library '%s'." (show m) (libName lib)
hunk ./src/Ho/Build.hs 620
-hsModuleRequires x = snub (Module "Jhc.Prim":ans) where
+--hsModuleRequires x = snub (Module "Jhc.Prim":ans) where
+hsModuleRequires x = snub (Module "Jhc.Prim.Bits":ans) where
+--hsModuleRequires x = snub ans where
hunk ./src/data/names.txt 43
-Bits1      Jhc.Types.Bits1_
-Bits8      Jhc.Types.Bits8_
-Bits16     Jhc.Types.Bits16_
-Bits32     Jhc.Types.Bits32_
-Bits64     Jhc.Types.Bits64_
-Bits128    Jhc.Types.Bits128_
-BitsPtr    Jhc.Types.BitsPtr_
-BitsMax    Jhc.Types.BitsMax_
+Bits1      Jhc.Prim.Bits.Bits1_
+Bits8      Jhc.Prim.Bits.Bits8_
+Bits16     Jhc.Prim.Bits.Bits16_
+Bits32     Jhc.Prim.Bits.Bits32_
+Bits64     Jhc.Prim.Bits.Bits64_
+Bits128    Jhc.Prim.Bits.Bits128_
+BitsPtr    Jhc.Prim.Bits.BitsPtr_
+BitsMax    Jhc.Prim.Bits.BitsMax_
hunk ./src/data/names.txt 52
-Float32    Jhc.Types.Float32_
-Float64    Jhc.Types.Float64_
-Float80    Jhc.Types.Float80_
-Float128   Jhc.Types.Float128_
+Float32    Jhc.Prim.Bits.Float32_
+Float64    Jhc.Prim.Bits.Float64_
+Float80    Jhc.Prim.Bits.Float80_
+Float128   Jhc.Prim.Bits.Float128_
hunk ./src/data/names.txt 57
-BitsShort  Jhc.Types.BitsShort_
-BitsInt    Jhc.Types.BitsInt_
-BitsLong   Jhc.Types.BitsLong_
-BitsLLong  Jhc.Types.BitsLLong_
-BitsSize   Jhc.Types.BitsSize_
-BitsWchar  Jhc.Types.BitsWchar_
+BitsShort  Jhc.Prim.Bits.BitsShort_
+BitsInt    Jhc.Prim.Bits.BitsInt_
+BitsLong   Jhc.Prim.Bits.BitsLong_
+BitsLLong  Jhc.Prim.Bits.BitsLLong_
+BitsSize   Jhc.Prim.Bits.BitsSize_
+BitsWchar  Jhc.Prim.Bits.BitsWchar_
hunk ./src/data/names.txt 64
-Addr_      Jhc.Prim.Addr_
-FunAddr_   Jhc.Prim.FunAddr_
+Addr_      Jhc.Prim.Bits.Addr_
+FunAddr_   Jhc.Prim.Bits.FunAddr_
+Char_      Jhc.Prim.Bits.Char_
hunk ./src/rts/lib_cbits.c 82
-    if (sizeof uintptr_t == sizeof uint32_t) {
+    if (sizeof(uintptr_t) == sizeof(uint32_t)) {