The _cek_io_suspend_hook creates a stub VM to carry the suspended CEK state. Previously used empty globals, which caused "Not callable: nil" when the CEK resume needed platform functions. Now uses _default_vm_globals (set to _vm_globals by sx_browser.ml) so all platform functions and definitions are available during resume. Remaining issue: still getting "resume: Not callable: nil" — the CEK continuation env may not include letrec bindings from the island body. The suspension point is inside reload-frame → hs-wait, and the resume needs to call wait-boot (a letrec binding). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.9 MiB
4.9 MiB