30 lines
847 B
C
30 lines
847 B
C
#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 <stdio.h>
|
|
|
|
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
|