Damien George
b051e7d167
py: Simpler implementation of mp_obj_callable.
2014-01-23 18:13:53 +00:00
Paul Sokolovsky
c3e72a8cc8
mp_obj_is_callable(): Only object types can be callable.
...
Fixes segfault on callable("string").
2014-01-23 03:37:21 +02:00
Damien George
5fa93b6755
Second stage of qstr revamp: uPy str object can be qstr or not.
2014-01-22 14:35:10 +00:00
Damien George
e6a4ab4be1
py: Remove implicit conversion of float to int in mp_obj_get_int().
...
Addresses Issue #199 .
2014-01-22 00:21:47 +00:00
Paul Sokolovsky
33996685df
Add len() support for arrays.
2014-01-21 23:59:50 +02:00
Damien George
12eaccacda
Merge branch 'master' of github.com:micropython/micropython
...
Conflicts:
py/objstr.c
py/py.mk
py/stream.c
unix/main.c
unix/socket.c
2014-01-21 21:54:15 +00:00
Damien George
55baff4c9b
Revamp qstrs: they now include length and hash.
...
Can now have null bytes in strings. Can define ROM qstrs per port using
qstrdefsport.h
2014-01-21 21:40:13 +00:00
Paul Sokolovsky
e6da0df6d1
mp_obj_get_type_str(): Handle MP_OBJ_QSTR.
2014-01-20 23:01:06 +02:00
Paul Sokolovsky
dff3f896d7
mp_identity(): Add generic identity function.
...
Useful as getiter method for objects which are their own iterators, etc.
2014-01-20 18:42:08 +02:00
Paul Sokolovsky
3754c4a040
mp_obj_get_qstr(): Handle MP_OBJ_QSTR.
2014-01-20 18:23:38 +02:00
Paul Sokolovsky
bb33cc66fb
Properly print MP_OBJ_QSTR objects.
2014-01-20 01:00:28 +02:00
Damien George
136b149e41
py: Add full traceback to exception printing.
2014-01-19 12:38:49 +00:00
Damien George
632cf5710c
Merge branch 'master' of github.com:dpgeorge/micropython
2014-01-18 14:15:48 +00:00
Paul Sokolovsky
d26b379eec
int: Add value accessors: mp_obj_int_get() & mp_obj_int_get_checked().
...
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 16:12:12 +02:00
Damien George
20006dbba9
Make VM stack grow upwards, and so no reversed args arrays.
...
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 14:10:48 +00:00
Paul Sokolovsky
76d982ef34
type->print(): Distinguish str() and repr() variety by passing extra param.
2014-01-15 02:15:38 +02:00
Paul Sokolovsky
ca318bba0d
mp_obj_equal(): Compare small and long ints properly.
...
By dispatching to long int methods.
2014-01-13 22:41:16 +02:00
Paul Sokolovsky
cc57bd2663
mp_obj_equal(): For non-trivial types, call out to type's special method.
2014-01-12 03:33:56 +02:00
Damien George
eae16445d5
py: Implement staticmethod and classmethod (internally).
...
Still need to make built-ins by these names, and write tests.
2014-01-11 19:22:29 +00:00
Damien George
745ce4c2ad
Merge pull request #131 from chipaca/dict_fromkeys
...
Added dict.fromkeys.
2014-01-10 15:11:56 -08:00
Paul Sokolovsky
d6f27fe317
mp_obj_equal(): Print which types' equality not implemented before assert().
2014-01-11 00:14:33 +02:00
John R. Lenton
4bee76ebca
Added dict.fromkeys. Are we done with dict and #99 yet? I do think we are.
2014-01-10 11:25:03 +00:00
Damien George
6c73ca1e75
py: add variable argument exception constructor function.
...
Addresses issue #104 .
2014-01-08 18:11:23 +00:00
Damien George
38a2da68c2
py: Stuff qstr in object pointer; keys for mp_map_t are now always mp_obj_t.
2014-01-08 17:33:12 +00:00
Damien George
b97669ab94
py: Improve __build_class__.
2014-01-08 11:47:55 +00:00