Changes

Jump to navigation Jump to search
highlight link to final report
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 ==
51

edits

Navigation menu