xo-interpreter2 stack: modularize nth() primitive setup/install

This commit is contained in:
Roland Conybeare 2026-03-15 09:47:14 -05:00
commit a3aa582eb9
19 changed files with 216 additions and 49 deletions

View file

@ -41,19 +41,17 @@ namespace xo {
DGlobalSymtab * global_symtab,
InstallFlags pm_install_flags)
{
scope log(XO_DEBUG(true));
DGlobalEnv * env = DGlobalEnv::_make(mm,
global_symtab);
InstallSink sink = ([env, mm, &stringtable]
InstallSink sink = ([env, mm, &stringtable, &log]
(std::string_view name,
TypeDescr fn_td,
obj<AProcedure> pm,
InstallFlags flags)
{
scope log(XO_DEBUG(false));
log && log(xtag("name", name));
(void)flags;
obj<AGCObject> pm_gco = pm.to_facet<AGCObject>();
@ -61,6 +59,8 @@ namespace xo {
const DUniqueString * sym
= stringtable.intern(name);
log && log("upsert", xtag("sym", std::string_view(*sym)));
env->_upsert_value(mm,
sym,
fn_td,