0
私は現実世界のHaskellのmaybeIO機能が多分にIO関数の結果がラップしている9 章読んでいます:文句を言わないで仕事どのようにhaskellコントロールを使用する。例外ハンドルは(たぶん)IOを返すように
maybeIO :: IO a -> IO (Maybe a)
maybeIO act = handle(\_ -> return Nothing) (liftM Just act)
が、このコードをGHC 7または+が、私はそれがGHC 7で動作しますので、このコードを編集する方法を疑問に思う、私は
import Control.Exception (bracket, handle, SomeException(..))
maybeIO :: IO a -> IO (Maybe a)
maybeIO act = handle(\(SomeException e) -> return Nothing) (liftM Just act)
を試してみましたが、私はパースエラーを得た:トップレベルに裸の表現
ええ、それは、ありがとう、働く。コンパイラが混乱している他のコードである必要があります。 –