X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Data%2FIORef.hs;h=284c2bf123b879ee93ff6ad85a636f5be862ec57;hb=d12c4f3de454ea031f2258627d388d3d994a3cfd;hp=36077342a464409f6ff6433b6ee14037cd0460e8;hpb=cbfbac0617770abfb8a0c740bba7e0ca7f6e861d;p=ghc-base.git diff --git a/Data/IORef.hs b/Data/IORef.hs index 3607734..284c2bf 100644 --- a/Data/IORef.hs +++ b/Data/IORef.hs @@ -41,7 +41,18 @@ import GHC.Weak #endif #endif /* __GLASGOW_HASKELL__ */ +#ifdef __NHC__ +import NHC.IOExtras + ( IORef + , newIORef + , readIORef + , writeIORef + ) +#endif + +#ifndef __NHC__ import Data.Dynamic +#endif #if defined(__GLASGOW_HASKELL__) && !defined(__PARALLEL_HASKELL__) -- |Make a 'Weak' pointer to an 'IORef' @@ -54,5 +65,7 @@ mkWeakIORef r@(IORef (STRef r#)) f = IO $ \s -> modifyIORef :: IORef a -> (a -> a) -> IO () modifyIORef ref f = writeIORef ref . f =<< readIORef ref +#ifndef __NHC__ #include "Dynamic.h" INSTANCE_TYPEABLE1(IORef,ioRefTc,"IORef") +#endif