blob: 11d3ae4a0dc4f51e65a9d61688652ded3f6068db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
|
-- Type checking time for this test used to be quadratic in the number of `a`s
-- in `main` from GHC 7.8 to 8.6. It appears to have been fixed in 8.8.
begin :: Monad m => (m () -> t) -> t
begin cont = cont (return ())
a :: IO a -> (IO () -> t) -> t
a m cont = cont (m >> putStrLn "a")
end :: t -> t
end m = m
main = begin a a a a a a a a a a a a a a a a a a end
|