summaryrefslogtreecommitdiffstats
path: root/txr.1
Commit message (Collapse)AuthorAgeFilesLines
...
* Version 95.txr-95Kaz Kylheku2014-08-071-2/+2
|
* Version 94.txr-94Kaz Kylheku2014-08-051-2/+2
|
* * configure (have_sys_time): New variable.Kaz Kylheku2014-08-011-0/+37
| | | | | | | | | | | | | | Added check for setitimer/getitimer which also checks for <sys/time.h>. * signal.c (sig_init): Register itimer-real, itimer-virtual, itimer-prof variables and getitimer and setitimer functions. (tv_to_usec): New static function. (getitimer_wrap, setitimer_wrap): New functions. * signal.h (getitimer_wrap, setitimer_wrap): Declared. * txr.1: Documented itimers.
* * eval.c (getpid_wrap, getppid_wrap): New static functions.Kaz Kylheku2014-07-301-0/+29
| | | | | | | | | (eval_init): Registered getpid and getppid intrinsics. * signal.c (kill_wrap): New static function. (sig-init): Registered kill intrinsic function. * txr.1: Documented getpid, gettpid and kill.
* * parser.l: Allow unquotes and splices in QSPECIAL and BRACED states.Kaz Kylheku2014-07-301-0/+12
| | | | | | | | | * parser.y (quasi_item): Support splices as items. * genvim.txr: Syntax highlighting support for unquotes in quasiliterals. * txr.vim: Updated.
* * eval.c (eval_init): Register uniq function.Kaz Kylheku2014-07-291-0/+16
| | | | | | | | * lib.c (uniq): New function. * lib.h (uniq): Declared. * txr.1: Documented uniq.
* * eval.c (repeatv): Renamed to repeat. Turned into functionKaz Kylheku2014-07-291-3/+11
| | | | | | | | | with one optional argument, reflecting existing behavior. (eval_init): Registration of repeat updated. * txr.1: Fixed incorrect documentation which falsely suggests that repeat takes multiple lists, and doesn't mention the optional count.
* * eval.c (eval_init): Register nconc as intrinsic.Kaz Kylheku2014-07-291-3/+8
| | | | | | | | * lib.c (nconcv): New function. * lib.h (nconcv): Declared. * txr.1: Documented nconc.
* * eval.c (giterate_func, giterate): Adjusting semantics of giterate toKaz Kylheku2014-07-291-8/+9
| | | | | | | | include seed item in the sequence. The while test is applied to each item before it is passed through the function. Also, eliminated useless rplacd operation. * txr.1: Updated documentation of giterate.
* * eval.c (eval_init): Register partition-by intrinsic.Kaz Kylheku2014-07-281-0/+39
| | | | | | | | | * lib.c (partition_by_func): New static function. (partition_by): New function. * lib.h (partition_by): Declared. * txr.1: Documented partition-by.
* * arith.c (rising_product): Fix wrong m == n case,Kaz Kylheku2014-07-281-4/+4
| | | | | | which breaks the n_perm_k function for k == 1. * txr.1: Fix typo: n-choose-k written in place of n-perm-k.
* * txr.1: Fix bad non-floating-point constant examples.Kaz Kylheku2014-07-281-1/+3
|
* * txr.1: typo: List Literals not Lists. FixKaz Kylheku2014-07-281-2/+2
| | | | incorrect octal example.
* * eval.c (giterate_func, giterate): New static functions.Kaz Kylheku2014-07-271-2/+24
| | | | | | (eval_init): Registered giterate as intrinsic. * txr.1: Documented giterate.
* * txr.1: Corrections in "status and error reporting"Kaz Kylheku2014-07-251-13/+20
| | | | section and notes on regular expressions.
* * RELNOTES: Updated.Kaz Kylheku2014-07-221-2/+2
| | | | | | | | * configure, txr.1: Bumped version. * share/txr/stdlib/ver.txr: Likewise * arith.c (log2): Change to static.
* * eval.c (caseq_s, caseql_s, casequal_s, memq_s, memql_s, memqual_s,Kaz Kylheku2014-07-201-0/+52
| | | | | | | | | | | eq_s, eql_s, equal_s): New symbol variables. (me_case): New static function. (eval_init): Initialize new variables. Register caseq, caseql and casequal macros. Re-register memq, memql, memqual, eq, eql and equal using new symbol variables. * txr.1: Document case, caseql and casequal.
* * eval.c (eval_init): Register juxt as intrinsic.Kaz Kylheku2014-07-201-0/+35
| | | | | | | | | * lib.c (do_juxt): New static function. (juxtv): New function. * lib.h (juxtv): Declared. * txr.1: Documented juxt.
* * arith.c (divi): Support one-argument form.Kaz Kylheku2014-07-201-2/+3
| | | | | | | | | Use "/" name in error reporting, not "divi". * eval.c (eval_init): Change registration of / so only one argument is required out of two. * txr.1: Document one-argument division.
* * lib.c (search_str): Support negative starting index.Kaz Kylheku2014-07-191-2/+6
| | | | | | Hoist uselessly repeated c_str operation out of loop. * txr.1: Document negative starting index for search-str.
* * hash.c (hash_construct): Nullify the pairs argument so thatKaz Kylheku2014-07-191-0/+18
| | | | | | it works correctly with an empty vector. * txr.1: Write missing documentation for hash-construct.
* * eval.c (mapdov): New function.Kaz Kylheku2014-07-191-5/+33
| | | | | | | | | | | (eval_init): Register mapdo intrinsic. * lib.c (mapdo): New function. * lib.h (mapdo): Declared. * txr.1: Documented mapdo. Documented zero-argument case for mapcar, mapcar*, mappend and mappend*.
* * stream.c (put_strings, put_lines): New functions.Kaz Kylheku2014-07-191-5/+34
| | | | | | | | (stream_init): Registered new functions as intrinsics. * stream.h (put_strings, put_lines): Declared. * txr.1: Documented.
* * eval.c (eval_init): Register get-lines as a synonym for lazy-stream-cons.Kaz Kylheku2014-07-191-1/+38
| | | | | | | | | | | * stream.c (get_string): New function. * stream.h (get_string): Declared. (stream_init): get_string registered as get-string intrinsic. * txr.1: Documented get-string, and get-lines as a synonym for lazy-stream-cons. Documented the behavioral difference of lazy-stream-cons lazy lists for real-time and non-real-time streams.
* * txr.1: wording: arguments are omitted, not parameters.Kaz Kylheku2014-07-191-3/+3
|
* * Makefile (conftest, conftest2): Link mathKaz Kylheku2014-07-181-1/+5
| | | | | | | | | | | | | | | | | | | library so we can test for math functions. * arith.c (log2_init): New static function. (log2, logtwo): New functions. (l2): New static variable. (arith_init): Call log2_init. * configure (lang_flags): Switching _XOPEN_SOURCE from 500 to 600 to reveal log2. Adding test for log2. * eval.c (eval_init): Register log2 intrinsic. * lib.h (logtwo): Declared. * txr.1: Documented log2.
* * eval.c (eval_init): Register interpose and lconsp as intrinsics.Kaz Kylheku2014-07-141-0/+51
| | | | | | | | | * lib.c (lconsp, interpose): New functions. (lazy_interpose_func, lazy_interpose): New static functions. * lib.h (lconsp, interpose): Declared. * txr.1: Documented lconsp and interpose.
* * txr.1: Fix opening ( balanced by }.Kaz Kylheku2014-07-131-1/+1
|
* Version 92.txr-92Kaz Kylheku2014-07-101-2/+2
| | | | | | | | * RELNOTES: Updated. * configure, txr.1: Bumped version. * share/txr/stdlib/ver.txr: Likewise
* Implementing local function binding constructs.Kaz Kylheku2014-07-101-0/+49
| | | | | | | | | | | | | | | | * eval.c (fbind_s, lbind_s, flet_s, labels_s): New symbol globals. (env_fb_to_fb): New static function. (lookup_mac): Implement the same shadow check for function macros that is done for symbol macros, because we now have local functions that can shadow local macros. (fbindings_helper, op_fbind, make_fun_shadowing_env, expand_fbind_vars, me_flet_labels): New static functions. (expand): Add cases for fbind and lbind. (eval_init): Intern the four new symbols. Register sys:fbind and sys:lbind operators. Register flet and labels macros. * txr.1: Documented flet and labels.
* * Makefile: install the LICENSE and METALICENSE files into the dataKaz Kylheku2014-07-071-0/+5
| | | | | | | | | | | | directory. * txr.c (help): Help text updated to document --license option. (license): New function. (txr_main): Implement --license option. * unwind.h (uw_catch): Add cast to suppress warning about unused symbol. * txr.1: Document --license option.
* * txr.1: Spell check.Kaz Kylheku2014-07-071-102/+102
|
* * txr.1: Corrections from Roman MishinKaz Kylheku2014-07-061-49/+52
|
* * eval.c (apf_s, ipf_s): New symbol variables.Kaz Kylheku2014-07-031-6/+15
| | | | | | | | | | | | (me_ap, me_ip): Generate a much simpler macro-expansion: a call to apf or ipf, rather than lambda syntax. (me_ado, me_ido): New static functions. (eval_init): Initialize apf_s and ipf_s variables. Use them in the registration calls for apf and ipf. Register ado and ido macros. * txr.1: Streamlined documentation for ap and ip, and added ado and ido.
* Typo.Kaz Kylheku2014-07-031-1/+1
|
* Version 91.txr-91Kaz Kylheku2014-07-021-2/+2
|
* * txr.1: Documented usleep.Kaz Kylheku2014-07-021-0/+21
|
* * eval.c (dwim_loc): Support indexing using a list of positions,Kaz Kylheku2014-07-021-70/+83
| | | | | | | | | | | | | | | such as obtained by the where function. * lib.c (replace_list, replace_str, replace_vec): Allow the from argument to be a list of index positions, possibly empty. * txr.1: Condensed syntactic descriptions under dwim operator. Range Indexing section no longer says that the value nil can be used as either endpoint of a range. This will not work any longer since a "from" value of nil looks like an empty list of indexes. Documented new behavior under replace, and shortened documentation for replace-list, replace-str and replace-vec.
* * arith.c (bit): New function.Kaz Kylheku2014-06-281-0/+22
| | | | | | | | | | * eval.c (eval_init): Register bit as intrinsic. * lib.h (bit): Declared. * mpi-patches/add-bitops (mp_bit): New function. * txr.1: Documented bit
* * lib.c (where, sel): Extend into hashes.Kaz Kylheku2014-06-271-14/+25
| | | | * txr.1: document hash support for select and where.
* * txr.1: Fixes in quasiquote description.Kaz Kylheku2014-06-261-16/+11
|
* * txr.1: Add some section headers, rearrange.Kaz Kylheku2014-06-261-92/+94
|
* * eval.c (iapply_s): new global variable.Kaz Kylheku2014-06-261-6/+28
| | | | | | | | | | (iapply, me_ip): new static functions. (do_apf): Bugfix: use apply_intrinsic, not apply. (do_ipf, ipf): New static functions. (eval_init): initialize iapply_s. register me_ip macro expander, and the iapply and ipf functions. * txr.1: Documented iapply, ipf and ip.
* * eval.c (eval_init): register range_regex and tok_whereKaz Kylheku2014-06-261-4/+26
| | | | | | | | | | | | | | as intrinsics. * lib.c (tok_where): New function. * lib.h (tok_where): Declared. * regex.c (range_regex): New function. * regex.h (range_regex): Declared. * txr.1: Documented tok-where and range-regex.
* * eval.c (mapcarv): Use mapcar_listout, so list_of_lists can beKaz Kylheku2014-06-261-0/+51
| | | | | | | | | | | | | a non-list sequence. (eval_init): Register transpose and zip as intrinsics. * lib.c (curry_12_1_v): New static function. (transpose, mapcar_listout): New functions. (mapcar): Redefined in terms of mapcar_listout. * lib.h (transpose, mapcar_listout): Declared. * txr.1: Documented transpose and zip.
* * eval.c (do_apf, apf): New functions.Kaz Kylheku2014-06-201-0/+27
| | | | | | (eval_init): Register apf as intrinsic. * txr.1: Document apf.
* * eval.c (identity_s): New global variable.Kaz Kylheku2014-06-191-0/+82
| | | | | | | | | (me_ret, tf, nilf, do_retf, retf): New static functions. (eval_init): Initialize identity_s, and use it for registration of identity. Register ret macro, and the retf, tf and nilf functions. * txr.1: Documentation for ret, retf, tf and nilf.
* * eval.c (me_ap): New static function.Kaz Kylheku2014-06-191-6/+81
| | | | | | | | | | | | | | (eval_init): Use new list_f instead of func_n0v(identity). Register multi as intrinsic. Register me_ap as ap macro. * lib.c (list_f): New global variable. (multi): New function. (multi_sort): Use list_f in place of func_n0v(identity). (obj_init): gc-protect and initialize list_f. * lib.h (list_f, multi): Declared. * txr.1: Documented multi and ap.
* * eval.c (eval_init): Register member and member_if as intrinsics.Kaz Kylheku2014-06-181-1/+31
| | | | | | | | | | * lib.c (member, member_if): New functions. * lib.h (member, member_if): Declared. * txr.1: Documented. * txr.vim: Regenerated.
* * txr.1: Fix broken examples for some and none functions.Kaz Kylheku2014-06-171-2/+2
|