aboutsummaryrefslogtreecommitdiff
path: root/docs/community/aoc.html
blob: a9e80195721e008ce5b47ff73adecc4290f09b33 (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
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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
<head>
  <link href="../favicon.ico" rel="shortcut icon" type="image/x-icon"/>
  <link href="../style.css" rel="stylesheet"/>
  <title>BQN: Advent of Code</title>
</head>
<div class="nav">(<a href="https://github.com/mlochbaum/BQN">github</a>) / <a href="../index.html">BQN</a> / <a href="index.html">community</a></div>
<h1 id="advent-of-code"><a class="header" href="#advent-of-code">Advent of Code</a></h1>
<p><a href="https://adventofcode.com/2022">Advent of Code 2022</a> was about twice the BQN event that 2021 was, with 406 solutions published by 46 programmers. Below, problems solved in BQN are shown in green, and problems solved in other languages in faint red. Each name links to the repository where these are published.</p>
<svg viewBox='-20 -5 676 636'>
  <g stroke-width='1' font-size='10px' fill='currentColor'>
    <rect class='code' stroke-width='1' rx='6' x='0' y='0' width='636' height='626'/>
    <g class='Paren' stroke='currentColor' fill='none'>
      <path d='M128 0V626'/>
      <path d='M0 50H636'/>
      <path d='M0 608H636'/>
    </g>
    <g text-anchor='middle'>
      <text font-size='20px' x='378' y='24'>Day</text>
      <g font-size='11px'>
        <text x='138' y='46'>1</text>
        <text x='158' y='46'>2</text>
        <text x='178' y='46'>3</text>
        <text x='198' y='46'>4</text>
        <text x='218' y='46'>5</text>
        <text x='238' y='46'>6</text>
        <text x='258' y='46'>7</text>
        <text x='278' y='46'>8</text>
        <text x='298' y='46'>9</text>
        <text x='318' y='46'>10</text>
        <text x='338' y='46'>11</text>
        <text x='358' y='46'>12</text>
        <text x='378' y='46'>13</text>
        <text x='398' y='46'>14</text>
        <text x='418' y='46'>15</text>
        <text x='438' y='46'>16</text>
        <text x='458' y='46'>17</text>
        <text x='478' y='46'>18</text>
        <text x='498' y='46'>19</text>
        <text x='518' y='46'>20</text>
        <text x='538' y='46'>21</text>
        <text x='558' y='46'>22</text>
        <text x='578' y='46'>23</text>
        <text x='598' y='46'>24</text>
        <text x='618' y='46'>25</text>
        <text x='138' y='620'>1</text>
        <text x='158' y='620'>2</text>
        <text x='178' y='620'>3</text>
        <text x='198' y='620'>4</text>
        <text x='218' y='620'>5</text>
        <text x='238' y='620'>6</text>
        <text x='258' y='620'>7</text>
        <text x='278' y='620'>8</text>
        <text x='298' y='620'>9</text>
        <text x='318' y='620'>10</text>
        <text x='338' y='620'>11</text>
        <text x='358' y='620'>12</text>
        <text x='378' y='620'>13</text>
        <text x='398' y='620'>14</text>
        <text x='418' y='620'>15</text>
        <text x='438' y='620'>16</text>
        <text x='458' y='620'>17</text>
        <text x='478' y='620'>18</text>
        <text x='498' y='620'>19</text>
        <text x='518' y='620'>20</text>
        <text x='538' y='620'>21</text>
        <text x='558' y='620'>22</text>
        <text x='578' y='620'>23</text>
        <text x='598' y='620'>24</text>
        <text x='618' y='620'>25</text>
      </g>
    </g>
    <a xlink:href='https://github.com/cooijmanstim/advent2022'><text fill='currentColor' x='10' y='62'>Tim Cooijmans</text></a>
    <a xlink:href='https://github.com/frasiyav/AoC2022'><text fill='currentColor' x='10' y='74'>frasiyav</text></a>
    <a xlink:href='https://github.com/dzaima/aoc/tree/master/2022/BQN'><text fill='currentColor' x='10' y='86'>dzaima</text></a>
    <a xlink:href='https://code.tvl.fyi/tree/users/sterni/exercises/aoc/2022'><text fill='currentColor' x='10' y='98'>sterni</text></a>
    <a xlink:href='https://github.com/saltysylvi/bqn-aoc2022'><text fill='currentColor' x='10' y='110'>Sylvia</text></a>
    <a xlink:href='https://github.com/jhfranklin/aoc/tree/main/2022'><text fill='currentColor' x='10' y='122'>Jack Franklin</text></a>
    <a xlink:href='https://github.com/mpizzzle/AdventOfCode/tree/master/2022'><text fill='currentColor' x='10' y='134'>Michael Percival</text></a>
    <a xlink:href='https://github.com/icendoan/aoc22'><text fill='currentColor' x='10' y='146'>Caleb Quilley</text></a>
    <a xlink:href='https://github.com/razetime/aoc/tree/main/22/bqn'><text fill='currentColor' x='10' y='158'>Raghu R</text></a>
    <a xlink:href='https://github.com/shnarazk/advent-of-code/tree/main/bqn/2022'><text fill='currentColor' x='10' y='170'>Narazaki Shuji</text></a>
    <a xlink:href='https://codeberg.org/Rampoina/aoc/src/branch/master/2022'><text fill='currentColor' x='10' y='182'>Rampoina</text></a>
    <a xlink:href='https://github.com/SamuelSarle/advent/tree/master/adv_2022'><text fill='currentColor' x='10' y='194'>Samuel</text></a>
    <a xlink:href='https://git.sr.ht/~srasu/bqn-aoc/tree/main/item/src/aoc2022'><text fill='currentColor' x='10' y='206'>Joshua Suskalo</text></a>
    <a xlink:href='https://github.com/eissplitter/aoc'><text fill='currentColor' x='10' y='218'>eissplitter</text></a>
    <a xlink:href='https://github.com/dlozeve/aoc2022'><text fill='currentColor' x='10' y='230'>Dimitri Lozeve</text></a>
    <a xlink:href='https://github.com/karimElmougi/aoc/tree/master/2022'><text fill='currentColor' x='10' y='242'>Karim Elmougi</text></a>
    <a xlink:href='https://github.com/mk12/aoc/tree/main/src/bqn'><text fill='currentColor' x='10' y='254'>Mitchell Kember</text></a>
    <a xlink:href='https://github.com/Choram/AoC2022BQN'><text fill='currentColor' x='10' y='266'>Choram</text></a>
    <a xlink:href='https://github.com/Detegr/aoc2022'><text fill='currentColor' x='10' y='278'>Antti Keränen</text></a>
    <a xlink:href='https://github.com/jhvst/advent2022'><text fill='currentColor' x='10' y='290'>Juuso Haavisto</text></a>
    <a xlink:href='https://github.com/devcordde/adventofcode-22'><text fill='currentColor' x='10' y='302'>Johnny</text></a>
    <a xlink:href='https://github.com/Olodus/advent_of_code2021/tree/main/2022'><text fill='currentColor' x='10' y='314'>Olodus</text></a>
    <a xlink:href='https://github.com/Nhlest/AoC2022/tree/main/bqn'><text fill='currentColor' x='10' y='326'>N`hlest</text></a>
    <a xlink:href='https://github.com/Brian-ED/BQN-Advent-Of-Code/tree/main/2022'><text fill='currentColor' x='10' y='338'>Brian E</text></a>
    <a xlink:href='https://github.com/dancek/bqn-advent2022'><text fill='currentColor' x='10' y='350'>Hannu Hartikainen</text></a>
    <a xlink:href='https://github.com/Skyb0rg007/Advent-of-Code/tree/master/2022'><text fill='currentColor' x='10' y='362'>Skye Soss</text></a>
    <a xlink:href='https://github.com/akamayu-ouo/AoC/tree/master/2022'><text fill='currentColor' x='10' y='374'>akamayu ouo</text></a>
    <a xlink:href='https://github.com/AugustUnderground/AoC2022'><text fill='currentColor' x='10' y='386'>ynk</text></a>
    <a xlink:href='https://github.com/TomaSajt/AOC/tree/master/bqn/2022'><text fill='currentColor' x='10' y='398'>Toma</text></a>
    <a xlink:href='https://github.com/dunyakirkali/aoc.bqn/tree/main/2022'><text fill='currentColor' x='10' y='410'>Dunya Kirkali</text></a>
    <a xlink:href='https://github.com/Trouble-Truffle/Solutions/tree/main/AOC-2022'><text fill='currentColor' x='10' y='422'>Perigord</text></a>
    <a xlink:href='https://github.com/sullyj3/adventofcode2022'><text fill='currentColor' x='10' y='434'>James Sully</text></a>
    <a xlink:href='https://github.com/axelbdt/aoc/tree/main/2022/bqn'><text fill='currentColor' x='10' y='446'>axelbdt</text></a>
    <a xlink:href='https://github.com/bddean/aoc/tree/main/2022'><text fill='currentColor' x='10' y='458'>Ben Dean</text></a>
    <a xlink:href='https://github.com/dankeyy/aoc22'><text fill='currentColor' x='10' y='470'>dankeyy</text></a>
    <a xlink:href='https://github.com/codereport/Advent-of-Code-2022'><text fill='currentColor' x='10' y='482'>Conor Hoekstra</text></a>
    <a xlink:href='https://github.com/kejadlen/advent-of-code/tree/main/2022/bqn'><text fill='currentColor' x='10' y='494'>Alpha Chen</text></a>
    <a xlink:href='https://github.com/DavidCromp/aoc2022/tree/main/BQN'><text fill='currentColor' x='10' y='506'>David Cromp</text></a>
    <a xlink:href='https://github.com/phenax/advent-of-coolio-2022'><text fill='currentColor' x='10' y='518'>Akshay Nair</text></a>
    <a xlink:href='https://github.com/asherbhs/aoc2022'><text fill='currentColor' x='10' y='530'>Asher Harvey-Smith</text></a>
    <a xlink:href='https://github.com/extorious/aoc2022'><text fill='currentColor' x='10' y='542'>extorious</text></a>
    <a xlink:href='https://github.com/felixr/advent-of-code/tree/main/2022'><text fill='currentColor' x='10' y='554'>Felix Riedel</text></a>
    <a xlink:href='https://github.com/dgkf/advent-of-code/tree/master/2022'><text fill='currentColor' x='10' y='566'>Doug Kelkhoff</text></a>
    <a xlink:href='https://github.com/juriad/advent2022'><text fill='currentColor' x='10' y='578'>Adam Juraszek</text></a>
    <a xlink:href='https://github.com/calebowens/Advent-of-code-RB-2022'><text fill='currentColor' x='10' y='590'>calebowens</text></a>
    <a xlink:href='https://github.com/0xmycf/Advent-of-code/tree/main/2022/bqn-22'><text fill='currentColor' x='10' y='602'>mycf</text></a>
    <g stroke-width='6' class='green' opacity='0.9'>
      <path d='M128 59h500'/>
      <path d='M128 71h500'/>
      <path d='M128 83h500'/>
      <path d='M128 95h260M408 95h20M448 95h40M508 95h40M608 95h20'/>
      <path d='M128 107h300M528 107h20M608 107h20'/>
      <path d='M128 119h300M468 119h20M528 119h20'/>
      <path d='M128 131h220M388 131h40M448 131h40M508 131h20'/>
      <path d='M128 143h320'/>
      <path d='M128 155h300'/>
      <path d='M128 167h200M408 167h40M508 167h20M608 167h20'/>
      <path d='M128 179h200M348 179h20M388 179h40M528 179h20'/>
      <path d='M168 191h120M348 191h20M388 191h20M448 191h40M568 191h60'/>
      <path d='M128 203h260'/>
      <path d='M128 215h120M268 215h80M468 215h20M508 215h20'/>
      <path d='M128 227h120M268 227h120'/>
      <path d='M128 239h160M308 239h80'/>
      <path d='M128 251h220'/>
      <path d='M128 263h200'/>
      <path d='M128 275h200'/>
      <path d='M128 287h180'/>
      <path d='M128 299h80M228 299h20M268 299h60'/>
      <path d='M128 311h160'/>
      <path d='M208 323h140'/>
      <path d='M128 335h140'/>
      <path d='M148 347h60M228 347h20M268 347h20M468 347h20'/>
      <path d='M128 359h120'/>
      <path d='M128 371h60M208 371h20M348 371h20'/>
      <path d='M128 383h40M228 383h20M268 383h20M308 383h20'/>
      <path d='M128 395h60M228 395h20M268 395h20'/>
      <path d='M128 407h80M228 407h20'/>
      <path d='M288 419h20M368 419h60'/>
      <path d='M128 431h20M168 431h20M228 431h20M268 431h20'/>
      <path d='M128 443h80'/>
      <path d='M128 455h80'/>
      <path d='M128 467h20M268 467h40'/>
      <path d='M128 479h20M228 479h20M268 479h20'/>
      <path d='M128 491h20M208 491h40'/>
      <path d='M128 503h60'/>
      <path d='M128 515h20M608 515h20'/>
      <path d='M128 527h40'/>
      <path d='M128 539h40'/>
      <path d='M228 551h20'/>
      <path d='M188 563h20'/>
      <path d='M168 575h20'/>
      <path d='M148 587h20'/>
      <path d='M128 599h20'/>
    </g>
    <g stroke-width='6' class='red' opacity='0.2'>
      <path d='M428 155h200'/>
      <path d='M328 167h80M448 167h60M528 167h80'/>
      <path d='M128 191h40M288 191h60M368 191h20M408 191h40M488 191h80'/>
      <path d='M248 227h20'/>
      <path d='M208 299h20M248 299h20M328 299h20'/>
      <path d='M128 323h80'/>
      <path d='M188 371h20M228 371h120M368 371h120M588 371h40'/>
      <path d='M168 383h60M248 383h20M288 383h20M328 383h40'/>
      <path d='M188 395h40M248 395h20M288 395h100M408 395h20M468 395h20M508 395h40M568 395h20'/>
      <path d='M128 419h160M308 419h60M428 419h20'/>
      <path d='M148 431h20M188 431h40M248 431h20M288 431h100'/>
      <path d='M148 467h120M308 467h20'/>
      <path d='M148 479h80'/>
      <path d='M148 491h60M248 491h180M468 491h20M508 491h40M568 491h20M608 491h20'/>
      <path d='M148 515h300M468 515h20M508 515h40M568 515h20'/>
      <path d='M128 551h100M248 551h240M508 551h40'/>
      <path d='M128 575h40M188 575h440'/>
      <path d='M128 587h20M168 587h280M468 587h20M548 587h80'/>
      <path d='M148 599h280M468 599h20M528 599h20M608 599h20'/>
    </g>
  </g>
</svg>

<p>The number of BQN solutions for each of the 25 days is plotted below, along with totals from AoC's <a href="https://adventofcode.com/2022/stats">stats page</a>. The BQN solutions are scaled to be visible here: there are 4842 times more valid AoC submissions than published BQN solutions overall.</p>
<svg viewBox='-40 -25 336 178'>
  <g stroke-width='1.2' font-size='13px' text-anchor='end' fill='currentColor'>
    <rect class='code' stroke-width='1' rx='6' x='-20' y='-20' width='296' height='168'/>
    <text x='256' y='9'>Solutions in:</text>
    <text class='red' x='256' y='27'>Anything</text>
    <text class='green' x='256' y='45'>BQN</text>
    <g text-anchor='middle' opacity='0.8'>
      <text dy='1em' x='128' y='128'>day</text>
      <text transform='rotate(-90)' dy='-0.35em' x='-64' y='0'>count</text>
    </g>
    <path class='Paren' stroke='currentColor' fill='none' d='M0 0V128H256'/>
    <path class='red' style='fill:none' d='M0 0L10.667 19.875L21.333 33.84L32 43.454L42.667 55.257L53.333 56.499L64 75.227L74.667 75.504L85.333 84.978L96 86.561L106.667 92.18L117.333 100.512L128 103.927L138.667 105.158L149.333 107.271L160 115.087L170.667 115.483L181.333 114.244L192 119.953L202.667 117.641L213.333 116.266L224 118.9L234.667 119.717L245.333 120.833L256 119.316'/>
    <path class='green' style='fill:none' d='M0 36.059L10.667 45.737L21.333 48.157L32 57.835L42.667 65.093L53.333 48.157L64 77.191L74.667 57.835L85.333 74.771L96 77.191L106.667 91.708L117.333 94.127L128 98.966L138.667 101.386L149.333 98.966L160 115.903L170.667 113.483L181.333 106.225L192 120.742L202.667 111.064L213.333 111.064L224 120.742L234.667 118.322L245.333 118.322L256 108.644'/>
  </g>
</svg>

<h2 id="year-2021"><a class="header" href="#year-2021">Year 2021</a></h2>
<p><a href="https://adventofcode.com/2021">Advent of Code 2021</a> saw great participation by the BQN community, with a total of 234 solutions published by 22 programmers. They can be found in these repositories:</p>
<center>

<p><a href="https://github.com/dzaima/aoc/tree/master/2021/BQN">dzaima</a><a href="https://github.com/dancek/bqn-advent2021">Hannu Hartikainen</a><a href="https://github.com/razetime/AOC2021-BQN">Raghu Ranganathan</a><a href="https://github.com/frasiyav/AoC2021">frasiyav</a><a href="https://github.com/leahneukirchen/adventofcode2021">Leah Neukirchen</a><a href="https://github.com/Detegr/aoc2021">Antti Keränen</a><a href="https://gitlab.com/icen/aoc21">Caleb Quilley</a><a href="https://github.com/alvinvoo/aoc2021">Alvin Voo</a><a href="https://github.com/AlexDikelsky/puzzles/tree/main/advent_of_code/advent_2021">Alex Dikelsky</a><a href="https://github.com/andreypopp/aoc2021">Andrey Popp</a><a href="https://github.com/JohnnyJayJay/adventofcode-21">Johnny</a><a href="https://git.sr.ht/~jshholland/adventofcode/tree/master/item/2021">Josh Holland</a><a href="https://github.com/bddean/aoc-2021">Ben Dean</a><a href="https://github.com/alephno/aoc2021/tree/main/BQN">Alastair Williams</a><a href="https://github.com/Olodus/advent_of_code2021">Olodus</a><a href="https://github.com/arwn/aoc2021">Aren Windham</a><a href="https://github.com/dlozeve/aoc2021">Dimitri Lozeve</a><a href="https://github.com/knightzmc/advent-of-code-2021">Alexander Wood</a><a href="https://github.com/mathiasmagnusson/advent-of-code-21">Mathias Magnusson</a><a href="https://github.com/m-lima/advent-of-code-2021">m-lima</a><a href="https://github.com/dunyakirkali/aoc.bqn/tree/main/2021">Dunya Kirkali</a><a href="https://github.com/Camto/Advent-of-Code-2021/tree/master/BQN">Benjamin Applegate</a></p>
</center>

<p>Below, problems solved in BQN are shown in green, and problems solved in other languages in faint red.</p>
<svg viewBox='-20 -5 638 462'>
  <g stroke-width='1' font-size='14px' fill='currentColor'>
    <rect class='code' stroke-width='1' rx='6' x='0' y='0' width='598' height='452'/>
    <g class='Paren' stroke='currentColor' fill='none'>
      <path d='M90 0V452'/>
      <path d='M0 50H598'/>
    </g>
    <g text-anchor='middle'>
      <text font-size='20px' x='340' y='24'>Day</text>
      <g font-size='11px'>
        <text x='100' y='46'>1</text>
        <text x='120' y='46'>2</text>
        <text x='140' y='46'>3</text>
        <text x='160' y='46'>4</text>
        <text x='180' y='46'>5</text>
        <text x='200' y='46'>6</text>
        <text x='220' y='46'>7</text>
        <text x='240' y='46'>8</text>
        <text x='260' y='46'>9</text>
        <text x='280' y='46'>10</text>
        <text x='300' y='46'>11</text>
        <text x='320' y='46'>12</text>
        <text x='340' y='46'>13</text>
        <text x='360' y='46'>14</text>
        <text x='380' y='46'>15</text>
        <text x='400' y='46'>16</text>
        <text x='420' y='46'>17</text>
        <text x='440' y='46'>18</text>
        <text x='460' y='46'>19</text>
        <text x='480' y='46'>20</text>
        <text x='500' y='46'>21</text>
        <text x='520' y='46'>22</text>
        <text x='540' y='46'>23</text>
        <text x='560' y='46'>24</text>
        <text x='580' y='46'>25</text>
      </g>
    </g>
    <text x='10' y='65'>dzaima</text>
    <text x='10' y='83'>Hannu</text>
    <text x='10' y='101'>Raghu</text>
    <text x='10' y='119'>frasiyav</text>
    <text x='10' y='137'>Leah</text>
    <text x='10' y='155'>Antti</text>
    <text x='10' y='173'>Caleb</text>
    <text x='10' y='191'>Alvin</text>
    <text x='10' y='209'>Alex</text>
    <text x='10' y='227'>Andrey</text>
    <text x='10' y='245'>Johnny</text>
    <text x='10' y='263'>Josh</text>
    <text x='10' y='281'>Ben</text>
    <text x='10' y='299'>Alastair</text>
    <text x='10' y='317'>Olodus</text>
    <text x='10' y='335'>Aren</text>
    <text x='10' y='353'>Dimitri</text>
    <text x='10' y='371'>Alexander</text>
    <text x='10' y='389'>Mathias</text>
    <text x='10' y='407'>m-lima</text>
    <text x='10' y='425'>Dunya</text>
    <text x='10' y='443'>Benjamin</text>
    <g stroke-width='6' class='green' opacity='0.9'>
      <path d='M90 60.5h500'/>
      <path d='M90 78.5h440M550 78.5h40'/>
      <path d='M90 96.5h440M570 96.5h20'/>
      <path d='M90 114.5h440'/>
      <path d='M90 132.5h220M330 132.5h60M410 132.5h40M470 132.5h40M550 132.5h40'/>
      <path d='M90 150.5h360M470 150.5h40'/>
      <path d='M90 168.5h360'/>
      <path d='M90 186.5h280'/>
      <path d='M90 204.5h220M330 204.5h40'/>
      <path d='M90 222.5h60M170 222.5h60M290 222.5h60M370 222.5h20M410 222.5h20M470 222.5h20'/>
      <path d='M90 240.5h140M250 240.5h40'/>
      <path d='M90 258.5h160'/>
      <path d='M90 276.5h140'/>
      <path d='M90 294.5h20M130 294.5h20M190 294.5h40M250 294.5h20'/>
      <path d='M90 312.5h60M250 312.5h20'/>
      <path d='M190 330.5h40M250 330.5h20'/>
      <path d='M90 348.5h20M130 348.5h20'/>
      <path d='M130 366.5h20'/>
      <path d='M130 384.5h20'/>
      <path d='M90 402.5h20'/>
      <path d='M90 420.5h20'/>
      <path d='M90 438.5h20'/>
    </g>
    <g stroke-width='6' class='red' opacity='0.2'>
      <path d='M310 132.5h20M390 132.5h20M450 132.5h20M510 132.5h40'/>
      <path d='M310 204.5h20'/>
      <path d='M230 240.5h20'/>
      <path d='M110 294.5h20'/>
      <path d='M90 330.5h100M230 330.5h20M270 330.5h60'/>
      <path d='M110 348.5h20M170 348.5h60M250 348.5h40M310 348.5h120M470 348.5h40'/>
      <path d='M90 366.5h40'/>
      <path d='M90 384.5h40'/>
      <path d='M110 402.5h320'/>
    </g>
  </g>
</svg>

<p>Some wrote about aspects of the Advent experience: Leah explained her solutions for <a href="https://leahneukirchen.org/blog/archive/2021/12/counting-lanternfish-with-bqn-and-linear-algebra.html">day 6</a> and <a href="https://leahneukirchen.org/blog/archive/2021/12/surveying-lava-basins-with-bqn-and-fixpoints.html">day 9</a>, Hannu <a href="https://hannuhartikainen.fi/blog/advent-of-bqn/">reflected</a> on the choice of BQN, and Raghu <a href="https://razetime.github.io/blog1/2022/01/09/aoc-bqn.html">commented on</a> each problem.</p>
<p>The number of BQN solutions for each of the 25 days is plotted below, along with totals from AoC's <a href="https://adventofcode.com/2021/stats">stats page</a>. The BQN solutions are scaled to be visible here: there are 6827 times more valid AoC submissions than published BQN solutions overall.</p>
<svg viewBox='-40 -25 336 178'>
  <g stroke-width='1.2' font-size='13px' text-anchor='end' fill='currentColor'>
    <rect class='code' stroke-width='1' rx='6' x='-20' y='-20' width='296' height='168'/>
    <text x='256' y='9'>Solutions in:</text>
    <text class='red' x='256' y='27'>Anything</text>
    <text class='green' x='256' y='45'>BQN</text>
    <g text-anchor='middle' opacity='0.8'>
      <text dy='1em' x='128' y='128'>day</text>
      <text transform='rotate(-90)' dy='-0.35em' x='-64' y='0'>count</text>
    </g>
    <path class='Paren' stroke='currentColor' fill='none' d='M0 0V128H256'/>
    <path class='red' style='fill:none' d='M0 0L10.667 21.116L21.333 34.08L32 66.927L42.667 74.514L53.333 74.193L64 77.272L74.667 82.658L85.333 86.149L96 90.367L106.667 94.989L117.333 99.169L128 98.574L138.667 98.442L149.333 104.735L160 108.875L170.667 108.938L181.333 114.112L192 118.738L202.667 115.258L213.333 113.545L224 116.127L234.667 119.629L245.333 121.132L256 119.185'/>
    <path class='green' style='fill:none' d='M0 51.572L10.667 71.684L21.333 55.594L32 79.73L42.667 75.707L53.333 67.662L64 67.662L74.667 87.775L85.333 75.707L96 87.775L106.667 87.775L117.333 95.82L128 87.775L138.667 91.797L149.333 95.82L160 103.865L170.667 95.82L181.333 99.842L192 111.91L202.667 99.842L213.333 103.865L224 111.91L234.667 123.977L245.333 115.932L256 111.91'/>
  </g>
</svg>

<p>The BQN counts fall off much less than the average. Most likely this is because programmers who decide to try AoC in a crazy new language like BQN tend to be more committed to the task, but BQN also has to meet some minimum bar to enable these crazy people to continue.</p>
<p>Just how okay is BQN? Hannu <a href="https://hannuhartikainen.fi/blog/advent-of-bqn/">made the case</a> for optimism. Hannu writes that BQN's slogan &quot;might be the best [further glowing praise/context]&quot;, in stark contrast to that time <a href="https://adspthepodcast.com/2021/12/17/Episode-56.html">Bryce and Conor agreed</a> that it was a bad slogan. And Andrey offers <a href="https://news.ycombinator.com/item?id=29521264">suspiciously positive comments</a> as well. The list includes &quot;good text editor support&quot;, but Johnny remarked on the forums that he didn't manage a good editor/REPL setup—a second contradiction, meaning that I can now prove the Riemann hypothesis in <em>two</em> independent ways. Johnny also cited little support for string handling and low-information error messages as obstacles. I like that these aren't tied to the core language, and can eventually be improved, even though it won't be easy. dzaima complained about frequent confusion between functions and immediate blocks, and right-to-left folds being the much less useful direction. I dislike that dzaima is right a lot.</p>
<p>All three non-dzaimas of the last paragraph are essentially array outsiders, with little or no experience with languages like J or APL. In fact I think this describes the majority of Adventurers in BQN (although the list also includes array junkies like Raghu and Leah, and they've predictably made it further than most participants). Reaching out to a general programming audience wasn't initially a goal of BQN because I didn't think it <em>was</em> within reach. I realized this was wrong, and began to adjust course, in the early days, but am pleased to continue getting even more wrong.</p>
<p>With all this said, a handful of reports about recreational programming is a pretty poor basis for judging a programming language. Advent of Code was more useful as a checkup on BQN and its environment, resulting in fixes to documentation and implementation. And dzaima improved various aspects of performance as a way to cheat in speed battles with ngn/k.</p>
<p>BQN did do okay in terms of performance. At times programmers on the forum commented about having slow solutions (tens of seconds) or having to rewrite an obviously unsatisfactory algorithm. I don't think anyone mentioned having to switch languages for performance reasons, which is good news for an implementation as young as CBQN. But also not a surprise, as it's pretty fast with scalar code for an interpreter: about 10 times slower than C when I've measured it. Array code is usually faster, but can be slower. A particular problem was that in-place mutation <code><span class='Modifier2'></span><span class='Paren'>(</span><span class='Value'>i</span><span class='Modifier2'></span><span class='Function'></span><span class='Paren'>)</span></code> is only fast for very simple cases. Of course, this problem only arises because BQN's arrays are immutable, highlighting that immutable arrays, despite being perfect in every way, can be a pain. In a serious application you might be willing to endure more pain and use a mutable array object, to ensure good performance.</p>