diff

Run Settings
LanguageHaskell
Language Version
Run Command
import Diff --test main = do let x = [1,2,3,4,5] y = [1,0,3,6,5] print $ diff x y print $ diffIndex x y
module Diff ( diff , diffIndex ) where -- todo: generalize to all traversables/foldables diff :: Eq a => [] a -> [] a -> [(a,a)] diff [] _ = [] diff _ [] = [] diff (x:xs) (y:ys) | not $ x == y = (x,y):(diffi) | otherwise = diffi where diffi = diff xs ys _diffIndex :: Eq a => Int -> [] a -> [] a -> [Int] _diffIndex _ [] _ = [] _diffIndex _ _ [] = [] _diffIndex i (x:xs) (y:ys) | not $ x == y = i:(diffI) | otherwise = diffI where diffI = _diffIndex (i+1) xs ys diffIndex :: Eq a => [] a -> [] a -> [Int] diffIndex = _diffIndex 0
Editor Settings
Theme
Key bindings
Full width
Lines