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
___________________________________________________________________________________