packages feed

gpah-0.0.1: src/Generics/GPAH/Interp/PPrint.hs

module Generics.GPAH.Interp.PPrint where

import Generics.GPAH.Interp.Base
import Text.CSV
import System.IO
import qualified Data.Map as M
import Data.List
import Data.Function (on)


pprint :: Analysis -> FilePath -> IO ()
pprint (Analysis a1) fp = do
  let p = [["NrTypes", show $ length $ concat $ M.elems a1],
           ["AssocTypes", show $ map (\ t -> (t, length $ filter (t `isInfixOf`) $ concat $ M.elems a1))  intTypes]
          ]
      pCSV = printCSV p

  writeFile fp pCSV

  putStrLn "Interpretation Results:\n###############"
  putStrLn pCSV