summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-10-25 06:39:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-10-25 06:39:58 -0700
commita3028e441150ddac3db3ca9e1851ed547d0f72fc (patch)
tree21ca552d490ee18594391b5d3435abb0c2feedb7 /eval.c
parent99aea60f265cd70597d3c59142500956ed15fec6 (diff)
downloadtxr-a3028e441150ddac3db3ca9e1851ed547d0f72fc.tar.gz
txr-a3028e441150ddac3db3ca9e1851ed547d0f72fc.tar.bz2
txr-a3028e441150ddac3db3ca9e1851ed547d0f72fc.zip
New accessors nthlast and butlastn.
* eval.c (eval_init): register nthlast and butlastn intrinsicis. * lib.c (nthlast, butlastn): New function. * lib.h (nthlast, butlastn): Declared. * share/txr/stdlib/place.tl (defplace nthlast, defplace butlastn): New places. * txr.1: Documented nthlast and butlastn.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 4deab1c9..60fdb205 100644
--- a/eval.c
+++ b/eval.c
@@ -4977,7 +4977,9 @@ void eval_init(void)
reg_fun(intern(lit("ldiff"), user_package), func_n2(ldiff));
reg_fun(intern(lit("last"), user_package), func_n1(last));
reg_fun(intern(lit("butlast"), user_package), func_n1(butlast));
+ reg_fun(intern(lit("nthlast"), user_package), func_n2(nthlast));
reg_fun(intern(lit("nthcdr"), user_package), func_n2(nthcdr));
+ reg_fun(intern(lit("butlastn"), user_package), func_n2(butlastn));
reg_fun(intern(lit("flatten"), user_package), func_n1(flatten));
reg_fun(intern(lit("flatten*"), user_package), func_n1(lazy_flatten));
reg_fun(intern(lit("flatcar"), user_package), func_n1(flatcar));