gdiff-th-0.1.0.0: examples/CompareVersions.hs
{-# LANGUAGE TemplateHaskell, QuasiQuotes, TypeSynonymInstances, FlexibleContexts,
GADTs, ExistentialQuantification, MultiParamTypeClasses, FlexibleInstances #-}
module Main where
import Language.Haskell.Exts (parseFile, Module, ParseResult(..), fromParseResult)
import Data.Generic.Diff.TH
import Data.Generic.Diff
import Control.Applicative
import Utils
makeGDiff ''Module
diffModule :: (Type ModuleFamily Module)
=> Module -> Module -> EditScript ModuleFamily Module Module
diffModule = diff
main = do
old <- fromParseResult <$> parseFile "examples/Old.hs"
new <- fromParseResult <$> parseFile "examples/New.hs"
showCompressed $ diffModule old new