1
2
3\usemodule[presentstepwise,presentwobbling,abr02]
4
5\setuppapersize[S6][S6] \setupbodyfont[11pt] \def\METAPOST{MetaPost}
6
7
8
9
10\definecolor[maincolor] [green]
11\definecolor[extracolor][red]
12
13
14
15\startdocument
16 [title={Hybrids: \crlf the evolution of \CONTEXT},
17 topic={Bacho\TEX, May 3, 2010}]
18
19\StartItems{How you code your documents}
20 \StartItem
21 Coding in \TEX\ is quite natural and given a proper macro set
22 the overhead is not that large.
23 \StopItem
24 \StartItem
25 Coding in \XML\ makes sense when you have to manipulate or reuse
26 your data and when \TEX\ is just the renderer.
27 \StopItem
28 \StartItem
29 For nonartistic graphics \METAPOST\ provides a convenient input
30 language. It also plays well with \TEX.
31 \StopItem
32 \StartItem
33 Some problems can more conveniently be solved in a procedural programming
34 language and \LUA\ perfectly fits in there.
35 \StopItem
36\StopItems
37
38\StartItems{How the codebase evolves}
39 \StartItem
40 Of course we started with only \TEX\ code. Functionality has been nicely
41 split in modules
42 \StopItem
43 \StartItem
44 Front and backend code has always been separated.
45 \StopItem
46 \StartItem
47 The user interface is quite consistent which provides backward compatibility
48 as well extensibility.
49 \StopItem
50 \StartItem
51 For quite some time \METAPOST\ support has been tightly integrated, including
52 a two way communication between these subsystems.
53 \StopItem
54 \StartItem
55 When we decided on \LUA\ as language it didnt take long before large chunks of
56 \CONTEXT\ were rewritten using it.
57 \StopItem
58\StopItems
59
60\StartItems{How the codebase evolves}
61 \StartItem
62 Most font handling takes place in \LUA\ and as usual with \TEX\ we can do more
63 than fonts provide.
64 \StopItem
65 \StartItem
66 Other subsystems, like languages, input encoding, file io and xml also were among
67 the first to be supported by \LUA.
68 \StopItem
69 \StartItem
70 Lots of information is now carried around, especially related to structure. This will
71 permit users more freedom.
72 \StopItem
73 \StartItem
74 Notes, descriptions and enumerations also rely on \LUA.
75 \StopItem
76 \StartItem
77 Graphics (including \METAPOST) is all dealt with in \LUA. Float management is currently
78 on the agenda.
79 \StopItem
80 \StartItem
81 The backend code is completely rewritten in \LUA. Weve disabled the low level primitives
82 so that third party modules can not spoil the game (this was already the case in \MKII).
83 \StopItem
84 \StartItem
85 Eventually most management tasks will move from \TEX\ to \LUA, but we keep in pace with
86 \LUATEX\ development and dont push things to the limit.
87 \StopItem
88\StopItems
89
90\StartItems{where we will end up}
91 \StartItem
92 Eventually we will have a more layered macro package so that one can make specialized
93 versions.
94 \StopItem
95 \StartItem
96 In addition to the regular \TEX\ interface there will be a \LUA\ interface. We already have
97 one such interface but there will be more.
98 \StopItem
99 \StartItem
100 It will be possible to avoid \TEX\ code completely which makes sense in predictable
101 workflows where no artistic intervening is needed.
102 \StopItem
103 \StartItem
104 Core \TEX\ functionality will also be available as (often less efficient) \LUA\ variant
105 so that we can extend it. We already provide hooks into the callback subsystem.
106 \StopItem
107 \StartItem
108 We can already all of this intermixed so the user has complete freedom of choice.
109 \StopItem
110\StopItems
111
112\stopdocument
113
114
115 |