-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Utilities using ErrorOr datatype
--
-- Builds on the error type defined in the error-or package
@package error-or-utils
@version 0.2.0
-- | A few utility functions with improved error reporting.
module Data.ErrorOr.Utils
-- | A read with better error messages.
tryRead :: (Read a, Show a, MonadFail m) => String -> m a
-- | Overloaded lookup with good error messages.
lookup :: (OverloadedLookup t k v, Show k, Show t, MonadFail m, Applicative m) => k -> t -> m v
-- | This is a version of lookup for where there is no Show instance
-- for the collection.
lookupIn :: (OverloadedLookup t k v, Show k, MonadFail m, Applicative m) => Text -> k -> t -> m v
-- | A class used to implement lookup and lookupIn.
class OverloadedLookup t k v | t -> k, t -> v
overloadedLookup :: OverloadedLookup t k v => k -> t -> Maybe v
instance GHC.Classes.Eq k => Data.ErrorOr.Utils.OverloadedLookup [(k, v)] k v
instance GHC.Classes.Ord k => Data.ErrorOr.Utils.OverloadedLookup (Data.Map.Internal.Map k v) k v
-- | Utilities for data validation
module Data.ErrorOr.Validation
(>!) :: (Ord a, Show a) => a -> a -> ErrorOr ()
infix 4 >!
(>=!) :: (Ord a, Show a) => a -> a -> ErrorOr ()
infix 4 >=!
( a -> a -> ErrorOr ()
infix 4 a -> a -> ErrorOr ()
infix 4 <=!
(=!) :: (Eq a, Show a) => a -> a -> ErrorOr ()
infix 4 =!
(/=!) :: (Eq a, Show a) => a -> a -> ErrorOr ()
infix 4 /=!
ensure :: Text -> Bool -> ErrorOr ()
ensureIsNothing :: Show a => Maybe a -> ErrorOr ()
ensureIsJust :: Maybe a -> ErrorOr ()
-- | Checks the difference of the numbers is less than ratio times the
-- average of the two numbers.
approxEqual :: (RealFrac a, Show a) => Double -> a -> a -> ErrorOr ()
-- | It annotates a failure with the element's show result.
ensureAll :: Show a => (a -> ErrorOr ()) -> [a] -> ErrorOr ()