Skip to content
Snippets Groups Projects
Commit 91588680 authored by sof's avatar sof
Browse files

[project @ 1997-11-29 20:31:55 by sof]

Renamed {read,write}Sample to {read,write}SampleVar
parent ca079352
No related merge requests found
...@@ -19,13 +19,13 @@ potentially, wakes up a blocked reader (same as for @putMVar@ on empty @MVar@). ...@@ -19,13 +19,13 @@ potentially, wakes up a blocked reader (same as for @putMVar@ on empty @MVar@).
\begin{code} \begin{code}
module SampleVar module SampleVar
( (
SampleVar, --:: type _ = SampleVar, --:: type _ =
newEmptySampleVar, --:: IO (SampleVar a) newEmptySampleVar, --:: IO (SampleVar a)
newSampleVar, --:: a -> IO (SampleVar a) newSampleVar, --:: a -> IO (SampleVar a)
emptySampleVar, --:: SampleVar a -> IO () emptySampleVar, --:: SampleVar a -> IO ()
readSample, --:: SampleVar a -> IO a readSampleVar, --:: SampleVar a -> IO a
writeSample --:: SampleVar a -> a -> IO () writeSampleVar --:: SampleVar a -> a -> IO ()
) where ) where
...@@ -63,8 +63,8 @@ emptySampleVar v = do ...@@ -63,8 +63,8 @@ emptySampleVar v = do
-- filled => make empty and grab sample -- filled => make empty and grab sample
-- not filled => try to grab value, empty when read val. -- not filled => try to grab value, empty when read val.
-- --
readSample :: SampleVar a -> IO a readSampleVar :: SampleVar a -> IO a
readSample svar = do readSampleVar svar = do
(readers,val) <- takeMVar svar (readers,val) <- takeMVar svar
putMVar svar (readers-1,val) putMVar svar (readers-1,val)
takeMVar val takeMVar val
...@@ -73,8 +73,8 @@ readSample svar = do ...@@ -73,8 +73,8 @@ readSample svar = do
-- filled => overwrite -- filled => overwrite
-- not filled => fill, write val -- not filled => fill, write val
-- --
writeSample :: SampleVar a -> a -> IO () writeSampleVar :: SampleVar a -> a -> IO ()
writeSample svar v = do writeSampleVar svar v = do
(readers,val) <- takeMVar svar (readers,val) <- takeMVar svar
case readers of case readers of
1 -> 1 ->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment