witch-0.1.1.0: Convert values from one type into another.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Witch.TryCast

Synopsis

Documentation

class TryCast source target where Source #

This type class is for converting values from some source type into some other target type. The constraint TryCast source target means that you may be able to convert from a value of type source into a value of type target, but that conversion may fail at runtime.

This type class is for conversions that can fail. If your conversion cannot fail, consider implementing Cast instead.

Methods

tryCast :: source -> Either (TryCastException source target) target Source #

This method implements the conversion of a value between types. At call sites you will usually want to use tryFrom or tryInto instead of this method.

Instances

Instances details
TryCast Double Int Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Int8 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Int16 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Int32 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Int64 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Integer Source #

Converts via Rational when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Double Natural Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Rational Source #

Uses toRational when the input is not NaN or infinity.

Instance details

Defined in Witch.Instances

TryCast Double Word Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Word8 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Word16 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Word32 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Double Word64 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Int Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Int8 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Int16 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Int32 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Int64 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Integer Source #

Converts via Rational when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Float Natural Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Rational Source #

Uses toRational when the input is not NaN or infinity.

Instance details

Defined in Witch.Instances

TryCast Float Word Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Word8 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Word16 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Word32 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Float Word64 Source #

Converts via Integer.

Instance details

Defined in Witch.Instances

TryCast Int Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Int Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Int Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Natural Source #

Uses fromIntegral when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Int Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int8 Natural Source #

Uses fromIntegral when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Int8 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int8 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int8 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int8 Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int8 Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Natural Source #

Uses fromIntegral when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Int16 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int16 Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Int32 Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Natural Source #

Uses fromIntegral when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Int32 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int32 Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Int64 Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Int64 Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Natural Source #

Uses fromIntegral when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Int64 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Int64 Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Integer Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Integer Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Int64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Natural Source #

Uses fromInteger when the input is non-negative.

Instance details

Defined in Witch.Instances

TryCast Integer Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Integer Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Natural Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Natural Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Int64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Natural Word64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Word Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Word Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Int64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word8 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word16 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word16 Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word16 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Word32 Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word32 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Double Source #

Uses fromIntegral when the input is between -9,007,199,254,740,991 and 9,007,199,254,740,991 inclusive.

Instance details

Defined in Witch.Instances

TryCast Word64 Float Source #

Uses fromIntegral when the input is between -16,777,215 and 16,777,215 inclusive.

Instance details

Defined in Witch.Instances

TryCast Word64 Int Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Int8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Int16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Int32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Int64 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Word Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Word8 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Word16 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast Word64 Word32 Source #

Uses toIntegralSized.

Instance details

Defined in Witch.Instances

TryCast ByteString Text Source #

Uses decodeUtf8'.

Instance details

Defined in Witch.Instances

TryCast ByteString Text Source #

Uses decodeUtf8'.

Instance details

Defined in Witch.Instances

(Eq a, Num a) => TryCast (Ratio a) a Source #

Uses numerator when the denominator is 1.

Instance details

Defined in Witch.Instances

Methods

tryCast :: Ratio a -> Either (TryCastException (Ratio a) a) a Source #

(Eq a, Num a) => TryCast (Complex a) a Source #

Uses realPart when the imaginary part is 0.

Instance details

Defined in Witch.Instances

TryCast [a] (NonEmpty a) Source #

Uses nonEmpty.

Instance details

Defined in Witch.Instances

Methods

tryCast :: [a] -> Either (TryCastException [a] (NonEmpty a)) (NonEmpty a) Source #