micropython

docs/rejected.txt

230:892b13f1cba4
2009-05-30 Paul Boddie Changed instantiator invocation reserving a frame slot regardless of whether the target is known in advance. In the instantiator, the first frame slot is then overwritten with the new instance, and the RecoverFrame instruction is no longer required. Instead, a new JumpInFrame instruction maintains the existing locals, jumping to the initialiser method for the class. Updated various tests, renaming and enhancing the classes test.
     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.