{-# LANGUAGE DeriveDataTypeable #-} module Data.TCache.Defs where import Data.Typeable import Control.Concurrent.STM(TVar) type AccessTime = Integer type ModifTime = Integer data Status a= NotRead | DoNotExist | Exist a deriving Typeable data Elem a= Elem a AccessTime ModifTime deriving Typeable type TPVar a= TVar (Status(Elem a)) data DBRef a= DBRef String (TPVar a) deriving Typeable