|
|
type TagMedia key prim = T (Tag key prim) |
|
type T key prim = [(key, TagMedia key prim)] |
|
fromMedia :: (Ord key, Ord prim) => [key] -> Int -> T prim -> T key prim |
|
toMedia :: (Show key, Ord key, Ord prim) => T key prim -> T prim |
|
expand :: (Show key, Ord key, Ord prim) => T key prim -> [(key, T prim)] |
|
whileM :: MonadState s m => (a -> Bool) -> [m a] -> m [a] |
|
condense :: (Ord key, Ord prim) => key -> T key prim -> (Int, T key prim) |
|
joinTag :: Tag key (TagMedia key prim) -> TagMedia key prim |
|
replaceInfix :: (Eq a, Eq b) => a -> [b] -> [b] -> [Tag a b] |
|
isCyclic :: Eq a => [a] -> Bool |
|
smallestCycle :: Eq a => [a] -> [a] |
|
maximumCommonInfix :: (Ord a, Ord b) => ([a] -> b) -> [a] -> [a] |
|
maximumCommonInfixMulti :: (Ord a, Ord b) => ([a] -> b) -> [[a]] -> [a] |
|
maximumByMag :: Ord b => (a -> b) -> [a] -> a |
|
commonPrefix :: Eq a => [a] -> [a] -> [a] |