[commit: base] master: Comments ony (b7c8017)
Simon Peyton Jones
simonpj at microsoft.com
Mon Aug 13 18:32:41 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/b7c8017ac1dfb34deb4791d1a719f6a7d165a5a1
>---------------------------------------------------------------
commit b7c8017ac1dfb34deb4791d1a719f6a7d165a5a1
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon Aug 13 17:32:23 2012 +0100
Comments ony
>---------------------------------------------------------------
GHC/Base.lhs | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/GHC/Base.lhs b/GHC/Base.lhs
index ce47cd0..42978b1 100644
--- a/GHC/Base.lhs
+++ b/GHC/Base.lhs
@@ -363,8 +363,10 @@ augment g xs = g (:) xs
-- > map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
-- > map f [x1, x2, ...] == [f x1, f x2, ...]
-{-# NOINLINE [1] map #-}
map :: (a -> b) -> [a] -> [b]
+{-# NOINLINE [1] map #-} -- We want the RULE to fire first.
+ -- It's recursive, so won't inline anyway,
+ -- but saying so is more explicit
map _ [] = []
map f (x:xs) = f x : map f xs
@@ -410,8 +412,10 @@ mapFB c f = \x ys -> c (f x) ys
--
-- If the first list is not finite, the result is the first list.
-{-# NOINLINE [1] (++) #-}
(++) :: [a] -> [a] -> [a]
+{-# NOINLINE [1] (++) #-} -- We want the RULE to fire first.
+ -- It's recursive, so won't inline anyway,
+ -- but saying so is more explicit
(++) [] ys = ys
(++) (x:xs) ys = x : xs ++ ys
More information about the Cvs-libraries
mailing list