micropython

docs/rejected.txt

223:09ae448806d1
2009-05-24 Paul Boddie Added a StoreAddressContext instruction for class attribute initialisation. Fixed the mechanism behind LoadAttrIndexContextCond and LoadAddressContextCond since it failed to provide the appropriate instance context for instance accesses. Added a LoadFunction instruction in order to distinguish between constants which have no context information and those which do.
     1 Namespace Definitions
     2 =====================
     3 
     4 Attributes can be redefined in modules and classes, but this eliminates much
     5 of the potential for optimisation. However, names of classes and functions
     6 could be restricted to only refer to the same kinds of objects within the same
     7 namespace. If redefinition were to occur, or if multiple possibilities were
     8 present, these restrictions could be moderated as follows:
     9 
    10   * Classes assigned to the same name could provide the union of their
    11     attributes. This would, however, cause a potential collision of attribute
    12     definitions such as methods.
    13 
    14   * Functions, if they share compatible signatures, could share parameter list
    15     definitions.
    16 
    17 It is easier, however, to regard multiply defined classes and functions as
    18 non-constant and to either disallow optimisations or to actually prevent the
    19 program describing them from compiling.