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

Improve Python generator EDSL #1240

Open
1 of 6 tasks
sampsyo opened this issue Nov 8, 2022 · 0 comments
Open
1 of 6 tasks

Improve Python generator EDSL #1240

sampsyo opened this issue Nov 8, 2022 · 0 comments
Labels
C: Docs Documentation to add/improve Type: Tracker Track various tasks

Comments

@sampsyo
Copy link
Contributor

sampsyo commented Nov 8, 2022

The first version of the weird little Python EDSL for generating Calyx programs in #1229 leaves a lot of gaps! Here are some ideas for what to do to it next; please feel free to add.

  • Convenience for more control operators (par, while, if). (It is already allowed to construct the AST explicitly.) par should use Python `sets.
  • More coverage of stdlib components, and a way to construct user-defined (non-stdlib) components.
  • Continuous assignments. Probably do something like with comp.continuous:, or just have this be the default when you're not in a with.
  • @cgyurgyik's idea to add simple correctness checks for well-known stdlib cells: for example, throw an error when assigning to an unknown port. (There should be an easy way to declare the set of known ports for a given component.)
  • Explore @rachitnigam's idea re. swapping out the "backend" to generate in-memory IR instead of serializing the AST to text.
  • Documentation page.
@sampsyo sampsyo added the Type: Tracker Track various tasks label Nov 8, 2022
@rachitnigam rachitnigam changed the title [Tracking] Improve Python generator EDSL Improve Python generator EDSL Nov 13, 2022
@rachitnigam rachitnigam added the C: Docs Documentation to add/improve label Nov 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Docs Documentation to add/improve Type: Tracker Track various tasks
Projects
None yet
Development

No branches or pull requests

2 participants