module Testbed(module PPrint,
module Id,
module Kind, module Type, module Pred, module Scheme,
module Subst, module Unify,
module Assump,
module Lit, module Pat, module TIMain, module TIProg,
module Static,
test, save) where
import PPrint
import Id
import Kind
import Type
import Pred
import Scheme
import Subst
import Unify
import Assump
import Lit
import Pat
import TIMain
import TIProg
import Static
test :: ClassEnv -> [Assump] -> [BindGroup] -> IO ()
test ce as bgs = putStr $ render $ vcat $ map pprint $ reverse $
tiProgram' ce as bgs
save :: String -> ClassEnv -> [Assump] -> [BindGroup] -> IO ()
save f ce as bgs
= writeFile ("Haskell" ++ f ++".hs")
("-- Automatically generated typing assumptions for " ++ f ++
"\n\nmodule Haskell" ++ f ++ " where\n\
\import Testbed\n\
\import Static" ++ f ++ "\n\n\
\defnsHaskell" ++ f ++ "\n" ++
render
(text " = " <+>
brackets (fsep (punctuate comma (map pprint as'))))
++ "\n")
where as' = reverse $ tiProgram' ce as bgs