From b86d3361836935297c6aedb0318ed8a34e4c52f0 Mon Sep 17 00:00:00 2001 From: Felix Perktold Date: Sun, 18 Jan 2026 14:21:34 +0100 Subject: refactor lisp.h into public lisp_api.h and internal lisp.h --- lisp.h | 45 --------------------------------------------- 1 file changed, 45 deletions(-) (limited to 'lisp.h') diff --git a/lisp.h b/lisp.h index a422c9b..a972ecc 100644 --- a/lisp.h +++ b/lisp.h @@ -4,51 +4,6 @@ typedef struct value value; typedef struct env env; -typedef enum { - VT_INT, - VT_DOUBLE, - VT_SYMBOL, - VT_STRING, - VT_NIL, - VT_PAIR, - VT_LAMBDA, - VT_BUILTIN -} val_type; - -struct value { - val_type type; - union { - int i; - double d; - const char *sym; - const char *str; - struct { - value *car; - value *cdr; - } pair; - struct { - value *params; - value *body; - env *env; - } lambda; - struct { - value *(*fn) (env *, value *); - } builtin; - } as; -}; - -value *make_int(int i); -value *make_double(double d); -value *make_symbol(const char *sym); -value *make_string(const char *str); -value *make_nil(); -value *make_lambda(env *e, value *params, value *body); -value *make_builtin(value *(*fn) (env *, value *)); -value *cons(value *car, value *cdr); -value *car(value *cons); -value *cdr(value *cons); -value *reverse(value *list); - void print_value(value *val); void println_value(value *val); // environments, TODO: make this use hashtable -- cgit v1.2.3