void create_env() { //env must be ((dummy . dummy) (a . 1) (b . 3) ...) env = create_cons(); set_car(env, create_cons()); set_cdr(env, create_empty_list()); add_bind_to_env(env, create_symbol("car"), create_subr(LF_car)); add_bind_to_env(env, create_symbol("cdr"), create_subr(LF_cdr)); add_bind_to_env(env, create_symbol("atom?"), create_subr(LF_cons)); add_bind_to_env(env, create_symbol("eq?"), create_subr(LF_eq)); add_bind_to_env(env, create_symbol("quote"), create_fsubr(LF_quote)); return; }
SCM scm_c_define_gsubr_with_generic (const char *name, int req, int opt, int rst, SCM (*fcn)(), SCM *gf) { return create_subr (1, name, req, opt, rst, fcn, gf); }
SCM scm_c_define_gsubr (const char *name, int req, int opt, int rst, SCM (*fcn)()) { return create_subr (1, name, req, opt, rst, fcn, NULL); }