shithub: sl

ref: dc6306e051c74dfa60865db0cc0bbf11b37aaecf
dir: /boot/sl.boot/

View raw version
(*builtins* #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL #fn("n10<:" 5)
              #fn("n10=:" 5) NIL NIL NIL NIL #fn("n10B:" 5) NIL NIL NIL NIL NIL #fn("n10H:" 5) NIL
              NIL NIL #fn("z0700}2:" #(<) 6) NIL #fn("n201N:" 6) NIL #fn("n201P:" 6)
              #fn("n201Q:" 6) #fn("n10R:" 5) #fn("n10S:" 5)
              #fn("n10T:" 5) NIL #fn("n10V:" 5) NIL #fn("n10X:" 5)
              #fn("n10Y:" 5) #fn("n10Z:" 5) #fn("n10[:" 5)
              #fn("n10\\:" 5) #fn("n10]:" 5) NIL #fn("n201_:" 6) NIL NIL NIL #fn("n201c:" 6)
              #fn("n201d:" 6) #fn("z00:" 4) #fn("z0700}2:" #(apply) 6)
              #fn("z0700}2:" #(+) 6) #fn("z0700}2:" #(-) 6)
              #fn("z0700}2:" #(*) 6) #fn("z0700}2:" #(/) 6)
              #fn("z0700}2:" #(div0) 6) #fn("z0700}2:" #(=) 6)
              #fn("n201m:" 6) NIL #fn("z0700}2:" #(vec) 6)
              #fn("z0700}2:" #(aset!) 6) NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL #fn("n3012082>1|:" #(#fn("n1A061:" 6)) 7)
              NIL NIL NIL NIL NIL NIL NIL NIL #fn("z0700}2:" #(aref) 6) NIL NIL)
            *properties* #table(*formals-list* #table(rand-f32 (NIL)  bound? ((symbol))  identity ((x))  sym-set-doc ((symbol
  doc-seq . formals-list))  odd? ((x))  list? ((a))  io-eof? ((io))  < ((a . rest))  cadr ((cell))  sym (term)  nan? ((v))  for ((min
  max fn))  fixnum? ((v))  exit (((status NIL)))  assoc ((key lst))  > ((a . rest))  + (rest)  div0 ((a
  b))  __finish ((status))  lz-unpack ((data :to destination)
                                       (data :size decompressed-bytes))  defstruct ((name docs…
  options… (slot-1 DEFAULT) slot-2 slot-3)
                                                                                    (name (:type 'vec)
  (:named T) (:constructor T) (:conc-name T) (:predicate T) . slots))  compare ((x y))  buffer (NIL)  num? ((v))  add-exit-hook ((fun))  assoc-list (kvs)  assert ((expr))  builtin? ((v))  set-car! ((cell
  new-first))  doc-group ((group-name doc))  cons? ((v))  1+ ((n))  even? ((x))  aref ((sequence
                                                                                        subscript0 . rest))  zero? ((x))  vec (rest)  >= ((a . rest))  sym? ((v))  void? ((x))  proper-list? ((a))  length= ((seq
  n))  positive? ((x))  doc-for ((term . doc))  aset! ((sequence subscripts… new-value))  car ((lst))  <= ((a . rest))  str (term)  cons ((first
  second))  - ((a . rest))  remprop ((symbol key))  negative? ((x))  rand (NIL)  void (rest)  assert-fail ((expr . what))  file ((path
  (:read NIL) (:write NIL) (:create NIL) (:truncate NIL) (:append NIL)))  assv ((key lst))  1- ((n))  atom? ((value))  cdr ((lst))  vec? ((v))  / ((x . rest))  equal? ((a
  b))  min ((x0 . xs))  eqv? ((a b))  io? ((term))  eof-object? ((term))  list (rest)  apply ((fn
  arg . rest))  help ((term (kind NIL) (:print-header help-print-header)))  memv ((item lst))  max ((x0 . xs))  rand-u32 (NIL)  = ((a . rest))  rand-u64 (NIL)  not ((v))  separate-doc-from-body ((body
  (doc NIL)))  set-cdr! ((cell new-second))  fn? ((v))  rand-f64 (NIL)  lz-pack ((data (level 0)))  help-print-header ((term
  sigs (:kind NIL) (:lpad "")))  member ((item lst))  eq? ((a b))  *prompt* (NIL)  getprop ((symbol
  key (def NIL)))  putprop ((symbol key val))  vm-stats (NIL)  * (rest)  io->str ((io)))  *doc* #table(sym-set-doc "Set the documentation for the symbol."  io-eof? "Return `T` if `io` is currently in the \"end of file\" state, `NIL`\notherwise."  cadr "Shorthand for `(car (cdr cell))`, that is, _first element of the\nsecond element_.\n\nExamples:\n\n    (cadr '(1 2 3)) → 2\n    (cadr '(1))     → NIL\n    (cadr NIL)      → NIL"  nan? "Return `T` if `v` is a floating point representation of NaN, either\nnegative or positive, `NIL` otherwise."  fixnum? "Return `T` if `v` is of a fixnum type, `NIL` otherwise."  exit "Terminate the process with the specified status.  Does not return.\nThe status is expected to be a string in case of an error.\n\nExamples:\n\n    (exit) ; exit with status 0 (nil on Plan 9)\n    (exit \"error\") ; exit with status 1 (\"error\" on Plan 9)"  __finish "A function called right before exit by the VM."  div0 "Return the quotient of two numbers.  For non-integers this is\nequivalent to `(div0 (floor a) (floor b))`.  The result is always an\ninteger.\n\nExamples:\n\n    (div0 7 2)     → 3\n    (div0 10 -2)   → -5\n    (div0 6.9 1.9) → 6"  (doc
  group prop) "Dealing with symbols' properties."  lz-unpack "Return decompressed data previously compressed using lz-pack.\n\nEither destination for the decompressed data or the expected size of\nthe decompressed data must be specified.  In the latter case a new\narray is allocated."  defstruct "Defines a structure type with a specific name and slots.\n\nThe default underlying type is a \"named\" vector (`:type vec`), where\nthe first element is the name of the structure's type, the rest are\nthe keyworded slot values.  A list with slot values alone can be used\ninstead by adding `:type list` option.  The list will not contain the\nname of the struct by default, which can be enabled with `:named T`\noption.\n\nAs an example, the following declaration\n\n    (defstruct blah \"Return stuff.\" :doc-group stuff a b (c 1 :read-only T))\n\nGenerates the default constructor for a structure of three slots, with\nthe third (`c`) having a specific default value and being read-only.\n\n    (make-blah (:a NIL) (:b NIL) (:c 1))\n    (blah-a s)\n    (blah-b s)\n    (blah-c s)\n\nSlot's options, if any, should be specified after its default value.\nSupported options are:\n\n    ; mark the slot as read-only\n    ; its value can be read, but trying to modify it will throw an error\n    … :read-only T\n\nThe constructor can be changed in several ways:\n\n    ; disable the constructor altogether\n    (defstruct blah :constructor NIL a b c)\n    ; only change its name\n    (defstruct blah :constructor blargh a b c)\n    ; rename AND avoid using keywords\n    (defstruct blah :constructor (blah a b c) a b c)\n\nThe option `:conc-name` specifies the slot accessor prefix, which\ndefaults to `structname-`.  Prefix can be disabled entirely with\n`:conc-name NIL`.\n\nDefault predicate can be disabled or its name, which defaults to\n`structname?`, changed:\n\n    ; use \"blargh?\" instead of \"blah?\"\n    (defstruct blah :predicate blargh? a b c)\n    ; without predicate\n    (defstruct blah :predicate NIL a b c)"  (doc
  group compare) "Comparison operators."  buffer "Return an in-memory buffer for I/O, of `io` type.\n\nA buffer can be used for both reading and writing at the same\ntime."  num? "Return `T` if `v` is of a numerical type, `NIL` otherwise.\n\nNumerical types include floating point, fixnum, bignum, etc.\nNote: ironically, a NaN value is considered a number by this function\nsince it's only testing the _type_ of the value."  assoc-list "Return an association list built of the arguments.\n\nEvery two arguments are expected to be a key and a value associated\nwith that key.\n\nExamples:\n\n    (assoc-list 'a 0 'b 1) → ((a . 0) (b . 1))"  assert "Throw an exception if `expr` evaluates to `NIL`.  Return `T` in any\nother case.\n\nExamples:\n\n    (def s \"abc\")\n    (assert (= (length s) 3))         → T\n    (assert (eq? (str-rune s 0) #\\x)) → assertion failed: ..."  builtin? "Return `T` if `v` is a built-in function implemented in C, `NIL`\notherwise.\n\nExamples:\n\n    (builtin? map)         → T\n    (builtin? macroexpand) → NIL"  set-car! "Modify a cons cell (a list) in-place by putting `new-first` as its\nfirst element (head of the list).  Return the modified cons\ncell (list).\n\nExamples:\n\n    (def q '(1 2 3 4 5))\n    (set-car! q 0) → (0 6 7)\n    q              → (0 6 7)"  (doc
  group debug) "Debugging utilities."  1+ "Equivalent to `(+ n 1)`."  vec "Return a vector constructed of the arguments.\n\nExamples:\n\n    (vec)              → #() ; empty vector\n    (vec 1 2.5 \"a\" 'b) → #(1 2.5 \"a\" b)"  positive? "Return `T` if `x` is greater than zero."  *builtins* "VM instructions as closures."  str "Return concatenation of terms formatted as strings.\n\nThis is equivalent to `(princ terms…)`, except the string is\nreturned, rather than printed.\n\nExamples:\n\n    (str \"a\" 'b 1 #(0)) → \"ab1#(0)\""  remprop "Remove a property value associated with the symbol."  negative? "Return `T` if `x` is negative."  void "Return the constant `#<void>` while ignoring any arguments.\n\n`#<void>` is mainly used when a function has side effects but does not\nproduce any meaningful value to return, so even though `T` or `NIL` could\nbe returned instead, in case of `#<void>` alone, REPL will not print\nit."  assert-fail "Throw an \"assertion failed\" exception if evaluating `expr` itself does\nnot result in an exception thrown. Return `T` otherwise.\n\nTo test for a specific exception type, an optional `what` argument can\nbe used.\n\nExamples:\n\n    (def s \"abc\")\n    (assert-fail (= (length s) 3))   → assertion failed: ...\n    (assert-fail (= s 1) type-error) → T"  (doc
  group list) "Working with lists."  file "Open a file for I/O.\n\nAn `io` object is returned.  Without any modes specified the file\nis opened in read-only mode."  1- "Equivalent to `(- n 1)`."  cdr "Return the second element of a cons cell (tail of a list) or `NIL` if\nnot available.\n\nExamples:\n\n    (cdr NIL)      → NIL\n    (cdr '(1 2 3)) → (2 3)\n    (cdr '(1 . 2)) → 2"  atom? "Return `T` if `v` is a _not_ a cons cell, `NIL` otherwise.  This is\nthe opposite of `cons?`.\n\nThe term \"atom\" comes from the idea of being indivisible.\n\nExamples:\n\n    (atom? \"a\")  → T\n    (atom? NIL)  → T\n    (atom? '(1)) → NIL"  / "Return the division of the arguments.  With only one argument the\nresult of `1/x` is returned.  If the result is integer-valued, it is\nreturned as an integer.\n\nExamples:\n\n    (/ 2)       → 0.5\n    (/ 7 2 2)   → 1.75\n    (/ 10 -2)   → -5 ; a fixnum\n    (/ 6.9 1.9) → 3.6315…"  equal? "Return `T` if both `a` and `b` are of the same value.  For non-leaf\ntypes (cons cell and vector), the equality test is performed\nthroughout the whole structure of the values.\n\nExamples:\n\n    (equal? 0.0 0) → NIL\n    (equal? 0 0)   → T\n    (def a \"1\")\n    (def b \"1\")\n    (equal? a b)   → T\n    (def a '(1))\n    (def b '(1))\n    (equal? a b)   → T"  apply "Return the result of applying a function to a list of arguments.\n\nThe last argument must always be a list which gets spliced as\narguments to the function.\n\nExamples:\n\n    (apply + 1 2 '(3 4 5))   → 15\n    (apply vec '(1 2 3))     → #(3 4 5)\n    (apply arr 'u8 '(3 4 5)) → #vu8(3 4 5)"  separate-doc-from-body "Take a list of terms and return a pair `(doc . body)`, where the first\nelement contains a list of documentation-related terms, and the second\ncontains the rest of the terms."  = "Numerical equality test.  Return `T` if all numbers are equal,\n`NIL` otherwise."  rand-u64 "Return a random integer on interval [0, 2⁶⁴-1]."  (doc
  group sys) "OS-specific functions."  not "Return `T` if `v` is `NIL`, `T` otherwise."  set-cdr! "Modify a cons cell (a list) in-place by putting `new-second` as its\nsecond element (tail of the list).  Return the modified cons\ncell (list).\n\nExamples:\n\n    (def q '(1 2 3 4 5))\n    (set-cdr! q '(6 7)) → (1 6 7)\n    q                   → (1 6 7)"  fn? "Return `T` if `v` is a function, `NIL` otherwise.\n\nExamples:\n\n    (fn? map)         → T\n    (fn? macroexpand) → T"  lz-pack "Return data compressed using Lempel-Ziv.\n\nThe data must be an array, returned value will have the same type.\nThe optional `level` is between `0` and `10`.  With `level` set to\n`0` a simple LZSS using hashing will be performed.  Levels between\n`1` and `9` offer a trade-off between time/space and ratio.  Level\n`10` is optimal but very slow."  *prompt* "Function called by REPL to signal the user input is required.\n\nDefault function prints `#;> `."  member "Return the tail of a list beginning with the item, or `NIL` otherwise.\nList elements are compared to the `item` using `equal?`.\n\nExamples:\n\n    (member 1 '(3 2 1 0)) → (1 0)\n    (member 1 '(2 3))     → NIL"  eq? "Return `T` if `a` and `b` are the same object, `NIL` otherwise.\n\nExamples:\n\n    (eq? 0.0 0) → NIL\n    (eq? 0 0)   → T\n    (def a \"1\")\n    (def b \"1\")\n    (eq? a b)   → NIL\n    (def a '(1))\n    (def b '(1))\n    (eq? a b)   → NIL"  getprop "Return a property value associated with the symbol or `def` if\nmissing."  vm-stats "Print various VM-related information, such as the number of GC\ncalls so far, heap and stack size, etc."  * "Return product of the arguments or `1` when none specified."  putprop "Associate a property value with the symbol."  io->str "Return an in-memory `io` buffer converted to a string."  rand-f32 "Return a random 32-bit floating pointer number on [0.0, 1.0] interval."  bound? "Return `T` if `symbol` has a value associated with it, `NIL` otherwise."  odd? "Return `T` if `x` is an odd integer, `NIL` otherwise."  list? "Return `T` if the value is either `NIL` or a cons cell, `NIL`\notherwise."  (doc
  group io) "I/O functionality."  < "Return `T` if the arguments are in strictly increasing order (next\none is greater than the previous one).  With a single argument\nthe result is always `T`."  sym "Return a symbol with the name being the concatenation of terms\nformatted as strings.\n\nThis is equivalent to `(sym (str terms…))`.\n\nExamples:\n\n    (sym \"a\" 'b 1) → ab1"  (doc
  group builtin) "Built-in operators."  NIL "An empty list.  Can be used as the opposite of T in boolean\nexpressions.\n\nExamples:\n\n    (not NIL)         → T\n    (if NIL 'yes 'no) → no\n    (car NIL)         → NIL\n    (cdr NIL)         → NIL"  for "Call the function `fn` with a single integer argument, starting from\n`min` and ending with `max`.\n\nExamples:\n\n    (for 0 2 (λ (i) (print (- 2 i)))) → 210"  (doc
  group vm) "VM-related functions."  assoc "Return a pair of a matching key and the associated value, or `NIL` if\nnone matched.  Keys are compared using `equal?`.\n\nExamples:\n\n    (def L (assoc-list 'a 0 'b 1))\n    (assoc 'b L) → (b . 1)\n    (assoc 'c L) → NIL"  > "Return `T` if the arguments are in strictly decreasing order (previous\none is greater than the next one)."  + "Return sum of the arguments or `0` when none specified."  (doc
  group rand) "Random numbers generation."  compare "Return -1 if `x` is less than `y`, 0 if equal, and `1` if `y` is\ngreater than `x`.\n\nExamples:\n\n    (compare 'a 'b)   → -1\n    (compare 1 1)     → 0\n    (compare \"b\" \"a\") → 1"  add-exit-hook "Puts an one-argument function on top of the list of exit hooks.\n\nOn shutdown each exit hook is called with the exit status as a single\nargument, which is (usually) `NIL` on success and a string describing\nan error otherwise."  doc-group "Define documentation for a group."  cons? "Return `T` if `v` is a cons cell, `NIL` otherwise.\n\nExamples:\n\n    (cons? 0)    → NIL\n    (cons? NIL)  → NIL\n    (cons? '(1)) → T"  even? "Return `T` if `x` is an even integer, `NIL` otherwise."  aref "Return the sequence element specified by the subscripts.  The sequence\ncan be an array, vector, a list.  Multi-dimensional sequences\nof variating types are also supported.\n\nExamples:\n\n    (def a '((1 #(2 (3)) 4)))\n    (aref a 0)     → (1 (2 (3)) 4)\n    (aref a 1)     → index 1 out of bounds\n    (aref a 0 0)   → 1\n    (aref a 0 1 0) → 2\n    (aref a 0 2)   → 4"  *properties* "All properties of symbols recorded with `putprop` are recorded in this\ntable."  zero? "Return `T` if `x` is zero."  >= "Return `T` if the arguments are in non-increasing order (previous\none is greater than or equal to the next one)."  sym? "Return `T` if `v` is a symbol, `NIL` otherwise."  void? "Return `T` if `x` is `#<void>`, `NIL` otherwise."  proper-list? "Return `T` is the value is a proper list.  That is, a non-circular\nlist with the last element being `NIL`, as opposed to a dotted list.\n\nExamples:\n\n    (proper-list? NIL)     → T\n    (proper-list? '(1))    → T\n    (proper-list? '(1 . 2) → NIL\n    (def l '(1))\n    (set-cdr! l l)         → #0=(1 . #0#)\n    (length l)             → +inf.0\n    (proper-list? l)       → NIL"  length= "Perform a bounded length test.\n\nUse this instead of `(= (length seq) n)`, since it avoids unnecessary\nwork and always terminates."  doc-for "Define documentation for a top level term.\n\nIf `term` is a function signature and `doc` is not specified, just\nthe signature will be included in the documentation, without\nreplacing any previously defined.\n\nFirst `doc` argument is supposed to be a string with the description\nof the term.  The following arguments are expected to be optional tag\npairings that provide grouping for multiple symbols and \"see also\"\nreferences.\n\nUseful in cases where setting the documentation for a term can't\n(or not preferred to) be made during the definition of said term.\nOne of those reasons is that the term is a built-in function\nimplemented in C.\n\nExamples:\n\n    (doc-for (func arg (arg2 0))\n      \"Return something about the `arg` and `arg2`.  This is a short\n       description.\n\n       This is the longer description, following the short one.\n\n       Examples:\n\n           (func 0)   → T\n           (func 1 3) → NIL\"\n      :doc-group stuff\n      :doc-see func2)\n    (doc-for (func arg (:another-variant NIL)))"  aset! "Modify the sequence element specified by the subscripts and return the\nnew value.  The sequence can be an array, vector, a list.\nMulti-dimensional sequences of variating types are also supported.\n\nExamples:\n\n    (def a '((1 #(2 (3)) 4)))\n    (aset! a 1 'x)     → index 1 out of bounds\n    (aset! a 0 0 'x)   → x\n    a                  → ((x #(2 (3)) 4))\n    (aset! a 0 1 9)    → 9\n    a                  → ((x #(9 (3)) 4))"  T "A boolean \"true\".\n\nExamples:\n\n    (not T)         → NIL\n    (if T 'yes 'no) → yes"  car "Return the first element of a cons cell (head of a list) or `NIL` if\nnot available.\n\nExamples:\n\n    (car NIL)      → NIL\n    (car '(1 2 3)) → 1\n    (car '(1 . 2)) → 1"  <= "Return `T` if the arguments are in non-decreasing order (previous\none is less than or equal to the next one)."  cons "Return a cons cell containing two arguments.\n\nExamples:\n\n    (cons 1 2)                     → (1 . 2)\n    (cons 1 '(2))                  → (1 2)\n    (cons 1 (cons 2 (cons 3 NIL))) → (1 2 3)"  - "Return the result of subtraction.  With only one argument a\nnegation is performed.\n\nExamples:\n\n    (- 1.5) → -1.5\n    (- 3 2) → 1"  rand "Return a random non-negative fixnum on its maximum range."  Instructions "VM instructions mapped to their encoded byte representation."  assv "Return a pair of a matching key and the associated value, or `NIL` if\nnone matched.  Keys are compared using `eqv?`."  (doc
  group string) "String-related functionality."  vec? "Return `T` if `v` is a vector, `NIL` otherwise."  min "Return the smallest among the arguments.\n\nExamples:\n\n    (min 3 1 9 4)     → 1\n    (min 'c 'h 'z 'a) → a\n    (min \"t\" \"g\" \"a\") → \"a\""  eqv? "Return `T` if both `a` and `b` are of the same value and primitive\n(leaf) type, `NIL` otherwise.  Neither cons cell nor vector are not\nconsidered primitive types as they may define deep structures.\n\nExamples:\n\n    (eqv? 0.0 0) → NIL\n    (eqv? 0 0)   → T\n    (def a \"1\")\n    (def b \"1\")\n    (eqv? a b)   → T\n    (def a '(1))\n    (def b '(1))\n    (eqv? a b)   → NIL"  io? "Return `T` if `term` is of `io` type, `NIL` otherwise."  eof-object? "Return `T` if `term` is `#<eof>`, `NIL` otherwise.\n\nThis object is returned by I/O functions to signal end of file,\nwhere applicable."  list "Return a list constructed of the arguments.\n\nExamples:\n\n    (list)              → NIL ; empty list\n    (list 1 2.5 \"a\" 'b) → (1 2.5 \"a\" b)"  help "Display documentation the specified term, if available.\n\nThe optional parameter `kind` can be set to `group` to show\ndocumentation for the specified group instead of a single term.\nAll available documentation groups can be displayed with `(help\ngroups)`."  memv "Return the tail of a list beginning with the item, or `NIL` otherwise.\nList elements are compared to the `item` using `eqv?`."  (doc
  group doc) "Writing and reading documentation."  max "Return the largest among the arguments.\n\nExamples:\n\n    (max 3 1 9 4)     → 9\n    (max 'c 'h 'z 'a) → z\n    (max \"t\" \"g\" \"a\") → \"t\""  rand-u32 "Return a random integer on interval [0, 2³²-1]."  rand-f64 "Return a random 64-bit floating point number on interval [0.0, 1.0]."  help-print-header "Format and print signature(s) of the term for `(help term)` output."  arg-counts "VM instructions mapped to their expected arguments count."  (doc
  group compress) "Compression."  identity "Return `x`.")  *doc-extra* #table(rand-f32 ((:doc-group . rand))  bound? ((:doc-group . builtin))  sym-set-doc ((:doc-group . doc))  odd? ((:doc-group . compare)
  (:doc-see . even?))  list? ((:doc-group . list) (:doc-see . proper-list?))  io-eof? ((:doc-group . io))  < ((:doc-group . compare)
  (:doc-group . builtin))  cadr ((:doc-group . list) (:doc-group . builtin))  nan? ((:doc-group . builtin))  NIL ((:doc-see . T))  for ((:doc-group . builtin))  fixnum? ((:doc-group . builtin))  exit ((:doc-group . sys))  assoc ((:doc-group . list)
  (:doc-see . assv))  > ((:doc-group . compare))  + ((:doc-group . builtin))  div0 ((:doc-group . builtin))  lz-unpack ((:doc-group . compress))  compare ((:doc-group . builtin))  buffer ((:doc-group . io))  num? ((:doc-group . builtin))  assert ((:doc-group . debug)
  (:doc-see . assert-fail))  builtin? ((:doc-group . builtin))  set-car! ((:doc-group . list) (:doc-group . builtin))  doc-group ((:doc-group . doc))  cons? ((:doc-group . builtin))  even? ((:doc-group . compare)
  (:doc-see . odd?))  aref ((:doc-group . builtin))  *properties* ((:doc-group . prop))  vec ((:doc-group . builtin))  >= ((:doc-group . compare))  sym? ((:doc-group . builtin))  zero? ((:doc-group . compare))  proper-list? ((:doc-group . list)
  (:doc-see . list?))  length= ((:doc-group . list) (:doc-see . length>))  positive? ((:doc-group . compare))  doc-for ((:doc-group . doc))  aset! ((:doc-group . builtin))  T ((:doc-see))  car ((:doc-group . list)
  (:doc-group . builtin))  *builtins* ((:doc-group . builtin))  str ((:doc-group . string))  cons ((:doc-group . list)
  (:doc-group . builtin))  - ((:doc-group . builtin))  remprop ((:doc-group . prop))  <= ((:doc-group . compare))  rand ((:doc-group . rand))  negative? ((:doc-group . compare))  assert-fail ((:doc-group . debug)
  (:doc-see . assert))  Instructions ((:doc-group . builtin))  file ((:doc-group . io))  assv ((:doc-group . list)
  (:doc-see . assoc))  atom? ((:doc-group . builtin))  cdr ((:doc-group . list) (:doc-group . builtin))  vec? ((:doc-group . builtin))  / ((:doc-group . builtin))  equal? ((:doc-group . compare)
  (:doc-group . builtin))  min ((:doc-group . compare) (:doc-see . max))  eqv? ((:doc-group . compare)
                                                                                (:doc-group . builtin))  io? ((:doc-group . io))  eof-object? ((:doc-group . io))  list ((:doc-group . builtin))  apply ((:doc-group . builtin))  help ((:doc-group . doc))  memv ((:doc-group . list)
  (:doc-see . member))  max ((:doc-group . compare) (:doc-see . min))  rand-u32 ((:doc-group . rand))  = ((:doc-group . compare)
  (:doc-group . builtin))  rand-u64 ((:doc-group . rand))  not ((:doc-group . builtin))  separate-doc-from-body ((:doc-group . doc))  set-cdr! ((:doc-group . list)
  (:doc-group . builtin))  fn? ((:doc-group . builtin))  rand-f64 ((:doc-group . rand))  lz-pack ((:doc-group . compress))  arg-counts ((:doc-group . builtin))  help-print-header ((:doc-group . doc))  eq? ((:doc-group . compare)
  (:doc-group . builtin))  member ((:doc-group . list) (:doc-see . memv))  getprop ((:doc-group . prop)
                                                                                    (:doc-see . putprop))  putprop ((:doc-group . prop)
  (:doc-see . getprop))  vm-stats ((:doc-group . vm))  * ((:doc-group . builtin))  io->str ((:doc-group . io))))
            *syntax-environment* #table(bcode:spmax #fn("n1200r5e3:" #(aref) 7)  bcode:nconst #fn("n1200r2e3:" #(aref) 7)  doc-for #fn("z10B86;35040<;J404086;35040=70711225251<863I0232487e22489e22488e2e4:232487e22489e2e3:" #(separate-doc-from-body
  append (NIL) sym-set-doc quote) 13)  with-input-from #fn("z12021e1220e2e1e17315163:" #(#fn(nconc)
  with-bindings *io-in* copy-list) 9)  unless #fn("z1200q211Pe4:" #(if begin) 9)  defmacro #fn("z17015186<86=873?0710<870=53@30q42223240<e22526e10=e177885153e3e2:" #(separate-doc-from-body
  sym-set-doc void set-syntax! quote #fn(nconc) λ copy-list) 15)  time #fn("n1202122e1e2e123024252622e121e32728e5e3e3:" #(let
  #:g486 time-now prog1 princ "Elapsed time: " - " seconds" *linefeed*) 13)  cond #fn("z0Ib520852185>1_51485<061:" #(#0=#fn("z0I:" #() void 4)
  #fn("n10H340q:0<85<20Q;J80485<DQ3C085=J6085<:2185=P:85=J@02285<A<0=51e3:85T23C\x94074758551513c07675855151278685<e2e12886217975855151PA<0=51e4e3:272:85<e2e1282:7585512:e2A<0=51e4e3:2885<2185=PA<0=51e4:" #(else
  begin or => 1arg-lambda? caddr caadr let if cddr #:g19) cond-clauses->if 14)) 7)  do #fn("z21<2071052207205220230522425268827872829e17:1=51522829e17:82512825e18:52e153e4e3e2e12825e18952e3:" #(#fn(map)
  car cadr #fn("n170051B38071061:0<:" #(cddr caddr) 6) letrec #:g455 λ if #fn(nconc) begin
  copy-list) 21)  assert-fail #fn("z12021220qe32324e113E0252624e2271<e2e3@30De3e3e2:" #(assert
                                                                                        trycatch
                                                                                        begin λ e
                                                                                        eq? car
                                                                                        quote) 13)  bcode:code #fn("n1200Ee3:" #(aref) 7)  let #fn("z1q0R3B00?641<?041=?1@30q42021e12223052e174151532225052863C0268687e2e186e3@408788P:" #(#fn(nconc)
  λ #fn(map) #fn("n10B3500<:0:" 5) copy-list #fn("n10B3500T:7060:" #(void) 5) letrec) 10)  with-bindings #fn("z12071052207205220230522425e12076888653e17720288687535129242:e17715152242:e177202;8688535152e3e164:" #(#fn(map)
  car cadr #fn("n12060:" #(#fn(gensym)) 5) #fn(nconc) let list copy-list #fn("n22001e3:" #(set!) 7)
  unwind-protect begin #fn("n22001e3:" #(set!) 7)) 20)  %defstruct% #fn("O10005000*///z6W1000J7021?14W2000;J60D?24W3000;J60D?34W4000;J60D?44W5000;J60D?54II22230>1??5142224?@514258651262786528@8651268?8652121C60D@C0128C60q@90792:1528E3B082;J904792;51@;082;35048;;36040e185DQ;3:042<02=52;J504858G;3L048F3708G@A08>3;0792>51@30q8E3:02?0e2@7002@e283DQ83;3\\0483H;3M0483DQ;3:042<2A052;J504838CP;J5048384DQ;3:042B02C52;J50484I222D8E108B8F>5?M5142E2Fe18H3{02G8H2He28E3E02I2J2He22K8Ie2e3@V02L2M2N2HEe32K0e2e32O2P2He27Q8A51e3e3e3@30qe18K3C02G8K<8M8K=51e3@30qe18E3U02R2K0e22K2Se28J3808K<@808M8C51e4@30qe17T7U2V8D8B8L8E8H8I8F0>88A525165:" #(#(:constructor
  2 :predicate 4 NIL NIL :type 0 :named 1 :conc-name 3 NIL NIL) vec #0#
  #fn("n10H370q:@30q4207172051f22324850A>38652486:" #((:read-only) assoc-list cddr #fn(for-each)
                                                      #fn("n1700<A52340q:712223F<24922505661:" #(member
  error #fn(str) "invalid option in slot " " of struct " ": ") 12)) slot-opts 9)
  #fn("n12021062:" #(#fn(map) #fn("n10B;35040<85;J404085;35040=;J604qe186RS;J9042086513=071228652@30q42324865287B38087<@30qe2:" #(#fn(keyword?)
  error "invalid slot name: " #fn(sym) #\:) 10)) tokw 7)
  #fn(length) #fn(map) #fn("n10B3500<:0:" 5) list arg-error "invalid struct type: " "structs of type `vec` are always :named T"
  #fn(sym) #\? "predicate not possible unless the struct is :named T" struct … "make-" #fn(str) "-"
  #fn("n1200A3Y021Fe12223e2e12292e2e1747526q93535154@f0943S02127e12122e174945152e174935153@@02127e174935152e3:" #(λ
  #fn(nconc) quote %struct% copy-list foldr #fn("n2202105201PP:" #(#fn(sym) ":") 7) list) make-constructor 15)
  #fn(nconc) begin def s equal? type-of quote and eq? aref = length 1+ putprop constructor
  copy-list map-int #fn("n170A05270F052923=021928652@4086933<0r20i2KM@30022872324q25e3e3943K0269423e2272895e223e3e3@30q292:25e22;2396360K@30E88Me37<2=85523O02>2?2@2886e22A2897e22Be6e2@G02C2396360K@30E88M24e4e4e4:" #(list-ref
  #fn(sym) def s v v-supplied? unless type-error quote if not aref assv :read-only error str "slot "
  " in struct " " is :read-only" aset!) 21)) 33)  make-label #fn("n120e1:" #(gensym) 5)  bcode:cenv #fn("n1200r3e3:" #(aref) 7)  mark-label #fn("n22002122e21e4:" #(emit
  quote label) 8)  quasiquote #fn("n1700E62:" #(bq-process) 7)  > #fn("z12021e1721510e163:" #(#fn(nconc)
  < reverse) 8)  when #fn("z1200211Pqe4:" #(if begin) 8)  help #fn("O100010003000W1000J60q?14W2000J7071?241;3<0422231520P13;02410e3@3007588265275882752IIIIIb;b<288;29_514288<2:_514282;?=514282<87>1?>514282=??51402>CM02?2@8<>18?2A7B26528=5252@$089;J5048:3\xe3082888:2C154475882D527E2F8@527E2G8@52893H07H7I2J898A535147K50@30q48B3W07K5047H2L5147K5042?2M8;>18B5247K50@30q^1^1^1413c07K5047H2N5147K5042?2O8;>18?2A7B26528>525247K50@30q47P50@g07H2Q13<02R12S52@402T05341JE00R3@00ZJ;07H2U51@30q47K5047P60:" #(#(:print-header
  0) help-print-header #fn(sym) ":doc-" doc getprop *doc* *formals-list* #0#
  #fn("n313?02021820>2162:72504738251474061:" #(#fn(for-each)
                                                #fn("n17050471A51472F0P61:" #(newline princ print) 7)
                                                newline princ print) print-sig 7)
  #fn("n12002152853;0220E8563:0:" #(#fn(str-find) "\n" #fn(str-sub)) first-line 9)
  #fn("n10B;3B040<20Q;38040T21Q:" #(doc group) doc-group? 6)
  #fn("n10H;3?0470A710225262:" #(member getprop *doc-extra*) doc-extra-term? 9)
  #fn("n27021221>1q0537362:" #(sort #fn(table-foldl)
                               #fn("n3A051370082P:82:" 6) <) table-keys-filter-sort 9) groups #fn(for-each)
  #fn("n1707105122A<7302452515347560:" #(princ caddr ": " getprop *doc* newline) 11)
  #fn(get) *properties* :kind *doc-extra* filter #fn("n10<20Q:" #(:doc-fmt) 6)
  #fn("n10<20Q:" #(:doc-see) 6) princ foldl #fn("n20=161:" 6) newline "See also:" #fn("n1A<0=700=21522263:" #(getprop
  *formals-list* "    ") 9) "Members:" #fn("n1A<070021522263:" #(getprop *formals-list* "    ") 9)
  void "no help for " #fn(str) " " "" " (undefined)") 21)  defstruct #fn("z0700=5185<85=0<I21228887>2?9514863H0738874862589Pe15252@30q42627e188e178875163:" #(separate-doc-from-body
  #0# #fn("n12002152853=0220E8553@300853<02208552@402324752627AF5351285229862:7;882<528764:" #(#fn(str-find)
  "\n\n" #fn(str-sub) "" #fn(str-split) print-to-str #fn(list*) defstruct "\n" #fn(str) "\n\n    "
  str-join "\n    ") fmt 14) sym-set-doc append :doc-fmt #fn(nconc) %defstruct% copy-list) 15)  bcode:ctable #fn("n1200Ke3:" #(aref) 7)  with-output-to #fn("z12021e1220e2e1e17315163:" #(#fn(nconc)
  with-bindings *io-out* copy-list) 9)  catch #fn("n22012122e123242522e2262722e22829e2e3262:22e20e3e42;22e22<22e2e4e3e3:" #(trycatch
  λ #:g478 if and cons? eq? car quote thrown-value cadr caddr raise) 15)  let* #fn("z10H3E02021e1qe17215153e1:2021e173051e1e1720=B3H02024e10=e17215153e1@301515375051e2:" #(#fn(nconc)
  λ copy-list caar let* cadar) 13)  letrec #fn("z1202021e12273052e122240527515154e1227605262:" #(#fn(nconc)
  λ #fn(map) car #fn("n12021e17205162:" #(#fn(nconc) set! copy-list) 8) copy-list void) 11)  bcode:sp #fn("n1200r4e3:" #(aref) 7)  assert #fn("n1200D2122230e2e2e2e4:" #(if
  raise quote assert-failed) 11)  case #fn("z1Ib6208621_514225023870e2e12425e126278687>215252e3:" #(#0#
  #fn("n2120C5020:1J40q:1R3=021072151e3:1H3=023072151e3:1=J>0230721<51e3:74751523=0260271e2e3:280271e2e3:" #(else
  eq? quote-value eqv? every sym? memq quote memv) vals->cond 8)
  #fn(gensym) let #fn(nconc) cond #fn(map) #fn("n1A<F0<520=P:" 7)) 13)  doc-group #fn("n22021222324e22325e2230e2e41e3e2:" #(begin
  sym-set-doc list quote doc group) 11)  receive #fn("z22021q1e32221e10e173825153e3:" #(call-with-values
                                                                                        λ #fn(nconc)
                                                                                        copy-list) 11)  unwind-protect #fn("n2202122q1e3e2e1232402225e121e12625e2e4e321e1e3e3:" #(let
  #:g479 λ prog1 trycatch #:g480 raise) 14)  dotimes #fn("z10<0T20E2187Ke32223e186e1e17415153e4:" #(for
  - #fn(nconc) λ copy-list) 14)  throw #fn("n220212223e201e4e2:" #(raise list quote thrown-value) 9))
            1+ #fn("n10KM:" #() 1+ 6) 1-
            #fn("n10K~:" #() 1- 6) 1arg-lambda? #fn("n10B;3D040<20Q;3:04710TK62:" #(λ length=) 1arg-lambda? 7)
            <= #fn("z1Ib6862086>1_486<^10162:" #(#fn("n21S;JL041<0L2;J5040V340q:A<1<1=62:" 7)) <= 7)
            > #fn("z1Ib6862086>1_486<^10162:" #(#fn("n21S;JE041<0L2;3;04A<1<1=62:" 7)) > 7) >=
            #fn("z1Ib6862086>1_486<^10162:" #(#fn("n21S;JL0401<L2;J5040V340q:A<1<1=62:" 7)) >= 7)
            Instructions #table(call.l #u8(81)  trycatch #u8(75)  loadg.l #u8(68)  aref2 #u8(23)  box #u8(50)  cadr #u8(36)  argc #u8(62)  setg #u8(71)  load0 #u8(21)  nan? #u8(38)  fixnum? #u8(41)  loadc0 #u8(17)  loada0 #u8(0)  div0 #u8(59)  keyargs #u8(31)  call #u8(5)  loada.l #u8(69)  num? #u8(40)  sub2 #u8(78)  add2 #u8(29)  loadc.l #u8(70)  loadc #u8(9)  builtin? #u8(43)  set-car! #u8(47)  vargc.l #u8(80)  vec #u8(63)  ret #u8(10)  loadi8 #u8(66)  tapply #u8(77)  loadvoid #u8(25)  loada1 #u8(1)  shift #u8(46)  atom? #u8(24)  cdr #u8(13)  brne.l #u8(83)  / #u8(58)  equal? #u8(52)  apply #u8(54)  dup #u8(11)  loadt #u8(20)  bounda #u8(39)  jmp.l #u8(48)  = #u8(60)  not #u8(35)  set-cdr! #u8(30)  fn? #u8(44)  eq? #u8(33)  * #u8(57)  load1 #u8(27)  bound? #u8(42)  box.l #u8(86)  < #u8(28)  brnn.l #u8(84)  jmp #u8(16)  loadv #u8(2)  for #u8(76)  + #u8(55)  brne #u8(19)  argc.l #u8(79)  compare #u8(61)  brn #u8(3)  neg #u8(37)  loadv.l #u8(67)  vargc #u8(74)  loadc1 #u8(22)  setg.l #u8(72)  cons? #u8(18)  aref #u8(85)  sym? #u8(34)  aset! #u8(64)  car #u8(12)  cons #u8(32)  tcall.l #u8(82)  - #u8(56)  brn.l #u8(49)  optargs #u8(87)  closure #u8(14)  vec? #u8(45)  pop #u8(4)  eqv? #u8(51)  list #u8(53)  seta #u8(15)  seta.l #u8(73)  brnn #u8(26)  loadnil #u8(65)  loadg #u8(7)  loada #u8(8)  tcall #u8(6))
            S #fn("z1700215286380861}2:7223062:" #(getprop constructor error "no default constructor for struct: ") S 8)
            __finish #fn("n120Z3>021220>17062:q:" #(*exit-hooks* #fn(for-each)
                                                    #fn("n10A61:" 6)) __finish 7)
            __init_globals #fn("n07021d37022@402384w4^14r3w54rpw647027d;350428;J50429w:42;w<4qw=47>w?47@wA47BwC:" #(*os-name*
  "macos" #fn("n0702161:" #(princ "\e[0m\e[1m#;> \e[0m") 6)
  #fn("n0702161:" #(princ "#;> ") 6) *prompt* *exception-print-level* *exception-print-length* "dos"
  "\\" "/" *directory-separator* "\n" *linefeed* *exit-hooks* *stdout* *io-out* *stdin* *io-in*
  *stderr* *io-err*) __init_globals 6)
            __rcscript #fn("n0708421c360q@T08422c37023@G08424c3=07526514q@4027^184;3904288451708622c37029@402:^185;3=042;857<865387;3D042=8751;39047>8761:" #(*os-name*
  "unknown" "plan9" "home" "macos" princ "\e]0;StreetLISP v0.999\a" "HOME" #fn(os-getenv) "lib/slrc"
  ".slrc" #fn(str) *directory-separator* #fn(path-exists?) load) __rcscript 11)
            __script #fn("n1200>121{:" #(#fn("n070A61:" #(load) 6)
                                         #fn("n1700514212205161:" #(top-level-exception-handler
                                                                    #fn(exit)
                                                                    #fn(str)) 7)) __script 4)
            __start #fn("n2705040w141w240=B3@00=w14730T51@50Dw24723>0745047550@30q42660:" #(__init_globals
  *argv* *interactive* __script __rcscript repl #fn(exit)) __start 6)
            abs #fn("n10EL23500U:0:" #() abs 6) add-exit-hook
            #fn("n1070Pw047160:" #(*exit-hooks* void) add-exit-hook 6) any #fn("n21B;3D0401<51;J:047001=62:" #(any) any 7)
            append #fn("z0IIb5b620852185>1_5142086228685>2_514qqP86<87052487=:" #(#0#
                                                                                  #fn("n21J400:1<qP086N4A<861=62:" #() copy- 8)
                                                                                  #fn("n21=360q@9001<N4I:4A<F<01<521=62:" #() append- 8)) append 10)
            arg-counts #table(bound? 1  sym? 1  car 1  cons 2  cadr 1  nan? 1  for 3  fixnum? 1  cdr 1  atom? 1  div0 2  vec? 1  equal? 2  eqv? 2  compare 2  not 1  set-cdr! 2  num? 1  fn? 1  eq? 2  builtin? 1  cons? 1  set-car! 2)
            arg-error #fn("z020210P61:" #(#fn(raise) arg-error) arg-error 7) argc-error
            #fn("n27002111Kl237022@402364:" #(compile-error " expects " " argument." " arguments.") argc-error 10)
            arr? #fn("n10];JF042005185B;390485<21Q:" #(#fn(type-of) arr) arr? 7) assoc
            #fn("n2701510d3501<:13:07101=62:q:" #(caar assoc) assoc 7) assoc-list #fn("z00=85B3A00<85<P7085=f2P:q:" #(assoc-list) assoc-list 8)
            assv #fn("n2701510c3501<:13:07101=62:q:" #(caar assv) assv 7) bcode:indexfor
            #fn("n20KG0r2G20861523:02186162:2286187534870r287KMp4:" #(#fn(has?)
                                                                      #fn(get)
                                                                      #fn(put!)) bcode:indexfor 11)
            bcode:stack #fn("n20r4G1M0r5G86L23;00r586p@30q40r486p:" #() bcode:stack 8) bounds-error
            #fn("z020210P61:" #(#fn(raise) bounds-error) bounds-error 7) box-vars #fn("n2Ib68620086>2_486<^1161:" #(#fn("n10B3Q00<T3B070A21720<5153@30q4F<0=61:q:" #(emit
  box caddr) 9)) box-vars 6)
            bq-bracket #fn("n20H3=070710152e2:0<22CS01El2380700=P:707324710=1K~52e3e2:0<25CT01El2390260Te2:707027710T1K~52e3e2:0<28CP01El23500T:707029710T1K~52e3e2:70710152e2:" #(list
  bq-process unquote cons 'unquote unquote-splicing copy-list 'unquote-splicing unquote-nsplicing
  'unquote-nsplicing) bq-bracket 11)
            bq-bracket1 #fn("n20B3S00<20CL01El23500T:7122730=1K~52e3:730162:" #(unquote cons 'unquote
                                                                                bq-process) bq-bracket1 10)
            bq-process #fn("n20R380200e2:0]3T0717205115286<73C907486=P:757486e3:0H3400:0<26CB07327710T1KM52e3:0<28CV01El23?0790r2523500T:7:2;710=1K~52e3:7<7=052Jt07>0512?2@1>105286J807387P:87=JA07:87<7186152e3:2A7B87P7186152e162:Ib6862C186>2_486<^10q62:" #(quote
  bq-process vec->list list vec apply quasiquote 'quasiquote unquote length= cons 'unquote any
  splice-form? lastcdr #fn(map) #fn("n1700A62:" #(bq-bracket1) 7)
  #fn(nconc) list* #fn("n20J;02071151P:0B3o00<22CX020731AEl23700=@C07425e2760=AK~52e252P:F<0=770<A521P62:2071760A521P51P:" #(nconc
  reverse! unquote nreconc list 'unquote bq-process bq-bracket) 12)) bq-process 11)
            builtin->instruction #fn("n120A0q63:" #(#fn(get)) #(#table(#.cadr cadr  #.aset! aset!  #.+ +  #.- -  #.equal? equal?  #.eq? eq?  #.builtin? builtin?  #.not not  #.cons? cons?  #.cdr cdr  #./ /  #.div0 div0  #.set-car! set-car!  #.vec vec  #.set-cdr! set-cdr!  #.< <  #.aref aref  #.for for  #.cons cons  #.apply apply  #.eqv? eqv?  #.vec? vec?  #.list list  #.car car  #.bound? bound?  #.nan? nan?  #.fn? fn?  #.sym? sym?  #.compare compare  #.fixnum? fixnum?  #.atom? atom?  #.= =  #.num? num?  #.* *)) 8)
            caaaar #fn("n10<<<<:" #() caaaar 5) caaadr
            #fn("n10T<<:" #() caaadr 5) caaar #fn("n10<<<:" #() caaar 5) caadar
            #fn("n10<T<:" #() caadar 5) caaddr #fn("n10=T<:" #() caaddr 5) caadr
            #fn("n10T<:" #() caadr 5) caar #fn("n10<<:" #() caar 5) cadaar
            #fn("n10<<T:" #() cadaar 5) cadadr #fn("n10TT:" #() cadadr 5) cadar
            #fn("n10<T:" #() cadar 5) caddar #fn("n10<=T:" #() caddar 5) cadddr
            #fn("n10==T:" #() cadddr 5) caddr #4=#fn("n10=T:" #() caddr 5) call-with-values
            #fn("n205086B3@0A86<C90186=}2:18661:" #() #(#3=(*values*)) 7) capture-var! #fn("n20r3G70186E5387;JG042186510r322861e152p4:" #(index-of
  #fn(length) #fn(nconc)) capture-var! 12)
            cdaaar #fn("n10<<<=:" #() cdaaar 5) cdaadr
            #fn("n10T<=:" #() cdaadr 5) cdaar #fn("n10<<=:" #() cdaar 5) cdadar
            #fn("n10<T=:" #() cdadar 5) cdaddr #fn("n10=T=:" #() cdaddr 5) cdadr
            #fn("n10T=:" #() cdadr 5) cdar #fn("n10<=:" #() cdar 5) cddaar
            #fn("n10<<==:" #() cddaar 5) cddadr #fn("n10T==:" #() cddadr 5) cddar
            #fn("n10<==:" #() cddar 5) cdddar #fn("n10<===:" #() cdddar 5) cddddr
            #fn("n10====:" #() cddddr 5) cdddr #fn("n10===:" #() cdddr 5) cddr
            #fn("n10==:" #() cddr 5) closure? #fn("n10\\;36040[S:" #() closure? 5) compile
            #fn("n170q7105162:" #(compile-f lower-def) compile 8) compile-and #fn("n570018283D218467:" #(compile-short-circuit
  brn) compile-and 12)
            compile-app #fn("n483<88R3U07088152JK088Z3E0218851[3;0218851@40887283=23523i07401q89544750K524760183=537508:U5247708237028@40298:63:89[;39047:8951892;Cf07089152J\\0212;517;d3P07<83r2523E07401q83T5447702;62:89B3N089<2=CF07>83513=07?01828364:8:360q@B07401q89544750K524760183=537508;U5248:360q@90750r/5248:3C07@018283898:8;67:770823702A@402B8;63:" #(in-env?
  #fn(top-level-value) length> 255 compile-in bcode:stack compile-arglist emit tcall.l call.l
  builtin->instruction cadr length= λ inlineable? compile-let compile-builtin-call tcall call) compile-app 16)
            compile-arglist #fn("n3202101>282524228261:" #(#fn(for-each)
                                                           #fn("n170AFq054471AK62:" #(compile-in
                                                                                      bcode:stack) 9)
                                                           #fn(length)) compile-arglist 7)
            compile-aset! #fn("n3208251r2~87Kl23?07101q2282P64:K87L23e07101q237482E8753P5447501748287525376088U5247702262:7822r362:" #(#fn(length)
  compile-app aset! aref subseq compile-arglist bcode:stack emit argc-error) compile-aset! 14)
            compile-begin #fn("n483H3?0700182715064:83=H3>070018283<64:7001q83<5447202352474018283=64:" #(compile-in
  void emit pop compile-begin) compile-begin 9)
            compile-builtin-call #fn("n7I202186850>3?;514227385q538<3I07483=8<52J=075858<52@30q4858=26CL086El23:07702862:770858663:8=29C708;60:8=2:C708;60:8=2;C]086El23:07702<62:86r2l23:07702=62:770858663:8=2>Cm086El23:07585K62:86Kl23:07702?62:86r2l23:07702@62:770858663:8=2ACL086El23:07702B62:770858663:8=2CCL086El23:07585K62:770858663:8=2DCN086El23<07702E2F63:770858663:8=2GCX086r2L23;07585r262:770823702H@402G8663:8=2ICb086r2l23:07702J62:r286L23?07708586r3~63:7585r262:7708562:" #(#0#
  #fn("n0AEl239070FK62:7192FA63:" #(argc-error emit) num-compare 8)
  #fn(get) arg-counts length= argc-error list emit loadnil < = + load0 add2 - neg sub2 * load1 /
  vec loadv #() apply tapply aref aref2) compile-builtin-call 12)
            compile-error #fn("z070210P}2:" #(error "compile error: ") compile-error 7) compile-f
            #fn("n2702101>22262:" #(call-with-values #fn("n070AF62:" #(compile-f-) 7)
                                    #fn("n20:" 4)) compile-f 7)
            compile-f- #fn("n2Ib620862186>1_51472501T731T517415175761T52277875798;5252731518=J702:@408=88H360E@802;88518?2;8;51~757<8;522;8A5186<8:518C3=07=2>8C52@30q48;3\x8c08AJL07?872@8@893808?U@408?54@j07A877B277C277D8A527E8B5153515247?872F8@8B893808?U@408?55@30q42G8?L23I07?87893702H@402I8?53@W0893?07?872J8?53@E08;J?07?872K8?53@30q48;3B07L8708;8:8@55@30q48:8<3?07M8:2N8<53@408:8<3=07M8:8<52@408:7O08E7P7Q1518F52537R878G<5247S872;8F51r4M5247T878GD7Q1515447?872U5247V2W7X87EG517Y87518>87r5G2;8D51~D5587r3G62:" #(#1=#fn("z0I:" #() void 4)
  #fn("n10<0=863J0702185>18652;J904A<8661:q:" #(any #fn("n1A0Q;3404A:" 6)) any-duplicates 9)
  make-code-emitter lastcdr lambda:vars filter cons? #fn(map) caddr cddr λ #fn(length) keyword-arg?
  compile-error "duplicate argument: " emit optargs bcode:indexfor make-perfect-hash-table cons car
  iota keyargs 255 vargc.l argc.l vargc argc emit-optional-arg-inits append (NIL NIL NIL NIL)
  extend-env complex-bindings lambda:body box-vars bcode:stack compile-in ret values #fn(fn)
  encode-byte-code const-to-idx-vec) compile-f- 30)
            compile-if #fn("n420502050205083T718351728351B3;0738351@30q8;DC=07401828<64:8;J=07401828=64:7401q8;89554750268953475027885347401828<544823<07502852@;0750298:53475027895347401828=544750278:63:" #(#fn(gensym)
  caddr cdddr cadddr compile-in emit brn label ret jmp) compile-if 16)
            compile-in #fn("\x8740005000W4000J60q?4483R3<0700183D64:83H3\x97083EC:07102262:83KC:07102362:83DC:07102462:83J:07102562:7683513:07102762:7883513<0710298363:7102:8363:83<2;C<07<0183=63:83<RS;JD0483<Z;J;047=83<1523=07>01828364:83<892?CS07@83T513>07A018283T64:7102:83T63:892BC=07C01828364:892DC>07E018283=64:892FC;07G018363:892HCD07I2J183>22K01>262:892LC@07M018283=8465:892NC>07O018283=64:892PCE07Q0183T2D7R8351P64:892SCS07A01D83=B38083T@607T505447102U62:892VC\x97083T7W7R8351518;<<8;=8:R360q@>07X2Y2Z8:2[5448<3Y07\\8:8<8=<B;3F048=<<2HQ;3:047]8=<5153@30q47^018:8=<64:892_Cp07A01q2Hq83Te35447`7a835151360q@807b2c5147A01q7a83515447102_62:7>01828364:" #(compile-sym
  emit load0 load1 loadt loadnil void? loadvoid fits-i8 loadi8 loadv aset! compile-aset! in-env?
  compile-app quote self-evaluating? compile-in if compile-if begin compile-begin prog1
  compile-prog1 λ call-with-values #fn("n070AF62:" #(compile-f-) 7)
  #fn("n270A21053413K02223AF>2152470A242515163:q:" #(emit loadv #fn(for-each)
                                                     #fn("n170AF0q64:" #(compile-sym) 9) closure #fn(length)) 9)
  and compile-and or compile-or while compile-while cddr return void ret set!
  separate-doc-from-body type-error "set!" symbol "name" sym-set-doc lambda:vars compile-set!
  trycatch 1arg-lambda? caddr compile-error "trycatch: second form must be a 1-argument lambda") compile-in 14)
            compile-let #fn("n483<83=0r4G88T70018953718;727388518;528:537408=524258=1<521=P7608>827388515447708<U524E8<L23A082J<0780298<63:q:" #(compile-arglist
  vars-to-env complex-bindings caddr box-vars #fn(nconc) compile-in bcode:stack emit shift) compile-let 17)
            compile-or #fn("n470018283q21q67:" #(compile-short-circuit brnn) compile-or 12)
            compile-prog1 #fn("n37001q82T544718251B3W0720K5247301q71825154474025524720r/62:q:" #(compile-in
  cddr bcode:stack compile-begin emit pop) compile-prog1 10)
            compile-set! #fn("n470821E538821CF07201q83544730248263:88<El288=T893<07588=51@9076082528:3g07308937027@40288;534790K5247201q83544790r/5247302:62:7201q8354489360q@>07;2<2=82525147302>8;63:" #(lookup-sym
  global compile-in emit setg vinfo:index capture-var! loada loadc bcode:stack set-car! error #fn(str)
  "internal error: misallocated var " seta) compile-set! 13)
            compile-short-circuit #fn("n783H3?0700182848665:83=H3@070018283<8665:86;J70421507001q83<86554720K52486360q@9073024524730858;534720r/52486360q@907302552476018283=84858657486340q:730278;63:" #(compile-in
  #fn(gensym) bcode:stack emit dup pop compile-short-circuit label) compile-short-circuit 13)
            compile-sym #fn("n470821E538821C`02282513M073248251513@07502624825163:750278263:88<El23W0750287988=51534833A088=T3:07502:62:q:7502;7<08252534833A088=T3:07502:62:q:" #(lookup-sym
  global #fn(const?) printable? #fn(top-level-value) emit loadv loadg loada vinfo:index car loadc
  capture-var!) compile-sym 11)
            compile-thunk #fn("n170q21q72051e362:" #(compile-f λ lower-def) compile-thunk 10)
            compile-while #fn("n4205020507101q7250544730K52474025885347101q82544740268953474027524730r/5247101q835447402888534740258963:" #(#fn(gensym)
  compile-in void bcode:stack emit label brn pop jmp) compile-while 11)
            complex-bindings #fn("n2205020507101qq8687564722386>174875162:" #(#fn(table)
                                                                              complex-bindings-
                                                                              filter #fn("n120A062:" #(#fn(has?)) 7)
                                                                              table-keys) complex-bindings 13)
            complex-bindings- #fn("n61J40q:0R3K0833D02001523;021840D63:q:0H;J80472051340q:0<23Co0200T1523Q021850TD534833>021840TD53@30q@30q474750511q83848566:0<26CU074770517817905152q82S;J50483848566:740<17:051838485562;2<1838485>40=52P:" #(#fn(memq)
  #fn(put!) quoted? set! complex-bindings- caddr λ lambda:body diff lambda:vars inlineable? #fn(map)
  #fn("n1700AqF929366:" #(complex-bindings-) 11)) complex-bindings- 11)
            const-to-idx-vec #fn("n1200r2G51212285>10KG52485:" #(#fn(vec-alloc)
                                                                 #fn(for-each)
                                                                 #fn("n2A10p:" 7)) const-to-idx-vec 9)
            copy-list #fn("\x8710002000W1000J60q?14Ib620862186>1_514qqP86<870153487=:" #(#0#
  #fn("n382;3?0482El2;3504I:41360q@40I:41<qP087N4A<871=82;390470825163:" #(1-) copy- 10)) copy-list 10)
            copy-tree #fn("n10H3400:700<51700=51P:" #(copy-tree) copy-tree 7) count
            #fn("n2Ib620862186>1_51486<01E63:" #(#0#
                                                 #fn("n31J5082:A<01=01<5139082KM@408263:" #() count- 9)) count 9)
            delete-duplicates #fn("n1700rD523O02150Ib686228586>2_486<^10q62:0H3400:0<0=73858652390748661:85748651P:" #(length>
  #fn(table) #fn("n20H38070161:21A0<523:0F<0=162:22A0<D534F<0=0<1P62:" #(reverse! #fn(has?)
                                                                         #fn(put!)) 8) member
  delete-duplicates) delete-duplicates 9)
            diff #fn("n20J40q:200<1523:0710=162:0<710=152P:" #(#fn(memq) diff) diff 8) div
            #fn("n201k0EL2;3D041EL2;3404K;J504r/;J404EM:" #() div 7) emit #fn("z2I2021?75140EG82Jk0122CB088<23C:08824_@R0125CE08788<513;00E88=p@900E188Pp@D126127523A078082<52e1?2@30q42912:52893D02;82<L23:089T?1@30q^142912<52893D02;82<L23:089T?1@30q^1412=C\\0822>d3=02??14q?2@F0822@d3=02A?14q?2@30q@30q412BC\\0822>d3=02C?14q?2@F0822@d3=02D?14q?2@30q@30q488<12EQ;3b04892FCB00E82<2G88=PPp@J0892HCB00E82<2I88=PPp@30q;J@040E7J182P8852p^140:" #(#0#
  #fn("n17002162:" #(member (load0 load1 loadt loadf loadnil loadvoid)) load? 7) car cdr cadr pop
  #fn(memq) (loadv loadg setg) bcode:indexfor #fn(assq)
  ((loadv loadv.l) (loadg loadg.l) (setg setg.l) (loada loada.l) (seta seta.l) (box box.l)) 255 ((loadc
  loadc.l)) loada (0) loada0 (1) loada1 loadc loadc0 loadc1 brn not brnn eq? brne nreconc) emit 12)
            emit-optional-arg-inits #fn("n582B3\xa70205071022845347382513<07102452@30q471025895347607717883E8453q53q7982515447102:845347102;5247102<895347=0182=8384KM65:q:" #(#fn(gensym)
  emit bounda cddar dup brnn compile-in extend-env subseq cadar seta pop label
  emit-optional-arg-inits) emit-optional-arg-inits 13)
            encode-byte-code #fn("n1700517185512286517387r387r2ki2M2452255025502650qqEI8>87L23\xbc14868>G?<48<27CP02889868>KMG298;515348>r2M?>@\x8b12:8;2;7<883k08<8C2=C702>@X08C2?C702@@L08C2AC702B@@08C2CC702D@408<^1@408<525248>KM?>48>87L2;3804868>G?=42E8<2F523`0288:298;518=5342:8;883707G@407HE515248>KM?>@\xeb08<2ICH02:8;2J8=515248>KM?>@\xce08=X3\xc708<2E8?2K523H02:8;2J8=515248>KM?>@\x9f02E8?2L523\x8102:8;2J8=515248>KM?>42:8;2J868>G515248>KM?>48<2MCK02:8;2J868>G515248>KM?>@30q@E02:8;2N8=515248>KM?>^1@30q@\x9f.42O2P8;8889>38:5242Q8;61:" #(reverse!
  list->vec #fn(length) >= 65536 #fn(table) #fn(buffer) label #fn(put!)
  #fn(sizeof) #fn(io-write) #fn(get) Instructions jmp jmp.l brne brne.l brnn brnn.l brn brn.l #fn(memq)
  (jmp brne brnn brn) s32 s16 bounda #fn(s32) (loadv.l loadg.l setg.l loada.l seta.l argc.l vargc.l
                                               call.l tcall.l loadc.l box.l) (optargs keyargs)
  keyargs #fn(u8) #fn(for-each) #fn("n220A052421AF37072@407324921520~5162:" #(#fn(io-seek)
                                                                              #fn(io-write) s32 s16
                                                                              #fn(get)) 10)
  #fn(io->str)) encode-byte-code 21)
            error #fn("z020210P61:" #(#fn(raise) error) error 7) eval
            #fn("n170710515160:" #(compile-thunk macroexpand) eval 7) even? #fn("n1200K52El2:" #(#fn(logand)) even? 7)
            every #fn("n21H;JD0401<51;3:047001=62:" #(every) every 7) expand-def
            #fn("n10T70051B3:070051@H085R37021@=07223740515285R3<0258586<e3:2585<2627e185=e178865185<54e3:" #(cddr
  #1# compile-error "invalid syntax " print-to-str set! #fn(nconc) λ copy-list) expand-def 13)
            extend-env #fn("n370182E530P:" #(vars-to-env) extend-env 8) filter
            #fn("n2I20210>1?65148601qe163:" #(#0# #fn("n382I1B3Q04A1<513?0821<qPN=?2@30q41=?1@\x0e/4=:" #() filter- 8)) filter 9)
            find #fn("O200050007000W2000J7071?24W3000J7072?34W4000J60E?44W5000J60q?54W6000J60q?647324830>2125822684278528866::" #(#(:key
  0 :test 1 NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL :end 3 :start 2 NIL NIL NIL NIL NIL NIL NIL NIL
  NIL NIL NIL NIL :from-end 4) identity equal? find-if #fn("n1AF062:" 7) :key :start :end :from-end) find 15)
            find-if #fn("O200040006000W2000J7071?24W3000J60E?34W4000J60q?44W5000J60q?54Ib:228:230828:>3_514741838453?14853<075151?1@30q48:<161:" #(#(:key
  0 NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL :end 2 :start 1 NIL NIL NIL NIL NIL NIL NIL NIL
  NIL NIL NIL NIL :from-end 3) identity #0# #fn("n10S;J;04AF0<51513500<:92<0=61:" #() find-if- 7)
  subseq reverse!) find-if 9)
            fits-i8 #fn("n10Y;3<0470r\xaf0r\xb063:" #(>=) fits-i8 8) fn-disasm
            #fn("\x871000.///z2W1000J60q?140[3I07021122534735047460:@30q482JG07501E534735047460:@30q482<2605127051II282987>1?:514282:187>2?;514E2;8851b<I8<<8=L23\x8a242<2=888<>2q7>53E8<<L23907350@30q4E87K~2?|48<8<<KM_48>2@8?2A523[08;8>8<<r45348:897B888<<52G5148<8<<r4M_@\x1912@8?2C523V08;8>8<<K5348:89888<<GG5148<8<<KM_@\xea12@8?2D523e08;8>8<<K534702E888<<G8>2FC70r3@30EM515148<8<<KM_@\xac12@8?2G523\\08;8>8<<r4534702E7B888<<52515148<8<<r4M_@w12@8?2H523\xb808;8>8<<r88>2IC70r4@30EM534702E7B888<<52512J5248<8<<r4M_4702E7B888<<52515148<8<<r4M_48>2ICY0702J514702E7B888<<52512J5248<8<<r4M_@30q@\xe608?2Kc3^08;8>8<<r4534702E7B888<<52512J5248<8<<r4M_@\xb202@8?2L523b08;8>8<<r2534702M7N8<<7O888<<52M515248<8<<r2M_@w02@8?2P523b08;8>8<<r4534702M7N8<<7B888<<52M515248<8<<r4M_@<08;8>8<<E53^1^1@\xd0-:" #(princ
  " > " " // PC" newline void fn-disasm #fn(fn-code)
  #fn(fn-vals) #1# #fn("n10\\3F00[JA070504710qAKM63:72061:" #(newline fn-disasm print) print-val 9)
  #fn("n370A3U0FEl23N071A72151523A0A182ML237023@4024751K~512602765:" #(princ >= 1- " >" "  " hex5
                                                                       ":  " " ") print-inst 10)
  #fn(length) #fn(table-foldl) #fn("n382;J@041AF<Gl2;34040:" 7) Instructions #fn("n1702161:" #(princ
  "\t") 6) #fn(memq) (loadv.l loadg.l setg.l) ref-s32-LE (loadv loadg setg)
  (loada seta loadc call tcall list + - * / < = vec argc vargc loadi8 apply tapply closure box
   shift aref) #fn(num->str) aref (loada.l seta.l loadc.l argc.l vargc.l call.l tcall.l box.l) (optargs
  keyargs) keyargs " " bounda (jmp brne brnn brn) "@" hex5 ref-s16-LE (jmp.l brne.l brnn.l brn.l)) fn-disasm 20)
            foldl #fn("n382J401:700082<15282=63:" #(foldl) foldl 9) foldr
            #fn("n382J401:082<700182=5362:" #(foldr) foldr 10) get-defined-vars #fn("n170A<05161:" #(delete-duplicates) #(#2=(#fn("n10H340q:0<20Cd00=B3^00TR;37040Te1;JM040TB;3E0471051R;3:0471051e1:0<22C?07324A<0=52}2:q:" #(def
  caadr begin nconc #fn(map)) #(#2#) 8))) 7)
            get-syntax #fn("n120710q63:" #(#fn(get) *syntax-environment*) get-syntax 8) getprop
            #fn("\x8720003000W2000J60q?2420711q5387;3<04208708253;J50482:" #(#fn(get) *properties*) getprop 9)
            help-print-header #fn("O200020004000W2000J60q?24W3000J7021?3413A02223830>2152@V07483514823@074750512652@70770514785047860:" #(#(:kind
  0 NIL NIL :lpad 1 NIL NIL) "" #fn(for-each) #fn("n170A51471F0P5147260:" #(princ print newline) 7)
  princ caddr " (group)" print newline) help-print-header 7)
            hex5 #fn("n170210r@52r52263:" #(str-lpad #fn(num->str) #\0) hex5 8) identity
            #fn("n10:" #() identity 4) in-env? #fn("n21B;3F042001<52;J:047101=62:" #(#fn(assq)
                                                                                     in-env?) in-env? 7)
            index-of #fn("n31J40q:01<C5082:7001=82KM63:" #(index-of) index-of 9) inlineable?
            #fn("n10<85B;3t0485<20Q;3i047185T51;3]04727385T52;3O047485T2552S;3@047685T270=5162:" #(λ
  proper-list? every sym? length> 255 length= #fn(length)) inlineable? 9)
            io-readall #fn("n1205021850524228561:" #(#fn(buffer)
                                                     #fn(io-copy)
                                                     #fn(io->str)) io-readall 8)
            io-readline #fn("n12002162:" #(#fn(io-readuntil) #\newline) io-readline 7) io-readlines
            #fn("n17071062:" #(read-all-of io-readline) io-readlines 7) iota #fn("n17071062:" #(map-int
  identity) iota 7)
            keyword->sym #fn("n1200513K021220512386K24865153^161:0:" #(#fn(keyword?)
                                                                       #fn(sym)
                                                                       #fn(str)
                                                                       #fn(str-sub)
                                                                       #fn(str-length)) keyword->sym 11)
            keyword-arg? #fn("n10B;3904200<61:" #(#fn(keyword?)) keyword-arg? 6) lambda-vars
            #fn("n1Ib520852185>1_51485<00qq54422237405162:" #(#0#
                                                              #fn("n40S;J5040R340D:0B3Z00<R3T082;J504833<0702112263:A<0=1828364:0B3\xa500<B3\x9f073051R3Y0740<r252;JF04740<r352;390475051R360q@=070260<2715442873051513=0A<0=182D64:833<0702112963:A<0=1D8364:0B3>0702:0<27164:01C:07021162:702:027164:" #(compile-error
  "invalid argument list " ": optional arguments must come after required" caar length= caddar "invalid optional argument "
  " in list " #fn(keyword?) ": keyword arguments must come last."
  "invalid formal argument ") check-formals 9) #fn(map)
                                                              #fn("n10B390700<61:0:" #(keyword->sym) 6)
                                                              to-proper) lambda-vars 10)
            lambda:body #fn("n170061:" #(caddr) lambda:body 6) lambda:vars
            #fn("n1700T61:" #(lambda-vars) lambda:vars 6) last-pair #fn("n10=H3400:700=61:" #(last-pair) last-pair 6)
            lastcdr #fn("n10H3400:70051=:" #(last-pair) lastcdr 6) length=
            #fn("n21EL2340q:0B3<0700=1K~62:210511l2:" #(length= #fn(length)) length= 8) length> #fn("n21EL2340D:0B3<0700=1K~62:121051L2:" #(length>
  #fn(length)) length> 8)
            list->vec #fn("n1700}2:" #(vec) list->vec 6) list-ref
            #fn("n2700152<:" #(list-tail) list-ref 7) list-tail #fn("n2701E523400:710=1K~62:" #(<=
  list-tail) list-tail 8)
            list? #fn("n10S;J5040B:" #() list? 5) load
            #fn("n120021522285>12385>1{:" #(#fn(file) :read #fn("n0Ib48420A84>2_484<^1III63:" #(#fn("n320A51JG0F<21A510721514735063:24A514737215161:" #(#fn(io-eof?)
  #fn(read) load-process void #fn(io-close)) 9)) 8)
                                            #fn("n120A51421220e261:" #(#fn(io-close)
                                                                       #fn(raise) load-error) 7)) load 7)
            load-process #fn("n170061:" #(eval) load-process 6) lookup-sym
            #fn("n31J5020:1<2108752883808288P:7201=82KM63:" #(global #fn(assq) lookup-sym) lookup-sym 11)
            lower-def #fn("n1I2021?55140H;J804720513400:0<23C@024757605151e2:0<27CK02827e10Te185051e17905164:2:75062:" #(#0#
  #fn("n170051B3N071051B3=02270051P@7073051@607450758551768551863D0278687e328748652P:87:" #(cddr
  cdddr begin caddr void get-defined-vars lower-def λ #fn(map)) λ-body 11) quoted? def #1#
  lower-def expand-def λ #fn(nconc) lastcdr #fn(map)) lower-def 11)
            macrocall? #fn("n10<R;3904700<61:" #(get-syntax) macrocall? 6) macroexpand
            #fn("n1IIIIIIIIIIIb5b6b7b8b9b:b;b<b=b>b?208521_51420862286>1_514208723e1_51420882485868?87>4_5142089258?89>2_514208:268:>1_514208;278:8988>3_514208<288?8:8988>4_514208=29888?>2_514208>2:_514208?2;8?8>8;8<8=>5_5148?<0q62:" #(#0#
  #fn("n20Z;J904200152S:" #(#fn(assq)) top? 7) #fn("n10H3400:020d3400:0<B3P07105122CF073A<7405151A<0=5162:0<A<0=51P:" #(((begin))
  caar begin append cdar) splice-begin 8) *expanded* #fn("n20H3400:A<201523:0F<051@300A<2115287;39047286512324758852152b987JA024269289>28662:Ib:8:278:928993>4_48:<^186518:I8;B3c0493<788;51QJC08;92<8;<89<52_@;08;798;51_48;=?;@\xfb/48::" #(begin
  def get-defined-vars #fn(nconc) #fn(map) list #fn("n1A<0F<62:" 7)
  #fn("n10H3400:0<B3F02071051C<00<A<0=51P:F<0<92<52922223747585515292<52_493<85PA<0=51P:" #(def
  caar #fn(nconc) #fn(map) list get-defined-vars) 11) caar cdar) expand-body 14)
  #fn("n20H3400:0<B3R00<=B3K070051A<7105115272051PP@400<F<0=152P:" #(caar cadar cddar) expand-lambda-list 8)
  #fn("n10H3600e1:0<B3?070051A<0=51P:0<A<0=51P:" #(caar) l-vars 7)
  #fn("n20T7005171051A<0T5122237489521522225e1F<868:52e192<888:528764:" #(lastcdr cddr #fn(nconc)
                                                                          #fn(map) list λ) expand-lambda 15)
  #fn("n20=S;J6040TH3n070051J400:0T71700515187<87=883=072868852@30q42386A<89<152e3:740517505171700515188<88=F<86512627788;52152893?07287898653@30q42623e18792<868<52Pe193<8:8<5263:" #(cddr
  separate-doc-from-body sym-set-doc def cdadr caadr #fn(nconc)
  #fn(map) list) expand-define 17) #fn("n20T20A<71051222324F1>2865215252P:" #(begin cddr #fn(nconc)
                                                                              #fn(map)
                                                                              #fn("n10<70A<0TF525150Fe3:" #(compile-thunk) 9)) expand-let-syntax 12)
  #fn("n20:" #() local-expansion-env 4) #fn("n20H3400:0<208615221A10>3873P087=B3I0A<87T0=f2F<72875115262:73051893>0A<890=f2162:87;J?0486RS;J60486Z3708860:8624C400:8625C:092<0162:8626C:093<0162:8627C:094<0162:8860:" #(#fn(assq)
  #fn("n0Ib48420AF84>3_484<^19261:" #(#fn("n10H3400:0<H3700<@90A<0<F5292<0=51P:" 7)) 6) caddr
  macrocall? quote λ def let-syntax) expand-in 12)) macroexpand 18)
            macroexpand-1 #fn("n10H3400:7005185390850=}2:0:" #(macrocall?) macroexpand-1 7)
            make-code-emitter #fn("n0q2050EqEEo6:" #(#fn(table)) make-code-emitter 10)
            make-perfect-hash-table #fn("n1Ib5208521_514Ib6862285860>3_486<^12305161:" #(#1#
  #fn("n270712205151162:" #(mod0 abs #fn(hash)) $hash-keyword 8)
  #fn("n120r20i2q52Ib68621A085F86>5_486<^19261:" #(#fn(vec-alloc)
                                                   #fn("n10B3p070051r2A<85F52i29286G3;093<FKM61:928685p49286KM71051p494<0=61:92:" #(caar
  cdar) 10)) 7) #fn(length)) make-perfect-hash-table 8)
            make-system-image #fn("n120021222354247576Dw54Dw64278788>2288685>22989>1{89504:" #(#fn(file)
  :write :create :truncate (*linefeed* *directory-separator* *argv* that *exit-hooks*
                                       *print-pretty* *print-width* *print-readably* *print-level*
                                       *print-length* *os-name* *interactive* *prompt* *os-version*
                                       *exception-print-level* *exception-print-length* ptr)
  *print-pretty* *print-readably* #fn("n0Aw04Fw1:" #(*print-pretty* *print-readably*) 4)
  #fn("n07021A>1722350245252752677842678845253f22985F5242:F7;52^1^142<F61:" #(filter #fn("n10Z;3u0420051S;3j0421051[S;JC0422051222105151dS;3I04230A52S;3=04242105151S:" #(#fn(const?)
  #fn(top-level-value) #fn(str) #fn(memq) #fn(io?)) 8) sort #fn(environment) #.< nconc #fn(map)
                                                                              list top-level-value
                                                                              #fn(write)
                                                                              #fn(io-write)
                                                                              *linefeed* #fn(io-close)) 12)
  #fn("n1A50420061:" #(#fn(raise)) 6)) make-system-image 11)
            map! #fn("n21I1B3B04101<51_41=?1@\x1d/4:" #() map! 8) map-int
            #fn("n2E1L2;3S040E51qPqb78786_4K7015121870>2|486:" #(1- #fn("n1A<F051qPN4AA<=_:" 7)) map-int 9)
            max #fn("z113;070210163:0:" #(foldl #fn("n201L23401:0:" 6)) max 8) member
            #fn("n21<0d3401:13:07001=62:q:" #(member) member 7) memv #fn("n21<0c3401:13:07001=62:q:" #(memv) memv 7)
            min #fn("z113;070210163:0:" #(foldl #fn("n201L23400:1:" 6)) min 8) mod
            #fn("n207001521i2~:" #(div) mod 8) mod0 #fn("n2001k1i2~:" #() mod0 7) negative?
            #fn("n10EL2:" #() negative? 6) nestlist #fn("n3E82L2;3B041700015182K~53P:" #(nestlist) nestlist 10)
            newline #fn("\x8700001000W0000J7070?04210725247360:" #(*io-out* #fn(io-write)
                                                                   *linefeed* void) newline 7)
            nreconc #fn("n2701062:" #(reverse!-) nreconc 7) odd?
            #fn("n170051S:" #(even?) odd? 6) partition #fn("n2I2021?65148601qe1qe164:" #(#0#
  #fn("n48283PI1B3Z0401<513?0821<qPN=?2@<0831<qPN=?341=?1@\x05/47088<=88==62:" #(values) partition- 8)) partition 10)
            positive? #fn("n1E0L2:" #() positive? 6) princ
            #fn("z070qw042185>1220>12386>1{86504:" #(*print-readably* #fn("n0Aw0:" #(*print-readably*) 4)
                                                     #fn("n02071A62:" #(#fn(for-each) write) 7)
                                                     #fn("n1A50420061:" #(#fn(raise)) 6)) princ 8)
            print #fn("z02071062:" #(#fn(for-each) write) print 7) print-exception
            #fn("n1I2021?551472051;3N04720<51;3C04237405151;35040<863700=@30087;3?0487<R;360487<88;360487=863O0752686<512786T277886512956@30q4882:C\x840752;5147<89r252360q@A07589<2952489=?942=2>7?8951524752@89<2A2B89T51295548589T51@M1882CCH0752D89T2E5348589<51@01882FC@0752G89<2H53@\x1b0882ICB0752J5147589f2@\x040882KC?07L89<514I:@\xf00882MCB0752N5147589f2@\xd90882OCB0752P5147589f2@\xc20882QC>0752R89<52@\xaf0882SCR0752T89<513702U@402V5147W89<51@\x880882XCB0752Y5147589f2@q0882ZCB0752[5147589f2@Z0882\\Q;J804882]Q3;07589f2@?0752^5147W875147_60:" #(#0#
  #fn("n1707172;J50470w0473;J50474w14258586>2260>12787>1{87504:" #(*print-level* *print-length*
                                                                   *exception-print-level*
                                                                   *exception-print-length*
                                                                   *print-length #fn("n0Aw04Fw1:" #(*print-level*
  *print-length*) 4) #fn("n070A61:" #(print) 6) #fn("n1A50420061:" #(#fn(raise)) 6)) print-value 9)
  list? #fn(io?) caar princ #fn(io-filename) ":" caddr ": " type-error "type error: " length= #fn(for-each)
  #fn("n17002162:" #(princ ": ") 7) cddr "expected " ", got " #fn(type-of) bounds-error "index " " out of bounds for "
  unbound-error "eval: variable " " has no value" error "error: " load-error print-exception
  parse-error "parsing error: " arg-error "arguments error: " key-error "key not found: "
  const-error #fn(keyword?) "keywords are read-only: "
  "tried to modify a constant: " print io-error "I/O error: " assert-failed "assertion failed: "
  divide-error memory-error "*** Unhandled exception: " newline) print-exception 16)
            print-stack-trace #fn("n1IIb5b620852185>1_51420862285>1_5147374252627505252Eb82829868788>37:05162:" #(#0#
  #fn("n32005182P2105121151C?022232487e361:25051E76278851512888A187>4|:" #(#fn(fn-name)
                                                                           #fn(fn-code)
                                                                           #fn(raise) thrown-value
                                                                           ffound #fn(fn-vals) 1-
                                                                           #fn(length)
                                                                           #fn("n170A0G513>0F<A0G929363:q:" #(closure?) 8)) find-in-f 10)
  #fn("n220A01>321{863E0722374758651522662:0[38027061:28:" #(#fn("n02021AF>292524q:" #(#fn(for-each)
                                                                                       #fn("n1A<0Fq63:" 8)) 7)
                                                             #fn("n10B3F00<20C?00T21C8072061:23061:" #(thrown-value
  ffound caddr #fn(raise)) 6) str-join #fn(map) str reverse! "/" #fn(fn-name) "λ") fname 10) filter
  closure? #fn(map) #fn("n10Z;380420061:" #(#fn(top-level-value)) 6)
  #fn(environment) #fn(for-each) #fn("n17021A<0KGF52524r2722305151240>1|470257652492<El23?0770KG0EG52@30q49292<KM_:" #(princ
  "(" 1- #fn(length) #fn("n1702151472A0G61:" #(princ " " print) 7) ")" *linefeed* fn-disasm) 9)
  reverse!) print-stack-trace 12)
            print-to-str #fn("z02050212285>10524238561:" #(#fn(buffer)
                                                           #fn(for-each)
                                                           #fn("n1200A62:" #(#fn(write)) 7)
                                                           #fn(io->str)) print-to-str 8)
            printable? #fn("n120051;JB0471051;J80422051S:" #(#fn(io?) void? #fn(eof-object?)) printable? 6)
            proper-list? #fn("n1Ib520852185>1_5140S;JA040B;3:0485<0062:" #(#0#
                                                                           #fn("n20=1=87B38087=@408786B3I088B3C08688QJ;0A<868862:86S;J60486B;360488S:" #() proper? 10)) proper-list? 8)
            putprop #fn("n320711q5387360q@F02250237118853488?7^14238708253482:" #(#fn(get)
                                                                                  *properties* #fn(table)
                                                                                  #fn(put!)) putprop 10)
            quote-value #fn("n1700513400:210e2:" #(self-evaluating? quote) quote-value 6) quoted?
            #fn("n10<20Q:" #(quote) quoted? 6) random #fn("n1200513<0712250062:23500i2:" #(#fn(int?)
  mod #fn(rand) #fn(rand-f64)) random 7)
            read-all #fn("n17071062:" #(read-all-of read) read-all 7) read-all-of
            #fn("n2Ib686201860>3_486<^1q015162:" #(#fn("n220A5138071061:F<10P92A5162:" #(#fn(io-eof?)
  reverse!) 8)) read-all-of 8)
            ref-s16-LE #fn("n2202101EMGE522101KMGr852M61:" #(#fn(s16)
                                                             #fn(ash)) ref-s16-LE 10)
            ref-s32-LE #fn("n2202101EMGE522101KMGr8522101r2MGr@522101r3MGrH52g461:" #(#fn(s32)
                                                                                      #fn(ash)) ref-s32-LE 12)
            remprop #fn("n220711q5386;3F042286052;3:042386062:" #(#fn(get) *properties* #fn(has?)
                                                                  #fn(del!)) remprop 8)
            repl #fn("n0IIb4b5705042172514238424_5142385258485>2_51485<5047660:" #(*prompt* #fn(io-flush)
                                                                                   *io-out* #0#
                                                                                   #fn("n02021{227351S;3q047484517585513M07584513@076504277851@30q@=079855147:5047;85w<61:" #(#fn("n0207122D63:" #(#fn(read)
  *io-in* :whitespace) 8) #fn("n1207151422061:" #(#fn(io-discardbuffer) *io-in* #fn(raise)) 6)
  #fn(io-eof?) *io-in* load-process void? *prompt* #fn(io-flush) *io-out* print newline void that) prompt 8)
                                                                                   #fn("n020A>121{370F<60:q:" #(#fn("n0A<60:" 5)
  #fn("n1700514D:" #(top-level-exception-handler) 6)) reploop 5) newline) repl 8)
            revappend #fn("n2701062:" #(reverse-) revappend 7) reverse
            #fn("n170q062:" #(reverse-) reverse 7) reverse! #fn("n170q062:" #(reverse!-) reverse! 7)
            reverse!- #fn("n2I1B3B041=101?04N4?1@\x1d/40:" #() reverse!- 7) reverse-
            #fn("n21J400:701<0P1=62:" #(reverse-) reverse- 7) rune? #fn("n12005121Q:" #(#fn(type-of)
                                                                                        rune) rune? 6)
            self-evaluating? #fn("n120051S;3Z040H;36040RS;JK0421051;3A040R;3:04022051Q:" #(#fn(gensym?)
  #fn(const?) #fn(top-level-value)) self-evaluating? 7)
            separate-doc-from-body #fn("\x8710002000W1000J60q?14I2021?65140<0=2287513F01JB0883=07388871P62:13X02487513O086258751513B07388=8788<P1P62:761510P:" #(#0#
  #fn("n1r520051L2;3i04210K5222Q;3[04210r25223Q;3L04210r35224Q;3=04210r45225Q:" #(#fn(str-length)
                                                                                  #fn(str-rune)
                                                                                  #\d #\o #\c #\-) doc? 7)
  #fn(str?) separate-doc-from-body #fn(keyword?) #fn(str) reverse) separate-doc-from-body 11)
            set-syntax! #fn("n220710163:" #(#fn(put!) *syntax-environment*) set-syntax! 8) sort
            #fn("O200010003000W2000J7071?240=J400:0<7223182870>42418287>362:" #(#(:key 0) identity
                                                                                call-with-values #fn("n07021AF92>393=62:" #(partition
  #fn("n1AF051F925162:" 8)) 7) #fn("n220710A22F5492e1711A22F5463:" #(#fn(nconc) sort :key) 12)) sort 8)
            splice-form? #fn("n10B;3X040<20Q;JN040<21Q;JD040<22Q;3:04730r252;J704022Q:" #(unquote-splicing
  unquote-nsplicing unquote length>) splice-form? 7)
            str-join #fn("n20J5020:215022860<5242324861>20=524258661:" #("" #fn(buffer)
                                                                         #fn(io-write)
                                                                         #fn(for-each)
                                                                         #fn("n120AF52420A062:" #(#fn(io-write)) 7)
                                                                         #fn(io->str)) str-join 8)
            str-lpad #fn("n3207182122051~52062:" #(#fn(str) str-rep #fn(str-length)) str-lpad 10)
            str-map #fn("n2205021151EI8887L23O0422860231885251524748851?8@\f/^14258661:" #(#fn(buffer)
  #fn(str-length) #fn(io-putrune) #fn(str-rune) 1+ #fn(io->str)) str-map 13)
            str-rep #fn("n2701E5235021:721513@02307401K~5262:742300521r2k62:" #(<= "" odd? #fn(str)
                                                                                str-rep) str-rep 10)
            str-rpad #fn("n32007182122051~5262:" #(#fn(str) str-rep #fn(str-length)) str-rpad 11)
            str-tail #fn("n2200162:" #(#fn(str-sub)) str-tail 7) str-trim
            #fn("n3IIb7b820872187>1_51420882288>1_5142305124087<01E895488<082895363:" #(#0#
                                                                                        #fn("n48283L23P02012108252523A0A<017282518364:82:" #(#fn(str-find)
  #fn(str-rune) 1+) trim-start 9) #fn("n3E82L23R020121072825152523?0A<0172825163:82:" #(#fn(str-find)
                                                                                        #fn(str-rune)
                                                                                        1-) trim-end 10)
                                                                                        #fn(str-length)
                                                                                        #fn(str-sub)) str-trim 14)
            subseq #fn("\x8720003000W2000J60q?24IIb77007115152360q@90722315247418252360q@=07225182e252482;3L0470071825152S;3;0472268252427872882187>3_51427298201>3?85140B3:087<0162:0]390887:61:2;0513G0823;02<018263:2<0162:7=0513C02>051T882?89>161:q:" #(length>
  1- bounds-error "start" <= "start <= end" "end" #0#
  #fn("n21El23A0700A;3604AF~62:92<0=7115162:" #(copy-list 1-) subseq-l 8)
  #fn("n1A;J80420F5108592~5192718551228692F>3|486:" #(#fn(length) 1- #fn("n1A0F~920Gp:" 8)) subseq-av 9)
  vec-alloc #fn(str?) #fn(str-sub) arr? #fn(type-of)
  #fn("n120A0E63:" #(#fn(arr-alloc)) 8)) subseq 10)
            sym-set-doc #fn("z2Ib720872187>1_51422151883601@401<88360q@401=2387<825224Z3\xb40893\xaf0258926528<<8<=77288>528?;3H04298?51297:8?2;2<5351~8?;3?04232=8@>18>52748=8AP26527>02?8B5348:3>07>02@8:53@30q^1^1^1^1^1^1^1@30q48;B3[07A02B527C2D8<>18;527>02B7E8<8=5253^1^1@30q47F60:" #(#0#
  #fn("n10H3700:@30q40<85B3I07085r2523>07185Er253@4085A<0=51P:" #(length> subseq) formals-clean 9)
  #fn(str?) #fn(map) str-join #fn(str-split) "\n" any #fn("n1E20051L2;3B04210E5222Q;34040:" #(#fn(str-length)
  #fn(str-rune) #\space) 7) #fn(length) str-trim " " "" #fn("n170A2105152390220A62:0:" #(<= #fn(length)
  #fn(str-sub)) 8) putprop *doc* *doc-extra* getprop *formals-list* filter #fn("n1700A52S:" #(member) 7)
  append void) sym-set-doc 20)
            table-clone #fn("n12050212285>1q053485:" #(#fn(table)
                                                       #fn(table-foldl)
                                                       #fn("n320A0163:" #(#fn(put!)) 8)) table-clone 9)
            table-invert #fn("n12050212285>1q053485:" #(#fn(table)
                                                        #fn(table-foldl)
                                                        #fn("n320A1063:" #(#fn(put!)) 8)) table-invert 9)
            table-keys #fn("n12021q063:" #(#fn(table-foldl)
                                           #fn("n3082P:" 6)) table-keys 8)
            table-pairs #fn("n12021q063:" #(#fn(table-foldl)
                                            #fn("n301P82P:" 6)) table-pairs 8)
            table-values #fn("n12021q063:" #(#fn(table-foldl)
                                             #fn("n3182P:" 6)) table-values 8)
            to-proper #fn("n10J400:0H3600e1:0<700=51P:" #(to-proper) to-proper 7)
            top-level-exception-handler #fn("n17071w042285>1230>12486>1{86504:" #(*io-out* *stderr*
                                                                                  #fn("n0Aw0:" #(*io-out*) 4)
                                                                                  #fn("n070A51471225061:" #(print-exception
  print-stack-trace #fn(stacktrace)) 6) #fn("n1A50420061:" #(#fn(raise)) 6)) top-level-exception-handler 8)
            trace #fn("n120051718551Jc02207324252627280e225e3e229e12:2885e225e3e55152@30q^147;60:" #(#fn(top-level-value)
  traced? #fn(set-top-level-value!) eval λ #:g481 write cons quote newline apply void) trace 15)
            traced? #fn("n170051;3>042105121A51d:" #(closure? #fn(fn-code)) #(#fn("z020210P51472504230}2:" #(#fn(write)
  x newline #.apply) 7)) 7)
            type-error #fn("z020210P61:" #(#fn(raise) type-error) type-error 7) untrace
            #fn("n1200517185513C0220238551r3G52@30q^147460:" #(#fn(top-level-value) traced? #fn(set-top-level-value!)
                                                               #fn(fn-vals) void) untrace 9)
            values #fn("z00B3:00=J500<:A0P:" #() #(#3#) 6) vars-to-env
            #fn("n32021182>2072230515163:" #(#fn(map)
                                             #fn("n2700210A52SS1FM63:" #(vinfo #fn(memq)) 9) iota
                                             #fn(length)) vars-to-env 10)
            vec->list #fn("n1700}2:" #(list) vec->list 6) vinfo
            #fn("n30182e3:" #() vinfo 7) vinfo:heap? #.cadr vinfo:index
            #4# vinfo:sym #.car void
            #1# void? #fn("n10IQ:" #() void? 6) zero?
            #fn("n10El2:" #() zero? 6) zip #fn("z070710}3:" #(map list) zip 7) zip-with
            #fn("z17001}3:" #(map) zip-with 7))