Things that are self-evaluating can self-evaluate.

This commit is contained in:
Simon Brooke 2026-04-13 14:52:05 +01:00
parent f5f8e38b91
commit b5a2e09763

View file

@ -40,24 +40,24 @@ struct pso_pointer lisp_eval( struct pso_pointer frame_pointer,
struct pso4 *frame = pointer_to_pso4( frame_pointer ); struct pso4 *frame = pointer_to_pso4( frame_pointer );
struct pso_pointer result = frame->payload.stack_frame.arg[0]; struct pso_pointer result = frame->payload.stack_frame.arg[0];
// switch ( get_tag_value( result)) { switch ( get_tag_value( result)) {
// case CONSTV: // case CONSTV:
// result = eval_cons( frame, frame_pointer, env); // result = eval_cons( frame, frame_pointer, env);
// break; // break;
// case KEYTV: // case KEYTV:
// case SYMBOLTV: case SYMBOLTV:
// result = eval_symbol( frame, frame_pointer, env); result = eval_symbol( frame_pointer, env);
// break; break;
// case LAMBDATV: case LAMBDATV:
// result = eval_lambda( frame, frame_pointer, env); result = eval_lambda( frame_pointer, env);
// break; break;
// case NLAMBDATV: case NLAMBDATV:
// result = eval_nlambda( frame, frame_pointer, env); result = eval_nlambda( frame_pointer, env);
// break; break;
// case SPECIALTV: case SPECIALTV:
// result = eval_special( frame, frame_pointer, env); result = eval_special( frame, frame_pointer, env);
// break; break;
// } }
if ( exceptionp( result ) ) { if ( exceptionp( result ) ) {
struct pso3 *x = struct pso3 *x =