% macros=mkvi \usemodule[abbreviations-smallcaps] \usemodule[present-luatex] \logo [LUAMETATEX] {LuaMeta\TeX} \setupbodyfont[12pt] \setupalign[verytolerant] \setupdocument [title={Lean and mean}, subtitle={\LUAMETATEX}, location={\ConTeXt\ meeting, September 2019}, author={Hans & Alan}, mp:title={\LUAMETATEX}] \startdocument \setupitemize[headintext] \setupitemize[headstyle=bold] \page \setupdocument[mp:subtitle={How it became}] \startitemize \starthead {interferences:} \CONTEXT, plain \TEX\ and \LATEX\ all have different demands (we want to experiment and move on and users pick up fast) \stophead \starthead {complexity:} the source tree is way too complex as is the build (we only need \LUATEX) \stophead \starthead {distributions:} no one can guarantee stability for \CONTEXT\ (being a minor player but often a bit ahead) \stophead \starthead {annoyances:} experimental codes leads to usage outside \CONTEXT\ and that triggers complaints \stophead \starthead {motivation:} running into folks who love to stress \quotation {huge bugs} and \quotation {much instability} wastes energy \stophead \starthead {arguments:} I got tired of \quotation {you need to support this because \unknown} blabla \stophead \starthead {nagging:} like \quotation {the manual \unknown} is becoming too tiresome, so best keep experiments within the \CONTEXT\ bubble \stophead \stopitemize \page \setupdocument[mp:subtitle={What it is}] \startitemize \starthead {simplification:} we don't need all what is currently in the \LUATEX\ engine as we don't use it \stophead \starthead {source:} there is much less of it and we can get rid of \WEB\ artifacts \stophead \starthead {compilation:} there was much more going on than was needed and only a few knew those details \stophead \starthead {consistency:} to guarantee consistency with \CONTEXT\ the source code will be part of the source distribution (once I'm satisfied) \stophead \starthead {marketing:} this way the relation with \CONTEXT\ and its user base is more clear \stophead \starthead {playground:} we can move forward and experiment without the danger of running into problems with non \CONTEXT\ users: \quotation {use it at your own risk} \stophead \starthead {possibilities:} playing a bit more with the bits and pieces that are reponsible for most (interfering) issues, like the the (asynchronous) page builder \stophead \stopitemize \page \setupdocument[mp:subtitle={Implications}] \startitemize \starthead {binary:} there is only one relatively small binary needed (that does all things needed) \stophead \starthead {code base:} there comes an extra source tree, but it's small (compresses to around 2 MB) \stophead \starthead {user control:} if needed users can compile the program so we're self contained \stophead \starthead {future safe:} we can move forward and improve \stophead \starthead {modern:} a code base with the latest \LUATEX, \MPLIB\ and \LUA \stopitem \starthead {side effect:} we drop \LUAJIT\ as it doesn't keep up (and benefits are too small) \stophead \starthead {design:} we have a better separation between the Knuthian front- and output format driven backend \stophead \starthead {independent:} there is no dependency on external libraries, we keep all we need in the code base (we only use a few small third party libraries) \stophead \stopitemize \page \setupdocument[mp:subtitle={A few notes}] \startitemize \starthead {hobyism} we don't need to carry the burden of everything (unless paid for it's only fun and users that drives development) \stophead \starthead {convenience:} the faster compilation makes reworking and experimenting reasonable \stophead \starthead {stepwise:} I take my time an do string stepswise because things should not break without fast recovery \stophead \starthead {feelgood:} this all fits well into the good old \TEX\ extension model \stophead \starthead {eventually:} when proven useful we can always push code upstream into \LUATEX \stophead \stopitemize \page \setupdocument[mp:subtitle={Bits and pieces}] \startitemize \starthead {original:} the starting point is \LUATEX, original \WEB\ code, already \CWEB\ code \stophead \starthead {stability:} after a initial stage \LUATEX\ was stepwise extended till version one a few years ago \stophead \starthead {frozen:} there were only a few changes after that but no real conceptual ones \stophead \starthead {engine:} what is now called \LUAMETATEX\ is a reworked code base \stophead \starthead {graphics:} also \MPLIB\ has been reworked a bit and some extensions were added \stophead \starthead {libraries:} there are a few extra (small) helper libs, but all in the source tree \stophead \starthead {pplib:} we already use the next version of pplib \stophead \starthead {pruning:} and best of all, quite some not used code could go \stophead \stopitemize \page \setupdocument[mp:subtitle={Some details}] \startitemize \starthead {source tree:} the code base has been regrouped, globals became more local (work in progress), header files were added \stophead \starthead {source files:} there is hardly any font related code, languages were kept, and the backend code is dropped: show files \stophead \starthead {libraries:} a few libs were added and dropped: show some \stophead \starthead {cmake:} compilation is different: work in progress \stophead \starthead {mkxl:} there are new files in \CONTEXT: \type {driv}, \type {lpdf}, \type {.mkxl} and expect more \stophead \starthead {binary:} there is only one stub for all \stophead \stopitemize {\infofont during presentation: show the source tree as well as the binary directory} \stopdocument