From a64dfb3f355bdb44e7f533a88db0716e70418ae4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 28 Nov 2011 21:51:07 -0800 Subject: * eval.c (eval_init): More functions. * txr.vim: More highlighting. --- ChangeLog | 6 ++++++ eval.c | 20 ++++++++++++++++++++ txr.vim | 5 +++++ 3 files changed, 31 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1febf32f..49db226a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-11-28 Kaz Kylheku + + * eval.c (eval_init): More functions. + + * txr.vim: More highlighting. + 2011-11-28 Kaz Kylheku Adding streams functions to Lisp evaluator. diff --git a/eval.c b/eval.c index fed7f272..3c642aee 100644 --- a/eval.c +++ b/eval.c @@ -832,6 +832,26 @@ void eval_init(void) reg_fun(intern(lit("mappend"), user_package), func_n1v(mappendv)); reg_fun(apply_s, func_n2(apply_intrinsic)); + reg_fun(intern(lit("second"), user_package), func_n1(second)); + reg_fun(intern(lit("third"), user_package), func_n1(third)); + reg_fun(intern(lit("fourth"), user_package), func_n1(fourth)); + reg_fun(intern(lit("fifth"), user_package), func_n1(fifth)); + reg_fun(intern(lit("sixth"), user_package), func_n1(sixth)); + reg_fun(intern(lit("copy-list"), user_package), func_n1(copy_list)); + reg_fun(intern(lit("nreverse"), user_package), func_n1(nreverse)); + reg_fun(intern(lit("reverse"), user_package), func_n1(reverse)); + reg_fun(intern(lit("ldiff"), user_package), func_n2(ldiff)); + reg_fun(intern(lit("flatten"), user_package), func_n1(flatten)); + reg_fun(intern(lit("memq"), user_package), func_n2(memq)); + reg_fun(intern(lit("memqual"), user_package), func_n2(memqual)); + reg_fun(intern(lit("tree-find"), user_package), func_n3(tree_find)); + reg_fun(intern(lit("some"), user_package), func_n3(some_satisfy)); + reg_fun(intern(lit("all"), user_package), func_n3(all_satisfy)); + reg_fun(intern(lit("none"), user_package), func_n3(none_satisfy)); + reg_fun(intern(lit("eq"), user_package), func_n2(eq)); + reg_fun(intern(lit("eql"), user_package), func_n2(eql)); + reg_fun(intern(lit("equal"), user_package), func_n2(equal)); + reg_fun(intern(lit("+"), user_package), func_n0v(plusv)); reg_fun(intern(lit("-"), user_package), func_n1v(minusv)); reg_fun(intern(lit("*"), user_package), func_n0v(mulv)); diff --git a/txr.vim b/txr.vim index 3ef872f4..d1acd994 100644 --- a/txr.vim +++ b/txr.vim @@ -30,6 +30,11 @@ syn keyword txl_keyword contained let lambda call cond if and or defvar defun syn keyword txl_keyword contained inc dec push pop gethash list append apply syn keyword txl_keyword contained cons list atom null consp listp proper-listp syn keyword txl_keyword contained length mapcar mappend apply + +syn keyword txl_keyword second third fourth fifth sixth copy-list nreversei +syn keyword txl_keyword reverse ldiff flatten memq memqual +syn keyword txl_keyword tree-find some all none eq eql equal + syn keyword txl_keyword contained + - * trunc mod numberp > < >= <= max min syn keyword txl_keyword contained int-str -- cgit v1.2.3