diff --git a/src/c/ops/eval.c b/src/c/ops/eval.c index 830cceb..3778a35 100644 --- a/src/c/ops/eval.c +++ b/src/c/ops/eval.c @@ -40,24 +40,24 @@ struct pso_pointer lisp_eval( struct pso_pointer frame_pointer, struct pso4 *frame = pointer_to_pso4( frame_pointer ); struct pso_pointer result = frame->payload.stack_frame.arg[0]; - // switch ( get_tag_value( result)) { + switch ( get_tag_value( result)) { // case CONSTV: // result = eval_cons( frame, frame_pointer, env); // break; // case KEYTV: - // case SYMBOLTV: - // result = eval_symbol( frame, frame_pointer, env); - // break; - // case LAMBDATV: - // result = eval_lambda( frame, frame_pointer, env); - // break; - // case NLAMBDATV: - // result = eval_nlambda( frame, frame_pointer, env); - // break; - // case SPECIALTV: - // result = eval_special( frame, frame_pointer, env); - // break; - // } + case SYMBOLTV: + result = eval_symbol( frame_pointer, env); + break; + case LAMBDATV: + result = eval_lambda( frame_pointer, env); + break; + case NLAMBDATV: + result = eval_nlambda( frame_pointer, env); + break; + case SPECIALTV: + result = eval_special( frame, frame_pointer, env); + break; + } if ( exceptionp( result ) ) { struct pso3 *x =