-
Notifications
You must be signed in to change notification settings - Fork 14
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
Common Context objects for phases on core and lifted #204
Conversation
This is intended to be reused across backends, and contains helper methods to search in the definitions The implementation is not very efficient (but this could be improved).
2dd1315
to
8503046
Compare
Rebased [note: There were no new changes compared to |
To make using it easier.
An alternative to the current design could also be to return, from e.g.
etc.
|
Additional note on |
Decl is just a stripped-down version of Declaration anyway. We can add it back once we actually do a type-preserving transformation from core to lifted.
The Context will be tracked separately as needed. We only depend on using ErrorReporter. Later, try dropping the "using Context" in Phases on core (and just use ErrorReporter), to enforce that we do not depend on the source symbols.
Also uses XRef-case classes to also cache the path to the X (e.g., for a field, the Data and Constructor).
instead of inspecting the symbols
If we want anything after core.Transformer not to inspect symbols, we will have to also encode |
I think this will be a bigger (-ish) and somewhat separate change, and thus make a separate PR for it. |
76428a5
to
31d695e
Compare
effekt/shared/src/main/scala/effekt/generator/chez/ChezScheme.scala
Outdated
Show resolved
Hide resolved
This reverts part of 2f3354c. There, this was deleted in error.
effekt/shared/src/main/scala/effekt/generator/js/JavaScript.scala
Outdated
Show resolved
Hide resolved
Otherwise it LGTM |
No description provided.