micropython

docs/rejected.txt

525:deb3720de7d1
2012-06-05 Paul Boddie Introduced more rigid selection of suitable types depending on whether all attributes given as being used can be found in one or more types, or whether the selection of less satisfactory types (supporting any of the attributes) is necessary.
     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.