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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
<!-- Automatically generated by emacsconf-publish-after-page -->
<div class="transcript transcript-mainVideo"><a name="modern-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
[[!template text="""""" start="00:00:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Hi! My name is Eduardo Ochs. I'm the""" start="00:00:55.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""author of an Emacs package called eev and""" start="00:00:57.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the title of this video is""" start="00:01:00.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""Some problems of modernizing Emacs".""" start="00:01:03.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Here is a summary of the main themes""" start="00:01:05.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of this video. I'm going to talk mainly""" start="00:01:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""about these four things here. The first""" start="00:01:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""one is that Emacs has changed a lot in its""" start="00:01:12.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""recent versions, and now it has lots of""" start="00:01:15.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""types... so if we want to look under the""" start="00:01:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""hood and to understand what Emacs""" start="00:01:21.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""really does we are going to stumble on""" start="00:01:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""lots of types... and the""" start="00:01:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""current tree of classes and types""" start="00:01:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""looks like this... that is,""" start="00:01:34.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is quite big.""" start="00:01:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""The second theme is that people used""" start="00:01:46.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to say things like "Anyone can learn Lisp""" start="00:01:49.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""in one day"... I'm going to explain""" start="00:01:53.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this quote, and I'm also going to show""" start="00:01:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that now this is gone... anyway. This is a""" start="00:02:01.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""very short summary... details soon.""" start="00:02:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I will also show how to display""" start="00:02:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""better "inner views" of Emacs objects...""" start="00:02:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I'm going to Define what is an inner view,""" start="00:02:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of course.""" start="00:02:16.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""The main trick is that we are going""" start="00:02:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to use one of the ways of displaying""" start="00:02:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""internal objects, that is the `cl-print'""" start="00:02:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""family of functions, for example,""" start="00:02:29.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""`cl-prin1-to-string', and here are some""" start="00:02:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""examples of the kind of output that we""" start="00:02:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""are going to see...""" start="00:02:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""for example, if we run these two lines""" start="00:02:38.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""here the first line defines a function `foo'""" start="00:02:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and the second line sets `o' to the""" start="00:02:47.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""internal view of the definition of `foo'.""" start="00:02:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""In older Emacses `o' would be just a""" start="00:02:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""list that looks... that would look very""" start="00:02:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""similar to this line here... but in newer""" start="00:03:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Emacses the result of this - I mean, the""" start="00:03:05.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the contents of `o' is this thing here,""" start="00:03:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that looks quite different""" start="00:03:12.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""from this definition.""" start="00:03:15.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So, in older Emacses""" start="00:03:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the contents of the""" start="00:03:21.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""function cell of `o'...""" start="00:03:25.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""sorry, of the function cell of `foo',""" start="00:03:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""would be an "old-style lambda",""" start="00:03:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that would be just a list like this...""" start="00:03:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and in newer Emacses uh the contents of O would""" start="00:03:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""be a "vector-like lambda"... look for the""" start="00:03:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""square brackets here - this is a""" start="00:03:42.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""vector, but it is preceded by a hash sign.""" start="00:03:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So this is what we call""" start="00:03:47.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""a "vector-like lambda",""" start="00:03:49.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and vector-like lambas do not""" start="00:03:51.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""have a canonical printed representation -""" start="00:03:53.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""they have at least two semicanonical""" start="00:03:55.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""printed representations...""" start="00:03:57.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""The first semicanonical""" start="00:03:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""printed representation is this one, that is""" start="00:04:01.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""generated by a family of functions with""" start="00:04:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""names like `prin1'...""" start="00:04:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and the second semicanonical printed""" start="00:04:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""representation is like this -""" start="00:04:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""it looks like a list...""" start="00:04:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""it looks somewhat like this definition""" start="00:04:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of `foo' here, but it has this""" start="00:04:23.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""`:dynbind' symbol here...""" start="00:04:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and it turns out that when we use""" start="00:04:29.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the `cl-print' family of functions we can""" start="00:04:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""reconfigure how things are printed...""" start="00:04:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and I'm going to show several interesting""" start="00:04:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""ways of reconfiguring how lambdas are printed,""" start="00:04:40.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and one of the ways is going to""" start="00:04:47.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""be like this.""" start="00:04:49.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""We can also use the `cl-print'""" start="00:04:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""functions with my indentation tricks to""" start="00:04:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to display how types, or classes, are""" start="00:04:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""viewed internally by Emacs, and this is a""" start="00:05:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""big example...""" start="00:05:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""This is what Emacs considers as being""" start="00:05:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the definition of the type""" start="00:05:14.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""`cl-structure-class',""" start="00:05:16.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""class and it is this big thing here.""" start="00:05:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I edited it very lightly...""" start="00:05:21.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I just uh deleted some line breaks here.""" start="00:05:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""And another thing that I want to to""" start="00:05:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""explain is that Emacs""" start="00:05:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""has some help functions that""" start="00:05:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I have never liked...""" start="00:05:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""for most people they are good enough,""" start="00:05:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""but for me they aren't... they...""" start="00:05:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""uh, well - I'm going to say""" start="00:05:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""more about this later...""" start="00:05:48.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and, for example,""" start="00:05:50.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we want a description of what is""" start="00:05:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this type here, that we just saw in""" start="00:05:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""its internal view here...""" start="00:05:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""we can run either `describe-type'""" start="00:06:00.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""or my variant of `describe-type',""" start="00:06:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and we get a help buffer""" start="00:06:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that looks like this, in which""" start="00:06:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""these blue things that are underlined""" start="00:06:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""are "buttons", in the classical sense...""" start="00:06:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""you can click on these buttons, or type""" start="00:06:15.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""RET on these buttons, and you will be""" start="00:06:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""taken to another help page, that is""" start="00:06:19.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""generated dynamically...""" start="00:06:22.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and you can navigate back and forth...""" start="00:06:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and well, whatever...""" start="00:06:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and I'm going to explain my""" start="00:06:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""problems with these kinds of help buffers""" start="00:06:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and what I'm trying to do to""" start="00:06:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""overcome these problems...""" start="00:06:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""One of my slogans in this video""" start="00:06:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is going to be this one:""" start="00:06:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""Anyone can learn Lisp in one day".""" start="00:06:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this is a part of a bigger quote""" start="00:06:45.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that I took from a keynote presentation""" start="00:06:49.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""by Abelson and Sussman, who""" start="00:06:51.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""are two dinosaurs of Computer Science...""" start="00:06:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Here is the full quote:""" start="00:06:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""Anyone can learn Lisp in one day -""" start="00:07:00.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""except that if they already know Fortran""" start="00:07:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""then it would take three days."""" start="00:07:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""This is a frame of the video...""" start="00:07:11.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""By the way I am going to to add""" start="00:07:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this... "and if the person is starting""" start="00:07:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""with Doom Emacs then it would take 5 years."""" start="00:07:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""why? I'm going to explain why.""" start="00:07:34.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""This is how Emacs used to be.""" start="00:07:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""If we execute these two expressions here""" start="00:07:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the first one... sorry, each symbol can""" start="00:07:46.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""have two "values",""" start="00:07:51.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""one is its "value as a variable"""" start="00:07:53.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and another one is its "value as a function"...""" start="00:07:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and if we run this we store 42""" start="00:07:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""in the "value cell" of the symbol `foo', and""" start="00:08:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we run this defun here it stores a""" start="00:08:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""certain anonymous function in the""" start="00:08:11.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""function cell" of the symbol `foo'...""" start="00:08:14.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and in Emacs, until some time ago""" start="00:08:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we did that and and if we ran""" start="00:08:22.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this expression here the result""" start="00:08:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""would be 42,""" start="00:08:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""because of this line here, and if we""" start="00:08:31.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""ran this line here the result would be""" start="00:08:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the anonymous function corresponding to""" start="00:08:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this defun here...""" start="00:08:40.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""but now this has changed...""" start="00:08:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the result of this thing here is this""" start="00:08:45.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""vector-like lambda here - but that doesn't""" start="00:08:48.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""matter much now...""" start="00:08:51.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So, until some time ago""" start="00:08:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we did that and if we ran""" start="00:08:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this expression here, (foo foo)...""" start="00:08:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Emacs would do this: it would""" start="00:09:01.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""replace the first `foo' by this""" start="00:09:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""anonymous function here, it would replace""" start="00:09:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the second `foo' by the value of `foo' as a""" start="00:09:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""variable, that is 42,""" start="00:09:11.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and it would evaluate this, and the""" start="00:09:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""result would be 420.""" start="00:09:16.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So, again, we used to have this slogan""" start="00:09:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""here, "anyone can learn Lisp in one day"...""" start="00:09:23.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""but now this is gone.""" start="00:09:26.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Let me show... let me talk""" start="00:09:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""a bit more about why...""" start="00:09:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the title of this slide is""" start="00:09:34.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""Lambdas for beginners broken"...""" start="00:09:36.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we run this, as I've shown""" start="00:09:38.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""in the previous slide...""" start="00:09:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""in the old style, in old Emacses,""" start="00:09:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the result of (symbol-function 'foo)""" start="00:09:45.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""would be this anonymous function here...""" start="00:09:47.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and now we get this strange thing here.""" start="00:09:49.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So, this is an "old-style lambda",""" start="00:09:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this is a "vector-like lambda",""" start="00:09:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and until the middle of 2024""" start="00:10:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""beginners could learn a lot of Lisp""" start="00:10:05.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""by thinking only in terms of""" start="00:10:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""objects like these...""" start="00:10:11.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this is a function and this""" start="00:10:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is an anonymous function, and""" start="00:10:15.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""they would learn how to draw cons cell""" start="00:10:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""diagrams like this thing here and this""" start="00:10:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""thing here...""" start="00:10:23.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""they would think on lists as""" start="00:10:25.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""being these trees here, and they""" start="00:10:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""would be able to understand a lot of""" start="00:10:29.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Lisp just by thinking in these terms...""" start="00:10:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and then vector-like lambdas started""" start="00:10:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to appear in many places... and if we use""" start="00:10:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text=""""vector-like lambdas" in a wide sense,""" start="00:10:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to mean all the new objects,""" start="00:10:46.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""these new objects, that are""" start="00:10:50.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""difficult to visualize... they also started""" start="00:10:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to appear in many places.""" start="00:10:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""This is a continuation of the""" start="00:10:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""previous slide - this part here is a copy""" start="00:11:01.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of things that were in the previous slide...""" start="00:11:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""before 2024 beginners could""" start="00:11:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""open black boxes like this...""" start="00:11:12.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""they could try to see what was in the""" start="00:11:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""function cell of the symbol `foo'...""" start="00:11:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and they would see something elegant and""" start="00:11:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""mind-blowing... and they would start to love""" start="00:11:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Lisp immediately.""" start="00:11:29.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Now what they get - what they see -""" start="00:11:31.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is a tiny part of a very complex structure""" start="00:11:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that is very powerful but that is""" start="00:11:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""very difficult to understand...""" start="00:11:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and now our beginners are overwhelmed""" start="00:11:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""instead of mind-blown.""" start="00:11:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Note that I said "black box" here.""" start="00:11:46.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Let me explain the term.""" start="00:11:48.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""We can open what's inside of `foo'...""" start="00:11:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""we can open `foo' to see the contents of""" start="00:11:57.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the symbol `foo', and we can try to see""" start="00:11:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""what's in the function cell of the""" start="00:12:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""symbol `foo'...""" start="00:12:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""so we can open the box, but what we get""" start="00:12:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is something very difficult to understand,""" start="00:12:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and so I'm going to say that""" start="00:12:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""when this happens that box is black.""" start="00:12:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""It is not totally black - we can open open it -""" start="00:12:21.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""but we don't understand what is going on there,""" start="00:12:23.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""so we declare that that is black.""" start="00:12:26.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""And... when these things started to happen""" start="00:12:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""_I_ was overwhelmed -""" start="00:12:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and in this video I'm going to pretend""" start="00:12:38.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that I was not the only person""" start="00:12:40.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that was overwhelmed""" start="00:12:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""by these new structures""" start="00:12:46.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that are not so elegant""" start="00:12:50.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""as the ones that we had before.""" start="00:12:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Anyway...""" start="00:12:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""""" start="00:12:56.000" video="mainVideo-modern" id="subtitle"]]
</div>Questions or comments? Please e-mail [eduardoochs@gmail.com](mailto:eduardoochs@gmail.com?subject=Comment%20for%20EmacsConf%202023%20modern%3A%20Some%20problems%20of%20modernizing%20Emacs)
<!-- End of emacsconf-publish-after-page -->
|