ekms 9.5.0 → 9.5.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/common/asking.js +4 -4
  2. package/common/characters.js +2 -2
  3. package/common/crew.instance.json +47 -61
  4. package/common/crew.test.json +4148 -3324
  5. package/common/dialogues.js +1 -1
  6. package/common/dimension.instance.json +8 -8
  7. package/common/dimension.js +4 -4
  8. package/common/edible.instance.json +72 -0
  9. package/common/emotions.instance.json +26 -0
  10. package/common/emotions.test.json +242 -174
  11. package/common/english_helpers.js +126 -0
  12. package/common/errors.js +3 -3
  13. package/common/evaluate.js +2 -2
  14. package/common/events.js +8 -8
  15. package/common/fastfood.instance.json +242 -18
  16. package/common/formulas.js +1 -1
  17. package/common/gdefaults.js +19 -2
  18. package/common/help.js +1 -1
  19. package/common/helpers/meta.js +1 -1
  20. package/common/helpers/properties.js +91 -49
  21. package/common/helpers.js +53 -0
  22. package/common/latin.instance.json +2 -2
  23. package/common/latin.js +4 -4
  24. package/common/listener.js +1 -1
  25. package/common/math.instance.json +8 -8
  26. package/common/math.js +4 -4
  27. package/common/meta.js +27 -27
  28. package/common/nameable.js +7 -7
  29. package/common/ordering.instance.json +78 -0
  30. package/common/ordering.test.json +663 -233
  31. package/common/people.instance.json +26 -12
  32. package/common/people.js +5 -3
  33. package/common/people.test.json +4071 -3813
  34. package/common/pipboy.js +2 -3
  35. package/common/properties.js +6 -1
  36. package/common/reminders.instance.json +4 -4
  37. package/common/reminders.js +2 -2
  38. package/common/reports.instance.json +2 -2
  39. package/common/scorekeeper.js +2 -2
  40. package/common/stm.js +2 -2
  41. package/common/tokenize.js +4 -1
  42. package/common/wp.instance.json +74 -2
  43. package/package.json +4 -2
package/common/pipboy.js CHANGED
@@ -134,7 +134,7 @@ const config = {
134
134
  // show the outfits
135
135
 
136
136
  // TODO for future
137
- // { pattern: "([testsetup1] ([equipable]))", development: true },
137
+ // { pattern: "([testsetup1] ([equipable]))", scope: "testing" },
138
138
  ],
139
139
  hierarchy: [
140
140
  ['weapon', 'countable'],
@@ -409,7 +409,7 @@ const config = {
409
409
  /*
410
410
  {
411
411
  id: "testsetup1",
412
- development: true,
412
+ scope: "testing",
413
413
  level: 0,
414
414
  bridge: "{ ...next(operator), type: after[0] }" ,
415
415
  localHierarchy: [ ['weapon', 'equipable'] ],
@@ -504,7 +504,6 @@ knowledgeModule({
504
504
  contents: pipboy_tests,
505
505
  checks: {
506
506
  objects: [
507
- 'apply', 'change', 'display', 'disarm', 'drink', 'eat', 'equip', 'setName', 'strip', 'take', 'wear',
508
507
  'apply', 'change', 'display', 'disarm', 'drink', 'eat', 'equip', 'setName', 'strip', 'take', 'wear', 'showWeapons',
509
508
  ],
510
509
  context: [defaultContextCheck()],
@@ -345,7 +345,7 @@ const config = {
345
345
  },
346
346
  {
347
347
  where: where(),
348
- match: ({context, hierarchy}) => hierarchy.isA(context.marker, 'canBeDoQuestion') && context.paraphrase && !context.query,
348
+ match: ({context, hierarchy}) => hierarchy.isA(context.marker, 'canBeDoQuestion') && context.paraphrase && !context.query && !context.interpolate,
349
349
  apply: async ({context, g}) => {
350
350
  return `${await g(context.object)} ${context.word} ${await g(context.property)}`
351
351
  }
@@ -686,6 +686,11 @@ knowledgeModule( {
686
686
  defaultContextCheck({ marker: 'objectPrefix', exported: true, extra: ['object', 'objects'] }),
687
687
  defaultContextCheck()
688
688
  ],
689
+ /*
690
+ objects: [
691
+ 'relations'
692
+ ]
693
+ */
689
694
  },
690
695
  include: {
691
696
  words: true,
@@ -5,7 +5,7 @@
5
5
  "([remindable])",
6
6
  {
7
7
  "pattern": "([addRemindable] (word)*)",
8
- "development": true
8
+ "scope": "testing"
9
9
  },
10
10
  "([remind:justWhoBridge] (remindable/*))",
11
11
  "([remind] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
@@ -53,7 +53,7 @@
53
53
  "isA": [
54
54
  "verb"
55
55
  ],
56
- "development": true,
56
+ "scope": "testing",
57
57
  "bridge": "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
58
58
  "semantic": "async ({api, context}) => {\n const name = context.arg.map( (word) => word.text ).join(' ')\n await api.addRemindable(name)\n }"
59
59
  },
@@ -140,7 +140,7 @@
140
140
  "([remindable])",
141
141
  {
142
142
  "pattern": "([addRemindable] (word)*)",
143
- "development": true
143
+ "scope": "testing"
144
144
  },
145
145
  "([remind:justWhoBridge] (remindable/*))",
146
146
  "([remind] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
@@ -186,7 +186,7 @@
186
186
  "isA": [
187
187
  "verb"
188
188
  ],
189
- "development": true,
189
+ "scope": "testing",
190
190
  "bridge": "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }"
191
191
  },
192
192
  {
@@ -241,7 +241,7 @@ const template = {
241
241
  {
242
242
  operators: [
243
243
  "([remindable])",
244
- { pattern: "([addRemindable] (word)*)", development: true },
244
+ { pattern: "([addRemindable] (word)*)", scope: "testing" },
245
245
  "([remind:justWhoBridge] (remindable/*))",
246
246
  "([remind] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')*)",
247
247
  "([remind:withDateBridge] (remindable/*) (!@<= 'dateTimeSelector' && !@<= 'inAddition')* (dateTimeSelector))",
@@ -283,7 +283,7 @@ const template = {
283
283
  {
284
284
  id: 'addRemindable',
285
285
  isA: ['verb'],
286
- development: true,
286
+ scope: "testing",
287
287
  bridge: "{ ...next(operator), complete: true, flatten: true, arg: after[0], operator: operator, interpolate: '${operator} ${arg}' }",
288
288
  semantic: async ({api, context}) => {
289
289
  const name = context.arg.map( (word) => word.text ).join(' ')
@@ -1048,7 +1048,7 @@
1048
1048
  }
1049
1049
  ]
1050
1050
  },
1051
- "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, 1) - \"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. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, 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: \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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 9) - \"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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 13) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 19) - \"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) - \"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: \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. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, 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: \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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 9) - \"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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 13) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 19) - \"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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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 - \"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([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['queryable', 'theAble', 'comparable', 'listable', 'number', 'quantity', '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: \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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['queryable', 'theAble', 'comparable', 'listable', 'number', 'quantity', 'quantifier', 'property']\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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 13) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 19) - \"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 - \"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: \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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['queryable', 'theAble', 'comparable', 'listable', 'number', 'quantity', 'quantifier', 'property']\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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['queryable', 'theAble', 'comparable', 'listable', 'number', 'quantity', 'quantifier', 'property']\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) - \"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: \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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['queryable', 'theAble', 'comparable', 'listable', 'number', 'quantity', 'quantifier', 'property']\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 - \"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: \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. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 5) - \"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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 8) - \"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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 12) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"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) - \"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: \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. Operator(list/0, PASS, ['Selector(Bridge(\\'{ ...next(operator), listable: true, isList: true, value: append(before, after) }\\'), , same/(), [And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])], bridge(bridge))'], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge)) (1, 5) - \"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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 8) - \"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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 12) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"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(context.instance, variables.instance))'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'Listable(Unify(context.instance, 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 - \"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([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'Listable(Unify(context.instance, variables.instance))\\'])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'found_types': ['quantity', 'price'], 'type': ['quantifier', 'quantity', 'listable', 'number', 'queryable', 'theAble', 'property', 'comparable']}) bridge(bridge)) (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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['quantifier', 'quantity', 'listable', 'number', 'queryable', 'theAble', 'property', 'comparable']\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. Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [ListableType(Listable(Type('queryable')))]<==>[ListableType(Listable(Type('queryable')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)) (1, 12) - \"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. Operator(property/0, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (1, 18) - \"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 - \"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: \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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['quantifier', 'quantity', 'listable', 'number', 'queryable', 'theAble', 'property', 'comparable']\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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['quantifier', 'quantity', 'listable', 'number', 'queryable', 'theAble', 'property', 'comparable']\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) - \"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: \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(context.instance, variables.instance))'])]\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, value: append(before, operator.value) }')\n Variables:\n found_types: ['quantity', 'price']\n type: ['quantifier', 'quantity', 'listable', 'number', 'queryable', 'theAble', 'property', 'comparable']\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",
1052
1052
  "contexts": [
1053
1053
  {
1054
1054
  "number": "many",
@@ -2464,7 +2464,7 @@
2464
2464
  }
2465
2465
  ]
2466
2466
  },
2467
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. unknown/0 - \"worth\"\n 1. means/0 - \"means\"\n 2. price/0 - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (1, 0) - \"worth\"\n {\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('unknown', 0)\n Context:\n {\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n 2. price/0 - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) 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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n *2. price/1 (dead) - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=4) is ('quantity', 0)\n Context:\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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n 2. price/1 (dead) - \"price\"\n 3. timesOperator/0 - \"times\"\n *4. quantity/1 (dead) - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 2) - \"quantity\"\n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=3) is ('timesOperator', 0)\n Context:\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), val\n null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value:\n null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n *2. timesExpression/1 (dead) - \"price times quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (3, 0) - \"price times quantity\"\n {\n prioritized_by: [('timesOperator', 0)]\n dead: true\n evaluate: true\n isResponse: true\n marker: \n Operator(timesExpression/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: \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': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: \n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('means', 0)\n Context:\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n\n\n>>>>>>>>>>>>> Counter 6\n summary\n\n *0. means/1 (dead) - \"worth means price times quantity\"\n\n details\n\n 0. Operator(means/1, ['Selector(None, , [Any]<==>[Any], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (4, 0) - \"worth means price times quantity\"\n {\n prioritized_by: [('means', 0)]\n dead: true\n default: true\n from: \n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n marker: \n Operator(means/1)\n Selectors:\n [\n Selector\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n\n range: {'start': 0, 'end': 31}\n text: \"worth means price times quantity\"\n to: \n {\n prioritized_by: [('timesOperator', 0)]\n dead: true\n evaluate: true\n isResponse: true\n marker: \n Operator(timesExpression/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: \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': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: \n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
2467
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. unknown/0 - \"worth\"\n 1. means/0 - \"means\"\n 2. price/0 - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (1, 0) - \"worth\"\n {\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 5) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 11) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('unknown', 0)\n Context:\n {\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n\n>>>>>>>>>>>>> Counter 2\n summary\n\n *0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n 2. price/0 - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 5) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 11) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) 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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n *2. price/1 (dead) - \"price\"\n 3. timesOperator/0 - \"times\"\n 4. quantity/0 - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)) (1, 11) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=4) is ('quantity', 0)\n Context:\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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n 2. price/1 (dead) - \"price\"\n 3. timesOperator/0 - \"times\"\n *4. quantity/1 (dead) - \"quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [ListableType(Listable(Type('number')))]<==>[ListableType(Listable(Type('number')))], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (2, 2) - \"quantity\"\n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=3) is ('timesOperator', 0)\n Context:\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), val\n null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n Left Selector: [ListableType(Listable(Type('number')))]\n Right Selector: [ListableType(Listable(Type('number')))]\n ]\n Evaluator:\n Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value:\n null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n 0. unknown/0 (dead) - \"worth\"\n 1. means/0 - \"means\"\n *2. timesExpression/1 (dead) - \"price times quantity\"\n\n details\n\n 0. Operator(unknown/0, [\"Selector(Bridge('{ ...operator, unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...operator, unknown: true, dead: true }')), variables({}) bridge(bridge)) (2, 0) - \"worth\"\n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)) (1, 2) - \"means\"\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (3, 0) - \"price times quantity\"\n {\n prioritized_by: [('timesOperator', 0)]\n dead: true\n evaluate: true\n isResponse: true\n marker: \n Operator(timesExpression/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: \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': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: \n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is ('means', 0)\n Context:\n {\n default: true\n marker: \n Operator(means/0)\n Selectors:\n [\n Selector\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n Evaluator:\n Bridge('{ ...next(operator), from: before[0], to: after[0] }')\n\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n\n\n>>>>>>>>>>>>> Counter 6\n summary\n\n *0. means/1 (dead) - \"worth means price times quantity\"\n\n details\n\n 0. Operator(means/1, ['Selector(None, , [Any]<==>[Any], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)) (4, 0) - \"worth means price times quantity\"\n {\n prioritized_by: [('means', 0)]\n dead: true\n default: true\n from: \n {\n prioritized_by: [('unknown', 0)]\n dead: true\n marker: \n Operator(unknown/0)\n Selectors:\n [\n Selector\n Bridge('{ ...operator, unknown: true, dead: true }')\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge('{ ...operator, unknown: true, dead: true }')\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n marker: \n Operator(means/1)\n Selectors:\n [\n Selector\n Left Selector: [Any]\n Right Selector: [Any]\n ]\n\n range: {'start': 0, 'end': 31}\n text: \"worth means price times quantity\"\n to: \n {\n prioritized_by: [('timesOperator', 0)]\n dead: true\n evaluate: true\n isResponse: true\n marker: \n Operator(timesExpression/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: \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': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: \n {\n prioritized_by: [('quantity', 0)]\n dead: true\n default: true\n marker: \n Operator(quantity/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
2468
2468
  "contexts": [
2469
2469
  {
2470
2470
  "marker": "means",
@@ -19,8 +19,8 @@ const game = {
19
19
  const template = {
20
20
  configs: [
21
21
  // "start a new game\ngreg and jeff",
22
- // { query: "start a new game", development: true },
23
- // { query: "the winning score is 20", development: true },
22
+ // { query: "start a new game", scope: "testing" },
23
+ // { query: "the winning score is 20", scope: "testing" },
24
24
  ],
25
25
  }
26
26