[commit: base] supercompiler: Mark some List modules SUPERINLINABLE (19f01f9)
Max Bolingbroke
batterseapower at hotmail.com
Thu Dec 6 17:32:22 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : supercompiler
http://hackage.haskell.org/trac/ghc/changeset/19f01f9a08ce198c0ad4a8d9ef7ce3bb79eb53a1
>---------------------------------------------------------------
commit 19f01f9a08ce198c0ad4a8d9ef7ce3bb79eb53a1
Author: Max Bolingbroke <batterseapower at hotmail.com>
Date: Tue Mar 27 13:34:52 2012 +0100
Mark some List modules SUPERINLINABLE
>---------------------------------------------------------------
Data/List.hs | 2 ++
GHC/Base.lhs | 3 +++
GHC/Enum.lhs | 2 ++
GHC/List.lhs | 2 ++
4 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/Data/List.hs b/Data/List.hs
index 9f5001f..cfe0d9d 100644
--- a/Data/List.hs
+++ b/Data/List.hs
@@ -226,6 +226,8 @@ import GHC.Base
infix 5 \\ -- comment to fool cpp
+{-# SUPERINLINABLE module #-}
+
-- -----------------------------------------------------------------------------
-- List functions
diff --git a/GHC/Base.lhs b/GHC/Base.lhs
index 6a36eb5..8279048 100644
--- a/GHC/Base.lhs
+++ b/GHC/Base.lhs
@@ -128,6 +128,8 @@ infixl 1 >>, >>=
infixr 0 $
default () -- Double isn't available yet
+
+{-# SUPERINLINABLE module #-}
\end{code}
@@ -281,6 +283,7 @@ foldr :: (a -> b -> b) -> b -> [a] -> b
-- ones we are keen about specialising!
foldr k z = go
where
+ {-# SUPERINLINABLE go #-}
go [] = z
go (y:ys) = y `k` go ys
diff --git a/GHC/Enum.lhs b/GHC/Enum.lhs
index cea3ced..9759f1b 100644
--- a/GHC/Enum.lhs
+++ b/GHC/Enum.lhs
@@ -43,6 +43,8 @@ default () -- Double isn't available yet
%*********************************************************
\begin{code}
+{-# SUPERINLINABLE module #-}
+
-- | The 'Bounded' class is used to name the upper and lower limits of a
-- type. 'Ord' is not a superclass of 'Bounded' since types that are not
-- totally ordered may also have upper and lower bounds.
diff --git a/GHC/List.lhs b/GHC/List.lhs
index d1954d8..c57bc2f 100644
--- a/GHC/List.lhs
+++ b/GHC/List.lhs
@@ -45,6 +45,8 @@ import GHC.Base
infixl 9 !!
infix 4 `elem`, `notElem`
+
+{-# SUPERINLINABLE module #-}
\end{code}
%*********************************************************
More information about the Cvs-libraries
mailing list