11
22let typecheck(): Nil = (
3- print("Typecheck 1\n");
43 infer-global-context-prim(ast-parsed-program);
5- print("Typecheck 2\n");
64 infer-global-context-td(ast-parsed-program);
7- print("Typecheck 3\n");
85 infer-global-context(ast-parsed-program);
9- print("Typecheck 4\n");
106 assert-no-infinite-types();
11- print("Typecheck 5\n");
127 (global-flow-tctx, ast-parsed-program) = infer-global-terms(global-flow-tctx, ast-parsed-program);
138 tctx-currently-processing-globals = false;
14- print("Typecheck 6\n");
159 (global-flow-tctx, ast-parsed-program) = std-infer-expr(global-flow-tctx, ast-parsed-program, false, Used, ta);
16- print("Typecheck 7\n");
1710 # TODO: release globals for graceful exit
1811 while non-zero(stack-to-specialize) { match stack-to-specialize {
1912 # this can't be a normal for-loop because it gets extended during iteration
@@ -22,11 +15,7 @@ let typecheck(): Nil = (
2215 specialize(key, ctx, result-type, term);
2316 );
2417 }};
25- print("Typecheck 8\n");
2618 validate-interfaces();
27- print("Typecheck 9\n");
2819 assert-well-typed(ast-parsed-program);
29- print("Typecheck 10\n");
3020 decorate-var-to-def();
31- print("Typecheck 11\n");
3221);
0 commit comments