Will Robertson <[log in to unmask]> writes: > On 23/02/2009, at 7:00 PM, Joseph Wright wrote: > >> I've had some interesting comments to my latest blog post: >> >> http://www.texdev.net/2009/02/22/latex3-as-a-low-level-language/ >> >> where, amongst other things, I've suggested a "LaTeX3 microkernel". I >> wonder how other people see the issues raised. > > Well, I did already comment :) > > All of this apparent conflict between expl3 and LuaTeX is getting a > bit tiring. Nothing much we can do about that, I suppose. Encourage Jonathan and Taco to converge, or at least Jonathan to try integrating essential programming parts of LuaTeX into XeTeX. TeX's inherent limitations as a programming language are a major pain. They will both cause performance and maintenance issues for a "microkernel", to a degree where one will tend to code bypassing this kernel for efficiency reasons. Being able to write controlling algorithms for typesetting in Lua rather than a complex macro system with performance issues will make LaTeX programming and extensions much more attractive: LaTeX packages nowadays usually come in two flavors: classes and their supporting ilk, stuff that gets away mostly with calling LaTeX functionality. And more intricate packages that solve problems with more or less heavy TeX programming. 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. As it stands now, writing even simple algorithms require a skill set not commonly available. Jonathan was, as far as I remember, quite sympathetic to considering putting Lua into XeTeX as an extension language. The extensive opening up of TeX data structures and code that is happening in LuaTeX is certainly intriguing, but the main point of it is the ability to write algorithms and control functions in an extension language that does not suffer from the weird expansion/execution/group chaos of TeX's macro system. 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. 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. -- David Kastrup