Hi Michael,
Let me look tomorrow morning. In any case, many thanks!
Kind regards,
Vasili
> remLookupFwd :: (ReVars m t) => SimplRe t -> ReM m t (ReInfo t)> reinfo <- liftMaybe $ M.lookup re fwd -- PROBLEM
> remLookupFwd re
> = do fwd <- gets resFwdMap
> -- let { Just reinfo = M.lookup fwd re } -- PROBLEM
> return reinfo
>
> liftMaybe :: Monad m => Maybe a -> m a
> liftMaybe Nothing = fail "Nothing"
> liftMaybe (Just x) = return x
I made two changes:
1. You had the arguments to M.lookup backwards.
2. lookup does not return any generalized Monad, just Maybe (I think that should be changed). I added the simple liftMaybe function to convert the Maybe result into something that will work with your state monad.
Michael