1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/rejected.txt Mon Apr 20 01:50:00 2009 +0200
1.3 @@ -0,0 +1,19 @@
1.4 +Namespace Definitions
1.5 +=====================
1.6 +
1.7 +Attributes can be redefined in modules and classes, but this eliminates much
1.8 +of the potential for optimisation. However, names of classes and functions
1.9 +could be restricted to only refer to the same kinds of objects within the same
1.10 +namespace. If redefinition were to occur, or if multiple possibilities were
1.11 +present, these restrictions could be moderated as follows:
1.12 +
1.13 + * Classes assigned to the same name could provide the union of their
1.14 + attributes. This would, however, cause a potential collision of attribute
1.15 + definitions such as methods.
1.16 +
1.17 + * Functions, if they share compatible signatures, could share parameter list
1.18 + definitions.
1.19 +
1.20 +It is easier, however, to regard multiply defined classes and functions as
1.21 +non-constant and to either disallow optimisations or to actually prevent the
1.22 +program describing them from compiling.