canadian-income-tax-2024.0: Canadian income tax calculation
Safe HaskellNone
LanguageHaskell2010

Tax.Canada.T4

Documentation

data T4 (line :: Type -> Type) Source #

Constructors

T4 

Fields

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, Foldable t T4Slip, Foldable t T4Slip) => Foldable t T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> T4 (Domain t) -> m0

(Transformation t, Functor t T4Slip, Functor t T4Slip) => Functor t T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<$>) :: t -> T4 (Domain t) -> T4 (Codomain t)

(Transformation t, Codomain t ~ Compose m f, Applicative m, Traversable t T4Slip, Traversable t T4Slip) => Traversable t T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> T4 (Domain t) -> m0 (T4 f0)

Applicative T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

pure :: (forall a. f a) -> T4 f

Apply T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). T4 (p ~> q) -> T4 p -> T4 q

liftA2 :: (forall a. p a -> q a -> r a) -> T4 p -> T4 q -> T4 r

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> T4 p -> T4 q -> T4 r -> T4 s

Foldable T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> T4 p -> m

Functor T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<$>) :: (forall a. p a -> q a) -> T4 p -> T4 q

Traversable T4 Source # 
Instance details

Defined in Tax.Canada.T4

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> T4 p -> m (T4 q)

sequence :: forall m (p :: Type -> Type). Applicative m => T4 (Compose m p) -> m (T4 p)

(Show (line Centi), Show (line Code), Show (line Text), Show (line Int)) => Show (T4 line) Source # 
Instance details

Defined in Tax.Canada.T4

Methods

showsPrec :: Int -> T4 line -> ShowS #

show :: T4 line -> String #

showList :: [T4 line] -> ShowS #

(Eq (line Centi), Eq (line Code), Eq (line Text), Eq (line Int)) => Eq (T4 line) Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(==) :: T4 line -> T4 line -> Bool #

(/=) :: T4 line -> T4 line -> Bool #

data T4Slip (line :: Type -> Type) Source #

Instances

Instances details
(Transformation t, Codomain t ~ (Const m :: Type -> Type), Monoid m, At t Int, At t Code, At t Text, At t Text, At t Text, At t Text, At t Text, At t Text, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Centi, Foldable t (Product (Only Text) (Only Centi))) => Foldable t T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

foldMap :: (Codomain t ~ (Const m0 :: Type -> Type), Monoid m0) => t -> T4Slip (Domain t) -> m0

(Transformation t, At t Int, At t Code, At t Text, At t Text, At t Text, At t Text, At t Text, At t Text, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Centi, Functor t (Product (Only Text) (Only Centi))) => Functor t T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<$>) :: t -> T4Slip (Domain t) -> T4Slip (Codomain t)

(Transformation t, Codomain t ~ Compose m f, Applicative m, At t Int, At t Code, At t Text, At t Text, At t Text, At t Text, At t Text, At t Text, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Text, At t Centi, At t Centi, Traversable t (Product (Only Text) (Only Centi))) => Traversable t T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

traverse :: forall m0 (f0 :: Type -> Type). Codomain t ~ Compose m0 f0 => t -> T4Slip (Domain t) -> m0 (T4Slip f0)

Applicative (Product (Only Text) (Only Centi)) => Applicative T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

pure :: (forall a. f a) -> T4Slip f

Apply (Product (Only Text) (Only Centi)) => Apply T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<*>) :: forall (p :: Type -> Type) (q :: Type -> Type). T4Slip (p ~> q) -> T4Slip p -> T4Slip q

liftA2 :: (forall a. p a -> q a -> r a) -> T4Slip p -> T4Slip q -> T4Slip r

liftA3 :: (forall a. p a -> q a -> r a -> s a) -> T4Slip p -> T4Slip q -> T4Slip r -> T4Slip s

Foldable (Product (Only Text) (Only Centi)) => Foldable T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

foldMap :: Monoid m => (forall a. p a -> m) -> T4Slip p -> m

Functor (Product (Only Text) (Only Centi)) => Functor T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(<$>) :: (forall a. p a -> q a) -> T4Slip p -> T4Slip q

Traversable (Product (Only Text) (Only Centi)) => Traversable T4Slip Source # 
Instance details

Defined in Tax.Canada.T4

Methods

traverse :: Applicative m => (forall a. p a -> m (q a)) -> T4Slip p -> m (T4Slip q)

sequence :: forall m (p :: Type -> Type). Applicative m => T4Slip (Compose m p) -> m (T4Slip p)

(Show (line Centi), Show (line Code), Show (line Text), Show (line Int)) => Show (T4Slip line) Source # 
Instance details

Defined in Tax.Canada.T4

Methods

showsPrec :: Int -> T4Slip line -> ShowS #

show :: T4Slip line -> String #

showList :: [T4Slip line] -> ShowS #

(Eq (line Centi), Eq (line Code), Eq (line Text), Eq (line Int)) => Eq (T4Slip line) Source # 
Instance details

Defined in Tax.Canada.T4

Methods

(==) :: T4Slip line -> T4Slip line -> Bool #

(/=) :: T4Slip line -> T4Slip line -> Bool #