ToDoList.txt 2.0 KB

1234567891011121314151617181920212223242526272829303132
  1. -----------------------------------------------------------
  2. GameMonkey Script TODO list
  3. In no particular order unless otherwise specified. No time
  4. frame for changes or features, so effectively a wish list.
  5. -----------------------------------------------------------
  6. o Fix issue where reported error line is not exact. Occurs due to instruction pointer increment before exception handling.
  7. o Fix empty / commented out script from producing parse error. Work around: Add a ';' semicolon to end of source, or ignore known empty scripts.
  8. o Change overide 'this' syntax from this:func() to func<this>() to support member chains eg. a.b.c<t>()
  9. Part o Put ++, -- operators back, but perhaps don't let them be used in conditions for consistency.
  10. (pre inc/dec are back in, but post inc/dec should be added also.
  11. o Make string hash table resize for efficiency in string intensive applications.
  12. o Make compiler thread safe. Probably by moving to Lemon parser and Flex++.
  13. o Make user type Ids sharable between gmMachine instances so identical registration order is not required.
  14. o Add exception handling like try / catch blocks.
  15. o Possibly move code from gmThread into gmMachine.
  16. o Possibly optimize byte code by moving to register stack machine.
  17. o Possibly allow extra (eg. variable number of) parameters to be passes as a table to script functions.
  18. o Optimize thread code to efficiently handle enormous numbers of threads.
  19. o Expose more to the debugger.
  20. o Eventually remove classic garbage collector, leaving only incremental collector.
  21. o Option for unicode strings.
  22. o Binding to allow user type creation and operator functions from within script.
  23. o Possibly store the 'color' bit and 'persistent' bit flags for GCObjects in the lower, unused part of the list pointer.
  24. o Possibly change the double linked list to a single XOR encoded link. This CPU for memory trade may not be worthwhile.
  25. Done
  26. o Make 64bit compatible.
  27. o Add 64bit MSVC GME build configs for testing and use