blob: 97b50b92d97838bbc15d0c7e13b1d95061c24701 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{-# LANGUAGE Haskell2010 #-}
{-# LANGUAGE RankNTypes #-}
{-# OPTIONS_GHC -ddump-simpl-stats #-}
-- The rule foo/bar should fire
module Roman where
foo :: (forall m. m a -> m b) -> m a -> m b
{-# NOINLINE foo #-}
foo f = f
bar :: (forall m. m a -> m a) -> m a -> m a
bar f = f
{-# RULES "foo/bar" foo = bar #-}
blip = foo id
|