Skip to content

Commit

Permalink
Merge pull request #1 from aristidb/master
Browse files Browse the repository at this point in the history
Try instance for Attempt
  • Loading branch information
snoyberg committed Jun 26, 2011
2 parents 9f36b18 + 1591a55 commit e13e8c7
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions Data/Attempt.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE Rank2Types #-}
{-# LANGUAGE TypeFamilies #-}

---------------------------------------------------------
--
-- Module : Data.Attempt
Expand Down Expand Up @@ -80,6 +82,11 @@ instance E.Exception e => WrapFailure e Attempt where
wrapFailure _ (Success v) = Success v
wrapFailure f (Failure e) = Failure $ f e

instance Try Attempt where
type Error Attempt = E.SomeException
try (Success v) = return v
try (Failure e) = failure $ E.toException e

-- | Any type which can be converted from an 'Attempt'. The included instances are your \"usual suspects\" for dealing with error handling. They include:
--
-- 'IO': For the IO instance, any exceptions in the 'Attempt' are thrown as
Expand Down

0 comments on commit e13e8c7

Please sign in to comment.