tpmkms_4wp 9.3.0-beta.11 → 9.3.0-beta.12

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.
@@ -13229,24 +13229,6 @@
13229
13229
  0
13230
13230
  ]
13231
13231
  ],
13232
- [
13233
- [
13234
- "is",
13235
- 0
13236
- ],
13237
- [
13238
- "name",
13239
- 0
13240
- ],
13241
- [
13242
- "possession",
13243
- 0
13244
- ],
13245
- [
13246
- "spock",
13247
- 0
13248
- ]
13249
- ],
13250
13232
  [
13251
13233
  [
13252
13234
  "is",
@@ -30514,6 +30496,24 @@
30514
30496
  0
30515
30497
  ]
30516
30498
  ],
30499
+ [
30500
+ [
30501
+ "is",
30502
+ 0
30503
+ ],
30504
+ [
30505
+ "propertyOf",
30506
+ 0
30507
+ ],
30508
+ [
30509
+ "the",
30510
+ 0
30511
+ ],
30512
+ [
30513
+ "unknown",
30514
+ 0
30515
+ ]
30516
+ ],
30517
30517
  [
30518
30518
  [
30519
30519
  "is",
@@ -52696,24 +52696,6 @@
52696
52696
  0
52697
52697
  ]
52698
52698
  ],
52699
- [
52700
- [
52701
- "is",
52702
- 0
52703
- ],
52704
- [
52705
- "name",
52706
- 0
52707
- ],
52708
- [
52709
- "possession",
52710
- 0
52711
- ],
52712
- [
52713
- "spock",
52714
- 0
52715
- ]
52716
- ],
52717
52699
  [
52718
52700
  [
52719
52701
  "is",
@@ -53140,6 +53122,24 @@
53140
53122
  0
53141
53123
  ]
53142
53124
  ],
53125
+ [
53126
+ [
53127
+ "is",
53128
+ 0
53129
+ ],
53130
+ [
53131
+ "propertyOf",
53132
+ 0
53133
+ ],
53134
+ [
53135
+ "the",
53136
+ 0
53137
+ ],
53138
+ [
53139
+ "unknown",
53140
+ 0
53141
+ ]
53142
+ ],
53143
53143
  [
53144
53144
  [
53145
53145
  "is",
@@ -7,11 +7,25 @@
7
7
  "bridges": [
8
8
  {
9
9
  "id": "dateTimeSelector",
10
+ "after": [
11
+ "preposition"
12
+ ],
13
+ "before": [
14
+ "verb"
15
+ ],
10
16
  "convolution": true,
11
17
  "children": [
12
- "onDate",
13
- "atTime"
14
- ]
18
+ "onDate_dates",
19
+ "atTime",
20
+ "date_dates"
21
+ ],
22
+ "bridge": "{ ...next(operator), date: after[0], time: after[1], interpolate: '${date} ${time}' }"
23
+ }
24
+ ],
25
+ "semantics": [
26
+ {
27
+ "match": "({context, isA}) => isA(context.marker, 'dateTimeSelector') && !!context.evaluate",
28
+ "apply": "({context, isProcess}) => {\n context.evalue = instantiate(isProcess, context)\n }"
15
29
  }
16
30
  ]
17
31
  }
@@ -25,12 +39,23 @@
25
39
  "bridges": [
26
40
  {
27
41
  "id": "dateTimeSelector",
42
+ "after": [
43
+ "preposition"
44
+ ],
45
+ "before": [
46
+ "verb"
47
+ ],
28
48
  "convolution": true,
29
49
  "children": [
30
- "onDate",
31
- "atTime"
32
- ]
50
+ "onDate_dates",
51
+ "atTime",
52
+ "date_dates"
53
+ ],
54
+ "bridge": "{ ...next(operator), date: after[0], time: after[1], interpolate: '${date} ${time}' }"
33
55
  }
56
+ ],
57
+ "semantics": [
58
+ {}
34
59
  ]
35
60
  }
36
61
  ],
@@ -13,13 +13,19 @@ const dateTimeSelectors_helpers = require('./helpers/dateTimeSelectors')
13
13
  make it friday instead
14
14
  2 sundays from now
15
15
  the sunday after july 1st
16
+ the first tuesday after july 1st
17
+ the first tuesday on or after july 1st
18
+ the last tuesday of every month
19
+ the last tuesday of every third month
20
+ monday at 10 am
21
+ 10 am
16
22
  */
17
23
 
18
24
  function instantiate(isProcess, dateTimeSelector) {
19
25
  let now;
20
26
  if (isProcess) {
21
- // so the unit tests work consistently
22
- now = new Date(2025, 6, 29, 14, 52, 0)
27
+ // so the unit tests work consistently. the month is zero based so 5 is june
28
+ now = new Date(2025, 5, 29, 14, 52, 0)
23
29
  } else {
24
30
  now = new Date()
25
31
  }
@@ -2273,7 +2273,7 @@
2273
2273
  "end": 22,
2274
2274
  "start": 0
2275
2275
  },
2276
- "response": "2025-08-04T21:52:00.000Z",
2276
+ "response": "2025-06-30T21:00:00.000Z",
2277
2277
  "text": "evaluate monday at 2 pm",
2278
2278
  "topLevel": true,
2279
2279
  "touchedBy": [
@@ -2381,7 +2381,7 @@
2381
2381
  ],
2382
2382
  "developerTest": false,
2383
2383
  "generatedParenthesized": [
2384
- "(2025-08-04T21:52:00.000Z)"
2384
+ "(2025-06-30T21:00:00.000Z)"
2385
2385
  ],
2386
2386
  "metadata": {
2387
2387
  "opChoices": [
@@ -3206,7 +3206,7 @@
3206
3206
  "end": 22,
3207
3207
  "start": 0
3208
3208
  },
3209
- "response": "2025-08-04T21:52:00.000Z",
3209
+ "response": "2025-06-30T21:00:00.000Z",
3210
3210
  "text": "evaluate monday at 2 pm",
3211
3211
  "topLevel": true,
3212
3212
  "touchedBy": [
@@ -3318,7 +3318,7 @@
3318
3318
  "paraphrasesParenthesized": [
3319
3319
  ],
3320
3320
  "responses": [
3321
- "2025-08-04T21:52:00.000Z"
3321
+ "2025-06-30T21:00:00.000Z"
3322
3322
  ]
3323
3323
  },
3324
3324
  {
@@ -4231,7 +4231,7 @@
4231
4231
  ],
4232
4232
  "query": "evaluate monday at 2 pm",
4233
4233
  "responses": [
4234
- "2025-08-04T21:52:00.000Z"
4234
+ "2025-06-30T21:00:00.000Z"
4235
4235
  ],
4236
4236
  "summaries": [
4237
4237
  {
@@ -89995,24 +89995,6 @@
89995
89995
  0
89996
89996
  ]
89997
89997
  ],
89998
- [
89999
- [
90000
- "list",
90001
- 1
90002
- ],
90003
- [
90004
- "modifies",
90005
- 0
90006
- ],
90007
- [
90008
- "strawberry",
90009
- 0
90010
- ],
90011
- [
90012
- "unknown",
90013
- 0
90014
- ]
90015
- ],
90016
89998
  [
90017
89999
  [
90018
90000
  "list",
@@ -97389,24 +97371,6 @@
97389
97371
  1
97390
97372
  ]
97391
97373
  ],
97392
- [
97393
- [
97394
- "countable",
97395
- 0
97396
- ],
97397
- [
97398
- "is",
97399
- 0
97400
- ],
97401
- [
97402
- "list",
97403
- 1
97404
- ],
97405
- [
97406
- "strawberry",
97407
- 0
97408
- ]
97409
- ],
97410
97374
  [
97411
97375
  [
97412
97376
  "countable",
@@ -137513,60 +137477,6 @@
137513
137477
  0
137514
137478
  ]
137515
137479
  ],
137516
- [
137517
- [
137518
- "asiago",
137519
- 0
137520
- ],
137521
- [
137522
- "chicken",
137523
- 0
137524
- ],
137525
- [
137526
- "club",
137527
- 0
137528
- ],
137529
- [
137530
- "cod",
137531
- 0
137532
- ],
137533
- [
137534
- "comma",
137535
- 0
137536
- ],
137537
- [
137538
- "grill",
137539
- 0
137540
- ],
137541
- [
137542
- "is",
137543
- 0
137544
- ],
137545
- [
137546
- "list",
137547
- 0
137548
- ],
137549
- [
137550
- "premium",
137551
- 0
137552
- ],
137553
- [
137554
- "ranch",
137555
- 0
137556
- ],
137557
- [
137558
- "sandwich",
137559
- 0
137560
- ],
137561
- [
137562
- "ultimate",
137563
- 0
137564
- ],
137565
- [
137566
- "unknown",
137567
- 0
137568
- ]
137569
- ],
137570
137480
  [
137571
137481
  [
137572
137482
  "chicken",
@@ -137853,24 +137763,6 @@
137853
137763
  0
137854
137764
  ]
137855
137765
  ],
137856
- [
137857
- [
137858
- "is",
137859
- 0
137860
- ],
137861
- [
137862
- "list",
137863
- 1
137864
- ],
137865
- [
137866
- "sandwich",
137867
- 0
137868
- ],
137869
- [
137870
- "unknown",
137871
- 0
137872
- ]
137873
- ],
137874
137766
  [
137875
137767
  [
137876
137768
  "is",
@@ -347921,24 +347813,6 @@
347921
347813
  0
347922
347814
  ]
347923
347815
  ],
347924
- [
347925
- [
347926
- "breakfast",
347927
- 0
347928
- ],
347929
- [
347930
- "is",
347931
- 0
347932
- ],
347933
- [
347934
- "list",
347935
- 1
347936
- ],
347937
- [
347938
- "meal",
347939
- 0
347940
- ]
347941
- ],
347942
347816
  [
347943
347817
  [
347944
347818
  "is",
@@ -596185,24 +596059,6 @@
596185
596059
  1
596186
596060
  ]
596187
596061
  ],
596188
- [
596189
- [
596190
- "is",
596191
- 0
596192
- ],
596193
- [
596194
- "list",
596195
- 1
596196
- ],
596197
- [
596198
- "meal",
596199
- 0
596200
- ],
596201
- [
596202
- "value",
596203
- 0
596204
- ]
596205
- ],
596206
596062
  [
596207
596063
  [
596208
596064
  "is",
@@ -609870,60 +609726,6 @@
609870
609726
  0
609871
609727
  ]
609872
609728
  ],
609873
- [
609874
- [
609875
- "asiago",
609876
- 0
609877
- ],
609878
- [
609879
- "chicken",
609880
- 0
609881
- ],
609882
- [
609883
- "club",
609884
- 0
609885
- ],
609886
- [
609887
- "cod",
609888
- 0
609889
- ],
609890
- [
609891
- "comma",
609892
- 0
609893
- ],
609894
- [
609895
- "grill",
609896
- 0
609897
- ],
609898
- [
609899
- "is",
609900
- 0
609901
- ],
609902
- [
609903
- "list",
609904
- 0
609905
- ],
609906
- [
609907
- "premium",
609908
- 0
609909
- ],
609910
- [
609911
- "ranch",
609912
- 0
609913
- ],
609914
- [
609915
- "sandwich",
609916
- 0
609917
- ],
609918
- [
609919
- "ultimate",
609920
- 0
609921
- ],
609922
- [
609923
- "unknown",
609924
- 0
609925
- ]
609926
- ],
609927
609729
  [
609928
609730
  [
609929
609731
  "bacon",
@@ -611666,24 +611468,6 @@
611666
611468
  0
611667
611469
  ]
611668
611470
  ],
611669
- [
611670
- [
611671
- "breakfast",
611672
- 0
611673
- ],
611674
- [
611675
- "is",
611676
- 0
611677
- ],
611678
- [
611679
- "list",
611680
- 1
611681
- ],
611682
- [
611683
- "meal",
611684
- 0
611685
- ]
611686
- ],
611687
611471
  [
611688
611472
  [
611689
611473
  "breakfast",
@@ -613212,24 +612996,6 @@
613212
612996
  0
613213
612997
  ]
613214
612998
  ],
613215
- [
613216
- [
613217
- "countable",
613218
- 0
613219
- ],
613220
- [
613221
- "is",
613222
- 0
613223
- ],
613224
- [
613225
- "list",
613226
- 1
613227
- ],
613228
- [
613229
- "strawberry",
613230
- 0
613231
- ]
613232
- ],
613233
612999
  [
613234
613000
  [
613235
613001
  "double",
@@ -613934,24 +613700,6 @@
613934
613700
  0
613935
613701
  ]
613936
613702
  ],
613937
- [
613938
- [
613939
- "is",
613940
- 0
613941
- ],
613942
- [
613943
- "list",
613944
- 1
613945
- ],
613946
- [
613947
- "meal",
613948
- 0
613949
- ],
613950
- [
613951
- "value",
613952
- 0
613953
- ]
613954
- ],
613955
613703
  [
613956
613704
  [
613957
613705
  "is",
@@ -614016,24 +613764,6 @@
614016
613764
  0
614017
613765
  ]
614018
613766
  ],
614019
- [
614020
- [
614021
- "is",
614022
- 0
614023
- ],
614024
- [
614025
- "list",
614026
- 1
614027
- ],
614028
- [
614029
- "sandwich",
614030
- 0
614031
- ],
614032
- [
614033
- "unknown",
614034
- 0
614035
- ]
614036
- ],
614037
613767
  [
614038
613768
  [
614039
613769
  "is",
@@ -614302,24 +614032,6 @@
614302
614032
  0
614303
614033
  ]
614304
614034
  ],
614305
- [
614306
- [
614307
- "list",
614308
- 1
614309
- ],
614310
- [
614311
- "modifies",
614312
- 0
614313
- ],
614314
- [
614315
- "strawberry",
614316
- 0
614317
- ],
614318
- [
614319
- "unknown",
614320
- 0
614321
- ]
614322
- ],
614323
614035
  [
614324
614036
  [
614325
614037
  "list",
@@ -32,14 +32,16 @@ function getNextDayOfWeek(date, targetDay) {
32
32
 
33
33
  function getTime(time) {
34
34
  let hour = 0
35
- let minute = 0
36
- let second = 0
35
+ const minute = 0
36
+ const second = 0
37
37
  let hour_offset = 0
38
38
  if (time.time.ampm.ampm == 'pm') {
39
39
  hour_offset = 12
40
40
  }
41
41
  if (time.marker == 'integer') {
42
42
  hour = time.value
43
+ } else if (time.marker == 'atTime') {
44
+ hour = time.time.value
43
45
  }
44
46
  hour += hour_offset
45
47
  return { hour, minute, second }
@@ -52,7 +54,9 @@ instantiate = (now, context) => {
52
54
  return dateTimeSelector.toISOString()
53
55
  }
54
56
  } else if (context.marker == 'dateTimeSelector') {
55
- const dateTimeSelector = getNextDayOfWeek(now, context.date.date.value)
57
+ // (on date) OR (date)
58
+ const date = context.date?.date || context.date
59
+ const dateTimeSelector = getNextDayOfWeek(now, date.value)
56
60
  const hms = getTime(context.time)
57
61
  dateTimeSelector.setHours(hms.hour)
58
62
  dateTimeSelector.setMinutes(hms.minute)
@@ -5522,6 +5522,36 @@
5522
5522
  0
5523
5523
  ]
5524
5524
  ],
5525
+ [
5526
+ [
5527
+ "isEd",
5528
+ 0
5529
+ ],
5530
+ [
5531
+ "means",
5532
+ 0
5533
+ ],
5534
+ [
5535
+ "owned",
5536
+ 0
5537
+ ],
5538
+ [
5539
+ "ownee",
5540
+ 0
5541
+ ],
5542
+ [
5543
+ "owner",
5544
+ 0
5545
+ ],
5546
+ [
5547
+ "owns",
5548
+ 0
5549
+ ],
5550
+ [
5551
+ "unknown",
5552
+ 0
5553
+ ]
5554
+ ],
5525
5555
  [
5526
5556
  [
5527
5557
  "means",
@@ -8918,6 +8948,36 @@
8918
8948
  0
8919
8949
  ]
8920
8950
  ],
8951
+ [
8952
+ [
8953
+ "isEd",
8954
+ 0
8955
+ ],
8956
+ [
8957
+ "means",
8958
+ 0
8959
+ ],
8960
+ [
8961
+ "owned",
8962
+ 0
8963
+ ],
8964
+ [
8965
+ "ownee",
8966
+ 0
8967
+ ],
8968
+ [
8969
+ "owner",
8970
+ 0
8971
+ ],
8972
+ [
8973
+ "owns",
8974
+ 0
8975
+ ],
8976
+ [
8977
+ "unknown",
8978
+ 0
8979
+ ]
8980
+ ],
8921
8981
  [
8922
8982
  [
8923
8983
  "isEd",
@@ -17,7 +17,7 @@
17
17
  "bridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], interpolate: '${operator} ${who} ${reminder}' }",
18
18
  "withDateBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], interpolate: '${operator} ${who} ${reminder} ${date}' }",
19
19
  "withDateAndTimeBridge": "{ ...next(operator), operator: operator, who: after[0], reminder: after[1], date: after[2], time: after[3], interpolate: '${operator} ${who} ${reminder} ${date} ${time}' }",
20
- "semantic": "async ({api, gsp, gp, context}) => {\n const text = await gsp(context.reminder.slice(1));\n const reminder = { text, dateTimeSelector: context.date }\n if (context.date) {\n reminder.dateTimeSelector = context.date\n reminder.dateTimeSelectorText = await gp(context.date)\n }\n await api.instantiate(reminder)\n api.add(reminder)\n }"
20
+ "semantic": "async ({api, gsp, gp, context}) => {\n const text = await gsp(context.reminder.slice(1));\n const reminder = { text, dateTimeSelector: context.date }\n if (context.date) {\n reminder.dateTimeSelector = context.date\n reminder.dateTimeSelectorText = await gp(context.date)\n }\n debugger\n await api.instantiate(reminder)\n api.add(reminder)\n }"
21
21
  },
22
22
  {
23
23
  "id": "reminders",
@@ -33,7 +33,7 @@ class API {
33
33
  let now;
34
34
  if (this.args.isProcess) {
35
35
  // so the unit tests work consistently
36
- now = new Date(2025, 6, 29, 14, 52, 0)
36
+ now = new Date(2025, 5, 29, 14, 52, 0)
37
37
  } else {
38
38
  now = new Date()
39
39
  }
@@ -11057,7 +11057,7 @@
11057
11057
  "dateTimeSelectorText": "on monday at 10 am",
11058
11058
  "fromSTM": true,
11059
11059
  "id": 1,
11060
- "nextISODate": "2025-08-11T07:00:00.000Z",
11060
+ "nextISODate": "2025-06-30T17:00:00.000Z",
11061
11061
  "pullFromContext": false,
11062
11062
  "stm": {
11063
11063
  "id": 1
@@ -11206,7 +11206,7 @@
11206
11206
  "dateTimeSelectorText": "on monday at 10 am",
11207
11207
  "fromSTM": true,
11208
11208
  "id": 1,
11209
- "nextISODate": "2025-08-11T07:00:00.000Z",
11209
+ "nextISODate": "2025-06-30T17:00:00.000Z",
11210
11210
  "pullFromContext": false,
11211
11211
  "stm": {
11212
11212
  "id": 1
@@ -1048,7 +1048,7 @@
1048
1048
  }
1049
1049
  ]
1050
1050
  },
1051
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 (1, 0) - \"price\"\n 1. list/0 (1, 6) - \"and\"\n 2. quantity/0 (1, 10) - \"quantity\"\n 3. is/0 (1, 15) - \"are\"\n 4. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 10) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('price', 0)\n Context:\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. price/1 (dead) (2, 0) - \"price\"\n 1. list/0 (1, 6) - \"and\"\n 2. quantity/0 (1, 10) - \"quantity\"\n 3. is/0 (1, 15) - \"are\"\n 4. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 10) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('list', 0)\n Context:\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 (3, 0) - \"price and quantity\"\n 1. is/0 (1, 15) - \"are\"\n 2. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['listable', 'quantity', 'queryable', 'number', 'property', 'comparable', 'theAble', 'quantifier']}\n\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('is', 0)\n Context:\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n Variables:\n {'found_types': []}\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['listable', 'quantity', 'queryable', 'number', 'property', 'comparable', 'theAble', 'quantifier']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n, 'quantity'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('is', 1)\n Context:\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n Variables:\n {'found_types': []}\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['listable', 'quantity', 'queryable', 'number', 'property', 'comparable', 'theAble', 'quantifier']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n, 'quantity'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 1)]\n dead: true\n marker: \n Operator(is/2)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['listable', 'quantity', 'queryable', 'number', 'property', 'comparable', 'theAble', 'quantifier']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n, 'quantity'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
1051
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 (1, 0) - \"price\"\n 1. list/0 (1, 6) - \"and\"\n 2. quantity/0 (1, 10) - \"quantity\"\n 3. is/0 (1, 15) - \"are\"\n 4. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 10) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('price', 0)\n Context:\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. price/1 (dead) (2, 0) - \"price\"\n 1. list/0 (1, 6) - \"and\"\n 2. quantity/0 (1, 10) - \"quantity\"\n 3. is/0 (1, 15) - \"are\"\n 4. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 6) - \"and\"\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 10) - \"quantity\"\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('list', 0)\n Context:\n {\n default: true\n marker: \n Operator(list/0), passthrough\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n ]\n Evaluator:\n Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 (3, 0) - \"price and quantity\"\n 1. is/0 (1, 15) - \"are\"\n 2. property/0 (dead) (1, 21) - \"properties\"\n\n details\n\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['property', 'number', 'comparable', 'queryable', 'theAble', 'quantity', 'quantifier', 'listable']}\n\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 15) - \"are\"\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (dead) (1, 21) - \"properties\"\n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('is', 0)\n Context:\n {\n marker: \n Operator(is/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n Left Selector: [ListableType(Listable(Type('queryable')))]\n Right Selector: [ListableType(Listable(Type('queryable')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')\n\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n Variables:\n {'found_types': []}\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['property', 'number', 'comparable', 'queryable', 'theAble', 'quantity', 'quantifier', 'listable']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('is', 1)\n Context:\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n Variables:\n {'found_types': []}\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['property', 'number', 'comparable', 'queryable', 'theAble', 'quantity', 'quantifier', 'listable']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 1)]\n dead: true\n marker: \n Operator(is/2)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge('{ ...operator, value: append(before, operator.value) }')\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"Listable(Unify(Property(('context', 'instance')), Property(('variables', 'instance'))))\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n {'found_types': ['quantity', 'price'], 'type': ['property', 'number', 'comparable', 'queryable', 'theAble', 'quantity', 'quantifier', 'listable']}\n\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator) }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...next(operator) }')\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
1052
1052
  "contexts": [
1053
1053
  {
1054
1054
  "number": "many",
package/package.json CHANGED
@@ -341,8 +341,8 @@
341
341
  "scriptjs": "^2.5.9",
342
342
  "table": "^6.7.1",
343
343
  "uuid": "^9.0.0",
344
- "theprogrammablemind_4wp": "9.3.0-beta.11"
344
+ "theprogrammablemind_4wp": "9.3.0-beta.12"
345
345
  },
346
- "version": "9.3.0-beta.11",
346
+ "version": "9.3.0-beta.12",
347
347
  "license": "UNLICENSED"
348
348
  }