Will Robertson <[log in to unmask]> writes: > Hi David, > > On 23/02/2009, at 10:04 PM, David Kastrup wrote: > >> Having a Lua programming interface where the control logic is mostly >> written in Lua, controlling the execution of LaTeX stuff more or >> less at >> the class complexity level, will do quite a bit for more people >> working >> on LaTeX. > > I totally agree; and I think this will happen whether the LaTeX team > does anything about LaTeX3 or not. We've never talked about what > engines that we want to base LaTeX3 upon, and as far as I can see > that's because it's too early to say. Will LuaTeX completely replace > pdfTeX in TeXLive within the next few years? (I'd say probably, but do > we know for sure?) IIRC Han Thế Than is pretty adamant about not feature extending PDFTeX anymore because he considers LuaTeX the principal successor. However, we still have the "stable" Knuth TeX for reference in TeXlive (though only for the plain format). It is certainly conceivable that PDFTeX will remain as a point of stability as well. I am not all too sure. > Joseph has repeatedly expressed his own opinion that we will support > LuaTeX in time, and I see no reason that this won't end up happening. It is quite different whether one "supports" LuaTeX, meaning that incompatibilities to TeX are worked around in order to support an unmodified LaTeX, or whether one actually makes use of it. The ability of LuaTeX to execute scraps of Lua rather than scraps of TeX in the inner loops may be nice, but it does not reduce complexity. The gains come only where one can use an algorithmic language to express the basic control structures. As an example: In Emacs, the basic control structures of what happens when and where are written in Lisp. Of course, in the end C code gets run at the bottom level of everything. But the C code basically provides primitives and Lisp building blocks. One does not tie together stuff in C. And that's the sane way. If one considers that expression applicable to the case of Emacs, that is. > Furthermore, LaTeX2e+LuaTeX still has the same problems as LaTeX2e -- > frozen development, by design, and frozen class functionality. Sure. With LaTeX2e, the main goal will be to have this just work as previously, never mind Lua. I _think_ that Heiko created some LaTeX class for managing LuaTeX resources: that seems like a good idea. But it manages Lua as an afterthought within the context of LaTeX2e. > Either someone else writes a LaTeX successor or "you"/we do. (I > hesitate to include myself in this because I'm clearly much less > qualified to be a member of this group.) The point I was trying to > make originally is that I consider current work on expl3 to be the > precursor to working on "LaTeX3", whatever that happens to be. My impression is that we[please don't take offense at the use of this pronoun] have no connection to a community with the work on LaTeX3. It appears as finger exercises for experts, to some degree. At some point of time, we need to regain traction with a larger set of people rather than work in our own vacuum. I have no recipes or useful advice to offer. I just don't have the gut feeling that the current fine-polishing of semi-primitive names is what will break out LaTeX3 to a larger audience. To some degree it feels like we have a chaotic workshop with make-shift crafted tools all over the place and lots of shoestring and duct tape and stuff. And we are trying to turn this into a factory by discussing the most systematic labels for shoeboxes that we are going to sort the tools into, trying not to break too many contraptions in the process of sorting into separate pieces. > And whether some feel more comfortable writing more TeX-like code or > more Lua code shouldn't distract from the fact that a lot of thought > has gone into how LaTeX could be improved and I hope, dearly, that > something comes from that. A lot of thought has fone into how Omega could be improved, too. And something came from that, but not necessarily where you would have expected or hoped for it. > Stumbling along loading package after package after package on top of > LaTeX2e isn't sustainable in the long run, I think. Surely we have to > make a clean break at some stage? Sure. The question is what to have behind the break. > I have no doubt that Lua is great, but I see LaTeX3 as more than a > programming problem -- design of the user interface and what > functionality should exist within it is just as important or more so. The functionality does not arise in a vacuum. > Of the LaTeX Team members that are not involved with expl3, I am very > interested what you think of the possibility of LaTeX3. If it's > possible, or if it will never catch on, or if LaTeX2e is all we need, > if LaTeX3 will work if we drop expl3 and use Lua, ... ? I don't know what LaTeX3 will be comprised of, so there is not much I can comment on. >> If the proposed microkernel would default to hook into Lua as its >> algorithmic interface and we can get Taco and Jonathan to converge to >> a common functionality subset that we can base this on, I think that >> the benefits could be worth the decision to ditch all other engines. > > Well, if LuaTeX plus some glue code becomes powerful enough, I see > little reason to continue even with XeTeX. I'm just not sure what's > going to happen :) LuaTeX is more and more becoming a construction site. Core features of TeX are ripped apart and reassembled on a continuous base. Many of those changes are very desirable and "long due". But there are few people working on LaTeX support (recently, some packages have been contributed, so that is no longer as true as once), and the manpower of the LaTeX project would be hard put to keep pace just keeping stuff working and tested. Were I assigned the post of almighty project coordinator, I'd probably order Jonathan to abandon XeTeX and instead set out to establish a stable branch/fork of LuaTeX where he would provide existing XeTeX functionality, preferably with most add-on work done in Lua/TeX rather than in Pascal or C. It appears plausible to me that somebody would have to feel responsible for an underlying stable engine fork. Assigning Jonathan to the task would kill a few birds with one stone: for one it would remove the engine competition, for another, it would make one quite capable programmer eager to get back the functionality and interfaces he is used to. Obviously, one can't switch people around like that and replace their personal projects with something else. I probably should try offering some Lua programming workshops in TeX conferences and make sure that Jonathan is on the participant list (willingly or not). >> Who of those on the team have already taken a look at Lua as >> programming language? It is really quite minimalistic and at the >> same time powerful and expressive. > > For me, no --- only so much time in the day, and all, but do you have > any recommendations about where to get started? For example, how > about: <http://www.lua.org/pil/> ? Very good book, quite inspirational. A real eye-opener because there are a lot of conceptually simple problems which are then also tackled simply and straightforwardly. And by "conceptually simple" I mean the kind of stuff that you can state in a few sentences, and which will usually take wagonloads of code to actually do (particularly in TeX). "Programming in Lua" is one of the best books I've read for programming in any language. Because it does not suggest the line of thought "to tackle larger problems, expect a larger mess". -- David Kastrup