micropython

Changelog

(0) -300 -100 -10 +10 +100 +300 tip
401:4a8dd27c2994
2011-02-27 Paul Boddie changeset files shortlog graph Switched back to providing a common __class__ attribute for instances, intercepting __class__ accesses on classes during inspection, compilation and, through appropriate instruction sequences, execution. Exposed target details in the optimise_constant_accessor method's results. Exposed dynamic/static details in the possible_accessor_types ASTVisitor method's results. Improved frame stack visualisation in the RSVP machine.
TO_DO.txt docs/concepts.txt lib/builtins.py micropython/common.py micropython/data.py micropython/inspect.py micropython/opt.py micropython/rsvp.py micropython/trans.py rsvp.py ...
400:5c5cddf971cb
2011-02-26 Paul Boddie changeset files shortlog graph Added tag feature-universal-__class__-attributes for changeset 83dc777c7083
.hgtags
399:83dc777c7083
2011-02-25 Paul Boddie changeset files shortlog graph Fixed constant raw image generation to actually refer to the class of each constant. Referenced NoneType and NotImplementedType so that the standard constants can be generated. Added a __class__ attribute to function instances. Fixed exception raising so that __class__ is included in allocated exception instances. Fixed item retrieval from list fragments which had erroneously been changed to resemble tuple item retrieval. Fixed list fragment reference initialisation for list literals. Added start and end parameters to the RSVPMachine.show method. Added an up method to RSVPMachine as a complement to the step and run methods. feature-universal-__class__-attributes
lib/builtins.py micropython/data.py micropython/rsvp.py micropython/trans.py rsvp.py rsvplib.py
398:62d65b1b7936
2011-02-20 Paul Boddie changeset files shortlog graph Improved exception block tracking in order to make sure that such blocks are discarded when program units are exited. Added a stack to track invocation frame state when handlers are defined, although this could arguably be merged with the locals frame state handling.
docs/exceptions.txt micropython/ast.py micropython/rsvp.py micropython/trans.py rsvp.py
397:7cc5058cbfb6
2011-02-20 Paul Boddie changeset files shortlog graph Fixed __class__ to always be at instance attribute position 0, thus matching its class attribute position. Added notes about the __class__ attribute, its definition in the object table, and the copying of the attribute from instance templates upon instantiation.
docs/concepts.txt micropython/data.py
396:5692f2b87aab
2011-02-20 Paul Boddie changeset files shortlog graph Fixed __class__ to always be at attribute position 0.
micropython/data.py
395:53332d0be6ac
2011-02-19 Paul Boddie changeset files shortlog graph Added __class__ attribute locations to constants and statically generated lists and tuples. Changed the RSVP machine and library to use common definitions for object data offsets and primitive object sizes. Changed the isinstance implementation to make use of changes to the __class__ attribute on classes and instances.
lib/builtins.py micropython/rsvp.py micropython/trans.py rsvp.py rsvplib.py
394:9c6deab845e0
2011-01-29 Paul Boddie changeset files shortlog graph Introduced a degree of support for classes and instances having separate __class__ attributes that are accessed in a class/instance-relative fashion. Added the __class__ attribute as a special case of a non-static attribute. This changes code generation such that a constant accessor (a class) may yield an attribute which should not be accessed via a fixed location. (Although this may be cautious and also limited by the behaviour of the object table, if class attribute assignment is to be permitted in future, more distinctions between apparently static attributes may need to be enforced.) Made the type class a special case which is created in advance so that all classes may refer to it via their __class__ attributes, and whose details are populated when the class is actually encountered in the __builtins__ module. Made extra space in the instance templates for the __class__ attribute, adding support for the copying of this data when new instances are created. Introduced type-specific vacuum support in order to correctly perform vacuuming. Changed various class references in the micropython module. Tidied up to "to do" document, putting items into separate sections. Added various tests of the new features.
TO_DO.txt docs/concepts.txt micropython/__init__.py micropython/data.py micropython/inspect.py micropython/rsvp.py micropython/table.py micropython/trans.py rsvp.py tests/class_attr_ref_to_class.py ...
393:820ab4a8b723
2011-01-13 Paul Boddie changeset files shortlog graph Added initial support for the print statement. Added a check for attributes having been defined when vacuuming objects.
lib/builtins.py micropython/ast.py micropython/inspect.py micropython/trans.py tests/print.py
392:e45c2eb227a3
2010-11-06 Paul Boddie changeset files shortlog graph Added some references.
docs/related.txt
(0) -300 -100 -10 +10 +100 +300 tip