{- (c) The University of Glasgow, 2000-2006 -} {-# LANGUAGE CPP, MagicHash, UnboxedTuples #-} module FastFunctions ( inlinePerformIO, ) where #include "GhclibHsVersions.h" import GhcPrelude () import GHC.Exts import GHC.IO (IO(..)) -- Just like unsafeDupablePerformIO, but we inline it. {-# INLINE inlinePerformIO #-} inlinePerformIO :: IO a -> a inlinePerformIO :: IO a -> a inlinePerformIO (IO State# RealWorld -> (# State# RealWorld, a #) m) = case State# RealWorld -> (# State# RealWorld, a #) m State# RealWorld realWorld# of (# State# RealWorld _, a r #) -> a r