summaryrefslogtreecommitdiffstats
path: root/rand.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-02-21 18:13:52 -0800
committerKaz Kylheku <kaz@kylheku.com>2012-02-21 18:13:52 -0800
commit72d59307630fd1bd9ee1c06cdad4cfb634bc9a3a (patch)
tree2232b5a5374c92d566f087f2bc5e5067a5fb8fd4 /rand.h
parent216c446da541d2a2e68c57feee04bafce00013e5 (diff)
downloadtxr-72d59307630fd1bd9ee1c06cdad4cfb634bc9a3a.tar.gz
txr-72d59307630fd1bd9ee1c06cdad4cfb634bc9a3a.tar.bz2
txr-72d59307630fd1bd9ee1c06cdad4cfb634bc9a3a.zip
Introducing optional arguments.
* debug.c (help, show_bindings): put_string arguments reversed. * eval.c (bind_args): Support colon notation in interpreted function lambda lists for optional arguments. Improved error checking. (apply): Allow optional arguments to be left out. (dwim_loc): Reversed arguments to replace_str, replace_vec, replace_list. (eval_init): Numerous intrinsics now have arguments that are optional. New function rand introduced which reverses arguments relative to random. New intrinsic function hash introduced for alternative construction of hashes. * gc.c (sweep): Reversed arguments to put_char. * hash.c (weak_keys_k, weak_vals_k, equal_based_k): New keyword symbol variables. (hashv): New function. (hash_init): Intern new symbols. * hash.h (weak_keys_k, weak_vals_k, equal_based_k, hashv): Declared. * lib.c (colon_k): New keyword symbol variable. (replace_list, replace_str, replace_vec): Arguments rearranged. (tree_find): testfun becomes optional argument. (int_str): base becomes optional argument. (func_f0, func_f1, func_f2, func_f3, func_f4, func_n0, func_n1, func_n2, func_n3, func_n4, func_f0v, func_f1v, func_f2v, func_f3v, func_f4v, func_n0v, func_n1v, func_n2v, func_n3v, func_n4v, func_interp): Initialize optargs to zero. (func_n0o, func_n1o, func_n2o, func_n3o, func_n4o): New functions. (cobj_print_op): Reversed arguments to put_string. (find): testfun and keyfun become optional arguments. (replace): Parameters rearranged and arguments rearranged in calls to replace_list, replace_str and replace_vec. (obj_init): colon_k initialized. (obj_print, obj_pprint): Arguments reversed, and stream defaults to std_output. Arguments reversed in calls to put_char and put_string. (dump): Arguments reversed in call to put_char. * lib.h (struct func): sizes of minparam, fixparam bitfields adjusted. New bitfield optargs. New unnamed bitfield added so the previous ones add up to 16 bits. (colon_k): Declared. (func_n0o, func_n1o, func_n2o, func_n3o, func_n4o): Declared. (replace_list, replace_str, replace_vec, replace): Declarations updated. * match.c (debuglf, dump_shell_string, dump_byte_string, dump_var, do_output_line, extract): Reversed arguments to put_char and
Diffstat (limited to 'rand.h')
-rw-r--r--rand.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/rand.h b/rand.h
index 7426b461..9ff55396 100644
--- a/rand.h
+++ b/rand.h
@@ -30,4 +30,5 @@ val make_random_state(val seed);
val random_state_p(val obj);
val random_fixnum(val state);
val random(val state, val modulus);
+val rand(val modulus, val state);
void rand_init(void);