[commit: ghc] cardinality: rollback (88d6a4a)

Ilya Sergey <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : cardinality

http://hackage.haskell.org/trac/ghc/changeset/88d6a4a5149e311a52604c6a67a9ff3b539b094d

>---------------------------------------------------------------

commit 88d6a4a5149e311a52604c6a67a9ff3b539b094d
Author: Ilya Sergey <[email protected]>
Date:   Tue Sep 4 01:56:46 2012 +0100

    rollback

>---------------------------------------------------------------

 compiler/basicTypes/Demand.lhs |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs
index 5a90f49..e512ef5 100644
--- a/compiler/basicTypes/Demand.lhs
+++ b/compiler/basicTypes/Demand.lhs
@@ -307,8 +307,9 @@ instance LatticeLike AbsDmd where
   both (UProd _ ux1) (UProd _ ux2)
      | length ux1 == length ux2    = absProd Many $ zipWith both ux1 ux2
   -- is it correct? -- explain! 
-  both (UCall _ u1) (UCall _ u2)   = absCall Many (u1 `lub` u2)
-  --both (UCall _ u1) (UCall _ u2)   = absCall Many (u1 `both` u2)
+  -- possibly, wrong...
+  --both (UCall _ u1) (UCall _ u2)   = absCall Many (u1 `lub` u2)
+  both (UCall _ u1) (UCall _ u2)   = absCall Many (u1 `both` u2)
   both _ _                         = top
 
 -- utility functions
@@ -532,7 +533,7 @@ should be: <L,C(U(AU))>m
 
 mkCallDmd :: JointDmd -> JointDmd
 mkCallDmd (JD {strd = d, absd = a}) 
-          = mkJointDmd (strCall d) (absCall One a)
+          = mkJointDmd (strCall d) (absCall Many a)
 
 -- TODO: think how to peel
 peelCallDmd :: JointDmd -> Maybe JointDmd
@@ -556,13 +557,11 @@ isSingleShot :: JointDmd -> Bool
 isSingleShot (JD {absd=a}) = isUsedOnce a
   
 vanillaCall :: Arity -> Demand
-vanillaCall 0 = 
-      -- we have no ide how many times the result is going to be used
-      evalDmd
+vanillaCall 0 = onceEvalDmd
 vanillaCall n =
   -- generate C^n (S)  
   let strComp = (iterate strCall strStr) !! n
-      absComp = (iterate (absCall One) usedOnce) !! n
+      absComp = (iterate (absCall Many) usedOnce) !! n
    in mkJointDmd strComp absComp
 
 \end{code}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.