Added character as a first class object. Stepped through a run; it all works.

This commit is contained in:
Simon Brooke 2026-03-30 13:29:26 +01:00
parent a8b4a6e69d
commit e3f922a8bf
5 changed files with 52 additions and 26 deletions

View file

@ -3,6 +3,9 @@
*
* A special form.
*
* No payload here; it would be identical to function_payload, q.v., so
* use that instead.
*
* (c) 2026 Simon Brooke <simon@journeyman.cc>
* Licensed under GPL version 2.0, or, at your option, any later version.
*/
@ -21,25 +24,4 @@
#define SPECIALTAG "SFM"
#define SPECIALTV 5064275
// /**
// * @brief Payload of a special form cell.
// *
// * Currently identical to the payload of a function cell.
// * \see function_payload
// */
// struct special_payload {
// /**
// * pointer to the source from which the special form was compiled, or NIL
// * if it is a primitive.
// */
// struct pso_pointer meta;
// /** pointer to a function which takes a cons pointer (representing
// * its argument list) and a cons pointer (representing its environment) and a
// * stack frame (representing the previous stack frame) as arguments and returns
// * a cons pointer (representing its result). */
// struct pso_pointer ( *executable ) ( struct pso4*,
// struct pso_pointer,
// struct pso_pointer );
// };
#endif