Write said instance
This commit is contained in:
parent
10f8c711da
commit
c4c3e35e09
|
@ -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 =
|
||||
|
|
Loading…
Reference in New Issue