fez-lisp 1.5.66 → 1.5.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/package.json +1 -1
  2. package/src/check.js +171 -1222
  3. package/src/types.js +1145 -0
package/src/types.js ADDED
@@ -0,0 +1,1145 @@
1
+ import { APPLY, ATOM, DEBUG, KEYWORDS, PLACEHOLDER } from './keywords.js'
2
+ export const ARGS_COUNT = 'n'
3
+ export const VARIADIC = Infinity
4
+ export const STATS = '__stats__'
5
+ export const ARGUMENTS = 'arguments'
6
+ export const UNKNOWN = -1
7
+ export const RETURNS = 'returns'
8
+ export const SCOPE_NAME = '__scope__'
9
+ export const TYPE_PROP = 'type'
10
+ export const SIGNATURE = 'name'
11
+ export const PREDICATE = 3
12
+ export const COLLECTION = 4
13
+ export const MAX_RETRY_DEFINITION = 1
14
+ export const toTypeNames = (type) => {
15
+ switch (type) {
16
+ case APPLY:
17
+ return 'Abstraction'
18
+ case ATOM:
19
+ return 'Atom'
20
+ case UNKNOWN:
21
+ return 'Unknown'
22
+ case PREDICATE:
23
+ return 'Predicate'
24
+ case COLLECTION:
25
+ return 'Collection'
26
+ default:
27
+ break
28
+ }
29
+ }
30
+ export const SPECIAL_FORM_TYPES = {
31
+ [SCOPE_NAME]: 'root',
32
+ [toTypeNames(APPLY)]: {
33
+ [STATS]: {
34
+ [TYPE_PROP]: [APPLY],
35
+ [SIGNATURE]: toTypeNames(APPLY),
36
+ retried: Infinity,
37
+ [ARGS_COUNT]: 1,
38
+ [ARGUMENTS]: [
39
+ {
40
+ [STATS]: {
41
+ retried: Infinity,
42
+ [SIGNATURE]: PLACEHOLDER,
43
+ [TYPE_PROP]: [UNKNOWN],
44
+ [RETURNS]: [UNKNOWN],
45
+ [ARGS_COUNT]: [],
46
+ [ARGUMENTS]: [],
47
+ [ARGS_COUNT]: 0
48
+ }
49
+ }
50
+ ],
51
+ [RETURNS]: [APPLY]
52
+ }
53
+ },
54
+ [toTypeNames(ATOM)]: {
55
+ [STATS]: {
56
+ [TYPE_PROP]: [APPLY],
57
+ [SIGNATURE]: toTypeNames(ATOM),
58
+ retried: Infinity,
59
+ [ARGS_COUNT]: 1,
60
+ [ARGUMENTS]: [
61
+ {
62
+ [STATS]: {
63
+ retried: Infinity,
64
+ [SIGNATURE]: PLACEHOLDER,
65
+ [TYPE_PROP]: [UNKNOWN],
66
+ [RETURNS]: [UNKNOWN],
67
+ [ARGS_COUNT]: [],
68
+ [ARGUMENTS]: [],
69
+ [ARGS_COUNT]: 0
70
+ }
71
+ }
72
+ ],
73
+ [RETURNS]: [ATOM]
74
+ }
75
+ },
76
+ [toTypeNames(PREDICATE)]: {
77
+ [STATS]: {
78
+ [TYPE_PROP]: [APPLY, PREDICATE],
79
+ [SIGNATURE]: toTypeNames(PREDICATE),
80
+ retried: Infinity,
81
+ [ARGS_COUNT]: 1,
82
+ [ARGUMENTS]: [
83
+ {
84
+ [STATS]: {
85
+ retried: Infinity,
86
+ [SIGNATURE]: PLACEHOLDER,
87
+ [TYPE_PROP]: [UNKNOWN],
88
+ [RETURNS]: [UNKNOWN],
89
+ [ARGS_COUNT]: [],
90
+ [ARGUMENTS]: [],
91
+ [ARGS_COUNT]: 0
92
+ }
93
+ }
94
+ ],
95
+ [RETURNS]: [ATOM, PREDICATE]
96
+ }
97
+ },
98
+ [toTypeNames(COLLECTION)]: {
99
+ [STATS]: {
100
+ [TYPE_PROP]: [APPLY],
101
+ [SIGNATURE]: toTypeNames(COLLECTION),
102
+ retried: Infinity,
103
+ [ARGS_COUNT]: 1,
104
+ [ARGUMENTS]: [
105
+ {
106
+ [STATS]: {
107
+ retried: Infinity,
108
+ [SIGNATURE]: PLACEHOLDER,
109
+ [TYPE_PROP]: [UNKNOWN],
110
+ [RETURNS]: [UNKNOWN],
111
+ [ARGS_COUNT]: [],
112
+ [ARGUMENTS]: [],
113
+ [ARGS_COUNT]: 0
114
+ }
115
+ }
116
+ ],
117
+ [RETURNS]: [COLLECTION]
118
+ }
119
+ },
120
+ [toTypeNames(UNKNOWN)]: {
121
+ [STATS]: {
122
+ [TYPE_PROP]: [APPLY],
123
+ [SIGNATURE]: toTypeNames(UNKNOWN),
124
+ retried: Infinity,
125
+ [ARGS_COUNT]: 1,
126
+ [ARGUMENTS]: [
127
+ {
128
+ [STATS]: {
129
+ retried: Infinity,
130
+ [SIGNATURE]: PLACEHOLDER,
131
+ [TYPE_PROP]: [UNKNOWN],
132
+ [RETURNS]: [UNKNOWN],
133
+ [ARGS_COUNT]: [],
134
+ [ARGUMENTS]: [],
135
+ [ARGS_COUNT]: 0
136
+ }
137
+ }
138
+ ],
139
+ [RETURNS]: [UNKNOWN]
140
+ }
141
+ },
142
+ [DEBUG.LOG]: {
143
+ [STATS]: {
144
+ [TYPE_PROP]: [APPLY],
145
+ [SIGNATURE]: DEBUG.LOG,
146
+ retried: Infinity,
147
+ [ARGUMENTS]: [
148
+ {
149
+ [STATS]: {
150
+ retried: 0,
151
+ [SIGNATURE]: PLACEHOLDER,
152
+ [TYPE_PROP]: [UNKNOWN],
153
+ [RETURNS]: [UNKNOWN],
154
+ [ARGS_COUNT]: [],
155
+ [ARGUMENTS]: [],
156
+ [ARGS_COUNT]: 0
157
+ }
158
+ },
159
+ {
160
+ [STATS]: {
161
+ retried: 0,
162
+ [SIGNATURE]: PLACEHOLDER,
163
+ [TYPE_PROP]: [COLLECTION],
164
+ [RETURNS]: [COLLECTION],
165
+ [ARGS_COUNT]: [],
166
+ [ARGUMENTS]: [],
167
+ [ARGS_COUNT]: 0
168
+ }
169
+ }
170
+ ],
171
+ [ARGS_COUNT]: 2,
172
+ [RETURNS]: [UNKNOWN]
173
+ }
174
+ },
175
+ [DEBUG.STRING]: {
176
+ [STATS]: {
177
+ [TYPE_PROP]: [APPLY],
178
+ [SIGNATURE]: DEBUG.STRING,
179
+ retried: Infinity,
180
+ [ARGS_COUNT]: 1,
181
+ [ARGUMENTS]: [
182
+ {
183
+ [STATS]: {
184
+ retried: 0,
185
+ [SIGNATURE]: PLACEHOLDER,
186
+ [TYPE_PROP]: [COLLECTION],
187
+ [RETURNS]: [COLLECTION],
188
+ [ARGS_COUNT]: [],
189
+ [ARGUMENTS]: [],
190
+ [ARGS_COUNT]: 0
191
+ }
192
+ }
193
+ ],
194
+ [RETURNS]: [COLLECTION]
195
+ }
196
+ },
197
+ [DEBUG.ASSERT]: {
198
+ [STATS]: {
199
+ [TYPE_PROP]: [APPLY],
200
+ [SIGNATURE]: DEBUG.ASSERT,
201
+ retried: Infinity,
202
+ [ARGS_COUNT]: VARIADIC,
203
+ [RETURNS]: [UNKNOWN]
204
+ }
205
+ },
206
+ [DEBUG.SIGNATURE]: {
207
+ [STATS]: {
208
+ [TYPE_PROP]: [APPLY],
209
+ [SIGNATURE]: DEBUG.SIGNATURE,
210
+ retried: Infinity,
211
+ [ARGS_COUNT]: VARIADIC,
212
+ [RETURNS]: [UNKNOWN]
213
+ }
214
+ },
215
+ [DEBUG.TYPE_SIGNATURE]: {
216
+ [STATS]: {
217
+ [TYPE_PROP]: [APPLY],
218
+ [SIGNATURE]: DEBUG.TYPE_SIGNATURE,
219
+ retried: Infinity,
220
+ [ARGS_COUNT]: VARIADIC,
221
+ [RETURNS]: [UNKNOWN]
222
+ }
223
+ },
224
+ [DEBUG.LIST_THEMES]: {
225
+ [STATS]: {
226
+ [TYPE_PROP]: [APPLY],
227
+ [SIGNATURE]: DEBUG.LIST_THEMES,
228
+ retried: Infinity,
229
+ [ARGS_COUNT]: VARIADIC,
230
+ [RETURNS]: [UNKNOWN]
231
+ }
232
+ },
233
+ [DEBUG.SET_THEME]: {
234
+ [STATS]: {
235
+ [TYPE_PROP]: [APPLY],
236
+ [SIGNATURE]: DEBUG.SET_THEME,
237
+ retried: Infinity,
238
+ [ARGS_COUNT]: VARIADIC,
239
+ [RETURNS]: [UNKNOWN]
240
+ }
241
+ },
242
+ [KEYWORDS.BLOCK]: {
243
+ [STATS]: {
244
+ [TYPE_PROP]: [APPLY],
245
+ [SIGNATURE]: KEYWORDS.BLOCK,
246
+ retried: Infinity,
247
+ [ARGS_COUNT]: VARIADIC,
248
+ [RETURNS]: [UNKNOWN]
249
+ }
250
+ },
251
+ [KEYWORDS.ANONYMOUS_FUNCTION]: {
252
+ [STATS]: {
253
+ [TYPE_PROP]: [APPLY],
254
+ [SIGNATURE]: KEYWORDS.ANONYMOUS_FUNCTION,
255
+ retried: Infinity,
256
+ [ARGS_COUNT]: VARIADIC,
257
+ [RETURNS]: [APPLY]
258
+ }
259
+ },
260
+ [KEYWORDS.CALL_FUNCTION]: {
261
+ [STATS]: {
262
+ [TYPE_PROP]: [APPLY],
263
+ [SIGNATURE]: KEYWORDS.CALL_FUNCTION,
264
+ retried: Infinity,
265
+ [ARGS_COUNT]: VARIADIC,
266
+ [RETURNS]: [UNKNOWN]
267
+ }
268
+ },
269
+ [KEYWORDS.CREATE_ARRAY]: {
270
+ [STATS]: {
271
+ [TYPE_PROP]: [APPLY],
272
+ [SIGNATURE]: KEYWORDS.CREATE_ARRAY,
273
+ retried: Infinity,
274
+ [ARGS_COUNT]: VARIADIC,
275
+ [RETURNS]: [COLLECTION]
276
+ }
277
+ },
278
+ [KEYWORDS.LOOP]: {
279
+ [STATS]: {
280
+ [TYPE_PROP]: [APPLY],
281
+ [SIGNATURE]: KEYWORDS.LOOP,
282
+ retried: Infinity,
283
+ [ARGS_COUNT]: 2,
284
+ [ARGUMENTS]: [
285
+ {
286
+ [STATS]: {
287
+ retried: 0,
288
+ [SIGNATURE]: PLACEHOLDER,
289
+ [TYPE_PROP]: [ATOM, PREDICATE],
290
+ [RETURNS]: [ATOM, PREDICATE],
291
+ [ARGS_COUNT]: [],
292
+ [ARGUMENTS]: [],
293
+ [ARGS_COUNT]: 0
294
+ }
295
+ },
296
+ {
297
+ [STATS]: {
298
+ retried: 0,
299
+ [SIGNATURE]: PLACEHOLDER,
300
+ [TYPE_PROP]: [UNKNOWN],
301
+ [RETURNS]: [UNKNOWN],
302
+ [ARGS_COUNT]: [],
303
+ [ARGUMENTS]: [],
304
+ [ARGS_COUNT]: 0
305
+ }
306
+ }
307
+ ],
308
+ [RETURNS]: [ATOM]
309
+ }
310
+ },
311
+ [KEYWORDS.ADDITION]: {
312
+ [STATS]: {
313
+ [TYPE_PROP]: [APPLY],
314
+ [SIGNATURE]: KEYWORDS.ADDITION,
315
+ retried: Infinity,
316
+ [ARGS_COUNT]: 2,
317
+ [ARGUMENTS]: [
318
+ {
319
+ [STATS]: {
320
+ retried: 0,
321
+ [SIGNATURE]: PLACEHOLDER,
322
+ [TYPE_PROP]: [ATOM],
323
+ [RETURNS]: [ATOM],
324
+ [ARGS_COUNT]: [],
325
+ [ARGUMENTS]: [],
326
+ [ARGS_COUNT]: 0
327
+ }
328
+ },
329
+ {
330
+ [STATS]: {
331
+ retried: 0,
332
+ [SIGNATURE]: PLACEHOLDER,
333
+ [TYPE_PROP]: [ATOM],
334
+ [RETURNS]: [ATOM],
335
+ [ARGS_COUNT]: [],
336
+ [ARGUMENTS]: [],
337
+ [ARGS_COUNT]: 0
338
+ }
339
+ }
340
+ ],
341
+ [RETURNS]: [ATOM]
342
+ }
343
+ },
344
+ [KEYWORDS.MULTIPLICATION]: {
345
+ [STATS]: {
346
+ [TYPE_PROP]: [APPLY],
347
+ [SIGNATURE]: KEYWORDS.MULTIPLICATION,
348
+ retried: Infinity,
349
+ [ARGS_COUNT]: 2,
350
+ [ARGUMENTS]: [
351
+ {
352
+ [STATS]: {
353
+ retried: 0,
354
+ [SIGNATURE]: PLACEHOLDER,
355
+ [TYPE_PROP]: [ATOM],
356
+ [RETURNS]: [ATOM],
357
+ [ARGS_COUNT]: [],
358
+ [ARGUMENTS]: [],
359
+ [ARGS_COUNT]: 0
360
+ }
361
+ },
362
+ {
363
+ [STATS]: {
364
+ retried: 0,
365
+ [SIGNATURE]: PLACEHOLDER,
366
+ [TYPE_PROP]: [ATOM],
367
+ [RETURNS]: [ATOM],
368
+ [ARGS_COUNT]: [],
369
+ [ARGUMENTS]: [],
370
+ [ARGS_COUNT]: 0
371
+ }
372
+ }
373
+ ],
374
+ [RETURNS]: [ATOM]
375
+ }
376
+ },
377
+ [KEYWORDS.SUBTRACTION]: {
378
+ [STATS]: {
379
+ [TYPE_PROP]: [APPLY],
380
+ [SIGNATURE]: KEYWORDS.SUBTRACTION,
381
+ retried: Infinity,
382
+ [ARGS_COUNT]: 2,
383
+ [ARGUMENTS]: [
384
+ {
385
+ [STATS]: {
386
+ retried: 0,
387
+ [SIGNATURE]: PLACEHOLDER,
388
+ [TYPE_PROP]: [ATOM],
389
+ [RETURNS]: [ATOM],
390
+ [ARGS_COUNT]: [],
391
+ [ARGUMENTS]: [],
392
+ [ARGS_COUNT]: 0
393
+ }
394
+ },
395
+ {
396
+ [STATS]: {
397
+ retried: 0,
398
+ [SIGNATURE]: PLACEHOLDER,
399
+ [TYPE_PROP]: [ATOM],
400
+ [RETURNS]: [ATOM],
401
+ [ARGS_COUNT]: [],
402
+ [ARGUMENTS]: [],
403
+ [ARGS_COUNT]: 0
404
+ }
405
+ }
406
+ ],
407
+ [RETURNS]: [ATOM]
408
+ }
409
+ },
410
+ [KEYWORDS.DIVISION]: {
411
+ [STATS]: {
412
+ [TYPE_PROP]: [APPLY],
413
+ [SIGNATURE]: KEYWORDS.DIVISION,
414
+ retried: Infinity,
415
+ [ARGS_COUNT]: 2,
416
+ [ARGUMENTS]: [
417
+ {
418
+ [STATS]: {
419
+ retried: 0,
420
+ [SIGNATURE]: PLACEHOLDER,
421
+ [TYPE_PROP]: [ATOM],
422
+ [RETURNS]: [ATOM],
423
+ [ARGS_COUNT]: [],
424
+ [ARGUMENTS]: [],
425
+ [ARGS_COUNT]: 0
426
+ }
427
+ },
428
+ {
429
+ [STATS]: {
430
+ retried: 0,
431
+ [SIGNATURE]: PLACEHOLDER,
432
+ [TYPE_PROP]: [ATOM],
433
+ [RETURNS]: [ATOM],
434
+ [ARGS_COUNT]: [],
435
+ [ARGUMENTS]: [],
436
+ [ARGS_COUNT]: 0
437
+ }
438
+ }
439
+ ],
440
+ [RETURNS]: [ATOM]
441
+ }
442
+ },
443
+ [KEYWORDS.REMAINDER_OF_DIVISION]: {
444
+ [STATS]: {
445
+ [TYPE_PROP]: [APPLY],
446
+ retried: Infinity,
447
+ [ARGS_COUNT]: 2,
448
+ [ARGUMENTS]: [
449
+ {
450
+ [STATS]: {
451
+ retried: 0,
452
+ [SIGNATURE]: PLACEHOLDER,
453
+ [TYPE_PROP]: [ATOM],
454
+ [RETURNS]: [ATOM],
455
+ [ARGS_COUNT]: [],
456
+ [ARGUMENTS]: [],
457
+ [ARGS_COUNT]: 0
458
+ }
459
+ },
460
+ {
461
+ [STATS]: {
462
+ retried: 0,
463
+ [SIGNATURE]: PLACEHOLDER,
464
+ [TYPE_PROP]: [ATOM],
465
+ [RETURNS]: [ATOM],
466
+ [ARGS_COUNT]: [],
467
+ [ARGUMENTS]: [],
468
+ [ARGS_COUNT]: 0
469
+ }
470
+ }
471
+ ],
472
+ [RETURNS]: [ATOM]
473
+ }
474
+ },
475
+ [KEYWORDS.BITWISE_AND]: {
476
+ [STATS]: {
477
+ [TYPE_PROP]: [APPLY],
478
+ [SIGNATURE]: KEYWORDS.BITWISE_AND,
479
+ retried: Infinity,
480
+ [ARGS_COUNT]: 2,
481
+ [ARGUMENTS]: [
482
+ {
483
+ [STATS]: {
484
+ retried: 0,
485
+ [SIGNATURE]: PLACEHOLDER,
486
+ [TYPE_PROP]: [ATOM],
487
+ [RETURNS]: [ATOM],
488
+ [ARGS_COUNT]: [],
489
+ [ARGUMENTS]: [],
490
+ [ARGS_COUNT]: 0
491
+ }
492
+ },
493
+ {
494
+ [STATS]: {
495
+ retried: 0,
496
+ [SIGNATURE]: PLACEHOLDER,
497
+ [TYPE_PROP]: [ATOM],
498
+ [RETURNS]: [ATOM],
499
+ [ARGS_COUNT]: [],
500
+ [ARGUMENTS]: [],
501
+ [ARGS_COUNT]: 0
502
+ }
503
+ }
504
+ ],
505
+ [RETURNS]: [ATOM]
506
+ }
507
+ },
508
+ [KEYWORDS.BITWISE_NOT]: {
509
+ [STATS]: {
510
+ [TYPE_PROP]: [APPLY],
511
+ [SIGNATURE]: KEYWORDS.BITWISE_NOT,
512
+ retried: Infinity,
513
+ [ARGS_COUNT]: 1,
514
+ [ARGUMENTS]: [
515
+ {
516
+ [STATS]: {
517
+ retried: 0,
518
+ [SIGNATURE]: PLACEHOLDER,
519
+ [TYPE_PROP]: [ATOM],
520
+ [RETURNS]: [ATOM],
521
+ [ARGS_COUNT]: [],
522
+ [ARGUMENTS]: [],
523
+ [ARGS_COUNT]: 0
524
+ }
525
+ }
526
+ ],
527
+ [RETURNS]: [ATOM]
528
+ }
529
+ },
530
+ [KEYWORDS.BITWISE_OR]: {
531
+ [STATS]: {
532
+ [TYPE_PROP]: [APPLY],
533
+ [SIGNATURE]: KEYWORDS.BITWISE_OR,
534
+ retried: Infinity,
535
+ [ARGS_COUNT]: 2,
536
+ [ARGUMENTS]: [
537
+ {
538
+ [STATS]: {
539
+ retried: 0,
540
+ [SIGNATURE]: PLACEHOLDER,
541
+ [TYPE_PROP]: [ATOM],
542
+ [RETURNS]: [ATOM],
543
+ [ARGS_COUNT]: [],
544
+ [ARGUMENTS]: [],
545
+ [ARGS_COUNT]: 0
546
+ }
547
+ },
548
+ {
549
+ [STATS]: {
550
+ retried: 0,
551
+ [SIGNATURE]: PLACEHOLDER,
552
+ [TYPE_PROP]: [ATOM],
553
+ [RETURNS]: [ATOM],
554
+ [ARGS_COUNT]: [],
555
+ [ARGUMENTS]: [],
556
+ [ARGS_COUNT]: 0
557
+ }
558
+ }
559
+ ],
560
+ [RETURNS]: [ATOM]
561
+ }
562
+ },
563
+ [KEYWORDS.BITWISE_XOR]: {
564
+ [STATS]: {
565
+ [TYPE_PROP]: [APPLY],
566
+ [SIGNATURE]: KEYWORDS.BITWISE_XOR,
567
+ retried: Infinity,
568
+ [ARGS_COUNT]: 2,
569
+ [ARGUMENTS]: [
570
+ {
571
+ [STATS]: {
572
+ retried: 0,
573
+ [SIGNATURE]: PLACEHOLDER,
574
+ [TYPE_PROP]: [ATOM],
575
+ [RETURNS]: [ATOM],
576
+ [ARGS_COUNT]: [],
577
+ [ARGUMENTS]: [],
578
+ [ARGS_COUNT]: 0
579
+ }
580
+ },
581
+ {
582
+ [STATS]: {
583
+ retried: 0,
584
+ [SIGNATURE]: PLACEHOLDER,
585
+ [TYPE_PROP]: [ATOM],
586
+ [RETURNS]: [ATOM],
587
+ [ARGS_COUNT]: [],
588
+ [ARGUMENTS]: [],
589
+ [ARGS_COUNT]: 0
590
+ }
591
+ }
592
+ ],
593
+ [RETURNS]: [ATOM]
594
+ }
595
+ },
596
+ [KEYWORDS.BITWISE_LEFT_SHIFT]: {
597
+ [STATS]: {
598
+ [TYPE_PROP]: [APPLY],
599
+ [SIGNATURE]: KEYWORDS.BITWISE_LEFT_SHIFT,
600
+ retried: Infinity,
601
+ [ARGS_COUNT]: 2,
602
+ [ARGUMENTS]: [
603
+ {
604
+ [STATS]: {
605
+ retried: 0,
606
+ [SIGNATURE]: PLACEHOLDER,
607
+ [TYPE_PROP]: [ATOM],
608
+ [RETURNS]: [ATOM],
609
+ [ARGS_COUNT]: [],
610
+ [ARGUMENTS]: [],
611
+ [ARGS_COUNT]: 0
612
+ }
613
+ },
614
+ {
615
+ [STATS]: {
616
+ retried: 0,
617
+ [SIGNATURE]: PLACEHOLDER,
618
+ [TYPE_PROP]: [ATOM],
619
+ [RETURNS]: [ATOM],
620
+ [ARGS_COUNT]: [],
621
+ [ARGUMENTS]: [],
622
+ [ARGS_COUNT]: 0
623
+ }
624
+ }
625
+ ],
626
+ [RETURNS]: [ATOM]
627
+ }
628
+ },
629
+ [KEYWORDS.BITWISE_RIGHT_SHIFT]: {
630
+ [STATS]: {
631
+ [TYPE_PROP]: [APPLY],
632
+ [SIGNATURE]: KEYWORDS.BITWISE_RIGHT_SHIFT,
633
+ retried: Infinity,
634
+ [ARGS_COUNT]: 2,
635
+ [ARGUMENTS]: [
636
+ {
637
+ [STATS]: {
638
+ retried: 0,
639
+ [SIGNATURE]: PLACEHOLDER,
640
+ [TYPE_PROP]: [ATOM],
641
+ [RETURNS]: [ATOM],
642
+ [ARGS_COUNT]: [],
643
+ [ARGUMENTS]: [],
644
+ [ARGS_COUNT]: 0
645
+ }
646
+ },
647
+ {
648
+ [STATS]: {
649
+ retried: 0,
650
+ [SIGNATURE]: PLACEHOLDER,
651
+ [TYPE_PROP]: [ATOM],
652
+ [RETURNS]: [ATOM],
653
+ [ARGS_COUNT]: [],
654
+ [ARGUMENTS]: [],
655
+ [ARGS_COUNT]: 0
656
+ }
657
+ }
658
+ ],
659
+ [RETURNS]: [ATOM]
660
+ }
661
+ },
662
+ [KEYWORDS.GET_ARRAY]: {
663
+ [STATS]: {
664
+ [TYPE_PROP]: [APPLY],
665
+ [SIGNATURE]: KEYWORDS.GET_ARRAY,
666
+ retried: Infinity,
667
+ [ARGS_COUNT]: 2,
668
+ [ARGUMENTS]: [
669
+ {
670
+ [STATS]: {
671
+ retried: 0,
672
+ [SIGNATURE]: PLACEHOLDER,
673
+ [TYPE_PROP]: [COLLECTION],
674
+ [RETURNS]: [COLLECTION],
675
+ [ARGS_COUNT]: [],
676
+ [ARGUMENTS]: [],
677
+ [ARGS_COUNT]: 0
678
+ }
679
+ },
680
+ {
681
+ [STATS]: {
682
+ retried: 0,
683
+ [SIGNATURE]: PLACEHOLDER,
684
+ [TYPE_PROP]: [ATOM],
685
+ [RETURNS]: [ATOM],
686
+ [ARGS_COUNT]: [],
687
+ [ARGUMENTS]: [],
688
+ [ARGS_COUNT]: 0
689
+ }
690
+ }
691
+ ],
692
+ [RETURNS]: [UNKNOWN]
693
+ }
694
+ },
695
+ [KEYWORDS.SET_ARRAY]: {
696
+ [STATS]: {
697
+ [TYPE_PROP]: [APPLY],
698
+ retried: Infinity,
699
+ [ARGS_COUNT]: 3,
700
+ [ARGUMENTS]: [
701
+ {
702
+ [STATS]: {
703
+ retried: 0,
704
+ [SIGNATURE]: PLACEHOLDER,
705
+ [TYPE_PROP]: [COLLECTION],
706
+ [RETURNS]: [COLLECTION],
707
+ [ARGS_COUNT]: [],
708
+ [ARGUMENTS]: [],
709
+ [ARGS_COUNT]: 0
710
+ }
711
+ },
712
+ {
713
+ [STATS]: {
714
+ retried: 0,
715
+ [SIGNATURE]: PLACEHOLDER,
716
+ [TYPE_PROP]: [ATOM],
717
+ [RETURNS]: [ATOM],
718
+ [ARGS_COUNT]: [],
719
+ [ARGUMENTS]: [],
720
+ [ARGS_COUNT]: 0
721
+ }
722
+ },
723
+ {
724
+ [STATS]: {
725
+ retried: 0,
726
+ [SIGNATURE]: PLACEHOLDER,
727
+ [TYPE_PROP]: [UNKNOWN],
728
+ [RETURNS]: [UNKNOWN],
729
+ [ARGS_COUNT]: [],
730
+ [ARGUMENTS]: [],
731
+ [ARGS_COUNT]: 0
732
+ }
733
+ }
734
+ ],
735
+ [RETURNS]: [COLLECTION]
736
+ }
737
+ },
738
+ [KEYWORDS.POP_ARRAY]: {
739
+ [STATS]: {
740
+ [TYPE_PROP]: [APPLY],
741
+ [SIGNATURE]: KEYWORDS.POP_ARRAY,
742
+ retried: Infinity,
743
+ [ARGS_COUNT]: 1,
744
+ [ARGUMENTS]: [
745
+ {
746
+ [STATS]: {
747
+ retried: 0,
748
+ [SIGNATURE]: PLACEHOLDER,
749
+ [TYPE_PROP]: [COLLECTION],
750
+ [RETURNS]: [COLLECTION],
751
+ [ARGS_COUNT]: [],
752
+ [ARGUMENTS]: [],
753
+ [ARGS_COUNT]: 0
754
+ }
755
+ }
756
+ ],
757
+ [RETURNS]: [COLLECTION]
758
+ }
759
+ },
760
+ [KEYWORDS.ARRAY_LENGTH]: {
761
+ [STATS]: {
762
+ [TYPE_PROP]: [APPLY],
763
+ [SIGNATURE]: KEYWORDS.ARRAY_LENGTH,
764
+ retried: Infinity,
765
+ [ARGS_COUNT]: 1,
766
+ [ARGUMENTS]: [
767
+ {
768
+ [STATS]: {
769
+ retried: 0,
770
+ [SIGNATURE]: PLACEHOLDER,
771
+ [TYPE_PROP]: [COLLECTION],
772
+ [RETURNS]: [COLLECTION],
773
+ [ARGS_COUNT]: [],
774
+ [ARGUMENTS]: [],
775
+ [ARGS_COUNT]: 0
776
+ }
777
+ }
778
+ ],
779
+ [RETURNS]: [ATOM]
780
+ }
781
+ },
782
+ [KEYWORDS.IF]: {
783
+ [STATS]: {
784
+ [TYPE_PROP]: [APPLY],
785
+ [SIGNATURE]: KEYWORDS.IF,
786
+ retried: Infinity,
787
+ [ARGS_COUNT]: 3,
788
+ [ARGUMENTS]: [
789
+ {
790
+ [STATS]: {
791
+ retried: 0,
792
+ [SIGNATURE]: PLACEHOLDER,
793
+ [TYPE_PROP]: [ATOM, PREDICATE],
794
+ [RETURNS]: [ATOM, PREDICATE],
795
+ [ARGS_COUNT]: [],
796
+ [ARGUMENTS]: [],
797
+ [ARGS_COUNT]: 0
798
+ }
799
+ },
800
+ {
801
+ [STATS]: {
802
+ retried: 0,
803
+ [SIGNATURE]: PLACEHOLDER,
804
+ [TYPE_PROP]: [UNKNOWN],
805
+ [RETURNS]: [UNKNOWN],
806
+ [ARGS_COUNT]: [],
807
+ [ARGUMENTS]: [],
808
+ [ARGS_COUNT]: 0
809
+ }
810
+ },
811
+ {
812
+ [STATS]: {
813
+ retried: 0,
814
+ [SIGNATURE]: PLACEHOLDER,
815
+ [TYPE_PROP]: [UNKNOWN],
816
+ [RETURNS]: [UNKNOWN],
817
+ [ARGS_COUNT]: [],
818
+ [ARGUMENTS]: [],
819
+ [ARGS_COUNT]: 0
820
+ }
821
+ }
822
+ ],
823
+ [RETURNS]: [UNKNOWN]
824
+ }
825
+ },
826
+ [KEYWORDS.NOT]: {
827
+ [STATS]: {
828
+ [TYPE_PROP]: [APPLY, PREDICATE],
829
+ [SIGNATURE]: KEYWORDS.NOT,
830
+ retried: Infinity,
831
+ [ARGS_COUNT]: 1,
832
+ [ARGUMENTS]: [
833
+ {
834
+ [STATS]: {
835
+ retried: Infinity,
836
+ [SIGNATURE]: PLACEHOLDER,
837
+ [TYPE_PROP]: [ATOM, PREDICATE],
838
+ [RETURNS]: [ATOM, PREDICATE],
839
+ [ARGS_COUNT]: [],
840
+ [ARGUMENTS]: [],
841
+ [ARGS_COUNT]: 0
842
+ }
843
+ }
844
+ ],
845
+ [RETURNS]: [ATOM, PREDICATE]
846
+ }
847
+ },
848
+ [KEYWORDS.EQUAL]: {
849
+ [STATS]: {
850
+ [TYPE_PROP]: [APPLY, PREDICATE],
851
+ [SIGNATURE]: KEYWORDS.EQUAL,
852
+ retried: Infinity,
853
+ [ARGS_COUNT]: 2,
854
+ [ARGUMENTS]: [
855
+ {
856
+ [STATS]: {
857
+ retried: Infinity,
858
+ [SIGNATURE]: PLACEHOLDER,
859
+ [TYPE_PROP]: [ATOM],
860
+ [RETURNS]: [ATOM],
861
+ [ARGS_COUNT]: [],
862
+ [ARGUMENTS]: [],
863
+ [ARGS_COUNT]: 0
864
+ }
865
+ },
866
+ {
867
+ [STATS]: {
868
+ retried: Infinity,
869
+ [SIGNATURE]: PLACEHOLDER,
870
+ [TYPE_PROP]: [ATOM],
871
+ [RETURNS]: [ATOM],
872
+ [ARGS_COUNT]: [],
873
+ [ARGUMENTS]: [],
874
+ [ARGS_COUNT]: 0
875
+ }
876
+ }
877
+ ],
878
+ [RETURNS]: [ATOM, PREDICATE]
879
+ }
880
+ },
881
+ [KEYWORDS.LESS_THAN]: {
882
+ [STATS]: {
883
+ [TYPE_PROP]: [APPLY, PREDICATE],
884
+ retried: Infinity,
885
+ [SIGNATURE]: KEYWORDS.LESS_THAN,
886
+ [ARGS_COUNT]: 2,
887
+ [ARGUMENTS]: [
888
+ {
889
+ [STATS]: {
890
+ retried: Infinity,
891
+ [SIGNATURE]: PLACEHOLDER,
892
+ [TYPE_PROP]: [ATOM],
893
+ [RETURNS]: [ATOM],
894
+ [ARGS_COUNT]: [],
895
+ [ARGUMENTS]: [],
896
+ [ARGS_COUNT]: 0
897
+ }
898
+ },
899
+ {
900
+ [STATS]: {
901
+ retried: Infinity,
902
+ [SIGNATURE]: PLACEHOLDER,
903
+ [TYPE_PROP]: [ATOM],
904
+ [RETURNS]: [ATOM],
905
+ [ARGS_COUNT]: [],
906
+ [ARGUMENTS]: [],
907
+ [ARGS_COUNT]: 0
908
+ }
909
+ }
910
+ ],
911
+ [RETURNS]: [ATOM, PREDICATE]
912
+ }
913
+ },
914
+ [KEYWORDS.GREATHER_THAN]: {
915
+ [STATS]: {
916
+ [TYPE_PROP]: [APPLY, PREDICATE],
917
+ [SIGNATURE]: KEYWORDS.GREATHER_THAN,
918
+ retried: Infinity,
919
+ [ARGS_COUNT]: 2,
920
+ [ARGUMENTS]: [
921
+ {
922
+ [STATS]: {
923
+ retried: Infinity,
924
+ [SIGNATURE]: PLACEHOLDER,
925
+ [TYPE_PROP]: [ATOM],
926
+ [RETURNS]: [ATOM],
927
+ [ARGS_COUNT]: [],
928
+ [ARGUMENTS]: [],
929
+ [ARGS_COUNT]: 0
930
+ }
931
+ },
932
+ {
933
+ [STATS]: {
934
+ retried: Infinity,
935
+ [SIGNATURE]: PLACEHOLDER,
936
+ [TYPE_PROP]: [ATOM],
937
+ [RETURNS]: [ATOM],
938
+ [ARGS_COUNT]: [],
939
+ [ARGUMENTS]: [],
940
+ [ARGS_COUNT]: 0
941
+ }
942
+ }
943
+ ],
944
+ [RETURNS]: [ATOM, PREDICATE]
945
+ }
946
+ },
947
+ [KEYWORDS.GREATHER_THAN_OR_EQUAL]: {
948
+ [STATS]: {
949
+ [TYPE_PROP]: [APPLY, PREDICATE],
950
+ [SIGNATURE]: KEYWORDS.GREATHER_THAN_OR_EQUAL,
951
+ retried: Infinity,
952
+ [ARGS_COUNT]: 2,
953
+ [ARGUMENTS]: [
954
+ {
955
+ [STATS]: {
956
+ retried: Infinity,
957
+ [SIGNATURE]: PLACEHOLDER,
958
+ [TYPE_PROP]: [ATOM],
959
+ [RETURNS]: [ATOM],
960
+ [ARGS_COUNT]: [],
961
+ [ARGUMENTS]: [],
962
+ [ARGS_COUNT]: 0
963
+ }
964
+ },
965
+ {
966
+ [STATS]: {
967
+ retried: Infinity,
968
+ [SIGNATURE]: PLACEHOLDER,
969
+ [TYPE_PROP]: [ATOM],
970
+ [RETURNS]: [ATOM],
971
+ [ARGS_COUNT]: [],
972
+ [ARGUMENTS]: [],
973
+ [ARGS_COUNT]: 0
974
+ }
975
+ }
976
+ ],
977
+ [RETURNS]: [ATOM, PREDICATE]
978
+ }
979
+ },
980
+ [KEYWORDS.LESS_THAN_OR_EQUAL]: {
981
+ [STATS]: {
982
+ [TYPE_PROP]: [APPLY, PREDICATE],
983
+ [SIGNATURE]: KEYWORDS.LESS_THAN_OR_EQUAL,
984
+ retried: Infinity,
985
+ [ARGS_COUNT]: 2,
986
+ [ARGUMENTS]: [
987
+ {
988
+ [STATS]: {
989
+ retried: Infinity,
990
+ [SIGNATURE]: PLACEHOLDER,
991
+ [TYPE_PROP]: [ATOM],
992
+ [RETURNS]: [ATOM],
993
+ [ARGS_COUNT]: [],
994
+ [ARGUMENTS]: [],
995
+ [ARGS_COUNT]: 0
996
+ }
997
+ },
998
+ {
999
+ [STATS]: {
1000
+ retried: Infinity,
1001
+ [SIGNATURE]: PLACEHOLDER,
1002
+ [TYPE_PROP]: [ATOM],
1003
+ [RETURNS]: [ATOM],
1004
+ [ARGS_COUNT]: [],
1005
+ [ARGUMENTS]: [],
1006
+ [ARGS_COUNT]: 0
1007
+ }
1008
+ }
1009
+ ],
1010
+ [RETURNS]: [ATOM, PREDICATE]
1011
+ }
1012
+ },
1013
+ [KEYWORDS.AND]: {
1014
+ [STATS]: {
1015
+ [TYPE_PROP]: [APPLY, PREDICATE],
1016
+ [SIGNATURE]: KEYWORDS.AND,
1017
+ retried: Infinity,
1018
+ [ARGS_COUNT]: 2,
1019
+ [ARGUMENTS]: [
1020
+ {
1021
+ [STATS]: {
1022
+ retried: Infinity,
1023
+ [SIGNATURE]: PLACEHOLDER,
1024
+ [TYPE_PROP]: [ATOM, PREDICATE],
1025
+ [RETURNS]: [ATOM, PREDICATE],
1026
+ [ARGS_COUNT]: [],
1027
+ [ARGUMENTS]: [],
1028
+ [ARGS_COUNT]: 0
1029
+ }
1030
+ },
1031
+ {
1032
+ [STATS]: {
1033
+ retried: Infinity,
1034
+ [SIGNATURE]: PLACEHOLDER,
1035
+ [TYPE_PROP]: [ATOM, PREDICATE],
1036
+ [RETURNS]: [ATOM, PREDICATE],
1037
+ [ARGS_COUNT]: [],
1038
+ [ARGUMENTS]: [],
1039
+ [ARGS_COUNT]: 0
1040
+ }
1041
+ }
1042
+ ],
1043
+ [RETURNS]: [ATOM, PREDICATE]
1044
+ }
1045
+ },
1046
+ [KEYWORDS.OR]: {
1047
+ [STATS]: {
1048
+ [TYPE_PROP]: [APPLY, PREDICATE],
1049
+ [SIGNATURE]: KEYWORDS.OR,
1050
+ retried: Infinity,
1051
+ [ARGS_COUNT]: 2,
1052
+ [ARGUMENTS]: [
1053
+ {
1054
+ [STATS]: {
1055
+ retried: Infinity,
1056
+ [SIGNATURE]: PLACEHOLDER,
1057
+ [TYPE_PROP]: [ATOM, PREDICATE],
1058
+ [RETURNS]: [ATOM, PREDICATE],
1059
+ [ARGS_COUNT]: [],
1060
+ [ARGUMENTS]: [],
1061
+ [ARGS_COUNT]: 0
1062
+ }
1063
+ },
1064
+ {
1065
+ [STATS]: {
1066
+ retried: Infinity,
1067
+ [SIGNATURE]: PLACEHOLDER,
1068
+ [TYPE_PROP]: [ATOM, PREDICATE],
1069
+ [RETURNS]: [ATOM, PREDICATE],
1070
+ [ARGS_COUNT]: [],
1071
+ [ARGUMENTS]: [],
1072
+ [ARGS_COUNT]: 0
1073
+ }
1074
+ }
1075
+ ],
1076
+ [RETURNS]: [ATOM, PREDICATE]
1077
+ }
1078
+ },
1079
+ [KEYWORDS.IS_ATOM]: {
1080
+ [STATS]: {
1081
+ [TYPE_PROP]: [APPLY, PREDICATE],
1082
+ [SIGNATURE]: KEYWORDS.IS_ATOM,
1083
+ retried: Infinity,
1084
+ [ARGS_COUNT]: 1,
1085
+ [ARGUMENTS]: [
1086
+ {
1087
+ [STATS]: {
1088
+ retried: Infinity,
1089
+ [SIGNATURE]: PLACEHOLDER,
1090
+ [TYPE_PROP]: [UNKNOWN],
1091
+ [RETURNS]: [UNKNOWN],
1092
+ [ARGS_COUNT]: [],
1093
+ [ARGUMENTS]: [],
1094
+ [ARGS_COUNT]: 0
1095
+ }
1096
+ }
1097
+ ],
1098
+ [RETURNS]: [ATOM, PREDICATE]
1099
+ }
1100
+ },
1101
+ [KEYWORDS.IS_LAMBDA]: {
1102
+ [STATS]: {
1103
+ [TYPE_PROP]: [APPLY, PREDICATE],
1104
+ [SIGNATURE]: KEYWORDS.IS_LAMBDA,
1105
+ retried: Infinity,
1106
+ [ARGS_COUNT]: 1,
1107
+ [ARGUMENTS]: [
1108
+ {
1109
+ [STATS]: {
1110
+ retried: Infinity,
1111
+ [SIGNATURE]: PLACEHOLDER,
1112
+ [TYPE_PROP]: [UNKNOWN],
1113
+ [RETURNS]: [UNKNOWN],
1114
+ [ARGS_COUNT]: [],
1115
+ [ARGUMENTS]: [],
1116
+ [ARGS_COUNT]: 0
1117
+ }
1118
+ }
1119
+ ],
1120
+ [RETURNS]: [ATOM, PREDICATE]
1121
+ }
1122
+ },
1123
+ [KEYWORDS.ERROR]: {
1124
+ [STATS]: {
1125
+ [TYPE_PROP]: [APPLY],
1126
+ [SIGNATURE]: KEYWORDS.ERROR,
1127
+ retried: Infinity,
1128
+ [ARGS_COUNT]: 1,
1129
+ [ARGUMENTS]: [
1130
+ {
1131
+ [STATS]: {
1132
+ retried: Infinity,
1133
+ [SIGNATURE]: PLACEHOLDER,
1134
+ [TYPE_PROP]: [COLLECTION],
1135
+ [RETURNS]: [COLLECTION],
1136
+ [ARGS_COUNT]: [],
1137
+ [ARGUMENTS]: [],
1138
+ [ARGS_COUNT]: 0
1139
+ }
1140
+ }
1141
+ ],
1142
+ [RETURNS]: [UNKNOWN]
1143
+ }
1144
+ }
1145
+ }