示例#1
0
文件: DoStar.cs 项目: nja/keel
 protected override void SetStepValues(LispEnvironment doEnv, List<Symbol> varSymbols, List<LispObject> varStepForms)
 {
     for (int i = 0; i < varSymbols.Count; i++)
     {
         var val = doEnv.Eval(varStepForms[i]);
         doEnv.SetValue(varSymbols[i], val);
     }
 }
示例#2
0
文件: SetForm.cs 项目: nja/keel
        public override LispObject Eval(Cons body, LispEnvironment env)
        {
            var symbol = Car.Of(body).As<Symbol>();
            var value = env.Eval(Car.Of(Cdr.Of(body)));

            env.SetValue(symbol, value);

            return value;
        }
示例#3
0
文件: Do.cs 项目: nja/keel
        protected virtual void SetStepValues(LispEnvironment doEnv, List<Symbol> varSymbols, List<LispObject> varStepForms)
        {
            var stepValues = varStepForms.Select(doEnv.Eval).ToList();

            for (int i = 0; i < varSymbols.Count; i++)
            {
                doEnv.SetValue(varSymbols[i], stepValues[i]);
            }
        }