Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/tatype.py
Commit message (Collapse)AuthorAgeFilesLines
* turn an error during type conversion into a TATypeErrortype-systemMarion2013-10-081-12/+17
| | | | - This makes it try the next type/ slot/ ...
* clean up taprimitive and tatypeMarion2013-09-161-3/+1
|
* show the NAN logoerror if a block wants a number but gets a non-numberMarion2013-09-161-0/+5
|
* make Media objects exportableMarion2013-09-121-3/+10
|
* add Primitives for the 'push', 'pop', and 'is empty heap?' blocksMarion2013-09-101-12/+22
|
* Primitives for all constant blocks (add screen dimensions, update colors)Marion2013-09-081-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 codeMarion2013-09-081-17/+30
|
* new special return type for the 'box' blockMarion2013-09-061-3/+7
|
* get_type(...) can now guess the return type of binary operatorsMarion2013-09-051-0/+13
| | | | - including boolean operators and comparison operators
* add ord() and chr() to Call ASTs recognized by get_type(...)Marion2013-09-051-1/+3
|
* simplify and fix export of 'while' and 'until' loopsMarion2013-09-051-24/+4
|
* introduce TypedLambda, a Lambda AST with a return typeMarion2013-09-041-0/+20
|
* introduce TypedCall, a Call AST that knows its return typeMarion2013-09-041-23/+55
| | | | - Add a visitor for TypedCall to util.codegen.
* update Primitives for 'hat' (top of an action stack) and 'stack' blocksMarion2013-09-041-1/+0
| | | | | - Insert 'yield True' after every call to logo.icall(...) in the exported code.
* fix exporting the 'store in' and 'box' blocksMarion2013-09-041-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' blocksMarion2013-09-041-1/+13
| | | | | - They are not yet exportable. - Fix TypeDisjunctions as return types of Primitives.
* fix recovering type converter chains from the backtraceMarion2013-09-011-0/+1
|
* restore character -> number type conversionMarion2013-09-011-0/+1
|
* new Type: 'bool', cannot be converted to any other TypesMarion2013-09-011-2/+3
| | | | | - The different shapes of docks for booleans and other values disallow conversion anyway.
* remove types 'positive', 'negative', and 'zero'Marion2013-09-011-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 PrimitivesMarion2013-08-311-4/+6
|
* re-implement python export functionality using the type systemMarion2013-08-291-5/+6
|
* introduce PrimitiveDisjunctions and TypeDisjunctionsMarion2013-08-291-0/+6
|
* get rid of the tuple containing all types of the hierarchyMarion2013-08-291-12/+7
| | | | - To check whether something is a type, use isinstance(x, Type).
* better handling for TATypeErrors coming from the type systemMarion2013-08-281-15/+28
|
* use Type objects for the types in the type hierarchyMarion2013-08-271-13/+30
|
* add utility to get converter given two types of the hierarchyMarion2013-08-251-67/+100
|
* introduce type system for Primitives and simplify argument slot definitionsMarion2013-08-231-0/+269
- This commit breaks everything! Only the square example still works. The rest will be fixed in subsequent commits.