Replace invoke with cek-call in adapters and engine
Completes the invoke→cek-call migration across all spec .sx files: - adapter-sx.sx: map/filter/for-each in aser wire format - adapter-dom.sx: island render update-fn - engine.sx: fetch transform callback - test-cek-reactive.sx: disposal test Only async-invoke (adapter-async.sx) remains — separate async pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2893,11 +2893,11 @@ def aser_special(name, expr, env):
|
||||
elif sx_truthy((name == 'map')):
|
||||
f = trampoline(eval_expr(first(args), env))
|
||||
coll = trampoline(eval_expr(nth(args, 1), env))
|
||||
return map(lambda item: ((lambda local: _sx_begin(_sx_dict_set(local, first(lambda_params(f)), item), aser(lambda_body(f), local)))(env_merge(lambda_closure(f), env)) if sx_truthy(is_lambda(f)) else invoke(f, item)), coll)
|
||||
return map(lambda item: ((lambda local: _sx_begin(_sx_dict_set(local, first(lambda_params(f)), item), aser(lambda_body(f), local)))(env_merge(lambda_closure(f), env)) if sx_truthy(is_lambda(f)) else cek_call(f, [item])), coll)
|
||||
elif sx_truthy((name == 'map-indexed')):
|
||||
f = trampoline(eval_expr(first(args), env))
|
||||
coll = trampoline(eval_expr(nth(args, 1), env))
|
||||
return map_indexed(lambda i, item: ((lambda local: _sx_begin(_sx_dict_set(local, first(lambda_params(f)), i), _sx_dict_set(local, nth(lambda_params(f), 1), item), aser(lambda_body(f), local)))(env_merge(lambda_closure(f), env)) if sx_truthy(is_lambda(f)) else invoke(f, i, item)), coll)
|
||||
return map_indexed(lambda i, item: ((lambda local: _sx_begin(_sx_dict_set(local, first(lambda_params(f)), i), _sx_dict_set(local, nth(lambda_params(f), 1), item), aser(lambda_body(f), local)))(env_merge(lambda_closure(f), env)) if sx_truthy(is_lambda(f)) else cek_call(f, [i, item])), coll)
|
||||
elif sx_truthy((name == 'for-each')):
|
||||
f = trampoline(eval_expr(first(args), env))
|
||||
coll = trampoline(eval_expr(nth(args, 1), env))
|
||||
@@ -2908,7 +2908,7 @@ def aser_special(name, expr, env):
|
||||
local[first(lambda_params(f))] = item
|
||||
results.append(aser(lambda_body(f), local))
|
||||
else:
|
||||
invoke(f, item)
|
||||
cek_call(f, [item])
|
||||
if sx_truthy(empty_p(results)):
|
||||
return NIL
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user