parameterized-0.5.0.0: Parameterized/indexed monoids and monads using only a single parameter type variable.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Parameterized.Data.Semigroup

Synopsis

Documentation

type family PNullary (n :: k -> Type) (t :: k) = (r :: Type) | r -> k n t Source #

class PSemigroup (n :: k -> Type) (t :: k) (u :: k) (v :: k) | 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

Methods

pmappend :: PNullary n t -> PNullary n u -> PNullary n v infixr 6 Source #

(&<>) :: forall {k} (n :: k -> Type) (t :: k) (u :: k) (v :: k). PSemigroup n t u v => PNullary n t -> PNullary n u -> PNullary n v infixr 6 Source #