Module
Dissect.Generic
- Package
- purescript-dissect
- Repository
- PureFunctor/purescript-dissect
Polynomial functors and bifunctors for algebraically defining data types
with free Dissect
instances as described in "Algebra of Programming" by
Bird and de Moor; as well as the functional dissections paper.
#Product Source
data Product :: forall k. (k -> Type) -> (k -> Type) -> k -> Type
data Product a b c
The product of polynomial functors.
Constructors
Product (a c) (b c)
Instances
(Eq (a c), Eq (b c)) => Eq (Product a b c)
(Ord (a c), Ord (b c)) => Ord (Product a b c)
(Show (a c), Show (b c), Show c) => Show (Product a b c)
(Functor a, Functor b) => Functor (Product a b)
(Dissect p p', Dissect q q') => Dissect (Product p q) (Sum_2 (Product_2 p' (Joker q)) (Product_2 (Clown p) q'))