inj-base-0.2.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 #

p ~ Ordering => Inj p Ordering Source # 
Instance details

Methods

inj :: p -> Ordering #

p ~ Bool => Inj p Bool Source # 
Instance details

Methods

inj :: p -> Bool #

p ~ () => Inj p () Source # 
Instance details

Methods

inj :: p -> () #

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 (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 #

(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 #

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

Methods

inj :: p -> Option a #

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

Methods

inj :: p -> ZipList a #

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

Methods

inj :: p -> Identity a #

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

Methods

inj :: p -> STM a #

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

Methods

inj :: p -> IO a #

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

Methods

inj :: p -> NonEmpty a #

InjList (DecideList p) p a => Inj p [a] Source # 
Instance details

Methods

inj :: p -> [a] #

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

Methods

inj :: p -> Maybe a #

(t ~ Either pa pb, Inj pa a, Inj pb b) => Inj t (Either a b) Source # 
Instance details

Methods

inj :: t -> Either a b #

(t ~ (pa, pb), Inj pa a, Inj pb b) => Inj t (a, b) Source # 
Instance details

Methods

inj :: t -> (a, b) #

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

Methods

inj :: p -> r -> a #

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

Methods

inj :: p -> ST s a #

p ~ Proxy t' => Inj p (Proxy t) Source # 
Instance details

Methods

inj :: p -> Proxy t #

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

Methods

inj :: p -> Rec1 f a #

(t ~ Const pa pb, Inj pa a) => Inj t (Const a b) Source # 
Instance details

Methods

inj :: t -> Const a b #

(t ~ (pa, pb, pc), Inj pa a, Inj pb b, Inj pc c) => Inj t (a, b, c) Source # 
Instance details

Methods

inj :: t -> (a, b, c) #

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

Methods

inj :: p -> K1 i a x #

(t ~ (pa, pb, pc, pd), Inj pa a, Inj pb b, Inj pc c, Inj pd d) => Inj t (a, b, c, d) Source # 
Instance details

Methods

inj :: t -> (a, b, c, d) #

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 #