- "eval", AO_LISP_FUNC_LAMBDA, builtin_eval,
- "read", AO_LISP_FUNC_LAMBDA, builtin_read,
- "lambda", AO_LISP_FUNC_NLAMBDA, builtin_lambda,
- "lexpr", AO_LISP_FUNC_NLAMBDA, builtin_lexpr,
- "nlambda", AO_LISP_FUNC_NLAMBDA, builtin_nlambda,
- "macro", AO_LISP_FUNC_NLAMBDA, builtin_macro,
- "car", AO_LISP_FUNC_LAMBDA, builtin_car,
- "cdr", AO_LISP_FUNC_LAMBDA, builtin_cdr,
- "cons", AO_LISP_FUNC_LAMBDA, builtin_cons,
- "last", AO_LISP_FUNC_LAMBDA, builtin_last,
- "quote", AO_LISP_FUNC_NLAMBDA, builtin_quote,
- "set", AO_LISP_FUNC_LAMBDA, builtin_set,
- "setq", AO_LISP_FUNC_MACRO, builtin_setq,
- "cond", AO_LISP_FUNC_NLAMBDA, builtin_cond,
- "progn", AO_LISP_FUNC_NLAMBDA, builtin_progn,
- "while", AO_LISP_FUNC_NLAMBDA, builtin_while,
- "print", AO_LISP_FUNC_LEXPR, builtin_print,
- "patom", AO_LISP_FUNC_LEXPR, builtin_patom,
- "+", AO_LISP_FUNC_LEXPR, builtin_plus,
- "-", AO_LISP_FUNC_LEXPR, builtin_minus,
- "*", AO_LISP_FUNC_LEXPR, builtin_times,
- "/", AO_LISP_FUNC_LEXPR, builtin_divide,
- "%", AO_LISP_FUNC_LEXPR, builtin_mod,
- "=", AO_LISP_FUNC_LEXPR, builtin_equal,
- "<", AO_LISP_FUNC_LEXPR, builtin_less,
- ">", AO_LISP_FUNC_LEXPR, builtin_greater,
- "<=", AO_LISP_FUNC_LEXPR, builtin_less_equal,
- ">=", AO_LISP_FUNC_LEXPR, builtin_greater_equal,
- "delay", AO_LISP_FUNC_LAMBDA, builtin_delay,
- "led", AO_LISP_FUNC_LEXPR, builtin_led,
+ { .name = "eval", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_eval },
+ { .name = "read", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_read },
+ { .name = "lambda", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_lambda },
+ { .name = "lexpr", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_lexpr },
+ { .name = "nlambda", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_nlambda },
+ { .name = "macro", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_macro },
+ { .name = "car", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_car },
+ { .name = "cdr", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_cdr },
+ { .name = "cons", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_cons },
+ { .name = "last", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_last },
+ { .name = "length", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_length },
+ { .name = "quote", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_quote },
+ { .name = "set", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_set },
+ { .name = "setq", .args = AO_LISP_FUNC_MACRO, .func = builtin_setq },
+ { .name = "cond", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_cond },
+ { .name = "progn", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_progn },
+ { .name = "while", .args = AO_LISP_FUNC_NLAMBDA, .func = builtin_while },
+ { .name = "print", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_print },
+ { .name = "patom", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_patom },
+ { .name = "+", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_plus },
+ { .name = "-", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_minus },
+ { .name = "*", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_times },
+ { .name = "/", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_divide },
+ { .name = "%", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_mod },
+ { .name = "=", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_equal },
+ { .name = "<", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_less },
+ { .name = ">", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_greater },
+ { .name = "<=", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_less_equal },
+ { .name = ">=", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_greater_equal },
+ { .name = "pack", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_pack },
+ { .name = "unpack", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_unpack },
+ { .name = "flush", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_flush },
+ { .name = "delay", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_delay },
+ { .name = "led", .args = AO_LISP_FUNC_F_LEXPR, .func = builtin_led },
+ { .name = "save", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_save },
+ { .name = "restore", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_restore },
+ { .name = "call/cc", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_call_cc },
+ { .name = "collect", .args = AO_LISP_FUNC_F_LAMBDA, .func = builtin_collect },