Another inconclusive session: still nothing works, still making progress.

This commit is contained in:
Simon Brooke 2026-04-22 18:16:00 +01:00
parent ef59563e25
commit eed4711fee
35 changed files with 317 additions and 232 deletions

View file

@ -33,7 +33,24 @@ struct pso_pointer cdr( struct pso_pointer frame_pointer );
struct pso_pointer cons( struct pso_pointer frame_pointer );
struct pso_pointer destroy_cons( struct pso_pointer fp,
struct pso_pointer env );
struct pso_pointer destroy_cons( struct pso_pointer frame_pointer);
struct pso_pointer make_cons(struct pso_pointer frame_pointer,
struct pso_pointer car,
struct pso_pointer cdr);
/**
* macro short-cuts for make_cons.
*/
// #define make_cons(frame_pointer,car,cdr) (cons(make_frame(2, frame_pointer, car, cdr)))
/**
* Variant which assumes a convention that the frame pointer will always be
* called `frame_pointer`
*/
#define make_cons2(car,cdr) (cons(make_frame(2, frame_pointer, car, cdr)))
#define c_car(p)(consp(p) ? pointer_to_object(p)->payload.cons.car : nil)
#define c_cdr(p)(consp(p) ? pointer_to_object(p)->payload.cons.cdr : nil)
#endif