fix string indexing in native

This commit is contained in:
2026-02-23 10:36:22 -06:00
parent 94c28f0e17
commit f26b6e853d
10 changed files with 11127 additions and 10943 deletions

View File

@@ -85,7 +85,7 @@
],
"_write_types": [null, null, "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, null],
"name": "use_embed",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 1
},
{
@@ -188,7 +188,7 @@
],
"_write_types": [null, null, null, "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, "text", null, null, null, null],
"name": "content_hash",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 1
},
{
@@ -311,7 +311,7 @@
],
"_write_types": [null, null, null, null, "null", null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", null],
"name": "cache_path",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 1
},
{
@@ -447,7 +447,7 @@
],
"_write_types": [null, "text", null, null, "null", null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, null, null, null, null, "null", "text", "array", null, null, null, null],
"name": "ensure_build_dir",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 0
},
{
@@ -813,7 +813,7 @@
],
"_write_types": [null, null, null, null, "text", null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, null, "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, null, null, null, "null", "text", "array", null, null, null, null, null, null, null, null, null, "record", "function", null, null, null, null, null, null, null],
"name": "boot_load",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 1
},
{
@@ -1030,7 +1030,7 @@
],
"_write_types": [null, null, null, "int", null, null, "bool", null, null, null, null, null, null, null, null, null, null, null, "null", "bool", "bool", null, "int", "int", "bool", null, "int", "bool", null, null, null, null, "null", "bool", "bool", null, "null", "bool", null, null, null, null, null, null, null, null, "array", null, "text", null, null, null, null, null, "null", "text", "array", null, null, null, "array", null, "text", null, null, null, null, null, "null", "text", "array", null, null, null, "int", null, null, null, null],
"name": "analyze",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 2
},
{
@@ -1213,7 +1213,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, null, "function", null, null, "function", null, null, null, null, null, "null", "text", "array", null, null, null, "null", null, null, null, null, "function", null, null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, null, null, null, null, "function", null, null, null, null, "null", "text", "array", null, null, null, "null"],
"name": "compile_and_cache",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 2
},
{
@@ -1368,7 +1368,7 @@
],
"_write_types": [null, null, null, null, null, null, "null", "text", "array", null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, "text", "text", "bool", "bool", "text", "bool", "text", "bool", "text", "text", "text", "text", "bool", "bool", "text", "bool", "text", "bool", "text", "text", "text", "text", "bool", "bool", "text", "bool", "text", "null", null],
"name": "detect_host_target",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 0
},
{
@@ -1422,7 +1422,7 @@
],
"_write_types": [null, null, null, null, null, "null", "text", "array", null, null, null, "text", "bool", "text", "text", null],
"name": "detect_cc",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 0
},
{
@@ -1600,7 +1600,7 @@
],
"_write_types": [null, null, null, "text", "text", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "function", null, null, "function", null, null],
"name": "native_dylib_cache_path",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 2
},
{
@@ -3465,7 +3465,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, null, null, null, null, null, "function", null, null, null, null, null, "null", "text", "array", null, null, null, "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "null", "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, null, "function", null, null, null, null, null, null, null, null, "null", null, null, null, null, null, null, "int", "int", "bool", null, null, "text", null, null, null, "text", null, "text", null, null, null, null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, null, null, null, null, null, null, "null", "text", "array", null, null, null, null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "int", "bool", "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, null, "bool", "bool", null, null, null, "null", "text", "array", null, null, null, "bool", null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "int", "bool", "text", null, null, null, "null", "text", "array", null, null, null, "bool", null, "function", null, null, "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", "bool", "text", "bool", null, null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "int", "bool", "text", "text", null, "bool", null, "text", "text", "array", null, null, "null", "text", "text", "bool", null, null, "text", "text", "array", null, null, "null", null, null, null, "null", "text", "array", null, null, null, "null"],
"name": "compile_native_cached",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 2
},
{
@@ -3499,7 +3499,7 @@
],
"_write_types": [null, null, "bool", "null", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"nr_args": 0
}
],
@@ -4138,8 +4138,8 @@
"4": true
}
},
"name": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"filename": "/Users/john/.cell/packages/core/internal/bootstrap.cm",
"name": ".cell/packages/core/internal/bootstrap.cm",
"filename": ".cell/packages/core/internal/bootstrap.cm",
"_parent_of": [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12],
"data": {}
}

View File

@@ -48,7 +48,7 @@
],
"_write_types": [null, null, null, "null", "bool", "bool", null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -366,7 +366,7 @@
],
"_write_types": [null, null, "int", null, null, "null", "bool", "bool", null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, "int", "bool", null, null, null, null, null, null, "bool", "int", "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, null, null, null, null, null, "bool", "bool", null, null, null, null, null, null, null, "bool", "int", "bool", "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", "bool", null, "bool", "bool", "bool", null, null, null, "bool", "bool", null, "int", "bool", null, null, null, null, null, null, "bool", "int", "bool", "bool", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -391,7 +391,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -430,7 +430,7 @@
],
"_write_types": [null, null, null, "record", "text", null, null, null, null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -454,7 +454,7 @@
],
"_write_types": [null, null, null, "record", "text", null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -490,7 +490,7 @@
],
"_write_types": [null, null, null, "record", "text", null, null, null, "record", "text", null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -513,7 +513,7 @@
],
"_write_types": [null, null, "record", "text", null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -606,7 +606,7 @@
],
"_write_types": [null, null, null, null, "null", "bool", "null", null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, "null", "bool", null, null, null, null, "int", "bool", "text", "bool", null, "int", "int", "bool", "null", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -642,7 +642,7 @@
],
"_write_types": [null, null, "int", null, "bool", null, null, null, "bool", null, null, "int", "null", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -671,7 +671,7 @@
],
"_write_types": [null, null, null, null, null, null, null, "null", "bool", "null", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -714,7 +714,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, null, "null", "bool", "record", null, null, null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 3
},
{
@@ -757,7 +757,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, "null", "bool", "null", null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -800,7 +800,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, null, "null", "bool", "record", null, null, null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 3
},
{
@@ -850,7 +850,7 @@
],
"_write_types": [null, null, "null", "bool", "null", null, "null", "bool", null, null, null, null, null, null, "null", "bool", null, null, null, null, null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -1184,7 +1184,7 @@
],
"_write_types": [null, null, null, "int", null, "int", null, null, null, null, null, "int", "bool", null, null, "text", "bool", null, null, "null", "bool", null, null, null, null, null, null, null, null, "null", "bool", "bool", null, "bool", null, null, null, null, "null", "bool", "bool", null, "null", "bool", "bool", null, null, "text", "bool", null, null, "null", "bool", "bool", null, "bool", "bool", null, null, null, "null", "bool", "bool", null, "null", "bool", null, null, null, "null", "bool", null, null, null, "text", "bool", null, "null", "bool", "bool", null, "null", "bool", null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", "bool", null, null, "text", "bool", "bool", null, null, "null", "bool", null, null, "null", "bool", null, null, null, "null", "bool", "bool", null, "text", "bool", null, null, null, null, null, "text", "bool", null, "int", "bool", null, null, null, "text", "bool", "bool", null, "null", "bool", "bool", null, null, "text", "bool", "bool", null, null, "null", "bool", null, null, "null", "bool", null, null, null, "null", "bool", "bool", null, "text", "bool", null, null, null, null, null, "int", "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -1344,7 +1344,7 @@
],
"_write_types": [null, null, "int", null, "null", "bool", "null", null, "text", "bool", null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, "int", "text", "bool", null, "int", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -1596,7 +1596,7 @@
],
"_write_types": [null, null, null, "int", "int", null, null, "int", "bool", null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", null, null, "text", "bool", "bool", null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, "text", "bool", null, "null", "bool", null, "array", null, null, null, "text", "bool", "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -1642,7 +1642,7 @@
],
"_write_types": [null, null, null, "int", null, null, null, null, null, "int", null, null, null, null, null, "int", null, null, null, null, null, "int", null, null, null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 0
},
{
@@ -3208,7 +3208,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, "int", null, null, null, null, null, null, null, null, null, null, "null", "bool", "null", null, null, null, "bool", "bool", null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", "bool", null, "null", "bool", null, null, null, null, null, null, "bool", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, "text", "bool", null, null, null, null, null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", null, "int", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, null, "bool", "bool", null, null, null, null, "text", "bool", "bool", null, "int", "bool", null, null, null, null, "null", "bool", null, null, null, null, "null", "bool", "bool", null, "bool", "record", null, null, null, null, null, null, null, null, null, null, "null", "bool", "bool", null, "null", "bool", null, null, null, "bool", "bool", null, null, "null", "bool", "bool", "null", "bool", "bool", null, "text", "bool", "bool", null, "text", "bool", null, null, "null", "bool", null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "int", "bool", null, null, null, "text", "bool", "int", "bool", null, null, null, "text", "bool", null, "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "bool", "bool", null, "text", "text", "array", null, null, "null", "text", "bool", "text", "bool", "text", "bool", "num", "null", "num", null, "num", "bool", "text", "bool", "null", "bool", null, null, null, null, null, null, "text", "bool", "bool", "null", "bool", "bool", "null", "bool", "bool", null, "text", "bool", "bool", null, "text", "bool", null, null, null, "bool", "bool", null, "text", "text", "array", null, null, "null", null, null, null, null, null, "bool", "bool", null, null, "null", "bool", "bool", "null", "bool", null, "text", "bool", "bool", null, "text", "bool", null, null, "null", "bool", null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, null, "text", "bool", "bool", null, "text", "bool", "text", "bool", null, null, "bool", null, null, null, "text", "bool", null, null, "bool", null, null, null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, null, "null", "bool", "bool", "null", "bool", "bool", null, "text", "bool", "bool", null, "text", "bool", null, null, "null", "bool", null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "int", null, null, null, "text", "bool", "int", null, null, null, "text", "bool", "int", null, null, null, "text", "bool", "int", null, null, null, "text", "bool", "int", null, null, null, "text", "bool", null, "null", "bool", null, null, "text", "bool", "bool", null, null, null, "text", "bool", "bool", null, null, null, "text", "bool", null, "null", "bool", "bool", null, null, "text", "bool", null, null, "null", "bool", null, null, null, null, null, "int", null, null, null, "text", "bool", null, "null", "bool", "bool", null, null, "text", "bool", null, null, "null", "bool", null, null, null, null, null, "int", "num", "bool", null, null, null, "text", "bool", null, null, null, null, "bool", "bool", null, "bool", "bool", null, "text", "bool", null, "null", "bool", "bool", null, "text", "bool", "bool", null, "int", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, "null", "bool", "null", "bool", "bool", null, "bool", "bool", "bool", null, "int", "int", "bool", null, "int", null, null, "null", "bool", null, null, "text", "bool", "bool", null, "int", "bool", null, null, null, null, "null", "bool", null, "null", "bool", null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", null, null, null, null, "text", "bool", "text", "bool", "text", "text", "bool", "text", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -3651,7 +3651,7 @@
],
"_write_types": [null, null, null, "int", null, null, null, "null", "bool", "null", null, "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, "bool", "bool", null, null, null, null, "record", "text", null, null, null, null, null, null, "bool", "bool", null, "null", "bool", "bool", null, "int", "int", "bool", null, null, null, null, "record", "text", null, null, null, null, null, null, null, "null", "bool", "bool", null, "int", "int", "bool", null, "int", null, null, null, null, "null", null, null, null, null, null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, "text", "bool", "bool", null, null, "text", "bool", "null", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, "text", "bool", null, null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -4169,7 +4169,7 @@
],
"_write_types": [null, null, null, "int", null, "array", null, null, "array", "int", "bool", null, null, null, null, "null", "bool", "int", null, "text", "bool", "bool", null, "text", "bool", null, null, "null", "bool", null, null, null, "null", "bool", "bool", null, "int", "bool", null, null, null, null, "bool", null, "null", "bool", "bool", null, null, "text", "bool", "bool", null, null, "null", "bool", "bool", null, null, null, "text", "bool", null, null, "record", "text", null, null, "int", "num", "bool", null, "text", "text", "array", null, null, "null", null, null, "int", "num", "bool", "array", null, "text", null, null, "bool", null, "text", "text", "array", null, null, "null", null, "text", "bool", null, null, "record", "text", null, null, "int", "num", "bool", null, null, "int", "num", "bool", "array", null, "text", null, null, "bool", null, "text", "text", "array", null, null, "null", null, null, "record", "text", null, null, "int", "num", "bool", null, null, "int", "num", "bool", "array", null, "text", null, null, "bool", null, "text", "text", "array", null, null, "null", null, "text", "bool", null, null, null, null, null, "bool", null, "text", "bool", "bool", null, "null", "bool", null, null, null, null, "null", "bool", "bool", null, "int", "bool", "bool", null, null, "record", "text", null, "int", "num", "bool", null, "int", "num", "bool", null, "array", null, "text", null, null, "bool", null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, null, null, null, null, null, null, null, "int", null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 2
},
{
@@ -4259,7 +4259,7 @@
],
"_write_types": [null, null, null, "int", "null", "bool", "null", null, "null", "bool", "null", null, "int", "bool", null, null, null, "null", "bool", null, null, null, null, null, null, null, null, "int", null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -4358,7 +4358,7 @@
],
"_write_types": [null, null, "int", null, null, null, "int", "int", null, "null", "bool", "null", null, "null", "bool", "null", null, null, null, "null", "bool", "null", null, null, null, "int", "bool", null, "text", "bool", null, null, "null", "bool", "int", null, "int", "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -4536,7 +4536,7 @@
],
"_write_types": [null, null, "int", null, "null", "bool", "null", null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, "null", null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, "int", "text", "bool", null, "int", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -4803,7 +4803,7 @@
],
"_write_types": [null, null, "int", "int", null, null, "null", "bool", "null", "int", "bool", null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", null, null, "text", "bool", "bool", null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, "text", "bool", null, "null", "bool", null, "array", null, null, null, "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -5032,7 +5032,7 @@
],
"_write_types": [null, null, "int", null, "null", "bool", "null", null, "text", "bool", "bool", null, "int", "bool", "bool", null, "null", "bool", "bool", null, "text", "bool", "bool", null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", "bool", "text", "bool", null, "int", "bool", null, null, null, null, null, "int", "text", "bool", null, "int", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, null, null, null, null, null, "int", "bool", null, null, null, "null", "bool", null, null, null, null, null, null, "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -5322,7 +5322,7 @@
],
"_write_types": [null, null, "int", "int", null, "int", null, "null", "bool", "null", "int", "bool", null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, "int", "bool", null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, "null", "bool", null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, null, null, null, null, "text", "bool", null, "null", "bool", null, null, "text", "bool", "bool", null, null, "text", "bool", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "text", "bool", "bool", "text", "bool", null, null, null, null, "text", "bool", null, null, null, null, null, null, null, null, null, "int", "bool", null, null, null, "null", "bool", null, null, null, null, null, null, "int", "text", "bool", null, null, null, null, "text", "bool", null, "null", "bool", null, "array", null, null, null, "int", "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
},
{
@@ -5517,7 +5517,7 @@
],
"_write_types": [null, null, null, null, "record", null, null, "int", null, "int", "int", null, null, "array", null, "int", null, "bool", null, null, null, null, null, "int", "bool", null, "text", "bool", null, "null", "bool", "bool", null, "int", "bool", "bool", null, "text", "bool", "bool", null, "text", "bool", null, "null", "bool", "int", null, "int", "int", "int", "function", "function", "function", null, null, null, null, null, null, null, null, "record", "function", "function", null, null, null, null, null, null, null, null, "array", null, null, "int", "bool", null, null, null, null, "bool", "bool", null, null, null, null, null, null, null, null, null, null, null, "int", null, "null"],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 0
},
{
@@ -5938,7 +5938,7 @@
],
"_write_types": [null, null, "record", "record", "record", "record", "record", "function", "function", "record", null, null, null, null, "function", "function", "function", "function", "function", "function", "function", "function", "int", null, null, null, null, "record", "function", "function", "function", null, "record", "record", "function", "int", null, null, "array", "function", null, "int", "array", "record", "text", "text", "text", "text", "text", "record", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "record", "bool", "bool", "bool", "bool", "bool", "record", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "record", "bool", "bool", "bool", "bool", "bool", "bool", "record", "bool", "bool", "bool", "bool", "bool", "bool", "function", "record", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool", "function", "function", "function", "function", "function", "function", "function", "function", "function", "record", "record", "function", "function", "function", "function", "function", "function", "function", "function", "function", "function", "function", "function", "function", null, null, null, "int", null, null, null, "int", "bool", null, null, null, null, "int", "array", null, "int", "bool", null, null, null, "null", "bool", "int", null, null, null, "null", "bool", "bool", null, "int", "bool", "bool", null, "record", "text", null, "int", "num", "bool", null, "text", "text", "array", null, null, "null", null, "int", "num", "bool", null, "array", null, "text", null, null, "bool", null, "text", "text", "array", null, null, "null", null, "bool", "bool", null, null, null, null, null, null, null, null, "int", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"nr_args": 1
}
],
@@ -5956,8 +5956,8 @@
"_write_types": [null, "function", "function", null],
"nr_args": 0
},
"name": "/Users/john/.cell/packages/core/fold.cm",
"filename": "/Users/john/.cell/packages/core/fold.cm",
"name": ".cell/packages/core/fold.cm",
"filename": ".cell/packages/core/fold.cm",
"_parent_of": [28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 28, 29],
"data": {}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -34,7 +34,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -78,7 +78,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -115,7 +115,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -152,7 +152,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -189,7 +189,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -226,7 +226,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -263,7 +263,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -341,7 +341,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -378,7 +378,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -415,7 +415,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -450,7 +450,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -513,7 +513,7 @@
],
"_write_types": [null, null, null, "float", "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -603,7 +603,7 @@
],
"_write_types": [null, null, null, "float", "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -640,7 +640,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -679,7 +679,7 @@
],
"_write_types": [null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 2
},
{
@@ -715,7 +715,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -752,7 +752,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -789,7 +789,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -826,7 +826,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -863,7 +863,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -900,7 +900,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1113,7 +1113,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, null, "int", "int", null, null, null, null, "int", "int", null, null, null, null, null, null, null, "int", null, null, "int", "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1149,7 +1149,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1185,7 +1185,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1221,7 +1221,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1257,7 +1257,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1293,7 +1293,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1329,7 +1329,7 @@
],
"_write_types": [null, null, null, null, null, "record", "text", "int", "bool", "bool", "bool", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1365,7 +1365,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -1401,7 +1401,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -1437,7 +1437,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -1481,7 +1481,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -1517,7 +1517,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -1554,7 +1554,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1591,7 +1591,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1628,7 +1628,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1665,7 +1665,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1702,7 +1702,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1739,7 +1739,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1776,7 +1776,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1827,7 +1827,7 @@
],
"_write_types": [null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1853,7 +1853,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1879,7 +1879,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1905,7 +1905,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1931,7 +1931,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1957,7 +1957,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -1983,7 +1983,7 @@
],
"_write_types": [null, null, null, null, null, "text", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2029,7 +2029,7 @@
],
"_write_types": [null, null, null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2055,7 +2055,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2081,7 +2081,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2107,7 +2107,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2133,7 +2133,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2159,7 +2159,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2185,7 +2185,7 @@
],
"_write_types": [null, null, null, null, null, "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2236,7 +2236,7 @@
],
"_write_types": [null, null, null, null, null, null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2265,7 +2265,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2294,7 +2294,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2323,7 +2323,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2352,7 +2352,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2381,7 +2381,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2410,7 +2410,7 @@
],
"_write_types": [null, null, null, null, null, "text", "int", null, "function", null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 4
},
{
@@ -2452,7 +2452,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -2494,7 +2494,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
},
{
@@ -2530,7 +2530,7 @@
],
"_write_types": [null, null, null, null, "array", null, "text", null, null, null],
"name": "<anonymous>",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"nr_args": 3
}
],
@@ -2757,8 +2757,8 @@
"1": true
}
},
"name": "/Users/john/.cell/packages/core/qbe.cm",
"filename": "/Users/john/.cell/packages/core/qbe.cm",
"name": ".cell/packages/core/qbe.cm",
"filename": ".cell/packages/core/qbe.cm",
"_parent_of": [64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64],
"data": {}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -375,7 +375,7 @@ ${sr("a", "%arr_slot")}
${sr("b", "%idx_slot")}
%idx_tag =l and %b, 1
%idx_is_int =w ceql %idx_tag, 0
jnz %idx_is_int, @idx_ok, @ret_null
jnz %idx_is_int, @idx_ok, @fallback
@idx_ok
%idx_l =l sar %b, 1
%idx_w =w copy %idx_l
@@ -384,7 +384,7 @@ ${sr("b", "%idx_slot")}
@arr_init
%ptag =l and %a, 7
%is_ptr =w ceql %ptag, 1
jnz %is_ptr, @arr_ptr_ok, @ret_null
jnz %is_ptr, @arr_ptr_ok, @fallback
@arr_ptr_ok
%arr_ptr =l and %a, -8
%arr_hdr =l loadl %arr_ptr
@@ -398,7 +398,7 @@ ${sr("b", "%idx_slot")}
jmp @arr_chase
@arr_chk
%arr_is_array =w ceql %arr_ty, 0
jnz %arr_is_array, @arr_len, @ret_null
jnz %arr_is_array, @arr_len, @fallback
@arr_len
%len_p =l add %arr_ptr, 8
%len_l =l loadl %len_p
@@ -416,6 +416,15 @@ ${sw("w", "%fp", "%dest", "%r")}
@ret_null
${sw("w", "%fp", "%dest", text(qbe.js_null))}
ret %fp
@fallback
%r =l call $cell_rt_load_dynamic(l %ctx, l %a, l %b)
%is_exc =w ceql %r, 15
jnz %is_exc, @exc, @ok
@ok
${sw("w", "%fp", "%dest", "%r")}
ret %fp
@exc
ret 0
}`
// store_field(ctx, fp, obj_slot, val_slot, lit_idx) — no dest write

View File

@@ -7494,6 +7494,162 @@ run("disruption propagation - comparison error direct vs nested", function() {
}
})
// ============================================================================
// STRING BRACKET INDEXING — str[n] must return the character at index n
// Regression: native __load_index_ss only handled arrays, returning null for
// strings. This broke key[0]=='$' in engine.cm, surfacing as '$stop' undefined.
// ============================================================================
run("string bracket index - first char", function() {
var s = "hello"
assert_eq(s[0], "h", "s[0]")
})
run("string bracket index - middle char", function() {
var s = "hello"
assert_eq(s[2], "l", "s[2]")
})
run("string bracket index - last char", function() {
var s = "hello"
assert_eq(s[4], "o", "s[4]")
})
run("string bracket index - out of bounds returns null", function() {
var s = "hi"
assert_eq(s[5], null, "s[5] oob")
assert_eq(s[99], null, "s[99] oob")
})
run("string bracket index - negative returns null", function() {
var s = "abc"
assert_eq(s[-1], null, "s[-1]")
})
run("string bracket index - single char string", function() {
var s = "x"
assert_eq(s[0], "x", "s[0] single")
assert_eq(s[1], null, "s[1] oob single")
})
run("string bracket index - special chars", function() {
var s = "$stop"
assert_eq(s[0], "$", "dollar sign at [0]")
assert_eq(s[1], "s", "s at [1]")
assert_eq(s[4], "p", "p at [4]")
})
run("string bracket index - empty string", function() {
var s = ""
assert_eq(s[0], null, "empty[0]")
})
run("string bracket index - comparison", function() {
var key = "$hello"
if (key[0] == "$") {
// pass — this is the pattern engine.cm uses
} else {
fail("key[0] should equal '$' but got " + text(key[0]))
}
})
run("string bracket index - in conditional", function() {
var s = "abc"
var r = null
if (s[0] == "a") r = "ok"
assert_eq(r, "ok", "s[0]=='a' conditional")
})
run("string bracket index - loop over chars", function() {
var s = "abcd"
var out = ""
var i = 0
for (i = 0; i < length(s); i++) {
out = out + s[i]
}
assert_eq(out, "abcd", "loop over string chars")
})
run("string bracket index - dynamic index", function() {
var s = "world"
var i = 2
assert_eq(s[i], "r", "s[dynamic]")
i = 0
assert_eq(s[i], "w", "s[dynamic 0]")
})
run("string bracket index - 7 char immediate boundary", function() {
// immediate strings store up to 7 ASCII chars inline
var s7 = "abcdefg"
assert_eq(s7[0], "a", "imm7[0]")
assert_eq(s7[6], "g", "imm7[6]")
var s8 = "abcdefgh"
assert_eq(s8[0], "a", "heap8[0]")
assert_eq(s8[7], "h", "heap8[7]")
})
run("string bracket index - used as record key", function() {
var s = "$name"
var prefix = s[0]
var rest = text(s, 1)
var obj = {}
obj[prefix + rest] = 42
assert_eq(obj["$name"], 42, "reconstruct key from bracket index")
})
// ============================================================================
// INDEXED ACCESS ON NON-ARRAY TYPES — native fast path must fall through
// These smoke out __load_index_ss returning null instead of calling runtime.
// ============================================================================
run("record bracket index with numeric key returns null", function() {
var obj = {a: 1}
assert_eq(obj[0], null, "record[0]")
})
run("null bracket index returns null", function() {
var x = null
assert_eq(x[0], null, "null[0]")
})
run("number bracket index returns null", function() {
var n = 42
assert_eq(n[0], null, "number[0]")
})
run("boolean bracket index returns null", function() {
var b = true
assert_eq(b[0], null, "bool[0]")
})
run("string length still works", function() {
assert_eq(length("hello"), 5, "length of 'hello'")
assert_eq(length(""), 0, "length of ''")
assert_eq(length("abcdefg"), 7, "length of 7-char imm")
assert_eq(length("abcdefgh"), 8, "length of 8-char heap")
})
run("mixed array and string indexing", function() {
var arr = ["abc", "def"]
assert_eq(arr[0][0], "a", "arr[0][0]")
assert_eq(arr[1][2], "f", "arr[1][2]")
})
run("string index result equality", function() {
var a = "hello"
var b = "hello"
assert_eq(a[0] == b[0], true, "same char from same string pos")
assert_eq(a[0] == "h", true, "char equals literal")
assert_eq(a[0] != "x", true, "char not-equals different literal")
})
run("string index in text() call", function() {
var s = "$abc"
var sub = text(s, 1)
assert_eq(sub, "abc", "text(s, 1) strips first char")
assert_eq(s[0] + sub, "$abc", "reassemble from index + substring")
})
// ============================================================================
// SUMMARY
// ============================================================================