Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | objstringio: Implement io.BytesIO. | Paul Sokolovsky | 2014-05-15 | |
| | | | | | Done in generalized manner, allowing any stream class to be specified as working with bytes. | |||
* | py: Rename globally-accessible tuple functions, prefix with mp_obj_. | Damien George | 2014-05-11 | |
| | | | | | Likely there are other functions that should be renamed, but this is a start. | |||
* | objtuple: Go out of the way to support comparison of subclasses. | Paul Sokolovsky | 2014-05-11 | |
| | | | | | | | | | | | Two things are handled here: allow to compare native subtypes of tuple, e.g. namedtuple (TODO: should compare type too, currently compared duck-typedly by content). Secondly, allow user sunclasses of tuples (and its subtypes) be compared either. "Magic" I did previously in objtype.c covers only one argument (lhs is many), so we're in trouble when lhs is native type - there's no other option besides handling rhs in special manner. Fortunately, this patch outlines approach with fast path for native types. | |||
* | py: Start making good use of mp_const_obj_t. | Paul Sokolovsky | 2014-05-11 | |
| | ||||
* | objlist: Implement non-growing slice assignment. | Paul Sokolovsky | 2014-05-10 | |
| | | | | Slice value to assign can be only a list so far too. | |||
* | py: Fix prefix on few sequence helpers, was incorrectly "mp_". | Paul Sokolovsky | 2014-05-10 | |
| | ||||
* | objset: Give up and implement frozenset. | Paul Sokolovsky | 2014-05-10 | |
| | | | | Tired of patching CPython stdlib for it. | |||
* | py: Tidy up returning NULL which should be MP_OBJ_NOT_SUPPORTED. | Damien George | 2014-05-10 | |
| | ||||
* | py: Improve native emitter; now supports more opcodes. | Damien George | 2014-05-07 | |
| | ||||
* | Add license header to (almost) all files. | Damien George | 2014-05-03 | |
| | | | | | | | Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/. | |||
* | objclosure, objcell: Print detailed representation if was requested. | Paul Sokolovsky | 2014-05-03 | |
| | | | | | Well, it is bound to "detailed error reporting", but that's closest what we have now without creating new entities. | |||
* | objtype: .print() Exception instances in adhoc way. | Paul Sokolovsky | 2014-05-02 | |
| | | | | This is ugly, just as expected. | |||
* | objgenerator: .print(): Output real underlying function name. | Paul Sokolovsky | 2014-05-01 | |
| | ||||
* | py: Clear allocated, but unused memory in containers. | Paul Sokolovsky | 2014-04-28 | |
| | | | | | | Also, clear up freed slots in containers. As a follow up to 32bef315be8e56ad2d7f69223fe7b9606893b6ab. | |||
* | py: Implement keyword-only args. | Damien George | 2014-04-27 | |
| | | | | | | | Implements 'def f(*, a)' and 'def f(*a, b)', but not default keyword-only args, eg 'def f(*, a=1)'. Partially addresses issue #524. | |||
* | modio: Implement io.StringIO class. | Paul Sokolovsky | 2014-04-26 | |
| | ||||
* | objexcept: Add mp_obj_new_exception_arg1() convenience function. | Paul Sokolovsky | 2014-04-22 | |
| | ||||
* | py: Making closures now passes pointer to stack, not a tuple for vars. | Damien George | 2014-04-20 | |
| | | | | | | | Closed over variables are now passed on the stack, instead of creating a tuple and passing that. This way memory for the closed over variables can be allocated within the closure object itself. See issue #510 for background. | |||
* | obj.h: Typo fix in comment. | Paul Sokolovsky | 2014-04-19 | |
| | ||||
* | py: Allow to pass buffer protocol flags to get_buffer helper funcs. | Damien George | 2014-04-18 | |
| | ||||
* | py: Add typecode to buffer protocol. | Damien George | 2014-04-18 | |
| | | | | | | | When querying an object that supports the buffer protocol, that object must now return a typecode (as per binary.[ch]). This does not have to be honoured by the caller, but can be useful for determining element size. | |||
* | py: Add MP_OBJ_STOP_ITERATION and make good use of it. | Damien George | 2014-04-17 | |
| | | | | | Also make consistent use of MP_OBJ_NOT_SUPPORTED and MP_OBJ_NULL. This helps a lot in debugging and understanding of function API. | |||
* | py: Merge BINARY_OP_SUBSCR and store_subscr (w/ delete) into subscr. | Damien George | 2014-04-17 | |
| | | | | mp_obj_t->subscr now does load/store/delete. | |||
* | py: Simplify objfun/objgenerator connection, no need to call bc_get. | Damien George | 2014-04-17 | |
| | ||||
* | py: Make built-in 'range' a class. | Damien George | 2014-04-17 | |
| | | | | Addresses issue #487. | |||
* | py: Add property object, with basic functionality. | Damien George | 2014-04-13 | |
| | | | | Enabled by MICROPY_ENABLE_PROPERTY. | |||
* | objlist: Add support for statically allocated lists. | Paul Sokolovsky | 2014-04-13 | |
| | | | | Similar to similar support for lists. | |||
* | py: Add 'static' to inline function MP_BOOL; remove category_t. | Damien George | 2014-04-12 | |
| | | | | | Small fixes to get it compiling with ARMCC. I have no idea why category_t was in the enum definition for qstrs... | |||
* | py: Change inline to static inline for 2 functions. | Damien George | 2014-04-12 | |
| | ||||
* | py: Revert some inline functions back to macros, since they bloat stmhal. | Damien George | 2014-04-11 | |
| | ||||
* | py: Convert some macros to inline functions (in obj.h). | Damien George | 2014-04-11 | |
| | | | | | | Also convert mp_obj_is_integer to an inline function. Overall this decreased code size (at least on 32-bit x86 machine). | |||
* | py: Fix float/complex binop returning NULL; implement complex power. | Damien George | 2014-04-10 | |
| | ||||
* | py: Add mp_obj_is_integer; make mp_get_index check for long int. | Damien George | 2014-04-09 | |
| | | | | | mp_obj_is_integer should be used to check if an object is of integral type. It returns true for bool, small int and long int. | |||
* | py: Add mp_get_buffer(), mp_get_buffer_raise() convenience functions to API. | Paul Sokolovsky | 2014-04-09 | |
| | ||||
* | py: Remove DELETE_SUBSCR opcode, combine with STORE_SUBSCR. | Damien George | 2014-04-08 | |
| | | | | | This makes the runtime and object APIs more consistent. mp_store_subscr functionality now moved into objects (ie list and dict store_item). | |||
* | Merge branch 'master' of github.com:micropython/micropython | Damien George | 2014-04-08 | |
|\ | ||||
| * | py: Make bytearray a proper type. | Paul Sokolovsky | 2014-04-08 | |
| | | ||||
* | | py: Finish implementation of all del opcodes. | Damien George | 2014-04-08 | |
|/ | | | | | | | At this point, all opcodes are now implemented! Some del opcodes have been combined with store opcodes, with the value to store being MP_OBJ_NULL. | |||
* | py: implement UNPACK_EX byte code (for: a, *b, c = d) | Damien George | 2014-04-08 | |
| | ||||
* | py: Replace stream_p with *stream_p in mp_obj_type_t. | Damien George | 2014-04-05 | |
| | | | | | | | | 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/. | |||
* | py: Change module globals from mp_map_t* to mp_obj_dict_t*. | Damien George | 2014-04-05 | |
| | | | | | | Towards addressing issue #424. Had a small increase to ROM usage (order 60 bytes). | |||
* | py: Fix delete operation on map/dict and set objects. | Damien George | 2014-04-05 | |
| | | | | | | 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. | |||
* | py: Implement DELETE_SUBSCR bytecode; implement mp_obj_dict_delete. | Damien George | 2014-04-05 | |
| | ||||
* | map: Add mp_map_dump() (#ifdef'ed) to be handy when debugging maps. | Paul Sokolovsky | 2014-04-05 | |
| | ||||
* | py: Remove mp_obj_less (use mp_binary_op(MP_BINARY_OP_LESS..) instead). | Damien George | 2014-04-04 | |
| | ||||
* | py: Add m_malloc_fail function to handle memory allocation error. | Damien George | 2014-04-04 | |
| | | | | A malloc/realloc fail now throws MemoryError. | |||
* | py: More robust int conversion and overflow checking. | Damien George | 2014-04-03 | |
| | ||||
* | objexcept: No more magic messages in exceptions, only exception arguments. | Paul Sokolovsky | 2014-03-31 | |
| | | | | | | | One of the reason for separate "message" (besides still unfulfilled desire to optimize memory usage) was apparent special handling of exception with messages by CPython. Well, the message is still just an exception argument, it just printed specially. Implement that with PRINT_EXC printing format. | |||
* | Merge pull request #399 from pfalcon/gen-defargs | Damien George | 2014-03-30 | |
|\ | | | | | objgenerator: Handle default args to generator functions. | |||
| * | objgenerator: Handle default args to generator functions. | Paul Sokolovsky | 2014-03-30 | |
| | | | | | | | | Addresses #397. |