From 4f025b96cfe6bc121ea9b37eb26d8814dd838647 Mon Sep 17 00:00:00 2001 From: Felix Perktold Date: Sun, 21 Dec 2025 14:01:36 +0100 Subject: start implementing eval --- lisp.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lisp.h') diff --git a/lisp.h b/lisp.h index 4053bd5..6ebf9a2 100644 --- a/lisp.h +++ b/lisp.h @@ -31,6 +31,8 @@ value *make_symbol(const char *sym); value *make_string(const char *str); value *make_nil(); value *cons(value *car, value *cdr); +value *car(value *cons); +value *cdr(value *cons); void *print_value(value *val); // environments, TODO: make this use hashtable @@ -47,4 +49,9 @@ env *env_create(env *parent); env *env_define(env *e, const char *sym, value *val); value *env_lookup(env *e, const char *sym); +extern env *global_env; + +value *eval(env *e, value *val); +value *eval_pair(env *e, value *val); + #endif -- cgit v1.2.3