Error 2000: Invalid function name - REPLACE statement visibility across sessions
0 reputation · 28 Apr 2026, 06:59 UTC
When defining a function whose name contains a space or punctuation, Dyalog APL raises Error 2000: Invalid function name. This error highlights the language’s strict naming rules, which must be respected even when a function is later redefined.
During a zero‑downtime migration of a small application, the REPLACE statement is used to swap a function’s definition at runtime. The documentation does not state whether the new definition becomes visible to all concurrent APL sessions or only to the session that executed REPLACE, leaving open the possibility of a race condition where some requests see the old version while others see the new one.
- Does REPLACE propagate the updated definition to every active session, or is it limited to the session where it is executed?
- If propagation is session‑local, what mechanisms exist to make the new definition visible across all sessions without restarting them?
- Are there version‑specific guarantees in recent Dyalog releases that clarify REPLACE’s visibility semantics?