ekms 9.6.3-beta.17 → 9.6.3-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/conjunction.js +1 -1
- package/common/drone.instance.json +37 -1
- package/common/fastfood.instance.json +149 -360
- package/common/reports.instance.json +2 -2
- package/common/sdefaults.js +38 -11
- package/package.json +2 -2
package/common/conjunction.js
CHANGED
|
@@ -656,7 +656,7 @@
|
|
|
656
656
|
"timeAtPoint": "(@<= 'timeAtPoint')"
|
|
657
657
|
}
|
|
658
658
|
},
|
|
659
|
-
"semantic": "async ({context, remember, api, e, fragments, toFinalValue}) => {\n let time = context.time \n if (!time) {\n return\n }\n
|
|
659
|
+
"semantic": "async ({context, remember, api, e, fragments, toFinalValue}) => {\n let time = context.time \n if (!time) {\n return\n }\n if (time.marker == 'forQuantity') {\n time = time.quantity\n }\n const instantiation = await fragments(\"quantity in seconds\", { quantity: time})\n const result = await e(instantiation)\n const seconds = toFinalValue(toFinalValue(result).amount)\n context.pauseSeconds = seconds\n remember(context)\n api.pause(seconds)\n }"
|
|
660
660
|
},
|
|
661
661
|
{
|
|
662
662
|
"id": "pause",
|
|
@@ -51118,6 +51118,24 @@
|
|
|
51118
51118
|
0
|
|
51119
51119
|
]
|
|
51120
51120
|
],
|
|
51121
|
+
[
|
|
51122
|
+
[
|
|
51123
|
+
"is",
|
|
51124
|
+
0
|
|
51125
|
+
],
|
|
51126
|
+
[
|
|
51127
|
+
"list",
|
|
51128
|
+
1
|
|
51129
|
+
],
|
|
51130
|
+
[
|
|
51131
|
+
"point",
|
|
51132
|
+
0
|
|
51133
|
+
],
|
|
51134
|
+
[
|
|
51135
|
+
"unknown",
|
|
51136
|
+
0
|
|
51137
|
+
]
|
|
51138
|
+
],
|
|
51121
51139
|
[
|
|
51122
51140
|
[
|
|
51123
51141
|
"is",
|
|
@@ -97748,6 +97766,24 @@
|
|
|
97748
97766
|
0
|
|
97749
97767
|
]
|
|
97750
97768
|
],
|
|
97769
|
+
[
|
|
97770
|
+
[
|
|
97771
|
+
"is",
|
|
97772
|
+
0
|
|
97773
|
+
],
|
|
97774
|
+
[
|
|
97775
|
+
"list",
|
|
97776
|
+
1
|
|
97777
|
+
],
|
|
97778
|
+
[
|
|
97779
|
+
"point",
|
|
97780
|
+
0
|
|
97781
|
+
],
|
|
97782
|
+
[
|
|
97783
|
+
"unknown",
|
|
97784
|
+
0
|
|
97785
|
+
]
|
|
97786
|
+
],
|
|
97751
97787
|
[
|
|
97752
97788
|
[
|
|
97753
97789
|
"is",
|
|
@@ -93420,6 +93420,11 @@
|
|
|
93420
93420
|
"context_index": 1,
|
|
93421
93421
|
"topLevel": true,
|
|
93422
93422
|
"context_id": 2,
|
|
93423
|
+
"control": {
|
|
93424
|
+
"seen": [],
|
|
93425
|
+
"nextId": 2
|
|
93426
|
+
},
|
|
93427
|
+
"control_id": 1,
|
|
93423
93428
|
"touchedBy": [
|
|
93424
93429
|
"fastfood#call2"
|
|
93425
93430
|
]
|
|
@@ -93651,24 +93656,6 @@
|
|
|
93651
93656
|
0
|
|
93652
93657
|
]
|
|
93653
93658
|
],
|
|
93654
|
-
[
|
|
93655
|
-
[
|
|
93656
|
-
"list",
|
|
93657
|
-
1
|
|
93658
|
-
],
|
|
93659
|
-
[
|
|
93660
|
-
"modifies",
|
|
93661
|
-
0
|
|
93662
|
-
],
|
|
93663
|
-
[
|
|
93664
|
-
"strawberry",
|
|
93665
|
-
0
|
|
93666
|
-
],
|
|
93667
|
-
[
|
|
93668
|
-
"unknown",
|
|
93669
|
-
0
|
|
93670
|
-
]
|
|
93671
|
-
],
|
|
93672
93659
|
[
|
|
93673
93660
|
[
|
|
93674
93661
|
"list",
|
|
@@ -340122,24 +340109,6 @@
|
|
|
340122
340109
|
0
|
|
340123
340110
|
]
|
|
340124
340111
|
],
|
|
340125
|
-
[
|
|
340126
|
-
[
|
|
340127
|
-
"a",
|
|
340128
|
-
0
|
|
340129
|
-
],
|
|
340130
|
-
[
|
|
340131
|
-
"go_wrap",
|
|
340132
|
-
0
|
|
340133
|
-
],
|
|
340134
|
-
[
|
|
340135
|
-
"is",
|
|
340136
|
-
0
|
|
340137
|
-
],
|
|
340138
|
-
[
|
|
340139
|
-
"sandwich",
|
|
340140
|
-
0
|
|
340141
|
-
]
|
|
340142
|
-
],
|
|
340143
340112
|
[
|
|
340144
340113
|
[
|
|
340145
340114
|
"go_wrap",
|
|
@@ -358687,80 +358656,6 @@
|
|
|
358687
358656
|
0
|
|
358688
358657
|
]
|
|
358689
358658
|
],
|
|
358690
|
-
[
|
|
358691
|
-
[
|
|
358692
|
-
"breakfast",
|
|
358693
|
-
0
|
|
358694
|
-
],
|
|
358695
|
-
[
|
|
358696
|
-
"breakfast_baconator",
|
|
358697
|
-
0
|
|
358698
|
-
],
|
|
358699
|
-
[
|
|
358700
|
-
"chicken",
|
|
358701
|
-
0
|
|
358702
|
-
],
|
|
358703
|
-
[
|
|
358704
|
-
"comma",
|
|
358705
|
-
0
|
|
358706
|
-
],
|
|
358707
|
-
[
|
|
358708
|
-
"double",
|
|
358709
|
-
0
|
|
358710
|
-
],
|
|
358711
|
-
[
|
|
358712
|
-
"egg",
|
|
358713
|
-
0
|
|
358714
|
-
],
|
|
358715
|
-
[
|
|
358716
|
-
"french",
|
|
358717
|
-
0
|
|
358718
|
-
],
|
|
358719
|
-
[
|
|
358720
|
-
"french_toast_sandwich",
|
|
358721
|
-
0
|
|
358722
|
-
],
|
|
358723
|
-
[
|
|
358724
|
-
"is",
|
|
358725
|
-
0
|
|
358726
|
-
],
|
|
358727
|
-
[
|
|
358728
|
-
"list",
|
|
358729
|
-
0
|
|
358730
|
-
],
|
|
358731
|
-
[
|
|
358732
|
-
"meal",
|
|
358733
|
-
0
|
|
358734
|
-
],
|
|
358735
|
-
[
|
|
358736
|
-
"muffin",
|
|
358737
|
-
0
|
|
358738
|
-
],
|
|
358739
|
-
[
|
|
358740
|
-
"oatmeal",
|
|
358741
|
-
0
|
|
358742
|
-
],
|
|
358743
|
-
[
|
|
358744
|
-
"on",
|
|
358745
|
-
0
|
|
358746
|
-
],
|
|
358747
|
-
[
|
|
358748
|
-
"pancake",
|
|
358749
|
-
0
|
|
358750
|
-
],
|
|
358751
|
-
[
|
|
358752
|
-
"platter",
|
|
358753
|
-
0
|
|
358754
|
-
],
|
|
358755
|
-
[
|
|
358756
|
-
"sausage",
|
|
358757
|
-
0
|
|
358758
|
-
],
|
|
358759
|
-
[
|
|
358760
|
-
"toast",
|
|
358761
|
-
0
|
|
358762
|
-
]
|
|
358763
|
-
],
|
|
358764
358659
|
[
|
|
358765
358660
|
[
|
|
358766
358661
|
"breakfast",
|
|
@@ -358979,76 +358874,6 @@
|
|
|
358979
358874
|
0
|
|
358980
358875
|
]
|
|
358981
358876
|
],
|
|
358982
|
-
[
|
|
358983
|
-
[
|
|
358984
|
-
"breakfast",
|
|
358985
|
-
0
|
|
358986
|
-
],
|
|
358987
|
-
[
|
|
358988
|
-
"breakfast_baconator",
|
|
358989
|
-
0
|
|
358990
|
-
],
|
|
358991
|
-
[
|
|
358992
|
-
"chicken_on_french_toast",
|
|
358993
|
-
0
|
|
358994
|
-
],
|
|
358995
|
-
[
|
|
358996
|
-
"comma",
|
|
358997
|
-
0
|
|
358998
|
-
],
|
|
358999
|
-
[
|
|
359000
|
-
"double",
|
|
359001
|
-
0
|
|
359002
|
-
],
|
|
359003
|
-
[
|
|
359004
|
-
"egg_muffin",
|
|
359005
|
-
0
|
|
359006
|
-
],
|
|
359007
|
-
[
|
|
359008
|
-
"french",
|
|
359009
|
-
0
|
|
359010
|
-
],
|
|
359011
|
-
[
|
|
359012
|
-
"french_toast_sandwich",
|
|
359013
|
-
0
|
|
359014
|
-
],
|
|
359015
|
-
[
|
|
359016
|
-
"is",
|
|
359017
|
-
0
|
|
359018
|
-
],
|
|
359019
|
-
[
|
|
359020
|
-
"list",
|
|
359021
|
-
0
|
|
359022
|
-
],
|
|
359023
|
-
[
|
|
359024
|
-
"meal",
|
|
359025
|
-
0
|
|
359026
|
-
],
|
|
359027
|
-
[
|
|
359028
|
-
"muffin",
|
|
359029
|
-
0
|
|
359030
|
-
],
|
|
359031
|
-
[
|
|
359032
|
-
"oatmeal",
|
|
359033
|
-
0
|
|
359034
|
-
],
|
|
359035
|
-
[
|
|
359036
|
-
"pancake",
|
|
359037
|
-
0
|
|
359038
|
-
],
|
|
359039
|
-
[
|
|
359040
|
-
"pancake_platter",
|
|
359041
|
-
0
|
|
359042
|
-
],
|
|
359043
|
-
[
|
|
359044
|
-
"sausage",
|
|
359045
|
-
0
|
|
359046
|
-
],
|
|
359047
|
-
[
|
|
359048
|
-
"toast",
|
|
359049
|
-
0
|
|
359050
|
-
]
|
|
359051
|
-
],
|
|
359052
358877
|
[
|
|
359053
358878
|
[
|
|
359054
358879
|
"breakfast",
|
|
@@ -613590,6 +613415,60 @@
|
|
|
613590
613415
|
0
|
|
613591
613416
|
]
|
|
613592
613417
|
],
|
|
613418
|
+
[
|
|
613419
|
+
[
|
|
613420
|
+
"bacon",
|
|
613421
|
+
0
|
|
613422
|
+
],
|
|
613423
|
+
[
|
|
613424
|
+
"cheeseburger",
|
|
613425
|
+
0
|
|
613426
|
+
],
|
|
613427
|
+
[
|
|
613428
|
+
"chicken",
|
|
613429
|
+
0
|
|
613430
|
+
],
|
|
613431
|
+
[
|
|
613432
|
+
"club",
|
|
613433
|
+
0
|
|
613434
|
+
],
|
|
613435
|
+
[
|
|
613436
|
+
"comma",
|
|
613437
|
+
0
|
|
613438
|
+
],
|
|
613439
|
+
[
|
|
613440
|
+
"crispy",
|
|
613441
|
+
0
|
|
613442
|
+
],
|
|
613443
|
+
[
|
|
613444
|
+
"go",
|
|
613445
|
+
0
|
|
613446
|
+
],
|
|
613447
|
+
[
|
|
613448
|
+
"is",
|
|
613449
|
+
0
|
|
613450
|
+
],
|
|
613451
|
+
[
|
|
613452
|
+
"junior",
|
|
613453
|
+
0
|
|
613454
|
+
],
|
|
613455
|
+
[
|
|
613456
|
+
"list",
|
|
613457
|
+
0
|
|
613458
|
+
],
|
|
613459
|
+
[
|
|
613460
|
+
"meal",
|
|
613461
|
+
0
|
|
613462
|
+
],
|
|
613463
|
+
[
|
|
613464
|
+
"value",
|
|
613465
|
+
0
|
|
613466
|
+
],
|
|
613467
|
+
[
|
|
613468
|
+
"wrap",
|
|
613469
|
+
0
|
|
613470
|
+
]
|
|
613471
|
+
],
|
|
613593
613472
|
[
|
|
613594
613473
|
[
|
|
613595
613474
|
"bacon_cheeseburger",
|
|
@@ -613992,6 +613871,24 @@
|
|
|
613992
613871
|
0
|
|
613993
613872
|
]
|
|
613994
613873
|
],
|
|
613874
|
+
[
|
|
613875
|
+
[
|
|
613876
|
+
"is",
|
|
613877
|
+
0
|
|
613878
|
+
],
|
|
613879
|
+
[
|
|
613880
|
+
"list",
|
|
613881
|
+
1
|
|
613882
|
+
],
|
|
613883
|
+
[
|
|
613884
|
+
"meal",
|
|
613885
|
+
0
|
|
613886
|
+
],
|
|
613887
|
+
[
|
|
613888
|
+
"value",
|
|
613889
|
+
0
|
|
613890
|
+
]
|
|
613891
|
+
],
|
|
613995
613892
|
[
|
|
613996
613893
|
[
|
|
613997
613894
|
"is",
|
|
@@ -627659,24 +627556,6 @@
|
|
|
627659
627556
|
0
|
|
627660
627557
|
]
|
|
627661
627558
|
],
|
|
627662
|
-
[
|
|
627663
|
-
[
|
|
627664
|
-
"a",
|
|
627665
|
-
0
|
|
627666
|
-
],
|
|
627667
|
-
[
|
|
627668
|
-
"go_wrap",
|
|
627669
|
-
0
|
|
627670
|
-
],
|
|
627671
|
-
[
|
|
627672
|
-
"is",
|
|
627673
|
-
0
|
|
627674
|
-
],
|
|
627675
|
-
[
|
|
627676
|
-
"sandwich",
|
|
627677
|
-
0
|
|
627678
|
-
]
|
|
627679
|
-
],
|
|
627680
627559
|
[
|
|
627681
627560
|
[
|
|
627682
627561
|
"a",
|
|
@@ -628179,6 +628058,60 @@
|
|
|
628179
628058
|
0
|
|
628180
628059
|
]
|
|
628181
628060
|
],
|
|
628061
|
+
[
|
|
628062
|
+
[
|
|
628063
|
+
"bacon",
|
|
628064
|
+
0
|
|
628065
|
+
],
|
|
628066
|
+
[
|
|
628067
|
+
"cheeseburger",
|
|
628068
|
+
0
|
|
628069
|
+
],
|
|
628070
|
+
[
|
|
628071
|
+
"chicken",
|
|
628072
|
+
0
|
|
628073
|
+
],
|
|
628074
|
+
[
|
|
628075
|
+
"club",
|
|
628076
|
+
0
|
|
628077
|
+
],
|
|
628078
|
+
[
|
|
628079
|
+
"comma",
|
|
628080
|
+
0
|
|
628081
|
+
],
|
|
628082
|
+
[
|
|
628083
|
+
"crispy",
|
|
628084
|
+
0
|
|
628085
|
+
],
|
|
628086
|
+
[
|
|
628087
|
+
"go",
|
|
628088
|
+
0
|
|
628089
|
+
],
|
|
628090
|
+
[
|
|
628091
|
+
"is",
|
|
628092
|
+
0
|
|
628093
|
+
],
|
|
628094
|
+
[
|
|
628095
|
+
"junior",
|
|
628096
|
+
0
|
|
628097
|
+
],
|
|
628098
|
+
[
|
|
628099
|
+
"list",
|
|
628100
|
+
0
|
|
628101
|
+
],
|
|
628102
|
+
[
|
|
628103
|
+
"meal",
|
|
628104
|
+
0
|
|
628105
|
+
],
|
|
628106
|
+
[
|
|
628107
|
+
"value",
|
|
628108
|
+
0
|
|
628109
|
+
],
|
|
628110
|
+
[
|
|
628111
|
+
"wrap",
|
|
628112
|
+
0
|
|
628113
|
+
]
|
|
628114
|
+
],
|
|
628182
628115
|
[
|
|
628183
628116
|
[
|
|
628184
628117
|
"bacon",
|
|
@@ -629467,80 +629400,6 @@
|
|
|
629467
629400
|
0
|
|
629468
629401
|
]
|
|
629469
629402
|
],
|
|
629470
|
-
[
|
|
629471
|
-
[
|
|
629472
|
-
"breakfast",
|
|
629473
|
-
0
|
|
629474
|
-
],
|
|
629475
|
-
[
|
|
629476
|
-
"breakfast_baconator",
|
|
629477
|
-
0
|
|
629478
|
-
],
|
|
629479
|
-
[
|
|
629480
|
-
"chicken",
|
|
629481
|
-
0
|
|
629482
|
-
],
|
|
629483
|
-
[
|
|
629484
|
-
"comma",
|
|
629485
|
-
0
|
|
629486
|
-
],
|
|
629487
|
-
[
|
|
629488
|
-
"double",
|
|
629489
|
-
0
|
|
629490
|
-
],
|
|
629491
|
-
[
|
|
629492
|
-
"egg",
|
|
629493
|
-
0
|
|
629494
|
-
],
|
|
629495
|
-
[
|
|
629496
|
-
"french",
|
|
629497
|
-
0
|
|
629498
|
-
],
|
|
629499
|
-
[
|
|
629500
|
-
"french_toast_sandwich",
|
|
629501
|
-
0
|
|
629502
|
-
],
|
|
629503
|
-
[
|
|
629504
|
-
"is",
|
|
629505
|
-
0
|
|
629506
|
-
],
|
|
629507
|
-
[
|
|
629508
|
-
"list",
|
|
629509
|
-
0
|
|
629510
|
-
],
|
|
629511
|
-
[
|
|
629512
|
-
"meal",
|
|
629513
|
-
0
|
|
629514
|
-
],
|
|
629515
|
-
[
|
|
629516
|
-
"muffin",
|
|
629517
|
-
0
|
|
629518
|
-
],
|
|
629519
|
-
[
|
|
629520
|
-
"oatmeal",
|
|
629521
|
-
0
|
|
629522
|
-
],
|
|
629523
|
-
[
|
|
629524
|
-
"on",
|
|
629525
|
-
0
|
|
629526
|
-
],
|
|
629527
|
-
[
|
|
629528
|
-
"pancake",
|
|
629529
|
-
0
|
|
629530
|
-
],
|
|
629531
|
-
[
|
|
629532
|
-
"platter",
|
|
629533
|
-
0
|
|
629534
|
-
],
|
|
629535
|
-
[
|
|
629536
|
-
"sausage",
|
|
629537
|
-
0
|
|
629538
|
-
],
|
|
629539
|
-
[
|
|
629540
|
-
"toast",
|
|
629541
|
-
0
|
|
629542
|
-
]
|
|
629543
|
-
],
|
|
629544
629403
|
[
|
|
629545
629404
|
[
|
|
629546
629405
|
"breakfast",
|
|
@@ -629759,76 +629618,6 @@
|
|
|
629759
629618
|
0
|
|
629760
629619
|
]
|
|
629761
629620
|
],
|
|
629762
|
-
[
|
|
629763
|
-
[
|
|
629764
|
-
"breakfast",
|
|
629765
|
-
0
|
|
629766
|
-
],
|
|
629767
|
-
[
|
|
629768
|
-
"breakfast_baconator",
|
|
629769
|
-
0
|
|
629770
|
-
],
|
|
629771
|
-
[
|
|
629772
|
-
"chicken_on_french_toast",
|
|
629773
|
-
0
|
|
629774
|
-
],
|
|
629775
|
-
[
|
|
629776
|
-
"comma",
|
|
629777
|
-
0
|
|
629778
|
-
],
|
|
629779
|
-
[
|
|
629780
|
-
"double",
|
|
629781
|
-
0
|
|
629782
|
-
],
|
|
629783
|
-
[
|
|
629784
|
-
"egg_muffin",
|
|
629785
|
-
0
|
|
629786
|
-
],
|
|
629787
|
-
[
|
|
629788
|
-
"french",
|
|
629789
|
-
0
|
|
629790
|
-
],
|
|
629791
|
-
[
|
|
629792
|
-
"french_toast_sandwich",
|
|
629793
|
-
0
|
|
629794
|
-
],
|
|
629795
|
-
[
|
|
629796
|
-
"is",
|
|
629797
|
-
0
|
|
629798
|
-
],
|
|
629799
|
-
[
|
|
629800
|
-
"list",
|
|
629801
|
-
0
|
|
629802
|
-
],
|
|
629803
|
-
[
|
|
629804
|
-
"meal",
|
|
629805
|
-
0
|
|
629806
|
-
],
|
|
629807
|
-
[
|
|
629808
|
-
"muffin",
|
|
629809
|
-
0
|
|
629810
|
-
],
|
|
629811
|
-
[
|
|
629812
|
-
"oatmeal",
|
|
629813
|
-
0
|
|
629814
|
-
],
|
|
629815
|
-
[
|
|
629816
|
-
"pancake",
|
|
629817
|
-
0
|
|
629818
|
-
],
|
|
629819
|
-
[
|
|
629820
|
-
"pancake_platter",
|
|
629821
|
-
0
|
|
629822
|
-
],
|
|
629823
|
-
[
|
|
629824
|
-
"sausage",
|
|
629825
|
-
0
|
|
629826
|
-
],
|
|
629827
|
-
[
|
|
629828
|
-
"toast",
|
|
629829
|
-
0
|
|
629830
|
-
]
|
|
629831
|
-
],
|
|
629832
629621
|
[
|
|
629833
629622
|
[
|
|
629834
629623
|
"breakfast",
|
|
@@ -632953,6 +632742,24 @@
|
|
|
632953
632742
|
0
|
|
632954
632743
|
]
|
|
632955
632744
|
],
|
|
632745
|
+
[
|
|
632746
|
+
[
|
|
632747
|
+
"is",
|
|
632748
|
+
0
|
|
632749
|
+
],
|
|
632750
|
+
[
|
|
632751
|
+
"list",
|
|
632752
|
+
1
|
|
632753
|
+
],
|
|
632754
|
+
[
|
|
632755
|
+
"meal",
|
|
632756
|
+
0
|
|
632757
|
+
],
|
|
632758
|
+
[
|
|
632759
|
+
"value",
|
|
632760
|
+
0
|
|
632761
|
+
]
|
|
632762
|
+
],
|
|
632956
632763
|
[
|
|
632957
632764
|
[
|
|
632958
632765
|
"is",
|
|
@@ -633307,24 +633114,6 @@
|
|
|
633307
633114
|
0
|
|
633308
633115
|
]
|
|
633309
633116
|
],
|
|
633310
|
-
[
|
|
633311
|
-
[
|
|
633312
|
-
"list",
|
|
633313
|
-
1
|
|
633314
|
-
],
|
|
633315
|
-
[
|
|
633316
|
-
"modifies",
|
|
633317
|
-
0
|
|
633318
|
-
],
|
|
633319
|
-
[
|
|
633320
|
-
"strawberry",
|
|
633321
|
-
0
|
|
633322
|
-
],
|
|
633323
|
-
[
|
|
633324
|
-
"unknown",
|
|
633325
|
-
0
|
|
633326
|
-
]
|
|
633327
|
-
],
|
|
633328
633117
|
[
|
|
633329
633118
|
[
|
|
633330
633119
|
"list",
|
|
@@ -1338,7 +1338,7 @@
|
|
|
1338
1338
|
}
|
|
1339
1339
|
]
|
|
1340
1340
|
},
|
|
1341
|
-
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. price/0 (1, 0) - \"price\"\n 1. list/0 (1, 5) - \"and\"\n 2. quantity/0 (1, 8) - \"quantity\"\n 3. is/0 (1, 12) - \"are\"\n 4. property/0 (dead) (1, 18) - \"properties\"\n\n details\n\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: \n Operator(price/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 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. is/0 (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. property/0 (dead) (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) (2, 0) - \"price\"\n 1. list/0 (1, 5) - \"and\"\n 2. quantity/0 (1, 8) - \"quantity\"\n 3. is/0 (1, 12) - \"are\"\n 4. property/0 (dead) (1, 18) - \"properties\"\n\n details\n\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 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. is/0 (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. property/0 (dead) (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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.de\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.d\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), listable: true, isList: true, value: append(before, after) }\")\n\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n\n\n>>>>>>>>>>>>> Counter 3\n summary\n\n *0. list/1 (3, 0) - \"price and quantity\"\n 1. is/0 (1, 12) - \"are\"\n 2. property/0 (dead) (1, 18) - \"properties\"\n\n details\n\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n prioritized_by: [('list', 0)]\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['quantifier', 'comparable', 'property', 'theAble', 'number', 'queryable', 'quantity', 'listable']\n dead: True\n\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 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. property/0 (dead) (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 (4, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['quantifier', 'comparable', 'property', 'theAble', 'number', 'queryable', 'quantity', 'listable']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('is', 1)\n Context:\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead,\n variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['quantifier', 'comparable', 'property', 'theAble', 'number', 'queryable', 'quantity', 'listable']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n\n details\n\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n prioritized_by: [('is', 1)]\n dead: true\n marker: \n Operator(is/2)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n number: \"many\"\n one: \n {\n default: true\n isList: true\n listable: true\n marker: \n Operator(list/1), passthrough\n Selectors:\n [\n Selector, passthrough\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n , same/()\n Left Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['quantifier', 'comparable', 'property', 'theAble', 'number', 'queryable', 'quantity', 'listable']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
|
1341
|
+
"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\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])], 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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\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\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])]<==>[And([\"ListableType(Listable(Type(variable: \\'type\\')))\", \\'And([\\\\\\'Listable(Unify(context.instance, variables.instance))\\\\\\', \\\\\\'And([\\\\\\\\\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\\\\\\\\\', \\\\\\\\\\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')))\"])\\\\\\\\\\\\\\'])\\\\\\'])\\'])], 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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.dead, variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\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')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.de\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', 1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\n Right Selector: [And([\"ListableType(Listable(Type(variable: 'type')))\", 'And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'And([\\\\\\'Listable(Unify(context.d\n variables.dead))\\\\\\', \\\\\\'Not([\"ListableType(Listable(Type(variable: \\\\\\\\\\\\\\'(\\\\\\\\\\\\\\'contexts\\\\\\\\\\\\\\', -1, \\\\\\\\\\\\\\'notConjunctableWith\\\\\\\\\\\\\\')\\\\\\\\\\\\\\')))\"])\\\\\\'])\\'])'])]\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\\')))\", \"And([\\'Listable(Unify(context.instance, variables.instance))\\', \\'Listable(Unify(context.dead, variables.dead))\\'])\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge(\"{ ...operator, value: append(before, operator.value) }\")), variables({'contexts': ShiftedArray(zero at 1), 'found_types': ['quantity', 'price'], 'type': ['comparable', 'theAble', 'queryable', 'quantifier', 'number', 'listable', 'property', 'quantity'], 'dead': True}) 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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['comparable', 'theAble', 'queryable', 'quantifier', 'number', 'listable', 'property', 'quantity']\n dead: True\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({'contexts': ShiftedArray(zero at 1), '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 contexts: ShiftedArray(zero at 1)\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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['comparable', 'theAble', 'queryable', 'quantifier', 'number', 'listable', 'property', 'quantity']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is ('is', 1)\n Context:\n {\n prioritized_by: [('is', 0)]\n marker: \n Operator(is/1)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead,\n variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['comparable', 'theAble', 'queryable', 'quantifier', 'number', 'listable', 'property', 'quantity']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n\n\n>>>>>>>>>>>>> Counter 5\n summary\n\n *0. is/2 (dead) - \"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')))\", \"And(['Listable(Unify(context.instance, variables.instance))', 'Listable(Unify(context.dead, variables.dead))'])\"])]\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...operator, value: append(before, operator.value) }\")\n Variables:\n contexts: ShiftedArray(zero at 1)\n found_types: ['quantity', 'price']\n type: ['comparable', 'theAble', 'queryable', 'quantifier', 'number', 'listable', 'property', 'quantity']\n dead: True\n\n number: \"many\"\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n 'quantity'\n, 'price'\n ]\n value: [\n {\n prioritized_by: [('price', 0)]\n dead: true\n default: true\n marker: \n Operator(price/1)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: \n Operator(quantity/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator) }\")\n Left Selector: []\n Right Selector: []\n ]\n Evaluator:\n Bridge(\"{ ...next(operator) }\")\n\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: \n {\n dead: true\n marker: \n Operator(property/0)\n Selectors:\n [\n Selector\n Left Selector: []\n Right Selector: []\n ]\n\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n value: \"property\"\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
|
1342
1342
|
"contexts": [
|
|
1343
1343
|
{
|
|
1344
1344
|
"number": "many",
|
|
@@ -3027,7 +3027,7 @@
|
|
|
3027
3027
|
}
|
|
3028
3028
|
]
|
|
3029
3029
|
},
|
|
3030
|
-
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n summary\n\n 0. unknown/0 (1, 0) - \"worth\"\n 1. means/0 (1, 3) - \"means\"\n 2. price/0 (1, 5) - \"price\"\n 3. timesOperator/0 (1, 9) - \"times\"\n 4. quantity/0 (1, 11) - \"quantity\"\n\n details\n\n 0. unknown/0 (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. means/0 (1, 3) - \"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. price/0 (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. timesOperator/0 (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. quantity/0 (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) (2, 0) - \"worth\"\n 1. means/0 (1, 3) - \"means\"\n 2. price/0 (1, 5) - \"price\"\n 3. timesOperator/0 (1, 9) - \"times\"\n 4. quantity/0 (1, 11) - \"quantity\"\n\n details\n\n *0. unknown/0 (dead) (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 Variables:\n contexts: ShiftedArray(zero at 0)\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"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. price/0 (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. timesOperator/0 (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. quantity/0 (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) (2, 0) - \"worth\"\n 1. means/0 (1, 3) - \"means\"\n *2. price/1 (dead) (2, 1) - \"price\"\n 3. timesOperator/0 (1, 9) - \"times\"\n 4. quantity/0 (1, 11) - \"quantity\"\n\n details\n\n 0. unknown/0 (dead) (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 Variables:\n contexts: ShiftedArray(zero at 0)\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"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. price/1 (dead) (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. timesOperator/0 (1, 9) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n 4. quantity/0 (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=3) is ('timesOperator', 0)\n Context:\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: operator, marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types,\n after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true, interpolate: [{ property: 'x' }, { property: 'operator' }, {\n property:\n 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: operator, marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types,\n after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true, interpolate: [{ property: 'x' }, { property: 'operator'\n }, { property: 'y' }] }\")\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\n summary\n\n 0. unknown/0 (dead) (2, 0) - \"worth\"\n 1. means/0 (1, 3) - \"means\"\n *2. timesExpression/1 (dead) (3, 0) - \"price times quantity\"\n\n details\n\n 0. unknown/0 (dead) (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 Variables:\n contexts: ShiftedArray(zero at 0)\n\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"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. timesExpression/1 (dead) (3, 0) - \"price times quantity\"\n {\n prioritized_by: [('timesOperator', 0)]\n dead: true\n evaluate: true\n interpolate: [\n {'property': 'x'}\n, {'property': 'operator'}\n, {'property': 'y'}\n ]\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 operator: \n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Variables:\n contexts: ShiftedArray(zero at 3)\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\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 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 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 5\n summary\n\n *0. means/1 (dead) (4, 0) - \"worth means price times quantity\"\n\n details\n\n *0. means/1 (dead) (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 Variables:\n contexts: ShiftedArray(zero at 0)\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 interpolate: [\n {'property': 'x'}\n, {'property': 'operator'}\n, {'property': 'y'}\n ]\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 operator: \n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Variables:\n contexts: ShiftedArray(zero at 3)\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\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 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 types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
|
|
3030
|
+
"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), operator: 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, interpolate: [{ property: \\'x\\' }, { property: \\'operator\\' }, { property: \\'y\\' }] }\"), , [Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])]<==>[Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\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({'contexts': ShiftedArray(zero at 0)}) 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 Variables:\n contexts: ShiftedArray(zero at 0)\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), operator: 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, interpolate: [{ property: \\'x\\' }, { property: \\'operator\\' }, { property: \\'y\\' }] }\"), , [Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])]<==>[Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\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({'contexts': ShiftedArray(zero at 0)}) 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 Variables:\n contexts: ShiftedArray(zero at 0)\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), operator: 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, interpolate: [{ property: \\'x\\' }, { property: \\'operator\\' }, { property: \\'y\\' }] }\"), , [Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])]<==>[Or([\"Listable(Ref(\\'number\\', *))\", \"Listable(Ref(\\'mathematicalExpression\\', *))\"])], bridge(bridge))'], evaluator(Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")), variables({}) bridge(bridge)) (1, 8) - \"times\"\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\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=3) is ('timesOperator', 0)\n Context:\n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: operator, marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types,\n after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true, interpolate: [{ property: 'x' }, { property: 'operator' }, {\n property:\n 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: operator, marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types,\n after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true, interpolate: [{ property: 'x' }, { property: 'operator'\n }, { property: 'y' }] }\")\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n\n>>>>>>>>>>>>> Counter 4\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({'contexts': ShiftedArray(zero at 0)}) 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 Variables:\n contexts: ShiftedArray(zero at 0)\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 interpolate: [\n {'property': 'x'}\n, {'property': 'operator'}\n, {'property': 'y'}\n ]\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 operator: \n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Variables:\n contexts: ShiftedArray(zero at 3)\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\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 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 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 5\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 Variables:\n contexts: ShiftedArray(zero at 0)\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 interpolate: [\n {'property': 'x'}\n, {'property': 'operator'}\n, {'property': 'y'}\n ]\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 operator: \n {\n marker: \n Operator(timesOperator/0)\n Selectors:\n [\n Selector\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Left Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n Right Selector: [Or([\"Listable(Ref('number', *))\", \"Listable(Ref('mathematicalExpression', *))\"])]\n ]\n Evaluator:\n Bridge(\"{ ...next(operator), operator: 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, interpolate: [{ property: 'x' }, { property: 'operator' }, { property: 'y' }] }\")\n Variables:\n contexts: ShiftedArray(zero at 3)\n\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"timesOperator\"\n word: \"times\"\n }\n\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\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 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 types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
|
|
3031
3031
|
"contexts": [
|
|
3032
3032
|
{
|
|
3033
3033
|
"marker": "means",
|
package/common/sdefaults.js
CHANGED
|
@@ -14,6 +14,33 @@ class API {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
// TODO generalize this for avoiding recusive call without changing the context properties
|
|
18
|
+
|
|
19
|
+
function okay(args, condition) {
|
|
20
|
+
if (condition(args)) {
|
|
21
|
+
const { context } = args
|
|
22
|
+
|
|
23
|
+
if (!context.control) {
|
|
24
|
+
context.control = {
|
|
25
|
+
seen: [],
|
|
26
|
+
nextId: 2,
|
|
27
|
+
}
|
|
28
|
+
context.control_id = 1
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (!context.control_id) {
|
|
32
|
+
context.control_id = context.control.nextId
|
|
33
|
+
context.control.nextId += 1
|
|
34
|
+
}
|
|
35
|
+
if (context.control.seen.includes(context.control_id)) {
|
|
36
|
+
return false
|
|
37
|
+
}
|
|
38
|
+
context.control.seen.push(context.control_id)
|
|
39
|
+
return true
|
|
40
|
+
}
|
|
41
|
+
return false
|
|
42
|
+
}
|
|
43
|
+
|
|
17
44
|
const config = {
|
|
18
45
|
name: 'sdefaults',
|
|
19
46
|
semantics: [
|
|
@@ -22,21 +49,16 @@ const config = {
|
|
|
22
49
|
where: where(),
|
|
23
50
|
priority: -1,
|
|
24
51
|
// match: ({context}) => context.flatten || context.listable && context.value[0].flatten,
|
|
25
|
-
match: ({context}) => context.flatten || context.listable && context.value.some((value) => value.flatten),
|
|
52
|
+
match: (args) => okay(args, ({context}) => (context.flatten || context.listable && context.value.some((value) => value.flatten))),
|
|
26
53
|
// match: ({context}) => context.flatten || context.listable || (Array.isArray(context.value) && context.value.some((value) => value.flatten)),
|
|
27
54
|
apply: async ({config, km, context, s, _continue}) => {
|
|
28
55
|
const [flats, wf] = flatten(['list'], context)
|
|
29
56
|
const evalues = []
|
|
30
|
-
if (context.flatten) {
|
|
31
|
-
context.flatten = false
|
|
32
|
-
} else {
|
|
33
|
-
context.value.map((c) => c.flatten = false)
|
|
34
|
-
}
|
|
35
57
|
for (const flat of flats) {
|
|
36
|
-
|
|
37
|
-
|
|
58
|
+
if (!flat.control) {
|
|
59
|
+
flat.control = context.control
|
|
60
|
+
}
|
|
38
61
|
const result = await s(flat)
|
|
39
|
-
// const result = await s({ ...flat, flatten: false })
|
|
40
62
|
if (result.evalue) {
|
|
41
63
|
evalues.push(result.evalue)
|
|
42
64
|
}
|
|
@@ -45,17 +67,22 @@ const config = {
|
|
|
45
67
|
context.evalue = concats(evalues)
|
|
46
68
|
context.isResponse = true
|
|
47
69
|
}
|
|
70
|
+
context.control.seen.length = 0
|
|
48
71
|
}
|
|
49
72
|
},
|
|
50
73
|
{
|
|
51
74
|
notes: 'flatten relation',
|
|
52
75
|
where: where(),
|
|
53
76
|
priority: -1,
|
|
54
|
-
match: ({context}) => context.flatten && context.relation,
|
|
77
|
+
// match: ({context}) => context.flatten && context.relation,
|
|
78
|
+
match: (args) => okay(args, ({context}) => (context.flatten && context.relation)),
|
|
55
79
|
apply: async ({config, km, context, s}) => {
|
|
56
80
|
const [flats, wf] = flatten(['list'], context)
|
|
57
81
|
for (const flat of flats) {
|
|
58
|
-
|
|
82
|
+
if (!flat.control) {
|
|
83
|
+
flat.control = context.control
|
|
84
|
+
}
|
|
85
|
+
await s(flat)
|
|
59
86
|
}
|
|
60
87
|
}
|
|
61
88
|
},
|
package/package.json
CHANGED
|
@@ -386,8 +386,8 @@
|
|
|
386
386
|
"scriptjs": "^2.5.9",
|
|
387
387
|
"table": "^6.7.1",
|
|
388
388
|
"uuid": "^9.0.0",
|
|
389
|
-
"theprogrammablemind": "9.6.3-beta.
|
|
389
|
+
"theprogrammablemind": "9.6.3-beta.19"
|
|
390
390
|
},
|
|
391
|
-
"version": "9.6.3-beta.
|
|
391
|
+
"version": "9.6.3-beta.19",
|
|
392
392
|
"license": "UNLICENSED"
|
|
393
393
|
}
|