invertible-0.1: bidirectional arrows, bijective functions, and invariant functors

Safe HaskellNone
LanguageHaskell2010

Data.Invertible.HList

Description

Bidirectional version of Data.HList.HList.

Synopsis

Documentation

hCons :: (a, HList l) <-> HList (a : l) Source

(De)construct an list from a head and tail.

hReverse :: (HReverse a b, HReverse b a) => HList a <-> HList b Source

hReverse the order of a list.

hReverse_ :: (HRevApp a `[]` b, HRevApp b `[]` a) => HList a <-> HList b Source

hReverse_ the order of a list.

hAppend :: (HAppendList a b, HSplitAt n (HAppendListR a b) a b) => (HList a, HList b) <-> HList (HAppendListR a b) Source

hAppend (concatenate) or split two lists.

hZip :: HZipList a b l => (HList a, HList b) <-> HList l Source

hZip two lists together.