hset-2.2.0: Primitive list with elements of unique types.

Safe HaskellNone
LanguageHaskell2010

Data.HSet.Reverse

Synopsis

Documentation

class HReverse acc els1 els2 | acc els1 -> els2 where #

This is auxiliary typeclass for inversing the order of hset elements

Minimal complete definition

hreverse'

Methods

hreverse' :: HSet acc -> HSet els1 -> HSet els2 #

Instances

HReverse acc ([] *) acc # 

Methods

hreverse' :: HSet acc -> HSet [*] -> HSet acc #

HReverse ((:) * e ([] *)) els1 els2 => HReverse ([] *) ((:) * e els1) els2 # 

Methods

hreverse' :: HSet [*] -> HSet ((* ': e) els1) -> HSet els2 #

(NotElem * e ((:) * ah at), HReverse ((:) * e ((:) * ah at)) els1 els2) => HReverse ((:) * ah at) ((:) * e els1) els2 # 

Methods

hreverse' :: HSet ((* ': ah) at) -> HSet ((* ': e) els1) -> HSet els2 #

type HReversible els1 els2 = HReverse '[] els1 els2 #

hreverse :: HReversible a r => HSet a -> HSet r #