When I did some modules programming, I arrived at a more general idea
than the one in the expl3 draft:
The construction \<module_1>/.../<module_k>/<object> should be
interpreted as though the <object> is called within the <module_k>, which
is a submodule of <module_(k-1)>, and so forth. In LaTeX3, one could have a
naming convention that there should be a command with the same name.
However, the actual interpretation is somewhat deeper: The <object> is
called within the module whose full name is \<module_1>/.../<module_k>/,
and it should be called within the conventions that this module determines
Therefore not merely the command name \<module_1>/.../<module_k>/<object>
is called, but the command name \<module_1>/.../<module_k>/ with <object>
as an argument: Then the command \<module_1>/.../<module_k>/ can determine
what conventions to use; for example, it could merely expand to
The point is that one could define modules with more flexible syntax.
This could be a module with HTML syntax, even though if just that is
Therefore I am inclined to believe that in the syntax
\<module>_<description>:<arg-spec>, the :<arg-spec> should not be a part of
the name of the command, but something that can be extracted when knowing
the name \<module>_<description>.
But perhaps this is too complicated (or too inefficient) to implement on
the development level: Perhaps one could implement user level commands with
simplified names instead. The best would perhaps to let an improved version
of TeX itself sort out which of the different copies of
\<module>_<description>:<arg-spec> should be used for a given
\<module>_<description> (in so called "name overloading").
* Email: Hans Aberg <mailto:[log in to unmask]>
* Home Page: <http://www.matematik.su.se/~haberg/>
* AMS member listing: <http://www.ams.org/cml/>