#ifndef MK_BUILTINS_H #define MK_BUILTINS_H #include "commons.h" #include "moka.h" #define MK_EVAL(X) moka_eval_lazy(moka, X) void register_builtins(struct moka* moka); MOKA mk_println(struct moka* moka, struct vec* args); MOKA mk_define(struct moka* moka, struct vec* args); MOKA mk_array(struct moka* moka, struct vec* args); MOKA mk_assert_eqv_mut(struct moka* moka, struct vec* args); // Comparisons // =========== MOKA mk_lt(struct moka* moka, struct vec* args); MOKA mk_le(struct moka* moka, struct vec* args); MOKA mk_gt(struct moka* moka, struct vec* args); MOKA mk_ge(struct moka* moka, struct vec* args); MOKA mk_is_eqv(struct moka* moka, struct vec* args); MOKA mk_is_nev(struct moka* moka, struct vec* args); // Num Arithmetic // ============== MOKA mk_add(struct moka* moka, struct vec* args); MOKA mk_sub(struct moka* moka, struct vec* args); MOKA mk_mul(struct moka* moka, struct vec* args); MOKA mk_div(struct moka* moka, struct vec* args); MOKA mk_mod(struct moka* moka, struct vec* args); MOKA mk_pow(struct moka* moka, struct vec* args); #endif