Add progn special form
This commit is contained in:
20
src/main.c
20
src/main.c
@@ -17,15 +17,28 @@ int main(int argc, const char **argv) {
|
||||
ucl_state_put(state, "if", ucl_special_create(ucl_special_if));
|
||||
ucl_state_put(state, "defun", ucl_special_create(ucl_special_defun));
|
||||
ucl_state_put(state, "setq", ucl_special_create(ucl_special_setq));
|
||||
ucl_state_put(state, "progn", ucl_special_create(ucl_special_progn));
|
||||
|
||||
// TODO:
|
||||
// - progn
|
||||
// - quote
|
||||
// - iteration
|
||||
// - lambda
|
||||
|
||||
ucl_state_put(state, "print", ucl_builtin_create(ucl_builtin_print));
|
||||
ucl_state_put(state, "list", ucl_builtin_create(ucl_builtin_list));
|
||||
// TODO:
|
||||
// - print with newline
|
||||
// - object -> string
|
||||
// - formatted printing?
|
||||
|
||||
ucl_state_put(state, "+", ucl_builtin_create(ucl_builtin_add));
|
||||
ucl_state_put(state, "-", ucl_builtin_create(ucl_builtin_sub));
|
||||
ucl_state_put(state, "*", ucl_builtin_create(ucl_builtin_mul));
|
||||
ucl_state_put(state, "/", ucl_builtin_create(ucl_builtin_div));
|
||||
ucl_state_put(state, "%", ucl_builtin_create(ucl_builtin_mod));
|
||||
// TODO:
|
||||
// - Floats or nah?
|
||||
|
||||
ucl_state_put(state, "concat", ucl_builtin_create(ucl_builtin_concat));
|
||||
|
||||
@@ -35,6 +48,13 @@ int main(int argc, const char **argv) {
|
||||
ucl_state_put(state, "string-p", ucl_builtin_create(ucl_builtin_string_p));
|
||||
ucl_state_put(state, "int-p", ucl_builtin_create(ucl_builtin_int_p));
|
||||
ucl_state_put(state, "list-p", ucl_builtin_create(ucl_builtin_list_p));
|
||||
// TODO:
|
||||
// - equality
|
||||
// - map
|
||||
// - reduce
|
||||
// - car
|
||||
// - cdr
|
||||
// - nth
|
||||
|
||||
if (argc < 2) {
|
||||
while (1) {
|
||||
|
||||
Reference in New Issue
Block a user