Safe Haskell | None |
---|

- data Group a = Filter {}
- data CostDiv a = CostDiv {}
- mapWeight :: (Weight -> Weight) -> Group a -> Group a
- costDefault :: Eq a => CostDiv a
- type Sub a = Map Weight (Set a)
- mkSub :: Ord a => [(a, Weight)] -> Sub a
- unSub :: Ord a => Sub a -> [Group a]
- type SubMap a = Map a (Sub a)
- subOn :: Ord a => a -> SubMap a -> Sub a
- mkSubMap :: Ord a => [(a, a, Weight)] -> SubMap a
- toCost :: Double -> CostDiv a -> Cost a
- toCostInf :: CostDiv a -> Cost a

# Documentation

TODO: Add Choice data contructor together with appropriate implementation: Choice Char Weight

Cost function with edit operations divided with respect to weight. Two operations with the same cost should be assigned to the same group.

costDefault :: Eq a => CostDiv aSource