From 3b3eeef2187f58703bc13b73ad0336eea7de43df Mon Sep 17 00:00:00 2001 From: Tissevert Date: Tue, 3 Mar 2020 18:16:49 +0100 Subject: [PATCH] Maybe we need a MonadState s m => MonadReader s m instance some day ? --- src/PDF/Box.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/PDF/Box.hs b/src/PDF/Box.hs index 39a1548..23817d5 100644 --- a/src/PDF/Box.hs +++ b/src/PDF/Box.hs @@ -17,10 +17,22 @@ module PDF.Box ( import Control.Monad.Except (ExceptT(..), runExceptT) import Control.Monad.Fail (MonadFail(..)) import Control.Monad.State (MonadState(..)) +--import Control.Monad.Reader (MonadReader(..)) import Data.Map (Map) import qualified Data.Map as Map (insert, lookup, member) import Prelude hiding (fail) +{- +instance (Monad m, MonadState s m) => MonadReader s m where + ask = get + local f m = do + backup <- get + put $ f backup + result <- m + put backup + return result +-} + newtype Index = Index Int newtype Maybe_ x = Maybe_ x newtype Either_ b x = Either_ x