on master help sign in
Modify NFData for PrimArray and expose Prim
commit602011fb9af23b53a6407c066f5b708801f6684b authoradithyaov <adi.obilisetty@gmail.com> dateMon 20 Jan 2020, 18:47 (7 years ago) parent4008a26
2 files changed+5−3
src/Streamly/Data/PrimArray.hs+2−1 src/Streamly/Internal/Data/PrimArray.hs+3−2
src/Streamly/Data/PrimArray.hs+2−1
@@ -9,6 +9,7 @@
99--
1010module Streamly.Data.PrimArray
1111 ( PrimArray
12+ , Prim
1213
1314 -- * Construction
1415 , A.fromListN
@@ -38,6 +39,6 @@ module Streamly.Data.PrimArray
3839 )
3940where
4041
41−import Streamly.Internal.Data.PrimArray (PrimArray)
42+import Streamly.Internal.Data.PrimArray (PrimArray, Prim)
4243
4344import qualified Streamly.Internal.Data.PrimArray as A
src/Streamly/Internal/Data/PrimArray.hs+3−2
@@ -17,6 +17,7 @@
1717--
1818module Streamly.Internal.Data.PrimArray
1919 ( PrimArray(..)
20+ , Prim(..)
2021
2122 , foldl'
2223 , foldr
@@ -149,9 +150,9 @@ fromListN n xs = unsafePerformIO $ fromStreamDN n $ D.fromList xs
149150fromList :: Prim a => [a] -> PrimArray a
150151fromList xs = unsafePerformIO $ fromStreamD $ D.fromList xs
151152
152−instance NFData (PrimArray a) where
153+instance Prim a => NFData (PrimArray a) where
153154 {-# INLINE rnf #-}
154− rnf = const ()
155+ rnf = foldl' (\_ _ -> ()) ()
155156
156157{-# INLINE fromStreamN #-}
157158fromStreamN :: (MonadIO m, Prim a) => Int -> SerialT m a -> m (PrimArray a)