Does anyone happen to have implemented diff in Haskell? Something like diff :: Ord a -> [a] -> [a] -> [DiffElement a]
data DiffElement a = InBoth a | InFirst a | InSecond a So for example diff [1,2,3,4,5] [2,3,6,7,4] might return [InFirst 1,InBoth 2,InBoth 3,InSecond 6,InSecond 7,InBoth 4,InFirst 5] It would try to make the output list as short as possible, while still maintaining that the subsequence of InFirst and InBoth a's is the same as its first argument, while the subsequence of InSecond and Both a's is the same as its second argument. However it doesn't have to return the shortest possible output list; it may be that it can compute one which is close to optimal much faster. Also if you'd rather have a hash function than Ord I can manage that. Thanks if anyone can help, and save me a bit of work ... George Russell _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell