From 6bc3f17b65eb1c0f641eae7c257195415a5a3ee1 Mon Sep 17 00:00:00 2001 From: dzaima Date: Mon, 9 Jun 2025 23:00:09 +0300 Subject: [PATCH] =?UTF-8?q?mark=20=E2=8A=8F=20as=20a=20fully-native=20prim?= =?UTF-8?q?itive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/cc.bqn | 6 +++--- src/builtins/select.c | 1 - src/load.c | 5 ++--- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/build/cc.bqn b/build/cc.bqn index 1505cfc4..9d99dc6f 100755 --- a/build/cc.bqn +++ b/build/cc.bqn @@ -114,11 +114,11 @@ primN ← ⟨ "rank", "depth", "repeat", "catch" ⟩ primC ← "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟⎊" -pre ← "+-=×↕≢≤⊑⊘⌊⌜⥊!<>`|¨´÷˙˜↑↓∘∾≠≥⊢⊣⊸⋆⋈⌈⍟⎊○◶⟜" -isFull ← ¬ primC ∊ "⁼⊏/⊔⌾⍷⚇˝" +pre ← "+-=×↕≢≤⊑⊘⌊⌜⥊!<>`|¨´÷˙˜↑↓∘∾≠≥⊢⊣⊸⋆⋈⌈⍟⎊○◶⟜⊏" +isFull ← ¬ primC ∊ "⁼/⊔⌾⍷⚇˝" # primitives whose rt_* values are necessary fullC ← isFull/primC extraC ← pre (¬∘∊˜/⊢) fullC -# •Out List "bi_"⊸∾¨ (primC∊extraC) / primN +# •Out 1↓·∾","⊸∾¨ "bi_"⊸∾¨ (primC∊extraC) / primN # entries to put in "B provide[]" in load.c glyphs ← Import "glyphs.bqn" _getComp ← { (4+2×srcmap)↑ <∘⊢∾˜ 5↑ (𝕗 Import "c.bqn"){𝔽} } diff --git a/src/builtins/select.c b/src/builtins/select.c index 21b509ff..68c76c35 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -134,7 +134,6 @@ FORCE_INLINE void cf_call(CFRes f, void* r, ux rs, void* x, ux xs) { -extern GLOBAL B rt_select; B select_c1(B t, B x) { if (isAtm(x)) thrM("⊏𝕩: 𝕩 cannot be an atom"); ur xr = RNK(x); diff --git a/src/load.c b/src/load.c index 90b5dfa3..6a70af99 100644 --- a/src/load.c +++ b/src/load.c @@ -148,7 +148,7 @@ NOINLINE B load_fullpath(B path, B name) { GLOBAL HArr* comps_curr; -GLOBAL B rt_undo, rt_select, rt_slash, rt_depth, +GLOBAL B rt_undo, rt_slash, rt_depth, rt_group, rt_under, rt_find; Block* load_buildBlock(B x, B src, B path, B name, Scope* sc, i32 nsResult) { // consumes x,src B fullpath = load_fullpath(path, name); @@ -512,7 +512,6 @@ void load_init() { // very last init function SGet(rtObjRaw) gc_add(rt_undo = Get(rtObjRaw, n_undo )); - gc_add(rt_select = Get(rtObjRaw, n_select)); gc_add(rt_slash = Get(rtObjRaw, n_slash )); gc_add(rt_group = Get(rtObjRaw, n_group )); gc_add(rt_under = Get(rtObjRaw, n_under )); @@ -558,7 +557,7 @@ void load_init() { // very last init function } load_rt = frtObj; - rt_select = rt_slash = rt_group = rt_find = bi_invalidFn; + rt_slash = rt_group = rt_find = bi_invalidFn; rt_undo = bi_invalidMd1; rt_under = rt_depth = bi_invalidMd2;