Example #1
0
        protected override EvalResult EvalImpl(ScmEnvironment env)
        {
            ScmExpression result = null;

            foreach (var scmExpression in _exprs)
            {
                result = scmExpression.Eval(env).Value;
            }
            return(result.ToResult());
        }
        private bool True(ScmExpression exp)
        {
            var selfExp = exp as SelfEvaluatingExpression;

            return(selfExp != null && selfExp.Value is bool && (bool)selfExp.Value);
        }
Example #3
0
 private void DefineVariable(string var, ScmExpression val, ScmEnvironment env)
 {
     env.Dict[var] = val;
 }
Example #4
0
 public IfExpression(ScmExpression predicate, ScmExpression then, ScmExpression @else)
 {
     _else      = @else;
     _then      = then;
     _predicate = predicate;
 }
 public ApplicationExpression(ScmExpression @operator, ScmExpression[] arguments)
 {
     Operator  = @operator;
     Arguments = arguments;
 }
Example #6
0
 private void SetVariable(object variable, ScmExpression eval, ScmEnvironment env)
 {
 }
Example #7
0
 public AssignmentExpression(object variable, ScmExpression value)
 {
     _variable = variable;
     _value    = value;
 }
Example #8
0
 public LambdaExpression(ScmExpression body, string[] parameters, ScmEnvironment env) : base(null)
 {
     _env        = env;
     _body       = body;
     _parameters = parameters;
 }