(tu40.txt)          
MAINTENANCE of J-LIB
Conflicts between names of nouns and verbs:
------------------------------------------
Verb "subs2" checks if the nouns of a new script conflict with the name list.
(see subs2[21] MSG ...). (Use 2 single 'subs2' to get at subs2)
The reverse check if names of new verbs conflict with nouns of earlier verbs
is not done at present. This could be done by running the above check in
a "batch" program on the previously filed data in "codes.jlb".
The matter of conflicting noun and verb names is a difficult one as 
the names of new verbs to be added in the future is unknown. 
The treatment of this problem require solutions that should not put a burden 
on the user to have to face wholesale renaming projects, if he gets or writes
new software and wants to add it to J-lib.
One way I have considered is to use reserved names for nouns, such as starting 
all local nouns with L e.g. Lname and all globals with G e.g. Gname. 
No verb-names starting with L or G will then be be allowed.
Or more simply all nouns (local and global) start with N e.g. name "count"
becomes "Ncount". Renaming (by adding L,G or N to the name) can be done under 
program control and automatically avoids the conflict referred to in subs2[21]. 
If it is desired the names can be restored to the original code by dropping the
leading L,G or N, also by a renaming program. 
If this system is implemented,then it only remains to rename any verbs 
starting with L,G or N. As I use lower case only, for ALL names this is 
not a problem for me and probably not for most other users.
In preparation for the above renaming process, verb "subs" determines and 
records in "codes.jlb" the local and global noun names. In addition verb "vtree y." 
determines a tree describing the relationship of rootverb and subverbs. 
This is needed to trace and identify global nouns declared in a root verb
and used in the subverbs. All the bits and pieces are there to develop such a 
renaming program. ** I WOULD LIKE SOME FEED BACK ON THIS.
An alternate might be to use locatives. It appears that the renaming then
is at least as cumbersome, if not more so.

