1
2
3\usemodule[abbreviationssmallcaps]
4\usemodule[presentluatex]
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 dont need all what is currently in the \LUATEX\ engine as we dont
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 Im 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 its small (compresses to around 2
96 MB)
97 \stophead
98 \starthead {user control:}
99 if needed users can compile the program so were 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 doesnt 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 dont need to carry the burden of everything (unless paid for its
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 |