<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/obj.h, branch v1.4.1</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.1</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.1'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-04-04T14:53:11+00:00</updated>
<entry>
<title>py: Some trivial cosmetic changes, for code style consistency.</title>
<updated>2015-04-04T14:53:11+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-04T14:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2801e6fad8b8b3ecdd9c8bc58f9515ff66eca46c'/>
<id>urn:sha1:2801e6fad8b8b3ecdd9c8bc58f9515ff66eca46c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Allow configurable object representation, with 2 different options.</title>
<updated>2015-04-03T13:11:13+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-03-29T13:05:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=567184e21e9a6a37fd71153a43874dec7a3f5e0c'/>
<id>urn:sha1:567184e21e9a6a37fd71153a43874dec7a3f5e0c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Cast mp_obj_t to concrete types explicitly.</title>
<updated>2015-03-25T07:25:41+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-03-25T07:25:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3d598256df0fa3ebe7d0eedd23222ba52571af7e'/>
<id>urn:sha1:3d598256df0fa3ebe7d0eedd23222ba52571af7e</id>
<content type='text'>
mp_obj_t internal representation doesn't have to be a pointer to object,
it can be anything.

There's also a support for back-conversion in the form of MP_OBJ_UNCAST.
This is kind of optimization/status quo preserver to minimize patching the
existing code and avoid doing potentially expensive MP_OBJ_CAST over and
over. But then one may imagine implementations where MP_OBJ_UNCAST is very
expensive. But such implementations are unlikely interesting in practice.
</content>
</entry>
<entry>
<title>py: Allow retrieving a function's __name__.</title>
<updated>2015-03-20T23:13:32+00:00</updated>
<author>
<name>stijn</name>
<email>stinos@zoho.com</email>
</author>
<published>2015-02-14T17:44:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3cc17c69ffd64dca55fe613f6e931585d8893c0d'/>
<id>urn:sha1:3cc17c69ffd64dca55fe613f6e931585d8893c0d</id>
<content type='text'>
Disabled by default.  Enabled on unix and stmhal ports.
</content>
</entry>
<entry>
<title>py: Clarify API for map/set lookup when removing&amp;adding at once.</title>
<updated>2015-03-20T17:41:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-03-20T17:41:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d1cee02783666338b526ac686c19440c5f44b258'/>
<id>urn:sha1:d1cee02783666338b526ac686c19440c5f44b258</id>
<content type='text'>
Addresses issue #1160.
</content>
</entry>
<entry>
<title>py: Implement core of OrderedDict type.</title>
<updated>2015-03-20T17:26:10+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-03-17T23:25:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0ef01d0a75b8b2f48a72f0041e048a390b9e75b6'/>
<id>urn:sha1:0ef01d0a75b8b2f48a72f0041e048a390b9e75b6</id>
<content type='text'>
Given that there's already support for "fixed table" maps, which are
essentially ordered maps, the implementation of OrderedDict just extends
"fixed table" maps by adding an "is ordered" flag and add/remove
operations, and reuses 95% of objdict code, just making methods tolerant
to both dict and OrderedDict.

Some things are missing so far, like CPython-compatible repr and comparison.

OrderedDict is Disabled by default; enabled on unix and stmhal ports.
</content>
</entry>
<entry>
<title>objmemoryview: Introduce mp_obj_new_memoryview().</title>
<updated>2015-03-06T19:37:28+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-03-06T19:35:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cb0fc063edd428e0d7eee69190d2d31b5c9b49a0'/>
<id>urn:sha1:cb0fc063edd428e0d7eee69190d2d31b5c9b49a0</id>
<content type='text'>
This follows existing pattern for object constructor API and allows to
create memoryview objects e.g. in external modules.
</content>
</entry>
<entry>
<title>objarray: Implement array slice assignment.</title>
<updated>2015-02-27T20:17:15+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-02-27T20:16:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cefcbb22b2befac1baa9953c477fcee4031635d3'/>
<id>urn:sha1:cefcbb22b2befac1baa9953c477fcee4031635d3</id>
<content type='text'>
This is rarely used feature which takes enough code to implement, so is
controlled by MICROPY_PY_ARRAY_SLICE_ASSIGN config setting, default off.
But otherwise it may be useful, as allows to update arbitrary-sized data
buffers in-place.

Slice is yet to implement, and actually, slice assignment implemented in
such a way that RHS of assignment should be array of the exact same item
typecode as LHS. CPython has it more relaxed, where RHS can be any sequence
of compatible types (e.g. it's possible to assign list of int's to a
bytearray slice).

Overall, when all "slice write" features are implemented, it may cost ~1KB
of code.
</content>
</entry>
<entry>
<title>py: Implement UnicodeError.</title>
<updated>2015-02-23T21:20:16+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-02-23T21:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=71ebd4b7f0b88fc0ceb36d8c2464a5114470f5a0'/>
<id>urn:sha1:71ebd4b7f0b88fc0ceb36d8c2464a5114470f5a0</id>
<content type='text'>
Still too shy to implement UnicodeEncodeError which was really needed for
micropython-lib case.
</content>
</entry>
<entry>
<title>py: Expose mp_obj_list_remove as a public function.</title>
<updated>2015-02-21T14:47:02+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-21T14:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=eff359e114bc41ea1278f01a18ab50ac896f8cf0'/>
<id>urn:sha1:eff359e114bc41ea1278f01a18ab50ac896f8cf0</id>
<content type='text'>
</content>
</entry>
</feed>
