[Haskell-cafe] Is it usual to read a Maybe (IORef a) ?
minh thu
noteed at gmail.com
Wed Sep 3 06:09:38 EDT 2008
Hi,
I'd like to write a data structure to be used inside the IO monad.
The structure has some handles of type Maybe (IORef a),
i.e. IORef are pointers and the Maybe is like null pointers.
So I came up with the following functions :
readHandle :: Maybe (IORef a) -> IO (Maybe a)
readField :: (a -> b) -> Maybe (IORef a) -> IO (Maybe b)
readHandle Nothing = do
return Nothing
readHandle (Just r) = do
v <- readIORef r
return $ Just v
readField f h = do
m <- readHandle h
return $ fmap f m
Is it something usual ?
Are there any related functions in the standard libraries ?
Thanks,
Thu
More information about the Haskell-Cafe
mailing list