@Override public LispObject execute(LispObject[] args) { if (car == Symbol.LAMBDA) { Closure closure = new Closure(this, new Environment()); return closure.execute(args); } return signalExecutionError(); }
@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(); }