-------------
writeList2Chan :: Chan a -> [a] -> IO ()
-writeList2Chan ch ls = sequence (map (writeChan ch) ls)
+writeList2Chan ch ls = sequence_ (map (writeChan ch) ls)
\end{code}
(
{- abstract -}
CVar,
- newCVar, --:: IO (CVar a)
- writeCVar, --:: CVar a -> a -> IO ()
- readCVar, --:: CVar a -> IO a
+ newCVar, -- :: IO (CVar a)
+ writeCVar, -- :: CVar a -> a -> IO ()
+ readCVar, -- :: CVar a -> IO a
MVar
) where
module Merge
(
- mergeIO, --:: [a] -> [a] -> IO [a]
- nmergeIO --:: [[a]] -> IO [a]
+ mergeIO, -- :: [a] -> [a] -> IO [a]
+ nmergeIO -- :: [[a]] -> IO [a]
) where
import Semaphore
\begin{code}
module SampleVar
(
- SampleVar, --:: type _ =
+ SampleVar, -- :: type _ =
- newEmptySampleVar, --:: IO (SampleVar a)
- newSampleVar, --:: a -> IO (SampleVar a)
- emptySampleVar, --:: SampleVar a -> IO ()
- readSampleVar, --:: SampleVar a -> IO a
- writeSampleVar --:: SampleVar a -> a -> IO ()
+ newEmptySampleVar, -- :: IO (SampleVar a)
+ newSampleVar, -- :: a -> IO (SampleVar a)
+ emptySampleVar, -- :: SampleVar a -> IO ()
+ readSampleVar, -- :: SampleVar a -> IO a
+ writeSampleVar -- :: SampleVar a -> a -> IO ()
) where
{- abstract -}
QSem,
- newQSem, --:: Int -> IO QSem
- waitQSem, --:: QSem -> IO ()
- signalQSem, --:: QSem -> IO ()
+ newQSem, -- :: Int -> IO QSem
+ waitQSem, -- :: QSem -> IO ()
+ signalQSem, -- :: QSem -> IO ()
{- abstract -}
QSemN,
- newQSemN, --:: Int -> IO QSemN
- waitQSemN, --:: QSemN -> Int -> IO ()
- signalQSemN --:: QSemN -> Int -> IO ()
+ newQSemN, -- :: Int -> IO QSemN
+ waitQSemN, -- :: QSemN -> Int -> IO ()
+ signalQSemN -- :: QSemN -> Int -> IO ()
) where