summaryrefslogtreecommitdiff
path: root/doc/context/presentations/bachotex/2010/bachotex-2010-move.tex
blob: 6c016e911d74f28c5267ae0c6edfecdf2a048c3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
% \enablemode[paper]

\usemodule[present-stepwise,present-wobbling,abr-02]

\setuppapersize[S6][S6] \setupbodyfont[11pt] \def\METAPOST{MetaPost}

% \definecolor[maincolor] [red]
% \definecolor[extracolor][blue]

\definecolor[maincolor] [green]
\definecolor[extracolor][red]

% \StartText{...}{...}

\startdocument
  [title={Hybrids: \crlf the evolution of \CONTEXT},
   topic={Bacho\TEX, May 3, 2010}]

\StartItems{How you code your documents}
    \StartItem
        Coding in \TEX\ is quite natural and given a proper macro set
        the overhead is not that large.
    \StopItem
    \StartItem
        Coding in \XML\ makes sense when you have to manipulate or reuse
        your data and when \TEX\ is just the renderer.
    \StopItem
    \StartItem
        For non|-|artistic graphics \METAPOST\ provides a convenient input
        language. It also plays well with \TEX.
    \StopItem
    \StartItem
        Some problems can more conveniently be solved in a procedural programming
        language and \LUA\ perfectly fits in there.
    \StopItem
\StopItems

\StartItems{How the codebase evolves}
    \StartItem
        Of course we started with only \TEX\ code. Functionality has been nicely
        split in modules
    \StopItem
    \StartItem
        Front- and backend code has always been separated.
    \StopItem
    \StartItem
        The user interface is quite consistent which provides backward compatibility
        as well extensibility.
    \StopItem
    \StartItem
        For quite some time \METAPOST\ support has been tightly integrated, including
        a  two way communication between these subsystems.
    \StopItem
    \StartItem
        When we decided on \LUA\ as language it didn't take long before large chunks of
        \CONTEXT\ were rewritten using it.
    \StopItem
\StopItems

\StartItems{How the codebase evolves}
    \StartItem
        Most font handling takes place in \LUA\ and as usual with \TEX\ we can do more
        than fonts provide.
    \StopItem
    \StartItem
        Other subsystems, like languages, input encoding, file io and xml also were among
        the first to be supported by \LUA.
    \StopItem
    \StartItem
        Lots of information is now carried around, especially related to structure. This will
        permit users more freedom.
    \StopItem
    \StartItem
        Notes, descriptions and enumerations also rely on \LUA.
    \StopItem
    \StartItem
        Graphics (including \METAPOST) is all dealt with in \LUA. Float management is currently
        on the agenda.
    \StopItem
    \StartItem
        The backend code is completely rewritten in \LUA. We've disabled the low level primitives
        so that third party modules can not spoil the game (this was already the case in \MKII).
    \StopItem
    \StartItem
        Eventually most management tasks will move from \TEX\ to \LUA, but we keep in pace with
        \LUATEX\ development and don't push things to the limit.
    \StopItem
\StopItems

\StartItems{where we will end up}
    \StartItem
        Eventually we will have a more layered macro package so that one can make specialized
        versions.
    \StopItem
    \StartItem
        In addition to the regular \TEX\ interface there will be a \LUA\ interface. We already have
        one such interface but there will be more.
    \StopItem
    \StartItem
        It will be possible to avoid \TEX\ code completely which makes sense in predictable
        workflows where no artistic intervening is needed.
    \StopItem
    \StartItem
        Core \TEX\ functionality will also be available as (often less efficient) \LUA\ variant
        so that we can extend it. We already provide hooks into the callback subsystem.
    \StopItem
    \StartItem
        We can already all of this intermixed so the user has complete freedom of choice.
    \StopItem
\StopItems

\stopdocument

% \StopText