prog8/docs/source/todo.rst

43 lines
1.2 KiB
ReStructuredText
Raw Normal View History

2018-08-06 01:35:43 +00:00
====
TODO
====
2019-01-24 01:43:25 +00:00
Memory Block Operations integrated in language?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2018-08-06 01:35:43 +00:00
2019-01-24 01:43:25 +00:00
@todo list,string memory block operations?
2018-08-06 01:35:43 +00:00
- list operations (whole list, individual element)
operations: set, get, copy (from another list with the same length), shift-N(left,right), rotate-N(left,right)
clear (set whole list to the given value, default 0)
2018-10-30 19:29:03 +00:00
- list operations ofcourse work identical on vars and on memory mapped vars of these types.
2018-08-06 01:35:43 +00:00
- strings: identical operations as on lists.
these should call (or emit inline) optimized pieces of assembly code, so they run as fast as possible
2019-01-24 01:43:25 +00:00
For now, we have the ``memcopy`` and ``memset`` builtin functions.
More optimizations
^^^^^^^^^^^^^^^^^^
Add more compiler optimizations to the existing ones.
- on the language AST level
- on the StackVM intermediate code level
- on the final assembly source level
Also some library routines and code patterns could perhaps be optimized further
Misc
^^^^
- sqrt() should have integer implementation as well, instead of relying on float SQRT for all argument types
- code generation for POW instruction
2019-01-27 21:59:40 +00:00
- make sure user-defined blocks come BEFORE library blocks (this helps zeropage variable allocations)