[give placeholders lazy demand signatures. non product constructors now examine arguments properly.
John Meacham <john@repetae.net>**20060718011725] hunk ./E/Demand.hs 28
+import Info.Types
hunk ./E/Demand.hs 268
-        (ne,ds) <- topAnalyze e
+        (ne,ds) <- topAnalyze t e
hunk ./E/Demand.hs 274
-                (ne,ds) <- topAnalyze e
+                (ne,ds) <- topAnalyze t e
hunk ./E/Demand.hs 289
-    (ecs,env :=> _) <- analyze (eCaseScrutinee ec') (S None)
+    (ecs,env :=> _) <- analyze (eCaseScrutinee ec') strict
hunk ./E/Demand.hs 298
-topAnalyze :: E -> IM (E,DemandSignature)
-topAnalyze e = clam e (S None) 0 where
+topAnalyze :: TVr -> E -> IM (E,DemandSignature)
+topAnalyze tvr e | getProperty prop_PLACEHOLDER tvr = return (e,lazySig)
+topAnalyze _tvr e = clam e strict 0 where
hunk ./E/Demand.hs 311
-            flip mapM ds $ \ (t,e) -> case (runIM (topAnalyze e) (progDataTable prog)) of
+            flip mapM ds $ \ (t,e) -> case (runIM (topAnalyze t e) (progDataTable prog)) of