> The reason why pile/pile/pile and matrix work seems to be > precisely because the tokens are presented out of order in > the source code, column by column, and that is precisely what > you do not want to carry over to your proposed mark/lineup > semantics.
I don't think the out-of-order aspect is essential; the creators of eqn probably just considered column-wise input more "natural" for the cases they envisioned. LaTeX employs row-wise input for both matrices and equation arrays (the equivalent to eqn's mark/lineup), thus keeping the natural order in inputting successive equations. (Without looking at the code, I assume you have to store all the elements internally in some structure representing the matrix first, so eqn could probably also be modified for row-wise input.) The point is simply that you cannot begin layouting the equation(s) until all required information has been input, and this somewhat clashes with troff/eqn's division of labor, eqn deciding on the relative placement of the parts of the equation, and EQ/EN dealing with how to place the entire chunk on the page. And then there are further issues to consider, such as numbering of equations, where to allow page breaks, etc.