Files
glisp/src/interp.h
T
2026-09-08 06:33:15 -07:00

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