inj-base-0.1.0.0: 'Inj' instances for 'base'

Safe HaskellNone
LanguageHaskell2010

Inj.Base

Contents

Description

Inj instances for types from base.

Orphan instances

Real p => Inj p Double Source #

Injective only if the number is representable as Double.

Instance details

Methods

inj :: p -> Double #

Real p => Inj p Float Source #

Injective only if the number is representable as Float.

Instance details

Methods

inj :: p -> Float #

Integral p => Inj p WordPtr Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> WordPtr #

Integral p => Inj p IntPtr Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> IntPtr #

Integral p => Inj p Word64 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Word64 #

Integral p => Inj p Word32 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Word32 #

Integral p => Inj p Word16 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Word16 #

Integral p => Inj p Word8 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Word8 #

Integral p => Inj p Word Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Word #

Integral p => Inj p Int64 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Int64 #

Integral p => Inj p Int32 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Int32 #

Integral p => Inj p Int16 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Int16 #

Integral p => Inj p Int8 Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Int8 #

Integral p => Inj p Int Source #

Throws Underflow and Overflow.

Instance details

Methods

inj :: p -> Int #

Integral p => Inj p Natural Source #

Throws Underflow.

Instance details

Methods

inj :: p -> Natural #

Integral p => Inj p Integer Source # 
Instance details

Methods

inj :: p -> Integer #

Inj p a => Inj p (Par1 a) Source # 
Instance details

Methods

inj :: p -> Par1 a #

Inj p a => Inj p (Min a) Source # 
Instance details

Methods

inj :: p -> Min a #

Inj p a => Inj p (Max a) Source # 
Instance details

Methods

inj :: p -> Max a #

Inj p a => Inj p (First a) Source # 
Instance details

Methods

inj :: p -> First a #

Inj p a => Inj p (Last a) Source # 
Instance details

Methods

inj :: p -> Last a #

Inj p a => Inj p (Option a) Source # 
Instance details

Methods

inj :: p -> Option a #

Inj p a => Inj p (ZipList a) Source # 
Instance details

Methods

inj :: p -> ZipList a #

Inj p a => Inj p (Identity a) Source # 
Instance details

Methods

inj :: p -> Identity a #

Inj p a => Inj p (STM a) Source # 
Instance details

Methods

inj :: p -> STM a #

Inj p a => Inj p (First a) Source # 
Instance details

Methods

inj :: p -> First a #

Inj p a => Inj p (Last a) Source # 
Instance details

Methods

inj :: p -> Last a #

Inj p a => Inj p (Dual a) Source # 
Instance details

Methods

inj :: p -> Dual a #

Inj p a => Inj p (Sum a) Source # 
Instance details

Methods

inj :: p -> Sum a #

Inj p a => Inj p (Product a) Source # 
Instance details

Methods

inj :: p -> Product a #

Inj p a => Inj p (Down a) Source # 
Instance details

Methods

inj :: p -> Down a #

Inj p a => Inj p (ReadPrec a) Source # 
Instance details

Methods

inj :: p -> ReadPrec a #

Inj p a => Inj p (ReadP a) Source # 
Instance details

Methods

inj :: p -> ReadP a #

Inj p a => Inj p (NonEmpty a) Source # 
Instance details

Methods

inj :: p -> NonEmpty a #

Inj p a => Inj p (IO a) Source # 
Instance details

Methods

inj :: p -> IO a #

Inj p a => Inj p (Maybe a) Source # 
Instance details

Methods

inj :: p -> Maybe a #

Inj p a => Inj p [a] Source # 
Instance details

Methods

inj :: p -> [a] #

(Num a, Inj p a) => Inj p (Complex a) Source # 
Instance details

Methods

inj :: p -> Complex a #

(HasResolution res, Real p) => Inj p (Fixed res) Source #

Throws LossOfPrecision.

Instance details

Methods

inj :: p -> Fixed res #

(Inj Integer a, Real p) => Inj p (Ratio a) Source # 
Instance details

Methods

inj :: p -> Ratio a #

Inj p a => Inj p (r -> a) Source # 
Instance details

Methods

inj :: p -> r -> a #

Inj p a => Inj p (ST s a) Source # 
Instance details

Methods

inj :: p -> ST s a #

(TypeError ((((((Text "Refusing to decide whether to inject " :<>: ShowType p) :<>: Text " into 'fst' ") :<>: ShowType x) :<>: Text " or 'snd' ") :<>: ShowType y) :$$: (((Text "in the " :<>: ShowType Inj) :<>: Text " instance for ") :<>: ShowType (,))) :: Constraint) => Inj p (x, y) Source # 
Instance details

Methods

inj :: p -> (x, y) #

(TypeError ((((((Text "Refusing to decide whether to inject " :<>: ShowType p) :<>: Text " into 'Left' ") :<>: ShowType x) :<>: Text " or 'Right' ") :<>: ShowType y) :$$: (((Text "in the " :<>: ShowType Inj) :<>: Text " instance for ") :<>: ShowType Either)) :: Constraint) => Inj p (Either x y) Source # 
Instance details

Methods

inj :: p -> Either x y #

Inj p (f a) => Inj p (Rec1 f a) Source # 
Instance details

Methods

inj :: p -> Rec1 f a #

Inj p a => Inj p (K1 i a x) Source # 
Instance details

Methods

inj :: p -> K1 i a x #

Inj p (f (g a)) => Inj p ((f :.: g) a) Source # 
Instance details

Methods

inj :: p -> (f :.: g) a #

Inj p (f a) => Inj p (M1 i c f a) Source # 
Instance details

Methods

inj :: p -> M1 i c f a #

Inj p (f (g a)) => Inj p (Compose f g a) Source # 
Instance details

Methods

inj :: p -> Compose f g a #