On Mon, Jul 07, 2003 at 05:08:38PM +0100, Robin Fairbairns wrote:
> achim blumensath wrote:
> > On Sat, Jul 05, 2003 at 11:47:02PM +0100, Robin Fairbairns wrote:
> > > the fact is, that many people complain about the restrictions that tex
> > > places on our programming, but no-one is willing to throw out the
> > > basis of the "programming model" of tex -- rebuilding tex from scratch
> > > is just too much of a job.
> > I do not know whether I count for "someone" but I'm currently doing
> > precisely this (see ant on my home page). On the other hand, I'm not
> > exactly rebuilding TeX since I do not aim for 100% compatibility.
> if i had misunderstood, please correct me, but i thought ant was _not_
> intended as a root-and-branch replacement of tex, but merely to
> provide an alternative rapid-prototyping approach to nts. (and, i
> thought, hopefully without the encumbrances under which nts labours.)
Well, the longer I read your original remark the less I'm sure what you
meant. I guess I have to cover all possible cases ;-)
ant is not meant as a replacement of TeX in the sense that one can just
exchange the binary and all old documents will still work (like etex,
pdftex, Omega, NTS). Instead, I try to write a typesetting program with
(at least) the same functionality as TeX and comparable syntax, but a
much saner design. (Actually, it should be possible to write a
compatibility mode for ant that can read all TeX documents and produce
nearly identical results, but I have not the time/motivation to do so.)
> of course, i expressed myself badly: the "programming model" i was
> talking of was not "let's replace this web/pascal stuff", but rather
> "let's find an alternative way of expressing tex operations that gains
> desirable things, but doesn't lose us tex's extraordinary power".
So you are speaking about the language that is used to write class
files? In ant I distinguish between markup and style definitions. For
the first one, I currently use TeX-syntax with only slight cleanups.
Styles, on the other hand, are written in OCaml -- the programming
language ant itself is written in.
> an example of these "desirable things" could well be space
> preservation. it's not something that turns me on, particularly, but
> i can see the user interface arguments for it.
In ant I dropped the notion of catcodes. Macros are just string
replacements. Their arguments are not tokenised. In particular, spaces
are only removed when a preceding command sequence is expanded.
| \_____/ |
Achim Blumensath \O/ \___/\ |
Mathematische Grundlagen der Informatik =o= \ /\ \|
www-mgi.informatik.rwth-aachen.de/~blume /"\ o----|