@@ -18,35 +18,8 @@ import Type.Fragment
18import qualified Type.Environment as Env
18import qualified Type.Environment as Env
19import qualified Type.Constrain.Literal as Literal
19import qualified Type.Constrain.Literal as Literal
20import qualified Type.Constrain.Pattern as Pattern
20import qualified Type.Constrain.Pattern as Pattern
22−{-- Testing section --}
23−import SourceSyntax.PrettyPrint
24−import Text.PrettyPrint as P
25−import Parse.Expression
26−import Parse.Helpers (iParse)
27−import Type.Solve (solve)
28−import qualified Type.State as TS
29import qualified Transform.SortDefinitions as SD
21import qualified Transform.SortDefinitions as SD
32− case iParse expr "" str of
33− Left err -> error $ "Parse error at " ++ show err
34− Right expression -> do
35− env <- Env.initialEnvironment []
37− let expr = SD.sortDefs expression
39− constraint <- constrain env expr (VarN v)
40− print =<< extraPretty constraint
41− state <- execStateT (solve constraint) TS.initialState
42− let errors = TS.sErrors state
43− forM (Map.toList (TS.sSavedEnv state)) $ \(n,t) -> do
45− print $ P.text n <+> P.text ":" <+> pt
46− if null errors then return () else do
48− mapM_ print =<< sequence errors
49−{-- todo: remove testing code --}
51constrain :: Env.Environment -> LExpr a b -> Type -> IO TypeConstraint
24constrain :: Env.Environment -> LExpr a b -> Type -> IO TypeConstraint
52constrain env (L _ _ expr) tipe =
25constrain env (L _ _ expr) tipe =