Changes

update decisions; move deferred ones to new Deferred section
Line 53: Line 53:  
* The path to the TA installation must be in the environment variable <code>PYTHONPATH</code>.
 
* The path to the TA installation must be in the environment variable <code>PYTHONPATH</code>.
 
* Boxes and actions are stored in a dictionary in order to allow for arbitrary names (e.g., names that start with a number or names that are read from the content of a box).
 
* Boxes and actions are stored in a dictionary in order to allow for arbitrary names (e.g., names that start with a number or names that are read from the content of a box).
 +
* All blocks (including the ones introduced by plugins) reference a <code>Primitive</code> object, which can be called to execute the block in TA, or transformed into a Python AST.
 +
** Type conversion and other modification of the arguments of a block is done by ''slot wrappers''. A slot wrapper is a <code>Primitive</code> that is attached to the argument of another <code>Primitive</code>. Slot wrappers are called/ transformed before the <code>Primitive</code> itself.
    
=== Pending ===
 
=== Pending ===
Line 58: Line 60:  
The following design issues have yet to be decided:
 
The following design issues have yet to be decided:
   −
* Enable the user to control the speed of execution (e.g., by setting a global <code>step_time</code>)? ''deferred on 2013-06-14''
+
=== Deferred ===
 +
 
 +
The following design issues have not yet been decided, but are being deferred due to their low priority:
 +
 
 +
* Enable the user to control the speed of execution (e.g., by setting a global <code>step_time</code>)?
 
** How to implement this? E.g., call a <code>wait(step_time)</code> function in between two steps?
 
** How to implement this? E.g., call a <code>wait(step_time)</code> function in between two steps?
 
* Should the status bar be shown when the exported code is run?
 
* Should the status bar be shown when the exported code is run?
* Blocks introduced by plugins: Should the plugin provide info about how to transform its blocks into Python?
  −
* How to handle type conversion between numbers and strings that is done implicitly in TA?
  −
** E.g., resolve types when converting the code (possible?), and output the code specific to the type.
 
51

edits