Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite TypeChecker #63

Open
spotandjake opened this issue Jan 4, 2023 · 0 comments
Open

Rewrite TypeChecker #63

spotandjake opened this issue Jan 4, 2023 · 0 comments

Comments

@spotandjake
Copy link
Owner

The current type checker while it works somewhat, it was made on the basis of what I needed at the time with little research into actual type checkers.

We want to rewrite it completly from scratch to support Type Intersection, Polymorphism and Proper Type Compatibility Checks.

What we need to determine:

  • Does Brisk use structural equality or Nominal typing or A Mix of both this is very important currently brisk Mainly uses Nominal typechecking with a hint of Structural typing I really like this approach but I feel like we need to write out and prove the rules before they can be trusted.
  • Helper functions, A lot of the work a typechecker has todo is the same and just runs of different nodes we need to determine what helpers we need and how they work.
  • Wasm Alias Types, Currently we have a massive file that defines the type Defintions for all the wasm Aliases we use this works but sucks for maintainability, correctness and it is a lot of extra code in the compiler some things to consider are generating this from the spec or our wasmBuilder, or figuring out a way to define this in the language itself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant