diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | eval.c | 43 | ||||
-rw-r--r-- | tl.vim | 186 | ||||
-rw-r--r-- | txr.1 | 90 | ||||
-rw-r--r-- | txr.vim | 186 |
5 files changed, 332 insertions, 186 deletions
@@ -1,3 +1,16 @@ +2014-11-10 Kaz Kylheku <kaz@kylheku.com> + + * eval.c (opip_s, oand_s, chain_s, chand_s): New global variables. + (macro_form_p): Forward declaration added. + (me_opip): New static function. + (eval_init): Intern new symbols, register opip and oand macros + to me_opip function. Use chain_s and chand_s in registration + for chain and chand. + + * txr.1: Document opip and oand + + * tl.vim, txr.vim: Regenerated. + 2014-11-06 Kaz Kylheku <kaz@kylheku.com> * lib.c (sub, ref, refset, replace, update, search_list): @@ -82,6 +82,7 @@ val vector_lit_s, vector_list_s; val macro_time_s, with_saved_vars_s, macrolet_s; val defsymacro_s, symacrolet_s, prof_s; val fbind_s, lbind_s, flet_s, labels_s; +val opip_s, oand_s, chain_s, chand_s; val special_s, whole_k; @@ -2622,6 +2623,38 @@ static val me_tc(val form, val menv) cons(tree_case_s, cons(args, cases)), nao); } +static val macro_form_p(val form, val menv); + +static val me_opip(val form, val menv) +{ + val opsym = pop(&form); + val clauses = form; + val chain_chand = if3(opsym == opip_s, chain_s, chand_s); + list_collect_decl (transformed_forms, ptail); + + for (; clauses; clauses = cdr(clauses)) { + val clause = car(clauses); + + if (consp(clause)) { + uses_or2; + val sym = car(clause); + + if (sym == dwim_s) { + list_collect(ptail, clause); + } else { + val opdo = if3(or2(macro_form_p(clause, menv), + gethash(op_table, sym)), + do_s, op_s); + list_collect(ptail, cons(opdo, clause)); + } + } else { + list_collect(ptail, clause); + } + } + + return cons(dwim_s, cons(chain_chand, transformed_forms)); +} + static val expand_catch_clause(val form, val menv) { @@ -3459,6 +3492,10 @@ void eval_init(void) whole_k = intern(lit("whole"), keyword_package); special_s = intern(lit("special"), system_package); prof_s = intern(lit("prof"), user_package); + opip_s = intern(lit("opip"), user_package); + oand_s = intern(lit("oand"), user_package); + chain_s = intern(lit("chain"), user_package); + chand_s = intern(lit("chand"), user_package); reg_op(quote_s, op_quote); reg_op(qquote_s, op_qquote_error); @@ -3536,6 +3573,8 @@ void eval_init(void) reg_mac(casequal_s, me_case); reg_mac(intern(lit("tb"), user_package), me_tb); reg_mac(intern(lit("tc"), user_package), me_tc); + reg_mac(opip_s, me_opip); + reg_mac(oand_s, me_opip); reg_fun(cons_s, func_n2(cons)); reg_fun(intern(lit("make-lazy-cons"), user_package), func_n1(make_lazy_cons)); @@ -3744,8 +3783,8 @@ void eval_init(void) reg_fun(intern(lit("make-env"), user_package), func_n3o(make_env_intrinsic, 0)); reg_fun(intern(lit("env-fbind"), user_package), func_n3(env_fbind)); reg_fun(intern(lit("env-vbind"), user_package), func_n3(env_vbind)); - reg_fun(intern(lit("chain"), user_package), func_n0v(chainv)); - reg_fun(intern(lit("chand"), user_package), func_n0v(chandv)); + reg_fun(chain_s, func_n0v(chainv)); + reg_fun(chand_s, func_n0v(chandv)); reg_fun(intern(lit("juxt"), user_package), func_n0v(juxtv)); reg_fun(intern(lit("andf"), user_package), func_n0v(andv)); reg_fun(intern(lit("orf"), user_package), func_n0v(orv)); @@ -38,83 +38,84 @@ syn keyword txl_keyword contained bignump bit block boundp syn keyword txl_keyword contained break-str call car caseq syn keyword txl_keyword contained caseql casequal cat-str cat-vec syn keyword txl_keyword contained catch cdr ceil chain -syn keyword txl_keyword contained chdir chr-isalnum chr-isalpha chr-isascii -syn keyword txl_keyword contained chr-isblank chr-iscntrl chr-isdigit chr-isgraph -syn keyword txl_keyword contained chr-islower chr-isprint chr-ispunct chr-isspace -syn keyword txl_keyword contained chr-isunisp chr-isupper chr-isxdigit chr-num -syn keyword txl_keyword contained chr-str chr-str-set chr-tolower chr-toupper -syn keyword txl_keyword contained chrp close-stream closelog cmp-str -syn keyword txl_keyword contained collect-each collect-each* comb compl-span-str -syn keyword txl_keyword contained cond cons conses conses* -syn keyword txl_keyword contained consp copy copy-alist copy-cons -syn keyword txl_keyword contained copy-hash copy-list copy-str copy-vec -syn keyword txl_keyword contained cos count-if countq countql -syn keyword txl_keyword contained countqual cum-norm-dist daemon dec -syn keyword txl_keyword contained defmacro defsymacro defun defvar -syn keyword txl_keyword contained del delay delete-package do -syn keyword txl_keyword contained dohash downcase-str dwim each -syn keyword txl_keyword contained each* empty env env-fbind -syn keyword txl_keyword contained env-hash env-vbind eq eql -syn keyword txl_keyword contained equal errno error eval -syn keyword txl_keyword contained evenp exit exp expt -syn keyword txl_keyword contained exptmod false fbind fboundp -syn keyword txl_keyword contained fifth filter-equal filter-string-tree find -syn keyword txl_keyword contained find-if find-max find-min find-package -syn keyword txl_keyword contained first fixnump flatten flatten* -syn keyword txl_keyword contained flet flip flo-int flo-str -syn keyword txl_keyword contained floatp floor flush-stream for -syn keyword txl_keyword contained for* force format fourth -syn keyword txl_keyword contained fun func-get-env func-get-form func-set-env -syn keyword txl_keyword contained functionp gcd gen generate -syn keyword txl_keyword contained gensym get-byte get-char get-hash-userdata -syn keyword txl_keyword contained get-line get-lines get-list-from-stream get-sig-handler -syn keyword txl_keyword contained get-string get-string-from-stream gethash getitimer -syn keyword txl_keyword contained getpid getppid giterate greater -syn keyword txl_keyword contained group-by gun hash hash-alist -syn keyword txl_keyword contained hash-construct hash-count hash-diff hash-eql -syn keyword txl_keyword contained hash-equal hash-isec hash-keys hash-pairs -syn keyword txl_keyword contained hash-uni hash-update hash-update-1 hash-values -syn keyword txl_keyword contained hashp html-decode html-encode iapply -syn keyword txl_keyword contained identity ido if iff -syn keyword txl_keyword contained iffi inc inhash int-flo -syn keyword txl_keyword contained int-str integerp intern interp-fun-p -syn keyword txl_keyword contained interpose ip ipf isqrt -syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt -syn keyword txl_keyword contained keep-if keep-if* keywordp kill -syn keyword txl_keyword contained labels lambda last lazy-str -syn keyword txl_keyword contained lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons -syn keyword txl_keyword contained lazy-stringp lbind lcm lcons-fun -syn keyword txl_keyword contained lconsp ldiff length length-list -syn keyword txl_keyword contained length-str length-str-< length-str-<= length-str-> -syn keyword txl_keyword contained length-str->= length-vec less let -syn keyword txl_keyword contained let* link lisp-parse list -syn keyword txl_keyword contained list* list-str list-vector listp -syn keyword txl_keyword contained log log-alert log-auth log-authpriv -syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug -syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay -syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror -syn keyword txl_keyword contained log-pid log-user log-warning log10 -syn keyword txl_keyword contained log2 logand logior lognot -syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p -syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet -syn keyword txl_keyword contained major make-catenated-stream make-env make-hash -syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state -syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream -syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc -syn keyword txl_keyword contained make-trie makedev mapcar mapcar* -syn keyword txl_keyword contained mapdo maphash mappend mappend* -syn keyword txl_keyword contained mask match-fun match-regex match-regex-right -syn keyword txl_keyword contained match-str match-str-tree max member -syn keyword txl_keyword contained member-if memq memql memqual -syn keyword txl_keyword contained merge min minor mkdir -syn keyword txl_keyword contained mknod mkstring mod multi -syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc -syn keyword txl_keyword contained nilf none not notf -syn keyword txl_keyword contained nreverse null nullify num-chr -syn keyword txl_keyword contained num-str numberp oddp op -syn keyword txl_keyword contained open-command open-directory open-file open-files -syn keyword txl_keyword contained open-files* open-pipe open-process open-tail -syn keyword txl_keyword contained openlog or orf packagep +syn keyword txl_keyword contained chand chdir chr-isalnum chr-isalpha +syn keyword txl_keyword contained chr-isascii chr-isblank chr-iscntrl chr-isdigit +syn keyword txl_keyword contained chr-isgraph chr-islower chr-isprint chr-ispunct +syn keyword txl_keyword contained chr-isspace chr-isunisp chr-isupper chr-isxdigit +syn keyword txl_keyword contained chr-num chr-str chr-str-set chr-tolower +syn keyword txl_keyword contained chr-toupper chrp close-stream closelog +syn keyword txl_keyword contained cmp-str collect-each collect-each* comb +syn keyword txl_keyword contained compl-span-str cond cons conses +syn keyword txl_keyword contained conses* consp copy copy-alist +syn keyword txl_keyword contained copy-cons copy-hash copy-list copy-str +syn keyword txl_keyword contained copy-vec cos count-if countq +syn keyword txl_keyword contained countql countqual cum-norm-dist daemon +syn keyword txl_keyword contained dec defmacro defsymacro defun +syn keyword txl_keyword contained defvar del delay delete-package +syn keyword txl_keyword contained do dohash downcase-str dwim +syn keyword txl_keyword contained each each* empty env +syn keyword txl_keyword contained env-fbind env-hash env-vbind eq +syn keyword txl_keyword contained eql equal errno error +syn keyword txl_keyword contained eval evenp exit exp +syn keyword txl_keyword contained expt exptmod false fbind +syn keyword txl_keyword contained fboundp fifth filter-equal filter-string-tree +syn keyword txl_keyword contained finalize find find-if find-max +syn keyword txl_keyword contained find-min find-package first fixnump +syn keyword txl_keyword contained flatten flatten* flet flip +syn keyword txl_keyword contained flo-int flo-str floatp floor +syn keyword txl_keyword contained flush-stream for for* force +syn keyword txl_keyword contained format fourth fun func-get-env +syn keyword txl_keyword contained func-get-form func-set-env functionp gcd +syn keyword txl_keyword contained gen generate gensym get-byte +syn keyword txl_keyword contained get-char get-hash-userdata get-line get-lines +syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream +syn keyword txl_keyword contained gethash getitimer getpid getppid +syn keyword txl_keyword contained giterate greater group-by gun +syn keyword txl_keyword contained hash hash-alist hash-construct hash-count +syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec +syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update +syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode +syn keyword txl_keyword contained html-encode iapply identity ido +syn keyword txl_keyword contained if iff iffi inc +syn keyword txl_keyword contained inhash int-flo int-str integerp +syn keyword txl_keyword contained intern interp-fun-p interpose ip +syn keyword txl_keyword contained ipf isqrt itimer-prov itimer-real +syn keyword txl_keyword contained itimer-virtual juxt keep-if keep-if* +syn keyword txl_keyword contained keywordp kill labels lambda +syn keyword txl_keyword contained last lazy-str lazy-str-force lazy-str-force-upto +syn keyword txl_keyword contained lazy-str-get-trailing-list lazy-stream-cons lazy-stringp lbind +syn keyword txl_keyword contained lcm lcons-fun lconsp ldiff +syn keyword txl_keyword contained length length-list length-str length-str-< +syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec +syn keyword txl_keyword contained less let let* link +syn keyword txl_keyword contained lisp-parse list list* list-str +syn keyword txl_keyword contained list-vector listp log log-alert +syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit +syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err +syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait +syn keyword txl_keyword contained log-odelay log-perror log-pid log-user +syn keyword txl_keyword contained log-warning log10 log2 logand +syn keyword txl_keyword contained logior lognot logtest logtrunc +syn keyword txl_keyword contained logxor macro-form-p macro-time macroexpand +syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream +syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like +syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream +syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym +syn keyword txl_keyword contained make-time make-time-utc make-trie makedev +syn keyword txl_keyword contained mapcar mapcar* mapdo maphash +syn keyword txl_keyword contained mappend mappend* mask match-fun +syn keyword txl_keyword contained match-regex match-regex-right match-str match-str-tree +syn keyword txl_keyword contained max member member-if memq +syn keyword txl_keyword contained memql memqual merge min +syn keyword txl_keyword contained minor mkdir mknod mkstring +syn keyword txl_keyword contained mod multi multi-sort n-choose-k +syn keyword txl_keyword contained n-perm-k nconc nilf none +syn keyword txl_keyword contained not notf nreverse null +syn keyword txl_keyword contained nullify num-chr num-str numberp +syn keyword txl_keyword contained oand oddp op open-command +syn keyword txl_keyword contained open-directory open-file open-files open-files* +syn keyword txl_keyword contained open-pipe open-process open-tail openlog +syn keyword txl_keyword contained opip or orf packagep syn keyword txl_keyword contained partition partition* partition-by perm syn keyword txl_keyword contained pop pos pos-if pos-max syn keyword txl_keyword contained pos-min posq posql posqual @@ -164,21 +165,22 @@ syn keyword txl_keyword contained stringp sub sub-list sub-str syn keyword txl_keyword contained sub-vec symacrolet symbol-function symbol-name syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink syn keyword txl_keyword contained sys-qquote sys-splice sys-unquote syslog -syn keyword txl_keyword contained tan tf third throw -syn keyword txl_keyword contained throwf time time-fields-local time-fields-utc -syn keyword txl_keyword contained time-string-local time-string-utc time-usec tofloat -syn keyword txl_keyword contained toint tok-str tok-where tostring -syn keyword txl_keyword contained tostringp transpose tree-bind tree-case -syn keyword txl_keyword contained tree-find trie-add trie-compress trie-lookup-begin -syn keyword txl_keyword contained trie-lookup-feed-char trie-value-at trim-str true -syn keyword txl_keyword contained trunc tuples txr-case txr-if -syn keyword txl_keyword contained txr-when typeof unget-byte unget-char -syn keyword txl_keyword contained uniq unless unquote until -syn keyword txl_keyword contained upcase-str update url-decode url-encode -syn keyword txl_keyword contained usleep uw-protect vec vec-push -syn keyword txl_keyword contained vec-set-length vecref vector vector-list -syn keyword txl_keyword contained vectorp when where while -syn keyword txl_keyword contained with-saved-vars zerop zip +syn keyword txl_keyword contained tan tb tc tf +syn keyword txl_keyword contained third throw throwf time +syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc +syn keyword txl_keyword contained time-usec tofloat toint tok-str +syn keyword txl_keyword contained tok-where tostring tostringp transpose +syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add +syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at +syn keyword txl_keyword contained trim-str true trunc tuples +syn keyword txl_keyword contained txr-case txr-if txr-when typeof +syn keyword txl_keyword contained unget-byte unget-char uniq unless +syn keyword txl_keyword contained unquote until upcase-str update +syn keyword txl_keyword contained url-decode url-encode usleep uw-protect +syn keyword txl_keyword contained vec vec-push vec-set-length vecref +syn keyword txl_keyword contained vector vector-list vectorp when +syn keyword txl_keyword contained where while with-saved-vars zerop +syn keyword txl_keyword contained zip syn match txr_metanum "@[0-9]\+" syn match txr_nested_error "[^\t `]\+" contained @@ -20401,6 +20401,96 @@ and .code ipf functions. +.coNP Macros @ opip and @ oand +.synb +.mets (opip << clause *) +.mets (oand << clause *) +.syne +.desc +The +.code opip +and +.code oand +operators make it possible to chain together functions which are expressed +using the +.code op +syntax. (See the +.code op +operator for more information). + +Both macros perform the same transformation except that +.code opip +translates its arguments to a call to the +.code chain +function, whereas +.code oand +transaltes its arguments in the same way to a call to the +.code chand +function. + +More precisely, these macros perform the following rewrites: +.cblk + (opip arg1 arg2 ... argn) -> [chain {arg1} {arg2} ... {argn}] + (oand arg1 arg2 ... argn) -> [chand {arg1} {arg2} ... {argn}] +.cble +where the above +.code {arg} +notation denotes the following transformation applied to each argument: +.cblk + (function ...) -> (op function ...) + (operator ...) -> (do operator ...) + (macro ...) -> (do macro ...) + (dwim ...) -> (dwim ...) + [...] -> [...] + atom -> atom +.cble +In other words, compound forms whose leftmost symbol is a macro or operator +are translated to the +.code do +notation. Compound forms denoting function calls are translated to the +.code op +notation. Compound forms which are +.code dwim +invocations, either explicit or via the DWIM brackets notation, are +preserved, as are any forms which are atoms. + +Note: the +.code opip +and +.code oand +macros use their macro environment in determining whether a form is a +macro call, thereby respecting lexical scoping. + +.TP* Example: +Take each element from the list +.code (1 2 3 4) +and multiply it by three, then add 1. +If the result is odd, collect that into the resulting list: +.cblk +(mappend (opip (* 3) + (+ 1) + [iff oddp list]) + (range 1 4)) +.cble +The above is equivalent to: +.cblk +(mappend (chain (op * 3) + (op + 1) + [iff oddp list]) + (range 1 4)) +.cble +The +.code (* 3) +and +.code (+ 1) +terms are rewriten to +.code (op * 3) +and +.codn (op + 1) , +respectively, whereas +.code [iff oddp list] +is passed through untransformed. + .coNP Macro @ ret .synb .mets (ret << form ) @@ -38,83 +38,84 @@ syn keyword txl_keyword contained bignump bit block boundp syn keyword txl_keyword contained break-str call car caseq syn keyword txl_keyword contained caseql casequal cat-str cat-vec syn keyword txl_keyword contained catch cdr ceil chain -syn keyword txl_keyword contained chdir chr-isalnum chr-isalpha chr-isascii -syn keyword txl_keyword contained chr-isblank chr-iscntrl chr-isdigit chr-isgraph -syn keyword txl_keyword contained chr-islower chr-isprint chr-ispunct chr-isspace -syn keyword txl_keyword contained chr-isunisp chr-isupper chr-isxdigit chr-num -syn keyword txl_keyword contained chr-str chr-str-set chr-tolower chr-toupper -syn keyword txl_keyword contained chrp close-stream closelog cmp-str -syn keyword txl_keyword contained collect-each collect-each* comb compl-span-str -syn keyword txl_keyword contained cond cons conses conses* -syn keyword txl_keyword contained consp copy copy-alist copy-cons -syn keyword txl_keyword contained copy-hash copy-list copy-str copy-vec -syn keyword txl_keyword contained cos count-if countq countql -syn keyword txl_keyword contained countqual cum-norm-dist daemon dec -syn keyword txl_keyword contained defmacro defsymacro defun defvar -syn keyword txl_keyword contained del delay delete-package do -syn keyword txl_keyword contained dohash downcase-str dwim each -syn keyword txl_keyword contained each* empty env env-fbind -syn keyword txl_keyword contained env-hash env-vbind eq eql -syn keyword txl_keyword contained equal errno error eval -syn keyword txl_keyword contained evenp exit exp expt -syn keyword txl_keyword contained exptmod false fbind fboundp -syn keyword txl_keyword contained fifth filter-equal filter-string-tree find -syn keyword txl_keyword contained find-if find-max find-min find-package -syn keyword txl_keyword contained first fixnump flatten flatten* -syn keyword txl_keyword contained flet flip flo-int flo-str -syn keyword txl_keyword contained floatp floor flush-stream for -syn keyword txl_keyword contained for* force format fourth -syn keyword txl_keyword contained fun func-get-env func-get-form func-set-env -syn keyword txl_keyword contained functionp gcd gen generate -syn keyword txl_keyword contained gensym get-byte get-char get-hash-userdata -syn keyword txl_keyword contained get-line get-lines get-list-from-stream get-sig-handler -syn keyword txl_keyword contained get-string get-string-from-stream gethash getitimer -syn keyword txl_keyword contained getpid getppid giterate greater -syn keyword txl_keyword contained group-by gun hash hash-alist -syn keyword txl_keyword contained hash-construct hash-count hash-diff hash-eql -syn keyword txl_keyword contained hash-equal hash-isec hash-keys hash-pairs -syn keyword txl_keyword contained hash-uni hash-update hash-update-1 hash-values -syn keyword txl_keyword contained hashp html-decode html-encode iapply -syn keyword txl_keyword contained identity ido if iff -syn keyword txl_keyword contained iffi inc inhash int-flo -syn keyword txl_keyword contained int-str integerp intern interp-fun-p -syn keyword txl_keyword contained interpose ip ipf isqrt -syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt -syn keyword txl_keyword contained keep-if keep-if* keywordp kill -syn keyword txl_keyword contained labels lambda last lazy-str -syn keyword txl_keyword contained lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list lazy-stream-cons -syn keyword txl_keyword contained lazy-stringp lbind lcm lcons-fun -syn keyword txl_keyword contained lconsp ldiff length length-list -syn keyword txl_keyword contained length-str length-str-< length-str-<= length-str-> -syn keyword txl_keyword contained length-str->= length-vec less let -syn keyword txl_keyword contained let* link lisp-parse list -syn keyword txl_keyword contained list* list-str list-vector listp -syn keyword txl_keyword contained log log-alert log-auth log-authpriv -syn keyword txl_keyword contained log-cons log-crit log-daemon log-debug -syn keyword txl_keyword contained log-emerg log-err log-info log-ndelay -syn keyword txl_keyword contained log-notice log-nowait log-odelay log-perror -syn keyword txl_keyword contained log-pid log-user log-warning log10 -syn keyword txl_keyword contained log2 logand logior lognot -syn keyword txl_keyword contained logtest logtrunc logxor macro-form-p -syn keyword txl_keyword contained macro-time macroexpand macroexpand-1 macrolet -syn keyword txl_keyword contained major make-catenated-stream make-env make-hash -syn keyword txl_keyword contained make-lazy-cons make-like make-package make-random-state -syn keyword txl_keyword contained make-similar-hash make-string-byte-input-stream make-string-input-stream make-string-output-stream -syn keyword txl_keyword contained make-strlist-output-stream make-sym make-time make-time-utc -syn keyword txl_keyword contained make-trie makedev mapcar mapcar* -syn keyword txl_keyword contained mapdo maphash mappend mappend* -syn keyword txl_keyword contained mask match-fun match-regex match-regex-right -syn keyword txl_keyword contained match-str match-str-tree max member -syn keyword txl_keyword contained member-if memq memql memqual -syn keyword txl_keyword contained merge min minor mkdir -syn keyword txl_keyword contained mknod mkstring mod multi -syn keyword txl_keyword contained multi-sort n-choose-k n-perm-k nconc -syn keyword txl_keyword contained nilf none not notf -syn keyword txl_keyword contained nreverse null nullify num-chr -syn keyword txl_keyword contained num-str numberp oddp op -syn keyword txl_keyword contained open-command open-directory open-file open-files -syn keyword txl_keyword contained open-files* open-pipe open-process open-tail -syn keyword txl_keyword contained openlog or orf packagep +syn keyword txl_keyword contained chand chdir chr-isalnum chr-isalpha +syn keyword txl_keyword contained chr-isascii chr-isblank chr-iscntrl chr-isdigit +syn keyword txl_keyword contained chr-isgraph chr-islower chr-isprint chr-ispunct +syn keyword txl_keyword contained chr-isspace chr-isunisp chr-isupper chr-isxdigit +syn keyword txl_keyword contained chr-num chr-str chr-str-set chr-tolower +syn keyword txl_keyword contained chr-toupper chrp close-stream closelog +syn keyword txl_keyword contained cmp-str collect-each collect-each* comb +syn keyword txl_keyword contained compl-span-str cond cons conses +syn keyword txl_keyword contained conses* consp copy copy-alist +syn keyword txl_keyword contained copy-cons copy-hash copy-list copy-str +syn keyword txl_keyword contained copy-vec cos count-if countq +syn keyword txl_keyword contained countql countqual cum-norm-dist daemon +syn keyword txl_keyword contained dec defmacro defsymacro defun +syn keyword txl_keyword contained defvar del delay delete-package +syn keyword txl_keyword contained do dohash downcase-str dwim +syn keyword txl_keyword contained each each* empty env +syn keyword txl_keyword contained env-fbind env-hash env-vbind eq +syn keyword txl_keyword contained eql equal errno error +syn keyword txl_keyword contained eval evenp exit exp +syn keyword txl_keyword contained expt exptmod false fbind +syn keyword txl_keyword contained fboundp fifth filter-equal filter-string-tree +syn keyword txl_keyword contained finalize find find-if find-max +syn keyword txl_keyword contained find-min find-package first fixnump +syn keyword txl_keyword contained flatten flatten* flet flip +syn keyword txl_keyword contained flo-int flo-str floatp floor +syn keyword txl_keyword contained flush-stream for for* force +syn keyword txl_keyword contained format fourth fun func-get-env +syn keyword txl_keyword contained func-get-form func-set-env functionp gcd +syn keyword txl_keyword contained gen generate gensym get-byte +syn keyword txl_keyword contained get-char get-hash-userdata get-line get-lines +syn keyword txl_keyword contained get-list-from-stream get-sig-handler get-string get-string-from-stream +syn keyword txl_keyword contained gethash getitimer getpid getppid +syn keyword txl_keyword contained giterate greater group-by gun +syn keyword txl_keyword contained hash hash-alist hash-construct hash-count +syn keyword txl_keyword contained hash-diff hash-eql hash-equal hash-isec +syn keyword txl_keyword contained hash-keys hash-pairs hash-uni hash-update +syn keyword txl_keyword contained hash-update-1 hash-values hashp html-decode +syn keyword txl_keyword contained html-encode iapply identity ido +syn keyword txl_keyword contained if iff iffi inc +syn keyword txl_keyword contained inhash int-flo int-str integerp +syn keyword txl_keyword contained intern interp-fun-p interpose ip +syn keyword txl_keyword contained ipf isqrt itimer-prov itimer-real +syn keyword txl_keyword contained itimer-virtual juxt keep-if keep-if* +syn keyword txl_keyword contained keywordp kill labels lambda +syn keyword txl_keyword contained last lazy-str lazy-str-force lazy-str-force-upto +syn keyword txl_keyword contained lazy-str-get-trailing-list lazy-stream-cons lazy-stringp lbind +syn keyword txl_keyword contained lcm lcons-fun lconsp ldiff +syn keyword txl_keyword contained length length-list length-str length-str-< +syn keyword txl_keyword contained length-str-<= length-str-> length-str->= length-vec +syn keyword txl_keyword contained less let let* link +syn keyword txl_keyword contained lisp-parse list list* list-str +syn keyword txl_keyword contained list-vector listp log log-alert +syn keyword txl_keyword contained log-auth log-authpriv log-cons log-crit +syn keyword txl_keyword contained log-daemon log-debug log-emerg log-err +syn keyword txl_keyword contained log-info log-ndelay log-notice log-nowait +syn keyword txl_keyword contained log-odelay log-perror log-pid log-user +syn keyword txl_keyword contained log-warning log10 log2 logand +syn keyword txl_keyword contained logior lognot logtest logtrunc +syn keyword txl_keyword contained logxor macro-form-p macro-time macroexpand +syn keyword txl_keyword contained macroexpand-1 macrolet major make-catenated-stream +syn keyword txl_keyword contained make-env make-hash make-lazy-cons make-like +syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream +syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-sym +syn keyword txl_keyword contained make-time make-time-utc make-trie makedev +syn keyword txl_keyword contained mapcar mapcar* mapdo maphash +syn keyword txl_keyword contained mappend mappend* mask match-fun +syn keyword txl_keyword contained match-regex match-regex-right match-str match-str-tree +syn keyword txl_keyword contained max member member-if memq +syn keyword txl_keyword contained memql memqual merge min +syn keyword txl_keyword contained minor mkdir mknod mkstring +syn keyword txl_keyword contained mod multi multi-sort n-choose-k +syn keyword txl_keyword contained n-perm-k nconc nilf none +syn keyword txl_keyword contained not notf nreverse null +syn keyword txl_keyword contained nullify num-chr num-str numberp +syn keyword txl_keyword contained oand oddp op open-command +syn keyword txl_keyword contained open-directory open-file open-files open-files* +syn keyword txl_keyword contained open-pipe open-process open-tail openlog +syn keyword txl_keyword contained opip or orf packagep syn keyword txl_keyword contained partition partition* partition-by perm syn keyword txl_keyword contained pop pos pos-if pos-max syn keyword txl_keyword contained pos-min posq posql posqual @@ -164,21 +165,22 @@ syn keyword txl_keyword contained stringp sub sub-list sub-str syn keyword txl_keyword contained sub-vec symacrolet symbol-function symbol-name syn keyword txl_keyword contained symbol-package symbol-value symbolp symlink syn keyword txl_keyword contained sys-qquote sys-splice sys-unquote syslog -syn keyword txl_keyword contained tan tf third throw -syn keyword txl_keyword contained throwf time time-fields-local time-fields-utc -syn keyword txl_keyword contained time-string-local time-string-utc time-usec tofloat -syn keyword txl_keyword contained toint tok-str tok-where tostring -syn keyword txl_keyword contained tostringp transpose tree-bind tree-case -syn keyword txl_keyword contained tree-find trie-add trie-compress trie-lookup-begin -syn keyword txl_keyword contained trie-lookup-feed-char trie-value-at trim-str true -syn keyword txl_keyword contained trunc tuples txr-case txr-if -syn keyword txl_keyword contained txr-when typeof unget-byte unget-char -syn keyword txl_keyword contained uniq unless unquote until -syn keyword txl_keyword contained upcase-str update url-decode url-encode -syn keyword txl_keyword contained usleep uw-protect vec vec-push -syn keyword txl_keyword contained vec-set-length vecref vector vector-list -syn keyword txl_keyword contained vectorp when where while -syn keyword txl_keyword contained with-saved-vars zerop zip +syn keyword txl_keyword contained tan tb tc tf +syn keyword txl_keyword contained third throw throwf time +syn keyword txl_keyword contained time-fields-local time-fields-utc time-string-local time-string-utc +syn keyword txl_keyword contained time-usec tofloat toint tok-str +syn keyword txl_keyword contained tok-where tostring tostringp transpose +syn keyword txl_keyword contained tree-bind tree-case tree-find trie-add +syn keyword txl_keyword contained trie-compress trie-lookup-begin trie-lookup-feed-char trie-value-at +syn keyword txl_keyword contained trim-str true trunc tuples +syn keyword txl_keyword contained txr-case txr-if txr-when typeof +syn keyword txl_keyword contained unget-byte unget-char uniq unless +syn keyword txl_keyword contained unquote until upcase-str update +syn keyword txl_keyword contained url-decode url-encode usleep uw-protect +syn keyword txl_keyword contained vec vec-push vec-set-length vecref +syn keyword txl_keyword contained vector vector-list vectorp when +syn keyword txl_keyword contained where while with-saved-vars zerop +syn keyword txl_keyword contained zip syn keyword txr_keyword contained accept all and assert syn keyword txr_keyword contained bind block cases cat |