//================================================================= static object ForceEval(Env env, object exp) { IASTNode node = Compile(null, TransformLibraryForm(exp)); GlobalEnv.Instance().ExtendTo(GlobalSymbolTable.Instance().GetSymbolCount()); KeyValuePair <object, Continue> p = node.Eval(env, (v => new KeyValuePair <object, Continue>(v, null)));; while (p.Value != null) { p = p.Value(p.Key); } return(p.Key); }