gpah-0.0.1: src/Generics/GPAH/Upl/PPrint.hs
module Generics.GPAH.Upl.PPrint where
import Generics.GPAH.Upl.Base
import Text.CSV
import System.IO
import qualified Data.Map as M
import Data.Function
pprint :: Analysis -> FilePath -> IO ()
pprint (Analysis m) fp = do
let p = [["ModulesUsingManualSpeed(Direct)", show $ maybe 0 length $ M.lookup ManualSpeed m],
["ModulesUsingManualPointless(PlateTypeable)", show $ maybe 0 length $ M.lookup ManualPointless m],
["ModulesUsingAutomatic(PlateData)", show $ maybe 0 length $ M.lookup Automatic m],
["ModulesUsingMixed(DataOnly)", show $ maybe 0 length $ M.lookup Mixed m]
]
pCSV = printCSV p
writeFile fp pCSV
putStrLn "Uniplate Results:\n###############"
putStrLn pCSV