-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Library for tagging data -- -- A library for tagging data according to regex rules and manipulating -- the tagged structures. @package tagging @version 0.1 module Data.Tag type Str = ByteString type RegexStr = Str type Tag = Str type Tagged a = [(a, [Tag])] type Rules = [(Regex, [Tag])] mkRules :: [PCREOption] -> [(RegexStr, [Tag])] -> Rules getTags :: [PCREExecOption] -> Rules -> Str -> [Tag] mkTaggedWrt :: [PCREExecOption] -> Rules -> [a] -> (a -> Str) -> Tagged a allTags :: Rules -> [Tag] untagged :: Tagged a -> [a] usedTags :: Tagged a -> [Tag] unusedTags :: Rules -> Tagged a -> [Tag] hasTag :: Tag -> (a, [Tag]) -> Bool withTag :: Tag -> Tagged a -> Tagged a withoutTag :: Tag -> Tagged a -> Tagged a withAnyTag :: [Tag] -> Tagged a -> Tagged a