Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- type family PNullary (n :: k -> Type) (t :: k) = (r :: Type) | r -> n t
- class PSemigroup n t u v | t u -> v where
- (&<>) :: PSemigroup n t u v => PNullary n t -> PNullary n u -> PNullary n v
Documentation
class PSemigroup n t u v | t u -> v where Source #
Parameterized version of (<>) in Semigroup
If used in conjunction with Empty
, ie as a parameterized Monoid,
then the instance should follow the following laws:
* pmempty'
* pmappend'
x = xx
* pmappend'
pempty' = xx
pmappend'
(y pmappend'
z) = (x pmappend'
y) pmappend'
z