Print

Print


> This does bring us to the point about "internal representation".
> TeX has different levels of internals, and at the level where it builds
> a horizontal list (as opposed to the higher level of the macro definitions)
> the character tokens must map directly to the corresponding font.
> Some can call this a lack of distinct internal representation.
> Others can say the relevant representation is in the macros (as
> with inputenc).  Still others can say TeX's internal representation
> is independent because of virtual fonts.

Maybe "internal representation" is not the right term and more
accurate expressions should be introduced:
 - protected expansion: the "representation" when we say things
   \protected@edef or write to a file.
 - full expansion: as done by \edef, but of little interest here.
 - evaluation: when all token are finally expanded, except primitives
   which are evaluated and chars which are added to the dvi file.

In TeX, only the protected expansion is under our control. In Omega
we can control evaluation somehow. Once tokens are expanded, primitives
are evaluated as in TeX, but chars can be further processed using
ocp's (if the result contains macros, they are expanded and evaluated
in turn, and so on).

I'm realizing that perhaps Frank and I are speaking of different
"internal representations" since I think he refers to protected
expansion while I refer to evaluation. In fact, in the draft
I've written protected expansion preserves \" and the like, which
are converted to Unicode chars only on evaluation. In other words,
things like \"e are preserved when written to the aux file or
moved around.

Frank, what do you think?

Javier