tpmkms 9.1.0 → 9.1.1-beta.0

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.
@@ -103,56 +103,9 @@
103
103
  ]
104
104
  }
105
105
  ],
106
- "associations": {
107
- "negative": [],
108
- "positive": [
109
- {
110
- "context": [
111
- [
112
- "the",
113
- 0
114
- ],
115
- [
116
- "condition",
117
- 0
118
- ],
119
- [
120
- "item_property",
121
- 0
122
- ],
123
- [
124
- "weapon",
125
- 0
126
- ]
127
- ],
128
- "choose": 1
129
- },
130
- {
131
- "context": [
132
- [
133
- "the",
134
- 0
135
- ],
136
- [
137
- "condition",
138
- 0
139
- ],
140
- [
141
- "item_property",
142
- 1
143
- ],
144
- [
145
- "weapon",
146
- 0
147
- ]
148
- ],
149
- "choose": 1
150
- }
151
- ]
152
- },
153
106
  "bridges": [
154
107
  {
155
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:159",
108
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:152",
156
109
  "id": "put",
157
110
  "isA": [
158
111
  "verb"
@@ -160,7 +113,7 @@
160
113
  "generatorp": "({context}) => `put on`"
161
114
  },
162
115
  {
163
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:165",
116
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:158",
164
117
  "id": "propertyCondition",
165
118
  "before": [
166
119
  "adjective",
@@ -172,7 +125,7 @@
172
125
  "bridge": "{ ...next(after[0]), condition: before[0], modifiers: ['condition'] }"
173
126
  },
174
127
  {
175
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:173",
128
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:166",
176
129
  "id": "on",
177
130
  "isA": [
178
131
  "preposition"
@@ -183,7 +136,7 @@
183
136
  "semantic": "({api, context}) => {\n api.change(context.item.marker)\n }"
184
137
  },
185
138
  {
186
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:184",
139
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:177",
187
140
  "id": "change",
188
141
  "isA": [
189
142
  "verb"
@@ -200,7 +153,7 @@
200
153
  "semantic": "({api, context}) => {\n api.change(context.item.marker)\n }"
201
154
  },
202
155
  {
203
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:196",
156
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:189",
204
157
  "id": "disarm",
205
158
  "isA": [
206
159
  "verb"
@@ -209,7 +162,7 @@
209
162
  "semantic": "({api, context}) => {\n api.disarm()\n }"
210
163
  },
211
164
  {
212
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:205",
165
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:198",
213
166
  "id": "strip",
214
167
  "isA": [
215
168
  "verb"
@@ -218,7 +171,7 @@
218
171
  "semantic": "({api, context}) => {\n api.strip()\n }"
219
172
  },
220
173
  {
221
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:214",
174
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:207",
222
175
  "id": "call",
223
176
  "isA": [
224
177
  "verb"
@@ -229,7 +182,7 @@
229
182
  "semantic": "({api, context}) => {\n api.setName(context.item, context.name.name.value)\n }"
230
183
  },
231
184
  {
232
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:225",
185
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:218",
233
186
  "id": "putOn",
234
187
  "isA": [
235
188
  "verb"
@@ -240,7 +193,7 @@
240
193
  "semantic": "({api, context}) => {\n if (context.item.name) {\n api.wear({ name: context.item.name.value, type: 'outfit' })\n } else {\n api.wear({ type: context.item.value })\n }\n }"
241
194
  },
242
195
  {
243
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:240",
196
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:233",
244
197
  "id": "wear",
245
198
  "isA": [
246
199
  "verb"
@@ -260,7 +213,7 @@
260
213
  "semantic": "({api, context}) => {\n if (context.item.name) {\n api.wear({ name: context.item.name.value, type: 'outfit' })\n } else {\n api.wear({ type: context.item.value })\n }\n }"
261
214
  },
262
215
  {
263
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:257",
216
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:250",
264
217
  "id": "equip",
265
218
  "isA": [
266
219
  "verb"
@@ -285,7 +238,7 @@
285
238
  "semantic": "async ({api, context}) => {\n let condition\n if (context.item.condition) {\n condition = { selector: context.item.condition.marker, property: context.item.condition.property[0].marker }\n }\n api.equip({ type: context.item.value, condition })\n }"
286
239
  },
287
240
  {
288
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:273",
241
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:266",
289
242
  "id": "toDrink",
290
243
  "isA": [
291
244
  "verb"
@@ -296,7 +249,7 @@
296
249
  "semantic": "async ({api, context, e}) => {\n const value = await e(context.item)\n api.drink(value.value)\n }"
297
250
  },
298
251
  {
299
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:285",
252
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:278",
300
253
  "id": "eat",
301
254
  "localHierarchy": [
302
255
  [
@@ -313,7 +266,7 @@
313
266
  "semantic": "async ({api, context}) => {\n api.eat(context.item.value)\n }"
314
267
  },
315
268
  {
316
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:297",
269
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:290",
317
270
  "id": "take",
318
271
  "isA": [
319
272
  "verb"
@@ -324,7 +277,7 @@
324
277
  "semantic": "async ({api, context, e}) => {\n const value = await e(context.item)\n api.take(value.value)\n }"
325
278
  },
326
279
  {
327
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:309",
280
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:302",
328
281
  "id": "nameable",
329
282
  "isA": [
330
283
  "theAble"
@@ -1764,6 +1717,20 @@
1764
1717
  0
1765
1718
  ]
1766
1719
  ],
1720
+ [
1721
+ [
1722
+ "is",
1723
+ 0
1724
+ ],
1725
+ [
1726
+ "list",
1727
+ 1
1728
+ ],
1729
+ [
1730
+ "unknown",
1731
+ 0
1732
+ ]
1733
+ ],
1767
1734
  [
1768
1735
  [
1769
1736
  "is",
@@ -10245,6 +10212,20 @@
10245
10212
  0
10246
10213
  ]
10247
10214
  ],
10215
+ [
10216
+ [
10217
+ "is",
10218
+ 0
10219
+ ],
10220
+ [
10221
+ "list",
10222
+ 1
10223
+ ],
10224
+ [
10225
+ "unknown",
10226
+ 0
10227
+ ]
10228
+ ],
10248
10229
  [
10249
10230
  [
10250
10231
  "is",
@@ -34866,63 +34847,16 @@
34866
34847
  ]
34867
34848
  }
34868
34849
  ],
34869
- "associations": {
34870
- "negative": [],
34871
- "positive": [
34872
- {
34873
- "context": [
34874
- [
34875
- "the",
34876
- 0
34877
- ],
34878
- [
34879
- "condition",
34880
- 0
34881
- ],
34882
- [
34883
- "item_property",
34884
- 0
34885
- ],
34886
- [
34887
- "weapon",
34888
- 0
34889
- ]
34890
- ],
34891
- "choose": 1
34892
- },
34893
- {
34894
- "context": [
34895
- [
34896
- "the",
34897
- 0
34898
- ],
34899
- [
34900
- "condition",
34901
- 0
34902
- ],
34903
- [
34904
- "item_property",
34905
- 1
34906
- ],
34907
- [
34908
- "weapon",
34909
- 0
34910
- ]
34911
- ],
34912
- "choose": 1
34913
- }
34914
- ]
34915
- },
34916
34850
  "bridges": [
34917
34851
  {
34918
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:159",
34852
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:152",
34919
34853
  "id": "put",
34920
34854
  "isA": [
34921
34855
  "verb"
34922
34856
  ]
34923
34857
  },
34924
34858
  {
34925
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:165",
34859
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:158",
34926
34860
  "id": "propertyCondition",
34927
34861
  "before": [
34928
34862
  "adjective",
@@ -34934,7 +34868,7 @@
34934
34868
  "bridge": "{ ...next(after[0]), condition: before[0], modifiers: ['condition'] }"
34935
34869
  },
34936
34870
  {
34937
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:173",
34871
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:166",
34938
34872
  "id": "on",
34939
34873
  "isA": [
34940
34874
  "preposition"
@@ -34943,7 +34877,7 @@
34943
34877
  "bridge": "{ ...before, marker: operator('putOn', 0), dead: false }"
34944
34878
  },
34945
34879
  {
34946
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:184",
34880
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:177",
34947
34881
  "id": "change",
34948
34882
  "isA": [
34949
34883
  "verb"
@@ -34958,21 +34892,21 @@
34958
34892
  ]
34959
34893
  },
34960
34894
  {
34961
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:196",
34895
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:189",
34962
34896
  "id": "disarm",
34963
34897
  "isA": [
34964
34898
  "verb"
34965
34899
  ]
34966
34900
  },
34967
34901
  {
34968
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:205",
34902
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:198",
34969
34903
  "id": "strip",
34970
34904
  "isA": [
34971
34905
  "verb"
34972
34906
  ]
34973
34907
  },
34974
34908
  {
34975
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:214",
34909
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:207",
34976
34910
  "id": "call",
34977
34911
  "isA": [
34978
34912
  "verb"
@@ -34981,7 +34915,7 @@
34981
34915
  "bridge": "{ ...next(operator), item: after[0], name: after[1] }"
34982
34916
  },
34983
34917
  {
34984
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:225",
34918
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:218",
34985
34919
  "id": "putOn",
34986
34920
  "isA": [
34987
34921
  "verb"
@@ -34990,7 +34924,7 @@
34990
34924
  "bridge": "{ ...next(operator), item: after[0] }"
34991
34925
  },
34992
34926
  {
34993
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:240",
34927
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:233",
34994
34928
  "id": "wear",
34995
34929
  "isA": [
34996
34930
  "verb"
@@ -35008,7 +34942,7 @@
35008
34942
  "bridge": "{ ...next(operator), item: after[0] }"
35009
34943
  },
35010
34944
  {
35011
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:257",
34945
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:250",
35012
34946
  "id": "equip",
35013
34947
  "isA": [
35014
34948
  "verb"
@@ -35031,7 +34965,7 @@
35031
34965
  "bridge": "{ ...next(operator), item: after[0] }"
35032
34966
  },
35033
34967
  {
35034
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:273",
34968
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:266",
35035
34969
  "id": "toDrink",
35036
34970
  "isA": [
35037
34971
  "verb"
@@ -35040,7 +34974,7 @@
35040
34974
  "bridge": "{ ...next(operator), item: after[0] }"
35041
34975
  },
35042
34976
  {
35043
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:285",
34977
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:278",
35044
34978
  "id": "eat",
35045
34979
  "localHierarchy": [
35046
34980
  [
@@ -35055,7 +34989,7 @@
35055
34989
  "bridge": "{ ...next(operator), item: after[0] }"
35056
34990
  },
35057
34991
  {
35058
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:297",
34992
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:290",
35059
34993
  "id": "take",
35060
34994
  "isA": [
35061
34995
  "verb"
@@ -35064,7 +34998,7 @@
35064
34998
  "bridge": "{ ...next(operator), item: after[0] }"
35065
34999
  },
35066
35000
  {
35067
- "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:309",
35001
+ "where": "/home/dev/code/theprogrammablemind/kms/common/pipboy.js:302",
35068
35002
  "id": "nameable",
35069
35003
  "isA": [
35070
35004
  "theAble"
@@ -35755,6 +35689,34 @@
35755
35689
  0
35756
35690
  ]
35757
35691
  ],
35692
+ [
35693
+ [
35694
+ "is",
35695
+ 0
35696
+ ],
35697
+ [
35698
+ "list",
35699
+ 1
35700
+ ],
35701
+ [
35702
+ "unknown",
35703
+ 0
35704
+ ]
35705
+ ],
35706
+ [
35707
+ [
35708
+ "is",
35709
+ 0
35710
+ ],
35711
+ [
35712
+ "list",
35713
+ 1
35714
+ ],
35715
+ [
35716
+ "unknown",
35717
+ 0
35718
+ ]
35719
+ ],
35758
35720
  [
35759
35721
  [
35760
35722
  "is",
package/common/pipboy.js CHANGED
@@ -147,13 +147,6 @@ const config = {
147
147
  { context: [['article', 0], ['unknown', 1], ['outfit', 0]], ordered: true, choose: [1,2] },
148
148
  // TODO this should trigger a circular warning or somethign [['put', 0], ['on', 0]],
149
149
  ],
150
- associations: {
151
- negative: [],
152
- positive: [
153
- { context: [["the",0],["condition",0],["item_property",0],["weapon",0]], choose: 1 },
154
- { context: [["the",0],["condition",0],["item_property",1],["weapon",0]], choose: 1 },
155
- ]
156
- },
157
150
  bridges: [
158
151
  {
159
152
  where: where(),
@@ -84,6 +84,7 @@ const config = {
84
84
  associations: {
85
85
  positive: [
86
86
  { context: [["the",0],["unknown",0],["propertyOf",0],["unknown",0],["is",0],["unknown",0]], choose: 4 },
87
+ { context: [["objectPrefix",0],["unknown",0]], choose: 1 },
87
88
  ]
88
89
  },
89
90
 
@@ -1053,7 +1053,7 @@
1053
1053
  }
1054
1054
  ]
1055
1055
  },
1056
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 10) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('price', 0), Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. price/1 (dead) - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 10) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('list', 0), Context({default: True, marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 - \"price and quantity\"\n 1. is/0 - \"are\"\n 2. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['comparable', 'quantity', 'theAble', 'listable', 'number', 'queryable', 'quantifier', 'property']}) bridge(bridge)) (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['comparable', 'quantity', 'theAble', 'listable', 'number', 'queryable', 'quantifier', 'property']}) bridge(bridge))\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: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('is', 0), Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n *0. is/1 - \"price and quantity are properties\"\n\n details\n\n 0. Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge)) (4, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 0)]\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['comparable', 'quantity', 'theAble', 'listable', 'number', 'queryable', 'quantifier', 'property']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\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 dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\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), Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['comparable', 'quantity', 'theAble', 'listable', 'number', 'queryable', 'quantifier', 'property']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], value: property, word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) - \"price and quantity are properties\"\n\n details\n\n 0. Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (5, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 1)]\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['comparable', 'quantity', 'theAble', 'listable', 'number', 'queryable', 'quantifier', 'property']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\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 dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\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",
1056
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 10) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('price', 0), Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. price/1 (dead) - \"price\"\n 1. list/0 - \"and\"\n 2. quantity/0 - \"quantity\"\n 3. is/0 - \"are\"\n 4. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 6) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 10) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('list', 0), Context({default: True, marker: Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 - \"price and quantity\"\n 1. is/0 - \"are\"\n 2. property/0 (dead) - \"properties\"\n\n details\n\n 0. Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['property', 'comparable', 'quantifier', 'quantity', 'number', 'theAble', 'listable', 'queryable']}) bridge(bridge)) (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['property', 'comparable', 'quantifier', 'quantity', 'number', 'theAble', 'listable', 'queryable']}) bridge(bridge))\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: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 15) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 21) - \"properties\"\n {\n dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n value: \"property\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('is', 0), Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n *0. is/1 - \"price and quantity are properties\"\n\n details\n\n 0. Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge)) (4, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 0)]\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['property', 'comparable', 'quantifier', 'quantity', 'number', 'theAble', 'listable', 'queryable']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\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 dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\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), Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({'found_types': []}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['property', 'comparable', 'quantifier', 'quantity', 'number', 'theAble', 'listable', 'queryable']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], value: property, word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) - \"price and quantity are properties\"\n\n details\n\n 0. Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (5, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 1)]\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['property', 'comparable', 'quantifier', 'quantity', 'number', 'theAble', 'listable', 'queryable']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\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 dead: true\n marker: Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\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",
1057
1057
  "contexts": [
1058
1058
  {
1059
1059
  "number": "many",