Derived Typeable instance for TArray
authorBas van Dijk <v.dijk.bas@gmail.com>
Sat, 10 Apr 2010 13:36:30 +0000 (13:36 +0000)
committerBas van Dijk <v.dijk.bas@gmail.com>
Sat, 10 Apr 2010 13:36:30 +0000 (13:36 +0000)
Control/Concurrent/STM/TArray.hs

index 41859e9..bc1af39 100644 (file)
@@ -1,4 +1,6 @@
 {-# OPTIONS -fglasgow-exts #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Concurrent.STM.TArray
@@ -22,6 +24,7 @@ import Data.Array (Array, bounds)
 import Data.Array.Base (listArray, arrEleBottom, unsafeAt, MArray(..),
                         IArray(numElements))
 import Data.Ix (rangeSize)
+import Data.Typeable (Typeable)
 import Control.Concurrent.STM.TVar (TVar, newTVar, readTVar, writeTVar)
 #ifdef __GLASGOW_HASKELL__
 import GHC.Conc (STM)
@@ -36,7 +39,7 @@ import Control.Sequential.STM (STM)
 -- but it may be replaced by a more efficient implementation in the future
 -- (the interface will remain the same, however).
 --
-newtype TArray i e = TArray (Array i (TVar e))
+newtype TArray i e = TArray (Array i (TVar e)) deriving (Typeable)
 
 instance MArray TArray e STM where
     getBounds (TArray a) = return (bounds a)