From cbf810a421901e76ee2d3e18592fb4d39de851a6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 27 Sep 2013 19:52:36 -0400 Subject: clean up some ugly code --- Utility/Exception.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Utility/Exception.hs') diff --git a/Utility/Exception.hs b/Utility/Exception.hs index 3835d741d..cf2c615c7 100644 --- a/Utility/Exception.hs +++ b/Utility/Exception.hs @@ -14,6 +14,7 @@ import qualified Control.Exception as E import Control.Applicative import Control.Monad import System.IO.Error (isDoesNotExistError) +import Utility.Data {- Catches IO errors and returns a Bool -} catchBoolIO :: IO Bool -> IO Bool @@ -54,5 +55,5 @@ tryNonAsync a = (Right <$> a) `catchNonAsync` (return . Left) {- Catches only DoesNotExist exceptions, and lets all others through. -} tryWhenExists :: IO a -> IO (Maybe a) -tryWhenExists a = either (const Nothing) Just <$> +tryWhenExists a = eitherToMaybe <$> tryJust (guard . isDoesNotExistError) a -- cgit v1.2.3