37 lines
1.2 KiB
C
37 lines
1.2 KiB
C
/**
|
|
* 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 <simon@journeyman.cc>
|
|
* Licensed under GPL version 2.0, or, at your option, any later version.
|
|
*/
|
|
|
|
#ifndef __psse_io_print_h
|
|
#define __psse_io_print_h
|
|
#include <stdbool.h>
|
|
|
|
#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
|