Still still doesn't compile. Progress is being made, but it's fair awfy slow.

This commit is contained in:
Simon Brooke 2026-05-03 14:17:31 +01:00
parent aac4669a3d
commit ab0ea09bd4
18 changed files with 255 additions and 426 deletions

View file

@ -12,20 +12,13 @@
#include <stdbool.h>
#include "memory/pointer.h"
#include "memory/pso2.h"
#include "memory/pso4.h"
#define CONS_SIZE_CLASS 2
/**
* @brief A cons cell.
*
*/
struct cons_payload {
/** Contents of the Address Register, naturally. */
struct pso_pointer car;
/** Contents of the Decrement Register, naturally. */
struct pso_pointer cdr;
};
/* NOTE THAT the definition of a cons payload has to be in memory/pso2.h to
* avoid circularity. */
struct pso_pointer car( struct pso_pointer frame_pointer );

View file

@ -132,7 +132,7 @@ struct pso_pointer throw_exception_with_cause( struct pso_pointer location,
} else {
struct pso_pointer x_frame = inc_ref(make_frame(
2, frame_pointer, message,
(nilp(location)
(c_nilp(location)
? nil
: make_cons(frame_pointer,
make_cons(frame_pointer,

View file

@ -30,4 +30,8 @@ struct pso_pointer make_exception( struct pso_pointer frame_pointer );
struct pso_pointer destroy_exception( struct pso_pointer fp );
struct pso_pointer
throw_exception( struct pso_pointer location,
struct pso_pointer payload,
struct pso_pointer frame_pointer );
#endif