cognimeta-utils-0.1.1: Utilities for Cognimeta products (such as perdure). API may change often.

Safe HaskellSafe-Infered

Cgm.Data.Tagged

Documentation

tag :: b -> Tagged s bSource

at :: Tagged s b -> bSource

type At a = forall z. Tagged a z -> zSource

type Tagged2 a b z = Tagged a (Tagged b z)Source

tag2 :: a -> Tagged s (Tagged s1 a)Source

at2 :: Tagged s1 (Tagged s c) -> cSource

type At2 a b = forall z. Tagged2 a b z -> zSource

type Tagged3 a b c z = Tagged a (Tagged2 b c z)Source

tag3 :: a -> Tagged s (Tagged s1 (Tagged s2 a))Source

at3 :: Tagged s2 (Tagged s1 (Tagged s c)) -> cSource

type At3 a b c = forall z. Tagged3 a b c z -> zSource

type Tagged4 a b c d z = Tagged a (Tagged3 b c d z)Source

tag4 :: a -> Tagged s (Tagged s1 (Tagged s2 (Tagged s3 a)))Source

at4 :: Tagged s3 (Tagged s2 (Tagged s1 (Tagged s c))) -> cSource

type At4 a b c d = forall z. Tagged4 a b c d z -> zSource

flipTags :: Tagged2 a b z -> Tagged2 b a zSource

rot3Tags :: Tagged3 b c a z -> Tagged3 a b c zSource

rot3Tags2 :: Tagged3 c a b z -> Tagged3 a b c zSource

rot4Tags :: Tagged4 b c d a z -> Tagged4 a b c d zSource

rot4Tags2 :: Tagged4 c d a b z -> Tagged4 a b c d zSource

rot4Tags3 :: Tagged4 d a b c z -> Tagged4 a b c d zSource

dupTag :: Tagged2 a a z -> Tagged a zSource

dup2Tags :: Tagged4 a b a b z -> Tagged2 a b zSource

pushTagIn :: Functor f => Tagged a (f b) -> f (Tagged a b)Source

constAt :: Tagged b a -> b -> aSource