// Test FRB symbol scoping — load/unload isolation FUNCTION Main() LOCAL pMod ? "=== FRB Symbol Scope Test ===" ? "" // Host program has its own Add function ? "Host Add(1,2):", Add(1, 2) ? "" // Load FRB module that also has Add ? "Loading pcode module..." pMod := FrbLoad("mylib_pc.frb") // FrbDo uses MODULE scope — calls module's Add (string concat) ? "Module Hello:", FrbDo(pMod, "HELLO", "Test") ? "Module Add:", FrbDo(pMod, "ADD", 100, 200) ? "" // Host Add still works (not overwritten by module) ? "Host Add(1,2) after load:", Add(1, 2) ? "" // Unload — module symbols removed FrbUnload(pMod) ? "After unload:" ? "Host Add(1,2):", Add(1, 2) ? "" ? "=== Done ===" RETURN NIL // Host's Add function — returns sum * 10 (different from module's Add) FUNCTION Add(a, b) RETURN (a + b) * 10