From 5f05a6a1088cdf1f68b1acea43e58f2d61149ae7 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 11 Feb 2026 10:26:37 +0000 Subject: [PATCH] lisp: implement TAG_VEC lisp_print method --- src/lisp.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/lisp.c b/src/lisp.c index 8cf35cf..a64118a 100644 --- a/src/lisp.c +++ b/src/lisp.c @@ -217,8 +217,34 @@ void lisp_print(FILE *fp, lisp_t *lisp) break; } case TAG_VEC: + { +#if VERBOSE_LOGS + fprintf(fp, "VEC["); +#else + fprintf(fp, "["); +#endif + + vec_t *vec = as_vec(lisp); + for (u64 i = 1; i <= VEC_SIZE(vec, lisp_t *); ++i) + { + lisp_t *item = VEC_GET(vec, i - 1, lisp_t *); + lisp_print(fp, item); + if (i != VEC_SIZE(vec, lisp_t *)) + { + fprintf(fp, " "); + } + } + +#if VERBOSE_LOGS + fprintf(fp, "]"); +#else + fprintf(fp, "]"); +#endif break; + } case NUM_TAGS: + default: + FAIL("Unreachable"); break; } }