Print

Print


Frank Mittelbach wrote:
>first of all the basic commands are unchanged availabale all starting
>\tex_... (with the idea that perhaps \etex_... or \pdftex_... thingies
>exist one day.

Javier Bezos wrote:
>In this case using \tex_ makes sense, but I presume that tex, etex,
>pdftex... names will not overlap. For this reason I think removing
>the "tex" is not a serious problem and this way we avoid the
>cluttering with "tex"s.

  The idea with modules is not only to ensure that names do not clash, but
to communicate information about the uses of those names. For example, if
we have two modules "real" and "complex", then several names overlap, like
+, * etc, but some do not, like max, min, Re, Im. It is possible to let the
context (in general) sort out if say "+" refers to the real or complex
numbers, but even if we were able to do that, it would be preferable to
keep the real and complex names in different modules.

  So names tex, etex, pdftex could be put in the same module, but if one
wants to communicate the information that say the tex module only deals
with basic primitives and nothing else, it should be left uncluttered with
other names.

  For the names etex, pdftex one could experiment with different ideas: One
would be let them be new modules named etex, pdftex, another would be to
view them as submodule of \tex, in which case they would get the names
tex/e and tex/pdf. In the latter case, one could also think of a module
called pdf: Then the tex/pdf module would only deal with basic tex commands
that the pdf module uses for building more advance pdf features.

  Using different module names like this will in fact help developers, if
done correctly: For example, two different pdf packages may use the same
low level tex/pdf commands. Then the developer of a new pdf package will
know that it is not necessary to worry about the pdf module. (This is just
an example of ideas, which does not have anything with developing pdftex
itself.)

  So one can use nodules to split the code into chunks that enables the
developer to focus only on the parts needed for the task at hand.

  Hans Aberg
                  * Email: Hans Aberg <mailto:[log in to unmask]>
                  * Home Page: <http://www.matematik.su.se/~haberg/>
                  * AMS member listing: <http://www.ams.org/cml/>