Write said instance

This commit is contained in:
Tissevert 2020-03-11 18:52:09 +01:00
parent 10f8c711da
commit c4c3e35e09
1 changed files with 6 additions and 0 deletions

View File

@ -20,6 +20,8 @@ import Control.Monad.State (MonadState(..))
--import Control.Monad.Reader (MonadReader(..))
import Data.Map (Map)
import qualified Data.Map as Map (insert, lookup, member)
import Data.OrderedMap (OrderedMap)
import qualified Data.OrderedMap as OrderedMap (lookup, set)
import Prelude hiding (fail)
{-
@ -66,6 +68,10 @@ instance (Ord k, MonadFail m) => Box m k (Map k a) a where
return $ Map.insert k a aMap
| otherwise = fail "Unknown key"
instance (Ord k, MonadFail m) => Box m k (OrderedMap k a) a where
r k = maybe (fail "Unknown key") return . OrderedMap.lookup k
w k a orderedMap = r k orderedMap >> return (OrderedMap.set k a orderedMap)
instance (Monad m, Box Maybe i a b) => Box m (Maybe_ i) a (Maybe b) where
r (Maybe_ i) = return . r i
w (Maybe_ i) (Just b) a =