Line 31: |
Line 31: |
| *** Action stacks (functions) from the 'Action stacks' palette | | *** Action stacks (functions) from the 'Action stacks' palette |
| ** August 19 – August 25 (1 week) | | ** August 19 – August 25 (1 week) |
− | *** Write a tutorial on how to define a Primitive for a new block, so other TA (plugin) developers can make their blocks exportable. | + | *** Write a tutorial on how to define a <code>Primitive</code> for a new block, so other TA (plugin) developers can make their blocks exportable. |
| + | *** Introduce strong typing to <code>Primitive</code>s. |
| + | *** Pass argument blocks to the functor as <code>Primitive</code> objects, not as ASTs or return values of a function call. |
| *** Screen dimensions from the 'Presentation templates' palette<ref name="requires-add-imports" group="note" /> | | *** Screen dimensions from the 'Presentation templates' palette<ref name="requires-add-imports" group="note" /> |
− | *** Heaps from the 'Extra options' palette
| |
| *** Runtime control (e.g., exit, suspension) from the 'Flow operators' palette | | *** Runtime control (e.g., exit, suspension) from the 'Flow operators' palette |
| ** August 26 – September 1 (1 week) | | ** August 26 – September 1 (1 week) |
| + | *** Heaps from the 'Extra options' palette |
| *** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette<ref name="requires-add-imports" group="note" /> | | *** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette<ref name="requires-add-imports" group="note" /> |
| *** Comments from the 'Extra options' palette: This is especially difficult because Python's <code>ast</code> module does not support comments natively. | | *** Comments from the 'Extra options' palette: This is especially difficult because Python's <code>ast</code> module does not support comments natively. |