packages feed

pandora-0.1.5: Pandora/Pattern/Functor/Avoidable.hs

module Pandora.Pattern.Functor.Avoidable (Avoidable (..)) where

import Pandora.Pattern.Functor.Alternative (Alternative)

{- |
> When providing a new instance, you should ensure it satisfies the two laws:
> * Left absorption: x <+> idle ≡ x
> * Right absorption: idle <+> x ≡ x
-}

class Alternative t => Avoidable t where
	idle :: t a