Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

- class PSemigroup n t u v | t u -> v where
- (&<>) :: PSemigroup n t u v => n t -> n u -> 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 = x`x `

* `pmappend'`

pempty' = x`x `

`pmappend'`

(y `pmappend'`

z) = (x `pmappend'`

y) `pmappend'`

z

(&<>) :: PSemigroup n t u v => n t -> n u -> n v infixr 6 Source #