Make numericEnumFrom more efficient
authorIan Lynagh <igloo@earth.li>
Wed, 30 Jul 2008 20:20:49 +0000 (20:20 +0000)
committerIan Lynagh <igloo@earth.li>
Wed, 30 Jul 2008 20:20:49 +0000 (20:20 +0000)
GHC/Real.lhs

index 125f20e..248268a 100644 (file)
@@ -201,7 +201,7 @@ These 'numeric' enumerations come straight from the Report
 
 \begin{code}
 numericEnumFrom         :: (Fractional a) => a -> [a]
-numericEnumFrom n      =  numericEnumFromThen n (n + 1)
+numericEnumFrom n      =  n `seq` (n : numericEnumFrom (n + 1))
 
 numericEnumFromThen     :: (Fractional a) => a -> a -> [a]
 numericEnumFromThen n m        = n `seq` m `seq` (n : numericEnumFromThen m (m+m-n))