예제 #1
0
 @Override
 public LispObject execute(LispObject[] args) {
   if (car == Symbol.LAMBDA) {
     Closure closure = new Closure(this, new Environment());
     return closure.execute(args);
   }
   return signalExecutionError();
 }
예제 #2
0
  @Override
  public LispObject execute(LispObject first, LispObject second, LispObject third) {

    if (car == Symbol.LAMBDA) {
      Closure closure = new Closure(this, new Environment());
      return closure.execute(first, second, third);
    }
    return signalExecutionError();
  }