internal static void extend(Symbol sym, Object val) { if (!sym.isDynamic) throw new Exception("Dynamic vars must have prefix *"); denv = new DynamicEnv(sym, val, denv); }
internal static void restore(DynamicEnv olddenv) { denv = olddenv; }
private DynamicEnv(Symbol sym, Object val, DynamicEnv next) { this.sym = sym; this.val = val; this.next = next; }