Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | turn an error during type conversion into a TATypeErrortype-system | Marion | 2013-10-08 | 1 | -12/+17 |
| | | | | - This makes it try the next type/ slot/ ... | ||||
* | clean up taprimitive and tatype | Marion | 2013-09-16 | 1 | -3/+1 |
| | |||||
* | show the NAN logoerror if a block wants a number but gets a non-number | Marion | 2013-09-16 | 1 | -0/+5 |
| | |||||
* | make Media objects exportable | Marion | 2013-09-12 | 1 | -3/+10 |
| | |||||
* | add Primitives for the 'push', 'pop', and 'is empty heap?' blocks | Marion | 2013-09-10 | 1 | -12/+22 |
| | |||||
* | Primitives for all constant blocks (add screen dimensions, update colors) | Marion | 2013-09-08 | 1 | -7/+20 |
| | | | | | | - Use the get() method of the CONSTANTS dict to retrieve the values of constants, but export it as CONSTANTS['key']. - Introduce the new class TypedSubscript for Subscript ASTs with a type. | ||||
* | use the tatype.convert() function to type-convert boxes in exported py code | Marion | 2013-09-08 | 1 | -17/+30 |
| | |||||
* | new special return type for the 'box' block | Marion | 2013-09-06 | 1 | -3/+7 |
| | |||||
* | get_type(...) can now guess the return type of binary operators | Marion | 2013-09-05 | 1 | -0/+13 |
| | | | | - including boolean operators and comparison operators | ||||
* | add ord() and chr() to Call ASTs recognized by get_type(...) | Marion | 2013-09-05 | 1 | -1/+3 |
| | |||||
* | simplify and fix export of 'while' and 'until' loops | Marion | 2013-09-05 | 1 | -24/+4 |
| | |||||
* | introduce TypedLambda, a Lambda AST with a return type | Marion | 2013-09-04 | 1 | -0/+20 |
| | |||||
* | introduce TypedCall, a Call AST that knows its return type | Marion | 2013-09-04 | 1 | -23/+55 |
| | | | | - Add a visitor for TypedCall to util.codegen. | ||||
* | update Primitives for 'hat' (top of an action stack) and 'stack' blocks | Marion | 2013-09-04 | 1 | -1/+0 |
| | | | | | - Insert 'yield True' after every call to logo.icall(...) in the exported code. | ||||
* | fix exporting the 'store in' and 'box' blocks | Marion | 2013-09-04 | 1 | -0/+9 |
| | | | | | - Use proper ast.Subscript objects to represent `BOX['my box']` - Enable type guessing for these ASTs | ||||
* | update Primitives for the 'store in' and 'box' blocks | Marion | 2013-09-04 | 1 | -1/+13 |
| | | | | | - They are not yet exportable. - Fix TypeDisjunctions as return types of Primitives. | ||||
* | fix recovering type converter chains from the backtrace | Marion | 2013-09-01 | 1 | -0/+1 |
| | |||||
* | restore character -> number type conversion | Marion | 2013-09-01 | 1 | -0/+1 |
| | |||||
* | new Type: 'bool', cannot be converted to any other Types | Marion | 2013-09-01 | 1 | -2/+3 |
| | | | | | - The different shapes of docks for booleans and other values disallow conversion anyway. | ||||
* | remove types 'positive', 'negative', and 'zero' | Marion | 2013-09-01 | 1 | -30/+13 |
| | | | | | | - These fine value-dependent distinctions should be made at runtime, not during type checking. - Fix a small bug in the algorithm to find a converter given two types. | ||||
* | fix export of keyword arguments to Primitives | Marion | 2013-08-31 | 1 | -4/+6 |
| | |||||
* | re-implement python export functionality using the type system | Marion | 2013-08-29 | 1 | -5/+6 |
| | |||||
* | introduce PrimitiveDisjunctions and TypeDisjunctions | Marion | 2013-08-29 | 1 | -0/+6 |
| | |||||
* | get rid of the tuple containing all types of the hierarchy | Marion | 2013-08-29 | 1 | -12/+7 |
| | | | | - To check whether something is a type, use isinstance(x, Type). | ||||
* | better handling for TATypeErrors coming from the type system | Marion | 2013-08-28 | 1 | -15/+28 |
| | |||||
* | use Type objects for the types in the type hierarchy | Marion | 2013-08-27 | 1 | -13/+30 |
| | |||||
* | add utility to get converter given two types of the hierarchy | Marion | 2013-08-25 | 1 | -67/+100 |
| | |||||
* | introduce type system for Primitives and simplify argument slot definitions | Marion | 2013-08-23 | 1 | -0/+269 |
- This commit breaks everything! Only the square example still works. The rest will be fixed in subsequent commits. |