summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-21 14:15:10 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-21 14:15:10 -0800
commit371d2635382eb0be35426983e7be5fed703024a6 (patch)
tree3b650a7db523257dd21c129ccbdd15305441adea /eval.c
parent213412b3e747e29bf885e15b269191d9edb06a0a (diff)
downloadtxr-371d2635382eb0be35426983e7be5fed703024a6.tar.gz
txr-371d2635382eb0be35426983e7be5fed703024a6.tar.bz2
txr-371d2635382eb0be35426983e7be5fed703024a6.zip
* Makefile (OBJS): new object file, rand.o.
* eval.c: Includes rand.h header. (eval_init): New variable and functions from rand module registered. * lib.c: Includes rand.h header. (init): Call rand_init. * rand.c: New file. * rand.h: New file.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 8f8ed0aa..1a77deb1 100644
--- a/eval.c
+++ b/eval.c
@@ -42,6 +42,7 @@
#include "hash.h"
#include "debug.h"
#include "match.h"
+#include "rand.h"
#include "eval.h"
typedef val (*opfun_t)(val, val);
@@ -1411,6 +1412,12 @@ void eval_init(void)
reg_fun(intern(lit("functionp"), user_package), func_n1(functionp));
reg_fun(intern(lit("interp-fun-p"), user_package), func_n1(interp_fun_p));
+ reg_var(intern(lit("*random-state*"), user_package), random_state);
+ reg_fun(intern(lit("make-random-state"), user_package), func_n1(make_random_state));
+ reg_fun(intern(lit("random-state-p"), user_package), func_n1(random_state_p));
+ reg_fun(intern(lit("random-fixnum"), user_package), func_n1(random_fixnum));
+ reg_fun(intern(lit("random"), user_package), func_n2(random));
+
eval_error_s = intern(lit("eval-error"), user_package);
uw_register_subtype(eval_error_s, error_s);
}