aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-01-20Don't preimport socket module.Paul Sokolovsky
2014-01-20unix socket: Add send() and recv() methods.Paul Sokolovsky
CPython _socket actually have only those and doesn't provide stream interface (higher-level CPython "socket" what adds this). +516 bytes x86.
2014-01-20stream_read(): Shrink memory block to actual read size.Paul Sokolovsky
2014-01-20unix io.FileIO: Add iteration support.Paul Sokolovsky
A file cannot be iterated concurrently, so we make io.FileIO its own iterator.
2014-01-20stream: Add generic unbuffered iternext method.Paul Sokolovsky
Uses stream_unbuffered_readline underline.
2014-01-20mp_identity(): Add generic identity function.Paul Sokolovsky
Useful as getiter method for objects which are their own iterators, etc.
2014-01-20mp_obj_get_qstr(): Handle MP_OBJ_QSTR.Paul Sokolovsky
2014-01-20py: Put micropython module init code in builtinmp.c.Damien George
2014-01-20Merge pull request #198 from pfalcon/expose-memstatDamien George
Expose memory stats functions via "micropython" module.
2014-01-20Expose memory stats functions via "micropython" module.Paul Sokolovsky
These are micropython.mem_total(), .mem_current(), .mem_peak(). These are 3 individual functions with simple scalar return value to make sure that calls to these functions themselves have minimal (hopefully zero) impact on memory allocation.
2014-01-20Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-01-20Rename unix binary to 'micropython'.Damien George
2014-01-20Don't implicitly import "sys" module.Paul Sokolovsky
2014-01-20unix: Implement sys.argv.Paul Sokolovsky
2014-01-20Pre-create sys module.Paul Sokolovsky
2014-01-20Properly print MP_OBJ_QSTR objects.Paul Sokolovsky
2014-01-19Merge pull request #197 from pfalcon/mod-singletonsDamien George
Implement modules as singletons Python semantics.
2014-01-20Implement 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-19Small changes to README.Damien George
2014-01-19Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-01-19stm: Upgrade ST peripheral library from 1.1.0 to 1.3.0.Damien George
2014-01-19Add README for tests/.Paul Sokolovsky
2014-01-19Add directory for I/O tests with basic test for file methods.Paul Sokolovsky
2014-01-19stm: Upgrade to latest CMSIS libraries.Damien George
CMSIS V3.01 -> V3.20. Now in stm/cmsis to keep separate from ST libraries.
2014-01-19Move tests in basic/tests/ up one level preparating to multiple test dirs.Paul Sokolovsky
2014-01-19Change int to uint for n_args in function with variable arguments.Damien George
2014-01-19py: Add full traceback to exception printing.Damien George
2014-01-19Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-01-19py: 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-19Fix incorrect prototype of mp_builtin_open() after args refactor.Paul Sokolovsky
2014-01-19Add socket examples (simple HTTP client and server).Paul Sokolovsky
2014-01-19py: Temporary fix for bug where not enough VM state is allocated.Damien George
2014-01-19Tiny optimisation in objlist.c; a new test for inheritance.Damien George
2014-01-18Fix warnings about int/pointer casting.Damien George
2014-01-18Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-01-18py: Fix VM/runtime unpack sequence bug, Issue #193.Damien George
2014-01-19Add objarray.h .Paul Sokolovsky
2014-01-18Merge pull request #194 from pfalcon/socketDamien George
Add lean ("raw") socket module.
2014-01-18Merge pull request #192 from pfalcon/arraysDamien George
Add skeleton implementation of array.array and bytearray.
2014-01-18Add 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-19Add lean ("raw") socket module.Paul Sokolovsky
2014-01-18Merge branch 'master' of github.com:micropython/micropythonDamien George
2014-01-18Improve method lookup in mp_obj_class_lookup.Damien George
Now searches both locals_dict and methods. Partly addresses Issue #145.
2014-01-18Add 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-18Add testcase for subclassing builtin type and calling native method (broken).Paul Sokolovsky
2014-01-18Implement framework for class-defined built-in operators.Damien George
Now working for class-defined methods: __getitem__, __setitem__, __add__, __sub__. Easy to add others.
2014-01-18Merge pull request #191 from pfalcon/store-itemDamien George
Add store_item() virtual method to type to implement container[index] = val
2014-01-18Merge branch 'master' of github.com:dpgeorge/micropythonDamien George
2014-01-18int: 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-18Make 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.