----------------------------------------------------------------------------- -- | -- Module : Data.TMap.Backend.StdoutBackend -- Copyright : Peter Robinson 2009 -- License : LGPL -- -- Maintainer : Peter Robinson -- Stability : experimental -- Portability : non-portable (requires STM) -- -- Simply prints out all backend requests to stdout. -- ----------------------------------------------------------------------------- module Data.TMap.Backend.StdoutBackend( StdoutBackend , newStdoutBackend ) where import Data.TMap.Backend import Control.Monad.Trans( MonadIO, liftIO ) data StdoutBackend k a = StdoutBackend instance (Show a,Show k,Ord k) => Backend k a StdoutBackend where insert _ _ a = liftIO (print ("inserting: ",a)) >> return () adjust _ _ k = liftIO (print ("adjusting: ",k)) >> return () lookup _ k = liftIO (print ("looking up: ",k)) >> return Nothing delete _ k = liftIO (print ("deleting: ",k)) >> return () -- | Creates a new 'StdoutBackend'. newStdoutBackend :: StdoutBackend k a newStdoutBackend = StdoutBackend