add seq/replicate rule
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Sun, 8 May 2011 08:50:14 +0000 (09:50 +0100)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Sun, 8 May 2011 08:50:14 +0000 (09:50 +0100)
dph-prim-interface/interface/DPH_Interface.h

index 3b5c54b..127cb43 100644 (file)
@@ -40,6 +40,13 @@ generate n f = map f (enumFromTo 0 (n-1))
 replicate :: Elt a => Int -> a -> Array a
 {-# INLINE CONLIKE PHASE_BACKEND replicate #-}
 
+{-# RULES
+
+"seq/replicate" forall n x y.
+  seq (replicate n x) y = n `seq` x `seq` y
+
+ #-}
+
 
 -- | Produce an array by copying a portion of another array.
 repeat  :: Elt a