diff options
author | Austin Seipp <austin@well-typed.com> | 2013-09-11 18:46:54 -0500 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2013-09-11 18:47:15 -0500 |
commit | b20cf4ecbf244f091f4084c11ae2350d248ce6ef (patch) | |
tree | d595c6c632773bb4110468c23467f0b339096538 /compiler/cmm/PprC.hs | |
parent | 1ef941a82eafb8f22c19e2643685679d2454c24a (diff) | |
download | haskell-b20cf4ecbf244f091f4084c11ae2350d248ce6ef.tar.gz |
Fix AMP warnings.
Authored-by: David Luposchainsky <dluposchainsky@gmail.com>
Signed-off-by: Austin Seipp <austin@well-typed.com>
Diffstat (limited to 'compiler/cmm/PprC.hs')
-rw-r--r-- | compiler/cmm/PprC.hs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs index 149968d118..d45b103954 100644 --- a/compiler/cmm/PprC.hs +++ b/compiler/cmm/PprC.hs @@ -52,6 +52,8 @@ import Data.Map (Map) import Data.Word import System.IO import qualified Data.Map as Map +import Control.Monad (liftM, ap) +import Control.Applicative (Applicative(..)) import Data.Array.Unsafe ( castSTUArray ) import Data.Array.ST hiding ( castSTUArray ) @@ -986,6 +988,13 @@ pprExternDecl _in_srt lbl type TEState = (UniqSet LocalReg, Map CLabel ()) newtype TE a = TE { unTE :: TEState -> (a, TEState) } +instance Functor TE where + fmap = liftM + +instance Applicative TE where + pure = return + (<*>) = ap + instance Monad TE where TE m >>= k = TE $ \s -> case m s of (a, s') -> unTE (k a) s' return a = TE $ \s -> (a, s) |