#ifndef INCLUDED_LISP_H #define INCLUDED_LISP_H #include "base.h" #include "function.h" // IWYU pragma: export #include "hashtable.h" // IWYU pragma: export #include "lisp_string.h" // IWYU pragma: export #include "list.h" // IWYU pragma: export #include "stack.h" // IWYU pragma: export #include extern LispVal *obarray; void lisp_init(void); void lisp_shutdown(void); DECLARE_FUNCTION(eval, (LispVal * form, LispVal *lexenv)); DECLARE_FUNCTION(progn, (LispVal * forms)); DECLARE_FUNCTION(let, (LispVal * bindings, LispVal *body)); __attribute__((no_sanitize("address"))) void debug_print(FILE *file, LispVal *obj); __attribute__((no_sanitize("address"))) void debug_obj_info(FILE *file, LispVal *obj); #endif