<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/runtime.h, branch v1.0.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.0.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.0.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2014-05-06T16:52:35+00:00</updated>
<entry>
<title>Merge branch 'master' of https://github.com/micropython/micropython</title>
<updated>2014-05-06T16:52:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-05-06T16:52:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c53b408f28942bfc5b64fee86ac89a339dc06e3f'/>
<id>urn:sha1:c53b408f28942bfc5b64fee86ac89a339dc06e3f</id>
<content type='text'>
Conflicts:
	py/argcheck.c
	py/objenumerate.c
	py/runtime.h
</content>
</entry>
<entry>
<title>py: Add keyword arg support to enumerate constructor.</title>
<updated>2014-05-06T16:38:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-05-06T16:38:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=491cbd6a7cd0a212e28c548789db432b4e64327e'/>
<id>urn:sha1:491cbd6a7cd0a212e28c548789db432b4e64327e</id>
<content type='text'>
Need to have a policy as to how far we go adding keyword support to
built ins.  It's nice to have, and gets better CPython compatibility,
but hurts the micro nature of uPy.

Addresses issue #577.
</content>
</entry>
<entry>
<title>py: enumerate(): Add NotImplementedError for kwargs.</title>
<updated>2014-05-06T16:31:49+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-05-06T16:25:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=47d3bd3b3189f44d9979e9ce1555e73629a3bbc7'/>
<id>urn:sha1:47d3bd3b3189f44d9979e9ce1555e73629a3bbc7</id>
<content type='text'>
Addresses #577.
</content>
</entry>
<entry>
<title>Add license header to (almost) all files.</title>
<updated>2014-05-03T22:27:38+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-05-03T22:27:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=04b9147e150d2d6fa3750f312fe328b6a71c1b28'/>
<id>urn:sha1:04b9147e150d2d6fa3750f312fe328b6a71c1b28</id>
<content type='text'>
Blanket wide to all .c and .h files.  Some files originating from ST are
difficult to deal with (license wise) so it was left out of those.

Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
</content>
</entry>
<entry>
<title>Simplify names for argcheck.c / arg parsing.</title>
<updated>2014-04-26T10:19:17+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-26T10:19:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=dbc81df5d4822b3a0fc31ea1c5684b0101e193dd'/>
<id>urn:sha1:dbc81df5d4822b3a0fc31ea1c5684b0101e193dd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add arg checking helper functions.</title>
<updated>2014-04-19T23:13:22+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-19T23:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a3f94e0030dc209f4d180531878cede7a1e2dbbe'/>
<id>urn:sha1:a3f94e0030dc209f4d180531878cede7a1e2dbbe</id>
<content type='text'>
These are to assist in writing native C functions that take positional
and keyword arguments.  mp_arg_check_num is for just checking the
number of arguments is correct.  mp_arg_parse_all is for parsing
positional and keyword arguments with default values.
</content>
</entry>
<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>py: Merge BINARY_OP_SUBSCR and store_subscr (w/ delete) into subscr.</title>
<updated>2014-04-17T21:10:53+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-17T21:10:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=729f7b42d65c016c9d5f27fb8a8122869f06c129'/>
<id>urn:sha1:729f7b42d65c016c9d5f27fb8a8122869f06c129</id>
<content type='text'>
mp_obj_t-&gt;subscr now does load/store/delete.
</content>
</entry>
<entry>
<title>Merge pull request #476 from pfalcon/static-sys</title>
<updated>2014-04-13T11:52:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-13T11:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=640e7e4779d5d6b5e53fa305e5fe824da7783090'/>
<id>urn:sha1:640e7e4779d5d6b5e53fa305e5fe824da7783090</id>
<content type='text'>
Convert sys module to static allocation</content>
</entry>
<entry>
<title>py: Remove unique_codes from emitglue.c.  Replace with pointers.</title>
<updated>2014-04-13T10:04:33+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-13T10:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=df8127a17eeb3057e820180e318ec3d915111b6a'/>
<id>urn:sha1:df8127a17eeb3057e820180e318ec3d915111b6a</id>
<content type='text'>
Attempt to address issue #386.  unique_code_id's have been removed and
replaced with a pointer to the "raw code" information.  This pointer is
stored in the actual byte code (aligned, so the GC can trace it), so
that raw code (ie byte code, native code and inline assembler) is kept
only for as long as it is needed.  In memory it's now like a tree: the
outer module's byte code points directly to its children's raw code.  So
when the outer code gets freed, if there are no remaining functions that
need the raw code, then the children's code gets freed as well.

This is pretty much like CPython does it, except that CPython stores
indexes in the byte code rather than machine pointers.  These indices
index the per-function constant table in order to find the relevant
code.
</content>
</entry>
</feed>
