resolve-0.1.0.0: src/Resolve/Types.hs
module Resolve.Types where
import Data.Typeable
import Control.Exception
type Resolve a b = a -> IO b
data Resolver a b = Resolver { resolve :: Resolve a b
, delete :: IO ()
}
data ResolveException where
ResolveException :: Exception e => e -> ResolveException
deriving (Typeable)
instance Show ResolveException where
show (ResolveException e) = show e
instance Exception ResolveException
resolveExceptionToException :: Exception e => e -> SomeException
resolveExceptionToException = toException . ResolveException
resolveExceptionFromException x = do
ResolveException a <- fromException x
cast a