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

Implement predictability heuristics #2

Open
Hirrolot opened this issue Jul 11, 2024 · 0 comments
Open

Implement predictability heuristics #2

Hirrolot opened this issue Jul 11, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Hirrolot
Copy link
Contributor

We already have the @extract thing, but it is only a low-level mechanism. It is desirable for supercompilation to be predictable both in terms of the supercompiler itself (memory consumption & running times) and residual programs (memory consumption & running times & program size).

There is already some prior work on this matter, see 1, 2, 3, and 4.

We can also take inspiration from adjacent fields, most notably deforestation and partial evaluation.

Footnotes

  1. Jonsson, Peter & Nordlander, Johan. (2011). Taming code explosion in supercompilation. PERM'11 - Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. 33-42. 10.1145/1929501.1929507.

  2. Jonsson, Peter A. Time-and size-efficient supercompilation. Diss. Luleå tekniska universitet, 2011.

  3. Inoue, Jun. "Supercompiling with Staging." Fourth International Valentin Turchin Workshop on Metacomputation. 2014.

  4. Askar, Ammar and Benjamin Delaware. “Tailored Termination for Optimal Supercompilation.” (2019).

@Hirrolot Hirrolot self-assigned this Jul 11, 2024
Hirrolot added a commit that referenced this issue Jul 16, 2024
@Hirrolot Hirrolot added the enhancement New feature or request label Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant