From 590306964c59b8828b66b8d020283c8efaf2170b Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Sat, 4 Mar 2023 18:55:54 -0800 Subject: [PATCH] Add instance for MonadUnify for ReaderT --- src/Control/Monad/Unify/Class.purs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Control/Monad/Unify/Class.purs b/src/Control/Monad/Unify/Class.purs index b4def73..c18452a 100644 --- a/src/Control/Monad/Unify/Class.purs +++ b/src/Control/Monad/Unify/Class.purs @@ -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