ekms 7.12.7 → 7.12.8-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/common/animals.instance.json +0 -44
- package/common/dialogues.js +106 -3
- package/common/dimension.instance.json +736 -62
- package/common/dimension.js +15 -7
- package/common/edible.instance.json +2 -190
- package/common/fastfood.instance.json +886 -922
- package/common/formulas.instance.json +992 -0
- package/common/formulas.js +18 -5
- package/common/formulas.test.json +1187 -3651
- package/common/length.instance.json +261 -505
- package/common/math.instance.json +1979 -1
- package/common/math.js +17 -5
- package/common/ordering.instance.json +0 -52
- package/common/pipboy.instance.json +23454 -1101
- package/common/pipboy.js +31 -4
- package/common/pipboy.test.json +13 -9
- package/common/pokemon.instance.json +0 -44
- package/common/pressure.instance.json +80 -0
- package/common/reports.instance.json +17 -1
- package/common/temperature.instance.json +80 -60
- package/common/ui.instance.json +8 -0
- package/common/weight.instance.json +272 -48
- package/main.js +0 -8
- package/package.json +4 -20
- package/common/dimensionTemplate.instance.json +0 -582
- package/common/dimensionTemplate.js +0 -35
- package/common/dimensionTemplate.test.json +0 -2
- package/common/formulasTemplate.instance.json +0 -483
- package/common/formulasTemplate.js +0 -30
- package/common/formulasTemplate.test.json +0 -2
- package/common/mathTemplate.instance.json +0 -1635
- package/common/mathTemplate.js +0 -32
- package/common/mathTemplate.test.json +0 -1422
- package/common/pipboyTemplate.instance.json +0 -17420
- package/common/pipboyTemplate.js +0 -48
- package/common/pipboyTemplate.test.json +0 -2
package/common/pipboy.js
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
const { Config, knowledgeModule, where, Digraph } = require('./runtime').theprogrammablemind
|
2
2
|
const { defaultContextCheck } = require('./helpers')
|
3
|
-
const
|
3
|
+
const hierarchy = require('./hierarchy')
|
4
4
|
const countable = require('./countable')
|
5
5
|
const math = require('./math')
|
6
6
|
const comparable = require('./comparable')
|
7
7
|
const help = require('./help')
|
8
8
|
const pipboy_tests = require('./pipboy.test.json')
|
9
|
+
const instance = require('./pipboy.instance.json')
|
9
10
|
|
10
11
|
// start/stop listening
|
11
12
|
class API {
|
@@ -501,11 +502,36 @@ addWeapon('pistol')
|
|
501
502
|
addWeapon('rifle')
|
502
503
|
*/
|
503
504
|
|
505
|
+
const template = {
|
506
|
+
queries: [
|
507
|
+
"pistols rifles grenades mines and shotguns are weapons",
|
508
|
+
"mines and grenades are explosives",
|
509
|
+
"explosives are weapons",
|
510
|
+
"pistols rifles and shotguns are firearms",
|
511
|
+
"firearms are weapons",
|
512
|
+
"hats armor and suits are clothes",
|
513
|
+
// "a rifle is a weapon",
|
514
|
+
//"a weapon is equipable and changeable"
|
515
|
+
"a weapon is equipable",
|
516
|
+
"clothes are wearable",
|
517
|
+
// "weapons are countable", TODO fix this
|
518
|
+
"edible is a concept",
|
519
|
+
"food is edible",
|
520
|
+
"drinks are drinkable",
|
521
|
+
"meat is food",
|
522
|
+
"vegetables and fruit are food",
|
523
|
+
"cola and pop are drinks",
|
524
|
+
"medicine and stimpaks are takeable",
|
525
|
+
"item modifies properties",
|
526
|
+
"damage luck hp rads value ap charisma range and accuracy are item properties",
|
527
|
+
configStruct,
|
528
|
+
]
|
529
|
+
}
|
530
|
+
|
504
531
|
const createConfig = () => {
|
505
|
-
const config = new Config(
|
532
|
+
const config = new Config({ name: 'pipboy' }, module)
|
506
533
|
config.stop_auto_rebuild()
|
507
|
-
|
508
|
-
config.add(base_km(), countable(), comparable(), help(), math())
|
534
|
+
config.add(hierarchy(), countable(), comparable(), help(), math())
|
509
535
|
// console.log('config.config.hierarchy', JSON.stringify(config.config.hierarchy, null, 2))
|
510
536
|
// console.log('config.hierarchy', config.hierarchy)
|
511
537
|
config.api = api
|
@@ -517,6 +543,7 @@ knowledgeModule({
|
|
517
543
|
module,
|
518
544
|
description: 'Control a pipboy with speech',
|
519
545
|
createConfig,
|
546
|
+
template: { template, instance },
|
520
547
|
test: {
|
521
548
|
name: './pipboy.test.json',
|
522
549
|
contents: pipboy_tests,
|
package/common/pipboy.test.json
CHANGED
@@ -24514,7 +24514,6 @@
|
|
24514
24514
|
"help": "help2",
|
24515
24515
|
"hierarchy": "hierarchy2",
|
24516
24516
|
"math": "math2",
|
24517
|
-
"mathTemplate": "mathTemplate2",
|
24518
24517
|
"meta": "meta2",
|
24519
24518
|
"numbers": "numbers2",
|
24520
24519
|
"pipboy": "pipboy1",
|
@@ -24550,8 +24549,6 @@
|
|
24550
24549
|
},
|
24551
24550
|
"math2": {
|
24552
24551
|
},
|
24553
|
-
"mathTemplate2": {
|
24554
|
-
},
|
24555
24552
|
"meta2": {
|
24556
24553
|
},
|
24557
24554
|
"numbers2": {
|
@@ -24646,7 +24643,8 @@
|
|
24646
24643
|
"whose"
|
24647
24644
|
],
|
24648
24645
|
"preposition": [
|
24649
|
-
"between"
|
24646
|
+
"between",
|
24647
|
+
"to"
|
24650
24648
|
],
|
24651
24649
|
"pronoun": [
|
24652
24650
|
"it",
|
@@ -24743,13 +24741,14 @@
|
|
24743
24741
|
"whatAble",
|
24744
24742
|
"is",
|
24745
24743
|
"toAble",
|
24744
|
+
"to",
|
24746
24745
|
"noun",
|
24747
24746
|
"thisitthat",
|
24748
24747
|
"reason",
|
24749
24748
|
"that",
|
24749
|
+
"number",
|
24750
24750
|
"orAble",
|
24751
24751
|
"ifAble",
|
24752
|
-
"number",
|
24753
24752
|
"*",
|
24754
24753
|
"mathematical_operator",
|
24755
24754
|
"+",
|
@@ -24966,6 +24965,9 @@
|
|
24966
24965
|
"thisitthat": [
|
24967
24966
|
"queryable"
|
24968
24967
|
],
|
24968
|
+
"to": [
|
24969
|
+
"preposition"
|
24970
|
+
],
|
24969
24971
|
"unknown": [
|
24970
24972
|
"hierarchyAble",
|
24971
24973
|
"object",
|
@@ -25136,6 +25138,8 @@
|
|
25136
25138
|
},
|
25137
25139
|
"thisitthat": {
|
25138
25140
|
},
|
25141
|
+
"to": {
|
25142
|
+
},
|
25139
25143
|
"toAble": {
|
25140
25144
|
},
|
25141
25145
|
"unknown": {
|
@@ -25234,8 +25238,8 @@
|
|
25234
25238
|
"word": "apply"
|
25235
25239
|
},
|
25236
25240
|
"generatedParenthesized": "",
|
25237
|
-
"paraphrases": "apply
|
25238
|
-
"paraphrasesParenthesized": "(apply ((
|
25241
|
+
"paraphrases": "apply 4 stimpacks",
|
25242
|
+
"paraphrasesParenthesized": "(apply ((4) (stimpacks)))",
|
25239
25243
|
"responses": [
|
25240
25244
|
""
|
25241
25245
|
]
|
@@ -25758,10 +25762,10 @@
|
|
25758
25762
|
]
|
25759
25763
|
},
|
25760
25764
|
"paraphrases": [
|
25761
|
-
"apply
|
25765
|
+
"apply 4 stimpacks"
|
25762
25766
|
],
|
25763
25767
|
"paraphrasesParenthesized": [
|
25764
|
-
"(apply ((
|
25768
|
+
"(apply ((4) (stimpacks)))"
|
25765
25769
|
],
|
25766
25770
|
"query": "apply four stimpacks",
|
25767
25771
|
"responses": [
|
@@ -1783,28 +1783,6 @@
|
|
1783
1783
|
1
|
1784
1784
|
]
|
1785
1785
|
],
|
1786
|
-
[
|
1787
|
-
[
|
1788
|
-
"is",
|
1789
|
-
0
|
1790
|
-
],
|
1791
|
-
[
|
1792
|
-
"list",
|
1793
|
-
0
|
1794
|
-
],
|
1795
|
-
[
|
1796
|
-
"pokemon",
|
1797
|
-
0
|
1798
|
-
],
|
1799
|
-
[
|
1800
|
-
"unknown",
|
1801
|
-
0
|
1802
|
-
],
|
1803
|
-
[
|
1804
|
-
"unknown",
|
1805
|
-
1
|
1806
|
-
]
|
1807
|
-
],
|
1808
1786
|
[
|
1809
1787
|
[
|
1810
1788
|
"is",
|
@@ -11691,28 +11669,6 @@
|
|
11691
11669
|
1
|
11692
11670
|
]
|
11693
11671
|
],
|
11694
|
-
[
|
11695
|
-
[
|
11696
|
-
"is",
|
11697
|
-
0
|
11698
|
-
],
|
11699
|
-
[
|
11700
|
-
"list",
|
11701
|
-
0
|
11702
|
-
],
|
11703
|
-
[
|
11704
|
-
"pokemon",
|
11705
|
-
0
|
11706
|
-
],
|
11707
|
-
[
|
11708
|
-
"unknown",
|
11709
|
-
0
|
11710
|
-
],
|
11711
|
-
[
|
11712
|
-
"unknown",
|
11713
|
-
1
|
11714
|
-
]
|
11715
|
-
],
|
11716
11672
|
[
|
11717
11673
|
[
|
11718
11674
|
"is",
|
@@ -192,6 +192,10 @@
|
|
192
192
|
"convertToUnits",
|
193
193
|
"queryable"
|
194
194
|
],
|
195
|
+
[
|
196
|
+
"convertToUnits",
|
197
|
+
"testingValue"
|
198
|
+
],
|
195
199
|
[
|
196
200
|
"countable",
|
197
201
|
"hierarchyAble"
|
@@ -344,6 +348,10 @@
|
|
344
348
|
"it",
|
345
349
|
"toAble"
|
346
350
|
],
|
351
|
+
[
|
352
|
+
"length",
|
353
|
+
"dimension"
|
354
|
+
],
|
347
355
|
[
|
348
356
|
"lowest",
|
349
357
|
"condition"
|
@@ -572,6 +580,10 @@
|
|
572
580
|
"reason",
|
573
581
|
"theAble"
|
574
582
|
],
|
583
|
+
[
|
584
|
+
"testingValue",
|
585
|
+
"testingValue"
|
586
|
+
],
|
575
587
|
[
|
576
588
|
"that",
|
577
589
|
"thisitthat"
|
@@ -696,9 +708,17 @@
|
|
696
708
|
"whose",
|
697
709
|
"object"
|
698
710
|
],
|
711
|
+
[
|
712
|
+
"x",
|
713
|
+
"number"
|
714
|
+
],
|
699
715
|
[
|
700
716
|
"xfx",
|
701
717
|
"queryable"
|
718
|
+
],
|
719
|
+
[
|
720
|
+
"y",
|
721
|
+
"number"
|
702
722
|
]
|
703
723
|
],
|
704
724
|
"metadata": {
|
@@ -1128,6 +1148,10 @@
|
|
1128
1148
|
"convertToUnits",
|
1129
1149
|
"queryable"
|
1130
1150
|
],
|
1151
|
+
[
|
1152
|
+
"convertToUnits",
|
1153
|
+
"testingValue"
|
1154
|
+
],
|
1131
1155
|
[
|
1132
1156
|
"countable",
|
1133
1157
|
"hierarchyAble"
|
@@ -1280,6 +1304,10 @@
|
|
1280
1304
|
"it",
|
1281
1305
|
"toAble"
|
1282
1306
|
],
|
1307
|
+
[
|
1308
|
+
"length",
|
1309
|
+
"dimension"
|
1310
|
+
],
|
1283
1311
|
[
|
1284
1312
|
"lowest",
|
1285
1313
|
"condition"
|
@@ -1540,6 +1568,10 @@
|
|
1540
1568
|
"reason",
|
1541
1569
|
"theAble"
|
1542
1570
|
],
|
1571
|
+
[
|
1572
|
+
"testingValue",
|
1573
|
+
"testingValue"
|
1574
|
+
],
|
1543
1575
|
[
|
1544
1576
|
"that",
|
1545
1577
|
"thisitthat"
|
@@ -1664,9 +1696,17 @@
|
|
1664
1696
|
"whose",
|
1665
1697
|
"object"
|
1666
1698
|
],
|
1699
|
+
[
|
1700
|
+
"x",
|
1701
|
+
"number"
|
1702
|
+
],
|
1667
1703
|
[
|
1668
1704
|
"xfx",
|
1669
1705
|
"queryable"
|
1706
|
+
],
|
1707
|
+
[
|
1708
|
+
"y",
|
1709
|
+
"number"
|
1670
1710
|
]
|
1671
1711
|
],
|
1672
1712
|
"metadata": {
|
@@ -2443,6 +2483,10 @@
|
|
2443
2483
|
"convertToUnits",
|
2444
2484
|
"queryable"
|
2445
2485
|
],
|
2486
|
+
[
|
2487
|
+
"convertToUnits",
|
2488
|
+
"testingValue"
|
2489
|
+
],
|
2446
2490
|
[
|
2447
2491
|
"countable",
|
2448
2492
|
"hierarchyAble"
|
@@ -2595,6 +2639,10 @@
|
|
2595
2639
|
"it",
|
2596
2640
|
"toAble"
|
2597
2641
|
],
|
2642
|
+
[
|
2643
|
+
"length",
|
2644
|
+
"dimension"
|
2645
|
+
],
|
2598
2646
|
[
|
2599
2647
|
"lowest",
|
2600
2648
|
"condition"
|
@@ -2887,6 +2935,10 @@
|
|
2887
2935
|
"reason",
|
2888
2936
|
"theAble"
|
2889
2937
|
],
|
2938
|
+
[
|
2939
|
+
"testingValue",
|
2940
|
+
"testingValue"
|
2941
|
+
],
|
2890
2942
|
[
|
2891
2943
|
"that",
|
2892
2944
|
"thisitthat"
|
@@ -3011,9 +3063,17 @@
|
|
3011
3063
|
"whose",
|
3012
3064
|
"object"
|
3013
3065
|
],
|
3066
|
+
[
|
3067
|
+
"x",
|
3068
|
+
"number"
|
3069
|
+
],
|
3014
3070
|
[
|
3015
3071
|
"xfx",
|
3016
3072
|
"queryable"
|
3073
|
+
],
|
3074
|
+
[
|
3075
|
+
"y",
|
3076
|
+
"number"
|
3017
3077
|
]
|
3018
3078
|
],
|
3019
3079
|
"metadata": {
|
@@ -3514,6 +3574,10 @@
|
|
3514
3574
|
"convertToUnits",
|
3515
3575
|
"queryable"
|
3516
3576
|
],
|
3577
|
+
[
|
3578
|
+
"convertToUnits",
|
3579
|
+
"testingValue"
|
3580
|
+
],
|
3517
3581
|
[
|
3518
3582
|
"countable",
|
3519
3583
|
"hierarchyAble"
|
@@ -3666,6 +3730,10 @@
|
|
3666
3730
|
"it",
|
3667
3731
|
"toAble"
|
3668
3732
|
],
|
3733
|
+
[
|
3734
|
+
"length",
|
3735
|
+
"dimension"
|
3736
|
+
],
|
3669
3737
|
[
|
3670
3738
|
"lowest",
|
3671
3739
|
"condition"
|
@@ -3958,6 +4026,10 @@
|
|
3958
4026
|
"reason",
|
3959
4027
|
"theAble"
|
3960
4028
|
],
|
4029
|
+
[
|
4030
|
+
"testingValue",
|
4031
|
+
"testingValue"
|
4032
|
+
],
|
3961
4033
|
[
|
3962
4034
|
"that",
|
3963
4035
|
"thisitthat"
|
@@ -4082,9 +4154,17 @@
|
|
4082
4154
|
"whose",
|
4083
4155
|
"object"
|
4084
4156
|
],
|
4157
|
+
[
|
4158
|
+
"x",
|
4159
|
+
"number"
|
4160
|
+
],
|
4085
4161
|
[
|
4086
4162
|
"xfx",
|
4087
4163
|
"queryable"
|
4164
|
+
],
|
4165
|
+
[
|
4166
|
+
"y",
|
4167
|
+
"number"
|
4088
4168
|
]
|
4089
4169
|
],
|
4090
4170
|
"metadata": {
|
@@ -686,9 +686,17 @@
|
|
686
686
|
"whose",
|
687
687
|
"object"
|
688
688
|
],
|
689
|
+
[
|
690
|
+
"x",
|
691
|
+
"number"
|
692
|
+
],
|
689
693
|
[
|
690
694
|
"xfx",
|
691
695
|
"queryable"
|
696
|
+
],
|
697
|
+
[
|
698
|
+
"y",
|
699
|
+
"number"
|
692
700
|
]
|
693
701
|
],
|
694
702
|
"metadata": {
|
@@ -792,7 +800,7 @@
|
|
792
800
|
}
|
793
801
|
]
|
794
802
|
},
|
795
|
-
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (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. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], 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. quantity/0 (1, 2) - \"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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is 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 *0. price/1 (dead) (2, 0) - \"price\"\n {\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. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\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({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\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({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), 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({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) 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 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 default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) 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({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) 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, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\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({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) 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 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 default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
803
|
+
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (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. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], 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. quantity/0 (1, 2) - \"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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is 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 *0. price/1 (dead) (2, 0) - \"price\"\n {\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. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\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({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\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({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\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. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"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 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), 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({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) 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 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 default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) 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({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) 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, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\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({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) 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 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 default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
796
804
|
"contexts": [
|
797
805
|
{
|
798
806
|
"number": "many",
|
@@ -1647,9 +1655,17 @@
|
|
1647
1655
|
"whose",
|
1648
1656
|
"object"
|
1649
1657
|
],
|
1658
|
+
[
|
1659
|
+
"x",
|
1660
|
+
"number"
|
1661
|
+
],
|
1650
1662
|
[
|
1651
1663
|
"xfx",
|
1652
1664
|
"queryable"
|
1665
|
+
],
|
1666
|
+
[
|
1667
|
+
"y",
|
1668
|
+
"number"
|
1653
1669
|
]
|
1654
1670
|
],
|
1655
1671
|
"metadata": {
|