-----------------------------------------------------------------------------
-- |
-- Module      :  Control.Monad.AdvSTM
-- Copyright   :  (c) HaskellWiki 2006-2007, Peter Robinson 2008
-- License     :  BSD3
-- 
-- Maintainer  :  Peter Robinson <robinson@ecs.tuwien.ac.at>
-- Stability   :  experimental
-- Portability :  non-portable (requires STM)
--
-- Provides the type class MonadAdvSTM and the AdvSTM monad.
-- Parts of this implementation were taken from the HaskellWiki Page of
-- MonadAdvSTM (see package description).
-----------------------------------------------------------------------------
 

module Control.Monad.AdvSTM( MonadAdvSTM(..)
                           , AdvSTM
                           )
where
import Control.Monad.AdvSTM.Def
import Control.Monad.AdvSTM.Class

-- import Control.Exception(Exception)
-- import qualified Control.Concurrent.STM as S
-- import Control.Concurrent.STM.TVar(TVar) 
-- import Control.Concurrent.STM.TMVar(TMVar) 
-- import Control.Concurrent(MVar,ThreadId)
-- import Control.Monad(Monad,MonadPlus)
-- import Control.Monad.Reader(MonadReader,ReaderT)