Working on eval/apply. Unfinished, does not build. More significantly,

as the focus ot this prototype is supposed to be building things in
Lisp,
I've started deliberately copying stuff that mostly works directly from
the 0.0.6 branch into this branch. After all, if it's going to be
replaced in Lisp, it doesn't have to be the most elegant C.
This commit is contained in:
Simon Brooke 2026-04-25 21:52:05 +01:00
parent 63906fe817
commit f7eabb9b62
10 changed files with 1730 additions and 134 deletions

View file

@ -125,8 +125,8 @@ struct pso_pointer assoc(
struct pso_pointer key = fetch_arg( frame, 0 );
struct pso_pointer store = or( make_frame( 2, frame_pointer,
fetch_arg( frame, 1 ),
frame->payload.stack_frame.
env ) );
frame->payload.
stack_frame.env ) );
return c_assoc( key, store );
}
@ -147,8 +147,8 @@ struct pso_pointer interned(
struct pso_pointer key = fetch_arg( frame, 0 );
struct pso_pointer store = or( make_frame( 2, frame_pointer,
fetch_arg( frame, 1 ),
frame->payload.stack_frame.
env ) );
frame->payload.
stack_frame.env ) );
return c_interned( key, store );
}
@ -169,8 +169,8 @@ struct pso_pointer internedp(
struct pso_pointer key = fetch_arg( frame, 0 );
struct pso_pointer store = or( make_frame( 2, frame_pointer,
fetch_arg( frame, 1 ),
frame->payload.stack_frame.
env ) );
frame->payload.
stack_frame.env ) );
return c_internedp( key, store ) ? t : nil;
}