keithlisp/native_funs.h

58 lines
2.2 KiB
C

#ifndef _NATIVE_FUNS_H
#define _NATIVE_FUNS_H
#include <stdlib.h>
#include <stdbool.h>
#include "lisp_types.h"
#include "lisp_string.h"
#include "main.h"
void lispf_add(lisp_cons* cons, lisp_value* value);
void lispf_sub(lisp_cons* cons, lisp_value* value);
void lispf_mul(lisp_cons* cons, lisp_value* value);
void lispf_div(lisp_cons* cons, lisp_value* value);
void lispf_intdiv(lisp_cons* cons, lisp_value* value);
void lispf_not(lisp_cons* cons, lisp_value* value);
void lispf_or(lisp_cons* cons, lisp_value* value);
void lispf_and(lisp_cons* cons, lisp_value* value);
void lispf_eq(lisp_cons* cons, lisp_value* value);
void lispf_num_eq(lisp_cons* cons, lisp_value* value);
void lispf_num_lt(lisp_cons* cons, lisp_value* value);
void lispf_num_gt(lisp_cons* cons, lisp_value* value);
void lispf_num_le(lisp_cons* cons, lisp_value* value);
void lispf_num_ge(lisp_cons* cons, lisp_value* value);
void lispf_cons(lisp_cons* cons, lisp_value* value);
void lispf_car(lisp_cons* cons, lisp_value* value);
void lispf_cdr(lisp_cons* cons, lisp_value* value);
void lispf_rplaca(lisp_cons* cons, lisp_value* value);
void lispf_rplacd(lisp_cons* cons, lisp_value* value);
void lispf_list(lisp_cons* cons, lisp_value* value);
void lispf_length(lisp_cons* cons, lisp_value* value);
void lispf_nth(lisp_cons* cons, lisp_value* value);
void lispf_nthcdr(lisp_cons* cons, lisp_value* value);
void lispf_append(lisp_cons* cons, lisp_value* value);
void lispf_push(lisp_cons* cons, lisp_value* value);
void lispf_assoc(lisp_cons* cons, lisp_value* value);
void lispf_rassoc(lisp_cons* cons, lisp_value* value);
void lispf_alist_put(lisp_cons* cons, lisp_value* value);
void lispf_type_of(lisp_cons* cons, lisp_value* value);
void lispf_addr_of(lisp_cons* cons, lisp_value* value);
void lispf_set(lisp_cons* cons, lisp_value* value);
void lispf_fun(lisp_cons* cons, lisp_value* value);
void lispf_print(lisp_cons* cons, lisp_value* value);
void lispf_internals_syms_alist(lisp_cons* cons, lisp_value* value);
void lispf_internals_funs_alist(lisp_cons* cons, lisp_value* value);
void lispf_internals_atoms_alist(lisp_cons* cons, lisp_value* value);
void lispf_internals_fun_set(lisp_cons* cons, lisp_value* value);
void init_native_funs();
#endif