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

Design the Verona type system in MLIR #104

Closed
rengolin opened this issue May 7, 2020 · 1 comment · Fixed by #206
Closed

Design the Verona type system in MLIR #104

rengolin opened this issue May 7, 2020 · 1 comment · Fixed by #206
Assignees

Comments

@rengolin
Copy link
Contributor

rengolin commented May 7, 2020

Verona types are complex. Non-trivial pointer provenance, region encoding, mutability, data isolation, conditional execution all complicate the system. The language shouldn't have any more notation that is required to accurately infer all types at compile time, but that means a more complex type inference engine is needed.

Before we design that engine, we need to know how those types will be represented in MLIR, on both opaque and explicit representations.

Acceptance criteria:

  • A (likely incomplete) consensus on the properties of the type system
  • A quick example on how we convert from opaque to explicit and how we infer types across calls
  • Examples in the opaque MLIR from Implement basic Parser #103 with tests updated to reflect design

Not included:

  • Support for the explicit representation it in the parser
  • Conversions or validation of any kind
@rengolin
Copy link
Contributor Author

Initial implementation in #206

@rengolin rengolin linked a pull request Aug 3, 2020 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants