| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2014-02-01 | Implement default function arguments (for Python functions). | Paul Sokolovsky | |
| TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw. | |||
| 2014-01-29 | py: Simplify fastn in VM; reduce size of unique code struct. | Damien George | |
| We still have FAST_[0,1,2] byte codes, but they now just access the fastn array (before they had special local variables). It's now simpler, a bit faster, and uses a bit less stack space (on STM at least, which is most important). The only reason now to keep FAST_[0,1,2] byte codes is for compressed byte code size. | |||
| 2014-01-29 | mp_obj_new_bytearray_by_ref(): Allow to create array by reference. | Paul Sokolovsky | |
| This is special feature for FFI. | |||
| 2014-01-28 | Factor out quoted string print function for reuse (mp_str_print_quoted()). | Paul Sokolovsky | |
| 2014-01-26 | Add MP_OBJ_IS_INT(), for symmetry with MP_OBJ_IS_STR(). | Paul Sokolovsky | |
| 2014-01-25 | Implement mp_parse_node_free; print properly repr(string). | Damien George | |
| 2014-01-25 | py: Implement iterator support for object that has __getitem__. | Damien George | |
| Addresses Issue #203. | |||
| 2014-01-24 | Add basic implementation of bytes type, piggybacking on str. | Paul Sokolovsky | |
| This reuses as much str implementation as possible, from this we can make them more separate as needed. | |||
| 2014-01-22 | Second stage of qstr revamp: uPy str object can be qstr or not. | Damien George | |
| 2014-01-21 | Add len() support for arrays. | Paul Sokolovsky | |
| 2014-01-21 | sequence.c: Start to refactor sequence operations for reuse among types. | Paul Sokolovsky | |
| 2014-01-20 | mp_identity(): Add generic identity function. | Paul Sokolovsky | |
| Useful as getiter method for objects which are their own iterators, etc. | |||
| 2014-01-20 | Properly print MP_OBJ_QSTR objects. | Paul Sokolovsky | |
| 2014-01-20 | Implement modules as singletons Python semantics. | Paul Sokolovsky | |
| In Python, importing module several times returns same underlying module object. This also fixes import statement handling for builtin modules. There're still issues: 1. CPython exposes set of loaded modules as sys.modules, we may want to do that either. 2. Builtin modules are implicitly imported, which is not really correct. We should separate registering a (builtin) module and importing a module. CPython keeps builtin module names in sys.builtin_module_names . | |||
| 2014-01-19 | Change int to uint for n_args in function with variable arguments. | Damien George | |
| 2014-01-19 | py: Add full traceback to exception printing. | Damien George | |
| 2014-01-19 | py: Add module/function/class name to exceptions. | Damien George | |
| Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them. | |||
| 2014-01-18 | Merge pull request #192 from pfalcon/arrays | Damien George | |
| Add skeleton implementation of array.array and bytearray. | |||
| 2014-01-18 | Add source file name and line number to error messages. | Damien George | |
| Byte code has a map from byte-code offset to source-code line number, used to give better error messages. | |||
| 2014-01-18 | Add skeleton implementation of array.array and bytearray. | Paul Sokolovsky | |
| So far, only storage, initialization, repr() and buffer protocol is implemented - alredy suitable for passing binary data around. | |||
| 2014-01-18 | Merge pull request #191 from pfalcon/store-item | Damien George | |
| Add store_item() virtual method to type to implement container[index] = val | |||
| 2014-01-18 | Merge branch 'master' of github.com:dpgeorge/micropython | Damien George | |
| 2014-01-18 | int: Add value accessors: mp_obj_int_get() & mp_obj_int_get_checked(). | Paul Sokolovsky | |
| mp_obj_int_get() can be used when just full resolution of C machine_int_t is required (returns truncated value of long int). mp_obj_int_get_checked() will throw exception if Python int value not representable in machine_int_t. | |||
| 2014-01-18 | Make VM stack grow upwards, and so no reversed args arrays. | Damien George | |
| Change state layout in VM so the stack starts at state[0] and grows upwards. Locals are at the top end of the state and number downwards. This cleans up a lot of the interface connecting the VM to C: now all functions that take an array of Micro Python objects are in order (ie no longer in reverse). Also clean up C API with keyword arguments (call_n and call_n_kw replaced with single call method that takes keyword arguments). And now make_new takes keyword arguments. emitnative.c has not yet been changed to comply with the new order of stack layout. | |||
| 2014-01-18 | Add store_item() virtual method to type to implement container[index] = val. | Paul Sokolovsky | |
| 2014-01-15 | stm: Fix print methods with new kind argument. | Damien George | |
| 2014-01-15 | Merge branch 'str2int' of github.com:xyb/micropython into xyb-str2int | Damien George | |
| Conflicts: py/objint.c unix-cpy/Makefile unix/Makefile | |||
| 2014-01-15 | Merge branch 'str-repr' of github.com:pfalcon/micropython into pfalcon-str-repr | Damien George | |
| Conflicts: tests/basics/tests/exception1.py | |||
| 2014-01-15 | added filter() | John R. Lenton | |
| 2014-01-15 | Added map | John R. Lenton | |
| 2014-01-15 | type->print(): Distinguish str() and repr() variety by passing extra param. | Paul Sokolovsky | |
| 2014-01-14 | Merge remote-tracking branch 'upstream/master' into builtins | John R. Lenton | |
| 2014-01-14 | added enumerate() | John R. Lenton | |
| 2014-01-14 | Tidy up. | Damien George | |
| 2014-01-14 | Implemented int(str) in UNIX | xyb | |
| 2014-01-13 | Made sorted() raise an exception instead of aborting when given no ↵ | John R. Lenton | |
| arguments; moved around some things in objfun.c as a consequence | |||
| 2014-01-13 | Cleaned up sorted() as per Damien's suggestions. | John R. Lenton | |
| 2014-01-13 | added zip() | John R. Lenton | |
| 2014-01-12 | Add framework to support alternative implementations of long int Python type. | Paul Sokolovsky | |
| 2014-01-12 | Add 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-11 | py: Implement staticmethod and classmethod (internally). | Damien George | |
| Still need to make built-ins by these names, and write tests. | |||
| 2014-01-11 | unified the bops | John R. Lenton | |
| 2014-01-10 | Added dict.fromkeys. Are we done with dict and #99 yet? I do think we are. | John R. Lenton | |
| 2014-01-09 | py: Implement base class lookup, issubclass, isinstance. | Damien George | |
| 2014-01-09 | Improved 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-08 | py: add variable argument exception constructor function. | Damien George | |
| Addresses issue #104. | |||
| 2014-01-08 | Merge pull request #114 from pfalcon/streams-bootstrap | Damien George | |
| Define buffer and stream protocols, and other starting bits of io.* framework, with io.FileIO-like implementation for Unix | |||
| 2014-01-08 | py: Stuff qstr in object pointer; keys for mp_map_t are now always mp_obj_t. | Damien George | |
| 2014-01-08 | Add support for stream and buffer protocols. | Paul Sokolovsky | |
| Stream protocol is abstraction of serial I/O. Buffer protocol is abstraction of random-access I/O. These protocols are defined down to C level, to allow generic, while still efficient algorithms to be coded in C (like, buffered transfer between 2 stream objects, saving/loading of buffer object to/from stream, etc). (Note that CPython define buffer protocol on C level, but apparently not stream protocol). | |||
| 2014-01-08 | py: Improve __build_class__. | Damien George | |
