summaryrefslogtreecommitdiff
path: root/py
AgeCommit message (Collapse)Author
2014-04-05py: Make mp_map_lookup not allocate memory on removal.Damien George
2014-04-05Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-05py: Replace stream_p with *stream_p in mp_obj_type_t.Damien George
This is to reduce ROM usage. stream_p is used in file and socket types only (at the moment), so seems a good idea to make the protocol functions a pointer instead of the actual structure. It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
2014-04-06py: Implement globals() and locals() builtins.Paul Sokolovsky
2014-04-05py: Make all objects and instances derive from object.Damien George
This makes isinstance(X, object) and issubclass(X, object) true for all X.
2014-04-05py: Make globals and locals proper dictionary objects.Damien George
Finishes addressing issue #424. In the end this was a very neat refactor that now makes things a lot more consistent across the py code base. It allowed some simplifications in certain places, now that everything is a dict object. Also converted builtins tables to dictionaries. This will be useful when we need to turn builtins into a proper module.
2014-04-05py: Change module globals from mp_map_t* to mp_obj_dict_t*.Damien George
Towards addressing issue #424. Had a small increase to ROM usage (order 60 bytes).
2014-04-05py: Fix float printing on stmhal.Damien George
2014-04-05Improve GC finalisation code; add option to disable it.Damien George
2014-04-05Merge pull request #425 from iabdalkader/delDamien George
Implement del
2014-04-05py: Change nlr_jump to nlr_raise, to aid in debugging.Damien George
This does not affect code size or performance when debugging turned off. To address issue #420.
2014-04-05Merge pull request #436 from dhylands/pfenv-print-intDamien George
Change pfenv_print_int to take machine_uint_t rather than unsinged in
2014-04-05Merge pull request #435 from dhylands/str-modulo-floatDamien George
Allow floating point arguments with %d,i,u,o,x,X formats
2014-04-05Merge pull request #433 from pfalcon/getattr-3argDamien George
py: Support 3-arg getattr() builtin (with default value).
2014-04-05Change pfenv_print_int to take machine_uint_t rather than unsinged inDave Hylands
With this change, the following works: >>> print('%#x' % 0x1234567890abcdef) 0x1234567890abcdef
2014-04-05Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-04-05py: Fix delete operation on map/dict and set objects.Damien George
Hash table can now be completely full (ie now NULL entry) before a resize is triggered. Use sentinel value to indicate delete entry in the table.
2014-04-05Allow floating point arguments with %d,i,u,o,x,X formatsDave Hylands
2014-04-05mp_obj_get_int(): Add warning against adding implicit float->int conversion.Paul Sokolovsky
2014-04-05Move del to localsmux
2014-04-05py: Fix bug in DELETE_SUBSCR bytecode, decreasing sp too much.Damien George
2014-04-05py: Implement DELETE_SUBSCR bytecode; implement mp_obj_dict_delete.Damien George
2014-04-05Merge pull request #431 from pfalcon/unbreak-map-removeDamien George
map: When removing a key, don't NULL the entry, but mark as deleted.
2014-04-05objfun: Add equality support.Paul Sokolovsky
2014-04-05py: Support 3-arg getattr() builtin (with default value).Paul Sokolovsky
2014-04-05objtype: Add equality test for type types.Paul Sokolovsky
2014-04-05py: Allow types to be hashable.Paul Sokolovsky
Quite natural to have d[int] = handle_int .
2014-04-05py: Put default namespace into module __main__.Paul Sokolovsky
That's how CPython has it, in particular, "import __main__" should work.
2014-04-05map: When removing a key, don't NULL the entry, but mark as deleted.Paul Sokolovsky
When searching next time, such entry should be just skipped, not terminate the search. It's known that marking techique is not efficient at the presense of many removes, but namespace usage should not require many deletes, and as for user dictionaries - well, open addressing map table with linear rehashing and load factor of ~1 is not particularly efficient at all ;-). TODO: May consider "shift other entries in cluster" approach as an alternative.
2014-04-05mp_load_name(): Optimize for outer scope where locals == globals.Paul Sokolovsky
2014-04-05map: Add mp_map_dump() (#ifdef'ed) to be handy when debugging maps.Paul Sokolovsky
2014-04-04Merge pull request #421 from dhylands/git-versionDamien George
Add the git version and build-date to the banner
2014-04-04py: Make False and True act like 0 and 1 for integer arithmetic.Damien George
2014-04-04py: Allow dict constructor to take keyword arguments.Damien George
2014-04-04py: Remove mp_obj_less (use mp_binary_op(MP_BINARY_OP_LESS..) instead).Damien George
2014-04-04Merge pull request #422 from dhylands/str-moduloDamien George
Str modulo
2014-04-04py: Enable optimisation of multiplying 2 small ints in compiler.Damien George
2014-04-04py: This time, real proper overflow checking of small int power.Damien George
Previous overflow test was inadequate.
2014-04-04py: Add m_malloc_fail function to handle memory allocation error.Damien George
A malloc/realloc fail now throws MemoryError.
2014-04-03Implements most of str.moduloDave Hylands
The alternate form for floating point doesn't work yet. The %(name)s form doesn't work yet.
2014-04-03Add the git version to the bannerDave Hylands
2014-04-04py: Handle small int power overflow correctly.Damien George
2014-04-03Changes to get unix/ port compiling on Cygwin.Damien George
2014-04-03Implement delmux
2014-04-03py: Add "io" module.Paul Sokolovsky
So far just includes "open" function, which should be supplied by a port. TODO: Make the module #ifdef'ed.
2014-04-03py: More robust int conversion and overflow checking.Damien George
2014-04-02Merge branch 'fix-format-int' of github.com:dhylands/micropython into ↵Damien George
dhylands-fix-format-int Conflicts: py/objstr.c
2014-04-02Fix str.format to work with {:f/g/e} and intsDave Hylands
Also fix objstr.c to compile when floats disabled.
2014-04-02py: Fix regress for printing of floats and #if.Damien George
Also change formating modifier in test script (it still passes with original format though).
2014-04-02gc: Uses uint defined in misc.h.Paul Sokolovsky