summaryrefslogtreecommitdiffstatshomepage
path: root/py/qstrdefs.h
Commit message (Collapse)AuthorAge
* objtype: Add special unary methods __pos__, __neg__, __invert__.Paul Sokolovsky2015-03-31
| | | | Conditional on MICROPY_PY_ALL_SPECIAL_METHODS.
* py: Add optional support for descriptors' __get__ and __set__ methods.stijn2015-03-26
| | | | Disabled by default. Enabled on unix and windows ports.
* py: Implement core of OrderedDict type.Paul Sokolovsky2015-03-20
| | | | | | | | | | | | Given that there's already support for "fixed table" maps, which are essentially ordered maps, the implementation of OrderedDict just extends "fixed table" maps by adding an "is ordered" flag and add/remove operations, and reuses 95% of objdict code, just making methods tolerant to both dict and OrderedDict. Some things are missing so far, like CPython-compatible repr and comparison. OrderedDict is Disabled by default; enabled on unix and stmhal ports.
* py: Add support for start/stop/step attributes of builtin range object.Peter D. Gray2015-03-11
|
* py: Implement UnicodeError.Paul Sokolovsky2015-02-23
| | | | | Still too shy to implement UnicodeEncodeError which was really needed for micropython-lib case.
* py: Make math special functions configurable and disabled by default.Damien George2015-02-22
| | | | | | | The implementation of these functions is very large (order 4k) and they are rarely used, so we don't enable them by default. They are however enabled in stmhal and unix, since we have the room.
* py: Add few more special methods.Paul Sokolovsky2015-02-22
|
* stackctrl: Encode "recursion depth exceeded" message as qstr.Paul Sokolovsky2015-02-15
| | | | So corresponding exception can be thrown even under tight memory conditions.
* py: Add setattr builtin.stijn2015-02-14
|
* py: Add MICROPY_PY_ALL_SPECIAL_METHODS and __iadd__ special method under it.Paul Sokolovsky2015-01-31
|
* py: Implement __reversed__ slot.Damien George2015-01-21
| | | | Addresses issue #1073.
* py: Add MICROPY_QSTR_BYTES_IN_LEN config option, defaulting to 1.Damien George2015-01-11
| | | | | | | | | | | | | | | | | | This new config option sets how many fixed-number-of-bytes to use to store the length of each qstr. Previously this was hard coded to 2, but, as per issue #1056, this is considered overkill since no-one needs identifiers longer than 255 bytes. With this patch the number of bytes for the length is configurable, and defaults to 1 byte. The configuration option filters through to the makeqstrdata.py script. Code size savings going from 2 to 1 byte: - unix x64 down by 592 bytes - stmhal down by 1148 bytes - bare-arm down by 284 bytes Also has RAM savings, and will be slightly more efficient in execution.
* py: Add qstr cfg capability; generate QSTR_NULL and QSTR_ from script.Damien George2015-01-11
|
* py: Add MICROPY_PY_MICROPYTHON_MEM_INFO to enable mem-info funcs.Damien George2015-01-09
| | | | | | This allows to enable mem-info functions in micropython module, even if MICROPY_MEM_STATS is not enabled. In this case, you get mem_info and qstr_info but not mem_{total,current,peak}.
* py: Move to guarded includes, everywhere in py/ core.Damien George2015-01-01
| | | | Addresses issue #1022.
* py: Add execfile function (from Python 2); enable in stmhal port.Damien George2014-12-19
| | | | Adds just 60 bytes to stmhal binary. Addresses issue #362.
* modsys: Add sys.print_exception(exc, file=sys.stdout) function.Paul Sokolovsky2014-12-08
| | | | | | | | | | | | The function is modeled after traceback.print_exception(), but unbloated, and put into existing module to save overhead on adding another module. Compliant traceback.print_exception() is intended to be implemented in micropython-lib in terms of sys.print_exception(). This change required refactoring mp_obj_print_exception() to take pfenv_t interface arguments. Addresses #751.
* modmicropython: Move mem_info() and qstr_info() functions from unix port.Paul Sokolovsky2014-12-01
| | | | TODO: Merge useful functionality from modpyb too.
* modubinascii: Add, with hexlify() implementation.Paul Sokolovsky2014-11-29
|
* moduhashlib: Initial module skeleton.Paul Sokolovsky2014-11-22
|
* stream: Implement seek operation support via ioctl, wrapped in generic method.Paul Sokolovsky2014-11-17
| | | | Also, implement for unix port.
* py: Use __hash__ method if a type defines itstijn2014-11-15
|
* py: Make gc.enable/disable just control auto-GC; alloc is still allowed.Damien George2014-10-31
| | | | | | gc.enable/disable are now the same as CPython: they just control whether automatic garbage collection is enabled or not. If disabled, you can still allocate heap memory, and initiate a manual collection.
* py: Add builtin round function.Damien George2014-10-31
| | | | Addresses issue #934.
* py: Add mp_pending_exception global variable, for VM soft interrupt.Damien George2014-10-25
| | | | | | | | | | | This allows to implement KeyboardInterrupt on unix, and a much safer ctrl-C in stmhal port. First ctrl-C is a soft one, with hope that VM will notice it; second ctrl-C is a hard one that kills anything (for both unix and stmhal). One needs to check for a pending exception in the VM only for jump opcodes. Others can't produce an infinite loop (infinite recursion is caught by stack check).
* py: Implement compile builtin, enabled only on unix port.Damien George2014-10-25
| | | | | | | This should be pretty compliant with CPython, except perhaps for some corner cases to do with globals/locals context. Addresses issue #879.
* py: Add builtin memoryview object (mostly using array code).Damien George2014-10-23
|
* extmod: Add uheapq module.Damien George2014-10-22
|
* py: Remove unused and unneeded SystemError exception.Damien George2014-10-22
| | | | | It's purpose is for internal errors that are not catastrophic (ie not as bad as RuntimeError). Since we don't use it, we don't need it.
* Implement kwargs for builtin open() and _io.FileIOstijn2014-10-21
| | | | | | | This makes open() and _io.FileIO() more CPython compliant. The mode kwarg is fully iplemented. The encoding kwarg is allowed but not implemented; mainly to allow the tests to specify encoding for CPython, see #874
* unix, stmhal: Implement file.readinto() method.Paul Sokolovsky2014-10-18
| | | | | | Also, usocket.readinto(). Known issue is that .readinto() should be available only for binary files, but micropython uses single method table for both binary and text files.
* modzlibd: Remove, superceded by moduzlib.Paul Sokolovsky2014-10-13
|
* moduzlib: Integrate into the system.Paul Sokolovsky2014-10-13
|
* modure: Initial module, using re1.5 (which is based on re1 codebase).Paul Sokolovsky2014-10-11
| | | | https://github.com/pfalcon/re1.5
* py: Remove IOError since it's deprecated; use OSError instead.Damien George2014-09-30
| | | | | | | | | | | In CPython IOError (and EnvironmentError) is deprecated and aliased to OSError. All modules that used to raise IOError now raise OSError (or a derived exception). In Micro Python we never used IOError (except 1 place, incorrectly) and so don't need to keep it. See http://legacy.python.org/dev/peps/pep-3151/ for background.
* py: Add casting to viper; add native mem stores to viper.Damien George2014-09-29
| | | | | | | | | | Viper can now do the following: def store(p:ptr8, c:int): p[0] = c This does a store of c to the memory pointed to by p using a machine instructions inline in the code.
* extmod: Add loads to ujson module.Damien George2014-09-21
|
* py: Add 'builtins' module.Damien George2014-09-17
|
* py: Add native json printing using existing print framework.Damien George2014-09-17
| | | | | Also add start of ujson module with dumps implemented. Enabled in unix and stmhal ports. Test passes on both.
* Remove skeletal modselect from extmod and just put it in stmhal.Damien George2014-09-07
|
* stmhal: Implement generic select.select and select.poll.Damien George2014-09-07
|
* py: Add support for emitting native x86 machine code.Damien George2014-09-06
|
* Basic native ARM emitterFabian Vogt2014-08-27
|
* py: Add dispatch for user defined ==, >, <=, >=.Damien George2014-08-26
| | | | Addresses issue #827.
* py: Allow viper to have type annotations.Damien George2014-08-15
| | | | | | | | | Viper functions can now be annotated with the type of their arguments and return value. Eg: @micropython.viper def f(x:int) -> int: return x + 1
* modzlibd: Decompress part of "zlib" module, based on miniz tinfl.c .Paul Sokolovsky2014-08-13
|
* py: #if guard qstrs that are optional.Damien George2014-08-12
| | | | Also disable gc module on bare-arm port.
* py: Add .real and .imag attributes to complex numbers.Damien George2014-08-12
|
* py: Implement builtin reversed() function.Damien George2014-08-12
| | | | | | | | reversed function now implemented, and works for tuple, list, str, bytes and user objects with __len__ and __getitem__. Renamed mp_builtin_len to mp_obj_len to make it publically available (eg for reversed).
* Merge pull request #738 from dhylands/except-argsDamien George2014-07-29
|\ | | | | Add support for storing args during an exception raised by an irq.