]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/clojure.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / clojure.xml
1 <?xml version="1.0"?>
2
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">
4
5 <!--
6     This file is partially based on lisp.xml and mostly in
7     the documentation found at: http://clojure.org/
8
9     Why are you looking at this file?
10       Do the symbols handled by this file seem out of date?
11       Want to do something about it?
12       Do you know Clojure?
13       Do you use linux?
14         (or are you knowledgeable enought to translate to your os?)
15
16     Verify file coverage of Clojure namespace symbols using code in:
17       misc/clojure
18     in the standard jEdit source tree. See misc/clojure/README.txt for details.
19
20     author: dsm 2008-10-24 0.1
21     author: mma 2015-03-29 0.2
22 -->
23
24 <MODE>
25     <PROPS>
26         <PROPERTY NAME="lineComment" VALUE=";" />
27         <PROPERTY NAME="noWordSep" VALUE=".*+!-_?/" />
28         <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
29         <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
30         <PROPERTY NAME="multipleBracketIndent" VALUE="true" />
31     </PROPS>
32
33     <RULES  IGNORE_CASE="FALSE"
34                 HIGHLIGHT_DIGITS="TRUE"
35         NO_WORD_SEP=".*+!-_?/"
36         DIGIT_RE="([0-9]+)|(([0-9]*\.[0-9]+)M?)|([0-9]+/[0-9]+)">
37         <!-- S-exps / lists.
38              Quoted first so as to not break the normal ones.
39              This is highly repetitive, there must be a better way
40         -->
41         <SPAN TYPE="KEYWORD4" DELEGATE="MAIN">
42             <BEGIN>*</BEGIN>
43             <END>*</END>
44         </SPAN>
45         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
46             <BEGIN>#^(</BEGIN>
47             <END>)</END>
48         </SPAN>
49         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
50             <BEGIN>@(</BEGIN>
51             <END>)</END>
52         </SPAN>
53         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
54             <BEGIN>^(</BEGIN>
55             <END>)</END>
56         </SPAN>
57         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
58             <BEGIN>`(</BEGIN>
59             <END>)</END>
60         </SPAN>
61         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
62             <BEGIN>&apos;(</BEGIN>
63             <END>)</END>
64         </SPAN>
65         <SPAN TYPE="COMMENT3" DELEGATE="MAIN">
66             <BEGIN>#_(</BEGIN>
67             <END>)</END>
68         </SPAN>
69         <SPAN TYPE="KEYWORD1" DELEGATE="MAIN">
70             <BEGIN>#(</BEGIN>
71             <END>)</END>
72         </SPAN>
73         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
74             <BEGIN>(</BEGIN>
75             <END>)</END>
76         </SPAN>
77
78         <!-- Vectors -->
79         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
80             <BEGIN>#^[</BEGIN>
81             <END>]</END>
82         </SPAN>
83         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
84             <BEGIN>@[</BEGIN>
85             <END>]</END>
86         </SPAN>
87         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
88             <BEGIN>^[</BEGIN>
89             <END>]</END>
90         </SPAN>
91         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
92             <BEGIN>&apos;[</BEGIN>
93             <END>]</END>
94         </SPAN>
95         <SPAN TYPE="LABEL" DELEGATE="MAIN">
96             <BEGIN>[</BEGIN>
97             <END>]</END>
98         </SPAN>
99
100         <!-- Maps -->
101         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
102             <BEGIN>#^{</BEGIN>
103             <END>}</END>
104         </SPAN>
105         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
106             <BEGIN>@{</BEGIN>
107             <END>}</END>
108         </SPAN>
109         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
110             <BEGIN>^{</BEGIN>
111             <END>}</END>
112         </SPAN>
113         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
114             <BEGIN>&apos;{</BEGIN>
115             <END>}</END>
116         </SPAN>
117         <SPAN TYPE="LABEL" DELEGATE="MAIN">
118             <BEGIN>{</BEGIN>
119             <END>}</END>
120         </SPAN>
121
122         <!-- Sets -->
123         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
124             <BEGIN>#^#{</BEGIN>
125             <END>}</END>
126         </SPAN>
127         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
128             <BEGIN>@#{</BEGIN>
129             <END>}</END>
130         </SPAN>
131         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
132             <BEGIN>^#{</BEGIN>
133             <END>}</END>
134         </SPAN>
135         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
136             <BEGIN>&apos;#{</BEGIN>
137             <END>}</END>
138         </SPAN>
139         <SPAN TYPE="LABEL" DELEGATE="MAIN">
140             <BEGIN>#{</BEGIN>
141             <END>}</END>
142         </SPAN>
143
144         <!-- Quoted symbols -->
145         <SEQ AT_WORD_START="TRUE" TYPE="KEYWORD2">#&apos;</SEQ>
146         <MARK_FOLLOWING
147             AT_WORD_START="TRUE"
148             TYPE="LITERAL3">&apos;</MARK_FOLLOWING>
149         <!-- Meta symbols -->
150         <MARK_FOLLOWING
151             AT_WORD_START="TRUE"
152             TYPE="LABEL">^</MARK_FOLLOWING>
153         <!-- Deref symbols -->
154         <MARK_FOLLOWING
155             AT_WORD_START="TRUE"
156             TYPE="LABEL">@</MARK_FOLLOWING>
157         <!-- java interop -->
158         <MARK_FOLLOWING
159             AT_WORD_START="TRUE"
160             TYPE="LITERAL3">.</MARK_FOLLOWING>
161         <!-- Metadata -->
162         <MARK_FOLLOWING
163             AT_WORD_START="TRUE"
164             TYPE="MARKUP">#^</MARK_FOLLOWING>
165
166             <!-- Based on convention discussed here:
167                      http://www.gigamonkeys.com/book/syntax-and-semantics.html -->
168             <EOL_SPAN TYPE="COMMENT4">;;;;</EOL_SPAN>
169             <EOL_SPAN TYPE="COMMENT3">;;;</EOL_SPAN>
170             <EOL_SPAN TYPE="COMMENT2">;;</EOL_SPAN>
171             <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
172
173             <SPAN TYPE="LITERAL2" DELEGATE="REGEXPS" ESCAPE="\">
174                 <BEGIN>#&quot;</BEGIN>
175                 <END>&quot;</END>
176             </SPAN>
177
178             <SPAN TYPE="LITERAL1" DELEGATE="STRINGS" ESCAPE="\">
179                 <BEGIN>&quot;</BEGIN>
180                 <END>&quot;</END>
181             </SPAN>
182
183         <!-- Character literals -->
184         <SEQ_REGEXP
185             HASH_CHAR="\"
186             AT_WORD_START="TRUE"
187             TYPE="LITERAL2">\\(.|newline|space|tab)</SEQ_REGEXP>
188
189         <!-- The &apos;.&apos; special form -->
190         <SEQ AT_WORD_START="TRUE" TYPE="LITERAL4">.</SEQ>
191
192         <!-- Namespace separators -->
193         <!-- <MARK_PREVIOUS
194                 TYPE="LITERAL4"
195                 MATCH_TYPE="CONTEXT">/</MARK_PREVIOUS>
196         <MARK_PREVIOUS
197                 TYPE="LITERAL4"
198                 MATCH_TYPE="CONTEXT">.</MARK_PREVIOUS> -->
199
200         <!-- KEYWORD4: All keywords -->
201         <MARK_FOLLOWING
202             AT_WORD_START="TRUE"
203             TYPE="KEYWORD4">:</MARK_FOLLOWING>
204
205         <KEYWORDS>
206             <!--
207                     KEYWORD1:  Definitions and binding.
208               -->
209
210             <KEYWORD1>assert</KEYWORD1>
211
212             <KEYWORD1>binding</KEYWORD1>
213
214             <KEYWORD1>bound-fn</KEYWORD1>
215             <KEYWORD1>bound-fn*</KEYWORD1>
216
217             <KEYWORD1>comment</KEYWORD1>
218
219             <KEYWORD1>compile</KEYWORD1>
220             <KEYWORD1>gen-class</KEYWORD1>
221             <KEYWORD1>gen-interface</KEYWORD1>
222
223             <KEYWORD1>declare</KEYWORD1>
224
225             <KEYWORD1>def</KEYWORD1>
226             <KEYWORD1>definline</KEYWORD1>
227             <KEYWORD1>definterceptor</KEYWORD1>
228             <KEYWORD1>definterceptorfn</KEYWORD1>
229             <KEYWORD1>definterface</KEYWORD1>
230             <KEYWORD1>defmacro</KEYWORD1>
231             <KEYWORD1>defmethod</KEYWORD1>
232             <KEYWORD1>defmulti</KEYWORD1>
233             <KEYWORD1>defn</KEYWORD1>
234             <KEYWORD1>defn-</KEYWORD1>
235             <KEYWORD1>defon-request</KEYWORD1>
236             <KEYWORD1>defonce</KEYWORD1>
237             <KEYWORD1>defprotocol</KEYWORD1>
238             <KEYWORD1>defrecord</KEYWORD1>
239             <KEYWORD1>defstruct</KEYWORD1>
240             <KEYWORD1>deftest</KEYWORD1>
241             <KEYWORD1>deftest-</KEYWORD1>
242             <KEYWORD1>deftype</KEYWORD1>
243             <KEYWORD1>extend</KEYWORD1>
244             <KEYWORD1>extenders</KEYWORD1>
245             <KEYWORD1>extend-protocol</KEYWORD1>
246             <KEYWORD1>extend-type</KEYWORD1>
247             <KEYWORD1>get-method</KEYWORD1>
248             <KEYWORD1>methods</KEYWORD1>
249             <KEYWORD1>prefers</KEYWORD1>
250             <KEYWORD1>prefer-method</KEYWORD1>
251             <KEYWORD1>remove-all-methods</KEYWORD1>
252             <KEYWORD1>remove-method</KEYWORD1>
253
254             <KEYWORD1>eval</KEYWORD1>
255
256             <KEYWORD1>fn</KEYWORD1>
257             <KEYWORD1>partial</KEYWORD1>
258
259             <KEYWORD1>ns</KEYWORD1>
260             <KEYWORD1>import</KEYWORD1>
261             <KEYWORD1>intern</KEYWORD1>
262             <KEYWORD1>loaded-libs</KEYWORD1>
263             <KEYWORD1>refer</KEYWORD1>
264             <KEYWORD1>refer-clojure</KEYWORD1>
265             <KEYWORD1>reify</KEYWORD1>
266             <KEYWORD1>require</KEYWORD1>
267             <KEYWORD1>the-ns</KEYWORD1>
268             <KEYWORD1>use</KEYWORD1>
269
270             <KEYWORD1>all-ns</KEYWORD1>
271             <KEYWORD1>alias</KEYWORD1>
272             <KEYWORD1>create-ns</KEYWORD1>
273             <KEYWORD1>find-keyword</KEYWORD1>
274             <KEYWORD1>find-ns</KEYWORD1>
275             <KEYWORD1>in-ns</KEYWORD1>
276             <KEYWORD1>ns-name</KEYWORD1>
277             <KEYWORD1>ns-map</KEYWORD1>
278             <KEYWORD1>ns-aliases</KEYWORD1>
279             <KEYWORD1>ns-interns</KEYWORD1>
280             <KEYWORD1>ns-publics</KEYWORD1>
281             <KEYWORD1>ns-imports</KEYWORD1>
282             <KEYWORD1>ns-refers</KEYWORD1>
283             <KEYWORD1>ns-resolve</KEYWORD1>
284             <KEYWORD1>ns-unmap</KEYWORD1>
285             <KEYWORD1>ns-unalias</KEYWORD1>
286             <KEYWORD1>remove-ns</KEYWORD1>
287
288             <!--
289                     KEYWORD2:  Flow control
290               -->
291
292             <KEYWORD2>case</KEYWORD2>
293
294             <KEYWORD2>cond</KEYWORD2>
295             <KEYWORD2>condp</KEYWORD2>
296             <KEYWORD2>cond-&gt;</KEYWORD2>
297             <KEYWORD2>cond-&gt;&gt;</KEYWORD2>
298
299             <KEYWORD2>destructure</KEYWORD2>
300
301             <KEYWORD2>do</KEYWORD2>
302             <KEYWORD2>doall</KEYWORD2>
303             <KEYWORD2>dorun</KEYWORD2>
304             <KEYWORD2>doseq</KEYWORD2>
305             <KEYWORD2>dosync</KEYWORD2>
306             <KEYWORD2>dotimes</KEYWORD2>
307             <KEYWORD2>doto</KEYWORD2>
308
309             <KEYWORD2>for</KEYWORD2>
310
311             <KEYWORD2>if</KEYWORD2>
312             <KEYWORD2>if-let</KEYWORD2>
313             <KEYWORD2>if-not</KEYWORD2>
314             <KEYWORD2>if-some</KEYWORD2>
315
316             <KEYWORD2>let</KEYWORD2>
317             <KEYWORD2>letfn</KEYWORD2>
318
319             <KEYWORD2>loop</KEYWORD2>
320             <KEYWORD2>recur</KEYWORD2>
321
322             <KEYWORD2>sync</KEYWORD2>
323
324             <KEYWORD2>trampoline</KEYWORD2>
325
326             <KEYWORD2>try</KEYWORD2>
327             <KEYWORD2>catch</KEYWORD2>
328             <KEYWORD2>finally</KEYWORD2>
329             <KEYWORD2>throw</KEYWORD2>
330
331             <KEYWORD2>while</KEYWORD2>
332
333             <KEYWORD2>when</KEYWORD2>
334             <KEYWORD2>when-first</KEYWORD2>
335             <KEYWORD2>when-let</KEYWORD2>
336             <KEYWORD2>when-not</KEYWORD2>
337             <KEYWORD2>when-some</KEYWORD2>
338
339             <!--
340                     KEYWORD3:  Core functions and macros
341               -->
342
343             <KEYWORD3>alter</KEYWORD3>
344             <KEYWORD3>alter-meta!</KEYWORD3>
345             <KEYWORD3>alter-var-root</KEYWORD3>
346             <KEYWORD3>commute</KEYWORD3>
347             <KEYWORD3>compare-and-set!</KEYWORD3>
348             <KEYWORD3>ensure</KEYWORD3>
349             <KEYWORD3>ref</KEYWORD3>
350             <KEYWORD3>ref-history-count</KEYWORD3>
351             <KEYWORD3>ref-max-history</KEYWORD3>
352             <KEYWORD3>ref-min-history</KEYWORD3>
353             <KEYWORD3>ref-set</KEYWORD3>
354             <KEYWORD3>reset!</KEYWORD3>
355             <KEYWORD3>reset-meta!</KEYWORD3>
356             <KEYWORD3>set!</KEYWORD3>
357             <KEYWORD3>swap!</KEYWORD3>
358
359             <KEYWORD3>agent</KEYWORD3>
360             <KEYWORD3>agent-error</KEYWORD3>
361             <KEYWORD3>agent-errors</KEYWORD3>
362             <KEYWORD3>add-watch</KEYWORD3>
363             <KEYWORD3>await</KEYWORD3>
364             <KEYWORD3>await-for</KEYWORD3>
365             <KEYWORD3>clear-agent-errors</KEYWORD3>
366             <KEYWORD3>error-handler</KEYWORD3>
367             <KEYWORD3>error-mode</KEYWORD3>
368             <KEYWORD3>get-validator</KEYWORD3>
369             <KEYWORD3>release-pending-sends</KEYWORD3>
370             <KEYWORD3>remove-watch</KEYWORD3>
371             <KEYWORD3>restart-agent</KEYWORD3>
372             <KEYWORD3>send</KEYWORD3>
373             <KEYWORD3>send-off</KEYWORD3>
374             <KEYWORD3>send-via</KEYWORD3>
375             <KEYWORD3>set-agent-send-executor!</KEYWORD3>
376             <KEYWORD3>set-agent-send-off-executor!</KEYWORD3>
377             <KEYWORD3>set-error-handler!</KEYWORD3>
378             <KEYWORD3>set-error-mode!</KEYWORD3>
379             <KEYWORD3>set-validator!</KEYWORD3>
380             <KEYWORD3>shutdown-agents</KEYWORD3>
381
382             <KEYWORD3>future</KEYWORD3>
383             <KEYWORD3>future-call</KEYWORD3>
384             <KEYWORD3>future-cancel</KEYWORD3>
385             <KEYWORD3>deliver</KEYWORD3>
386             <KEYWORD3>deref</KEYWORD3>
387             <KEYWORD3>locking</KEYWORD3>
388             <KEYWORD3>pcalls</KEYWORD3>
389             <KEYWORD3>pmap</KEYWORD3>
390             <KEYWORD3>promise</KEYWORD3>
391
392             <KEYWORD3>delay</KEYWORD3>
393             <KEYWORD3>force</KEYWORD3>
394
395             <KEYWORD3>amap</KEYWORD3>
396             <KEYWORD3>map</KEYWORD3>
397             <KEYWORD3>mapcat</KEYWORD3>
398             <KEYWORD3>mapv</KEYWORD3>
399             <KEYWORD3>map-indexed</KEYWORD3>
400             <KEYWORD3>filter</KEYWORD3>
401             <KEYWORD3>filterv</KEYWORD3>
402             <KEYWORD3>sort</KEYWORD3>
403             <KEYWORD3>sort-by</KEYWORD3>
404
405             <KEYWORD3>get-thread-bindings</KEYWORD3>
406
407             <KEYWORD3>gensym</KEYWORD3>
408
409             <KEYWORD3>memoize</KEYWORD3>
410
411             <KEYWORD3>meta</KEYWORD3>
412             <KEYWORD3>vary-meta</KEYWORD3>
413
414             <KEYWORD3>name</KEYWORD3>
415             <KEYWORD3>namespace</KEYWORD3>
416             <KEYWORD3>resolve</KEYWORD3>
417
418             <KEYWORD3>quote</KEYWORD3>
419             <KEYWORD3>unquote</KEYWORD3>
420             <KEYWORD3>unquote-splicing</KEYWORD3>
421
422             <KEYWORD3>var</KEYWORD3>
423             <KEYWORD3>find-var</KEYWORD3>
424             <KEYWORD3>var-get</KEYWORD3>
425             <KEYWORD3>var-set</KEYWORD3>
426
427             <!-- Types and allocators -->
428             <KEYWORD3>empty</KEYWORD3>
429             <KEYWORD3>new</KEYWORD3>
430             <KEYWORD3>array-map</KEYWORD3>
431             <KEYWORD3>atom</KEYWORD3>
432             <KEYWORD3>bigdec</KEYWORD3>
433             <KEYWORD3>bigint</KEYWORD3>
434             <KEYWORD3>biginteger</KEYWORD3>
435             <KEYWORD3>boolean</KEYWORD3>
436             <KEYWORD3>boolean-array</KEYWORD3>
437             <KEYWORD3>booleans</KEYWORD3>
438             <KEYWORD3>byte</KEYWORD3>
439             <KEYWORD3>byte-array</KEYWORD3>
440             <KEYWORD3>bytes</KEYWORD3>
441             <KEYWORD3>cast</KEYWORD3>
442             <KEYWORD3>char</KEYWORD3>
443             <KEYWORD3>char-array</KEYWORD3>
444             <KEYWORD3>chars</KEYWORD3>
445             <KEYWORD3>construct-proxy</KEYWORD3>
446             <KEYWORD3>create-struct</KEYWORD3>
447             <KEYWORD3>denominator</KEYWORD3>
448             <KEYWORD3>double</KEYWORD3>
449             <KEYWORD3>double-array</KEYWORD3>
450             <KEYWORD3>doubles</KEYWORD3>
451             <KEYWORD3>enumeration-seq</KEYWORD3>
452             <KEYWORD3>float</KEYWORD3>
453             <KEYWORD3>float-array</KEYWORD3>
454             <KEYWORD3>floats</KEYWORD3>
455             <KEYWORD3>get-proxy-class</KEYWORD3>
456             <KEYWORD3>hash</KEYWORD3>
457             <KEYWORD3>hash-combine</KEYWORD3>
458             <KEYWORD3>hash-map</KEYWORD3>
459             <KEYWORD3>hash-ordered-coll</KEYWORD3>
460             <KEYWORD3>hash-set</KEYWORD3>
461             <KEYWORD3>hash-unordered-coll</KEYWORD3>
462             <KEYWORD3>init-proxy</KEYWORD3>
463             <KEYWORD3>int</KEYWORD3>
464             <KEYWORD3>int-array</KEYWORD3>
465             <KEYWORD3>interpose</KEYWORD3>
466             <KEYWORD3>ints</KEYWORD3>
467             <KEYWORD3>list</KEYWORD3>
468             <KEYWORD3>list*</KEYWORD3>
469             <KEYWORD3>long</KEYWORD3>
470             <KEYWORD3>long-array</KEYWORD3>
471             <KEYWORD3>longs</KEYWORD3>
472             <KEYWORD3>make-array</KEYWORD3>
473             <KEYWORD3>num</KEYWORD3>
474             <KEYWORD3>numerator</KEYWORD3>
475             <KEYWORD3>partition</KEYWORD3>
476             <KEYWORD3>partition-all</KEYWORD3>
477             <KEYWORD3>partition-by</KEYWORD3>
478             <KEYWORD3>proxy</KEYWORD3>
479             <KEYWORD3>proxy-call-with-super</KEYWORD3>
480             <KEYWORD3>proxy-mappings</KEYWORD3>
481             <KEYWORD3>proxy-name</KEYWORD3>
482             <KEYWORD3>proxy-super</KEYWORD3>
483             <KEYWORD3>rationalize</KEYWORD3>
484             <KEYWORD3>seq</KEYWORD3>
485             <KEYWORD3>seque</KEYWORD3>
486             <KEYWORD3>sequence</KEYWORD3>
487             <KEYWORD3>set</KEYWORD3>
488             <KEYWORD3>short</KEYWORD3>
489             <KEYWORD3>short-array</KEYWORD3>
490             <KEYWORD3>shorts</KEYWORD3>
491             <KEYWORD3>sorted-map</KEYWORD3>
492             <KEYWORD3>sorted-map-by</KEYWORD3>
493             <KEYWORD3>sorted-set</KEYWORD3>
494             <KEYWORD3>sorted-set-by</KEYWORD3>
495             <KEYWORD3>struct</KEYWORD3>
496             <KEYWORD3>struct-map</KEYWORD3>
497             <KEYWORD3>str</KEYWORD3>
498             <KEYWORD3>symbol</KEYWORD3>
499             <KEYWORD3>tree-seq</KEYWORD3>
500             <KEYWORD3>type</KEYWORD3>
501             <KEYWORD3>update-proxy</KEYWORD3>
502             <KEYWORD3>vec</KEYWORD3>
503             <KEYWORD3>vector</KEYWORD3>
504             <KEYWORD3>vector-of</KEYWORD3>
505             <KEYWORD3>xml-seq</KEYWORD3>
506
507             <!-- Java Interop -->
508             <KEYWORD3>.</KEYWORD3>
509             <KEYWORD3>..</KEYWORD3>
510             <KEYWORD3>aclone</KEYWORD3>
511             <KEYWORD3>ancestors</KEYWORD3>
512             <KEYWORD3>bases</KEYWORD3>
513             <KEYWORD3>bean</KEYWORD3>
514             <KEYWORD3>class</KEYWORD3>
515             <KEYWORD3>derive</KEYWORD3>
516             <KEYWORD3>descendants</KEYWORD3>
517             <KEYWORD3>file-seq</KEYWORD3>
518             <KEYWORD3>iterator-seq</KEYWORD3>
519             <KEYWORD3>make-hierarchy</KEYWORD3>
520             <KEYWORD3>namespace-munge</KEYWORD3>
521             <KEYWORD3>object-array</KEYWORD3>
522             <KEYWORD3>parents</KEYWORD3>
523             <KEYWORD3>primitives-classnames</KEYWORD3>
524             <KEYWORD3>supers</KEYWORD3>
525             <KEYWORD3>underive</KEYWORD3>
526
527             <KEYWORD3>memfn</KEYWORD3>
528
529             <!-- Evaluation -->
530             <KEYWORD3>apply</KEYWORD3>
531             <KEYWORD3>eval</KEYWORD3>
532             <KEYWORD3>load</KEYWORD3>
533             <KEYWORD3>load-file</KEYWORD3>
534             <KEYWORD3>load-reader</KEYWORD3>
535             <KEYWORD3>load-string</KEYWORD3>
536             <KEYWORD3>read</KEYWORD3>
537             <KEYWORD3>read-line</KEYWORD3>
538             <KEYWORD3>read-string</KEYWORD3>
539
540             <!-- with- forms -->
541             <KEYWORD3>with-bindings</KEYWORD3>
542             <KEYWORD3>with-bindings*</KEYWORD3>
543             <KEYWORD3>with-in-str</KEYWORD3>
544             <KEYWORD3>with-loading-context</KEYWORD3>
545             <KEYWORD3>with-local-vars</KEYWORD3>
546             <KEYWORD3>with-meta</KEYWORD3>
547             <KEYWORD3>with-open</KEYWORD3>
548             <KEYWORD3>with-out-str</KEYWORD3>
549             <KEYWORD3>with-precision</KEYWORD3>
550             <KEYWORD3>with-redefs</KEYWORD3>
551             <KEYWORD3>with-redefs-fn</KEYWORD3>
552             <KEYWORD3>with-test</KEYWORD3>
553             <KEYWORD3>with-test-out</KEYWORD3>
554
555             <KEYWORD3>aset-boolean</KEYWORD3>
556             <KEYWORD3>aset-byte</KEYWORD3>
557             <KEYWORD3>aset-char</KEYWORD3>
558             <KEYWORD3>aset-double</KEYWORD3>
559             <KEYWORD3>aset-float</KEYWORD3>
560             <KEYWORD3>aset-int</KEYWORD3>
561             <KEYWORD3>aset-long</KEYWORD3>
562             <KEYWORD3>aset-short</KEYWORD3>
563
564             <KEYWORD3>char-escape-string</KEYWORD3>
565             <KEYWORD3>char-name-string</KEYWORD3>
566
567             <KEYWORD3>clojure-version</KEYWORD3>
568
569             <KEYWORD3>compare</KEYWORD3>
570             <KEYWORD3>complement</KEYWORD3>
571
572             <KEYWORD3>default-data-readers</KEYWORD3>
573
574             <KEYWORD3>every-pred</KEYWORD3>
575             <KEYWORD3>juxt</KEYWORD3>
576
577             <KEYWORD3>ex-data</KEYWORD3>
578             <KEYWORD3>ex-info</KEYWORD3>
579
580             <KEYWORD3>identity</KEYWORD3>
581
582             <KEYWORD3>keyword</KEYWORD3>
583
584             <KEYWORD3>line-seq</KEYWORD3>
585
586             <KEYWORD3>macroexpand-1</KEYWORD3>
587             <KEYWORD3>macroexpand</KEYWORD3>
588
589             <KEYWORD3>parse</KEYWORD3>
590
591             <!-- Printing -->
592             <KEYWORD3>pr</KEYWORD3>
593             <KEYWORD3>prn</KEYWORD3>
594             <KEYWORD3>print</KEYWORD3>
595             <KEYWORD3>printf</KEYWORD3>
596             <KEYWORD3>println</KEYWORD3>
597             <KEYWORD3>pr-str</KEYWORD3>
598             <KEYWORD3>prn-str</KEYWORD3>
599             <KEYWORD3>print-dup</KEYWORD3>
600             <KEYWORD3>print-str</KEYWORD3>
601             <KEYWORD3>println-str</KEYWORD3>
602             <KEYWORD3>flush</KEYWORD3>
603             <KEYWORD3>format</KEYWORD3>
604             <KEYWORD3>io!</KEYWORD3>
605             <KEYWORD3>newline</KEYWORD3>
606
607             <KEYWORD3>rand</KEYWORD3>
608             <KEYWORD3>rand-int</KEYWORD3>
609             <KEYWORD3>rand-nth</KEYWORD3>
610
611             <!-- regular expressions -->
612             <KEYWORD3>re-find</KEYWORD3>
613             <KEYWORD3>re-groups</KEYWORD3>
614             <KEYWORD3>re-matcher</KEYWORD3>
615             <KEYWORD3>re-matches</KEYWORD3>
616             <KEYWORD3>re-pattern</KEYWORD3>
617             <KEYWORD3>re-seq</KEYWORD3>
618
619             <KEYWORD3>slurp</KEYWORD3>
620             <KEYWORD3>spit</KEYWORD3>
621
622             <KEYWORD3>test</KEYWORD3>
623
624             <KEYWORD3>time</KEYWORD3>
625
626             <KEYWORD3>transient</KEYWORD3>
627             <KEYWORD3>assoc!</KEYWORD3>
628             <KEYWORD3>conj!</KEYWORD3>
629             <KEYWORD3>disj!</KEYWORD3>
630             <KEYWORD3>dissoc!</KEYWORD3>
631             <KEYWORD3>persistent!</KEYWORD3>
632             <KEYWORD3>pop!</KEYWORD3>
633
634             <!-- Collections -->
635             <KEYWORD3>accessor</KEYWORD3>
636             <KEYWORD3>aget</KEYWORD3>
637             <KEYWORD3>alength</KEYWORD3>
638             <KEYWORD3>areduce</KEYWORD3>
639             <KEYWORD3>aset</KEYWORD3>
640             <KEYWORD3>assoc</KEYWORD3>
641             <KEYWORD3>assoc-in</KEYWORD3>
642             <KEYWORD3>butlast</KEYWORD3>
643             <KEYWORD3>comp</KEYWORD3>
644             <KEYWORD3>comparator</KEYWORD3>
645             <KEYWORD3>concat</KEYWORD3>
646             <KEYWORD3>conj</KEYWORD3>
647             <KEYWORD3>cons</KEYWORD3>
648             <KEYWORD3>constantly</KEYWORD3>
649             <KEYWORD3>count</KEYWORD3>
650             <KEYWORD3>cycle</KEYWORD3>
651             <KEYWORD3>disj</KEYWORD3>
652             <KEYWORD3>dissoc</KEYWORD3>
653             <KEYWORD3>distinct</KEYWORD3>
654             <KEYWORD3>drop</KEYWORD3>
655             <KEYWORD3>drop-last</KEYWORD3>
656             <KEYWORD3>drop-while</KEYWORD3>
657             <KEYWORD3>ffirst</KEYWORD3>
658             <KEYWORD3>find</KEYWORD3>
659             <KEYWORD3>first</KEYWORD3>
660             <KEYWORD3>flatten</KEYWORD3>
661             <KEYWORD3>fnext</KEYWORD3>
662             <KEYWORD3>fnil</KEYWORD3>
663             <KEYWORD3>frequencies</KEYWORD3>
664             <KEYWORD3>frest</KEYWORD3>
665             <KEYWORD3>get</KEYWORD3>
666             <KEYWORD3>get-in</KEYWORD3>
667             <KEYWORD3>group-by</KEYWORD3>
668             <KEYWORD3>interleave</KEYWORD3>
669             <KEYWORD3>into</KEYWORD3>
670             <KEYWORD3>into-array</KEYWORD3>
671             <KEYWORD3>iterate</KEYWORD3>
672             <KEYWORD3>key</KEYWORD3>
673             <KEYWORD3>keep</KEYWORD3>
674             <KEYWORD3>keep-indexed</KEYWORD3>
675             <KEYWORD3>keys</KEYWORD3>
676             <KEYWORD3>last</KEYWORD3>
677             <KEYWORD3>lazy-cat</KEYWORD3>
678             <KEYWORD3>lazy-cons</KEYWORD3>
679             <KEYWORD3>lazy-seq</KEYWORD3>
680             <KEYWORD3>max</KEYWORD3>
681             <KEYWORD3>max-key</KEYWORD3>
682             <KEYWORD3>merge</KEYWORD3>
683             <KEYWORD3>merge-with</KEYWORD3>
684             <KEYWORD3>min</KEYWORD3>
685             <KEYWORD3>min-key</KEYWORD3>
686             <KEYWORD3>mix-collection-hash</KEYWORD3>
687             <KEYWORD3>munge</KEYWORD3>
688             <KEYWORD3>next</KEYWORD3>
689             <KEYWORD3>nfirst</KEYWORD3>
690             <KEYWORD3>nnext</KEYWORD3>
691             <KEYWORD3>nth</KEYWORD3>
692             <KEYWORD3>nthnext</KEYWORD3>
693             <KEYWORD3>nthrest</KEYWORD3>
694             <KEYWORD3>peek</KEYWORD3>
695             <KEYWORD3>pop</KEYWORD3>
696             <KEYWORD3>put</KEYWORD3>
697             <KEYWORD3>pvalues</KEYWORD3>
698             <KEYWORD3>range</KEYWORD3>
699             <KEYWORD3>reduce</KEYWORD3>
700             <KEYWORD3>reduced</KEYWORD3>
701             <KEYWORD3>reduce-kv</KEYWORD3>
702             <KEYWORD3>reductions</KEYWORD3>
703             <KEYWORD3>remove</KEYWORD3>
704             <KEYWORD3>repeat</KEYWORD3>
705             <KEYWORD3>repeatedly</KEYWORD3>
706             <KEYWORD3>replace</KEYWORD3>
707             <KEYWORD3>replicate</KEYWORD3>
708             <KEYWORD3>rest</KEYWORD3>
709             <KEYWORD3>reverse</KEYWORD3>
710             <KEYWORD3>rfirst</KEYWORD3>
711             <KEYWORD3>rrest</KEYWORD3>
712             <KEYWORD3>rseq</KEYWORD3>
713             <KEYWORD3>rsubseq</KEYWORD3>
714             <KEYWORD3>second</KEYWORD3>
715             <KEYWORD3>select-keys</KEYWORD3>
716             <KEYWORD3>shuffle</KEYWORD3>
717             <KEYWORD3>some</KEYWORD3>
718             <KEYWORD3>some-&gt;</KEYWORD3>
719             <KEYWORD3>some-&gt;&gt;</KEYWORD3>
720             <KEYWORD3>some-fn</KEYWORD3>
721             <KEYWORD3>split-at</KEYWORD3>
722             <KEYWORD3>split-with</KEYWORD3>
723             <KEYWORD3>subs</KEYWORD3>
724             <KEYWORD3>subseq</KEYWORD3>
725             <KEYWORD3>subvec</KEYWORD3>
726             <KEYWORD3>take</KEYWORD3>
727             <KEYWORD3>take-last</KEYWORD3>
728             <KEYWORD3>take-nth</KEYWORD3>
729             <KEYWORD3>take-while</KEYWORD3>
730             <KEYWORD3>to-array</KEYWORD3>
731             <KEYWORD3>to-array-2d</KEYWORD3>
732             <KEYWORD3>update-in</KEYWORD3>
733             <KEYWORD3>val</KEYWORD3>
734             <KEYWORD3>vals</KEYWORD3>
735
736             <!-- SQL functions -->
737             <KEYWORD3>resultset-seq</KEYWORD3>
738
739             <KEYWORD3>zipmap</KEYWORD3>
740
741             <!--
742                     KEYWORD4:  Core variables
743                                (and keywords, per MARK_FOLLOWING above)
744               -->
745
746             <!-- Special symbols -->
747             <KEYWORD4>&amp;</KEYWORD4>
748
749             <KEYWORD4>*1</KEYWORD4>
750             <KEYWORD4>*2</KEYWORD4>
751             <KEYWORD4>*3</KEYWORD4>
752
753             <KEYWORD4>*agent*</KEYWORD4>
754
755             <KEYWORD4>*clojure-version*</KEYWORD4>
756             <KEYWORD4>*command-line-args*</KEYWORD4>
757             <KEYWORD4>*compile-files*</KEYWORD4>
758             <KEYWORD4>*compile-path*</KEYWORD4>
759             <KEYWORD4>*compiler-options*</KEYWORD4>
760
761             <KEYWORD4>*data-readers*</KEYWORD4>
762             <KEYWORD4>*default-data-reader-fn*</KEYWORD4>
763
764             <KEYWORD4>*e</KEYWORD4>
765
766             <KEYWORD4>*file*</KEYWORD4>
767
768             <KEYWORD4>*flush-on-newline*</KEYWORD4>
769
770             <KEYWORD4>*err*</KEYWORD4>
771             <KEYWORD4>*in*</KEYWORD4>
772             <KEYWORD4>*out*</KEYWORD4>
773
774             <KEYWORD4>*ns*</KEYWORD4>
775
776             <KEYWORD4>*open-url-script*</KEYWORD4>
777
778             <KEYWORD4>*print-base*</KEYWORD4>
779             <KEYWORD4>*print-dup*</KEYWORD4>
780             <KEYWORD4>*print-length*</KEYWORD4>
781             <KEYWORD4>*print-level*</KEYWORD4>
782             <KEYWORD4>*print-miser-width*</KEYWORD4>
783             <KEYWORD4>*print-meta*</KEYWORD4>
784             <KEYWORD4>*print-pprint-dispatch*</KEYWORD4>
785             <KEYWORD4>*print-pretty*</KEYWORD4>
786             <KEYWORD4>*print-radix*</KEYWORD4>
787             <KEYWORD4>*print-readably*</KEYWORD4>
788             <KEYWORD4>*print-right-margin*</KEYWORD4>
789             <KEYWORD4>*print-suppress-namespaces*</KEYWORD4>
790
791             <KEYWORD4>*read-eval*</KEYWORD4>
792
793             <KEYWORD4>*unchecked-math*</KEYWORD4>
794
795             <KEYWORD4>*warn-on-reflection*</KEYWORD4>
796
797             <!-- clojure.xml -->
798             <KEYWORD4>*current*</KEYWORD4>
799             <KEYWORD4>*sb*</KEYWORD4>
800             <KEYWORD4>*stack*</KEYWORD4>
801             <KEYWORD4>*state*</KEYWORD4>
802
803             <!--
804                     FUNCTION:  Functions outside of the core.
805               -->
806
807             <!-- clojure.core (seemed overkill for KEYWORD3 or OPERATOR) -->
808             <FUNCTION>unchecked-add</FUNCTION>
809             <FUNCTION>unchecked-add-int</FUNCTION>
810             <FUNCTION>unchecked-byte</FUNCTION>
811             <FUNCTION>unchecked-char</FUNCTION>
812             <FUNCTION>unchecked-dec</FUNCTION>
813             <FUNCTION>unchecked-dec-int</FUNCTION>
814             <FUNCTION>unchecked-divide-int</FUNCTION>
815             <FUNCTION>unchecked-double</FUNCTION>
816             <FUNCTION>unchecked-float</FUNCTION>
817             <FUNCTION>unchecked-inc</FUNCTION>
818             <FUNCTION>unchecked-inc-int</FUNCTION>
819             <FUNCTION>unchecked-int</FUNCTION>
820             <FUNCTION>unchecked-long</FUNCTION>
821             <FUNCTION>unchecked-multiply</FUNCTION>
822             <FUNCTION>unchecked-negate</FUNCTION>
823             <FUNCTION>unchecked-negate-int</FUNCTION>
824             <FUNCTION>unchecked-remainder-int</FUNCTION>
825             <FUNCTION>unchecked-short</FUNCTION>
826             <FUNCTION>unchecked-subtract</FUNCTION>
827             <FUNCTION>unchecked-subtract-int</FUNCTION>
828             <FUNCTION>unsigned-bit-shift-right</FUNCTION>
829
830             <!-- clojure.data.browse -->
831             <FUNCTION>browse-url</FUNCTION>
832
833             <!-- clojure.data -->
834             <FUNCTION>diff</FUNCTION>
835             <FUNCTION>diff-similar</FUNCTION>
836
837             <!-- clojure.instant -->
838             <FUNCTION>parse-timestamp</FUNCTION>
839             <FUNCTION>read-instant-calendar</FUNCTION>
840             <FUNCTION>read-instant-date</FUNCTION>
841             <FUNCTION>read-instant-timestamp</FUNCTION>
842             <FUNCTION>validated</FUNCTION>
843
844             <!-- clojure.java.io -->
845             <FUNCTION>as-file</FUNCTION>
846             <FUNCTION>as-relative-path</FUNCTION>
847             <FUNCTION>as-url</FUNCTION>
848             <FUNCTION>copy</FUNCTION>
849             <FUNCTION>delete-file</FUNCTION>
850             <FUNCTION>file</FUNCTION>
851             <FUNCTION>input-stream</FUNCTION>
852             <FUNCTION>output-stream</FUNCTION>
853             <FUNCTION>make-input-stream</FUNCTION>
854             <FUNCTION>make-output-stream</FUNCTION>
855             <FUNCTION>make-parents</FUNCTION>
856             <FUNCTION>make-reader</FUNCTION>
857             <FUNCTION>make-writer</FUNCTION>
858             <FUNCTION>reader</FUNCTION>
859             <FUNCTION>resource</FUNCTION>
860             <FUNCTION>writer</FUNCTION>
861
862             <!-- clojure.pprint -->
863             <FUNCTION>cl-format</FUNCTION>
864             <FUNCTION>code-dispatch</FUNCTION>
865             <FUNCTION>formatter</FUNCTION>
866             <FUNCTION>formatter-out</FUNCTION>
867             <FUNCTION>fresh-line</FUNCTION>
868             <FUNCTION>get-pretty-writer</FUNCTION>
869             <FUNCTION>pp</FUNCTION>
870             <FUNCTION>pprint</FUNCTION>
871             <FUNCTION>pprint-indent</FUNCTION>
872             <FUNCTION>pprint-logical-block</FUNCTION>
873             <FUNCTION>pprint-newline</FUNCTION>
874             <FUNCTION>pprint-tab</FUNCTION>
875             <FUNCTION>print-length-loop</FUNCTION>
876             <FUNCTION>print-table</FUNCTION>
877             <FUNCTION>set-pprint-dispatch</FUNCTION>
878             <FUNCTION>simple-dispatch</FUNCTION>
879             <FUNCTION>with-pprint-dispatch</FUNCTION>
880             <FUNCTION>write</FUNCTION>
881             <FUNCTION>write-out </FUNCTION>
882
883             <!-- clojure.set -->
884             <FUNCTION>difference</FUNCTION>
885             <FUNCTION>index</FUNCTION>
886             <FUNCTION>intersection</FUNCTION>
887             <FUNCTION>join</FUNCTION>
888             <FUNCTION>map-invert</FUNCTION>
889             <FUNCTION>project</FUNCTION>
890             <FUNCTION>rename</FUNCTION>
891             <FUNCTION>rename-keys</FUNCTION>
892             <FUNCTION>select</FUNCTION>
893             <FUNCTION>union</FUNCTION>
894
895             <!-- clojure.stacktrace -->
896             <FUNCTION>e</FUNCTION>
897             <FUNCTION>print-cause-trace</FUNCTION>
898             <FUNCTION>print-stack-trace</FUNCTION>
899             <FUNCTION>print-throwable</FUNCTION>
900             <FUNCTION>print-trace-element</FUNCTION>
901             <FUNCTION>root-cause</FUNCTION>
902
903             <!-- clojure.string -->
904             <FUNCTION>capitalize</FUNCTION>
905             <FUNCTION>escape</FUNCTION>
906             <FUNCTION>join</FUNCTION>
907             <FUNCTION>lower-case</FUNCTION>
908             <FUNCTION>re-quote-replacement</FUNCTION>
909             <FUNCTION>replace-first</FUNCTION>
910             <FUNCTION>split</FUNCTION>
911             <FUNCTION>split-lines</FUNCTION>
912             <FUNCTION>trim</FUNCTION>
913             <FUNCTION>trim-newline</FUNCTION>
914             <FUNCTION>triml</FUNCTION>
915             <FUNCTION>trimr</FUNCTION>
916             <FUNCTION>upper-case</FUNCTION>
917
918             <!-- clojure.test -->
919             <FUNCTION>are</FUNCTION>
920             <FUNCTION>assert-any</FUNCTION>
921             <FUNCTION>assert-expr</FUNCTION>
922             <FUNCTION>assert-predicate</FUNCTION>
923             <FUNCTION>compose-fixtures</FUNCTION>
924             <FUNCTION>is</FUNCTION>
925             <FUNCTION>join-fixtures</FUNCTION>
926             <FUNCTION>testing</FUNCTION>
927             <FUNCTION>try-expr</FUNCTION>
928             <FUNCTION>use-fixtures</FUNCTION>
929
930             <!-- clojure.walk -->
931             <FUNCTION>keywordize-keys</FUNCTION>
932             <FUNCTION>macroexpand-all</FUNCTION>
933             <FUNCTION>postwalk</FUNCTION>
934             <FUNCTION>postwalk-demo</FUNCTION>
935             <FUNCTION>postwalk-replace</FUNCTION>
936             <FUNCTION>prewalk</FUNCTION>
937             <FUNCTION>prewalk-demo</FUNCTION>
938             <FUNCTION>prewalk-replace</FUNCTION>
939             <FUNCTION>stringify-keys</FUNCTION>
940             <FUNCTION>walk</FUNCTION>
941
942             <!-- clojure.xml -->
943             <FUNCTION>attrs</FUNCTION>
944             <FUNCTION>content</FUNCTION>
945             <FUNCTION>content-handler</FUNCTION>
946             <FUNCTION>element</FUNCTION>
947             <FUNCTION>emit</FUNCTION>
948             <FUNCTION>emit-element</FUNCTION>
949             <FUNCTION>parse</FUNCTION>
950             <FUNCTION>startparse-sax</FUNCTION>
951             <FUNCTION>tag</FUNCTION>
952
953             <!-- clojure.zip -->
954             <FUNCTION>append-child</FUNCTION>
955             <FUNCTION>children</FUNCTION>
956             <FUNCTION>down</FUNCTION>
957             <FUNCTION>edit</FUNCTION>
958             <FUNCTION>insert-child</FUNCTION>
959             <FUNCTION>insert-left</FUNCTION>
960             <FUNCTION>insert-right</FUNCTION>
961             <FUNCTION>left</FUNCTION>
962             <FUNCTION>leftmost</FUNCTION>
963             <FUNCTION>lefts</FUNCTION>
964             <FUNCTION>make-node</FUNCTION>
965             <FUNCTION>next</FUNCTION>
966             <FUNCTION>node</FUNCTION>
967             <FUNCTION>path</FUNCTION>
968             <FUNCTION>prev</FUNCTION>
969             <FUNCTION>remove</FUNCTION>
970             <FUNCTION>replace</FUNCTION>
971             <FUNCTION>right</FUNCTION>
972             <FUNCTION>rightmost</FUNCTION>
973             <FUNCTION>rights</FUNCTION>
974             <FUNCTION>root</FUNCTION>
975             <FUNCTION>seq-zip</FUNCTION>
976             <FUNCTION>up</FUNCTION>
977             <FUNCTION>vector-zip</FUNCTION>
978             <FUNCTION>xml-zip</FUNCTION>
979             <FUNCTION>zipper</FUNCTION>
980
981             <!--
982                     LITERAL3: Predicates
983              -->
984
985             <!-- Predicates -->
986             <LITERAL3>associative?</LITERAL3>
987             <LITERAL3>atom?</LITERAL3>
988             <LITERAL3>blank?</LITERAL3>
989             <LITERAL3>bound?</LITERAL3>
990             <LITERAL3>branch?</LITERAL3>
991             <LITERAL3>char?</LITERAL3>
992             <LITERAL3>class?</LITERAL3>
993             <LITERAL3>contains?</LITERAL3>
994             <LITERAL3>counted?</LITERAL3>
995             <LITERAL3>decimal?</LITERAL3>
996             <LITERAL3>delay?</LITERAL3>
997             <LITERAL3>distinct?</LITERAL3>
998             <LITERAL3>empty?</LITERAL3>
999             <LITERAL3>end?</LITERAL3>
1000             <LITERAL3>even?</LITERAL3>
1001             <LITERAL3>every?</LITERAL3>
1002             <LITERAL3>false?</LITERAL3>
1003             <LITERAL3>float?</LITERAL3>
1004             <LITERAL3>fn?</LITERAL3>
1005             <LITERAL3>function?</LITERAL3>
1006             <LITERAL3>future?</LITERAL3>
1007             <LITERAL3>future-cancelled?</LITERAL3>
1008             <LITERAL3>future-done?</LITERAL3>
1009             <LITERAL3>extends?</LITERAL3>
1010             <LITERAL3>identical?</LITERAL3>
1011             <LITERAL3>ifn?</LITERAL3>
1012             <LITERAL3>instance?</LITERAL3>
1013             <LITERAL3>integer?</LITERAL3>
1014             <LITERAL3>isa?</LITERAL3>
1015             <LITERAL3>keyword?</LITERAL3>
1016             <LITERAL3>list?</LITERAL3>
1017             <LITERAL3>map?</LITERAL3>
1018             <LITERAL3>neg?</LITERAL3>
1019             <LITERAL3>nil?</LITERAL3>
1020             <LITERAL3>not-any?</LITERAL3>
1021             <LITERAL3>not-empty</LITERAL3>
1022             <LITERAL3>not-every?</LITERAL3>
1023             <LITERAL3>number?</LITERAL3>
1024             <LITERAL3>odd?</LITERAL3>
1025             <LITERAL3>pos?</LITERAL3>
1026             <LITERAL3>ratio?</LITERAL3>
1027             <LITERAL3>rational?</LITERAL3>
1028             <LITERAL3>realized?</LITERAL3>
1029             <LITERAL3>record?</LITERAL3>
1030             <LITERAL3>reduced?</LITERAL3>
1031             <LITERAL3>reversible?</LITERAL3>
1032             <LITERAL3>satisfies?</LITERAL3>
1033             <LITERAL3>seq?</LITERAL3>
1034             <LITERAL3>sequential?</LITERAL3>
1035             <LITERAL3>set?</LITERAL3>
1036             <LITERAL3>some?</LITERAL3>
1037             <LITERAL3>sorted?</LITERAL3>
1038             <LITERAL3>string?</LITERAL3>
1039             <LITERAL3>subset?</LITERAL3>
1040             <LITERAL3>successful?</LITERAL3>
1041             <LITERAL3>superset?</LITERAL3>
1042             <LITERAL3>symbol?</LITERAL3>
1043             <LITERAL3>true?</LITERAL3>
1044             <LITERAL3>var?</LITERAL3>
1045             <LITERAL3>vector?</LITERAL3>
1046             <LITERAL3>zero?</LITERAL3>
1047
1048             <!-- also quot which matches ' symbol defined above as LITERAL3 -->
1049             <LITERAL3>quot</LITERAL3>
1050
1051             <!--
1052                     LITERAL4: Simple literals
1053              -->
1054
1055             <LITERAL4>nil</LITERAL4>
1056
1057             <LITERAL4>true</LITERAL4>
1058             <LITERAL4>false</LITERAL4>
1059
1060             <!--
1061                     OPERATOR: Operators
1062              -->
1063
1064             <OPERATOR>+</OPERATOR>
1065             <OPERATOR>+'</OPERATOR>
1066             <OPERATOR>-</OPERATOR>
1067             <OPERATOR>-'</OPERATOR>
1068             <OPERATOR>=</OPERATOR>
1069             <OPERATOR>==</OPERATOR>
1070             <OPERATOR>as-&gt;</OPERATOR>
1071             <OPERATOR>-&gt;</OPERATOR>
1072             <OPERATOR>-&gt;&gt;</OPERATOR>
1073             <OPERATOR>&gt;=</OPERATOR>
1074             <OPERATOR>&gt;</OPERATOR>
1075             <OPERATOR>&lt;=</OPERATOR>
1076             <OPERATOR>&lt;</OPERATOR>
1077             <OPERATOR>/</OPERATOR>
1078             <OPERATOR>*</OPERATOR>
1079             <OPERATOR>*'</OPERATOR>
1080             <OPERATOR>%</OPERATOR>
1081             <OPERATOR>and</OPERATOR>
1082             <OPERATOR>or</OPERATOR>
1083             <OPERATOR>inc</OPERATOR>
1084             <OPERATOR>inc'</OPERATOR>
1085             <OPERATOR>dec</OPERATOR>
1086             <OPERATOR>dec'</OPERATOR>
1087             <OPERATOR>mod</OPERATOR>
1088             <OPERATOR>not</OPERATOR>
1089             <OPERATOR>not=</OPERATOR>
1090             <OPERATOR>rem</OPERATOR>
1091             <OPERATOR>bit-and</OPERATOR>
1092             <OPERATOR>bit-and-not</OPERATOR>
1093             <OPERATOR>bit-clear</OPERATOR>
1094             <OPERATOR>bit-flip</OPERATOR>
1095             <OPERATOR>bit-or</OPERATOR>
1096             <OPERATOR>bit-not</OPERATOR>
1097             <OPERATOR>bit-set</OPERATOR>
1098             <OPERATOR>bit-shift-right</OPERATOR>
1099             <OPERATOR>bit-shift-left</OPERATOR>
1100             <OPERATOR>bit-test</OPERATOR>
1101             <OPERATOR>bit-xor</OPERATOR>
1102         </KEYWORDS>
1103     </RULES>
1104
1105     <RULES  SET="STRINGS"
1106             HIGHLIGHT_DIGITS="FALSE"
1107             DEFAULT="LITERAL1"
1108             IGNORE_CASE="TRUE">
1109         <SEQ_REGEXP
1110             HASH_CHAR="\"
1111             AT_WORD_START="FALSE"
1112             TYPE="LABEL">\\.</SEQ_REGEXP>
1113         <KEYWORDS>
1114             <INVALID>&quot;</INVALID>
1115         </KEYWORDS>
1116     </RULES>
1117
1118     <RULES  SET="REGEXPS"
1119             HIGHLIGHT_DIGITS="FALSE"
1120             DEFAULT="LITERAL1"
1121             IGNORE_CASE="TRUE">
1122         <!-- TODO: Put actual regexp syntax hilighting -->
1123         <SEQ_REGEXP
1124             HASH_CHAR="\"
1125             AT_WORD_START="FALSE"
1126             TYPE="LABEL">\\.</SEQ_REGEXP>
1127         <KEYWORDS>
1128             <INVALID>&quot;</INVALID>
1129         </KEYWORDS>
1130     </RULES>
1131 </MODE>
1132