Add instance for MonadUnify for ReaderT

This commit is contained in:
Danila Fedorin 2023-03-04 18:55:54 -08:00
parent 014d9b38c8
commit 590306964c
1 changed files with 7 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import Control.Applicative (pure)
import Control.Bind (bind)
import Control.MonadPlus (class MonadPlus, empty)
import Control.Monad.State.Trans (StateT)
import Control.Monad.Reader.Trans (ReaderT)
import Control.Monad.Trans.Class (lift)
import Data.Traversable (class Traversable, traverse)
import Data.Tuple (Tuple(..))
@ -51,3 +52,9 @@ instance MonadUnify k f m => MonadUnify k f (StateT s m) where
merge m k = lift $ merge m k
store k f = lift $ store k f
reify f = lift $ reify f
instance MonadUnify k f m => MonadUnify k f (ReaderT r m) where
fresh = lift fresh
merge m k = lift $ merge m k
store k f = lift $ store k f
reify f = lift $ reify f