% language=us runpath=texruns:manuals/followingup \startcomponent followingup-introduction \environment followingup-style \startchapter[title={Introduction}] This document, the fifth in a series, describes the follow up project on \CONTEXT\ \MKIV\ & \LUATEX\ which carries the working title \CONTEXT\ \LMTX. This four letter acronym represents \LUA, \METAPOST\ and \TEX, and if you want you can see the last character representing \XML, as that has been an integral part of \CONTEXT\ for a long time. But the \quote {x} can also be found in \quote {experimental}, \quote {extreme}, \quote {experience} and \quote {extravagant}, so take your choice. Of course \CONTEXT\ is and will be a typesetting system using the \TEX\ language and typesetting core, but a rather substantial amount of the functionality is a hybrid of \TEX\ macros and \LUA\ code. The built|-|in graphic support is driven by \METAPOST, but there we also use \LUA\ as an extension language. The \LUA\ machinery is used for alternative input and handling data too. The same is true for \XML, \SQL, \CSV, \JSON, etc. The output from \CONTEXT\ is normally \PDF\ and \MKIV\ doesn't even enable \DVI\ output. Mid 2018 I started experimenting with a backend that no longer used the one provided by the engine. After all, we only used page stream building, font embedding and bitmap inclusion and all other features were always done in \LUA. The experiments also concerned a \METAPOST\ and \LUA\ backend. Those familiar with \CONTEXT\ know that there is already an export feature which till now runs in parallel with the \CONTEXT\ \PDF\ backend (it started as a kind of joke but in the end was seen as relevant and kept and maybe so some point I will rewrite that code). The idea behind \CONTEXT\ \LMTX\ is that we will use a minimalist engine. Being minimalist also means that probably only \CONTEXT\ will use it and therefore no other package will be affected by further experiments, although at some point a sort of general low level layer might be provided. The frontend is mostly the same as \LUATEX\ 1.1 but the backend and related code is gone and|/|or different. Libraries have (and are) being cleaned up and reorganized too. At least for a while, \CONTEXT\ will work on \LUATEX\ 1.1 (stable) as well as its (experimental) follow up, where the follow up will evolve over a few years and be tested in the usual \CONTEXT\ (garden) beta setting. The next chapters will explain this in more detail. Just to be clear I repeat: \LUATEX\ 1.1 will be supported by \CONTEXT\ and maintained as usual, including binaries generated on the \CONTEXT\ garden. We've invested many years in it and it serves its purpose well, but our experiments will happen in its follow up, so that it doesn't affect stable workflows. Of course there have been (and probably are) bugs in \LUATEX\ but the engine could be used pretty well right from the start with \CONTEXT. The same will be true for the follow up. One of the ideas of the follow up is to provide a combination of a stable engine independent of libraries with a relative simple compilation setup and a macro package that has proven to exploit a mix of \TEX, \METAPOST\ and \LUA. As a side effect I can explore some postponed ideas. Of course there can be valid reasons to move to the successor sooner. In that case we might create a stable snapshot of \MKIV\ as was done with \MKII. As to be expected in \CONTEXT, the user interfaces won't change nor will the functionality, but there will be two code paths, one for \MKIV\ and one for \LMTX. There will also be new functionality in \CONTEXT\ that is only available in \LMTX. So, eventually we expect all users to migrate. In the beginning of december 2018 most of the work was done and users involved in development could start testing. By the end of the year a reasonable stable state was reached. In 2019 the code base was further overhauled and libraries got upgraded. The code base became smaller and compilation easier, smoother and much faster. Eventually the source code (now some 11MB uncompressed and 3MB compressed) will be part of the \CONTEXT\ distribution, so that we have a complete package (also in the archival sense). The next chapters discuss the process and choices that were made. The chapters were written in order so later chapters can amend earlier ones. Consider it a history, and one cannot cheat by patching history. In some cases footnotes were added to earlier chapters when writing later ones. It's not a manual! Reported typos (for sure there are many) will be fixed but changes in later versions of the follow discussed here will not end up in this document. This document is dedicated to Wolfgang Schuster, who has been instrumental in the transition from \MKII\ to \MKIV, and often baffles me with his knowledge of the (even obscure bits) of the \CONTEXT\ internals. Without him checking the code base, fundamental changes like those that are and might get introduced in this follow up are impossible. I want to thank Alan Braslau who accompanies me on this journey and patiently compiles the lot for some platforms. He, Thomas Schmitz and Aditya Mahajan are examples of power users who also are early adopters of something new like this and are willing to take the risks. And of course there is Mojca Miklavec without whose enthusiasm and optimism developments like this would never take place. In the meantime Luigi Scarso made sure that the (frozen) \LUATEX\ code base served existing users. It is hard to tell how users experience the transition: there are no that many issues reported which can be a good or bad sign. We will see. \blank[2*big] \startlines Hans Hagen PRAGMA ADE, Hasselt NL August 2018\enspace\endash\enspace May 2019 \stoplines \stopchapter \stopcomponent