aboutsummaryrefslogtreecommitdiff
path: root/py/runtime.c
AgeCommit message (Collapse)Author
2014-01-15Implement str() and repr() builtin functions.Paul Sokolovsky
2014-01-14Merge remote-tracking branch 'upstream/master' into builtinsJohn R. Lenton
2014-01-14added enumerate()John R. Lenton
2014-01-14Merge pull request #142 from chipaca/containmentDamien George
Implemented support for `in` and `not in` operators.
2014-01-14Merge pull request #165 from chipaca/builtinsDamien George
added zip()
2014-01-15Implement "is" and "is not" operators.Paul Sokolovsky
So far, don't work for strings as expected.
2014-01-13Merge remote-tracking branch 'upstream/master' into builtinsJohn R. Lenton
Conflicts: py/builtin.c py/builtin.h py/runtime.c
2014-01-13Merge remote-tracking branch 'upstream/master' into containmentJohn R. Lenton
2014-01-13Consolidate rt_make_function_[0123] to rt_make_function_n.Damien George
2014-01-13Cleanup built-ins, and fix some compiler warnings/errors.Damien George
2014-01-13sortedJohn R. Lenton
2014-01-13added zip()John R. Lenton
2014-01-13Merge remote-tracking branch 'upstream/master' into containmentJohn R. Lenton
2014-01-12Add proper checks for fits-in-small-int. Make it reusable.Paul Sokolovsky
We likely should make mp_obj_new_int() inline, and rely on its encapsulated check rather than inline checks everywhere explicitly. Also, parser for big small int values is still broken.
2014-01-12Merge pull request #146 from pfalcon/assert-excDamien George
Add AssertionError.
2014-01-12rt_binary_op(): Don't fall thru in case small_int op result doesn't fit back.Paul Sokolovsky
Currently it would report "operation not supported" which is confusing. Overall, this is thinko leading to undefined behavior.
2014-01-12Add AssertionError.Paul Sokolovsky
2014-01-11py: Implement staticmethod and classmethod (internally).Damien George
Still need to make built-ins by these names, and write tests.
2014-01-11Merge remote-tracking branch 'upstream/master' into containmentJohn R. Lenton
Conflicts: py/runtime.c
2014-01-11Implemented support for `in` and `not in` operators.John R. Lenton
2014-01-11py: Fix bug where == and != not handled for small_ints.Damien George
2014-01-11unified the bopsJohn R. Lenton
2014-01-11Unsupported operand types for binary operator: dump both args' types.Paul Sokolovsky
2014-01-09py: Implement base class lookup, issubclass, isinstance.Damien George
2014-01-09Improved type/class/instance code; mp_obj_type_t now has load_attr, store_attr.Damien George
Creating of classes (types) and instances is much more like CPython now. You can use "type('name', (), {...})" to create classes.
2014-01-08py: Proper framework for built-in 'type'.Damien George
2014-01-08py: add variable argument exception constructor function.Damien George
Addresses issue #104.
2014-01-08py: Stuff qstr in object pointer; keys for mp_map_t are now always mp_obj_t.Damien George
2014-01-08py: Improve __build_class__.Damien George
2014-01-07Merge remote-tracking branch 'upstream/master' into dict_featsJohn R. Lenton
2014-01-07added a first pass of dict.updateJohn R. Lenton
2014-01-07py: Fix up number operations and coercion.Damien George
2014-01-04Convert Python types to proper Python type hierarchy.Damien George
Now much more inline with how CPython does types.
2014-01-04Add ellipsis object.Damien George
2014-01-04Split qstr into pools, and put initial pool in ROM.Damien George
Qstr's are now split into a linked-list of qstr pools. This has 2 benefits: the first pool can be in ROM (huge benefit, since we no longer use RAM for the core qstrs), and subsequent pools use m_new for the next pool instead of m_renew (thus avoiding a huge single table for all the qstrs). Still would be better to use a hash table, but this scheme takes us part of the way (eventually convert the pools to hash tables). Also fixed bug with import. Also improved the way the module code is referenced (not magic number 1 anymore).
2014-01-03Add note about implementing inplace operators.Damien George
2014-01-03Basic implementation of import.Damien George
import works for simple cases. Still work to do on finding the right script, and setting globals/locals correctly when running an imported function.
2014-01-02Add module object, to be used eventually for import.Damien George
2014-01-02py: Add framework for built-in "type()" function.Damien George
2014-01-01py: add int() and float() built-ins, partially implemented.Damien George
2013-12-30py: make closures work.Damien George
2013-12-30Put unicode functions in unicode.c, and tidy their names.Damien George
2013-12-29py: add dict length function, and fix rt_store_set.Damien
2013-12-29py: implement some basic exception matching.Damien
2013-12-21py: simplify __next__ method for generators.Damien
2013-12-21Change object representation from 1 big union to individual structs.Damien
A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python).
2013-12-17py: add more Python built-in functions.Damien
2013-12-17py: split runtime into map, obj, builtin.Damien
2013-12-11py: work towards working closures.Damien
2013-12-10py: add skeletal import functionality.Damien