fez-lisp 1.5.65 → 1.5.66
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.
- package/lib/baked/std.js +1 -1
- package/package.json +1 -1
- package/src/check.js +78 -78
package/package.json
CHANGED
package/src/check.js
CHANGED
@@ -34,8 +34,7 @@ const TYPE_PROP = 'type'
|
|
34
34
|
const SIGNATURE = 'name'
|
35
35
|
const PREDICATE = 3
|
36
36
|
const COLLECTION = 4
|
37
|
-
const
|
38
|
-
const DEFINITON_RETRY_COUNT = 1
|
37
|
+
const MAX_RETRY_DEFINITION = 1
|
39
38
|
const toTypeNames = (type) => {
|
40
39
|
switch (type) {
|
41
40
|
case APPLY:
|
@@ -125,12 +124,12 @@ export const typeCheck = (ast) => {
|
|
125
124
|
[STATS]: {
|
126
125
|
[TYPE_PROP]: [APPLY],
|
127
126
|
[SIGNATURE]: toTypeNames(APPLY),
|
128
|
-
retried:
|
127
|
+
retried: Infinity,
|
129
128
|
[ARGS_COUNT]: 1,
|
130
129
|
[ARGUMENTS]: [
|
131
130
|
{
|
132
131
|
[STATS]: {
|
133
|
-
retried:
|
132
|
+
retried: Infinity,
|
134
133
|
[SIGNATURE]: PLACEHOLDER,
|
135
134
|
[TYPE_PROP]: [UNKNOWN],
|
136
135
|
[RETURNS]: [UNKNOWN],
|
@@ -147,12 +146,12 @@ export const typeCheck = (ast) => {
|
|
147
146
|
[STATS]: {
|
148
147
|
[TYPE_PROP]: [APPLY],
|
149
148
|
[SIGNATURE]: toTypeNames(ATOM),
|
150
|
-
retried:
|
149
|
+
retried: Infinity,
|
151
150
|
[ARGS_COUNT]: 1,
|
152
151
|
[ARGUMENTS]: [
|
153
152
|
{
|
154
153
|
[STATS]: {
|
155
|
-
retried:
|
154
|
+
retried: Infinity,
|
156
155
|
[SIGNATURE]: PLACEHOLDER,
|
157
156
|
[TYPE_PROP]: [UNKNOWN],
|
158
157
|
[RETURNS]: [UNKNOWN],
|
@@ -169,12 +168,12 @@ export const typeCheck = (ast) => {
|
|
169
168
|
[STATS]: {
|
170
169
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
171
170
|
[SIGNATURE]: toTypeNames(PREDICATE),
|
172
|
-
retried:
|
171
|
+
retried: Infinity,
|
173
172
|
[ARGS_COUNT]: 1,
|
174
173
|
[ARGUMENTS]: [
|
175
174
|
{
|
176
175
|
[STATS]: {
|
177
|
-
retried:
|
176
|
+
retried: Infinity,
|
178
177
|
[SIGNATURE]: PLACEHOLDER,
|
179
178
|
[TYPE_PROP]: [UNKNOWN],
|
180
179
|
[RETURNS]: [UNKNOWN],
|
@@ -191,12 +190,12 @@ export const typeCheck = (ast) => {
|
|
191
190
|
[STATS]: {
|
192
191
|
[TYPE_PROP]: [APPLY],
|
193
192
|
[SIGNATURE]: toTypeNames(COLLECTION),
|
194
|
-
retried:
|
193
|
+
retried: Infinity,
|
195
194
|
[ARGS_COUNT]: 1,
|
196
195
|
[ARGUMENTS]: [
|
197
196
|
{
|
198
197
|
[STATS]: {
|
199
|
-
retried:
|
198
|
+
retried: Infinity,
|
200
199
|
[SIGNATURE]: PLACEHOLDER,
|
201
200
|
[TYPE_PROP]: [UNKNOWN],
|
202
201
|
[RETURNS]: [UNKNOWN],
|
@@ -213,12 +212,12 @@ export const typeCheck = (ast) => {
|
|
213
212
|
[STATS]: {
|
214
213
|
[TYPE_PROP]: [APPLY],
|
215
214
|
[SIGNATURE]: toTypeNames(UNKNOWN),
|
216
|
-
retried:
|
215
|
+
retried: Infinity,
|
217
216
|
[ARGS_COUNT]: 1,
|
218
217
|
[ARGUMENTS]: [
|
219
218
|
{
|
220
219
|
[STATS]: {
|
221
|
-
retried:
|
220
|
+
retried: Infinity,
|
222
221
|
[SIGNATURE]: PLACEHOLDER,
|
223
222
|
[TYPE_PROP]: [UNKNOWN],
|
224
223
|
[RETURNS]: [UNKNOWN],
|
@@ -235,7 +234,7 @@ export const typeCheck = (ast) => {
|
|
235
234
|
[STATS]: {
|
236
235
|
[TYPE_PROP]: [APPLY],
|
237
236
|
[SIGNATURE]: DEBUG.LOG,
|
238
|
-
retried:
|
237
|
+
retried: Infinity,
|
239
238
|
[ARGUMENTS]: [
|
240
239
|
{
|
241
240
|
[STATS]: {
|
@@ -268,7 +267,7 @@ export const typeCheck = (ast) => {
|
|
268
267
|
[STATS]: {
|
269
268
|
[TYPE_PROP]: [APPLY],
|
270
269
|
[SIGNATURE]: DEBUG.STRING,
|
271
|
-
retried:
|
270
|
+
retried: Infinity,
|
272
271
|
[ARGS_COUNT]: 1,
|
273
272
|
[ARGUMENTS]: [
|
274
273
|
{
|
@@ -290,7 +289,7 @@ export const typeCheck = (ast) => {
|
|
290
289
|
[STATS]: {
|
291
290
|
[TYPE_PROP]: [APPLY],
|
292
291
|
[SIGNATURE]: DEBUG.ASSERT,
|
293
|
-
retried:
|
292
|
+
retried: Infinity,
|
294
293
|
[ARGS_COUNT]: VARIADIC,
|
295
294
|
[RETURNS]: [UNKNOWN]
|
296
295
|
}
|
@@ -299,7 +298,7 @@ export const typeCheck = (ast) => {
|
|
299
298
|
[STATS]: {
|
300
299
|
[TYPE_PROP]: [APPLY],
|
301
300
|
[SIGNATURE]: DEBUG.SIGNATURE,
|
302
|
-
retried:
|
301
|
+
retried: Infinity,
|
303
302
|
[ARGS_COUNT]: VARIADIC,
|
304
303
|
[RETURNS]: [UNKNOWN]
|
305
304
|
}
|
@@ -308,7 +307,7 @@ export const typeCheck = (ast) => {
|
|
308
307
|
[STATS]: {
|
309
308
|
[TYPE_PROP]: [APPLY],
|
310
309
|
[SIGNATURE]: DEBUG.TYPE_SIGNATURE,
|
311
|
-
retried:
|
310
|
+
retried: Infinity,
|
312
311
|
[ARGS_COUNT]: VARIADIC,
|
313
312
|
[RETURNS]: [UNKNOWN]
|
314
313
|
}
|
@@ -317,7 +316,7 @@ export const typeCheck = (ast) => {
|
|
317
316
|
[STATS]: {
|
318
317
|
[TYPE_PROP]: [APPLY],
|
319
318
|
[SIGNATURE]: DEBUG.LIST_THEMES,
|
320
|
-
retried:
|
319
|
+
retried: Infinity,
|
321
320
|
[ARGS_COUNT]: VARIADIC,
|
322
321
|
[RETURNS]: [UNKNOWN]
|
323
322
|
}
|
@@ -326,7 +325,7 @@ export const typeCheck = (ast) => {
|
|
326
325
|
[STATS]: {
|
327
326
|
[TYPE_PROP]: [APPLY],
|
328
327
|
[SIGNATURE]: DEBUG.SET_THEME,
|
329
|
-
retried:
|
328
|
+
retried: Infinity,
|
330
329
|
[ARGS_COUNT]: VARIADIC,
|
331
330
|
[RETURNS]: [UNKNOWN]
|
332
331
|
}
|
@@ -335,7 +334,7 @@ export const typeCheck = (ast) => {
|
|
335
334
|
[STATS]: {
|
336
335
|
[TYPE_PROP]: [APPLY],
|
337
336
|
[SIGNATURE]: KEYWORDS.BLOCK,
|
338
|
-
retried:
|
337
|
+
retried: Infinity,
|
339
338
|
[ARGS_COUNT]: VARIADIC,
|
340
339
|
[RETURNS]: [UNKNOWN]
|
341
340
|
}
|
@@ -344,7 +343,7 @@ export const typeCheck = (ast) => {
|
|
344
343
|
[STATS]: {
|
345
344
|
[TYPE_PROP]: [APPLY],
|
346
345
|
[SIGNATURE]: KEYWORDS.ANONYMOUS_FUNCTION,
|
347
|
-
retried:
|
346
|
+
retried: Infinity,
|
348
347
|
[ARGS_COUNT]: VARIADIC,
|
349
348
|
[RETURNS]: [APPLY]
|
350
349
|
}
|
@@ -353,7 +352,7 @@ export const typeCheck = (ast) => {
|
|
353
352
|
[STATS]: {
|
354
353
|
[TYPE_PROP]: [APPLY],
|
355
354
|
[SIGNATURE]: KEYWORDS.CALL_FUNCTION,
|
356
|
-
retried:
|
355
|
+
retried: Infinity,
|
357
356
|
[ARGS_COUNT]: VARIADIC,
|
358
357
|
[RETURNS]: [UNKNOWN]
|
359
358
|
}
|
@@ -362,7 +361,7 @@ export const typeCheck = (ast) => {
|
|
362
361
|
[STATS]: {
|
363
362
|
[TYPE_PROP]: [APPLY],
|
364
363
|
[SIGNATURE]: KEYWORDS.CREATE_ARRAY,
|
365
|
-
retried:
|
364
|
+
retried: Infinity,
|
366
365
|
[ARGS_COUNT]: VARIADIC,
|
367
366
|
[RETURNS]: [COLLECTION]
|
368
367
|
}
|
@@ -371,7 +370,7 @@ export const typeCheck = (ast) => {
|
|
371
370
|
[STATS]: {
|
372
371
|
[TYPE_PROP]: [APPLY],
|
373
372
|
[SIGNATURE]: KEYWORDS.LOOP,
|
374
|
-
retried:
|
373
|
+
retried: Infinity,
|
375
374
|
[ARGS_COUNT]: 2,
|
376
375
|
[ARGUMENTS]: [
|
377
376
|
{
|
@@ -404,7 +403,7 @@ export const typeCheck = (ast) => {
|
|
404
403
|
[STATS]: {
|
405
404
|
[TYPE_PROP]: [APPLY],
|
406
405
|
[SIGNATURE]: KEYWORDS.ADDITION,
|
407
|
-
retried:
|
406
|
+
retried: Infinity,
|
408
407
|
[ARGS_COUNT]: 2,
|
409
408
|
[ARGUMENTS]: [
|
410
409
|
{
|
@@ -437,7 +436,7 @@ export const typeCheck = (ast) => {
|
|
437
436
|
[STATS]: {
|
438
437
|
[TYPE_PROP]: [APPLY],
|
439
438
|
[SIGNATURE]: KEYWORDS.MULTIPLICATION,
|
440
|
-
retried:
|
439
|
+
retried: Infinity,
|
441
440
|
[ARGS_COUNT]: 2,
|
442
441
|
[ARGUMENTS]: [
|
443
442
|
{
|
@@ -470,7 +469,7 @@ export const typeCheck = (ast) => {
|
|
470
469
|
[STATS]: {
|
471
470
|
[TYPE_PROP]: [APPLY],
|
472
471
|
[SIGNATURE]: KEYWORDS.SUBTRACTION,
|
473
|
-
retried:
|
472
|
+
retried: Infinity,
|
474
473
|
[ARGS_COUNT]: 2,
|
475
474
|
[ARGUMENTS]: [
|
476
475
|
{
|
@@ -503,7 +502,7 @@ export const typeCheck = (ast) => {
|
|
503
502
|
[STATS]: {
|
504
503
|
[TYPE_PROP]: [APPLY],
|
505
504
|
[SIGNATURE]: KEYWORDS.DIVISION,
|
506
|
-
retried:
|
505
|
+
retried: Infinity,
|
507
506
|
[ARGS_COUNT]: 2,
|
508
507
|
[ARGUMENTS]: [
|
509
508
|
{
|
@@ -535,7 +534,7 @@ export const typeCheck = (ast) => {
|
|
535
534
|
[KEYWORDS.REMAINDER_OF_DIVISION]: {
|
536
535
|
[STATS]: {
|
537
536
|
[TYPE_PROP]: [APPLY],
|
538
|
-
retried:
|
537
|
+
retried: Infinity,
|
539
538
|
[ARGS_COUNT]: 2,
|
540
539
|
[ARGUMENTS]: [
|
541
540
|
{
|
@@ -568,7 +567,7 @@ export const typeCheck = (ast) => {
|
|
568
567
|
[STATS]: {
|
569
568
|
[TYPE_PROP]: [APPLY],
|
570
569
|
[SIGNATURE]: KEYWORDS.BITWISE_AND,
|
571
|
-
retried:
|
570
|
+
retried: Infinity,
|
572
571
|
[ARGS_COUNT]: 2,
|
573
572
|
[ARGUMENTS]: [
|
574
573
|
{
|
@@ -601,7 +600,7 @@ export const typeCheck = (ast) => {
|
|
601
600
|
[STATS]: {
|
602
601
|
[TYPE_PROP]: [APPLY],
|
603
602
|
[SIGNATURE]: KEYWORDS.BITWISE_NOT,
|
604
|
-
retried:
|
603
|
+
retried: Infinity,
|
605
604
|
[ARGS_COUNT]: 1,
|
606
605
|
[ARGUMENTS]: [
|
607
606
|
{
|
@@ -623,7 +622,7 @@ export const typeCheck = (ast) => {
|
|
623
622
|
[STATS]: {
|
624
623
|
[TYPE_PROP]: [APPLY],
|
625
624
|
[SIGNATURE]: KEYWORDS.BITWISE_OR,
|
626
|
-
retried:
|
625
|
+
retried: Infinity,
|
627
626
|
[ARGS_COUNT]: 2,
|
628
627
|
[ARGUMENTS]: [
|
629
628
|
{
|
@@ -656,7 +655,7 @@ export const typeCheck = (ast) => {
|
|
656
655
|
[STATS]: {
|
657
656
|
[TYPE_PROP]: [APPLY],
|
658
657
|
[SIGNATURE]: KEYWORDS.BITWISE_XOR,
|
659
|
-
retried:
|
658
|
+
retried: Infinity,
|
660
659
|
[ARGS_COUNT]: 2,
|
661
660
|
[ARGUMENTS]: [
|
662
661
|
{
|
@@ -689,7 +688,7 @@ export const typeCheck = (ast) => {
|
|
689
688
|
[STATS]: {
|
690
689
|
[TYPE_PROP]: [APPLY],
|
691
690
|
[SIGNATURE]: KEYWORDS.BITWISE_LEFT_SHIFT,
|
692
|
-
retried:
|
691
|
+
retried: Infinity,
|
693
692
|
[ARGS_COUNT]: 2,
|
694
693
|
[ARGUMENTS]: [
|
695
694
|
{
|
@@ -722,7 +721,7 @@ export const typeCheck = (ast) => {
|
|
722
721
|
[STATS]: {
|
723
722
|
[TYPE_PROP]: [APPLY],
|
724
723
|
[SIGNATURE]: KEYWORDS.BITWISE_RIGHT_SHIFT,
|
725
|
-
retried:
|
724
|
+
retried: Infinity,
|
726
725
|
[ARGS_COUNT]: 2,
|
727
726
|
[ARGUMENTS]: [
|
728
727
|
{
|
@@ -755,7 +754,7 @@ export const typeCheck = (ast) => {
|
|
755
754
|
[STATS]: {
|
756
755
|
[TYPE_PROP]: [APPLY],
|
757
756
|
[SIGNATURE]: KEYWORDS.GET_ARRAY,
|
758
|
-
retried:
|
757
|
+
retried: Infinity,
|
759
758
|
[ARGS_COUNT]: 2,
|
760
759
|
[ARGUMENTS]: [
|
761
760
|
{
|
@@ -787,7 +786,7 @@ export const typeCheck = (ast) => {
|
|
787
786
|
[KEYWORDS.SET_ARRAY]: {
|
788
787
|
[STATS]: {
|
789
788
|
[TYPE_PROP]: [APPLY],
|
790
|
-
retried:
|
789
|
+
retried: Infinity,
|
791
790
|
[ARGS_COUNT]: 3,
|
792
791
|
[ARGUMENTS]: [
|
793
792
|
{
|
@@ -831,7 +830,7 @@ export const typeCheck = (ast) => {
|
|
831
830
|
[STATS]: {
|
832
831
|
[TYPE_PROP]: [APPLY],
|
833
832
|
[SIGNATURE]: KEYWORDS.POP_ARRAY,
|
834
|
-
retried:
|
833
|
+
retried: Infinity,
|
835
834
|
[ARGS_COUNT]: 1,
|
836
835
|
[ARGUMENTS]: [
|
837
836
|
{
|
@@ -853,7 +852,7 @@ export const typeCheck = (ast) => {
|
|
853
852
|
[STATS]: {
|
854
853
|
[TYPE_PROP]: [APPLY],
|
855
854
|
[SIGNATURE]: KEYWORDS.ARRAY_LENGTH,
|
856
|
-
retried:
|
855
|
+
retried: Infinity,
|
857
856
|
[ARGS_COUNT]: 1,
|
858
857
|
[ARGUMENTS]: [
|
859
858
|
{
|
@@ -875,7 +874,7 @@ export const typeCheck = (ast) => {
|
|
875
874
|
[STATS]: {
|
876
875
|
[TYPE_PROP]: [APPLY],
|
877
876
|
[SIGNATURE]: KEYWORDS.IF,
|
878
|
-
retried:
|
877
|
+
retried: Infinity,
|
879
878
|
[ARGS_COUNT]: 3,
|
880
879
|
[ARGUMENTS]: [
|
881
880
|
{
|
@@ -919,12 +918,12 @@ export const typeCheck = (ast) => {
|
|
919
918
|
[STATS]: {
|
920
919
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
921
920
|
[SIGNATURE]: KEYWORDS.NOT,
|
922
|
-
retried:
|
921
|
+
retried: Infinity,
|
923
922
|
[ARGS_COUNT]: 1,
|
924
923
|
[ARGUMENTS]: [
|
925
924
|
{
|
926
925
|
[STATS]: {
|
927
|
-
retried:
|
926
|
+
retried: Infinity,
|
928
927
|
[SIGNATURE]: PLACEHOLDER,
|
929
928
|
[TYPE_PROP]: [ATOM, PREDICATE],
|
930
929
|
[RETURNS]: [ATOM, PREDICATE],
|
@@ -941,12 +940,12 @@ export const typeCheck = (ast) => {
|
|
941
940
|
[STATS]: {
|
942
941
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
943
942
|
[SIGNATURE]: KEYWORDS.EQUAL,
|
944
|
-
retried:
|
943
|
+
retried: Infinity,
|
945
944
|
[ARGS_COUNT]: 2,
|
946
945
|
[ARGUMENTS]: [
|
947
946
|
{
|
948
947
|
[STATS]: {
|
949
|
-
retried:
|
948
|
+
retried: Infinity,
|
950
949
|
[SIGNATURE]: PLACEHOLDER,
|
951
950
|
[TYPE_PROP]: [ATOM],
|
952
951
|
[RETURNS]: [ATOM],
|
@@ -957,7 +956,7 @@ export const typeCheck = (ast) => {
|
|
957
956
|
},
|
958
957
|
{
|
959
958
|
[STATS]: {
|
960
|
-
retried:
|
959
|
+
retried: Infinity,
|
961
960
|
[SIGNATURE]: PLACEHOLDER,
|
962
961
|
[TYPE_PROP]: [ATOM],
|
963
962
|
[RETURNS]: [ATOM],
|
@@ -973,13 +972,13 @@ export const typeCheck = (ast) => {
|
|
973
972
|
[KEYWORDS.LESS_THAN]: {
|
974
973
|
[STATS]: {
|
975
974
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
976
|
-
retried:
|
975
|
+
retried: Infinity,
|
977
976
|
[SIGNATURE]: KEYWORDS.LESS_THAN,
|
978
977
|
[ARGS_COUNT]: 2,
|
979
978
|
[ARGUMENTS]: [
|
980
979
|
{
|
981
980
|
[STATS]: {
|
982
|
-
retried:
|
981
|
+
retried: Infinity,
|
983
982
|
[SIGNATURE]: PLACEHOLDER,
|
984
983
|
[TYPE_PROP]: [ATOM],
|
985
984
|
[RETURNS]: [ATOM],
|
@@ -990,7 +989,7 @@ export const typeCheck = (ast) => {
|
|
990
989
|
},
|
991
990
|
{
|
992
991
|
[STATS]: {
|
993
|
-
retried:
|
992
|
+
retried: Infinity,
|
994
993
|
[SIGNATURE]: PLACEHOLDER,
|
995
994
|
[TYPE_PROP]: [ATOM],
|
996
995
|
[RETURNS]: [ATOM],
|
@@ -1007,12 +1006,12 @@ export const typeCheck = (ast) => {
|
|
1007
1006
|
[STATS]: {
|
1008
1007
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1009
1008
|
[SIGNATURE]: KEYWORDS.GREATHER_THAN,
|
1010
|
-
retried:
|
1009
|
+
retried: Infinity,
|
1011
1010
|
[ARGS_COUNT]: 2,
|
1012
1011
|
[ARGUMENTS]: [
|
1013
1012
|
{
|
1014
1013
|
[STATS]: {
|
1015
|
-
retried:
|
1014
|
+
retried: Infinity,
|
1016
1015
|
[SIGNATURE]: PLACEHOLDER,
|
1017
1016
|
[TYPE_PROP]: [ATOM],
|
1018
1017
|
[RETURNS]: [ATOM],
|
@@ -1023,7 +1022,7 @@ export const typeCheck = (ast) => {
|
|
1023
1022
|
},
|
1024
1023
|
{
|
1025
1024
|
[STATS]: {
|
1026
|
-
retried:
|
1025
|
+
retried: Infinity,
|
1027
1026
|
[SIGNATURE]: PLACEHOLDER,
|
1028
1027
|
[TYPE_PROP]: [ATOM],
|
1029
1028
|
[RETURNS]: [ATOM],
|
@@ -1040,12 +1039,12 @@ export const typeCheck = (ast) => {
|
|
1040
1039
|
[STATS]: {
|
1041
1040
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1042
1041
|
[SIGNATURE]: KEYWORDS.GREATHER_THAN_OR_EQUAL,
|
1043
|
-
retried:
|
1042
|
+
retried: Infinity,
|
1044
1043
|
[ARGS_COUNT]: 2,
|
1045
1044
|
[ARGUMENTS]: [
|
1046
1045
|
{
|
1047
1046
|
[STATS]: {
|
1048
|
-
retried:
|
1047
|
+
retried: Infinity,
|
1049
1048
|
[SIGNATURE]: PLACEHOLDER,
|
1050
1049
|
[TYPE_PROP]: [ATOM],
|
1051
1050
|
[RETURNS]: [ATOM],
|
@@ -1056,7 +1055,7 @@ export const typeCheck = (ast) => {
|
|
1056
1055
|
},
|
1057
1056
|
{
|
1058
1057
|
[STATS]: {
|
1059
|
-
retried:
|
1058
|
+
retried: Infinity,
|
1060
1059
|
[SIGNATURE]: PLACEHOLDER,
|
1061
1060
|
[TYPE_PROP]: [ATOM],
|
1062
1061
|
[RETURNS]: [ATOM],
|
@@ -1073,12 +1072,12 @@ export const typeCheck = (ast) => {
|
|
1073
1072
|
[STATS]: {
|
1074
1073
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1075
1074
|
[SIGNATURE]: KEYWORDS.LESS_THAN_OR_EQUAL,
|
1076
|
-
retried:
|
1075
|
+
retried: Infinity,
|
1077
1076
|
[ARGS_COUNT]: 2,
|
1078
1077
|
[ARGUMENTS]: [
|
1079
1078
|
{
|
1080
1079
|
[STATS]: {
|
1081
|
-
retried:
|
1080
|
+
retried: Infinity,
|
1082
1081
|
[SIGNATURE]: PLACEHOLDER,
|
1083
1082
|
[TYPE_PROP]: [ATOM],
|
1084
1083
|
[RETURNS]: [ATOM],
|
@@ -1089,7 +1088,7 @@ export const typeCheck = (ast) => {
|
|
1089
1088
|
},
|
1090
1089
|
{
|
1091
1090
|
[STATS]: {
|
1092
|
-
retried:
|
1091
|
+
retried: Infinity,
|
1093
1092
|
[SIGNATURE]: PLACEHOLDER,
|
1094
1093
|
[TYPE_PROP]: [ATOM],
|
1095
1094
|
[RETURNS]: [ATOM],
|
@@ -1106,12 +1105,12 @@ export const typeCheck = (ast) => {
|
|
1106
1105
|
[STATS]: {
|
1107
1106
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1108
1107
|
[SIGNATURE]: KEYWORDS.AND,
|
1109
|
-
retried:
|
1108
|
+
retried: Infinity,
|
1110
1109
|
[ARGS_COUNT]: 2,
|
1111
1110
|
[ARGUMENTS]: [
|
1112
1111
|
{
|
1113
1112
|
[STATS]: {
|
1114
|
-
retried:
|
1113
|
+
retried: Infinity,
|
1115
1114
|
[SIGNATURE]: PLACEHOLDER,
|
1116
1115
|
[TYPE_PROP]: [ATOM, PREDICATE],
|
1117
1116
|
[RETURNS]: [ATOM, PREDICATE],
|
@@ -1122,7 +1121,7 @@ export const typeCheck = (ast) => {
|
|
1122
1121
|
},
|
1123
1122
|
{
|
1124
1123
|
[STATS]: {
|
1125
|
-
retried:
|
1124
|
+
retried: Infinity,
|
1126
1125
|
[SIGNATURE]: PLACEHOLDER,
|
1127
1126
|
[TYPE_PROP]: [ATOM, PREDICATE],
|
1128
1127
|
[RETURNS]: [ATOM, PREDICATE],
|
@@ -1139,12 +1138,12 @@ export const typeCheck = (ast) => {
|
|
1139
1138
|
[STATS]: {
|
1140
1139
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1141
1140
|
[SIGNATURE]: KEYWORDS.OR,
|
1142
|
-
retried:
|
1141
|
+
retried: Infinity,
|
1143
1142
|
[ARGS_COUNT]: 2,
|
1144
1143
|
[ARGUMENTS]: [
|
1145
1144
|
{
|
1146
1145
|
[STATS]: {
|
1147
|
-
retried:
|
1146
|
+
retried: Infinity,
|
1148
1147
|
[SIGNATURE]: PLACEHOLDER,
|
1149
1148
|
[TYPE_PROP]: [ATOM, PREDICATE],
|
1150
1149
|
[RETURNS]: [ATOM, PREDICATE],
|
@@ -1155,7 +1154,7 @@ export const typeCheck = (ast) => {
|
|
1155
1154
|
},
|
1156
1155
|
{
|
1157
1156
|
[STATS]: {
|
1158
|
-
retried:
|
1157
|
+
retried: Infinity,
|
1159
1158
|
[SIGNATURE]: PLACEHOLDER,
|
1160
1159
|
[TYPE_PROP]: [ATOM, PREDICATE],
|
1161
1160
|
[RETURNS]: [ATOM, PREDICATE],
|
@@ -1172,12 +1171,12 @@ export const typeCheck = (ast) => {
|
|
1172
1171
|
[STATS]: {
|
1173
1172
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1174
1173
|
[SIGNATURE]: KEYWORDS.IS_ATOM,
|
1175
|
-
retried:
|
1174
|
+
retried: Infinity,
|
1176
1175
|
[ARGS_COUNT]: 1,
|
1177
1176
|
[ARGUMENTS]: [
|
1178
1177
|
{
|
1179
1178
|
[STATS]: {
|
1180
|
-
retried:
|
1179
|
+
retried: Infinity,
|
1181
1180
|
[SIGNATURE]: PLACEHOLDER,
|
1182
1181
|
[TYPE_PROP]: [UNKNOWN],
|
1183
1182
|
[RETURNS]: [UNKNOWN],
|
@@ -1194,12 +1193,12 @@ export const typeCheck = (ast) => {
|
|
1194
1193
|
[STATS]: {
|
1195
1194
|
[TYPE_PROP]: [APPLY, PREDICATE],
|
1196
1195
|
[SIGNATURE]: KEYWORDS.IS_LAMBDA,
|
1197
|
-
retried:
|
1196
|
+
retried: Infinity,
|
1198
1197
|
[ARGS_COUNT]: 1,
|
1199
1198
|
[ARGUMENTS]: [
|
1200
1199
|
{
|
1201
1200
|
[STATS]: {
|
1202
|
-
retried:
|
1201
|
+
retried: Infinity,
|
1203
1202
|
[SIGNATURE]: PLACEHOLDER,
|
1204
1203
|
[TYPE_PROP]: [UNKNOWN],
|
1205
1204
|
[RETURNS]: [UNKNOWN],
|
@@ -1216,12 +1215,12 @@ export const typeCheck = (ast) => {
|
|
1216
1215
|
[STATS]: {
|
1217
1216
|
[TYPE_PROP]: [APPLY],
|
1218
1217
|
[SIGNATURE]: KEYWORDS.ERROR,
|
1219
|
-
retried:
|
1218
|
+
retried: Infinity,
|
1220
1219
|
[ARGS_COUNT]: 1,
|
1221
1220
|
[ARGUMENTS]: [
|
1222
1221
|
{
|
1223
1222
|
[STATS]: {
|
1224
|
-
retried:
|
1223
|
+
retried: Infinity,
|
1225
1224
|
[SIGNATURE]: PLACEHOLDER,
|
1226
1225
|
[TYPE_PROP]: [COLLECTION],
|
1227
1226
|
[RETURNS]: [COLLECTION],
|
@@ -1487,7 +1486,7 @@ export const typeCheck = (ast) => {
|
|
1487
1486
|
checkReturnType()
|
1488
1487
|
if (
|
1489
1488
|
env[name][STATS][RETURNS][0] === UNKNOWN &&
|
1490
|
-
env[name][STATS].retried <
|
1489
|
+
env[name][STATS].retried < MAX_RETRY_DEFINITION
|
1491
1490
|
) {
|
1492
1491
|
env[name][STATS].retried += 1
|
1493
1492
|
stack.unshift(() => {
|
@@ -2112,16 +2111,17 @@ export const typeCheck = (ast) => {
|
|
2112
2111
|
)
|
2113
2112
|
} else {
|
2114
2113
|
const retry = env[rest[i][VALUE]]
|
2114
|
+
// if (
|
2115
|
+
// retry &&
|
2116
|
+
// retry[STATS].retried < RETRY_COUNT &&
|
2117
|
+
// args[i][STATS][TYPE_PROP][0] === UNKNOWN
|
2118
|
+
// ) {
|
2119
|
+
// retry[STATS].retried += 1
|
2120
|
+
// stack.unshift(() => check(exp, env, scope))
|
2121
|
+
// } else
|
2115
2122
|
if (
|
2116
|
-
retry &&
|
2117
|
-
retry[STATS].retried < RETRY_COUNT &&
|
2118
|
-
args[i][STATS][TYPE_PROP][0] === UNKNOWN
|
2119
|
-
) {
|
2120
|
-
retry[STATS].retried += 1
|
2121
|
-
stack.unshift(() => check(exp, env, scope))
|
2122
|
-
} else if (
|
2123
2123
|
args[i][STATS][TYPE_PROP][0] === UNKNOWN &&
|
2124
|
-
args[i][STATS].retried <
|
2124
|
+
args[i][STATS].retried < MAX_RETRY_DEFINITION
|
2125
2125
|
) {
|
2126
2126
|
args[i][STATS].retried += 1
|
2127
2127
|
stack.unshift(() => check(exp, env, scope))
|