2009-12-28

reserved words

10.7: adda/reserved words:

. instead of reserved words,
just qualify system names as belonging to system .
. in some lang's there exist implicit namespaces,
eg, names of rec`fields can be the same as locals
because a field name always occurs in the form rec` .
. are there syntactic categories that could represent namespace?
eg, can a scope reuse a type's name as an obj's name ?
can they coexist (eg, int.sys`int)
or would that require an override? .
[10.10:
. you could qualify the name with it's type:
eg, int.type, vs int.int .
]
. it might be laborous to prove complicated symantics;
users might also resent complication
even if simplifying meant less freedom .
[10.11: could have modes {user`controls, system`controls} ]
. at least familiar symbols should be reserved
so as to keep things defined as they are in english/math .

. types can include package location;
eg, sys`int ?
the point of global types is to avoid the need for
specifying packages;
eg, when you declare x.int,
that implicitely finds the package int.type
and imports its operators .
. if do want non-global pkg's imported, and their names clash
(ie, 2 authors have given the same name to their sharable library)
then use a rename on one of them .
. keep in mind the obj' view of connecting compilation units:
it may seem busy or confusing
but adda shouldn't rule out qualified type names .