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.
| |