context-2019-lmtx.tex /size: 6466 b    last modification: 2020-07-01 14:35
1% macros=mkvi
2
3\usemodule[abbreviations-smallcaps]
4\usemodule[present-luatex]
5
6\logo [LUAMETATEX] {LuaMeta\TeX}
7
8\setupbodyfont[12pt]
9
10\setupalign[verytolerant]
11
12\setupdocument
13  [title={Lean and mean},
14   subtitle={\LUAMETATEX},
15   location={\ConTeXt\ meeting, September 2019},
16   author={Hans & Alan},
17   mp:title={\LUAMETATEX}]
18
19\startdocument
20
21\setupitemize[headintext]
22\setupitemize[headstyle=bold]
23
24\page \setupdocument[mp:subtitle={How it became}]
25
26\startitemize
27    \starthead {interferences:}
28        \CONTEXT, plain \TEX\ and \LATEX\ all have different demands (we want to
29        experiment and move on and users pick up fast)
30    \stophead
31    \starthead {complexity:}
32        the source tree is way too complex as is the build (we only need \LUATEX)
33    \stophead
34    \starthead {distributions:}
35        no one can guarantee stability for \CONTEXT\ (being a minor player but
36        often a bit ahead)
37    \stophead
38    \starthead {annoyances:}
39        experimental codes leads to usage outside \CONTEXT\ and that triggers
40        complaints
41    \stophead
42    \starthead {motivation:}
43        running into folks who love to stress \quotation {huge bugs} and
44        \quotation {much instability} wastes energy
45    \stophead
46    \starthead {arguments:}
47        I got tired of \quotation {you need to support this because \unknown}
48        blabla
49    \stophead
50    \starthead {nagging:}
51        like \quotation {the manual \unknown} is becoming too tiresome, so best
52        keep experiments within the \CONTEXT\ bubble
53    \stophead
54\stopitemize
55
56\page \setupdocument[mp:subtitle={What it is}]
57
58\startitemize
59    \starthead {simplification:}
60        we don't need all what is currently in the \LUATEX\ engine as we don't
61        use it
62    \stophead
63    \starthead {source:}
64        there is much less of it and we can get rid of \WEB\ artifacts
65    \stophead
66    \starthead {compilation:}
67        there was much more going on than was needed and only a few knew those
68        details
69    \stophead
70    \starthead {consistency:}
71        to guarantee consistency with \CONTEXT\ the source code will be part of
72        the source distribution (once I'm satisfied)
73    \stophead
74    \starthead {marketing:}
75        this way the relation with \CONTEXT\ and its user base is more clear
76    \stophead
77    \starthead {playground:}
78        we can move forward and experiment without the danger of running into
79        problems with non \CONTEXT\ users: \quotation {use it at your own risk}
80    \stophead
81    \starthead {possibilities:}
82        playing a bit more with the bits and pieces that are reponsible for most
83        (interfering) issues, like the the (asynchronous) page builder
84    \stophead
85\stopitemize
86
87\page \setupdocument[mp:subtitle={Implications}]
88
89\startitemize
90    \starthead {binary:}
91        there is only one relatively small binary needed (that does all things
92        needed)
93    \stophead
94    \starthead {code base:}
95        there comes an extra source tree, but it's small (compresses to around 2
96        MB)
97    \stophead
98    \starthead {user control:}
99        if needed users can compile the program so we're self contained
100    \stophead
101    \starthead {future safe:}
102        we can move forward and improve
103    \stophead
104    \starthead {modern:}
105        a code base with the latest \LUATEX, \MPLIB\ and \LUA
106    \stopitem
107    \starthead {side effect:}
108        we drop \LUAJIT\ as it doesn't keep up (and benefits are too small)
109    \stophead
110    \starthead {design:}
111        we have a better separation between the Knuthian front- and output format
112        driven backend
113    \stophead
114    \starthead {independent:}
115        there is no dependency on external libraries, we keep all we need in the
116        code base (we only use a few small third party libraries)
117    \stophead
118\stopitemize
119
120\page \setupdocument[mp:subtitle={A few notes}]
121
122\startitemize
123    \starthead {hobyism}
124        we don't need to carry the burden of everything (unless paid for it's
125        only fun and users that drives development)
126    \stophead
127    \starthead {convenience:}
128        the faster compilation makes reworking and experimenting reasonable
129    \stophead
130    \starthead {stepwise:}
131        I take my time an do string stepswise because things should not break
132        without fast recovery
133    \stophead
134    \starthead {feelgood:}
135        this all fits well into the good old \TEX\ extension model
136    \stophead
137    \starthead {eventually:}
138        when proven useful we can always push code upstream into \LUATEX
139    \stophead
140\stopitemize
141
142\page \setupdocument[mp:subtitle={Bits and pieces}]
143
144\startitemize
145    \starthead {original:}
146        the starting point is \LUATEX, original \WEB\ code, already \CWEB\ code
147    \stophead
148    \starthead {stability:}
149        after a initial stage \LUATEX\ was stepwise extended till version one
150        a few years ago
151    \stophead
152    \starthead {frozen:}
153        there were only a few changes after that but no real conceptual ones
154    \stophead
155    \starthead {engine:}
156        what is now called \LUAMETATEX\ is a reworked code base
157    \stophead
158    \starthead {graphics:}
159        also \MPLIB\ has been reworked a bit and some extensions were added
160    \stophead
161    \starthead {libraries:}
162        there are a few extra (small) helper libs, but all in the source tree
163    \stophead
164    \starthead {pplib:}
165        we already use the next version of pplib
166    \stophead
167    \starthead {pruning:}
168        and best of all, quite some not used code could go
169    \stophead
170\stopitemize
171
172\page \setupdocument[mp:subtitle={Some details}]
173
174\startitemize
175    \starthead {source tree:}
176        the code base has been regrouped, globals became more local (work in
177        progress), header files were added
178    \stophead
179    \starthead {source files:}
180        there is hardly any font related code, languages were kept, and the
181        backend code is dropped: show files
182    \stophead
183    \starthead {libraries:}
184        a few libs were added and dropped: show some
185    \stophead
186    \starthead {cmake:}
187        compilation is different: work in progress
188    \stophead
189    \starthead {mkxl:}
190        there are new files in \CONTEXT: \type {driv}, \type {lpdf}, \type {.mkxl}
191        and expect more
192    \stophead
193    \starthead {binary:}
194        there is only one stub for all
195    \stophead
196\stopitemize
197
198{\infofont during presentation: show the source tree as well as the binary directory}
199
200\stopdocument
201
202