ref: 00b0398b4fb4da73a959649fc3fb8ba81f13a2ae
dir: /src/docs_extra.lsp/
(defmacro (doc-for term (doc nil)) "Define documentation for a top level term. If `term` is a function signature and `doc` is not specified, just the signature will be included in the documentation, without replacing any previously defined." (let* ((call (cons? term)) (sym (or (and call (car term)) term)) (callvars (and call (cdr term)))) (if call `(void (sym-set-doc ',sym ,doc ',callvars)) `(void (sym-set-doc ',sym ,doc))))) (doc-for (= a . rest) "Return `T` if the arguments are equal.") (doc-for (nan? x) "Return `T` if the argument is *NaN*, regardless of the sign.") (doc-for (vm-stats) "Print various VM-related information, such as the number of GC calls so far, heap and stack size, etc.") (doc-for (lz-pack data (level 0)) "Return data compressed using Lempel-Ziv. The data must be an array, returned value will have the same type. The optional `level` is between `0` and `10`. With `level` set to `0` a simple LZSS using hashing will be performed. Levels between `1` and `9` offer a trade-off between time/space and ratio. Level `10` is optimal but very slow.") (doc-for (lz-unpack data :to destination)) (doc-for (lz-unpack data :size decompressed-bytes) "Return decompressed data previously compressed using lz-pack. Either destination for the decompressed data or the expected size of the decompressed data must be specified. In the latter case a new array is allocated.") (doc-for (rand) "Return a random non-negative fixnum on its maximum range.") (doc-for (rand-u64) "Return a random integer on interval [0, 2⁶⁴-1].") (doc-for (rand-u32) "Return a random integer on interval [0, 2³²-1].") (doc-for (rand-double) "Return a random double on interval [0.0, 1.0].") (doc-for (rand-float) "Return a random float on [0.0, 1.0] interval.") (doc-for NIL "An empty list. Also used as the opposite of T. (not NIL) → T (if NIL 'yes 'no) → 'no (car NIL) → NIL (cdr NIL) → NIL") (doc-for T "A boolean \"true\". (not T) → NIL (if T 'yes 'no) → 'yes")