packages feed

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