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

Safe HaskellNone
LanguageHaskell2010

Control.Invertible.Monoidal.HList

Description

Combine monoidal functors into HLists.

Synopsis

Documentation

hConsI :: Monoidal f => f a -> f (HList l) -> f (HList (a : l)) Source

HCons two monoidal functors.

(>:*<) :: Monoidal f => f a -> f (HList l) -> f (HList (a : l)) infixr 4 Source

Infix alias for hConsI.

class (Monoidal m, SameLength a b) => HSequenceI m a b | a -> b, m b -> a where Source

A monoidal version of HSequence: a heteogeneous version of sequenceMaybesI.

Methods

hSequenceI :: HList a -> m (HList b) Source

Instances

Monoidal m => HSequenceI m ([] *) ([] *) Source 
((~) (* -> *) m1 m, Monoidal m, HSequenceI m as bs) => HSequenceI m ((:) * (m1 a) as) ((:) * a bs) Source