- 19 Jan, 2014 7 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
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 .
-
Damien George authored
-
Damien George authored
-
Damien George authored
Exceptions know source file, line and block name. Also tidy up some debug printing functions and provide a global flag to enable/disable them.
-
Damien George authored
-
Damien George authored
-
- 18 Jan, 2014 10 commits
-
-
Damien George authored
-
Paul Sokolovsky authored
-
Damien George authored
Byte code has a map from byte-code offset to source-code line number, used to give better error messages.
-
Damien George authored
Now searches both locals_dict and methods. Partly addresses Issue #145.
-
Paul Sokolovsky authored
So far, only storage, initialization, repr() and buffer protocol is implemented - alredy suitable for passing binary data around.
-
Damien George authored
Now working for class-defined methods: __getitem__, __setitem__, __add__, __sub__. Easy to add others.
-
Paul Sokolovsky authored
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.
-
Damien George authored
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.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 17 Jan, 2014 2 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 16 Jan, 2014 5 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
Implicit "micropython" module contains (at least) codegeneration decorators. Make it explicit, so an app could have "import micropython". On MicroPython, that will be no-op. On CPython, that will give a chance to have a module with placeholder decorators.
-
Paul Sokolovsky authored
Per Python3 io module semantics.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
That at least makes stuff like "{:x}".format(1) to produce not completely broken output.
-
- 15 Jan, 2014 12 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
-
Paul Sokolovsky authored
-
Damien George authored
-
Damien George authored
Parser no longer prints an error, but instead returns an exception ID and message.
-
xyb authored
-
xyb authored
-
John R. Lenton authored
-
John R. Lenton authored
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
- 14 Jan, 2014 4 commits
-
-
John R. Lenton authored
-
Damien George authored
-
Paul Sokolovsky authored
So far, don't work for strings as expected.
-
Paul Sokolovsky authored
This implements internal args tuple of arguments, while still keeping object useful for reporting C-side errors. Further elaboration is needed.
-