Hi,

One these days there will be a first iteration of this years 'current' release. This has to do with the texlive code freeze. As usual the current is paired with a version of luatex and mplib, of which there also will be a frozen version soon. This year we also have luajittex.

Among the biggest differences between this and the previous current are:

- More low level tex code has been made mkiv compliant. This had a side effect of introducing bugs. As expected more flexibility an potential for extensions has not resulted in slower runs.

- Some mechanisms have been rewritten, some even from scratch (a new table mechanism, multi columns). We tried to remain compatible but where possible inconsistencies have been removed.

- Of course bugs have been removed also thanks to Wolfgang and others. Like before users have been very patient and willing to test. The updated wiki and good examples that show up on sites are an indication that mkiv has mostly replaced mkii.

- There is some new math magic under the hood. We switched to tex gyre and latin modern open math as defaults.

- Lua code has been optimized: leaner, meaner, less dependent, version 5.2 etc. There is more helper code available pending future extensions to mkiv. Basic code can be used in stock Lua.

- The 2013 current performs significantly faster than previous versions and (certainly) on complex jobs mkiv outperforms mkii. Lots of time went into identifying and removing bottlenecks.

- When luajittex is used, thanks to the faster virtual machine, mkiv benefits a lot: 20-490% faster runs are possible. I usually test with manuals I'm working on, but a nice base test is \dorecurse {1000} {test\page} which now runs 20% faster with stock luatex and 50% faster with luajittex.

- The font database generator is made more efficient and unless you do a full reload take hardly any time to regenerate after an update. This means that updating betas is more convenient. In general all logging to the terminal and log file is faster due to several optimizations.

- Some mtx scripts have been extended, some more will show up.

- We ship a set of advanced scite lexers (tex, lua, cld, mp, w, xml, etc. plus a context setup) that can serve as benchmark for syntax highlighting context code. To some extent this also determines the way mkiv is coded.

I probably forgot a lot. After the current is done, we can start thinking of what to do next. Here are some thoughts:

- Improving the output routines. This is non-trivial. Maybe I'll rewrite the columnsets code. The mixed column figure placement can be improved too.

- Some mechanism will get support for setups alongside commands, like sections and list related mechanisms already has.

- Parts of the xml handling can be cleaned up, although the current code performs rather well already.

- Support for sql might get more integrated into the core (a side effect of projects I'm working on).

- I might pickup the metatex thread: a generic base with special purpose subsets of code. It might not be worth the trouble, but it's good to have a proper dependency tree.

- I will continue making some of the Lua code more generic (maybe by introducing some additional namespaces).

- I need to cleanup all the s-* files: namespaces, mkii->mkiv, etc. A tedious job. Clean up all mkiv presentation styles. (Something for rainy days or cold winter nights with stacks of new cd's to make that effort bearable.)

- Play with a partial css simulator (relates to export), but only when I'm really bored or need it (getting css itself right is already enough of a challenge).

- Pick up on ideas with respect to math dictionaries. Add some support for breaking large math formulas. Kick out more old code.

- Play with alternative par builders, i.e. finally add the mkiv Lua parbuilder that I have around for years into the distribution. This relates to a drastic cleanup of expansion code in the luatex front- and backend.

- Include some third party modules into the core distribution.

- Remove bottlenecks in mkiv where possible (user input is needed for this).

Then there are the documents:

- Update the xml descriptions (Wolfgang has been working on this, and there is the wiki).

- Finish the 'cld' manual (mostly done).

- Update the 'xml' mkiv manual (doable, maybe users have examples too).

- Finish the updated 'mathml' manual (done but needs checking but then I might overhaul the whole lot again).

- Finish the more technical 'mkiv font' manual (tedious job but okay).

- Pickup the 'stylistics' manual (also nice to do but a bit tedious).

- Turn 'hybrid' into a more finished document (the second part of the history of mkiv/luatex).

- Add more to the 'about' series (the third part).

Of course this is too ambitious but it's good to remind myself that some work needs to be done. And ... users might have ideas of what needs to be done as well.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to