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

Move desugaring to new roc_can_solo crate #7533

Merged
merged 2 commits into from
Jan 20, 2025

Conversation

smores56
Copy link
Collaborator

We eventually want to split all canonicalization that can be done solo into the roc_can_solo crate and put whatever else remains into a roc_can_combine crate. As a preliminary step, this change pulls just the initial desugaring work out from canonicalization into roc_can_solo. There is some cruft (e.g. unnecessary cloning of data, some dead code, etc.) added here, but it should make for an easier transition to the new state of canonicalization. Some notes on the changes:

  • The desugaring changes look massive, but really, I just moved everything to the new crate except for the desugar_invalid_dbg_expr code since it's used in the middle of canonicalization and not at the beginning like the other code.
  • I didn't set up really for caching besides the bare minimum; we have intentionally pulled out caching into a separate issue since this change, though focused around enabling caching, will work without it, and that issue should be a good learning opportunity for a new compiler contributor.

@smores56 smores56 merged commit 809fe23 into roc-lang:main Jan 20, 2025
19 checks passed
@smores56 smores56 deleted the simple-can-solo branch January 20, 2025 03:06
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 this pull request may close these issues.

2 participants