Roadmap #662
ISSOtm
started this conversation in
Discussions
Roadmap
#662
Replies: 1 comment 2 replies
-
Considering these are such disparate issues, it might be worth it to open separate discussions for each and link them here. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
RGBDS is going through a transition phase of sorts, where answering some challenges (mainly implementing requested features) will require large changes. Thing is, some of these changes require others, which creates a dependency tree, recorded here so that people can contribute in useful ways.
Symbol "layering" system
Expression system rewrite
An expression can either be "known", storing a single
i32
value, or "unknown", storing a full-blown RPN expression. (Numeric constants are known, symbols may or may not be, and the logic for operators is generally that it's known if all operands are, but there are exceptions).Eager evaluation of expressions is a triple performance benefit:
realloc
is slow)IF
,REPT
, everything called const or uconst in the grammar); eager evaluation only computes them onceread
, lessrealloc
Thus, eager evaluation cannot go away. It however has problems:
A proper expression rewrite is required for the following:
Beta Was this translation helpful? Give feedback.
All reactions