@@ -16,34 +16,6 @@ import qualified SourceSyntax.Pattern as SP
1616import qualified SourceSyntax.Expression as SE
1717import qualified SourceSyntax.Type as ST
1818
19−{-- testing section --}
20−import SourceSyntax.PrettyPrint
21−import SourceSyntax.Module
22−import Text.PrettyPrint as P
23−import Parse.Parser (parseProgram)
24−import Type.Solve (solve)
25−import qualified Type.State as TS
26−import Control.Monad.State
27−import Transform.SortDefinitions as Sort
28−
29−test filePath = do
30− src <- readFile filePath
31− case parseProgram src of
32− Left err -> error $ "Parse error at " ++ show err
33− Right (Module _ _ _ decls) -> do
34− env <- Env.initialEnvironment
35− var <- T.flexibleVar
36− let expr = sortDefs (toExpr decls)
37− print $ pretty expr
38− constraint <- TcExpr.constrain env expr (T.VarN var)
39− --print =<< T.extraPretty constraint
40− (env,_,_,errors) <- execStateT (solve constraint) TS.initialState
41− forM (Map.toList env) $ \(n,t) -> do
42− pt <- T.extraPretty t
43− print $ P.text n <+> P.text ":" <+> pt
44− if null errors then return () else do
45− putStrLn "\n"
46− mapM_ print =<< sequence errors
4719
4820toExpr decls =
4921 SL.none $ SE.Let (concatMap toDefs decls) (SL.none $ SE.Literal (SL.IntNum 42))