Line 44: |
Line 44: |
| *** Introduce strong typing to <code>Primitive</code>s. | | *** 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. | | *** 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 |
| *** 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 | | *** 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 |
| *** 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. |
| ** September 2 – September 8 (1 week) | | ** September 2 – September 8 (1 week) |
− | *** Events and user input from the 'Sensors' palette<ref name="requires-add-imports" group="note" /> | + | *** Events and user input from the 'Sensors' palette |
| *** Sounds and sprites from the 'Media' palette | | *** Sounds and sprites from the 'Media' palette |
− | *** Presentation templates from the 'Presentation templates' palette<ref name="requires-add-imports" group="note" /> | + | *** Presentation templates from the 'Presentation templates' palette |
| ** September 9 – September 15 (1 week) | | ** September 9 – September 15 (1 week) |
− | *** Multiple turtles and custom turtle shells from the 'Extra options' palette<ref name="requires-add-imports" group="note" /> | + | *** Multiple turtles and custom turtle shells from the 'Extra options' palette |
| *** Display management (hide/ show blocks, toggle full screen) from the 'Presentation templates' palette | | *** Display management (hide/ show blocks, toggle full screen) from the 'Presentation templates' palette |
− | *** Printing and loading blocks and palettes from the 'Extra options' palette<ref name="requires-add-imports" group="note" /><!-- These are very specific to Turtle Blocks. We need further discussion how this should look in the output of the exported Python code. --><!-- TODO report results of discussion --> | + | *** Printing and loading blocks and palettes from the 'Extra options' palette |
| * September 16 – September 23 (1 week): Test exporting different kinds of blocks in combination. Fix the last bugs. Clean up. | | * September 16 – September 23 (1 week): Test exporting different kinds of blocks in combination. Fix the last bugs. Clean up. |
− |
| |
− | '''Notes'''
| |
− | <references group="note">
| |
− | <ref name="requires-add-imports">This may require importing additional modules from Turtle Blocks.</ref>
| |
− | </references>
| |
| | | |
| == Decisions == | | == Decisions == |