Things that are self-evaluating can self-evaluate.
This commit is contained in:
parent
f5f8e38b91
commit
b5a2e09763
1 changed files with 14 additions and 14 deletions
|
|
@ -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 =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue