From df558da7e1979a59b5207c323962aa59b61258e4 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 20 Aug 2025 21:50:58 +0100 Subject: Use sv_t instead of raw char* We're storing them as sv_t's anyway, we're fucked with regards to indirection. Thus, let's be nice to ourselves, and deal with the structures. We get the size of the structure for free anyway! --- alisp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'alisp.h') diff --git a/alisp.h b/alisp.h index 5b7c9e1..72635b8 100644 --- a/alisp.h +++ b/alisp.h @@ -78,7 +78,7 @@ typedef struct u64 djb2(sv_t string); void sym_table_init(sym_table_t *table); -char *sym_table_find(sym_table_t *table, sv_t sv); +sv_t *sym_table_find(sym_table_t *table, sv_t sv); void sym_table_cleanup(sym_table_t *table); /// Basic defintions for a Lisp @@ -115,7 +115,7 @@ lisp_t *intern(sys_t *sys, sv_t sv); lisp_t *cons(sys_t *sys, lisp_t *car, lisp_t *cdr); i64 as_int(lisp_t *); -char *as_sym(lisp_t *); +sv_t *as_sym(lisp_t *); cons_t *as_cons(lisp_t *); void *as_vec(lisp_t *); @@ -160,7 +160,7 @@ enum Mask tag_t get_tag(lisp_t *lisp); lisp_t *tag_int(i64 i); -lisp_t *tag_sym(char *str); +lisp_t *tag_sym(sv_t *sv); lisp_t *tag_cons(cons_t *cons); lisp_t *tag_vec(lvec_t *lvec); -- cgit v1.2.3-13-gbd6f