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

placeholder #699

Closed
wants to merge 7 commits into from
Closed

placeholder #699

wants to merge 7 commits into from

Conversation

MicroProofs
Copy link
Member

placeholder

Quantumplation and others added 7 commits August 7, 2023 15:32
Any methods to a recursive function that are unchanged and forwarded
don't need to be applied each time we recurse; instead, you can
define a containing lambda, reducing the number of applications
dramatically when recursing
We also flip the recursive_statics fields to recursive_nonstatics; This makes the codegen a little easier.  It also has a hacky way to hard code in some recursive statics for testing
Adds an identify_recursive_static_params; doesn't handle all shadowing cases yet
I originally didn't add this because I thought this was mutually
recursive functions, which I couldn't picture how that would work;

I refactored all this logic into modify_self_calls, which maybe needs a
better name now.

Perf gain on some stdlib tests (line concat tests) is 93%!!
@MicroProofs MicroProofs closed this Aug 7, 2023
@rvcas rvcas deleted the pi/static-recursives branch August 17, 2023 04:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ❌ Canceled
Development

Successfully merging this pull request may close these issues.

2 participants