-
-
Notifications
You must be signed in to change notification settings - Fork 101
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
Refactor Types and Exprs modules #293
Merged
MateuszKubuszok
merged 10 commits into
feature/typed-inner-abatractions
from
feature/typed-inner-abstractions-types-exprs-refactor
Apr 18, 2023
Merged
Refactor Types and Exprs modules #293
MateuszKubuszok
merged 10 commits into
feature/typed-inner-abatractions
from
feature/typed-inner-abstractions-types-exprs-refactor
Apr 18, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- split Types (language & stdlib types) and ChimneyTypes (library-specific types) - simplify the API structure
MateuszKubuszok
approved these changes
Apr 18, 2023
4 tasks
krzemin
added a commit
that referenced
this pull request
Apr 18, 2023
* The first draft of an elternative structure for macros towards which current code could be migrated, one rule by one * Small cleanup * fixup! Small cleanup * Split Transformer, PartialTransformer and Patcher into shared code and *Platform files * Initial Scala 3 implementation for some of compiletime abstractions * Remodel new types abstractions a bit * Move logging from Context to DerivationResult * Add missing abstractions from old macros * Refactor Types/Exprs module (#293) * Refactor Types abstractions: - split Types (language & stdlib types) and ChimneyTypes (library-specific types) - simplify the API structure * Restructure Scala 2 platform types impl * make Scala 2 code compiling * implement Scala 3 types, make it compile * refactor Exprs interface * implementation of new Expr interface for Scala 2 * implementation of new Expr interface for Scala 3 * remove unused code * resolved TODO comments with implicit exprs resolution * uncomment code * Share TransformerDefinitionErrors, split TransformerContext and PatcherContext, fix legacy macro workaround implementation (#294) * Share TransformerDefinitionErrors, split TransformerContext and PatcherContext, fix legacy macro workaround implementation * Improve error handling in Results * Move DerivationResult to a separate file outside mix-in * Remove unnecessary src = src * Fix to actually use the implementation in Gateway * Remove resolved todo in reportError * Align transformerDefinitionPrefix type with what is used in legacy macros, use proper error reporing in flag parsing * Move derivation related traits to transformer subpackage --------- Co-authored-by: Piotr Krzemiński <2477704+krzemin@users.noreply.github.com>
krzemin
added a commit
that referenced
this pull request
Apr 19, 2023
* The first draft of an elternative structure for macros towards which current code could be migrated, one rule by one * Small cleanup * fixup! Small cleanup * Split Transformer, PartialTransformer and Patcher into shared code and *Platform files * Initial Scala 3 implementation for some of compiletime abstractions * Remodel new types abstractions a bit * Move logging from Context to DerivationResult * Add missing abstractions from old macros * Refactor Types/Exprs module (#293) * Refactor Types abstractions: - split Types (language & stdlib types) and ChimneyTypes (library-specific types) - simplify the API structure * Restructure Scala 2 platform types impl * make Scala 2 code compiling * implement Scala 3 types, make it compile * refactor Exprs interface * implementation of new Expr interface for Scala 2 * implementation of new Expr interface for Scala 3 * remove unused code * resolved TODO comments with implicit exprs resolution * uncomment code * Share TransformerDefinitionErrors, split TransformerContext and PatcherContext, fix legacy macro workaround implementation (#294) * Share TransformerDefinitionErrors, split TransformerContext and PatcherContext, fix legacy macro workaround implementation * Improve error handling in Results * Move DerivationResult to a separate file outside mix-in * Remove unnecessary src = src * Fix to actually use the implementation in Gateway * Remove resolved todo in reportError * Align transformerDefinitionPrefix type with what is used in legacy macros, use proper error reporing in flag parsing * Move derivation related traits to transformer subpackage --------- Co-authored-by: Piotr Krzemiński <2477704+krzemin@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactor of Types and Exprs modules according to the idea presented in this comment
Also extracted Chimney-specific types/exprs to separate modules.