[project @ 2005-10-13 11:09:50 by ross]
[haskell-directory.git] / Control / Concurrent / Chan.hs
index 1b89f29..1fca981 100644 (file)
@@ -6,7 +6,7 @@
 -- 
 -- Maintainer  :  libraries@haskell.org
 -- Stability   :  experimental
--- Portability :  non-portable (concurrency).
+-- Portability :  non-portable (concurrency)
 --
 -- Unbounded channels.
 --
@@ -34,6 +34,9 @@ import Prelude
 
 import System.IO.Unsafe                ( unsafeInterleaveIO )
 import Control.Concurrent.MVar
+import Data.Typeable
+
+#include "Typeable.h"
 
 -- A channel is represented by two @MVar@s keeping track of the two ends
 -- of the channel contents,i.e.,  the read- and write ends. Empty @MVar@s
@@ -44,6 +47,8 @@ data Chan a
  = Chan (MVar (Stream a))
         (MVar (Stream a))
 
+INSTANCE_TYPEABLE1(Chan,chanTc,"Chan")
+
 type Stream a = MVar (ChItem a)
 
 data ChItem a = ChItem a (Stream a)