Prettyfy definitions in Checker::run()

This commit is contained in:
Sam Vervaeck 2024-07-11 21:04:27 +02:00
parent c1e1962cfd
commit 1d091c58d0
Signed by: samvv
SSH key fingerprint: SHA256:dIg0ywU1OP+ZYifrYxy8c5esO72cIKB+4/9wkZj1VaY

View file

@ -713,13 +713,17 @@ void Checker::run(SourceFile* SF) {
TypeEnv Env; TypeEnv Env;
auto A = createTVar(); auto A = createTVar();
auto B = createTVar(); auto B = createTVar();
Env.add("Int", getIntType(), SymbolKind::Type); auto Bool = getBoolType();
Env.add("Bool", getBoolType(), SymbolKind::Type); auto Int = getIntType();
Env.add("String", getStringType(), SymbolKind::Type); auto String = getStringType();
Env.add("True", getBoolType(), SymbolKind::Var); Env.add("Int", Int, SymbolKind::Type);
Env.add("False", getBoolType(), SymbolKind::Var); Env.add("Bool", Bool, SymbolKind::Type);
Env.add("+", new TFun(getIntType(), new TFun(getIntType(), getIntType())), SymbolKind::Var); Env.add("String", String, SymbolKind::Type);
Env.add("-", new TFun(getIntType(), new TFun(getIntType(), getIntType())), SymbolKind::Var); Env.add("True", Bool, SymbolKind::Var);
Env.add("False", Bool, SymbolKind::Var);
Env.add("not", new TFun(Bool, Bool), SymbolKind::Var);
Env.add("+", new TFun(Int, new TFun(Int, Int)), SymbolKind::Var);
Env.add("-", new TFun(Int, new TFun(Int, Int)), SymbolKind::Var);
Env.add("$", new TypeScheme({ A, B }, new TFun(new TFun(A, B), new TFun(A, B))), SymbolKind::Var); Env.add("$", new TypeScheme({ A, B }, new TFun(new TFun(A, B), new TFun(A, B))), SymbolKind::Var);
auto Out = inferSourceFile(Env, SF); auto Out = inferSourceFile(Env, SF);
solve(Out); solve(Out);