Module

Data.Homogeneous.Record

#homogeneous

homogeneous :: forall a ra ls. HomogeneousRowLabels ra a ls => Record ra -> Homogeneous ls a

The "usual" constructor when ra Row is known and you want to derive sl and a from it.

#homogeneous'

homogeneous' :: forall a ra ls. ToHomogeneousRow ls a ra => Record ra -> Homogeneous ls a

When you already have Row of labels and a at hand and want to derive row from them you can use this constructor instead.

#Homogeneous

#fromHomogeneous

fromHomogeneous :: forall a ra ls. ToHomogeneousRow ls a ra => Homogeneous ls a -> Record ra

#modify

modify :: forall a ra ls. Homogeneous ra a => ToHomogeneousRow ls a ra => HomogeneousRowLabels ra a ls => Homogeneous ls a -> (Record ra -> Record ra) -> Homogeneous ls a

#get

get :: forall a ra ls. ToHomogeneousRow ls a ra => Homogeneous ls a -> (Record ra -> a) -> a

Modules