libwren-sys 0.1.0

FFI bindings for the wren embedded programming language
Documentation
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
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
// Can have more than 255 local variables in a local scope, as long as they
// aren't all in scope at the same time.

{
  {
    // Slot zero is always taken to hold the closure or receiver.
    var a1 = "value a"
    var a2 = a1
    var a3 = a2
    var a4 = a3
    var a5 = a4
    var a6 = a5
    var a7 = a6
    var a8 = a7
    var a9 = a8
    var a10 = a9
    var a11 = a10
    var a12 = a11
    var a13 = a12
    var a14 = a13
    var a15 = a14
    var a16 = a15
    var a17 = a16
    var a18 = a17
    var a19 = a18
    var a20 = a19
    var a21 = a20
    var a22 = a21
    var a23 = a22
    var a24 = a23
    var a25 = a24
    var a26 = a25
    var a27 = a26
    var a28 = a27
    var a29 = a28
    var a30 = a29
    var a31 = a30
    var a32 = a31
    var a33 = a32
    var a34 = a33
    var a35 = a34
    var a36 = a35
    var a37 = a36
    var a38 = a37
    var a39 = a38
    var a40 = a39
    var a41 = a40
    var a42 = a41
    var a43 = a42
    var a44 = a43
    var a45 = a44
    var a46 = a45
    var a47 = a46
    var a48 = a47
    var a49 = a48
    var a50 = a49
    var a51 = a50
    var a52 = a51
    var a53 = a52
    var a54 = a53
    var a55 = a54
    var a56 = a55
    var a57 = a56
    var a58 = a57
    var a59 = a58
    var a60 = a59
    var a61 = a60
    var a62 = a61
    var a63 = a62
    var a64 = a63
    var a65 = a64
    var a66 = a65
    var a67 = a66
    var a68 = a67
    var a69 = a68
    var a70 = a69
    var a71 = a70
    var a72 = a71
    var a73 = a72
    var a74 = a73
    var a75 = a74
    var a76 = a75
    var a77 = a76
    var a78 = a77
    var a79 = a78
    var a80 = a79
    var a81 = a80
    var a82 = a81
    var a83 = a82
    var a84 = a83
    var a85 = a84
    var a86 = a85
    var a87 = a86
    var a88 = a87
    var a89 = a88
    var a90 = a89
    var a91 = a90
    var a92 = a91
    var a93 = a92
    var a94 = a93
    var a95 = a94
    var a96 = a95
    var a97 = a96
    var a98 = a97
    var a99 = a98
    var a100 = a99
    var a101 = a100
    var a102 = a101
    var a103 = a102
    var a104 = a103
    var a105 = a104
    var a106 = a105
    var a107 = a106
    var a108 = a107
    var a109 = a108
    var a110 = a109
    var a111 = a110
    var a112 = a111
    var a113 = a112
    var a114 = a113
    var a115 = a114
    var a116 = a115
    var a117 = a116
    var a118 = a117
    var a119 = a118
    var a120 = a119
    var a121 = a120
    var a122 = a121
    var a123 = a122
    var a124 = a123
    var a125 = a124
    var a126 = a125
    var a127 = a126
    var a128 = a127
    var a129 = a128
    var a130 = a129
    var a131 = a130
    var a132 = a131
    var a133 = a132
    var a134 = a133
    var a135 = a134
    var a136 = a135
    var a137 = a136
    var a138 = a137
    var a139 = a138
    var a140 = a139
    var a141 = a140
    var a142 = a141
    var a143 = a142
    var a144 = a143
    var a145 = a144
    var a146 = a145
    var a147 = a146
    var a148 = a147
    var a149 = a148
    var a150 = a149
    var a151 = a150
    var a152 = a151
    var a153 = a152
    var a154 = a153
    var a155 = a154
    var a156 = a155
    var a157 = a156
    var a158 = a157
    var a159 = a158
    var a160 = a159
    var a161 = a160
    var a162 = a161
    var a163 = a162
    var a164 = a163
    var a165 = a164
    var a166 = a165
    var a167 = a166
    var a168 = a167
    var a169 = a168
    var a170 = a169
    var a171 = a170
    var a172 = a171
    var a173 = a172
    var a174 = a173
    var a175 = a174
    var a176 = a175
    var a177 = a176
    var a178 = a177
    var a179 = a178
    var a180 = a179
    var a181 = a180
    var a182 = a181
    var a183 = a182
    var a184 = a183
    var a185 = a184
    var a186 = a185
    var a187 = a186
    var a188 = a187
    var a189 = a188
    var a190 = a189
    var a191 = a190
    var a192 = a191
    var a193 = a192
    var a194 = a193
    var a195 = a194
    var a196 = a195
    var a197 = a196
    var a198 = a197
    var a199 = a198
    var a200 = a199
    var a201 = a200
    var a202 = a201
    var a203 = a202
    var a204 = a203
    var a205 = a204
    var a206 = a205
    var a207 = a206
    var a208 = a207
    var a209 = a208
    var a210 = a209
    var a211 = a210
    var a212 = a211
    var a213 = a212
    var a214 = a213
    var a215 = a214
    var a216 = a215
    var a217 = a216
    var a218 = a217
    var a219 = a218
    var a220 = a219
    var a221 = a220
    var a222 = a221
    var a223 = a222
    var a224 = a223
    var a225 = a224
    var a226 = a225
    var a227 = a226
    var a228 = a227
    var a229 = a228
    var a230 = a229
    var a231 = a230
    var a232 = a231
    var a233 = a232
    var a234 = a233
    var a235 = a234
    var a236 = a235
    var a237 = a236
    var a238 = a237
    var a239 = a238
    var a240 = a239
    var a241 = a240
    var a242 = a241
    var a243 = a242
    var a244 = a243
    var a245 = a244
    var a246 = a245
    var a247 = a246
    var a248 = a247
    var a249 = a248
    var a250 = a249
    var a251 = a250
    var a252 = a251
    var a253 = a252
    var a254 = a253
    var a255 = a254
    System.print(a255) // expect: value a
  }

  {
    // Slot zero is always taken to hold the closure or receiver.
    var b1 = "value b"
    var b2 = b1
    var b3 = b2
    var b4 = b3
    var b5 = b4
    var b6 = b5
    var b7 = b6
    var b8 = b7
    var b9 = b8
    var b10 = b9
    var b11 = b10
    var b12 = b11
    var b13 = b12
    var b14 = b13
    var b15 = b14
    var b16 = b15
    var b17 = b16
    var b18 = b17
    var b19 = b18
    var b20 = b19
    var b21 = b20
    var b22 = b21
    var b23 = b22
    var b24 = b23
    var b25 = b24
    var b26 = b25
    var b27 = b26
    var b28 = b27
    var b29 = b28
    var b30 = b29
    var b31 = b30
    var b32 = b31
    var b33 = b32
    var b34 = b33
    var b35 = b34
    var b36 = b35
    var b37 = b36
    var b38 = b37
    var b39 = b38
    var b40 = b39
    var b41 = b40
    var b42 = b41
    var b43 = b42
    var b44 = b43
    var b45 = b44
    var b46 = b45
    var b47 = b46
    var b48 = b47
    var b49 = b48
    var b50 = b49
    var b51 = b50
    var b52 = b51
    var b53 = b52
    var b54 = b53
    var b55 = b54
    var b56 = b55
    var b57 = b56
    var b58 = b57
    var b59 = b58
    var b60 = b59
    var b61 = b60
    var b62 = b61
    var b63 = b62
    var b64 = b63
    var b65 = b64
    var b66 = b65
    var b67 = b66
    var b68 = b67
    var b69 = b68
    var b70 = b69
    var b71 = b70
    var b72 = b71
    var b73 = b72
    var b74 = b73
    var b75 = b74
    var b76 = b75
    var b77 = b76
    var b78 = b77
    var b79 = b78
    var b80 = b79
    var b81 = b80
    var b82 = b81
    var b83 = b82
    var b84 = b83
    var b85 = b84
    var b86 = b85
    var b87 = b86
    var b88 = b87
    var b89 = b88
    var b90 = b89
    var b91 = b90
    var b92 = b91
    var b93 = b92
    var b94 = b93
    var b95 = b94
    var b96 = b95
    var b97 = b96
    var b98 = b97
    var b99 = b98
    var b100 = b99
    var b101 = b100
    var b102 = b101
    var b103 = b102
    var b104 = b103
    var b105 = b104
    var b106 = b105
    var b107 = b106
    var b108 = b107
    var b109 = b108
    var b110 = b109
    var b111 = b110
    var b112 = b111
    var b113 = b112
    var b114 = b113
    var b115 = b114
    var b116 = b115
    var b117 = b116
    var b118 = b117
    var b119 = b118
    var b120 = b119
    var b121 = b120
    var b122 = b121
    var b123 = b122
    var b124 = b123
    var b125 = b124
    var b126 = b125
    var b127 = b126
    var b128 = b127
    var b129 = b128
    var b130 = b129
    var b131 = b130
    var b132 = b131
    var b133 = b132
    var b134 = b133
    var b135 = b134
    var b136 = b135
    var b137 = b136
    var b138 = b137
    var b139 = b138
    var b140 = b139
    var b141 = b140
    var b142 = b141
    var b143 = b142
    var b144 = b143
    var b145 = b144
    var b146 = b145
    var b147 = b146
    var b148 = b147
    var b149 = b148
    var b150 = b149
    var b151 = b150
    var b152 = b151
    var b153 = b152
    var b154 = b153
    var b155 = b154
    var b156 = b155
    var b157 = b156
    var b158 = b157
    var b159 = b158
    var b160 = b159
    var b161 = b160
    var b162 = b161
    var b163 = b162
    var b164 = b163
    var b165 = b164
    var b166 = b165
    var b167 = b166
    var b168 = b167
    var b169 = b168
    var b170 = b169
    var b171 = b170
    var b172 = b171
    var b173 = b172
    var b174 = b173
    var b175 = b174
    var b176 = b175
    var b177 = b176
    var b178 = b177
    var b179 = b178
    var b180 = b179
    var b181 = b180
    var b182 = b181
    var b183 = b182
    var b184 = b183
    var b185 = b184
    var b186 = b185
    var b187 = b186
    var b188 = b187
    var b189 = b188
    var b190 = b189
    var b191 = b190
    var b192 = b191
    var b193 = b192
    var b194 = b193
    var b195 = b194
    var b196 = b195
    var b197 = b196
    var b198 = b197
    var b199 = b198
    var b200 = b199
    var b201 = b200
    var b202 = b201
    var b203 = b202
    var b204 = b203
    var b205 = b204
    var b206 = b205
    var b207 = b206
    var b208 = b207
    var b209 = b208
    var b210 = b209
    var b211 = b210
    var b212 = b211
    var b213 = b212
    var b214 = b213
    var b215 = b214
    var b216 = b215
    var b217 = b216
    var b218 = b217
    var b219 = b218
    var b220 = b219
    var b221 = b220
    var b222 = b221
    var b223 = b222
    var b224 = b223
    var b225 = b224
    var b226 = b225
    var b227 = b226
    var b228 = b227
    var b229 = b228
    var b230 = b229
    var b231 = b230
    var b232 = b231
    var b233 = b232
    var b234 = b233
    var b235 = b234
    var b236 = b235
    var b237 = b236
    var b238 = b237
    var b239 = b238
    var b240 = b239
    var b241 = b240
    var b242 = b241
    var b243 = b242
    var b244 = b243
    var b245 = b244
    var b246 = b245
    var b247 = b246
    var b248 = b247
    var b249 = b248
    var b250 = b249
    var b251 = b250
    var b252 = b251
    var b253 = b252
    var b254 = b253
    var b255 = b254
    System.print(b255) // expect: value b
  }
}