diff options
Diffstat (limited to 'testsuite/tests/simplCore/T9646/StrictPrim.hs')
-rw-r--r-- | testsuite/tests/simplCore/T9646/StrictPrim.hs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/testsuite/tests/simplCore/T9646/StrictPrim.hs b/testsuite/tests/simplCore/T9646/StrictPrim.hs index 5b83f2fcf1..e85e11e6fc 100644 --- a/testsuite/tests/simplCore/T9646/StrictPrim.hs +++ b/testsuite/tests/simplCore/T9646/StrictPrim.hs @@ -18,7 +18,10 @@ newtype StrictPrim s a instance Applicative (StrictPrim s) where {-# INLINE pure #-} - pure = return + pure !x = StrictPrim ( \ !s -> (# s, x #)) + + {-# INLINE (*>) #-} + (!m) *> (!k) = do { _ <- m ; k } {-# INLINE (<*>) #-} (<*>) a b = do f <- a ; v <- b ; return $! (f $! v) @@ -31,11 +34,6 @@ instance Functor (StrictPrim s) where instance Monad (StrictPrim s) where - {-# INLINE return #-} - return !x = StrictPrim ( \ !s -> (# s, x #)) - - {-# INLINE (>>) #-} - (!m) >> (!k) = do { _ <- m ; k } {-# INLINE (>>=) #-} (StrictPrim !m) >>= (!k) = |