aboutsummaryrefslogtreecommitdiff
path: root/src/builtins.h
blob: 4e4e39fba65444b726c9bfeac73b21d9079e704d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef BAMBOO_LISP_BUILTINS_H_
#define BAMBOO_LISP_BUILTINS_H_

#include "interp.h"

SExpRef builtin_list(Interp *interp, SExpRef sexp);
SExpRef builtin_car(Interp *interp, SExpRef sexp);
SExpRef builtin_cdr(Interp *interp, SExpRef sexp);
SExpRef builtin_cons(Interp *interp, SExpRef sexp);
SExpRef builtin_not(Interp *interp, SExpRef sexp);

SExpRef builtin_add(Interp *interp, SExpRef sexp);
SExpRef builtin_sub(Interp *interp, SExpRef sexp);
SExpRef builtin_mul(Interp *interp, SExpRef sexp);
SExpRef builtin_div(Interp *interp, SExpRef sexp);
SExpRef builtin_idiv(Interp *interp, SExpRef sexp);
SExpRef builtin_mod(Interp *interp, SExpRef sexp);

SExpRef builtin_num_equal(Interp *interp, SExpRef sexp);
SExpRef builtin_num_neq(Interp *interp, SExpRef sexp);
SExpRef builtin_gt(Interp *interp, SExpRef sexp);
SExpRef builtin_lt(Interp *interp, SExpRef sexp);
SExpRef builtin_ge(Interp *interp, SExpRef sexp);
SExpRef builtin_le(Interp *interp, SExpRef sexp);
SExpRef builtin_show(Interp *interp, SExpRef sexp);

#endif