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

Audit ModuleToKore for non-trivial operations #3444

Closed
Baltoli opened this issue Jun 1, 2023 · 4 comments
Closed

Audit ModuleToKore for non-trivial operations #3444

Baltoli opened this issue Jun 1, 2023 · 4 comments

Comments

@Baltoli
Copy link
Contributor

Baltoli commented Jun 1, 2023

We currently do a lot of "extra" work inside ModuleToKore that would be better implemented as explicit compiler passes; Pyk doesn't need to do this, which indicates that ModuleToKore could be simplified down to a trivial Kast -> Text transformation.

The first step towards simplifying the code is to dig through it and find places where we're doing this extra work, and make it an explicit compiler pass before ModuleToKore runs.

@ehildenb
Copy link
Member

ehildenb commented Jun 15, 2023

Examples:

@radumereuta
Copy link
Contributor

The last few commits referenced here have been reverted since they introduced noticeable performance regressions.
Please revisit when we have a better understanding of what went wrong.
The reverts: #3554 #3560

@dwightguth
Copy link
Collaborator

I'm pretty sure the performance regression is related to the fact that I spotted duplicate instances of certain rules in the definition before this change was reverted and now they're gone. I would suggest double checking that you didn't pass module.sentences() somewhere that module.localSentences() was appropriate. This type of duplication often happens due to a mistake where a module is transformed to include all the sentences from its recursive imports.

@Baltoli
Copy link
Contributor Author

Baltoli commented Mar 26, 2024

Closing this as superseded by @tothtamas28's recent work on translating M2K to Pyk.

@Baltoli Baltoli closed this as completed Mar 26, 2024
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

No branches or pull requests

5 participants