Line 2: |
Line 2: |
| | | |
| The mentors for this project are [[User:Walter|Walter Bender]] and [http://wiki.laptop.org/go/User:Claudia_Urrea Claudia Urrea]. | | The mentors for this project are [[User:Walter|Walter Bender]] and [http://wiki.laptop.org/go/User:Claudia_Urrea Claudia Urrea]. |
| + | |
| + | The summer is over, so I have written a '''[[Media:Final_Report_on_Turtle_Blocks_Python_export.pdf|final report]]''' on my project. It gives an overview of the task, my ideas and their implementation, as well as the final status of the project. |
| | | |
| == Repositories == | | == Repositories == |
Line 44: |
Line 46: |
| *** 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" />
| |
− | *** 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 | + | *** Introduce disjunctions of <code>Type</code>s, <code>ArgSlot</code>s, argument lists, and <code>Primitive</code>s. |
− | *** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette<ref name="requires-add-imports" group="note" /> | + | *** Adjust the export functionality to the type system. |
| + | *** Start re-writing 'old' <code>Primitive</code>s to make use of the new type system. |
| + | *** Write new documentation about how to create a new block, including creating new <code>Primitive</code>s. |
| *** 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" /> | + | *** Screen dimensions from the 'Presentation templates' palette |
| + | *** Runtime control (e.g., exit, suspension) from the 'Flow operators' palette |
| + | *** Heaps from the 'Extra options' palette |
| + | ** September 9 – September 15 (1 week) |
| + | *** External functions (chr, int, mathematical function, tamyblock.py) from the 'Extra options' palette |
| + | *** 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" />
| |
− | ** September 9 – September 15 (1 week)
| |
− | *** Multiple turtles and custom turtle shells from the 'Extra options' palette<ref name="requires-add-imports" group="note" />
| |
| *** 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 -->
| |
| * 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 == |