diff options
-rw-r--r-- | share/txr/stdlib/doc-syms.tl | 249 | ||||
-rw-r--r-- | txr.1 | 155 |
2 files changed, 280 insertions, 124 deletions
diff --git a/share/txr/stdlib/doc-syms.tl b/share/txr/stdlib/doc-syms.tl index 0a24d8bd..1b9eb503 100644 --- a/share/txr/stdlib/doc-syms.tl +++ b/share/txr/stdlib/doc-syms.tl @@ -55,8 +55,8 @@ ("*tree-fun-whitelist*" "N-025AB9C9") ("*unhandled-hook*" "N-02B4A4FB") ("*v" "N-0367AE5A") - ("+" "D-007B") - ("-" "D-0009") + ("+" "D-0044") + ("-" "D-004A") ("--" "N-0234C408") ("--args" "N-03FCDE42") ("--eargs" "N-03FCDE42") @@ -70,29 +70,29 @@ ("-rng+" "N-00BEA6DF") ("-rng-" "N-00BEA6DF") (".." "N-0217A971") - ("..." "D-005E") - ("/" "D-0007") + ("..." "D-0034") + ("/" "D-0049") ("//" "N-0054C409") ("/=" "N-003BE40C") (":key" "N-01697547") (":match" "N-03B92C0D") - ("<" "D-0021") + ("<" "D-0057") ("<!" "N-02B10DF9") ("<-" "N-02B10DF9") - ("<=" "D-0039") - ("=" "D-0069") - (">" "D-0036") - (">=" "D-001A") + ("<=" "D-001E") + ("=" "D-0077") + (">" "D-0060") + (">=" "D-0053") ("TXR_COMPAT" "N-03F5D03D") ("abort" "N-02F934F6") - ("abs" "D-0031") + ("abs" "D-0017") ("abs-path-p" "N-00477B23") - ("accept" "D-007A") + ("accept" "D-0043") ("acons" "N-02E9343D") ("acons-new" "N-0371BAFA") ("aconsql-new" "N-01E315BD") - ("acos" "D-004A") - ("acosh" "D-0077") + ("acos" "D-0028") + ("acosh" "D-0041") ("add" "N-03244398") ("add*" "N-03244398") ("addrinfo" "N-0110E961") @@ -112,10 +112,10 @@ ("alignof" "N-000F730E") ("alist-nremove" "N-000CD07F") ("alist-remove" "N-001A53C4") - ("all" "D-001B") + ("all" "D-0054") ("all*" "N-00F6E2A2") ("allocate-struct" "N-03168BF2") - ("and" "D-0048") + ("and" "D-0068") ("andf" "N-01E7D2AD") ("ap" "N-00BE749A") ("apf" "N-012A7E6A") @@ -133,20 +133,20 @@ ("array" "N-0117BE95") ("arraysize" "N-002129D6") ("as" "N-028B26DD") - ("ash" "D-003C") - ("asin" "D-0071") - ("asinh" "D-0005") - ("assert" "D-002D") + ("ash" "D-0063") + ("asin" "D-003C") + ("asinh" "D-0004") + ("assert" "D-005F") ("assoc" "N-00E9306D") ("assq" "N-00123702") ("assql" "N-00123702") ("at-exit-call" "N-003EEEF5") ("at-exit-do-not-call" "N-003EEEF5") - ("atan" "D-0011") - ("atan2" "D-0015") - ("atanh" "D-0043") + ("atan" "D-0050") + ("atan2" "D-000A") + ("atanh" "D-0024") ("atom" "N-0076C7BE") - ("awk" "D-0024") + ("awk" "D-0058") ("base-name" "N-02C01721") ("base64-decode" "N-01B05083") ("base64-decode-buf" "N-01B05083") @@ -161,15 +161,15 @@ ("bchar" "N-0008D7DC") ("bignum-len" "N-020294AB") ("bignump" "N-03E9D6E1") - ("bind" "D-0056") + ("bind" "D-006D") ("bindable" "N-0222F2E3") - ("bit" "D-000C") - ("bitset" "D-0066") + ("bit" "D-004C") + ("bitset" "D-0037") ("blkcnt-t" "N-01D716FE") ("blksize-t" "N-01D716FE") - ("block" "D-0059") + ("block" "D-006F") ("block*" "N-02F60DCE") - ("bool" "D-004D") + ("bool" "D-002C") ("boundp" "N-01FBF828") ("bracket" "N-02400F97") ("break-str" "N-00A9DB25") @@ -179,10 +179,10 @@ ("bsdly" "N-03BD477F") ("bstr" "N-00C6B7C4") ("bstr-d" "N-00C6B7C4") - ("buf" "D-002B") + ("buf" "D-005E") ("buf-alloc-size" "N-013A3727") ("buf-carray" "N-0022F54E") - ("buf-d" "D-002C") + ("buf-d" "D-0014") ("buf-get-" "N-0095470A") ("buf-get-char" "N-03E9074A") ("buf-get-cptr" "N-00E90766") @@ -246,7 +246,7 @@ ("call-super-method" "N-016185D1") ("call-update-expander" "N-03B6BCE9") ("callf" "N-00192C21") - ("car" "D-0042") + ("car" "D-0023") ("carray" "N-0139F9ED") ("carray-blank" "N-00DD8DF1") ("carray-buf" "N-00D75AD6") @@ -282,7 +282,7 @@ ("cat-str" "N-00B6ACE3") ("cat-streams" "N-020BF082") ("cat-vec" "N-01AEB28B") - ("catch" "D-0022") + ("catch" "D-0011") ("catch*" "N-0211F3D3") ("catch**" "N-0211F3D3") ("catch-frame" "N-0233BAE3") @@ -293,8 +293,8 @@ ("cdar" "N-00209CEE") ("cdddddr" "N-00209CEE") ("cddr" "N-00209CEE") - ("cdr" "D-0068") - ("ceil" "D-0070") + ("cdr" "D-0076") + ("ceil" "D-007B") ("ceil-rem" "N-02DE978F") ("ceil1" "N-02C8FF28") ("chain" "N-00C53CF7") @@ -332,7 +332,7 @@ ("clamp" "N-03B940D4") ("clear-cflags" "N-02061924") ("clear-dirty" "N-03AB857D") - ("clear-error" "D-0017") + ("clear-error" "D-000C") ("clear-iflags" "N-02061924") ("clear-lflags" "N-02061924") ("clear-oflags" "N-02061924") @@ -341,7 +341,7 @@ ("clocal" "N-01B1B5DF") ("clock-t" "N-03258244") ("clockid-t" "N-01D716FE") - ("close" "D-002F") + ("close" "D-0016") ("close-stream" "N-00596930") ("closedir" "N-01FEE88A") ("closelog" "N-02CEE7EA") @@ -349,8 +349,8 @@ ("cmp-str" "N-0143A273") ("cmspar" "N-01B1B5DF") ("coded-length" "N-0167F423") - ("coll" "D-0025") - ("collect" "D-0054") + ("coll" "D-0059") + ("collect" "D-002F") ("collect-each" "N-0105F01D") ("collect-each*" "N-0105F01D") ("collect-each-prod" "N-02CA3C70") @@ -401,14 +401,14 @@ ("copy-tree" "N-015EB85E") ("copy-tree-iter" "N-025C3140") ("copy-vec" "N-010E7635") - ("cos" "D-0041") - ("cosh" "D-007D") + ("cos" "D-0021") + ("cosh" "D-007E") ("count-if" "N-00BBC726") ("count-until-match" "N-00EFD668") ("countq" "N-01DF131F") ("countql" "N-01DF131F") ("countqual" "N-01DF131F") - ("cptr" "D-0026") + ("cptr" "D-0013") ("cptr-buf" "N-037139E3") ("cptr-cast" "N-01A212ED") ("cptr-free" "N-02B1FBEF") @@ -442,7 +442,7 @@ ("data" "N-03B6EA7D") ("dec" "N-03A0AABD") ("defer-warning" "N-001106AB") - ("defex" "D-002A") + ("defex" "D-005D") ("deffi" "N-00DCE51D") ("deffi-cb" "N-00C54FC8") ("deffi-cb-unsafe" "N-00C54FC8") @@ -468,7 +468,7 @@ ("defun-match" "N-02BF0F8C") ("defvar" "N-039DD0E7") ("defvarl" "N-03F36A75") - ("del" "D-0040") + ("del" "D-0022") ("del*" "N-0166445C") ("delay" "N-00DCE524") ("delete-package" "N-02E687F3") @@ -489,7 +489,7 @@ ("dlsym-checked" "N-029063A0") ("dlvsym" "N-01B1E865") ("dlvsym-checked" "N-029063A0") - ("do" "D-0060") + ("do" "D-0071") ("doc" "N-0097F54C") ("dohash" "N-039105E8") ("doloop" "N-01FF4DDB") @@ -512,7 +512,7 @@ ("dump-deferred-warnings" "N-0335651E") ("dup" "N-0387F549") ("dupfd" "N-01F91AEF") - ("dwim" "D-003D") + ("dwim" "D-001F") ("e2big" "N-036B1BDB") ("eacces" "N-036B1BDB") ("each" "N-0105F01D") @@ -559,7 +559,7 @@ ("eisconn" "N-036B1BDB") ("eisdir" "N-036B1BDB") ("elemsize" "N-01D55CC4") - ("elemtype" "D-000D") + ("elemtype" "D-0006") ("eloop" "N-036B1BDB") ("emfile" "N-036B1BDB") ("emlink" "N-036B1BDB") @@ -618,7 +618,7 @@ ("eprototype" "N-036B1BDB") ("eq" "N-02550B35") ("eql" "N-02550B35") - ("equal" "D-006D") + ("equal" "D-0079") ("equot" "N-02ACCDDF") ("erange" "N-036B1BDB") ("erofs" "N-036B1BDB") @@ -632,7 +632,7 @@ ("etxtbsy" "N-036B1BDB") ("eval" "N-0286C8B8") ("eval-only" "N-030BF4F5") - ("evenp" "D-0035") + ("evenp" "D-001C") ("ewouldblock" "N-036B1BDB") ("exception-subtype-map" "N-03ABFA6D") ("exception-subtype-p" "N-02E7F869") @@ -640,13 +640,13 @@ ("exec" "N-02D6C913") ("exit" "N-0006C92F") ("exit*" "N-03592671") - ("exp" "D-005F") + ("exp" "D-0035") ("expand" "N-00E0F5F5") ("expand-left" "N-00E168FE") ("expand-right" "N-023B6B64") ("expand-with-free-refs" "N-0334827B") - ("expt" "D-0065") - ("exptmod" "D-0063") + ("expt" "D-0075") + ("exptmod" "D-0036") ("extproc" "N-0072FF5E") ("f" "N-003BDFA9") ("f$" "N-000B5ACD") @@ -706,7 +706,7 @@ ("file-put-lines" "N-0041C2E5") ("file-put-string" "N-0041C2E5") ("fileno" "N-008ACF75") - ("fill-buf" "D-0046") + ("fill-buf" "D-0026") ("fill-buf-adjust" "N-00D142E1") ("fill-carray" "N-00737951") ("fill-obj" "N-0039A1D1") @@ -714,7 +714,7 @@ ("filter-equal" "N-03136087") ("filter-string-tree" "N-00C9EEB0") ("finalize" "N-01230613") - ("finally" "D-006B") + ("finally" "D-0078") ("find" "N-005431FF") ("find-frame" "N-02B97226") ("find-frames" "N-02B97226") @@ -731,7 +731,7 @@ ("fixnump" "N-03E9D6E1") ("flatcar" "N-01FF2F12") ("flatcar*" "N-01FF2F12") - ("flatten" "D-0019") + ("flatten" "D-000D") ("flatten*" "N-0226672B") ("flet" "N-0209307D") ("flip" "N-0042153F") @@ -752,7 +752,7 @@ ("float" "N-03237030") ("floatp" "N-03E9D6E1") ("flock" "N-004E5B3E") - ("floor" "D-004B") + ("floor" "D-0029") ("floor-rem" "N-02DE978F") ("floor1" "N-01ED20D1") ("flush" "N-02390935") @@ -817,7 +817,7 @@ ("functionp" "N-00F6F5F8") ("fuzz" "N-03CAE17D") ("fw" "N-0357AE6F") - ("gather" "D-004C") + ("gather" "D-002A") ("gcd" "N-03D44645") ("gen" "N-0323BEBD") ("gen-hash-seed" "N-002CFA72") @@ -826,16 +826,16 @@ ("gequal" "N-00A3E42D") ("get" "N-03D9F55D") ("get-buf-from-stream" "N-02954B48") - ("get-byte" "D-003A") - ("get-char" "D-003F") - ("get-error" "D-005A") - ("get-error-str" "D-0020") + ("get-byte" "D-0062") + ("get-char" "D-0065") + ("get-error" "D-0032") + ("get-error-str" "D-0010") ("get-fd" "N-011D42AB") ("get-frames" "N-010405DA") ("get-hash-userdata" "N-030B41A7") ("get-indent" "N-024E9FD8") ("get-indent-mode" "N-03F3170C") - ("get-line" "D-0030") + ("get-line" "D-0018") ("get-line-as-buf" "N-007FD2F9") ("get-lines" "N-00B65D06") ("get-list-from-stream" "N-021DF087") @@ -938,7 +938,7 @@ ("identity*" "N-004834CC") ("ido." "N-00BE749A") ("iexten" "N-0072FF5E") - ("if" "D-0038") + ("if" "D-001D") ("if-match" "N-00CFBF5E") ("ifa" "N-018F39B0") ("iff" "N-000E3A74") @@ -952,7 +952,7 @@ ("imaxbel" "N-02391683") ("improper-plist-to-alist" "N-006E31B5") ("in" "N-016BE41C") - ("in-package" "D-0061") + ("in-package" "D-0072") ("in-range" "N-02C56FB6") ("in-range*" "N-02C56FB6") ("in6addr-any" "N-026A2C3B") @@ -997,13 +997,13 @@ ("isatty" "N-03709E8A") ("isec" "N-0385B074") ("isig" "N-0072FF5E") - ("isqrt" "D-0067") + ("isqrt" "D-0038") ("istrip" "N-02391683") - ("iter-begin" "D-0050") - ("iter-item" "D-0008") - ("iter-more" "D-0072") - ("iter-reset" "D-003E") - ("iter-step" "D-005D") + ("iter-begin" "D-002D") + ("iter-item" "D-0005") + ("iter-more" "D-003D") + ("iter-reset" "D-0020") + ("iter-step" "D-0070") ("iterable" "N-01156AE3") ("itimer-prof" "N-02B7882A") ("itimer-real" "N-02B7882A") @@ -1015,6 +1015,7 @@ ("ixon" "N-02391683") ("join" "N-00B6ACE3") ("join-with" "N-00B6ACE3") + ("json" "N-0222106A") ("juxt" "N-0106CD7F") ("keep-if" "N-01413802") ("keep-if*" "N-01413802") @@ -1031,10 +1032,10 @@ ("kill" "N-0386CCD5") ("krs" "N-02D33A4D") ("labels" "N-0209307D") - ("lambda" "D-004E") + ("lambda" "D-002B") ("lambda-match" "N-031E43FF") ("lambda-set" "N-02FEBA97") - ("last" "D-0079") + ("last" "D-0042") ("lazy-str" "N-02AFF63D") ("lazy-str-force" "N-03269DEF") ("lazy-str-force-upto" "N-0212FED6") @@ -1052,7 +1053,7 @@ ("ldo" "N-03EF3A27") ("left" "N-020D5C1D") ("len" "N-03AD172A") - ("length" "D-0006") + ("length" "D-0048") ("length-buf" "N-0026D89A") ("length-carray" "N-03FF97BD") ("length-list" "N-01F8186A") @@ -1084,9 +1085,9 @@ ("lnew*" "N-021E6FDC") ("load" "D-007F") ("load-for" "N-0020A085") - ("load-time" "D-0003") + ("load-time" "D-0047") ("loff-t" "N-01D716FE") - ("log" "D-007E") + ("log" "D-0046") ("log-alert" "N-035D75EC") ("log-auth" "N-0116F48F") ("log-authpriv" "N-0116F48F") @@ -1105,15 +1106,15 @@ ("log-pid" "N-02371913") ("log-user" "N-0116F48F") ("log-warning" "N-035D75EC") - ("log10" "D-0014") - ("log2" "D-0062") - ("logand" "D-001C") - ("logcount" "D-006C") - ("logior" "D-000A") - ("lognot" "D-0023") + ("log10" "D-0051") + ("log2" "D-0073") + ("logand" "D-000E") + ("logcount" "D-003A") + ("logior" "D-004B") + ("lognot" "D-0012") ("lognot1" "N-019541E2") ("logtest" "N-00B1548A") - ("logtrunc" "D-0064") + ("logtrunc" "D-0074") ("logxor" "N-02D5AF97") ("long" "N-018C7C8C") ("longlong" "N-02299408") @@ -1201,14 +1202,14 @@ ("meq" "N-020A0042") ("meql" "N-020A0042") ("mequal" "N-020A0042") - ("merge" "D-0027") + ("merge" "D-005A") ("merge-delete-package" "N-0160EA2C") ("meth" "N-02C216C3") ("method" "N-022200C1") ("mf" "N-036B6E55") ("min" "N-023C3643") ("minor" "N-02F0F482") - ("minusp" "D-0010") + ("minusp" "D-004F") ("mismatch" "N-03164F4F") ("mkdir" "N-00C543B8") ("mkfifo" "N-0091FD43") @@ -1216,7 +1217,7 @@ ("mkstring" "N-033DD796") ("mlet" "N-008216E0") ("mmakunbound" "N-02964FC0") - ("mod" "D-0075") + ("mod" "D-003F") ("mode-t" "N-01D716FE") ("multi" "N-034946BA") ("multi-sort" "N-0132852F") @@ -1233,7 +1234,7 @@ ("new" "N-0230059D") ("new*" "N-021E6FDC") ("nexpand-left" "N-00E168FE") - ("next" "D-0055") + ("next" "D-006C") ("next-file" "N-00839D2F") ("nf" "N-0267AE6D") ("nil" "N-015134D8") @@ -1244,8 +1245,8 @@ ("nldly" "N-03BD477F") ("nlink-t" "N-01D716FE") ("noflsh" "N-0072FF5E") - ("none" "D-0053") - ("not" "D-004F") + ("none" "D-006B") + ("not" "D-0069") ("notf" "N-0026CE18") ("nr" "N-03A7AE6D") ("nreconc" "N-012FF2DC") @@ -1256,7 +1257,7 @@ ("nthcdr" "N-03D71D22") ("nthlast" "N-02FC66FA") ("null" "N-03C679D2") - ("nullify" "D-0012") + ("nullify" "D-0008") ("num-str" "N-028043AE") ("numberp" "N-03E9D6E1") ("nzerop" "N-0197FF9D") @@ -1283,7 +1284,7 @@ ("obtain*-block" "N-0102F0EB") ("obtain-block" "N-01C791D0") ("ocrnl" "N-03BD477F") - ("oddp" "D-006A") + ("oddp" "D-0039") ("ofdel" "N-03BD477F") ("off-t" "N-01D716FE") ("offsetof" "N-013D0A5C") @@ -1312,7 +1313,7 @@ ("opt-desc" "N-03FC5092") ("opthelp" "N-016C6171") ("opts" "N-01D911E8") - ("or" "D-0033") + ("or" "D-001A") ("orec" "N-0003ED2C") ("orf" "N-01E7D2AD") ("ors" "N-02D33A3D") @@ -1368,7 +1369,7 @@ ("placelet" "N-0393C970") ("placelet*" "N-0393C970") ("plist-to-alist" "N-006E31B5") - ("plusp" "D-0047") + ("plusp" "D-0067") ("poll" "N-0386D39D") ("poly" "N-026201AD") ("pop" "N-017F39D2") @@ -1387,7 +1388,7 @@ ("pprof" "N-018C92AB") ("pred" "N-038E636C") ("prinl" "N-02FCCE0D") - ("print" "D-007C") + ("print" "D-0045") ("prn" "N-01E7F5F7") ("prod" "N-0163FFE2") ("prof" "N-004C9B10") @@ -1412,18 +1413,18 @@ ("push" "N-01C211C1") ("pushhash" "N-022660B2") ("pushnew" "N-02C37AB0") - ("put-buf" "D-0078") - ("put-byte" "D-0052") + ("put-buf" "D-007D") + ("put-byte" "D-002E") ("put-carray" "N-00737951") - ("put-char" "D-0004") + ("put-char" "D-0003") ("put-line" "N-012163C3") ("put-lines" "N-0367B282") ("put-obj" "N-025DB229") - ("put-string" "D-006E") + ("put-string" "D-007A") ("put-strings" "N-0367B282") ("pwd" "N-0047F5F6") ("qquote" "N-01665185") - ("qref" "D-0057") + ("qref" "D-006E") ("quip" "N-03C6D422") ("quote" "N-0163F998") ("r$" "N-03BBB0C5") @@ -1494,8 +1495,8 @@ ("remqual" "N-000ECD82") ("remqual*" "N-00B85CD2") ("rename-path" "N-016EF40C") - ("rep" "D-000E") - ("repeat" "D-0051") + ("rep" "D-004E") + ("repeat" "D-006A") ("replace" "N-035991E1") ("replace-buf" "N-01C59E4E") ("replace-list" "N-03E43DA2") @@ -1503,7 +1504,7 @@ ("replace-struct" "N-01A8343B") ("replace-tree-iter" "N-01225FF3") ("replace-vec" "N-01F59E62") - ("require" "D-0074") + ("require" "D-007C") ("reset-struct" "N-002A609F") ("rest" "N-02288559") ("ret" "N-033F39EF") @@ -1536,8 +1537,8 @@ ("round-rem" "N-02DE978F") ("round1" "N-03EA1351") ("rperm" "N-0188EBDE") - ("rplaca" "D-000B") - ("rplacd" "D-0013") + ("rplaca" "D-004D") + ("rplacd" "D-0009") ("rpoly" "N-026201AD") ("rpos" "N-01F68300") ("rpos-if" "N-01F68300") @@ -1582,7 +1583,7 @@ ("seq-next" "N-02E3D643") ("seq-reset" "N-01CA6912") ("seqp" "N-03C6CAE0") - ("set" "D-002E") + ("set" "D-0015") ("set-cflags" "N-02061924") ("set-hash-userdata" "N-030B40A7") ("set-iflags" "N-02061924") @@ -1660,10 +1661,10 @@ ("sig-winch" "N-0176430F") ("sig-xcpu" "N-0176430F") ("sig-xfsz" "N-0176430F") - ("sign-extend" "D-0058") - ("signum" "D-001E") - ("sin" "D-0018") - ("sinh" "D-0044") + ("sign-extend" "D-0030") + ("signum" "D-000F") + ("sin" "D-000B") + ("sinh" "D-0066") ("sixth" "N-01B0FA33") ("size-t" "N-03258244") ("size-vec" "N-01000634") @@ -1692,7 +1693,7 @@ ("sockaddr-in" "N-01DD05D9") ("sockaddr-in6" "N-013DD169") ("sockaddr-un" "N-01DD05D2") - ("some" "D-0076") + ("some" "D-0040") ("sort" "N-01FE5176") ("sort-group" "N-01E65DDC") ("source-loc" "N-0370CD69") @@ -1706,14 +1707,14 @@ ("split*" "N-02FD4882") ("split-str" "N-000386B4") ("split-str-set" "N-0296195B") - ("sqrt" "D-0049") - ("square" "D-005B") + ("sqrt" "D-0027") + ("square" "D-0031") ("ssize-t" "N-01D716FE") ("sspl" "N-0296195B") ("sssucc" "N-038E636C") ("ssucc" "N-038E636C") ("starts-with" "N-004955D4") - ("stat" "D-0028") + ("stat" "D-005B") ("static-slot" "N-02C47D17") ("static-slot-ensure" "N-02E71F31") ("static-slot-home" "N-01F88B0D") @@ -1744,7 +1745,7 @@ ("string-lt" "N-03ABBED1") ("stringp" "N-00BB392B") ("strsignal" "N-00234BED") - ("struct" "D-0034") + ("struct" "D-001B") ("struct-from-args" "N-01515451") ("struct-from-plist" "N-01515451") ("struct-get-initfun" "N-03946F2A") @@ -1795,8 +1796,8 @@ ("take" "N-00F6D433") ("take-until" "N-01E42C4C") ("take-while" "N-01E42C4C") - ("tan" "D-006F") - ("tanh" "D-0037") + ("tan" "D-003B") + ("tanh" "D-0061") ("tb" "N-02AB6E53") ("tc" "N-029B6E53") ("tcdrain" "N-01AC4760") @@ -1828,14 +1829,14 @@ ("test-set-indent-mode" "N-01A1F89C") ("tf" "N-032070EB") ("third" "N-01B0FA33") - ("throw" "D-0016") + ("throw" "D-0052") ("throwf" "N-015466AD") - ("time" "D-005C") + ("time" "D-0033") ("time-fields-local" "N-00789418") ("time-fields-utc" "N-00789418") ("time-local" "N-001284ED") ("time-nsec" "N-03B6DB3D") - ("time-parse" "D-003B") + ("time-parse" "D-0064") ("time-parse-local" "N-00207C99") ("time-parse-utc" "N-00207C99") ("time-string" "N-007B1819") @@ -1862,7 +1863,7 @@ ("touch" "N-0038DD42") ("tprint" "N-0217DE45") ("trace" "N-02833733") - ("trailer" "D-001F") + ("trailer" "D-0056") ("transpose" "N-03AA85AD") ("tree" "N-02F6D50B") ("tree-begin" "N-02887FCA") @@ -1890,7 +1891,7 @@ ("trim-right" "N-00CF29CC") ("trim-str" "N-00E6E63B") ("true" "N-00373D97") - ("trunc" "D-0029") + ("trunc" "D-005C") ("trunc-rem" "N-02DE978F") ("trunc1" "N-02E91F51") ("truncate" "N-0032FBF3") @@ -1924,8 +1925,8 @@ ("umeth" "N-02ECA31C") ("umethod" "N-000BCBC5") ("uname" "N-0308D954") - ("unget-byte" "D-000F") - ("unget-char" "D-001D") + ("unget-byte" "D-0007") + ("unget-char" "D-0055") ("uni" "N-0385B074") ("unintern" "N-01B6BFC2") ("union" "N-01C78B86") @@ -1939,7 +1940,7 @@ ("unless" "N-017EFAB6") ("unquote" "N-036B313D") ("unsetenv" "N-002E0364") - ("until" "D-0045") + ("until" "D-0025") ("until*" "N-01F7BF0B") ("untrace" "N-02833733") ("unuse-package" "N-024BF63F") @@ -2010,7 +2011,7 @@ ("while" "N-01026F48") ("while*" "N-01F7BF0B") ("whilet" "N-0154DC75") - ("width" "D-0032") + ("width" "D-0019") ("width-check" "N-01A9EA49") ("window-map" "N-015AFD48") ("window-mapdo" "N-015AFD48") @@ -2045,6 +2046,6 @@ ("zarray" "N-017039ED") ("zchar" "N-0008D7DC") ("zero-fill" "N-016D3BB5") - ("zerop" "D-0073") + ("zerop" "D-003E") ("zip" "N-03AA85AD") ("znew" "N-00B1FC38")))) @@ -12341,6 +12341,125 @@ syntax, either explicitly or as defaults. Then, every object is constructed from its respective literal syntax and inserted into the tree. +.NP* JSON Literals +.meIP >> #J json-syntax +Introduces a JSON literal. +.meIP >> #J^ json-syntax +Introduces a JSON quasiliteral, allowing unquoting and splicing of Lisp expressions. + +The implementation of JSON syntax is based on, and intended to conform with +the IETF RFC8259 document. Only \*(TX's extensions to JSON syntax are described +in this manual, as well as the correspondence between JSON syntax and Lisp. + +The +.meta json-syntax +is translated into a \*(TL object as follows. + +A JSON string corresponds to a Lisp string. A JSON number corresponds to a +Lisp floating-point number. A JSON array corresponds to a Lisp vector. +A JSON object corresponds to an +.codn equal -based +hash table. + +The JSON symbols +.code true +and +.code false +translate to the Lisp symbols +.code t +and +.codn nil , +respectively. + +The +.mono +.meti >> #J json-syntax +.onom +expression produces the object: + +.mono +.mets (json quote << lisp-object ) +.onom + +where +.meta lisp-object +is the Lisp value which corresponds to the +.metn json-syntax . + +Similarly, but with a key difference, the +.mono +.meti >> #J^ json-syntax +.onom +expression produces the object: + +.mono +.mets (json sys:qquote << lisp-object ) +.onom + +in which +.code quote +has been replaced with +.codn sys:qquote . + +The +.code json +symbol is bound as a macro, which is expanded when a +.code #J +expression is evaluated. + +\*(TL allows the circle notation to occur within JSON syntax. See the section +Notation for Circular and Shared Structure. + +\*(TL allows for JSON syntax to be quasiquoted, and provides two extensions +for writing unquotes and splicing unquotes. Within a JSON quasiquote, the +.code ~ +(tilde) character introduces a Lisp expression whose value is to be substituted +at that point. Thus, the tilde serves the role of the unquoting comma used +in Lisp quasiquotes. Splicing is indicated by the character sequence +.codn ~* , +which introduces a Lisp expression that is expected to produce a list, whose +elements are interpolated into the JSON value. + +Note: quasiquoting allows Lisp values to be introduced into the resulting +object which are outside of the JSON type system, such as integers, characters, +symbols or structures. These objects have no representation in JSON syntax. + +.TP* Examples: + +.verb + ;; Basic JSON: + + #Jtrue -> t + #Jfalse -> nil + (list #J true #Jtrue #Jfalse) -> (t t nil) + #J[1, 2, 3.14] -> #(1.0 2.0 3.14) + #J{"foo":"bar"} -> #H(() ("foo" "bar")) + + ;; Quoting JSON shows the json expression + + '#Jfalse -> (json quote ()) + '#Jtrue -> (json quote t) + '#J["a", true, 3.0] -> (json quote #("a" t 3.0)) + '#J^[~(+ 2 2), 3] -> (json sys:qquote #(,(+ 2 2) 3.0)) + + :; Circle notation: + + #J[#1="abc", #1#, #1#] -> #("abc" "abc" "abc") + + ;; JSON Quasiquote: + + #J^[~*(list 1.0 2.0 3.0), ~(* 2.0 2), 5.0] + --> #(1.0 2.0 3.0 4.0 5.0) + + ;; Lisp quasiquote around JSON quote: requires evaluation round. + + ^#J[~*(list 1.0 2.0 3.0), ~(* 2.0 2), 5.0] + --> (json quote #(1.0 2.0 3.0 4.0 5.0)) + + (eval ^#J[~*(list 1.0 2.0 3.0), ~(* 2.0 2), 5.0]) + --> #(1.0 2.0 3.0 4.0 5.0) +.brev + .coNP The @ .. notation In \*(TL, there is a special "dotdot" notation consisting of a pair of dots. This can be written between successive atoms or compound expressions, and is a @@ -71646,6 +71765,42 @@ named .codn RTLD_LOCAL , etc. +.SS* Data Interchange Support + +.coNP Macro @ json +.synb +.mets (json [quote | sys:qquote] << object ) +.syne +.desc +The +.code json +macro exists in supports of the JSON literal and quasiliteral +.mono +.meti >> #J json-syntax +.onom +and +.mono +.meti >> #J^ json-syntax +.onom +notations, which use the macro as their target abstract syntax. + +The macro transforms itself by deleting the +.code json +symbol, producing either the +.mono +.meti (quote << object ) +.onom +quote syntax, or else the +.mono +.meti (sys:qquote << object ) +.onom +quasiquote syntax, depending on which quoting symbol is present. + +If the application produces and expands a +.code json +macro form which does not conform to this syntax, or does not +specify one of the above two quoting symbols, the behavior is unspecified. + .SH* FOREIGN FUNCTION INTERFACE On platforms where it is supported, \*(TX provides a feature called the |