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

Experiment with closure of objects #421

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

fizruk
Copy link
Collaborator

@fizruk fizruk commented Jun 21, 2024

This is an experiment to see if we can speed up computation and improve the final object representation:

  • Introduce closure for objects.
  • Implement (standard) rules via closures.
  • Improve conversion from closures to attach (and reuse) $\rho$-attributes to temporary objects in the global formation

PR-Codex overview

The focus of this PR is to introduce delayed substitutions in the Language.EO.Phi.Rules.Delayed module.

Detailed summary

  • Added Language.EO.Phi.Rules.Delayed module
  • Updated functions to use delayed substitutions
  • Modified imports to reflect the changes
  • Implemented delayedYegorInsideOut function
  • Added objectDispatchClosure and applicationClosure functions

The following files were skipped due to too many changes: eo-phi-normalizer/src/Language/EO/Phi/Rules/Delayed.hs

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

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.

None yet

1 participant