packages feed

HarmTrace-0.4: MIR/Matching/Standard.hs

module MIR.Matching.Standard where

import Data.Algorithm.Diff -- cabal install Diff

diff :: (Eq a) => [a] -> [a] -> [(DI,a)]
diff = getDiff

diffLen :: (Eq a) => [a] -> [a] -> Float
diffLen x y = fromIntegral (len (diff x y)) / fromIntegral (length x)

len :: [(DI,a)] -> Int
len []        = 0
len ((B,_):t) = len t
len ((_,_):t) = 1 + len t