| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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_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.y (quasi_item): Support splices as items.
* genvim.txr: Syntax highlighting support for unquotes in
quasiliterals.
* txr.vim: Updated.
|
|
|
|
|
|
|
|
| |
* lib.c (uniq): New function.
* lib.h (uniq): Declared.
* txr.1: Documented uniq.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
* lib.c (nconcv): New function.
* lib.h (nconcv): Declared.
* txr.1: Documented nconc.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
* lib.c (partition_by_func): New static function.
(partition_by): New function.
* lib.h (partition_by): Declared.
* txr.1: Documented partition-by.
|
|
|
|
|
|
| |
which breaks the n_perm_k function for k == 1.
* txr.1: Fix typo: n-choose-k written in place of n-perm-k.
|
| |
|
|
|
|
| |
incorrect octal example.
|
|
|
|
|
|
| |
(eval_init): Registered giterate as intrinsic.
* txr.1: Documented giterate.
|
|
|
|
| |
section and notes on regular expressions.
|
|
|
|
|
|
|
|
| |
* configure, txr.1: Bumped version.
* share/txr/stdlib/ver.txr: Likewise
* arith.c (log2): Change to static.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
* lib.c (do_juxt): New static function.
(juxtv): New function.
* lib.h (juxtv): Declared.
* txr.1: Documented juxt.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Hoist uselessly repeated c_str operation out of loop.
* txr.1: Document negative starting index for search-str.
|
|
|
|
|
|
| |
it works correctly with an empty vector.
* txr.1: Write missing documentation for hash-construct.
|
|
|
|
|
|
|
|
|
|
|
| |
(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_init): Registered new functions as intrinsics.
* stream.h (put_strings, put_lines): Declared.
* txr.1: Documented.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
| |
* RELNOTES: Updated.
* configure, txr.1: Bumped version.
* share/txr/stdlib/ver.txr: Likewise
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
* eval.c (eval_init): Register bit as intrinsic.
* lib.h (bit): Declared.
* mpi-patches/add-bitops (mp_bit): New function.
* txr.1: Documented bit
|
|
|
|
| |
* txr.1: document hash support for select and where.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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_init): Register apf as intrinsic.
* txr.1: Document apf.
|
|
|
|
|
|
|
|
|
| |
(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_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.
|
|
|
|
|
|
|
|
|
|
| |
* lib.c (member, member_if): New functions.
* lib.h (member, member_if): Declared.
* txr.1: Documented.
* txr.vim: Regenerated.
|
| |
|