[NTG-context] roadmap

Hans Hagen j.hagen at xs4all.nl
Tue May 15 01:34:58 CEST 2018

On 5/15/2018 12:52 AM, Henri Menke wrote:

> Math typesetting is really crappy in ConTeXt, but I get that this is 
> beyond your priorities.  I plan to develop a module which resembles the 
> features and syntax of the amsmath LaTeX package for my PhD thesis.  I'm 
> not sure how well this will integrate with the existing mechanisms.

hm. i have no clue what you refer to ... afaik most is configureable

> - columnsets, the new ones have considerably fewer features than the old 
> ones.

like ... but adding some is no problem (only predictable stuff) .. no 
column handler suits all (we now also have page columns btw)

> - rowwise setups in xtables and maybe columnwise, but that is 
> computationally expensive.

indeed so that's why we have categories instead

>> - We can add more trickery for fonts and scripts. There are some 
>> pending extensions.
>> - Maybe we should provide a few more general styles.
> What does that mean?  Things like the TUGboat style?

no, e.g. some basic educational stuff

> More callbacks.  I'm missing callbacks into error handling (i.e. 
> intercept errors) not just into error reporting like show_error_hook.

if you want to intercept errors then that has to happen at the macro 
level, because once tex starts expanding the error can be anywhere

(so, in a macro package one can set at the tex level flags that one can 
act upon in the error callback)

(the eror messages themselves might become a layer but that's for later)

> Throw out all non-Lua-related primitives and ntg-context at ntg.nlreplace them with Lua 
> functions.  People can then define those primitives themselves, e.g.

way too slow ... in that case i'd drop tex completely (i.e. do all in lua)

also, you can right now (re)define primitives if you like (depending on 
the definition of primitive)

> \suppressoutererror
> becomes
> \protected\def\suppressoutererror{%
>      \directlua{errors.suppressoutererror()}}
> This makes it much easier to access that stuff from Lua.  Also interface 
> all the \pdfvariable and \pdfextension stuff to Lua.

all pdf stuff is already doable in lua (context doesn't even use \pdf* 
for quite a while)

> This should have maybe been done before 1.0 but I guess with 2.0 you can 
> introduce “breaking” features.

well, a 2.0 (if ever) will probably only be useable for context ...

> LuaJIT will always be 5.1 compatible.  That is one of the declared goals 
> of the project.  However there exist compatibility layers for Lua which 
> implement recent features for older interpreters.
> https://github.com/keplerproject/lua-compat-5.3

in that case in the end it will be dropped ...

> I would rather not see LuaJIT support being dropped.  The VM by itself 
> (without JIT) is already a lot faster than regular Lua and I feel that 
> the ConTeXt runs benefit from that quite a lot.  I use contextjit as my 
> daily driver.

hm, at most 20% which is also what i get when i buy a new laptop

keep in mind that luajit has some limitations (stack and such)

(and the last few years i managed to squeeze out a lot from lua, and 
with lua 5.3 the gaps became narrower)

                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl

More information about the ntg-context mailing list