packages feed

data-concurrent-queue 0.1.1.0 → 0.3.0.0

raw patch · 2 files changed

+4/−34 lines, 2 files

Files

Data/Concurrent/Queue.hs view
@@ -1,14 +1,14 @@ {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances #-}-module Data.Concurrent.Queue (TakeQueue(..), PutQueue(..), Take, Put, TakePut, DMVar, newDMVar, newEmptyDMVar) where+module Data.Concurrent.Queue (TakeQueue(..), PutQueue(..)) where  import Control.Concurrent import Control.Concurrent.STM import Control.Applicative -class TakeQueue q m | q -> m where+class TakeQueue q m where   take :: q a -> m a -class PutQueue q m | q -> m where+class PutQueue q m  where   put :: q a -> a -> m ()  instance TakeQueue MVar IO where@@ -31,33 +31,3 @@   take = readTChan instance PutQueue TChan STM where   put = writeTChan--newtype Take = Take Take-newtype Put = Put Put-newtype TakePut = TakePut TakePut--newtype DMVar d a = DMVar (MVar a)--newDMVar :: a -> IO (DMVar d a)-newDMVar a = DMVar <$> newMVar a--newEmptyDMVar :: IO (DMVar d a)-newEmptyDMVar = DMVar <$> newEmptyMVar--takeDMVar :: DMVar d a -> IO a-takeDMVar (DMVar x) = takeMVar x--putDMVar :: DMVar d a -> a -> IO ()-putDMVar (DMVar x) a = putMVar x a---instance TakeQueue (DMVar TakePut) IO where-  take = takeDMVar-instance PutQueue (DMVar TakePut) IO where-  put = putDMVar--instance TakeQueue (DMVar Take) IO where-  take = takeDMVar--instance PutQueue (DMVar Put) IO where-  put = putDMVar
data-concurrent-queue.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/  name:                data-concurrent-queue-version:             0.1.1.0+version:             0.3.0.0 synopsis:            A Library for directional queues -- description:          license:             MIT