-
Notifications
You must be signed in to change notification settings - Fork 21
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
Use JuliaLowering.jl for a cleaner way to transform resumable functions to finite state machines [$600] #99
Comments
Since JuliaLowering.jl is not registered, I wonder how you envisioned a solution using JuliaLowering.jl? |
Yeah, if this gets completed, it will not be merged for a while (especially given that there is not even a stability guarantee from the nonpublished JuliaLowering). As long as there is a branch on which a test runner that uses It would be lovely if the bounty winner comes around to help in actually merging this in a couple of years (when JuliaLowering is actually out), but that would not be a requirement. |
Also, FYI, I have not explored JuliaLowering much by myself. I know it already has most of the necessary features, but I have not checked for what is missing. It is possible that JuliaLowering itself will need additional work for this bounty to be done. |
This JuliaLowering issue describes most of the necessary steps though: c42f/JuliaLowering.jl#2 |
With all of the work done by @thofma , much of this bounty is already finished. Leaving the JuliaLowering part open for future work. |
Edit: #100 has fixed most of these issues without relying on the not-yet-published JuliaLowering.jl. It uses a local reimplementation of most scoping rules of the language, thus missing edge cases might exist. Leaving this (now smaller) bounty for future work of moving this implementation to JuliaLowering, to provide a more centralized source-of-truth on scoping.
This software transform annotated julia functions into finite state machines that can be paused and re-entered. The issue tracker has many reports of edge cases related to unsupported syntax or bugs due to loss of scope information. PR #92 even attempts to fix some of these issues, but it is too limited and ad-hoc.
JuliaLowering.jl is itself only experimental these days, but it should have enough capabilities for solving most of the issues depicted here.
To claim this bounty, "simply" fix all these issues ;) (or fix many or the related issues)
Required skills: Deep understanding of Julia macros, syntax, and lowering.
Reviewer: Stefan Krastanov
Duration: 3 months
Payout procedure:
The Funding for these bounties comes from the National Science Foundation and from the NSF Center for Quantum Networks. The payouts are managed by the NumFOCUS foundation and processed in bulk once every two months. If you live in a country in which NumFOCUS can make payments, you can participate in this bounty program.
Click here for more details about the bug bounty program.
Bug bounty logistic details (click to expand)
To claim exclusive time to work on this bounty either post a comment here or message [email protected] with:
Currently the project is claimed by
no one
until...
.If you want to, you can work on this project without making a claim, however claims are encouraged to give you and other contributors peace of mind. Whoever has made a claim takes precedence when solutions are considered.
You can always propose your own funded project, if you would like to contribute something of value that is not yet covered by an official bounty.
The text was updated successfully, but these errors were encountered: