-
Notifications
You must be signed in to change notification settings - Fork 161
Refactor schema representation and code generation #308
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
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
10236d8
to
f2b3eee
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
15362fa
to
986e75f
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
618f2ce
to
ecd34f2
Compare
Squashed: - Flatten type-refining fragments ...when they are the only selection on the variant.
I'm going to merge this soon, since it my view it's a clear improvement, and it's blocking me from working on other issues. |
Sounds good to me; I won't block it, but I also haven't gone through with a fine-tooth comb either. The broad strokes I see when skimming look good though. |
Yes it's way too big to expect a thorough review - I wish I'd managed to break it into reviewable parts, but it started as an experiment and was that for a long time, and by the time I found a structure that worked very nicely there were a bunch of improvements and refactorings mixed together. And I don't have the spare time to make it much tidier unfortunately. Thanks for taking a look though :) |
This is a huge refactoring based on an idea to model the schema with a proper normalized representation. The results so far are promising in terms of code clarity and maintainability. At the moment, this is far from complete.
Previously, name resolution, query validation and code generation all happened in one pass. In this PR, these three are cleanly separated, leading to much more understandable code in my opinion.