Rosetta Code にあるDetect division by zeroをコンパイルしてみたのですが、GHC 7.6.3ではエラーになってしまいます。
出力されたエラーメッセージで検索すると arising from a use of `Control.Exception.catch' がみつかりました。
{-# LANGUAGE ScopedTypeVariables #-}
を先頭に書くかGHCi で
> :set -XScopedTypeVariables
を指定する必要があります。
(e :: C.SomeException)を指定しないとエラーになりました。
{-# LANGUAGE ScopedTypeVariables #-} import qualified Control.Exception as C check x y = C.catch (x `div` y `seq` return False) (\(e :: C.SomeException) -> return True)
Main> check 1 3 -- > False Main> check 1 0 -- > True