Summer of Code/2013/Turtle Blocks Python export project: Difference between revisions

describe the type-system branch in the gitorious repo
m remove the footnotes in the timeline
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 ==