<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/objenumerate.c, branch v1.0-rc1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.0-rc1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.0-rc1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2014-04-17T22:19:36+00:00</updated>
<entry>
<title>py: Add MP_OBJ_STOP_ITERATION and make good use of it.</title>
<updated>2014-04-17T22:19:36+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-17T22:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=ea8d06c39d9c94036e490b300d46f367c9eb78d9'/>
<id>urn:sha1:ea8d06c39d9c94036e490b300d46f367c9eb78d9</id>
<content type='text'>
Also make consistent use of MP_OBJ_NOT_SUPPORTED and MP_OBJ_NULL.
This helps a lot in debugging and understanding of function API.
</content>
</entry>
<entry>
<title>Rename rt_* to mp_*.</title>
<updated>2014-03-30T12:35:08+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-30T12:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d17926db710189db97a49e9b2e72d782fc404231'/>
<id>urn:sha1:d17926db710189db97a49e9b2e72d782fc404231</id>
<content type='text'>
Mostly just a global search and replace.  Except rt_is_true which
becomes mp_obj_is_true.

Still would like to tidy up some of the names, but this will do for now.
</content>
</entry>
<entry>
<title>py: Rename old const type objects to mp_type_* for consistency.</title>
<updated>2014-03-29T13:43:38+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-29T13:43:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3e1a5c10c5bf0a38c2ed3b9986b43b8cb8227b2f'/>
<id>urn:sha1:3e1a5c10c5bf0a38c2ed3b9986b43b8cb8227b2f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Replace mp_const_stop_iteration object with MP_OBJ_NULL.</title>
<updated>2014-03-26T19:27:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-26T19:27:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=66eaf84b8c2db6afad7ec49eb296a019a2f377df'/>
<id>urn:sha1:66eaf84b8c2db6afad7ec49eb296a019a2f377df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Clean up includes.</title>
<updated>2014-03-17T09:43:40+00:00</updated>
<author>
<name>xbe</name>
<email>xbe@machine</email>
</author>
<published>2014-03-16T07:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=efe34223945a5d27a7ae9445d0793d6330cd2411'/>
<id>urn:sha1:efe34223945a5d27a7ae9445d0793d6330cd2411</id>
<content type='text'>
Remove unnecessary includes. Add includes that improve portability.
</content>
</entry>
<entry>
<title>Implement proper exception type hierarchy.</title>
<updated>2014-02-15T16:10:44+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-02-15T16:10:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c5966128c7c8a768f6726f299d85d5daef6bed48'/>
<id>urn:sha1:c5966128c7c8a768f6726f299d85d5daef6bed48</id>
<content type='text'>
Each built-in exception is now a type, with base type BaseException.
C exceptions are created by passing a pointer to the exception type to
make an instance of.  When raising an exception from the VM, an
instance is created automatically if an exception type is raised (as
opposed to an exception instance).

Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper.

Handling of parse error changed to match new exceptions.

mp_const_type renamed to mp_type_type for consistency.
</content>
</entry>
<entry>
<title>Change mp_obj_type_t.name from const char * to qstr.</title>
<updated>2014-02-15T11:34:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-02-15T11:34:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a71c83a1d1aeca1d81d7c673929f8e836dec131e'/>
<id>urn:sha1:a71c83a1d1aeca1d81d7c673929f8e836dec131e</id>
<content type='text'>
Ultimately all static strings should be qstr.  This entry in the type
structure is only used for printing error messages (to tell the type of
the bad argument), and printing objects that don't supply a .print method.
</content>
</entry>
<entry>
<title>Replace global "static" -&gt; "STATIC", to allow "analysis builds". Part 1.</title>
<updated>2014-02-12T16:21:11+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-02-12T16:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d5df6cd44a433d6253a61cb0f987835fbc06b2de'/>
<id>urn:sha1:d5df6cd44a433d6253a61cb0f987835fbc06b2de</id>
<content type='text'>
Some tools do not support local/static symbols (one example is GNU ld map file).
Exposing all functions will allow to do detailed size comparisons, etc.

Also, added bunch of statics where they were missing, and replaced few identity
functions with global mp_identity().
</content>
</entry>
<entry>
<title>Revamp qstrs: they now include length and hash.</title>
<updated>2014-01-21T21:40:13+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-01-21T21:40:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=55baff4c9bcbc001cbb8972c289ebfa356d4665b'/>
<id>urn:sha1:55baff4c9bcbc001cbb8972c289ebfa356d4665b</id>
<content type='text'>
Can now have null bytes in strings.  Can define ROM qstrs per port using
qstrdefsport.h
</content>
</entry>
<entry>
<title>Make VM stack grow upwards, and so no reversed args arrays.</title>
<updated>2014-01-18T14:10:48+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-01-18T14:10:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=20006dbba9d2d84ead036fdfab7190e88b2337ce'/>
<id>urn:sha1:20006dbba9d2d84ead036fdfab7190e88b2337ce</id>
<content type='text'>
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.
</content>
</entry>
</feed>
