summaryrefslogtreecommitdiff
path: root/src/library.c
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-03-02 01:12:33 -0500
committerLLLL Colonq <llll@colonq>2026-03-02 01:12:33 -0500
commitfae5921bfcbf9f0c8c138dd13aa9c8822a75a316 (patch)
tree76d32aa066709c04d9be495f29d857ba1dcfadcd /src/library.c
parent83d7d3cf960ecb7b1e20b691d4018a67d407cf47 (diff)
Printing diagnostics
Diffstat (limited to 'src/library.c')
-rw-r--r--src/library.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/library.c b/src/library.c
index 7c63066..5176874 100644
--- a/src/library.c
+++ b/src/library.c
@@ -805,6 +805,11 @@ void pit_install_library_essential(pit_runtime *rt) {
pit_fset(rt, pit_intern_cstr(rt, "bitwise/rshift"), pit_nativefunc_new(rt, impl_bitwise_rshift));
}
+static pit_value impl_diagnostics(pit_runtime *rt, pit_value args) {
+ (void) args;
+ fprintf(stderr, "value allocs: %ld\n", rt->values->next);
+ return PIT_NIL;
+}
static pit_value impl_print(pit_runtime *rt, pit_value args) {
pit_value x = pit_car(rt, args);
char buf[1024] = {0};
@@ -844,6 +849,8 @@ static pit_value impl_load(pit_runtime *rt, pit_value args) {
return ret;
}
void pit_install_library_io(pit_runtime *rt) {
+ /* diagnostics */
+ pit_fset(rt, pit_intern_cstr(rt, "diagnostics!"), pit_nativefunc_new(rt, impl_diagnostics));
/* stream IO */
pit_fset(rt, pit_intern_cstr(rt, "print!"), pit_nativefunc_new(rt, impl_print));
pit_fset(rt, pit_intern_cstr(rt, "princ!"), pit_nativefunc_new(rt, impl_princ));