Updated roadmap to reflect progress made

Bobbi Webber-Manners 2018-05-13 14:01:44 -04:00
parent 0cd43f9b5b
commit 7d9e48362c

@ -4,7 +4,7 @@ This is where I keep track of what to do next ...
## Near-Term ## Near-Term
- A way to pass string literals as subroutine arguments - A way to pass string literals as subroutine arguments
- Write a non-trivial app in EightBall to discover the pain points and the bugs that `unittest.8b` doesn't reveal - Write a non-trivial app in EightBall to discover the pain points and the bugs that `unittest.8b` doesn't reveal. **I am writing a version of Tetris for Apple II lo-res mode.**
- Try to squeeze the interpreter / compiler code down a bit to save memory. - Try to squeeze the interpreter / compiler code down a bit to save memory.
- There is duplication that can be eliminated by reorganizing the logic and/or factoring out into functions. For example, `getintvar()`/`setintvar()`. - There is duplication that can be eliminated by reorganizing the logic and/or factoring out into functions. For example, `getintvar()`/`setintvar()`.
- Also, use preprocessor to allow compiler and/or interpreter to be disabled. - Also, use preprocessor to allow compiler and/or interpreter to be disabled.
@ -23,8 +23,7 @@ This is where I keep track of what to do next ...
- Need to think about how a module system should work - Need to think about how a module system should work
- Which is more useful: dynamic loading of modules at runtime, or static linking? - Which is more useful: dynamic loading of modules at runtime, or static linking?
- Optimize virtual machine bytecodes, based on study of real code - Optimize virtual machine bytecodes, based on study of real code
- For example, it would be good to have an instruction to drop n bytes from call stack rather than repeated `POP`, `DROP` as the compiler currently does after subroutine return. - Compiler often writes variable, and immediately needs it again. This can be optimized easily by adding some "store and preserve" VM instructions.
- Another easy case. Compiler often writes variable, and immediately needs it again. This can be optimized easily by adding some "store and preserve" VM instructions.
Today: Today:
``` ```