
4 Sep
2017
4 Sep
'17
12:06 p.m.
Hello List! I have function a -> IO a. How to get function: Maybe a -> IO (Maybe a) ? I found in Haskell mails archive such thing: class IFunctor f where imap :: Idiom i => (s -> i t) -> f s -> i (f t) which looks similar, but I didn't find any helpfull instances of `IFunctor` class in its package (and unfortunately I don't know what are the indexed types: IMonad, IFunctor, etc). Sure, there is the primitive solution like: myfunc :: a -> IO a ... f x = case x of Nothing -> return Nothing Just x' -> Just <$> myfunc x' but more interesting is to know more standard and Haskelish solution (like lift's, etc). May be I miss something very obvious.. === Best regards, Paul