Commit eca86485 authored by Joachim Breitner's avatar Joachim Breitner

GHC.Base: Use thenIO in instance Applicative IO

Since recent changes to CSE, the previous definition were no longer CSEd
with thenIO, which resulted in extra steps in the simplifier and hence
slightly larger compile times. See ticket:11781#comment:7.

Differential Revision: https://phabricator.haskell.org/D2092
parent 2bcf0c3a
......@@ -1086,9 +1086,9 @@ instance Functor IO where
instance Applicative IO where
{-# INLINE pure #-}
{-# INLINE (*>) #-}
pure = returnIO
m *> k = m >>= \ _ -> k
(<*>) = ap
pure = returnIO
(*>) = thenIO
(<*>) = ap
instance Monad IO where
{-# INLINE (>>) #-}
......
......@@ -624,7 +624,7 @@ test('T9020',
[(wordsize(32), 343005716, 10),
# Original: 381360728
# 2014-07-31: 343005716 (Windows) (general round of updates)
(wordsize(64), 852298336, 10)])
(wordsize(64), 698401736, 10)])
# prev: 795469104
# 2014-07-17: 728263536 (general round of updates)
# 2014-09-10: 785871680 post-AMP-cleanup
......@@ -632,6 +632,7 @@ test('T9020',
# 2015-10-21: 786189008 Make stronglyConnCompFromEdgedVertices deterministic
# 2016-01-26: 698401736 improvement from using ExpTypes instead of ReturnTvs
# 2016-04-06: 852298336 Refactoring of CSE #11781
# 2016-04-06: 698401736 Use thenIO in Applicative IO
],
compile,[''])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment