diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2012-01-10 22:51:14 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2012-01-10 22:51:14 -0800 |
commit | 09c6384d6bb4e3c44bf64299657f492ad4bf756a (patch) | |
tree | 46804fac62e964547b877d51f4ad6df2d3217e6e /txr.vim | |
parent | 9fa74517eb0b8252e88f4c636e6e93bca0c9f0be (diff) | |
download | txr-09c6384d6bb4e3c44bf64299657f492ad4bf756a.tar.gz txr-09c6384d6bb4e3c44bf64299657f492ad4bf756a.tar.bz2 txr-09c6384d6bb4e3c44bf64299657f492ad4bf756a.zip |
Spat of new features having to do with lazy processing.
* eval.c (prog1_s, gen_s, generate_s, delay_s, promise_s): New symbol
variables.
(eval_prog1, op_prog1, expand_gen, expand_delay): New static functions.
(expand): Handle gen and delay.
(lazy_mapcar_func, lazy_mapcar, lazy_mapcarv_func, lazy_mapcarv,
lazy_mappendv): New static functions.
(rangev_func, rangev, generate_func, generate, repeat_infinite_func,
repeat_times_func, repeatv, force): New static functions.
(eval_init): New operators and functions interned.
lazy-flatten renamed to flatten*.
* lib.c (null_f): New global variable.
(ltail, lazy_appendv): New functions.
(lazy_appendv_func): New static function.
(obj_init): null_f protected and initialized.
* lib.h (null_f, ltail, lazy_appendv): Declared.
* txr.1: Documented.
* txr.vim: Updated.
Diffstat (limited to 'txr.vim')
-rw-r--r-- | txr.vim | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -25,16 +25,17 @@ syn keyword txr_keyword contained repeat rep first last single empty mod modlast syn keyword txr_keyword contained define try catch finally throw syn keyword txr_keyword contained defex throw deffilter filter eof eol do -syn keyword txl_keyword contained progn let syn let* lambda call fun +syn keyword txl_keyword contained progn prog1 let syn let* lambda call fun syn keyword txl_keyword contained cond if and or syn keyword txl_keyword contained defvar defun inc dec set push pop flip syn keyword txl_keyword contained for for* dohash unwind-protect block -syn keyword txl_keyword contained return return-from +syn keyword txl_keyword contained return return-from gen delay syn keyword txl_keyword contained cons make-lazy-cons lcons-fun car cdr syn keyword txl_keyword contained rplaca rplacd first rest append list syn keyword txl_keyword contained identity typeof atom null not consp listp syn keyword txl_keyword contained proper-listp length-list mapcar mappend apply +syn keyword txl_keyword contained mapcar* mappend* syn keyword txl_keyword contained reduce-left reduce-right syn keyword txl_keyword contained second third fourth fifth sixth copy-list nreverse syn keyword txl_keyword contained reverse ldiff flatten lazy-flatten @@ -76,6 +77,8 @@ syn keyword txl_keyword contained functionp interp-fun-p *random-state* syn keyword txl_keyword contained make-random-state random-state-p syn keyword txl_keyword contained random-fixnum random +syn keyword txl_keyword contained range generate repeat force + syn match txr_hash "#" contained syn match txr_quote "[,']" contained |