On Thu, 3 Mar 2011, Wolfgang Schuster wrote:
I am a bit surprised by the naming of the internal macros:
annotation_cmd
annotation__cmd
annotation___cmd
I liked the LaTeX3 system to have names in the form \<module>_<command>,
with this you have a easy way to protect internal commands and to avoid
command clashes,
I also like \<module>_<command>. That is better than \<module><command>
that I have been using. Of course, this means that _ should not have its
usual meaning. I haven't checked on how \unprotect works in MkII. If it
makes _ a letter, then I'll switch to \<module>_<command>.
Another option might be to use \<module>.<command> with . having the right
catcode. That will give macro names a more OOP feel.
e.g. you define the command \getfirstcharacter in your
filter module but this name is already used in the core (syst-aux.mkiv)
and with the name \filter_getfirstcharacter you can avoid this without
thinking too much about a good name.
I didn't know that. I'll change that name.
So far, I have been using \externafillter<command> for
most commands, and sometimes it gets unreadable.
I know that \do \dodo \dododo is not the best notation, but I don't find _ __
___ better.
I don’t like the __ and ___ either but do you know a better way for good
names without using do, dodo, nodo, yes or nop?
I find that \module__command and \module___command are hard to
distinguish. For helper macros, a better idea might be:
\module_command
\module_command!
\module_command!!
These commands are easy to distinguish visually. But this will not work
for too well for three or four levels. I think that none of the schemes
look good for three or four levels. Perhaps we could mix both existing
schemes to get something reasonable:
\module_command
\module_command!
\module_command!do
\module_command!redo
or maybe
\module_command
\module_command_one
\module_command_two
\module_command_three
etc.
Aditya
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________