Skip to content

Conversation

@TristonianJones
Copy link
Collaborator

@TristonianJones TristonianJones commented Aug 15, 2023

Support for constant folding and configurable optimizers.

Constant folding introduces several API changes to support the construction
ASTs which are intended to be type-check and unparser friendly. The constant
folding algorithm exercises many parts of this new framework and does
best effort folding through comprehension expressions as well.

Static optimizers are standalone instances and not configured as part of the standard
environment simply because their options, configurations, and sequencing may be
use-case specific and might not fit well within the parse -> compile -> eval flow.

@TristonianJones TristonianJones force-pushed the optimizer branch 9 times, most recently from 6e72efa to ec77e3c Compare August 19, 2023 02:40
@TristonianJones TristonianJones force-pushed the optimizer branch 2 times, most recently from bc82f3b to a9dc6fa Compare August 23, 2023 23:47
@TristonianJones TristonianJones requested a review from l46kok August 23, 2023 23:49
@TristonianJones TristonianJones marked this pull request as ready for review August 23, 2023 23:50
Copy link
Collaborator

@l46kok l46kok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Submitting what I have so far -- the literal adaptation and optional handling is sufficiently complex. It could be a good idea to create abstractions for them to reuse them across other optimizer implementations.

@TristonianJones TristonianJones changed the title Static optimizers for inlining and constant folding Static optimizers for constant folding Aug 25, 2023
l46kok
l46kok previously approved these changes Aug 30, 2023
@TristonianJones
Copy link
Collaborator Author

PTAL

@TristonianJones TristonianJones merged commit 705546a into google:master Aug 30, 2023
@TristonianJones TristonianJones deleted the optimizer branch August 30, 2023 23:23
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