24 lines
773 B
C
24 lines
773 B
C
#ifndef INCLUDED_INTERP_H
|
|
#define INCLUDED_INTERP_H
|
|
|
|
#include "base.h"
|
|
|
|
LispVal *eval(LispVal *form);
|
|
DECLARE_FUNCTION(eval, (LispVal * form, LispVal *lexenv));
|
|
DECLARE_FUNCTION(progn, (LispVal * forms));
|
|
DECLARE_FUNCTION(setq, (LispVal * bindings));
|
|
DECLARE_FUNCTION(let, (LispVal * bindings, LispVal *body));
|
|
DECLARE_FUNCTION(if, (LispVal * cond, LispVal *then, LispVal *otherwise));
|
|
DECLARE_FUNCTION(and, (LispVal * forms));
|
|
DECLARE_FUNCTION(or, (LispVal * forms));
|
|
DECLARE_FUNCTION(null, (LispVal * datum));
|
|
DECLARE_FUNCTION(not, (LispVal * datum));
|
|
|
|
DECLARE_FUNCTION(block, (LispVal * name, LispVal *body));
|
|
DECLARE_FUNCTION(return_from, (LispVal * name, LispVal *value));
|
|
|
|
DECLARE_SYMBOL(unbound_variable_error);
|
|
MAKE_CONDITION_CLASS(unbound_variable_error);
|
|
|
|
#endif
|