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 comptime interpreter #724

Merged
merged 12 commits into from
Nov 16, 2022
Merged

Implement comptime interpreter #724

merged 12 commits into from
Nov 16, 2022

Conversation

SuperAuguste
Copy link
Member

@SuperAuguste SuperAuguste commented Oct 28, 2022

yes

  • Fix memory leaks
  • Make this work enough
    • Runtime variable/value ignore
    • Arguments work
    • Container scopes
    • Use DocStore
    • Imports work
    • Bonus! builtin
    • Bonus! myFunction(MyType, myValueOfType)
  • Actually use this in analysis

Might not implement bonuses, as Andreas Kling (loosely) said: better to get stuff in now and build on it later

@InKryption
Copy link
Contributor

InKryption commented Oct 28, 2022

Just fyi, fields with the name type can be written without @"" syntax. Same story for other type names.

@SuperAuguste
Copy link
Member Author

SuperAuguste commented Nov 10, 2022

tbh it's starting to come together, not sure when I should drop this, I don't wanna keep it a draft forever :P

EDIT: Gonna aim to merge this in its current state ASAP, it's not great but it's kind of coming together and could slightly (though only marginally) improve UX, plus it shouldn't detract from people's "regular" zls experience.

@SuperAuguste SuperAuguste marked this pull request as ready for review November 10, 2022 04:46
Copy link
Member

@Techatrix Techatrix left a comment

Choose a reason for hiding this comment

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

🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀
These are just some small notes from looking over your code. Nothing major (i didn't even run it)
I think its better to just push this through and fix issues later. If someones want's a stable experience they can use the 0.10.0 release.
I do have some more ideas on how this interpreter could be improved/simplified but i will hold back until i have something more concrete in my hands.

Before we merge this i would suggest that we have a bigger collection of tests. I think i can make some time on Sunday to create a (hopefully) large test suite.
🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀 🚀

@SuperAuguste
Copy link
Member Author

SuperAuguste commented Nov 10, 2022

Before we merge this i would suggest that we have a bigger collection of tests. I think i can make some time on Sunday to create a (hopefully) large test suite.

Thanks for volunteering, I'll get a few small tests going and fix your suggestions :)

(And thank you so much for taking the time to review this!! :))

@SuperAuguste
Copy link
Member Author

Gotta reclaim my spot on the contributor list 🏃‍♂️

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.

3 participants