@@ -3,8 +3,10 @@ module Reporting.Task
@@ -31,6 +33,12 @@ throw x =
31 Task $ \_ err -> err x
33 Task $ \_ err -> err x
36+mapError :: (x -> y) -> Task x a -> Task y a
37+mapError func (Task task) =
@@ -41,6 +49,15 @@ io work =
41 Task $ \ok _ -> work >>= ok
49 Task $ \ok _ -> work >>= ok
52+mio :: x -> IO (Maybe a) -> Task x a
44eio :: (x -> y) -> IO (Either x a) -> Task y a
61eio :: (x -> y) -> IO (Either x a) -> Task y a
45eio func work =
62eio func work =
46 Task $ \ok err ->
63 Task $ \ok err ->