cognimeta-utils-0.1.2: Utilities for Cognimeta products (such as perdure). API may change often.
Cgm.Data.Tagged
module Data.Tagged
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