[project @ 1999-11-26 16:26:32 by simonmar]
[ghc-hetmet.git] / ghc / lib / concurrent / ChannelVar.lhs
index ee21c87..50c893c 100644 (file)
@@ -11,15 +11,15 @@ module ChannelVar
        (
         {- abstract -}
          CVar,
-        newCVar,       --:: IO (CVar a)
-        putCVar,       --:: CVar a -> a -> IO ()
-        getCVar,       --:: CVar a -> IO a
+        newCVar,       -- :: IO (CVar a)
+        writeCVar,     -- :: CVar a -> a -> IO ()
+        readCVar,      -- :: CVar a -> IO a
         MVar
 
        ) where
 
 import Prelude
-import ConcBase
+import PrelConc
 \end{code}
 
 @MVars@ provide the basic mechanisms for synchronising access to a shared
@@ -35,20 +35,20 @@ data CVar a
         (MVar ())    -- cons -> prod
 
 newCVar :: IO (CVar a)
-putCVar :: CVar a -> a -> IO ()
-getCVar :: CVar a -> IO a
+writeCVar :: CVar a -> a -> IO ()
+readCVar :: CVar a -> IO a
 
 newCVar 
  = newEmptyMVar >>= \ datum ->
    newMVar ()   >>= \ ack ->
    return (CVar datum ack)
 
-putCVar (CVar datum ack) val
+writeCVar (CVar datum ack) val
  = takeMVar ack      >> 
    putMVar datum val >>
    return ()
 
-getCVar (CVar datum ack)
+readCVar (CVar datum ack)
  = takeMVar datum >>= \ val ->
    putMVar ack () >> 
    return val