summaryrefslogtreecommitdiffstats
path: root/lib.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-12 17:42:58 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-12 17:42:58 -0800
commit81f71cdbf8446246837665cc6f13e3da95a7db58 (patch)
tree3a0078cd114335bf413511089e2db17309878f70 /lib.h
parent1c31934c8294fec086bcfcd43479a3a399234ff7 (diff)
downloadtxr-81f71cdbf8446246837665cc6f13e3da95a7db58.tar.gz
txr-81f71cdbf8446246837665cc6f13e3da95a7db58.tar.bz2
txr-81f71cdbf8446246837665cc6f13e3da95a7db58.zip
* arith.c (expt): New function.
* eval.c (eval_init): Registering new intrinsic functions, reduce-left, reduce-right and expt. * lib.c (minusv): Return one instead of num(1). (exptv, reduce_right): New functions. * lib.h (expt, exptv, reduce_right): Declared. * txr.1: Blank sections for new functions.
Diffstat (limited to 'lib.h')
-rw-r--r--lib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib.h b/lib.h
index c261fc04..4787e240 100644
--- a/lib.h
+++ b/lib.h
@@ -385,6 +385,8 @@ val max2(val anum, val bnum);
val min2(val anum, val bnum);
val maxv(val first, val rest);
val minv(val first, val rest);
+val expt(val base, val exp);
+val exptv(val nlist);
val string_own(wchar_t *str);
val string(const wchar_t *str);
val string_utf8(const char *str);
@@ -465,6 +467,7 @@ val funcall2(val fun, val arg1, val arg2);
val funcall3(val fun, val arg1, val arg2, val arg3);
val funcall4(val fun, val arg1, val arg2, val arg3, val arg4);
val reduce_left(val fun, val list, val init, val key);
+val reduce_right(val fun, val list, val init, val key);
/* The notation curry_12_2 means take some function f(arg1, arg2) and
fix a value for argument 1 to create a g(arg2).
Other variations follow by analogy. */