redis-0.12: Database/Redis/Monad/State.hs
{-
Copyright (c) 2010-2011, Alexander Bogdanov <andorn@gmail.com>
License: MIT
-}
{-# LANGUAGE PackageImports, TypeSynonymInstances, FlexibleInstances #-}
-- | This module is mainly an example of posible 'WithRedis'
-- implementation
module Database.Redis.Monad.State where
import "mtl" Control.Monad.State
import Database.Redis.Monad (WithRedis(..), Redis)
-- | Trivial WithRedis instance storing Redis descriptor in StateT
type RedisM = StateT Redis IO
instance WithRedis RedisM where
getRedis = get
setRedis = put
runWithRedis :: Redis -> (RedisM a) -> IO a
runWithRedis = flip evalStateT