<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/objmodule.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-05-02T14:48:40+00:00</updated>
<entry>
<title>py, unix: Make "mpconfig.h" be first included, as other headers depend on it.</title>
<updated>2014-05-02T14:48:40+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-05-02T14:47:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f54bcbf0997211a3d2a04bab09c79f602fa0c8e9'/>
<id>urn:sha1:f54bcbf0997211a3d2a04bab09c79f602fa0c8e9</id>
<content type='text'>
Specifically, nlr.h does.
</content>
</entry>
<entry>
<title>py: Finish implementation of all del opcodes.</title>
<updated>2014-04-08T20:11:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-08T20:11:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1d24ea5207ba4b62b20dbba22ab2800496418463'/>
<id>urn:sha1:1d24ea5207ba4b62b20dbba22ab2800496418463</id>
<content type='text'>
At this point, all opcodes are now implemented!

Some del opcodes have been combined with store opcodes, with the value
to store being MP_OBJ_NULL.
</content>
</entry>
<entry>
<title>py: Make globals and locals proper dictionary objects.</title>
<updated>2014-04-05T21:36:42+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-05T21:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7efc5b3f346869cd4177760e6a6b2bb863b425da'/>
<id>urn:sha1:7efc5b3f346869cd4177760e6a6b2bb863b425da</id>
<content type='text'>
Finishes addressing issue #424.

In the end this was a very neat refactor that now makes things a lot
more consistent across the py code base.  It allowed some
simplifications in certain places, now that everything is a dict object.

Also converted builtins tables to dictionaries.  This will be useful
when we need to turn builtins into a proper module.
</content>
</entry>
<entry>
<title>py: Change module globals from mp_map_t* to mp_obj_dict_t*.</title>
<updated>2014-04-05T20:53:54+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-04-05T20:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8b0535e23fb1c646103a060a4ae17e9ee6d5e887'/>
<id>urn:sha1:8b0535e23fb1c646103a060a4ae17e9ee6d5e887</id>
<content type='text'>
Towards addressing issue #424.

Had a small increase to ROM usage (order 60 bytes).
</content>
</entry>
<entry>
<title>Merge map.h into obj.h.</title>
<updated>2014-03-30T12:54:02+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-30T12:54:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=df6567e6345c763182fa237a4497ab94ee6ffc20'/>
<id>urn:sha1:df6567e6345c763182fa237a4497ab94ee6ffc20</id>
<content type='text'>
Pretty much everyone needs to include map.h, since it's such an integral
part of the Micro Python object implementation.  Thus, the definitions
are now in obj.h instead.  map.h is removed.
</content>
</entry>
<entry>
<title>Proper support for registering builtin modules in ROM.</title>
<updated>2014-03-25T14:18:18+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-25T14:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=caac542b235003f7b79d7aa23eaebe8f2c772508'/>
<id>urn:sha1:caac542b235003f7b79d7aa23eaebe8f2c772508</id>
<content type='text'>
Comes with some refactoring of code and renaming of files.  All modules
are now named mod*.[ch].
</content>
</entry>
<entry>
<title>Add mp_obj_module_register</title>
<updated>2014-03-24T22:25:27+00:00</updated>
<author>
<name>mux</name>
<email>freelancer.c@gmail.com</email>
</author>
<published>2014-03-24T22:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=89d45248ee5f47338774ca0c999af4299da55512'/>
<id>urn:sha1:89d45248ee5f47338774ca0c999af4299da55512</id>
<content type='text'>
* Add function to load static modules.
* Use module_register to pyb module.
</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 ROMable modules.  Add math module.</title>
<updated>2014-03-08T15:24:39+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-03-08T15:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0c36da0b59bd3d5aeb6f7bd7f75913695a1dd366'/>
<id>urn:sha1:0c36da0b59bd3d5aeb6f7bd7f75913695a1dd366</id>
<content type='text'>
mp_module_obj_t can now be put in ROM.

Configuration of float type is now similar to longint: can now choose
none, float or double as the implementation.

math module has basic math functions.  For STM port, these are not yet
implemented (they are just stub functions).
</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>
</feed>
