package function; import sexpression.*; public abstract class LispFunction { public abstract SExpression call(Cons argList); /** * Determine if the arguments passed to this Lisp function should be evaluated. A subclass * should override this method to return false if it does not want its arguments to be evaluated * prior to being passed. */ public boolean evaluateArguments() { return true; } }