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

Compiling ascent at runtime #16

Closed
jzimmerman135 opened this issue Jul 31, 2023 · 2 comments
Closed

Compiling ascent at runtime #16

jzimmerman135 opened this issue Jul 31, 2023 · 2 comments

Comments

@jzimmerman135
Copy link

Is there any way I can make the ascent embedded program dynamically generated?
Would there be an internal function that might help, even if not part of the user-facing API?

Thanks!

@kmicinski
Copy link
Collaborator

kmicinski commented Dec 13, 2023

Hi there. Arash graduated his PhD last year, and has less time to add new features to Ascent. This is a great idea, and I'd like consider adding it. Our lab is looking into a fork of Ascent where we support incremental compilation and similar concerns--but I believe the current Ascent has no plans to grow towards incremental compilation right now.

To give an idea of why this is hard: when compiling Datalog, you perform index selection based on the total computation (as you likely know, this is what distinguishes Datalog from SQL). When you add new rules, you may necessitate new indices, which may require a migration from a pre-existing index. However, there are trade-offs here: in some circumstances you may want to just scan-then-filter. At its limit, adding incremental rules to Datalog starts to look a lot like SQL, which is why it is an interesting problem. I am happy to brainstorm more if you'd like, but for now I am going to close the issue since I think it's not within scope of the current Ascent. Feel free to email me: kkmicins@syr.edu

@jzimmerman135
Copy link
Author

Thanks for the update, congrats to Arash!

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

No branches or pull requests

2 participants