[use new 'depeningOn' primitive rather than newWorld__ in array code
John Meacham <john@repetae.net>**20060222030358] hunk ./lib/Jhc/Array.hs 1
-module Jhc.Array where
+module Jhc.Array(
+    Array__(),
+    AT(),
+    seqAT__,
+    doneAT__,
+    newAT__,
+    writeAT__,
+    unsafeAt__,
+    newArray
+    where
hunk ./lib/Jhc/Array.hs 12
-import Jhc.IO(World__,newWorld__)
+import Jhc.IO(dependingOn)
hunk ./lib/Jhc/Array.hs 27
-newAT__ n (AT a1) = a1 (prim_newAT__ (newWorld__ a1) n)
+newAT__ n (AT a1) = a1 (prim_newAT__ (n `dependingOn` a1))
hunk ./lib/Jhc/Array.hs 33
-foreign import primitive prim_newAT__ :: World__ -> Int -> Array__ a
+foreign import primitive prim_newAT__ :: Int -> Array__ a
hunk ./lib/Jhc/IO.hs 6
-    drop__,
-    newWorld__,
+    dependingOn,
hunk ./lib/Jhc/IO.hs 100
+-- like 'const' but creates an artificial dependency on its second argument to guide optimization.
+dependingOn :: b -> a -> b
+dependingOn = flip drop__
+
hunk ./lib/Jhc/IO.hs 105
-foreign import primitive worldDep__ :: forall b. World__ -> b -> b
+foreign import primitive "drop__" worldDep__ :: forall b. World__ -> b -> b