summaryrefslogtreecommitdiff
path: root/pit/src/runtime/value
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2026-09-06 17:40:51 -0400
committerLLLL Colonq <llll@colonq>2026-09-06 17:40:51 -0400
commit71bfa9094a4a25f762d681bb07f79f92a95dbb87 (patch)
tree1b7ff31dad86e072a37e4270e762a5e0f12f87ac /pit/src/runtime/value
parent843ea34efc2c5ea10edc4d534304f8287f97fbbc (diff)
pit: Fix evaluator bug
Diffstat (limited to 'pit/src/runtime/value')
-rw-r--r--pit/src/runtime/value/cell.c2
-rw-r--r--pit/src/runtime/value/small.c8
2 files changed, 4 insertions, 6 deletions
diff --git a/pit/src/runtime/value/cell.c b/pit/src/runtime/value/cell.c
index 2a99ce2..34b9226 100644
--- a/pit/src/runtime/value/cell.c
+++ b/pit/src/runtime/value/cell.c
@@ -11,13 +11,11 @@ pit_value pit_value_cell_new(pit_runtime *rt, pit_value v) {
h->in.cell = v;
return ret;
}
-#include <stdio.h>
pit_value pit_value_cell_get(pit_runtime *rt, pit_value cell, pit_value sym) {
if (pit_value_sort(cell) != PIT_VALUE_SORT_REF) {
char buf[256];
i64 end = pit_dump(rt, buf, sizeof(buf) - 1, sym, false);
buf[end] = 0;
- fprintf(stderr, "attempted to get unbound variable/function: %s\n", buf);
pit_error(rt, "attempted to get unbound variable/function: %s", buf);
return PIT_NIL;
}
diff --git a/pit/src/runtime/value/small.c b/pit/src/runtime/value/small.c
index f07e405..e0bdf0a 100644
--- a/pit/src/runtime/value/small.c
+++ b/pit/src/runtime/value/small.c
@@ -3,7 +3,7 @@
#ifndef PIT_NO_DOUBLE
double pit_value_as_double(pit_runtime *rt, pit_value v) {
if (pit_value_sort(v) != PIT_VALUE_SORT_DOUBLE) {
- pit_error(rt, "invalid use of value as double");
+ pit_error(rt, "invalid use of value %v as double", v);
return 0.0;
}
union { double dval; u64 ival; } x;
@@ -23,7 +23,7 @@ pit_value pit_value_double_new(pit_runtime *rt, double d) {
i64 pit_value_as_integer(pit_runtime *rt, pit_value v) {
if (pit_value_sort(v) != PIT_VALUE_SORT_INTEGER) {
- pit_error(rt, "invalid use of value as integer");
+ pit_error(rt, "invalid use of value %v as integer", v);
return -1;
}
u64 lo = pit_value_data(v);
@@ -44,7 +44,7 @@ pit_value pit_value_bool_new(pit_runtime *rt, bool i) {
pit_symbol pit_value_as_symbol(pit_runtime *rt, pit_value v) {
if (pit_value_sort(v) != PIT_VALUE_SORT_SYMBOL) {
- pit_error(rt, "invalid use of value as symbol");
+ pit_error(rt, "invalid use of value %v as symbol", v);
return -1;
}
return (pit_symbol) (pit_value_data(v) & 0xffffffff);
@@ -59,7 +59,7 @@ pit_value pit_value_symbol_new(pit_runtime *rt, pit_symbol s) {
pit_ref pit_value_as_ref(pit_runtime *rt, pit_value v) {
if (pit_value_sort(v) != PIT_VALUE_SORT_REF) {
- pit_error(rt, "invalid use of value as ref");
+ pit_error(rt, "invalid use of value %v as ref", v);
return -1;
}
return (pit_ref) (pit_value_data(v) & 0xffffffff);