mirror of
https://github.com/bobbimanners/EightBall.git
synced 2024-11-22 12:34:23 +00:00
Updated roadmap to reflect progress made
parent
0cd43f9b5b
commit
7d9e48362c
@ -4,7 +4,7 @@ This is where I keep track of what to do next ...
|
||||
|
||||
## Near-Term
|
||||
- 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.
|
||||
- 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.
|
||||
@ -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
|
||||
- Which is more useful: dynamic loading of modules at runtime, or static linking?
|
||||
- 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.
|
||||
- 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.
|
||||
- Compiler often writes variable, and immediately needs it again. This can be optimized easily by adding some "store and preserve" VM instructions.
|
||||
|
||||
Today:
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user