/** * io/print.c * * Post Scarcity Software Environment: print. * * Print basic Lisp objects..This is :bootstrap layer print; it needs to be * able to print characters, symbols, integers, lists and dotted pairs. I * don't think it needs to be able to print anything else. * * (c) 2026 Simon Brooke * Licensed under GPL version 2.0, or, at your option, any later version. */ #ifndef __psse_io_print_h #define __psse_io_print_h #include #include "io/fopen.h" struct pso_pointer print( struct pso_pointer frame_pointer ); struct pso_pointer princ( struct pso_pointer frame_pointer ); #define PRINT_VARIANT_PRINT 0 #define PRINT_VARIANT_PRIN1 1 #define PRINT_VARIANT_PRINC 2 struct pso_pointer in_write( struct pso_pointer p, URL_FILE * output, bool escape, int indent ); struct pso_pointer c_write( struct pso_pointer frame_pointer, struct pso_pointer object, struct pso_pointer stream, bool escape, bool nl_before, bool nl_after ); #define c_print(f,o,s)(c_write(f,o,s,true,true,false)) #define c_princ(f,o,s)(c_write(f,o,s,false,true,false)) #endif