public static void Extend(Symbol sym, Object val) { if (!sym.IsDynamic) throw new LispException("Dynamic vars must have prefix *"); denv = new DynamicEnvironment(sym, val, denv); }
//......................................................................... public static void Restore(DynamicEnvironment olddenv) { denv = olddenv; }
//......................................................................... protected DynamicEnvironment(Symbol sym, Object val, DynamicEnvironment next) { InnerSymbol = sym; InnerValue = val; InnerNext = next; }