conversions-0.0.4: Injective explicit total and partial conversions
Safe HaskellNone
LanguageHaskell2010

Data.Conversions

Documentation

data BoundError a b Source #

Constructors

(Bounded b, Show a, Show b) => BoundError a 

Instances

Instances details
Show (BoundError a b) Source # 
Instance details

Defined in Data.Conversions

Methods

showsPrec :: Int -> BoundError a b -> ShowS #

show :: BoundError a b -> String #

showList :: [BoundError a b] -> ShowS #

(Typeable a, Typeable b) => Exception (BoundError a b) Source # 
Instance details

Defined in Data.Conversions

data UserBoundError a b Source #

Constructors

UserBoundError a b b 

Instances

Instances details
(Show a, Show b) => Show (UserBoundError a b) Source # 
Instance details

Defined in Data.Conversions

(Show a, Show b, Typeable a, Typeable b) => Exception (UserBoundError a b) Source # 
Instance details

Defined in Data.Conversions

class Conversion b a where Source #

Minimal complete definition

Nothing

Methods

convert :: a -> b Source #

default convert :: Coercible a b => a -> b Source #

Instances

Instances details
Conversion Integer Int Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int -> Integer Source #

Conversion Integer Natural Source # 
Instance details

Defined in Data.Conversions

Conversion Integer Word8 Source # 
Instance details

Defined in Data.Conversions

Conversion Integer Word16 Source # 
Instance details

Defined in Data.Conversions

Conversion Integer Word32 Source # 
Instance details

Defined in Data.Conversions

Conversion Natural Word8 Source # 
Instance details

Defined in Data.Conversions

Conversion Natural Word16 Source # 
Instance details

Defined in Data.Conversions

Conversion Natural Word32 Source # 
Instance details

Defined in Data.Conversions

Conversion a a Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: a -> a Source #

Conversion ByteString ByteString Source # 
Instance details

Defined in Data.Conversions

Conversion ByteString Text Source # 
Instance details

Defined in Data.Conversions

Conversion ByteString ByteString Source # 
Instance details

Defined in Data.Conversions

Conversion Text Text Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Text -> Text0 Source #

Conversion Text Text Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Text0 -> Text Source #

Conversion Text String Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: String -> Text Source #

Conversion String Text Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Text -> String Source #

MonadError (BoundError Integer Word8) m => Conversion (m Word8) Integer Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Integer -> m Word8 Source #

MonadError (BoundError Integer Word16) m => Conversion (m Word16) Integer Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Integer -> m Word16 Source #

MonadError (BoundError Integer Word32) m => Conversion (m Word32) Integer Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Integer -> m Word32 Source #

MonadError (BoundError Integer Int) m => Conversion (m Int) Integer Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Integer -> m Int Source #

MonadError (UserBoundError Natural Int64) m => Conversion (m Int64) Natural Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Natural -> m Int64 Source #

MonadError (UserBoundError Natural Int32) m => Conversion (m Int32) Natural Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Natural -> m Int32 Source #

MonadError (UserBoundError Natural Int16) m => Conversion (m Int16) Natural Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Natural -> m Int16 Source #

MonadError (UserBoundError Natural Int) m => Conversion (m Int) Natural Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Natural -> m Int Source #

MonadError (UserBoundError Integer Text) m => Conversion (m Natural) Integer Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Integer -> m Natural Source #

MonadError (UserBoundError Word16 Natural) m => Conversion (m Natural) Word16 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Word16 -> m Natural Source #

MonadError (UserBoundError Word32 Natural) m => Conversion (m Natural) Word32 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Word32 -> m Natural Source #

MonadError (UserBoundError Word64 Natural) m => Conversion (m Natural) Word64 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Word64 -> m Natural Source #

MonadError (UserBoundError Word Natural) m => Conversion (m Natural) Word Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Word -> m Natural Source #

MonadError (UserBoundError Int8 Natural) m => Conversion (m Natural) Int8 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int8 -> m Natural Source #

MonadError (UserBoundError Int16 Natural) m => Conversion (m Natural) Int16 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int16 -> m Natural Source #

MonadError (UserBoundError Int32 Natural) m => Conversion (m Natural) Int32 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int32 -> m Natural Source #

MonadError (UserBoundError Int64 Natural) m => Conversion (m Natural) Int64 Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int64 -> m Natural Source #

MonadError (UserBoundError Int Natural) m => Conversion (m Natural) Int Source # 
Instance details

Defined in Data.Conversions

Methods

convert :: Int -> m Natural Source #

convertText :: forall a b. (Conversion Text a, Conversion b Text) => a -> b Source #

convertBoundedFromIntegral :: forall a b m. (Integral a, Show a, Show b, Num b, Bounded b, Conversion a b, MonadError (BoundError a b) m) => a -> m b Source #

checkedFromIntegral :: forall a b m. (MonadPlus m, Integral a, Integral b) => a -> m b Source #

convertEither :: forall b a e. Conversion (Either e b) a => a -> Either e b Source #

convertUnsafe :: forall b a e. (Conversion (Either e b) a, Show e) => a -> b Source #

convertThrow :: forall b a e m. (Conversion (Either e b) a, Exception e, MonadThrow m) => a -> m b Source #

convertFail :: forall b a e m. (Conversion (Either e b) a, Show e, MonadFail m) => a -> m b Source #

convertMaybe :: forall b a e. Conversion (Either e b) a => a -> Maybe b Source #

boundError :: forall a b. (Show a, Show b) => a -> b -> b -> String Source #

mkTH :: forall a b e. (Lift b, Exception e, Conversion (Either e b) a) => a -> Q (TExp b) Source #

toText :: ToText a => a -> Text Source #