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

Tracking issue for lvgl-codegen and general code generation rewrite #100

Open
nia-e opened this issue Apr 6, 2023 · 2 comments
Open

Tracking issue for lvgl-codegen and general code generation rewrite #100

nia-e opened this issue Apr 6, 2023 · 2 comments
Labels
enhancement New feature or request meta Tracking other issues or pull requests

Comments

@nia-e
Copy link
Collaborator

nia-e commented Apr 6, 2023

This is a huge project and would lead to probably simplifying our lives a lot, but also will take a lot of brainpower to finish. My ideas would be to create something that allows for automatic code generation at compile-time so as to not require us to manually implement functions on e.g. widgets (and maybe more later). This would also probably harden us significantly against LVGL version bumps.

This is likely the most ambitious idea I've submitted yet. I plan to get started on this once everything else for 0.7 is done, or thereabouts (see #97). I will add relevant PRs and issues as they appear.

@nia-e nia-e added enhancement New feature or request meta Tracking other issues or pull requests labels Apr 6, 2023
@rafaelcaricio
Copy link
Collaborator

If we have a well-defined way of how widgets would look like in Rust then we can potentially write down the rules of conversion. This is what I was trying to do when writing the first version of the codegen. The greater problem, for me, was trying to do both (define common patterns and write down the codegen) at the same time. 😬

@nia-e
Copy link
Collaborator Author

nia-e commented Apr 7, 2023

I did notice there were some stragglers in the code (the analysis.rs module, for instance) - that's where I got the inspiration in fact. I might end up writing something in Coq and use that to sketch out the rules of generation - if so I'll make sure to drop a link to that repository here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request meta Tracking other issues or pull requests
Projects
None yet
Development

No branches or pull requests

3 participants
@rafaelcaricio @nia-e and others