From e4dbff50084483d843292f377ea47f3f0b5a6d2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Fri, 6 Oct 2023 05:34:49 -0400 Subject: [PATCH 01/24] Document and test new std/misc/bytes functions (#984) --- .gitignore | 2 +- doc/reference/std/misc/bytes.md | 164 ++++++++++++++++++++++++++++++++ src/gerbil/runtime/version.ss | 1 - src/std/misc/bytes-test.ss | 46 ++++++++- 4 files changed, 209 insertions(+), 4 deletions(-) delete mode 100644 src/gerbil/runtime/version.ss diff --git a/.gitignore b/.gitignore index c0f4d11a8..fc2aeda5e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ src/TAGS .build* doc/node_modules doc/.vuepress/dist -# src/gerbil/runtime/version.ss +src/gerbil/runtime/version.ss src/gerbil/boot-gxi src/bootstrap/static diff --git a/doc/reference/std/misc/bytes.md b/doc/reference/std/misc/bytes.md index e0f87e5cd..8e383c8df 100644 --- a/doc/reference/std/misc/bytes.md +++ b/doc/reference/std/misc/bytes.md @@ -440,3 +440,167 @@ The following low level unsafe operations are also exported. (&u8vector-swap! v i j) -> unspecified ``` + +## u8vector-init!, bytevector-init! +``` scheme +(u8vector-init! len fun) -> u8vector +``` + +`u8vector-init!` is take a non-negative fixnum `len` and a one-argument function `fun` +and creates a new `u8vector` of length `len` where each element is initialized +in increasing index order with the result of calling `fun` with the index as argument +(starting with `0`, assuming `len` is positive). + +::: tip Examples: +``` scheme +> (u8vector-init! 5 (lambda (x) (* x x))) +#u8(0 1 4 9 16) +``` +::: + +## u8vector-every +``` scheme +(u8vector-every pred? u8vector) -> bool +``` + +Return true if every element of the given `u8vector` satisfies the unary predicate `pred?`. + +::: tip Examples: +``` scheme +> (u8vector-every odd? #u8(1 3 5)) +#t +> (u8vector-every odd? #u8(1 2 3)) +#f +``` +::: + +## n-bits->n-u8 +``` scheme +(n-bits->n-u8 n) -> integer +``` + +Given a number `n` of bits, return the number `N` of 8-bit bytes necessary to store those `n` bits, +i.e. `N = (ceiling-align n-bits 8)`. + +::: tip Examples: +``` scheme +> (map (lambda (x) (list x (n-bits->n-u8 x))) '(0 1 2 7 8 9 16 21 63 100 1000)) +((0 0) (1 1) (2 1) (7 1) (8 1) (9 2) (16 2) (21 3) (63 8) (100 13) (1000 125)) +``` +::: + +## nat-length-in-u8 +``` scheme +(nat-length-in-u8 n) -> integer +``` + +Given a natural number `n` (non-negative, "unsigned"), +return the number of 8-bit bytes necessary to store all the bits of `n`. + +::: tip Examples: +``` scheme +> (map (lambda (x) (list x (nat-length-in-u8 x))) '(0 42 127 128 255 256 65535 65536)) +((0 0) (42 1) (127 1) (128 1) (255 1) (256 2) (65535 2) (65536 3)) +``` +::: + +## nat->u8vector +``` scheme +(nat->u8vector n [length] [endianness]) -> u8vector +``` + +Given a natural number `n` (non-negative, "unsigned"), +a `length` (which defaults to the minimal length required to store all the bits of `n`), +and an endianness (which defaults to `big`), +return a u8vector of given length which stores the bits of `n` in the given endianness. + +::: tip Examples: +``` scheme +> (nat->u8vector 66051) +#u8(1 2 3) +> (nat->u8vector 66051 4 little) +#u8(3 2 1 0) +``` +::: + +## u8vector->nat +``` scheme +(u8vector->nat u8vector [length] [endianness]) -> integer +``` + +Given a `u8vector`, a `length` no greater than that of the vector, +and an `endianness` (defaults to `big`), decode the first `length` bytes of `u8vector` +using the given endianness into a natural number (non-negative, "unsigned"). +Assuming the `length` and `endianness` match and the number fits in the `length`, +this is the inverse operation of `nat->u8vector`. + +::: tip Examples: +``` scheme +> (u8vector->nat #u8(1 2 3)) +66051 +> (u8vector->nat #u8(3 2 1 0) 4 little) +66051 +``` +::: + +## integer-length-in-u8 +``` scheme +(integer-length-in-u8 n) -> integer +``` + +Given a natural number `n` (non-negative, "unsigned"), +return the number of 8-bit bytes necessary to store all the bits of `n`. + +::: tip Examples: +``` scheme +> (map (lambda (x) (list x (integer-length-in-u8 x))) '(0 42 127 128 255 256 65535 65536)) +((0 0) (42 1) (127 1) (128 1) (255 1) (256 2) (65535 2) (65536 3)) +``` +::: + +## integer->u8vector +``` scheme +(integer->u8vector n [length] [endianness]) -> u8vector +``` + +Given a relative integer `n` (possibly negative, "signed"), +a `length` (which defaults to the minimal length required to store all the bits of `n`), +and an endianness (which defaults to `big`), +return a u8vector of given length which stores the bits of `n` in the given endianness. + +::: tip Examples: +``` scheme +> (integer->u8vector 66051) +#u8(1 2 3) +> (integer->u8vector -255) +#u8(255 1) +> (integer->u8vector 66051 4 little) +#u8(3 2 1 0) +> (integer->u8vector -66051 4 little) +#u8(253 253 254 255) +``` +::: + +## u8vector->integer +``` scheme +(u8vector->integer u8vector [length] [endianness]) -> integer +``` + +Given a `u8vector`, a `length` no greater than that of the vector, +and an `endianness` (defaults to `big`), decode the first `length` bytes of `u8vector` +using the given endianness into a natural number (non-negative, "unsigned"). +Assuming the `length` and `endianness` match and the number fits in the `length`, +this is the inverse operation of `integer->u8vector`. + +::: tip Examples: +``` scheme +> (u8vector->integer #u8(1 2 3)) +66051 +> (u8vector->integer #u8(255 1)) +-255 +> (u8vector->integer #u8(3 2 1 0) 4 little) +66051 +> (u8vector->integer #u8(253 253 254 255) 4 little) +-66051 +``` +::: diff --git a/src/gerbil/runtime/version.ss b/src/gerbil/runtime/version.ss deleted file mode 100644 index 23cea407a..000000000 --- a/src/gerbil/runtime/version.ss +++ /dev/null @@ -1 +0,0 @@ -(def (gerbil-version-string) "0.18-rc1") diff --git a/src/std/misc/bytes-test.ss b/src/std/misc/bytes-test.ss index b77c031ba..0a6ff7b32 100644 --- a/src/std/misc/bytes-test.ss +++ b/src/std/misc/bytes-test.ss @@ -26,7 +26,7 @@ (def u6-reverse (lambda () (u8vector-reverse u6))) (defrule (check-rep parse unparse rep obj) - (begin ;;let ((rep rep) (obj obj)) + (begin (check-equal? (parse rep) obj) (check-equal? (unparse obj) rep))) @@ -111,6 +111,8 @@ (check-equal? (u1-reverse) u1-reversed)) (test-case "test bytevector-reverse" (check-equal? (u6-reverse) u6-reversed)) + (test-case "test u8vector-init!" + (check-equal? (u8vector-init! 5 (lambda (x) (* x x))) #u8(0 1 4 9 16))) (test-case "test u8vector->bytestring, bytestring->u8vector" (for-each (match <> ([vec hex delim] @@ -144,4 +146,44 @@ (check-rep u8vector->integer integer->u8vector #u8(0 255) 255) (check-rep u8vector->integer integer->u8vector #u8(3 219) 987) (check-rep u8vector->integer integer->u8vector #u8(130 255) -32001) - (check-rep u8vector->integer integer->u8vector #u8(1 37 17) 75025)))) + (check-rep u8vector->integer integer->u8vector #u8(1 37 17) 75025)) + + (test-case "u8vector-every" + (check (u8vector-every odd? #u8(1 3 5)) => #t) + (check (u8vector-every odd? #u8(1 2 3)) => #f)) + + (test-case "n-bits->n-u8" + (check (map (lambda (x) (list x (n-bits->n-u8 x))) '(0 1 2 7 8 9 16 21 63 100 1000)) => + '((0 0) (1 1) (2 1) (7 1) (8 1) (9 2) (16 2) (21 3) (63 8) (100 13) (1000 125)))) + + (test-case "n-bits->n-u8" + (check (map (lambda (x) (list x (n-bits->n-u8 x))) '(0 1 2 7 8 9 16 21 63 100 1000)) => + '((0 0) (1 1) (2 1) (7 1) (8 1) (9 2) (16 2) (21 3) (63 8) (100 13) (1000 125)))) + + (test-case "nat-length-in-u8" + (check (map (lambda (x) (list x (nat-length-in-u8 x))) '(0 42 127 128 255 256 65535 65536)) => + '((0 0) (42 1) (127 1) (128 1) (255 1) (256 2) (65535 2) (65536 3)))) + + (test-case "nat<->u8vector" + (defrule (checks (v n a ...) ...) + (begin (begin (check (nat->u8vector n a ...) => v) + (check (u8vector->nat v a ...) => n)) ...)) + (checks (#u8(1 2 3) 66051) + (#u8(3 2 1 0) 66051 4 little) + (#u8(104 101 108 108 111) 448378203247)) + (check (nat->u8vector 25642 1 big) => #u8(42)) + (check (nat->u8vector 25642 1 little) => #u8(42))) + + (test-case "integer<->u8vector" + (defrule (checks (v n a ...) ...) + (begin (begin (check (integer->u8vector n a ...) => v) + (check (u8vector->integer v a ...) => n)) ...)) + (checks (#u8(1 2 3) 66051) + (#u8(3 2 1 0) 66051 4 little) + (#u8(104 101 108 108 111) 448378203247) + (#u8(255 1) -255) + (#u8(254 253 253) -66051) + (#u8(253 253 254 255) -66051 4 little)) + (check (integer->u8vector 25642 1 big) => #u8(42)) + (check (integer->u8vector 25642 1 little) => #u8(42))) + )) From 6304d3ad0ae41959e9635b8c6a03e129eec8f8b9 Mon Sep 17 00:00:00 2001 From: Drew Crampsie Date: Fri, 6 Oct 2023 03:52:32 -0700 Subject: [PATCH 02/24] Install fixes for MacOS (and remove the extra v) (#986) MacOS did not have a find argument that was used in installl.sh. Added `gfind` to the recipe and modified the install. Also removed the extra v as I got sick of `/opt/homebrew/Cellar/gerbil-scheme/0.18/vv0.18-rc1/lib/std/xml__rt.o1` If we plan to tag without a v we can put it back. --------- Co-authored-by: vyzo --- configure | 2 +- homebrew/README.org | 1 + homebrew/gerbil-scheme.rb | 1 + install.sh | 10 +++++++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 27d3c101f..7d26355df 100755 --- a/configure +++ b/configure @@ -57,7 +57,7 @@ package_out_of_tree() { echo "It is now available as an external package: github.com/mighty-gerbils/gerbil-${pkg}" } -readonly gerbil_version="v$(git describe --tags --always)" +readonly gerbil_version="$(git describe --tags --always)" readonly gerbil_targets="" readonly default_gambit_tag=24201248effa23d5017be4992b5b9879e4cd3a4c readonly default_gambit_config="--enable-targets=${gerbil_targets} --enable-single-host --enable-dynamic-clib --enable-default-runtime-options=tE8,f8,-8 --enable-trust-c-tco" diff --git a/homebrew/README.org b/homebrew/README.org index 708546c28..9829695fe 100644 --- a/homebrew/README.org +++ b/homebrew/README.org @@ -169,6 +169,7 @@ Now the things it depends on. depends_on "sqlite" depends_on "zlib" depends_on "gcc" + depends_on "findutils" fails_with :clang do cause "gerbil-scheme is built with GCC" diff --git a/homebrew/gerbil-scheme.rb b/homebrew/gerbil-scheme.rb index c6b7f95d5..c769073dc 100644 --- a/homebrew/gerbil-scheme.rb +++ b/homebrew/gerbil-scheme.rb @@ -11,6 +11,7 @@ class GerbilScheme < Formula depends_on "sqlite" depends_on "zlib" depends_on "gcc" + depends_on "findutils" fails_with :clang do cause "gerbil-scheme is built with GCC" diff --git a/install.sh b/install.sh index b771a8fb0..8727ea083 100755 --- a/install.sh +++ b/install.sh @@ -7,6 +7,14 @@ die() { exit 1 } +if [ $(uname) = "Darwin" ]; +then + FIND=gfind +else + FIND=find +fi + + install() { local prefix="${1}" mkdir -p "${prefix}" || die @@ -40,7 +48,7 @@ install_src_files() { local dest="${2}" local oldpwd="$(pwd)" cd "${src}" - for f in $(find -name \*.ss -or -name \*.ssi -or -name \*.scm -or -name \*.c | egrep -v "/[.]gerbil" | grep -v build.ss); do + for f in $(${FIND} -name \*.ss -or -name \*.ssi -or -name \*.scm -or -name \*.c | egrep -v "/[.]gerbil" | grep -v build.ss); do mkdir -p $(dirname "${dest}/${f}") || die cp -v "${f}" "${dest}/${f}" || die done From 324686a7d1c8b5739025727e6c62819437ec38f4 Mon Sep 17 00:00:00 2001 From: vyzo Date: Fri, 6 Oct 2023 15:52:15 +0300 Subject: [PATCH 03/24] Some post-rc1 fixes (#987) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fixes clown shoes with double v in configured gerbil version - kills obsolete release.ss script; it is not useful any more - adds a runtime initialized indicator and sanity checks it when trying to load the expander --------- Co-authored-by: François-René Rideau --- src/gerbil/runtime/init.ss | 82 ++++++++++---------- src/release.ss | 149 ------------------------------------- 2 files changed, 44 insertions(+), 187 deletions(-) delete mode 100755 src/release.ss diff --git a/src/gerbil/runtime/init.ss b/src/gerbil/runtime/init.ss index 27a94b210..830b6163e 100644 --- a/src/gerbil/runtime/init.ss +++ b/src/gerbil/runtime/init.ss @@ -239,49 +239,55 @@ namespace: #f (gx#core-eval-module obj))))) (def (gerbil-runtime-init! builtin-modules) - ;; initialize the load path - (let* ((home (gerbil-home)) - (libdir (path-expand "lib" home)) - (loadpath - (cond - ((getenv "GERBIL_LOADPATH" #f) - => (lambda (envvar) - (filter (lambda (x) (not (string-empty? x))) - (string-split envvar #\:)))) - (else '()))) - (userpath - (path-expand "lib" (gerbil-path))) - (loadpath - (if (getenv "GERBIL_BUILD_PREFIX" #f) - loadpath - (cons userpath loadpath)))) - (current-module-library-path (cons libdir loadpath))) - - ;; initialize the modue registry - (let* ((registry-entry (lambda (m) (cons m 'builtin))) - (module-registry - (let lp ((rest builtin-modules) (registry '())) - (match rest - ([mod . rest] - (lp rest - (cons* (registry-entry (string-append mod "__0")) - (registry-entry (string-append mod "__rt")) - registry))) - (else - (list->hash-table - registry)))))) - (current-module-registry module-registry)) - - ;; et the readtable - (current-readtable __*readtable*) - - ;; randomize the default random source - (random-source-randomize! default-random-source)) + (unless __runtime-initialized + ;; initialize the load path + (let* ((home (gerbil-home)) + (libdir (path-expand "lib" home)) + (loadpath + (cond + ((getenv "GERBIL_LOADPATH" #f) + => (lambda (envvar) + (filter (lambda (x) (not (string-empty? x))) + (string-split envvar #\:)))) + (else '()))) + (userpath + (path-expand "lib" (gerbil-path))) + (loadpath + (if (getenv "GERBIL_BUILD_PREFIX" #f) + loadpath + (cons userpath loadpath)))) + (current-module-library-path (cons libdir loadpath))) + + ;; initialize the modue registry + (let* ((registry-entry (lambda (m) (cons m 'builtin))) + (module-registry + (let lp ((rest builtin-modules) (registry '())) + (match rest + ([mod . rest] + (lp rest + (cons* (registry-entry (string-append mod "__0")) + (registry-entry (string-append mod "__rt")) + registry))) + (else + (list->hash-table + registry)))))) + (current-module-registry module-registry)) + + ;; et the readtable + (current-readtable __*readtable*) + + ;; randomize the default random source + (random-source-randomize! default-random-source) + ;; all done + (set! __runtime-initialized #t))) ;; expander loading hook (def __expander-loaded #f) +(def __runtime-initialized #f) (def (gerbil-load-expander!) + (unless __runtime-initialized + (error "runtime has not been initialized")) (unless __expander-loaded (__load-gxi) ;; and make it idempotent diff --git a/src/release.ss b/src/release.ss deleted file mode 100755 index ce3ed435a..000000000 --- a/src/release.ss +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env gxi-script -;; -*- Gerbil -*- -;;; Release script for Gerbil. -;; Usage: ./release.ss [version] -;; -;; Use it from a fully committed git tree. -;; -;; If a release version is specified (vX.Y or vX.Y.Z, numeric only), -;; a new release commit is made and tagged. -;; If a development version is specified (vX.Y-DEV), a new development commit is made and tagged. -;; -;; If no version is specified, one is autodetected: -;; If the current commit is a development commit, a release commit will be made and tagged -;; If the current commit is a release commit, a development commit will be made and tagged -;; e.g. v0.12-DEV-666-g1234567 will be turned into v0.12 -;; and v0.13 will be turned into v0.14-DEV - -(import - :gerbil/gambit - :std/format :std/misc/ports :std/misc/process :std/srfi/13 :std/srfi/14 :std/sugar :std/pregexp) - -;; Where the root to gerbil is. -(def gerbil-root - (path-normalize (path-expand ".." (path-directory (this-source-file))))) - -;; Change the directory to the root of gerbil. -(current-directory gerbil-root) - -;; Check that .git is there indeed -(unless (file-exists? ".git") (error "Cannot find .git directory")) - -;; Path to the version file -(def version-path - "src/gerbil/runtime/version.ss") - -;; Path to the .gitignore file -(def ignore-path - ".gitignore") - -;; Just run the process on the current console -(def (run-git . arguments) - (run-process/batch ["git" . arguments])) - -;; Validate a version string: -;; Releases are of the form vX.Y where X and Y are major and minor release numbers. -;; Patch releases are of the form: vX.Y.Z where Z is a patch number -;; Development tag is of the form: vX.Y-DEV and comes *before* the vX.Y release, -;; and immediately after the previous release. -;; If strict? is false, the string may also contain a suffix indicating additional git commits: -;; -N-gC where N is a number of commits since the tag and C is the 7-character commit identifier. -;; If strict? is true, then a git commit suffix is not allowed -;; -;; deconstruct-version returns #f if the version is in a wrong format, -;; a list [all major minor patch dev n-commits commit] if it is in the correct format. -;; validate-version-string returns the string unmodified if it passes validation -;; and throws an error if it fails validation (including strict checking for git commit suffix). -(def (deconstruct-version string) - (pregexp-match - "^v([0-9]+)[.]([0-9]+)(?:([.][0-9]+)|-(DEV)|)(?:-([0-9])+-g([0-9a-f]{7}))?$" - string)) - -(def (validate-version-string string strict?: (strict? #f)) - (unless (match (deconstruct-version string) - ([all major minor patch dev n-commits commit] - (not (and strict? n-commits))) - (_ #f)) - (error "Invalid version string" string)) - string) - - -;; Compute next development version from the current release version -(def (next-development-version version) - (match (pregexp-match "^v([0-9]+)[.]([0-9]+)(?:[.-].*)?$" version) - ([_ major minor] (format "v~A.~A-DEV" major (+ 1 (string->number minor)))) - (_ (error "Not a valid version" version)))) - -;; Compute next release version from the current development version -(def (next-release-version version) - (match (pregexp-match "^v([0-9]+)[.]([0-9]+)-DEV.*$" version) - ([_ major minor] (format "v~A.~A" major minor)) - (_ (error "Not a development version" version)))) - -;; Make a development version commit -(def (make-development-commit version) - (printf "Making commit for development version ~a~%" version) - (def files []) - ;; Remove the version file from git if present - (when (file-exists? version-path) - (run-git "rm" "--force" "--quiet" version-path) - (set! files [version-path])) - ;; Add the version file back to .gitignore if not present already - (let ((ignored (read-file-lines ignore-path))) - (unless (member version-path ignored) - (call-with-output-file [path: ignore-path append: #t] - (lambda (port) (fprintf port "~a\n" version-path))) - (set! files (cons ignore-path files)))) - (if (null? files) - (printf "No files to commit. Not tagging the existing commit.~%") - (begin - ;; Commit that - (apply - run-git - "commit" "--quiet" - (format "--message=Start development for version ~a" version) - files) - ;; Tag the new commit with the desired version - (run-git "tag" "--force" version)))) - -;; Make a release commit -(def (make-release-commit version) - (printf "Making commit for release version ~a~%" version) - ;; Create the version file - (call-with-output-file [path: version-path truncate: #t] - (lambda (port) (fprintf port "(def (gerbil-version-string) \"~a\")\n" version))) - ;; Remove it from .gitignore - (def ignore-lines (remove version-path (read-file-lines ignore-path))) - (call-with-output-file [path: ignore-path truncate: #t] - (lambda (port) (for-each (lambda (line) (fprintf port "~a\n" line)) ignore-lines))) - ;; Add and commit those files - (run-git "add" version-path ignore-path) - (run-git "commit" "--quiet" - (format "--message=Gerbil-~a" version) - version-path ignore-path) - ;; Tag the new commit with the desired version - (run-git "tag" "--force" version)) - -;; Remove newlines at the end of a string -(def (string-trim-newline string) - (string-trim-right string (char-set #\return #\newline))) - -;; Does this version-string represent a release or a development version? -(def (version-release? version-string) - (not (string-index version-string (char-set #\-)))) - -;; Main function, to be run from the command line -(def (main (next-version #f)) - (if next-version - (begin - (validate-version-string next-version strict?: #t) - (if (version-release? next-version) - (make-release-commit next-version) - (make-development-commit next-version))) - (let ((previous-git-version - (validate-version-string - (string-trim-newline - (run-process '("git" "describe" "--tags")))))) - (if (version-release? previous-git-version) - (make-development-commit (next-development-version previous-git-version)) - (make-release-commit (next-release-version previous-git-version)))))) From c68aabf6547b2b7f9ef760224bc77e4f3e10ff4c Mon Sep 17 00:00:00 2001 From: Drew Crampsie Date: Fri, 6 Oct 2023 07:40:04 -0700 Subject: [PATCH 04/24] Update emacs use-package and add a ! in the prelude docs (#988) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: vyzo Co-authored-by: François-René Rideau --- doc/guide/emacs.md | 117 +++++++++++++------------ doc/reference/gerbil/prelude/macros.md | 2 +- 2 files changed, 63 insertions(+), 56 deletions(-) diff --git a/doc/guide/emacs.md b/doc/guide/emacs.md index fa4e33275..4c6b94dba 100644 --- a/doc/guide/emacs.md +++ b/doc/guide/emacs.md @@ -100,64 +100,71 @@ LSP server for the next Gerbil release (v0.19). ## Use-Package Example Configuration -Example [use-package](https://github.com/jwiegley/use-package) definition to get you -hacking in no time. All you have to do is to set the environment variables `GERBIL_INSTALL_PREFX` -and `GERBIL_SRCDIR` and copy the code snippet below into your Emacs config. +Example [use-package](https://github.com/jwiegley/use-package) +definition to get you hacking in no time. All you have to do is to +have`gxi`in your path and copy the code snippet below into your Emacs +config. ``` elisp -(use-package gerbil-mode - :when (getenv "GERBIL_INSTALL_PREFIX") - :ensure nil - :defer t - :mode (("\\.ss\\'" . gerbil-mode) - ("\\.pkg\\'" . gerbil-mode)) - :bind (:map comint-mode-map - (("C-S-n" . comint-next-input) - ("C-S-p" . comint-previous-input) - ("C-S-l" . clear-comint-buffer)) - :map gerbil-mode-map - (("C-S-l" . clear-comint-buffer))) - :init - (setf gambit (getenv "GAMBIT_INSTALL_PREFIX")) - (setf gerbil (getenv "GERBIL_INSTALL_PREFIX")) - (setf gerbil-src (getenv "GERBIL_SRCDIR")) - (autoload 'gerbil-mode - (concat gerbil "/share/emacs/site-list/gerbil-mode.el") "Gerbil editing mode." t) - :hook - ((gerbil-mode . linum-mode) - (inferior-scheme-mode-hook . gambit-inferior-mode)) - :config - (require 'gambit - (concat gambit "/share/emacs/site-lisp/gambit.el")) - (setf scheme-program-name (concat gerbil "/bin/gxi")) - - (let ((tags (locate-dominating-file default-directory "TAGS"))) - (when tags (visit-tags-table tags))) - (visit-tags-table (concat gerbil-src "/src/TAGS")) - - (when (package-installed-p 'smartparens) - (sp-pair "'" nil :actions :rem) - (sp-pair "`" nil :actions :rem)) - - (defun clear-comint-buffer () +(progn + + (defvar *gerbil-path* + (shell-command-to-string "gxi -e '(display (path-expand \"~~\"))'\ + -e '(flush-output-port)'")) + + (use-package gerbil-mode + :when (file-directory-p *gerbil-path*) + :ensure nil + :straight nil + :defer t + :mode (("\\.ss\\'" . gerbil-mode) + ("\\.pkg\\'" . gerbil-mode)) + :bind (:map comint-mode-map + (("C-S-n" . comint-next-input) + ("C-S-p" . comint-previous-input) + ("C-S-l" . clear-comint-buffer)) + :map gerbil-mode-map + (("C-S-l" . clear-comint-buffer))) + :init + (autoload 'gerbil-mode + (expand-file-name "share/emacs/site-lisp/gerbil-mode.el" *gerbil-path*) + "Gerbil editing mode." t) + :hook + ((gerbil-mode-hook . linum-mode) + (inferior-scheme-mode-hook . gambit-inferior-mode)) + :config + (require 'gambit + (expand-file-name "share/emacs/site-lisp/gambit.el" *gerbil-path*)) + (setf scheme-program-name (expand-file-name "bin/gxi" *gerbil-path*)) + + (let ((tags (locate-dominating-file default-directory "TAGS"))) + (when tags (visit-tags-table tags))) + (let ((tags (expand-file-name "src/TAGS" *gerbil-path*))) + (when (file-exists-p tags) (visit-tags-table tags))) + + (when (package-installed-p 'smartparens) + (sp-pair "'" nil :actions :rem) + (sp-pair "`" nil :actions :rem)) + + (defun clear-comint-buffer () + (interactive) + (with-current-buffer "*scheme*" + (let ((comint-buffer-maximum-size 0)) + (comint-truncate-buffer))))) + + (defun gerbil-setup-buffers () + "Change current buffer mode to gerbil-mode and start a REPL" (interactive) - (with-current-buffer "*scheme*" - (let ((comint-buffer-maximum-size 0)) - (comint-truncate-buffer))))) - -(defun gerbil-setup-buffers () - "Change current buffer mode to gerbil-mode and start a REPL" - (interactive) - (gerbil-mode) - (split-window-right) - (shrink-window-horizontally 2) - (let ((buf (buffer-name))) - (other-window 1) - (run-scheme "gxi") - (switch-to-buffer-other-window "*scheme*" nil) - (switch-to-buffer buf))) - -(global-set-key (kbd "C-c C-g") 'gerbil-setup-buffers) + (gerbil-mode) + (split-window-right) + (shrink-window-horizontally 2) + (let ((buf (buffer-name))) + (other-window 1) + (run-scheme "gxi") + (switch-to-buffer-other-window "*scheme*" nil) + (switch-to-buffer buf))) + + (global-set-key (kbd "C-c C-g") 'gerbil-setup-buffers)) ``` To start open a Gerbil file or type `C-c C-g`. Alternatively run `M-x gerbil-mode` (to launch a REPL `run-scheme`). diff --git a/doc/reference/gerbil/prelude/macros.md b/doc/reference/gerbil/prelude/macros.md index 32272b4db..63e6a3a29 100644 --- a/doc/reference/gerbil/prelude/macros.md +++ b/doc/reference/gerbil/prelude/macros.md @@ -433,7 +433,7 @@ Canonical class type definition macro. [rebind: bool]) => (begin (def type::method-id expr) - (bind-method type::t 'method-id type::method-id rebind?)) + (bind-method! type::t 'method-id type::method-id rebind?)) ``` Defines a method `method-id` for type `type`, which must be From 457492879b004a02c7a0dba6030bf0dea75b5b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Fri, 6 Oct 2023 22:46:03 -0400 Subject: [PATCH 05/24] Documentation, tests and bug fixes for std/misc/decimal (#990) Also fix build-spec for srfi 141, and a typo in char-set. --- doc/.vuepress/config.js | 1 + doc/reference/std/misc/decimal.md | 235 ++++++++++++++++++++++++++++++ src/std/build-spec.ss | 2 +- src/std/misc/decimal-test.ss | 158 +++++++++++++------- src/std/misc/decimal.ss | 206 ++++++++++++++------------ src/std/text/char-set.ss | 2 +- 6 files changed, 454 insertions(+), 150 deletions(-) create mode 100644 doc/reference/std/misc/decimal.md diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index 0cda87317..250fd10e2 100644 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -149,6 +149,7 @@ module.exports = { path: '/reference/std/misc/', children: [ 'misc/', + 'misc/decimal', 'misc/list', 'misc/list-builder', 'misc/alist', diff --git a/doc/reference/std/misc/decimal.md b/doc/reference/std/misc/decimal.md new file mode 100644 index 000000000..1069582d3 --- /dev/null +++ b/doc/reference/std/misc/decimal.md @@ -0,0 +1,235 @@ +# Decimal Numbers + +The `:std/misc/decimal` library provides support for +arbitrary-precision decimal numbers and conversion between them and strings. +This can notably be important for handling financial data without losing precision. + +::: tip To use bindings from this module +``` Scheme +(import :std/misc/decimal) +``` +::: + +Decimal numbers are "just" a subset of rational numbers, and so +all arithmetic operations are already implemented by Gerbil Scheme's +underlying generic number arithmetics (itself handled by Gambit Scheme). +The main remaining issue then is parsing and printing, +conversion to and from strings, since going through +regular floating point parsing and printing will drop decimals. + +Acknowledgements: The code was written with +inspiration from two Common Lisp libraries, +QUUX (see the [snapshot at QITAB](https://qitab.common-lisp.dev/) and +[wu-decimal](https://github.com/Wukix/wu-decimal), +with its own design and implementation improvements. + +## decimal? +``` Scheme +(decimal? x) -> bool +``` + +Given any value `x`, return true if that object is a decimal number, +i.e. a rational number that is not a floating-point number. + +::: tip Examples: +``` Scheme +> (decimal? 13/10) +#t +> (decimal? 1.3) +#f +> (decimal? 13/125) +#t +> (decimal? 'foo) +#f +``` +::: + +## parse-decimal +``` Scheme +(parse-decimal + input + sign-allowed?: (sign-allowed? #t) + decimal-mark: (decimal-mark #\.) + group-separator: (group-separator_ #f) + exponent-allowed: (exponent-allowed_ #f)) -> decimal +``` + +`parse-decimal` expects and parses a decimal number on an `input`, +with the options specifed via keyword arguments. + +The `input` will be cast to a `BufferedStringReader` using +[`open-buffered-string-reader`](../stdio.md#open-buffered-string-reader). +`parse-decimal` will then side-effect this reader as it parses, +and finally return the decimal number, +or raises a `parse-error` (from `:std/parser/base`). + +The keyword arguments `decimal-mark` and `group-separator` are each a character or false, +and specify optional allowed decimal mark and group separator characters, +to support for different (typically cultural) numerical conventions. +For convenience, `group-separator` can also be `#t`, designating the comma character `#\,`. +These two arguments cannot designate the same character. +If `decimal-mark` is false, then and you can only parse integer numbers before the exponent, +and so can only parse integers if `exponent-allowed` is false (the default), +though you can still use exponents if allowed to denote a fractional number (a weird use case). + +The boolean `sign-allowed` controls whether a `+` or `-` sign is accepted or must be omitted. + +`exponent-allowed` is a boolean or a string controlling exponent notation. +Exponent notation follows the syntax for Scheme floats, +with the exception that the exponent marker must be `#\e` or `#\E` when `exponent-allowed` is `#t`, +or the exponent marker must be `char=` to some element of `exponent-allowed` +when `exponent-allowed` is a string. +Exponents, when allowed, can always be signed. + +It is up to the caller to provide an actual `BufferedStringReader` +and process any leading or trailing whitespace and check for `#!eof` +before and/or after calling `parse-decimal`. + +`: PeekableStringReader sign-allowed?:Bool decimal-mark:Char group-separator:(Or Char Bool) exponent-allowed:(or Bool String) -> Decimal` + +You may use utilities from [:std/text/basic-parsers](../text/basic-parsers) +to parse decimals as part of something bigger, or just use `string->decimal` below. + +## string->decimal +``` Scheme +(string->decimal s + sign-allowed?: (sign-allowed? #t) + decimal-mark: (decimal-mark #\.) + group-separator: (group-separator #f) + exponent-allowed: (exponent-allowed #f) + allow-leading-whitespace?: (allow-leading-whitespace? #f) + allow-trailing-whitespace?: (allow-trailing-whitespace? #f) + start: (start 0) + end: (end #f)) +``` +Parse a decimal number from given string `s`. + +The `start` and `end` arguments specify which slice of the string to use +as an interval `[start, end)` of the string indexes +(if `end` is unspecified or false, it designates the length of the string). + +The `sign-allowed?`, `decimal-mark`, `group-separator` and `exponent-allowed` +arguments are as per `parse-decimal`. + +The `allow-leading-whitespace?` (respectively `allow-trailing-whitespace?`) +arguments specify whether whitespace is allowed to be parsed and skipped +before (respectively after) the decimal number as part of the string: + - if the value is `#f` (the default) then no whitespace is allowed + before or after the decimal; + - if the value is `#t`, then any of the strict whitespaces + (space, tab, newline, return) is accepted; + - if the value is a procedure, then this procedure is assumed to be + a unary predicate accepting any character or the `#!eof` marker and + returning true if its argument is a character considered whitespace + for the purpose of skipping before to parse a decimal + (include digits and signs in the list at your peril); + see [:std/text/char-set](../text/char-set.md) + for other whitespace predicates. + +## write-decimal +``` Scheme +(write-decimal number (port (current-output-port)) + scale: (scale #f) + width: (width #f) + integral-digits: (integral-digits #f) + fractional-digits: (fractional-digits #f) + pad: (pad_ #f) + always-decimal?: (always-decimal? #f) + always-sign?: (always-sign? #f) + decimal-mark: (decimal-mark #\.) + precision-loss-behavior: (precision-loss-behavior 'error)) +``` + +Write a decimal `number` to the specified `port` with the given keyword options. + +The `port` is designated as per [`with-output`](../ports.md#with-output). + +The keyword options are as follow: + - An integer `scale` (or `#f` meaning `0`, the default), such that + the number actually printed is the argument `number` notionally multiplied + by ten to that `scale` (default `#f`). + - A natural integer `width` within which to fit the number + or `#f` (the default) for no limitation. + - A minimum number of `integral-digits` to display + or `#f` (the default, same as `0`) for no minimum; + the minimum can notably be 1 to force `#\0` to be printed + before a decimal point even if there are already fractional digits after. + - A minimum number of `fractional-digits` to display + or `#f` (the default, same as `0`) for no minimum; + the minimum can notably be 1 to force `#\0` to be printed + after a decimal point even if there are already integral digits before. + - A character `pad` to print when left-padding for desired width + or `#f` (the default, same as `#\space`); + - A boolean `always-decimal?` (defaults to `#f`) for whether + a decimal mark will always be printed even for integers. + - A boolean `always-sign?` (defaults to `#f`) for whether + a sign will always be printed even for positive numbers. + - A character `decimal-mark` to use as the decimal mark. + - A symbol `precision-loss-behavior` for the behavior on precision loss, + one of `error` (the default), `truncate` or `round`, + in case the digits cannot fit in the space. + +Note that even if `precision-loss-behavior` is `truncate` or `round`, +`write-decimal` may throw an error if the integral part of the `number` is +too large to fit within the given width. + +## decimal->string +``` Scheme +(decimal->string number + scale: (scale #f) width: (width #f) + integral-digits: (integral-digits #f) fractional-digits: (fractional-digits #f) + pad: (pad #f) always-decimal?: (always-decimal? #f) always-sign?: (always-sign? #f) + decimal-mark: (decimal-mark #\.) + precision-loss-behavior: (precision-loss-behavior 'error)) +``` + +`decimal->string` converts a decimal `number` to a string by +calling `write-decimal` with the same number and options. + +## LossOfPrecision LossOfPrecision? + +An error class and its recognizer predicate, for the sake of handling cases when +printing a decimal number results in loss of precision. + +## power-of-5 +``` Scheme +(power-of-5 x) -> nat or false +``` +If `x` is an exact integer that is the `n`th power of 5, return `n`, +otherwise return false. + +## find-decimal-multiplier +``` Scheme +(find-decimal-multiplier d) -> (values integer integer) +``` +Given a positive integer `d`, the reduced denominator of a decimal number, +thus a number of the form `2**m * 5**n`, +compute `c` such that `c*d = c*(2^m*5^n) = 10^max(m,n)` +and returns the two values `c` and `max(m,n)`, +respectively the multiplier required to make the denominator a power of 10, +and which power of 10 you will thus have reached. + +## count-significant-digits +``` Scheme +(count-significant-digits n) -> nat +``` + +Count the number of significant digits to represent the natural integer `n`. + +Exception: for `0`, return `0`, which defies convention for writing integers, +but is the right thing in the context of figuring out how many decimals to use + +## decimal->digits-exponent +``` Scheme +(decimal->digits-exponent decimal) -> (values integer integer) +``` +Given a decimal number `decimal`, return two values: + - the absolute smallest integer with all its non-zero digits, of same sign as decimal. + - the power of ten by which the decimal had to be multiplied to get this integer + (can be positive, zero or negative). + +## digits-exponent->decimal +``` Scheme +(digits-exponent->decimal digits exponent) -> decimal +``` +Given an integer `digits` and an `exponent`, multiply `digits` by 10 to the given power. diff --git a/src/std/build-spec.ss b/src/std/build-spec.ss index 4667f6ec0..004805b57 100644 --- a/src/std/build-spec.ss +++ b/src/std/build-spec.ss @@ -119,7 +119,7 @@ (gxc: "srfi/srfi-135/macros" (extra-inputs: ("srfi/srfi-135/macros.scm"))) (gxc: "srfi/srfi-135/text" (extra-inputs: ("srfi/srfi-135/text.scm"))) "srfi/135" - (gxc: "srfi/141" (extra-inputs: ("srfi/srfi-141.scm"))) + (gxc: "srfi/141") (gxc: "srfi/143" (extra-inputs: ("srfi/srfi-143/carries.scm"))) (gxc: "srfi/144" (extra-inputs: ("srfi/srfi-144/144.constants.scm" "srfi/srfi-144/144.body0.scm" "srfi/srfi-144/144.body.scm" "srfi/srfi-144/144.special.scm"))) diff --git a/src/std/misc/decimal-test.ss b/src/std/misc/decimal-test.ss index beb901e4e..72b7b62bd 100644 --- a/src/std/misc/decimal-test.ss +++ b/src/std/misc/decimal-test.ss @@ -1,63 +1,117 @@ (export decimal-test) (import - :std/srfi/13 - :std/iter :std/misc/decimal - :std/misc/string - :std/parser/base - :std/test) + (only-in :std/iter for in-range) + (only-in :std/parser/base parse-error?) + (only-in :std/error ContractViolation?) + (only-in :std/sugar defrule) + (only-in :std/text/char-set char-ascii-alphabetic?) + (only-in :std/test test-suite test-case check check-exception)) (def decimal-test (test-suite "test suite for std/misc/decimal" + (test-case "power-of-5" + (for (i (in-range 1000)) + (check (power-of-5 (expt 5 i)) => i) + (check (power-of-5 (1- (expt 5 i))) => #f) + (check (power-of-5 (1+ (expt 5 i))) => #f)) + (check (power-of-5 (* (expt 2 2000) (expt 5 880))) => #f) + (check (power-of-5 (* 256 (expt 5 4400))) => #f)) + (test-case "decimal?" + (defrule (checks res val ...) + (begin (check (decimal? val) => res) ...)) + (checks #t 0 1 -5 42 1/10 1/4 -1/5 3/125 1/1000) + (checks #f 0.0 'foo "1" -1.2 +inf.0 1/42 .001 #() (void) '())) (test-case "parse decimal" - (for-each - (match <> ([r . a] (check-equal? (apply string->decimal a) r))) - '((0 "0") - (0 "0.0") - (0 "0.") - (0 ".0") - (157/50 "3.14") - (317000 "317000") - (3170000 "3.17e6" exponent-allowed: #t) - (317/100000000 "3.17e-6" exponent-allowed: #t) - (-317/100000000 "-3.17e-6" exponent-allowed: #t)))) + (defrule (checks (res str . opts) ...) + (begin (check (string->decimal str . opts) => res) ...)) + (checks + (0 "0") + (0 "0.0") + (0 "0.") + (0 ".0") + ((/ (expt 10 100)) (string-append "." (make-string 99 #\0) "1")) + ((/ (expt 10 1000)) (string-append "." (make-string 999 #\0) "1")) + (157/50 "3.14") + (157/50 "+3.14") + (-157/50 "-3.14") + (317000 "317000") + (1234/1000 "1,234" decimal-mark: #\,) + (1234567890 "1,234,567,890" group-separator: #t) + (1234567890 "1.234.567.890" group-separator: #\. decimal-mark: #f) + (1234/1000 "1234e-3" decimal-mark: #f exponent-allowed: #t) + (1234567890123/1000 "1.234.567.890,123" group-separator: #\. decimal-mark: #\,) + (3170000 "3.17e6" exponent-allowed: #t) + (317/100000000 "3.17e-6" exponent-allowed: #t) + (317/100000000 "3.17e-6" exponent-allowed: #t sign-allowed?: #f) + (-317/100000000 "-3.17e-6" exponent-allowed: #t) + (157/50 " 3.14 " allow-leading-whitespace?: #t allow-trailing-whitespace?: #t) + (157/50 "PI3.14JUNK" + allow-leading-whitespace?: char-ascii-alphabetic? + allow-trailing-whitespace?: char-ascii-alphabetic?))) (test-case "parse decimal error" - (for-each - (lambda (a) (check-exception (apply string->decimal a) parse-error?)) - '((".") - ("3.17e6") - ("3.17e" exponent-allowed: #t) - ("-3.17e-6" exponent-allowed: #t sign-allowed?: #f) - ("-")))) + (defrule (checks (err str . opts) ...) + (begin (check-exception (string->decimal str . opts) err) ...)) + (checks + (parse-error? ".") + (parse-error? "+3.17" sign-allowed?: #f) + (parse-error? "-3.17" sign-allowed?: #f) + (parse-error? " 1.0") + (parse-error? "1.0 ") + (parse-error? "1.234.567") + (parse-error? "1,234,567,890") + (ContractViolation? "1" group-separator: #\.) + (parse-error? "1,234,567,890" decimal-mark: #\,) + (parse-error? "1,234,567,890" group-separator: #f) + (parse-error? "3.17e6") ;; exponent not allowed by default + (parse-error? "3.17e" exponent-allowed: #t) + (parse-error? "-3.17e-6" exponent-allowed: #t sign-allowed?: #f) + (parse-error? "-"))) + (test-case "count-significant-digits" + (defrule (checks res val ...) (begin (check (count-significant-digits val) => res) ...)) + (checks 1 0 1 2 3 4 5 6 7 8 9) + (checks 2 10 11 42 69 98 99) + (checks 3 100 101 128 256 512 666 998 999) + (checks 4 1000 1001 1024 1729 8192 9998 9999) + (checks 5 10000 10001 55555 99999) + (for (i (in-range 1000)) + (unless (zero? i) (check (count-significant-digits (1- (expt 10 i))) => i)) + (check (count-significant-digits (expt 10 i)) => (1+ i)))) + (test-case "find-decimal-multiplier" + (defrule (checks (d c m) ...) + (begin (check (values->list (find-decimal-multiplier d)) => [c m]) ...)) + (checks (5 2 1) (2 5 1) (12500 8 5))) + (test-case "decimal->digits-exponent, digits-exponent->decimal" + (defrule (checks (n d e) ...) + (begin (check (values->list (decimal->digits-exponent n)) => [d e]) ... + (check (digits-exponent->decimal d e) => n) ...)) + (checks (0 0 0) (1 1 0) (1/1000 1 -3) (1000 1 3) + (314 314 0) (157/50 314 -2) (31400 314 2) + (123400000 1234 5) (1234/100000000 1234 -8))) (test-case "print decimal" - (for-each - (match <> ([r n . a] - (def x (apply decimal->string n a)) - (check-equal? x r))) - '(("0" 0) - ("3.14" 157/50) - ("42." 42 always-decimal?: #t) - ("1.0" 1 fractional-digits: 1) - ("007" 7 width: 3 pad: #\0) - ("10" 10 width: 2 pad: #\0) ;; <--- known bug; the original ported code always assumed a . - ("10" 10 integral-digits: 2) - ("0010" 10 integral-digits: 4) - ("+317000" 317000 always-sign?: #t) - ("-.00000317" -317/100000000 integral-digits: 0) - ("-0.00000317" -317/100000000 integral-digits: 1) - ("-.00000317" -317 scale: -8) - ("31.700" 317 scale: -1 fractional-digits: 3) - (".31" 317 scale: -3 width: 3 precision-loss-behavior: truncate) - (".32" 317 scale: -3 width: 3 precision-loss-behavior: round) - ("3.14" 314 scale: -2) - (" 3.140" 314 width: 20 scale: -2 fractional-digits: 3) - (" 3.14" 314/1000 width: 6 scale: 1 fractional-digits: 2) - (".314" 314/1000)))) + (defrule (checks (s d . a) ...) + (begin (check (decimal->string d . a) => s) ...)) + (checks + ("0" 0) + ("1000" 1000) + ("3.14" 157/50) + ("42." 42 always-decimal?: #t) + ("1.0" 1 fractional-digits: 1) + ("007" 7 width: 3 pad: #\0) + ("10" 10 width: 2 pad: #\0) ;; <--- known bug; the original ported code always assumed a . + ("10" 10 integral-digits: 2) + ("0010" 10 integral-digits: 4) + ("+317000" 317000 always-sign?: #t) + ("-.00000317" -317/100000000 integral-digits: 0) + ("-0.00000317" -317/100000000 integral-digits: 1) + ("-.00000317" -317 scale: -8) + ("31.700" 317 scale: -1 fractional-digits: 3) + (".31" 317 scale: -3 width: 3 precision-loss-behavior: 'truncate) + (".32" 317 scale: -3 width: 3 precision-loss-behavior: 'round) + ("3.14" 314 scale: -2) + (" 3.140" 314 width: 20 scale: -2 fractional-digits: 3) + (" 3.14" 314/1000 width: 6 scale: 1 fractional-digits: 2) + (".314" 314/1000))) (test-case "print decimal error" - (check-exception (decimal->string 317/100 width: 3) LossOfPrecision?)) - (test-case "power-of-5?" - (for (i (in-range 1000)) - (check (power-of-5? (expt 5 i)) => #t) - (check (power-of-5? (1- (expt 5 i))) => #f) - (check (power-of-5? (1+ (expt 5 i))) => #f))))) + (check-exception (decimal->string 317/100 width: 3) LossOfPrecision?)))) diff --git a/src/std/misc/decimal.ss b/src/std/misc/decimal.ss index 1b00b3d40..0a9e904b1 100644 --- a/src/std/misc/decimal.ss +++ b/src/std/misc/decimal.ss @@ -1,40 +1,52 @@ -(import - :gerbil/gambit - :std/srfi/141 - :std/error - :std/contract - :std/io - :std/iter - :std/misc/number - :std/parser/base - :std/sugar - :std/text/basic-parsers - :std/text/basic-printers - :std/text/char-set - :std/values) +(export + decimal? + parse-decimal + string->decimal + write-decimal + decimal->string + LossOfPrecision + LossOfPrecision? + power-of-5 + find-decimal-multiplier + count-significant-digits + decimal->digits-exponent + digits-exponent->decimal) -(export decimal? parse-decimal string->decimal write-decimal decimal->string - LossOfPrecision LossOfPrecision? - power-of-5? - find-decimal-multiplier - count-significant-digits nat->significant-digits - decimal->digits-exponent digits-exponent->decimal) +(import + (only-in :std/srfi/141 round/ truncate/ floor/) + (only-in :std/error check-argument raise-bad-argument + deferror-class raise/context exception-context) + (only-in :std/contract using) + (only-in :std/io PeekableStringReader open-buffered-string-reader + PeekableStringReader-read-char PeekableStringReader-peek-char) + (only-in :std/misc/number decrement! nat? integer-part + integer-log factor-out-powers factor-out-powers-of-2) + (only-in :std/misc/ports with-output) + (only-in :std/parser/base raise-parse-error) + (only-in :std/sugar syntax-eval) + (only-in :std/text/basic-parsers parse-and-skip-any-whitespace parse-eof) + (only-in :std/text/basic-printers write-n-chars) + (only-in :std/text/char-set digit-char char-ascii-digit char-strict-whitespace?) + (only-in :std/values first-value)) ;; : Any -> Bool (def (decimal? x) - (and (rational? x) - (power-of-5? (first-value (factor-out-powers-of-2 (denominator x)))))) + (or (exact-integer? x) + (and (##ratnum? x) + (power-of-5 (first-value (factor-out-powers-of-2 (denominator x)))) + #t))) -;; : Integer -> Bool -(def (power-of-5? n) +;; : Integer -> (OrFalse Nat) +(def (power-of-5 n) (and (exact-integer? n) (positive? n) - (if (< (integer-length n) 1024) ;; number small enough to be converter to double float + (if (< (integer-length n) 1024) ;; number small enough to be converted to double float (let (l (integer-part (round (log n 5)))) ;; no loss of precision below 440 - (= n (expt 5 l))) - (let*-values (((p) (expt 5 440)) ;; largest power of five under 2**1023 - ((l) (integer-log n p)) - ((q r) (floor/ n (expt p l)))) - (and (zero? r) (power-of-5? q)))))) ;; reduce to the simpler problem above + (and (= n (expt 5 l)) l)) + (let*-values (((p) (syntax-eval (expt 5 440))) ;; largest power of five under 2**1023 + ((q k) (factor-out-powers n p))) + (and (< q p) + (let (l (power-of-5 q)) + (and l (+ l (* 440 k))))))))) ;; `parse-decimal` expects and parses a decimal number on the PeekableStringReader. ;; The character parameters `decimal-mark` and `group-separator` provide @@ -58,7 +70,7 @@ exponent-allowed: (exponent-allowed_ #f)) (def reader (PeekableStringReader (open-buffered-string-reader pre-reader))) (check-argument (boolean? sign-allowed?) "boolean" sign-allowed?) - (check-argument (char? decimal-mark) "char" decimal-mark) + (check-argument (or (char? decimal-mark) (boolean? decimal-mark)) "char or boolean" decimal-mark) (check-argument (or (boolean? group-separator_) (char? group-separator_)) "boolean or char" group-separator_) (check-argument (or (boolean? exponent-allowed_) (string? exponent-allowed_)) @@ -176,12 +188,18 @@ end: (end_ #f)) (def l (string-length s)) (def end (or end_ l)) + (def (make-space? allow-whitespace?) + (cond + ((eq? allow-whitespace? #t) char-strict-whitespace?) + ((procedure? allow-whitespace?) allow-whitespace?) + (else (raise-bad-argument string->decimal "allow-*-whitespace? to be #t or a character predicate" + allow-whitespace?)))) (call-with-input-string (if (and (zero? start) (= end l)) s (substring s start end)) (lambda (port) (def reader (PeekableStringReader (open-buffered-string-reader port))) (when allow-leading-whitespace? - (parse-and-skip-any-whitespace reader)) + (parse-and-skip-any-whitespace reader (make-space? allow-leading-whitespace?))) (begin0 (parse-decimal reader sign-allowed?: sign-allowed? @@ -189,63 +207,57 @@ group-separator: group-separator exponent-allowed: exponent-allowed) (when allow-trailing-whitespace? - (parse-and-skip-any-whitespace reader)) + (parse-and-skip-any-whitespace reader (make-space? allow-trailing-whitespace?))) (parse-eof reader))))) -;; Given an integer d of the form 2^m*5^n (reduced denominator of a decimal number), +;; Given a positive integer d of the form 2^m*5^n (reduced denominator of a decimal number), ;; compute c such that c*d = c*(2^m*5^n) = 10^max(m,n). ;; Returns c and max(m,n). -;; : Nat -> Nat Nat +;; : Nat+ -> Nat+ Nat (def (find-decimal-multiplier d) (define-values (5^n m) (factor-out-powers-of-2 d)) - (def n (integer-log 5^n 5)) + (def n (power-of-5 5^n)) + (check-argument n "divisor of a power of 10" d) ;; We check that the answer is correct before returning it to the caller. - (check-argument (= d (* (arithmetic-shift 1 m) (expt 5 n))) "divisor of power of 10" d) (if (> m n) (values (expt 5 (- m n)) m) (values (arithmetic-shift 1 (- n m)) n))) ;; Count the number of significant digits to represent this natural integer. ;; For 0, return 0. -;; TODO: document and check the limit conditions of validity of the algorithm ;; : Nat -> Nat (def (count-significant-digits n) (check-argument (nat? n) "natural" n) - (if (zero? n) - 0 - (let (l0 (integer-part (log n 10))) - (let loop ((l l0) (a (quotient n (expt 10 l0)))) - (if (< a 1) l (loop (1+ l) (quotient a 10))))))) - -;; Converts an integer into a base 10 string. The sign is ignored. -;; For 0 becomes an empty string "" rather than "0". -;; : Nat -> String -(def (nat->significant-digits n) - (check-argument (nat? n) "natural" n) - (let* ((digit-count (count-significant-digits n)) - (str (make-string digit-count)) - (remainder 0)) - (let loop ((a n) - (i (1- digit-count))) - (if (negative? i) str - (let-values (((q r) (truncate/ a 10))) - (string-set! str i (digit-char r 10)) - (loop q (1- i))))))) + (cond + ((zero? n) 1) ;; special case: 0 requires 1 digit to display + ;; We'd like to use the below formula for small enough numbers, except that + ;; the floating point approximation is sometimes slightly off: + ;; for instance (log 1000 10) = 2.9999999999999996 instead of 3. + ;; TODO: use the formula as a heuristic then adjust by ±1 as needed, + ;; and it should be faster than integer-log + #;((< (integer-length n) 1024) (1+ (integer-part (log n 10)))) + (else (1+ (integer-log n 10))))) ;; Given a decimal number, return -;; - The absolute smallest integer with all its digits -;; - the non-negative power of ten by which the decimal had to be multiplied to get this integer. -;; Maybe we should find the valuation of the decimal in base 10, -;; and return the least, negative, number when appropriate? -;; : Decimal -> Integer Nat +;; - The absolute smallest integer with all its digits, excluding the all-zeros to the right and left +;; - the power of ten by which the decimal had to be multiplied to get this integer. +;; : Decimal -> Integer Integer (def (decimal->digits-exponent decimal) - (defvalues (c m) (find-decimal-multiplier (denominator decimal))) - (values (* (numerator decimal) c) m)) + (cond + ((zero? decimal) (values 0 0)) + ((exact-integer? decimal) + (let*-values (((r 2s) (factor-out-powers-of-2 decimal)) + ((_ 5s) (factor-out-powers r 5)) + ((m) (min 2s 5s))) + (values (/ decimal (expt 10 m)) m))) + (else + (let-values (((c m) (find-decimal-multiplier (denominator decimal)))) + (values (* (numerator decimal) c) (- m)))))) -;; From an integer number for the digits and an exponent for the negative powers of 10, +;; From an integer number for the digits and an exponent for a power of 10, ;; return a decimal number. (def (digits-exponent->decimal digits exponent) - (/ digits (expt 10 exponent))) + (* digits (expt 10 exponent))) ;; Attempted print operation would lose precision. See precision-loss-behavior. (deferror-class LossOfPrecision ()) @@ -270,24 +282,26 @@ ;; always-decimal?:Bool \ ;; decimal-mark:Char \ ;; precision-loss-behavior:(Enum error truncate round) -> String -(def (%decimal->digits n scale: (scale #f) width: (width #f) - integral-digits: (integral-digits #f) - fractional-digits: (fractional-digits #f) +(def (%decimal->digits n scale: (scale_ #f) width: (width #f) + integral-digits: (integral-digits_ #f) + fractional-digits: (fractional-digits_ #f) always-decimal?: (always-decimal? #f) decimal-mark: (decimal-mark #\.) precision-loss-behavior: (precision-loss-behavior 'error)) - (unless integral-digits (set! integral-digits 0)) - (unless fractional-digits (set! fractional-digits 0)) + (def scale (or scale_ 0)) + (def integral-digits (or integral-digits_ 0)) + (def fractional-digits (or fractional-digits_ 0)) (let/cc return + ;; special case: zero always shows a "0" even if no digits are explicitly required. (when (and (zero? n) (zero? integral-digits) (zero? fractional-digits)) - (return (if always-decimal? "0." "0"))) + (return (if always-decimal? (list->string [#\0 decimal-mark]) "0"))) ;; Integer with the significant digits, number of fractional digits in it (defvalues (all-digits denominator-power) (decimal->digits-exponent n)) ;; Total number of significant digits in number (def digit-count (count-significant-digits all-digits)) ;; Where is the decimal mark relative to the start of the significant digits (0: just before) - (def decimal-mark-index (- (+ digit-count (or scale 0)) denominator-power)) + (def decimal-mark-index (+ digit-count scale denominator-power)) ;; How many 0s to add in front of the digits for the integer part? (def integral-left-padding (max 0 (- integral-digits (max 0 decimal-mark-index)))) ;; How many digits to copy from all-digits for the integer part? @@ -323,7 +337,7 @@ (def (digits) ;; A string with the significant digits - (def significant-digits (nat->significant-digits all-digits)) + (def significant-digits (##exact-int->string all-digits)) ;; The target string (def string (make-string effective-length #\0)) (string-copy! string integral-left-padding significant-digits 0 integral-digits-copied) @@ -335,8 +349,8 @@ string) (def (disallowed-loss-of-precision) - (raise (LossOfPrecision "loss of precision" irritants: [n] - where: (exception-context disallowed-loss-of-precision)))) + (raise/context (LossOfPrecision "loss of precision" irritants: [n] + where: (exception-context disallowed-loss-of-precision)))) (cond ((>= 0 extra-width) @@ -394,25 +408,25 @@ always-sign?: (always-sign? #f) decimal-mark: (decimal-mark #\.) precision-loss-behavior: (precision-loss-behavior 'error)) - (def pad (or pad_ #\space)) - (def spaceleft width) - (when (and width (or always-sign? (> 0 number))) - (decrement! spaceleft)) - (def digits (%decimal->digits (abs number) scale: scale width: spaceleft - integral-digits: integral-digits - fractional-digits: fractional-digits - always-decimal?: always-decimal? - decimal-mark: decimal-mark - precision-loss-behavior: precision-loss-behavior)) - (when width - (decrement! spaceleft (string-length digits)) - (write-n-chars spaceleft pad port)) - (if (> 0 number) - (write-char #\- port) - (when always-sign? - (write-char #\+ port))) - (display digits port) - (void)) + (with-output (port) + (def pad (or pad_ #\space)) + (def spaceleft width) + (when (and width (or (negative? number) (and always-sign? (not (zero? number))))) + (decrement! spaceleft)) + (def digits (%decimal->digits (abs number) scale: scale width: spaceleft + integral-digits: integral-digits + fractional-digits: fractional-digits + always-decimal?: always-decimal? + decimal-mark: decimal-mark + precision-loss-behavior: precision-loss-behavior)) + (when width + (decrement! spaceleft (string-length digits)) + (write-n-chars spaceleft pad port)) + (cond + ((negative? number) (write-char #\- port)) + ((zero? number) (void)) + (always-sign? (write-char #\+ port))) + (display digits port))) ;; Given ;; - a decimal number, diff --git a/src/std/text/char-set.ss b/src/std/text/char-set.ss index 7b11a37b5..b2cc73b70 100644 --- a/src/std/text/char-set.ss +++ b/src/std/text/char-set.ss @@ -67,7 +67,7 @@ ;; Whitespace as defined by C, C++ and Python. ;; : Codepoint -> Bool (def-codepoint (ascii-whitespace? c) - (or (codepoint-ascii-whitespace? c) + (or (codepoint-strict-whitespace? c) (= c #x0B) ;; #\vtab (vertical tab) C'\v' (= c #x0C))) ;; #\page (page break, form feed) C'\f' From 92fee55bba73b1dda45b3585d345b9ac7af86850 Mon Sep 17 00:00:00 2001 From: Tomoki Aonuma Date: Sat, 7 Oct 2023 15:22:01 +0900 Subject: [PATCH 06/24] Make random-uuid generate UUIDv4 (#991) Fixes https://github.com/mighty-gerbils/gerbil/issues/989 `random-uuid` now sets the variant and version fields. - https://www.rfc-editor.org/rfc/rfc4122#section-4.1 Co-authored-by: vyzo --- src/std/misc/uuid.ss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/std/misc/uuid.ss b/src/std/misc/uuid.ss index 70c75da1c..0fbaf76f1 100644 --- a/src/std/misc/uuid.ss +++ b/src/std/misc/uuid.ss @@ -41,6 +41,8 @@ (def (random-uuid) (let (bytes (make-u8vector uuid-length)) (random-bytes! bytes) + (u8vector-set! bytes 6 (bitwise-ior (bitwise-and (u8vector-ref bytes 6) #x0f) #x40)) + (u8vector-set! bytes 8 (bitwise-ior (bitwise-and (u8vector-ref bytes 8) #x3f) #x80)) (make-uuid bytes #f))) (def (content-uuid str) From 93d4e08b218315a5b8e72de430eced22c4256f52 Mon Sep 17 00:00:00 2001 From: vyzo Date: Sat, 7 Oct 2023 11:02:27 +0300 Subject: [PATCH 07/24] Add MacOS installation instructions in the top level README (#992) Also fixes some issues with the intro guide. --- README.md | 24 +++++++++++++--- doc/guide/env-vars.md | 8 ++++++ doc/guide/intro.md | 66 ++++++++++++++++++++----------------------- 3 files changed, 59 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 069a42ce4..458c8e572 100644 --- a/README.md +++ b/README.md @@ -27,17 +27,19 @@ ahead of time compilation and compiled macros. The source code for Gerbil is hosted on [Github](https://github.com/mighty-gerbils/gerbil), with the latest release available in [releases](https://github.com/mighty-gerbils/gerbil/releases). -Installation from source is straightforward: +**If you are on Linux** installation from source is straightforward: ```shell $ git clone git@github.com:mighty-gerbils/gerbil.git $ cd gerbil $ ./configure -$ make +$ make -j4 $ sudo make install ``` This will install Gerbil in `/opt/gerbil`; all you have to do then is -add `/opt/gerbil/bin` to your path. +add `/opt/gerbil/bin` to your path. Obviously, you can customize the +install prefix by using the `--prefix=/path/to/gerbil/installation` +configure option. **Note** the default configuration has some dependencies you may need to install: sqlite, zlib, and libcrypto/openssl. @@ -46,7 +48,21 @@ You can install them in ubuntu with: $ sudo apt install libssl-dev zlib1g-dev libsqlite3-dev ``` -For more detailed installation instructions see the [Guide](https://cons.io/guide/). +**If you are on MacOS** you can install Gerbil using our [brew formula](https://github.com/mighty-gerbils/gerbil/blob/master/homebrew/gerbil-scheme.rb): +```shell +$ wget https://raw.githubusercontent.com/mighty-gerbils/gerbil/master/homebrew/gerbil-scheme.rb + +## to use 4 cores for the build +$ export GERBIL_BUILD_CORES=4 + +## to install latest release +$ brew install --formula -vd gerbil-scheme.rb + +## to install latest Gerbil from master +$ brew install --HEAD --formula -vd gerbil-scheme.rb +``` + +for more detailed installation instructions see the [Guide](https://cons.io/guide/). # Using Gerbil The Gerbil interpreter is `gxi`, and the compiler is `gxc`. diff --git a/doc/guide/env-vars.md b/doc/guide/env-vars.md index 128143433..73c7c5e3a 100644 --- a/doc/guide/env-vars.md +++ b/doc/guide/env-vars.md @@ -66,3 +66,11 @@ If this variable is set, `gxpkg` will clone packages using `git` over ssh instead of https. Set this if you want to access private repose. + +## GERBIL_TAGS_FORMAT + +This variable is consulted by the `gxtags` tool when generating TAGS. +It can have the value `emacs` for emacs TAGS or `vim` for vi/vim/neovim TAGS. + +If unset, the default format is `emacs`, so you should set this if you +are a vim user. diff --git a/doc/guide/intro.md b/doc/guide/intro.md index 5e746abb9..abd6449f9 100644 --- a/doc/guide/intro.md +++ b/doc/guide/intro.md @@ -1092,13 +1092,6 @@ Gerbil-specific libraries. Here we provide examples and brief documentation for the more interesting of the Gerbil-specific libraries. -### Optional Libraries - -Note that some standard library modules are not built by default, -because they have external library dependencies that may not be -present in your system. You have to enable them during configuration -by using the appropriate `--enable-feature` configuration options. - ### Additional Syntactic Sugar The `:std/sugar` library provides some useful macros that are widely applicable. @@ -1574,7 +1567,7 @@ So how do we build an ensemble? First we need to generate a cookie for our ensemble, which we can do programmatically or using the `gxensemble` tool: ``` -$ gxensemble cookie +$ gerbil ensemble admin cookie ``` This will generate a random 256-bit cookie in `${GERBIL_PATH:~/.gerbil}/ensemble/cookie`. @@ -1646,11 +1639,11 @@ $ cat gerbil.pkg $ gxc -O wallet-actor.ss # in one terminal - run this to allow for server registration and lookup -$ gxensemble registry +$ gerbil ensemble registry ... # in another terminal -$ gxensemble run my-wallet-server :tmp/wallet-actor 100 +$ gerbil ensemble run my-wallet-server :tmp/wallet-actor 100 ... ``` @@ -1673,7 +1666,7 @@ $ gxi If we want to shutdown our ensemble we can do so very easily with the gxensemble tool, which is part of the Gerbil distribution: ```shell -$ gxensemble shutdown +$ gerbil ensemble shutdown -f This will shutdown every server in the ensemble, including the registry. Proceed? [y/n] y ... shutting down my-wallet-server @@ -1750,34 +1743,37 @@ Gerbil supports XML and HTML with the `:std/xml` library. The library supports parsing and querying with Oleg's SXML/SSAX/SXPath and provides additional facilities for processing SXML. -Optionally, when configured so, the library can also use `libxml2` to -parse real world HTML (and plain old XML). The `libxml2` dependent -components are not built by default. You can build them by specifying -the `--enable-libxml` configuration option when configuring and -building Gerbil. +If you want to use `libxml2` library for parsing real world HTML, +you can install the [gerbil-libxml](https://github.com/mighty-gerbils/gerbil-libxml) +with +```shell +$ gerbil pkg install github.com/mighty-gerbils/gerbil-libxml +``` For example, here is a parse of the bing front page without scripts, style, and CDATA: ```scheme -> (import :std/net/request :std/xml/libxml) -> (def req (http-get "https://www.bing.com")) +> (import :std/net/request :clan/xml/libxml) +> (def req (http-get "http://hackzen.org")) > (parse-html (request-text req) filter: '("script" "style" "CDATA")) -(*TOP* (html (@ (lang "el") - (xml:lang "el") - (xmlns "http://www.w3.org/1999/xhtml")) - (head (meta (@ (content "text/html; charset=utf-8") - (http-equiv "content-type"))) - (title "Bing") - (link (@ (rel "icon") - (sizes "any") - (mask "") - (href "/fd/s/a/hp/bing.svg"))) - (meta (@ (name "theme-color") (content "#4F4F4F"))) - (link (@ (href "/s/a/bing_p.ico") (rel "icon"))) - (meta (@ (content "Το Bing σ")))))) - -; so much for modern html! -; everything script, style, and CDATA in the page. +(*TOP* (html (head (title "(hackzen.org)") + (link (@ (rel "stylesheet") (type "text/css") (href "style.css")))) + (body "\n " + (h1 (@ (id "header")) "(hackzen.org)") + "\n " + "\n " + (div (a (@ (href "http://xkcd.com/297/")) (img (@ (src "parens.png"))))) + "\n " + (br) + (div (a (@ (href "robots.html")) "(robots)")) + "\n " + (div (a (@ (href "gerbil/index.html")) "(gerbils)")) + "\n " + (div (a (@ (href "humans.html")) "(humans)")) + "\n " + (div (a (@ (href "nic9/index.html")) "[N1C#09]")) + "\n " + (br)))) ``` ### Web Applications @@ -1792,7 +1788,7 @@ versions of Gambit which didn't have raw devices. The embedded http server was first introduced in Gerbil v0.12 and utilizes raw devices. It is significantly faster and offers a low -level interface oriented towards API programming, and by now the +level interface oriented towards API programming, and is by now the canonical (and recommended) way to write web applications. #### Web programming with rack/fastcgi From 32b454c94a88c5a02cabc9bc8514a4084378f492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Sat, 7 Oct 2023 06:58:19 -0400 Subject: [PATCH 08/24] Document and test std/sugar, std/source, plus fixes (#993) --- doc/.vuepress/config.js | 7 +- doc/guide/README.md | 3 +- doc/guide/nix.md | 42 +- .../gerbil/prelude/runtime-bindings.md | 4 +- doc/reference/std/misc/bytes.md | 74 +-- doc/reference/std/misc/decimal.md | 28 +- doc/reference/std/misc/number.md | 70 +-- doc/reference/std/source.md | 99 ++++ doc/reference/std/sugar.md | 464 +++++++++++++++++- src/gerbil/expander/stx.ss | 2 +- src/gerbil/prelude/core.ss | 4 +- src/gerbil/runtime/util.ss | 36 +- src/std/source-test.ss | 12 +- src/std/source.ss | 2 +- src/std/stxutil.ss | 47 +- src/std/sugar-test.ss | 299 ++++++++--- src/std/sugar.ss | 45 +- 17 files changed, 1003 insertions(+), 235 deletions(-) create mode 100644 doc/reference/std/source.md diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index 250fd10e2..f894b40f0 100644 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -48,10 +48,11 @@ module.exports = { title: 'Standard Library', children: [ '', - 'sugar', + 'sugar', + 'source', 'stxparam', 'stxutil', - 'assert', + 'assert', 'errors', 'getopt', 'make', @@ -63,7 +64,7 @@ module.exports = { 'ref', 'iterators', 'coroutine', - 'events', + 'events', 'amb', 'lazy', 'sort', diff --git a/doc/guide/README.md b/doc/guide/README.md index 91f8af83b..e8ab5712e 100644 --- a/doc/guide/README.md +++ b/doc/guide/README.md @@ -119,5 +119,6 @@ See the [Docker Gulde](docker.md) for additional information. You can install Gerbil using Nix. See [nix.md](nix.md) for more details. There are also Docker containers based on Nix, with some gerbil libraries also installed, -at `fahree/gerbil-nix` (`root` only) and `fahree/gerbil-utils` (user `user` working in `/home`). +at `mukn/gerbil` (with the compiler) and `mukn/glow` (with many libraries installed) +(user `user` working in `/home`). See the `scripts` directory of [Gerbil Clan](https://github.com/fare/gerbil-utils) for details. diff --git a/doc/guide/nix.md b/doc/guide/nix.md index c36fc4e0b..e48454448 100644 --- a/doc/guide/nix.md +++ b/doc/guide/nix.md @@ -1,11 +1,43 @@ # Using Gerbil with Nix -You can use Gerbil with the Nix package manager, and it will guarantee you that Gerbil is correctly built, in a deterministic way, on top of Gambit properly built with all the correct options. +You can use Gerbil with the [Nix package manager](https://nixos.org), and +it will guarantee you that Gerbil is correctly built, in a deterministic way, +on top of an appropriate Gambit properly built with all the correct options. -Satisfactory Nix recipes for Gerbil were merged in nixpkgs starting in September 2017, and propagated to other branches from there. Updates will be upstreamed regularly, but if you care for the latest recipe, see this [nixpkgs fork](http://github.com/fare-patches/nixpkgs), branch `fare`. Make sure your `NIX_PATH` variable defines `nixpkgs=/path/to/checkout/of/nixpkgs` and to consistently use `nix-env -f ''` or `nix-shell ''`, etc. You may abstract this usage in shell (or gerbil) functions as appropriate. You can install it with `nix-env -f '' -iA gerbil` and then get a REPL with `gxi`. +Satisfactory Nix recipes for Gerbil were initially merged in +[nixpkgs](https://github.com/NixOS/nixpkgs) starting in September 2017, +and propagated to other branches from there. +Updates have been upstreamed regularly, but if you care for the latest recipe, +see this [nixpkgs fork](http://github.com/MuKnIO/nixpkgs), branch `devel` +(beware, it is often rebased). -The recipe is being developed on Linux amd64. It is occasionally tested on Linux i686 and on macOS. It should work on all platforms supported by Nix, but might require tweaks on new or rare platforms. Please report successes and failures to us. Note that static linking of Gerbil programs is not currently well supported in Nix; fixing that will require updating the recipes for relevant libraries; at the same time, Nix makes static linking not necessary. +Assuming your `NIX_PATH` contains an entry `nixpkgs=/path/to/nixpkgs` which +may point to the nixpkgs fork URL above or to your own `git` checkout thereof, +you can install Gerbil with: `nix-env -f '' -iA gerbil-unstable` +and then interact with a REPL using `gxi`. +You can also use `nix-env -f ' ...'`, `nix-shell ''`, etc., +to install or develop Gerbil-based packages. -To compile using `gxc` should work fine from within Nix recipes if you add `gerbil`, `gambit` and all the libraries you use to your package's `buildInputs`. See the `pkgs.gerbil-support`, as defined in `pkgs/development/compilers/gerbil/gerbil-support.nix` in the latest nixpkgs, for functions to help you define packages for your Gerbil libraries, with `gerbil-utils` as an example. +The recipe is being actively developed on Linux amd64. +In the past, it has been tried on Linux i686 and on macOS amd64 and more, +but no one is currently actively maintaining support, though the code +should be mostly portable and should work on all platforms supported by Nix, +with few tweaks required when necessary at all. +Please report successes and failures to us. -To use `gxc` interactively from the command-line outside a `nix-shell`, you may use the script `gerbil-nix-env.sh` from the [Gerbil Clan](https://github.com/fare/gerbil-utils), the free software collection of utilities. +Note that static linking of Gerbil programs is not well supported in Nix; +fixing that will require updating the recipes for relevant libraries; +at the same time, Nix makes static linking not necessary. + +To compile using `gxc` should work fine from within Nix recipes +or from within a `nix-shell`, if you add `gerbil-unstable`, and +all the libraries you use to your package's `buildInputs`. +See the `pkgs.gerbil-support`, +as defined in `pkgs/development/compilers/gerbil/gerbil-support.nix` +in the latest nixpkgs, for functions to help you define packages +for your Gerbil libraries, with `gerbil-utils` as an example. + +To use `gxc` interactively from the command-line outside a `nix-shell`, +you may use the script `gerbil-nix-env.sh` from the +[Gerbil Clan](https://github.com/mighty-gerbils/gerbil-utils), +the free software collection of utilities. diff --git a/doc/reference/gerbil/prelude/runtime-bindings.md b/doc/reference/gerbil/prelude/runtime-bindings.md index 0f92e0346..f8b5d9d94 100644 --- a/doc/reference/gerbil/prelude/runtime-bindings.md +++ b/doc/reference/gerbil/prelude/runtime-bindings.md @@ -136,8 +136,8 @@ Defines the following symbols as externs: hash-clear! eq?-hash eqv?-hash equal?-hash uninterned-symbol? interned-symbol? string->uninterned-symbol - gensym make-symbol make-uninterned-symbol symbol-hash - keyword? uninterned-keyword? interned-keyword? keyword-hash + gensym make-symbol make-uninterned-symbol symbol-hash as-string display-as-string + keyword? uninterned-keyword? interned-keyword? keyword-hash make-keyword string-map string-for-each string-copy string-copy! substring-fill! string->bytes substring->bytes bytes->string diff --git a/doc/reference/std/misc/bytes.md b/doc/reference/std/misc/bytes.md index 8e383c8df..a4d78493b 100644 --- a/doc/reference/std/misc/bytes.md +++ b/doc/reference/std/misc/bytes.md @@ -3,7 +3,7 @@ This library provides primitives for operating on u8vectors as well as some utility functions. ::: tip To use the bindings from this module: -``` scheme +```scheme (import :std/misc/bytes) ``` ::: @@ -99,7 +99,7 @@ Retrieves a signed integer from its binary representation from *v*, starting at Encodes the signed integer *n* in its binary representation in *v*, starting at offset *i*. ## u8vector->uint-list -``` scheme +```scheme (u8vector->uint-list v endianness size) -> list of exact nonnegative integers v := u8vector @@ -110,7 +110,7 @@ Encodes the signed integer *n* in its binary representation in *v*, starting at Decodes a u8vector *v* into a list of exact nonnegative integers. ## uint-list->u8vector -``` scheme +```scheme (uint-list->u8vector lst endianness size) -> u8vcetor lst := list of exact nonnegative integers @@ -121,7 +121,7 @@ Decodes a u8vector *v* into a list of exact nonnegative integers. Encodes a list of unsigned integers to a u8vector. ## u8vector->sint-list -``` scheme +```scheme (u8vector->sint-list v endianness size) -> list of exact integers v := u8vector @@ -132,7 +132,7 @@ Encodes a list of unsigned integers to a u8vector. Decodes a u8vector *v* into a list of exact integers. ## sint-list->u8vector -``` scheme +```scheme (uint-list->u8vector lst endianness size) -> u8vector lst := list of exact integers @@ -143,7 +143,7 @@ Decodes a u8vector *v* into a list of exact integers. Encodes a list of signed integers to a u8vector. ## Operations on Machine-size Integers -``` scheme +```scheme (u8vector-u16-ref v i endianness) -> u16 (u8vector-u16-native-ref v i) -> u16 (u8vector-u16-ref-set! v i n endianness) -> unspecified @@ -195,7 +195,7 @@ When the endianness matches the native endianness, then a faster native implemen Operations for encoding and decoding floating point numbers using the IEEE-754 representation. ## u8vector-swap! -``` scheme +```scheme (u8vector-swap! v i j) -> unspecified v := u8vector @@ -206,7 +206,7 @@ Operations for encoding and decoding floating point numbers using the IEEE-754 r Swaps elements *i* and *j* of `u8vector` *v*. ::: tip Examples: -``` scheme +```scheme > (def u (u8vector 1 2)) > (u8vector-swap! u 0 1) > u @@ -215,7 +215,7 @@ Swaps elements *i* and *j* of `u8vector` *v*. ::: ## u8vector-reverse! -``` scheme +```scheme (u8vector-reverse! v) -> void v := u8vector @@ -224,7 +224,7 @@ Swaps elements *i* and *j* of `u8vector` *v*. Reverses the elements of `u8vector` *v* in-place. Mutates the vector. ::: tip Examples: -``` scheme +```scheme > (def u (u8vector 1 2 3 4 5)) > (u8vector-reverse! u) > u @@ -233,7 +233,7 @@ Reverses the elements of `u8vector` *v* in-place. Mutates the vector. ::: ## u8vector-reverse -``` scheme +```scheme (u8vector-reverse v) -> u8vector v := u8vector @@ -242,7 +242,7 @@ Reverses the elements of `u8vector` *v* in-place. Mutates the vector. Reverses the elements of `u8vector` *v*. Produces a new `u8vector`. ::: tip Examples: -``` scheme +```scheme > (def u (u8vector 1 2 3 4 5)) > (u8vector-reverse u) #u8(5 4 3 2 1) @@ -250,7 +250,7 @@ Reverses the elements of `u8vector` *v*. Produces a new `u8vector`. ::: ## u8vector->bytestring -``` scheme +```scheme (u8vector->bytestring v (delim #\space)) -> bytestring v := u8vector @@ -264,7 +264,7 @@ and separated using the specified delimiter character; the delimiter can be `#f` to specify simple concatenation. ::: tip Examples: -``` scheme +```scheme > (u8vector->bytestring (u8vector 255 127 11 1 0)) "FF 7F 0B 01 00" > (displayln (u8vector->bytestring (u8vector 255 127 11 1 0))) @@ -275,7 +275,7 @@ FF 7F 0B 01 00 ::: ## bytestring->u8vector -``` scheme +```scheme (bytestring->u8vector bs (delim #\space)) -> u8vector bs := bytestring @@ -288,7 +288,7 @@ This function expects a string of bytes delimited by *delim*, which can be `#f` no delimiter. Each byte consists of two hexadecimal characters. ::: tip Examples: -``` scheme +```scheme > (bytestring->u8vector "FF AB 00") #u8(255 171 0) > (u8vector->bytestring (bytestring->u8vector "FF AB 00")) @@ -299,7 +299,7 @@ no delimiter. Each byte consists of two hexadecimal characters. ::: ## u8vector->uint -``` scheme +```scheme (u8vector->uint v (endianness big)) -> uint v := u8vector @@ -309,7 +309,7 @@ no delimiter. Each byte consists of two hexadecimal characters. Decodes a u8vector as an unsigned integer. ## uint->u8vector -``` scheme +```scheme (uint->u8vector n (endianness big)) -> u8vector n := exact nonnegative integer @@ -319,7 +319,7 @@ Decodes a u8vector as an unsigned integer. Encodes an unsigned integer to its binary representation. ::: tip Examples: -``` scheme +```scheme > (u8vector->uint #u8(0 1)) 1 > (u8vector->uint (make-u8vector 2 #xFF)) @@ -442,7 +442,7 @@ The following low level unsafe operations are also exported. ``` ## u8vector-init!, bytevector-init! -``` scheme +```scheme (u8vector-init! len fun) -> u8vector ``` @@ -452,21 +452,21 @@ in increasing index order with the result of calling `fun` with the index as arg (starting with `0`, assuming `len` is positive). ::: tip Examples: -``` scheme +```scheme > (u8vector-init! 5 (lambda (x) (* x x))) #u8(0 1 4 9 16) ``` ::: ## u8vector-every -``` scheme +```scheme (u8vector-every pred? u8vector) -> bool ``` Return true if every element of the given `u8vector` satisfies the unary predicate `pred?`. ::: tip Examples: -``` scheme +```scheme > (u8vector-every odd? #u8(1 3 5)) #t > (u8vector-every odd? #u8(1 2 3)) @@ -475,7 +475,7 @@ Return true if every element of the given `u8vector` satisfies the unary predica ::: ## n-bits->n-u8 -``` scheme +```scheme (n-bits->n-u8 n) -> integer ``` @@ -483,14 +483,14 @@ Given a number `n` of bits, return the number `N` of 8-bit bytes necessary to st i.e. `N = (ceiling-align n-bits 8)`. ::: tip Examples: -``` scheme +```scheme > (map (lambda (x) (list x (n-bits->n-u8 x))) '(0 1 2 7 8 9 16 21 63 100 1000)) ((0 0) (1 1) (2 1) (7 1) (8 1) (9 2) (16 2) (21 3) (63 8) (100 13) (1000 125)) ``` ::: ## nat-length-in-u8 -``` scheme +```scheme (nat-length-in-u8 n) -> integer ``` @@ -498,14 +498,14 @@ Given a natural number `n` (non-negative, "unsigned"), return the number of 8-bit bytes necessary to store all the bits of `n`. ::: tip Examples: -``` scheme +```scheme > (map (lambda (x) (list x (nat-length-in-u8 x))) '(0 42 127 128 255 256 65535 65536)) ((0 0) (42 1) (127 1) (128 1) (255 1) (256 2) (65535 2) (65536 3)) ``` ::: ## nat->u8vector -``` scheme +```scheme (nat->u8vector n [length] [endianness]) -> u8vector ``` @@ -515,7 +515,7 @@ and an endianness (which defaults to `big`), return a u8vector of given length which stores the bits of `n` in the given endianness. ::: tip Examples: -``` scheme +```scheme > (nat->u8vector 66051) #u8(1 2 3) > (nat->u8vector 66051 4 little) @@ -524,7 +524,7 @@ return a u8vector of given length which stores the bits of `n` in the given endi ::: ## u8vector->nat -``` scheme +```scheme (u8vector->nat u8vector [length] [endianness]) -> integer ``` @@ -535,7 +535,7 @@ Assuming the `length` and `endianness` match and the number fits in the `length` this is the inverse operation of `nat->u8vector`. ::: tip Examples: -``` scheme +```scheme > (u8vector->nat #u8(1 2 3)) 66051 > (u8vector->nat #u8(3 2 1 0) 4 little) @@ -544,7 +544,7 @@ this is the inverse operation of `nat->u8vector`. ::: ## integer-length-in-u8 -``` scheme +```scheme (integer-length-in-u8 n) -> integer ``` @@ -552,14 +552,14 @@ Given a natural number `n` (non-negative, "unsigned"), return the number of 8-bit bytes necessary to store all the bits of `n`. ::: tip Examples: -``` scheme +```scheme > (map (lambda (x) (list x (integer-length-in-u8 x))) '(0 42 127 128 255 256 65535 65536)) ((0 0) (42 1) (127 1) (128 1) (255 1) (256 2) (65535 2) (65536 3)) ``` ::: ## integer->u8vector -``` scheme +```scheme (integer->u8vector n [length] [endianness]) -> u8vector ``` @@ -569,7 +569,7 @@ and an endianness (which defaults to `big`), return a u8vector of given length which stores the bits of `n` in the given endianness. ::: tip Examples: -``` scheme +```scheme > (integer->u8vector 66051) #u8(1 2 3) > (integer->u8vector -255) @@ -582,7 +582,7 @@ return a u8vector of given length which stores the bits of `n` in the given endi ::: ## u8vector->integer -``` scheme +```scheme (u8vector->integer u8vector [length] [endianness]) -> integer ``` @@ -593,7 +593,7 @@ Assuming the `length` and `endianness` match and the number fits in the `length` this is the inverse operation of `integer->u8vector`. ::: tip Examples: -``` scheme +```scheme > (u8vector->integer #u8(1 2 3)) 66051 > (u8vector->integer #u8(255 1)) diff --git a/doc/reference/std/misc/decimal.md b/doc/reference/std/misc/decimal.md index 1069582d3..efe0c648d 100644 --- a/doc/reference/std/misc/decimal.md +++ b/doc/reference/std/misc/decimal.md @@ -5,7 +5,7 @@ arbitrary-precision decimal numbers and conversion between them and strings. This can notably be important for handling financial data without losing precision. ::: tip To use bindings from this module -``` Scheme +```scheme (import :std/misc/decimal) ``` ::: @@ -24,7 +24,7 @@ QUUX (see the [snapshot at QITAB](https://qitab.common-lisp.dev/) and with its own design and implementation improvements. ## decimal? -``` Scheme +```scheme (decimal? x) -> bool ``` @@ -32,7 +32,7 @@ Given any value `x`, return true if that object is a decimal number, i.e. a rational number that is not a floating-point number. ::: tip Examples: -``` Scheme +```scheme > (decimal? 13/10) #t > (decimal? 1.3) @@ -45,7 +45,7 @@ i.e. a rational number that is not a floating-point number. ::: ## parse-decimal -``` Scheme +```scheme (parse-decimal input sign-allowed?: (sign-allowed? #t) @@ -87,11 +87,11 @@ before and/or after calling `parse-decimal`. `: PeekableStringReader sign-allowed?:Bool decimal-mark:Char group-separator:(Or Char Bool) exponent-allowed:(or Bool String) -> Decimal` -You may use utilities from [:std/text/basic-parsers](../text/basic-parsers) +You may use utilities from [:std/text/basic-parsers](../text/basic-parsers.md) to parse decimals as part of something bigger, or just use `string->decimal` below. ## string->decimal -``` Scheme +```scheme (string->decimal s sign-allowed?: (sign-allowed? #t) decimal-mark: (decimal-mark #\.) @@ -127,7 +127,7 @@ before (respectively after) the decimal number as part of the string: for other whitespace predicates. ## write-decimal -``` Scheme +```scheme (write-decimal number (port (current-output-port)) scale: (scale #f) width: (width #f) @@ -142,7 +142,7 @@ before (respectively after) the decimal number as part of the string: Write a decimal `number` to the specified `port` with the given keyword options. -The `port` is designated as per [`with-output`](../ports.md#with-output). +The `port` is designated as per [`with-output`](ports.md#with-output). The keyword options are as follow: - An integer `scale` (or `#f` meaning `0`, the default), such that @@ -174,7 +174,7 @@ Note that even if `precision-loss-behavior` is `truncate` or `round`, too large to fit within the given width. ## decimal->string -``` Scheme +```scheme (decimal->string number scale: (scale #f) width: (width #f) integral-digits: (integral-digits #f) fractional-digits: (fractional-digits #f) @@ -192,14 +192,14 @@ An error class and its recognizer predicate, for the sake of handling cases when printing a decimal number results in loss of precision. ## power-of-5 -``` Scheme +```scheme (power-of-5 x) -> nat or false ``` If `x` is an exact integer that is the `n`th power of 5, return `n`, otherwise return false. ## find-decimal-multiplier -``` Scheme +```scheme (find-decimal-multiplier d) -> (values integer integer) ``` Given a positive integer `d`, the reduced denominator of a decimal number, @@ -210,7 +210,7 @@ respectively the multiplier required to make the denominator a power of 10, and which power of 10 you will thus have reached. ## count-significant-digits -``` Scheme +```scheme (count-significant-digits n) -> nat ``` @@ -220,7 +220,7 @@ Exception: for `0`, return `0`, which defies convention for writing integers, but is the right thing in the context of figuring out how many decimals to use ## decimal->digits-exponent -``` Scheme +```scheme (decimal->digits-exponent decimal) -> (values integer integer) ``` Given a decimal number `decimal`, return two values: @@ -229,7 +229,7 @@ Given a decimal number `decimal`, return two values: (can be positive, zero or negative). ## digits-exponent->decimal -``` Scheme +```scheme (digits-exponent->decimal digits exponent) -> decimal ``` Given an integer `digits` and an `exponent`, multiply `digits` by 10 to the given power. diff --git a/doc/reference/std/misc/number.md b/doc/reference/std/misc/number.md index 3b3cb468f..fa7ae1033 100644 --- a/doc/reference/std/misc/number.md +++ b/doc/reference/std/misc/number.md @@ -14,13 +14,13 @@ work better with infinities. Notably: More generally, `xmin` and `xmax` preserve the type of the argument they return. ::: tip To use the bindings from this module: -``` scheme +```scheme (import :std/misc/number) ``` ::: ## xmin -``` scheme +```scheme (xmin ... ) -> real ``` @@ -29,7 +29,7 @@ In particular, it returns `+inf.0` (the positive infinity) if provided zero argu and is the identity function when given a single argument. ## xmin/list -``` scheme +```scheme (xmin/list ) -> real ``` @@ -38,7 +38,7 @@ passed as its arguments. In particular, it returns `+inf.0` (the positive infinity) if provided an empty list. ## xmin! -``` scheme +```scheme (xmin! ...) -> void ``` @@ -46,7 +46,7 @@ infinity) if provided an empty list. of the previous value and the provided arguments. ## xmin/map -``` scheme +```scheme (xmin/map []) -> real ``` @@ -57,7 +57,7 @@ The function is short-circuiting and will not evaluate further values and their after the bottom value `-inf.0` is reached. ## xmax -``` scheme +```scheme (xmax ... ) -> real ``` @@ -66,7 +66,7 @@ In particular, it returns `-inf.0` (the negative infinity) if provided zero argu and is the identity function when given a single argument. ## xmax/list -``` scheme +```scheme (xmax/list ) -> real ``` @@ -74,7 +74,7 @@ and is the identity function when given a single argument. In particular, it returns `-inf.0` (the negative infinity) if provided an empty list. ## xmax! -``` scheme +```scheme (xmax! ...) -> void ``` @@ -82,7 +82,7 @@ In particular, it returns `-inf.0` (the negative infinity) if provided an empty of the previous value and the provided arguments. ## xmax/map -``` scheme +```scheme (xmax/map []) -> real ``` @@ -93,7 +93,7 @@ The function is short-circuiting and will not evaluate further values and their after the top value `+inf.0` is reached. ## increment!, pre-increment!, post-increment!, decrement!, pre-decrement!, post-decrement! -``` scheme +```scheme (increment! place) -> (void) (increment! place increment ...) -> (void) (pre-increment! place) -> number @@ -116,7 +116,7 @@ one (if no further argument is specified) or the provided arguments (if specifie *post-increment!* and *post-decrement!* return the value before addition (respectively, subtraction). ## make-counter -``` scheme +```scheme (make-counter) -> counter (make-counter n) -> counter ``` @@ -127,7 +127,7 @@ and returns the original value of the counter before the addition (post-incremen You can thus reserve how many entries you are counting before the next call. ## integer-part -``` scheme +```scheme (integer-part x) -> integer ``` @@ -135,12 +135,12 @@ Given a real number `x`, `integer-part` will return the integer part as an exact i.e. the number with largest absolute value whose absolute value is no greater than that of `x`. ## fractional-part -``` scheme +```scheme (fractional-part x) -> integer ``` ## floor-align, ceiling-align -``` scheme +```scheme (floor-align n alignment) -> integer (ceiling-align n alignment) -> integer ``` @@ -152,7 +152,7 @@ the largest multiple of `alignment` non-greater than `n`, and if alignment is negative, the roles of `floor-align` and `ceiling-align` are swapped. ::: tip Examples: -``` scheme +```scheme > (floor-align 20 10) 20 > (floor-align 25 10) @@ -169,7 +169,7 @@ if alignment is negative, the roles of `floor-align` and `ceiling-align` are swa ::: ## real->sign -``` scheme +```scheme (real->sign x) -> -1, 0 or 1 ``` @@ -177,7 +177,7 @@ Given a real number `x`, return an integer, `-1` if the number is negative, `0` if it is zero, and `1` if it is positive. ::: tip Examples: -``` scheme +```scheme > (real->sign 2.7) 1 > (real->sign 1e-100) @@ -195,28 +195,28 @@ Given a real number `x`, return an integer, `-1` if the number is negative, ## nat? -``` scheme +```scheme (nat? x) -> Bool ``` Given any object `x`, return true if it is an non-negative exact integer. ## fxnat? -``` scheme +```scheme (fxnat? x) -> Bool ``` Given any object `x`, return true if it is an non-negative fixnum. ## nat-below? -``` scheme +```scheme (nat-below? x end) -> Bool ``` Given any object `x`, return true if it is an non-negative exact integer less than `end` (not included). ## nat-of-length? -``` scheme +```scheme (nat-of-length? x length-in-bits) -> Bool ``` @@ -225,7 +225,7 @@ that can be stored in `length-in-bits` bits, as witnessed by its `integer-length` being no greater than `length-in-bits` (included). ## integer-of-length? -``` scheme +```scheme (nat-of-length? x length-in-bits) -> Bool ``` @@ -234,7 +234,7 @@ exact integer that can be stored in `length-in-bits` bits, as witnessed by its `integer-length` being strictly less than `length-in-bits` (not included). ## for-each-integer -``` scheme +```scheme (for-each-integer fun from below) ``` @@ -242,14 +242,14 @@ Given `fun` a function of one argument, call `fun` with each successive increasi starting with `from` up to and not including `below`. ## half -``` scheme +```scheme (half n) ``` Given an integer `n`, return half of `n` if it is even, or half of `n-1` if it is odd. ## least-integer? -``` scheme +```scheme (least-integer pred? start end) -> integer ``` @@ -261,7 +261,7 @@ If `pred?` isn't actually increasing, return some integer in the interval. ## most-integer? -``` scheme +```scheme (most-integer pred? start end) -> integer ``` @@ -272,7 +272,7 @@ If no integer in the interval satisfies `pred?`, return `start`. If all do, retu If `pred?` isn't actually decreasing, return some integer in the interval. ## bezout -``` scheme +```scheme (bezout a b) -> (values integer integer integer) ``` @@ -284,7 +284,7 @@ Note: the current implementation doesn't use constant-time computations and shouldn't be used for production-grade cryptography. ## mult-mod a b n -``` scheme +```scheme (mult-mod a b n) -> integer ``` @@ -296,7 +296,7 @@ and shouldn't be used for production-grade cryptography. Its performance is only moderate. ## invert-mod -``` scheme +```scheme (invert-mod a n) -> integer ``` @@ -309,7 +309,7 @@ and shouldn't be used for production-grade cryptography. Its performance is only moderate. ## invert-mod -``` scheme +```scheme (invert-mod a n) -> integer ``` @@ -323,7 +323,7 @@ and shouldn't be used for production-grade cryptography. Its performance is only moderate. ## mult-expt-mod -``` scheme +```scheme (mult-expt-mod a x e n) -> integer ``` @@ -336,7 +336,7 @@ and shouldn't be used for production-grade cryptography. Its performance is only moderate. ## expt-mod -``` scheme +```scheme (expt-mod x e n) -> integer ``` @@ -348,7 +348,7 @@ and shouldn't be used for production-grade cryptography. Its performance is only moderate. ## integer-log -``` scheme +```scheme (integer-log a b) -> integer ``` @@ -356,14 +356,14 @@ Given two integers `a` and `b`, return the largest natural integer n such that ` ## factor-out-powers-of-2 -``` scheme +```scheme (factor-out-powers-of-2 n) -> integer ``` Given an integer `n`, return the smallest integer `m` such that `n = m*2**k` for some integer `k`. ## factor-out-powers -``` scheme +```scheme (factor-out-powers a b) -> integer ``` diff --git a/doc/reference/std/source.md b/doc/reference/std/source.md new file mode 100644 index 000000000..6179104e6 --- /dev/null +++ b/doc/reference/std/source.md @@ -0,0 +1,99 @@ +# Source Location and Ancillary Source File Support + +The `:std/source` library provides common macros to access +the source location of code being read, interpreted or compiled, and to +ancillary files next to the source files proper, +that may provide data used at either runtime or compile-time. + +::: tip To use the bindings from this module: +```scheme +(import :std/source) +``` +::: + +## this-source-location +```scheme +(this-source-location [context]) +``` + +Expands to the location of the supplied `context` source form, +or to the `this-source-location` invocation itself if left implicit. + +The location is a vector `#(file pos)` in standard Gambit fashion: + - `file` is either a string with the file name from which the source was read, + or if it was not read from a file, something such as the list `(stdin)`. + - `pos` is a positive fixnum of the form `(+ (* column 65536) line)` + where both the `line` and `column` start at zero + (whereas most other software including e.g. Emacs count line from one, + and Emacs counts column from 0), if line and column are both under 65536, + or else a negative integer, the opposite of the file or port position. + +::: tip Examples: +```scheme +> (quotient (vector-ref (this-source-location) 1) 65536) +23 +``` + +## this-source-file +```scheme +(this-source-file [context]) +``` + +Expands to the file path of the supplied `context` source form, +or to the `this-source-file` invocation itself if left implicit. + +::: tip Examples: +```scheme +#!/usr/bin/env gxi +(import :std/source) +(def $0 (this-source-file)) +;;; Now you can play with this source file at runtime. +``` + +## this-source-directory +```scheme +(this-source-directory [context]) +``` + +Expands to the file directory path of the supplied `context` source form, +or to the `this-source-directory` invocation itself if left implicit, +so you can play with it at runtime. + +::: tip Examples: +```scheme +#!/usr/bin/env gxi +(import :std/source :std/misc/path :std/misc/ports) +(def $this-dir (this-source-directory)) +(def data (read-all-as-lines (subpath $this-dir "data.txt"))) +``` + +## this-source-path +```scheme +(this-source-path [context] relpath) +``` + +Given the `source-file` the supplied `context` source form was read from, +return the expanded path relative to the `path-directory` of that `source-file` +under the `relpath` relative path. + +::: tip Examples: +```scheme +#!/usr/bin/env gxi +(import :std/source :std/misc/ports) +(def data (read-all-as-lines (this-source-path "data.txt"))) +``` + +## this-source-content +```scheme +(this-source-content [context] relpath) +``` + +Given the `source-file` the supplied `context` source form was read from, +return as a u8vector the content of a file relative to the +`path-directory` of that `source-file`, +burnt into your object file at compile time, +so the ancillary file doesn't have to exist anymore at runtime. + +You may find creative uses of [`syntax-call`](sugar.md#syntax-call) and +and [`syntax-eval`](sugar.md#syntax-eval) to further manipulate data +at compile-time. diff --git a/doc/reference/std/sugar.md b/doc/reference/std/sugar.md index eb21a7ebe..41038882e 100644 --- a/doc/reference/std/sugar.md +++ b/doc/reference/std/sugar.md @@ -18,7 +18,16 @@ footprint, it only defines macros. For the simplest macros that fit with a single expansion rule, `defrule` provides a short-hand compared to writing a `defrules` with a single rewrite rule. - +::: tip Examples: +```scheme +> (import :std/sugar :std/format) +> (defrule (show var ...) (begin (printf " ~a = ~s\n" 'var var) ...)) +> (define-values (x y z) (values 1 [2 3] "4 5")) +> (show x y z) + x = 1 + y = (2 3) + z = "4 5" +``` ## try ```scheme @@ -39,6 +48,33 @@ finally-clause: Evaluates body with an exception catcher and an unwind finalizer. +::: tip Examples: +```scheme +> (import :std/error) +> (def (global-symbol-bound? sym) + (try (eval sym) #t + (catch (unbound-global-exception? e) #f))) +> (global-symbol-bound? 'list) +#t +> (global-symbol-bound? 'this-symbol-is-unbound) +#f + +> (def depth 0) +> (def (in-ctx f) + (try + (set! depth (1+ depth)) + (f) + (finally (set! depth (1- depth))))) +> depth +0 +> (in-ctx (cut displayln depth)) +1 +> (in-ctx (cut error "foo")) +ERROR "foo" ... +> depth +0 +``` + ## with-destroy ```scheme (with-destroy obj body ...) @@ -46,6 +82,19 @@ Evaluates body with an exception catcher and an unwind finalizer. Evaluates body with an unwind finalizer that invokes `{destroy obj}`. +```scheme +> (defclass A (x) transparent: #t constructor: :init!) +> (defmethod {:init! A} (lambda (self) (class-instance-init! self x: 'open))) +> (defmethod {destroy A} (lambda (self) (set! (@ self x) 'closed))) +> (let (a (A)) [(with-destroy a (A-x a)) (A-x a)]) +(open closed) +> (def b (A)) +> (with-destroy b (error "FOO")) +ERROR: FOO ... +> (A-x b) +closed +``` + ## defmethod/alias ```scheme (defmethod/alias {method (alias ...) type} @@ -54,9 +103,17 @@ Evaluates body with an unwind finalizer that invokes `{destroy obj}`. Defines a method with one or more binding aliases -## using +::: tip Examples: +```scheme +> (defclass A ()) +> (defmethod/alias {foo (bar baz) A} (lambda (self) "foo")) +> [{foo (A)} {bar (A)} {baz (A)}] +("foo" "foo" "foo") +``` + +## using-method ```scheme -(using obj ...) +(using-method obj ...) => (begin (using-method obj ) ...) (using-method obj method-id) @@ -68,6 +125,20 @@ Defines local procedures for bound methods of an object. This is very useful for avoiding method dispatch if methods of an object are used multiple times within the lexical scope. +::: tip Examples: +```scheme +> (defclass A (x) transparent: #t) +> (defmethod {foo A} (lambda (self) (+ 10 (@ self x)))) +> (def a (A x: 13)) +> (using-method a foo) +> (foo) +23 +> (using-method a (bar foo)) +> (bar) +23 +``` +::: + ## with-methods with-class-methods with-class-method ``` (with-methods obj ...) @@ -97,6 +168,30 @@ you thus have to pass the receiver as first argument to the method. The advantage over `using` is that there is no implicit allocation for collecting arguments to apply the bound closure of the method. +::: tip Examples: +```scheme +> (defclass C (c) transparent: #t) +> (defmethod {foo C} (lambda (self) (+ 10 (@ self c)))) +> (defmethod {frob C} (lambda (self (increment 1)) (pre-increment! (@ self c) increment))) +> (def c (C c: 10)) +> (with-methods c foo (frobnicate frob)) +> (foo c) +20 +> (frobnicate c) +11 +> (frobnicate c) +12 +> (with-class-methods C::t (fuzz foo) frob) +> (fuzz c) +22 +> (frob c) +13 +> (with-class-method C::t (baz foo)) +> (baz c) +23 +``` +::: + ## while ```scheme (while test body ...) @@ -104,6 +199,20 @@ collecting arguments to apply the bound closure of the method. Evaluates body in a loop while the test expression evaluates to true. +::: tip Examples: +```scheme +> (import :std/misc/number) +> (def vector-ref-set! vector-set!) +> (def a #(1 2 3 4 5 6)) +> (def i 5) +> (while (<= 0 i) + (increment! (vector-ref a i)) + (decrement! i)) +> a +#(2 3 4 5 6 7)) +``` +::: + ## until ```scheme (until test body ...) @@ -111,6 +220,20 @@ Evaluates body in a loop while the test expression evaluates to true. Evaluates body in a loop until the test expression evaluates to true. +::: tip Examples: +```scheme +> (import :std/misc/number) +> (def vector-ref-set! vector-set!) +> (def a #(2 3 4 5 6 7)) +> (def i 0) +> (until (= i (vector-length a)) + (increment! (vector-ref a i)) + (increment! i)) +> a +#(3 4 5 6 7 8) +``` +::: + ## hash ```scheme (hash (key val) ...) @@ -118,6 +241,15 @@ Evaluates body in a loop until the test expression evaluates to true. Construct a hash table; the keys are quasiquoted while the values are evaluated. +::: tip Examples: +```scheme +> (import :std/sort :std/misc/symbol) +> (def key 'aaa) +> (def t (hash (a 1) (,key 2) (k (+ 10 13)))) +> (hash->list/sort t symbol (hash-get hash 'x)` ; weak accessor - `..x -> (%%ref .x)` ; escape +::: tip Examples: +```scheme +> (def .c 4) +> (def h (hash (a 1) (b 2) (c 3))) +> (let-hash h [.a .?b ..c .?d]) +(1 2 4 #f) +``` + ## awhen ```scheme (awhen (id test) body ...) ``` Anaphoric `when`. Evaluates and binds *test* to *id*. Evaluates *body ...* if -*test* is not `#f`. +*test* is not `#f`. Otherwise, returns `#!void`. + +::: tip Examples: +```scheme +> (import :std/text/basic-parsers) +> (def (foo c) (awhen (v (char-ascii-digit c)) (* v v))) +> (foo #\3) +9 +> (foo #\a) +``` ## chain -``` scheme +```scheme (chain expression ...) : @@ -176,7 +325,7 @@ prefixed with a variable (supports destructuring). When the first expression is a `<>`, chain will return a unary lambda. ::: tip Examples: -``` scheme +```scheme > (chain "stressed" string->list reverse @@ -200,7 +349,7 @@ When the first expression is a `<>`, chain will return a unary lambda. ::: ## is -``` scheme +```scheme (is [proc] v-or-pred [test: equal?]) -> procedure (is v [test: equal?]) -> procedure @@ -218,7 +367,7 @@ if passed to the macro as value and not as variable. Alternatively, the `test:` keyword can be used to supply a test, the default is `equal?`. ::: tip Examples: -``` scheme +```scheme > ((is "a") "a") #t @@ -230,3 +379,302 @@ if passed to the macro as value and not as variable. Alternatively, the ("Documents" "Pictures" "Videos" "Music") ``` ::: + + +## defrule +```scheme +(defrule (name ...) [] ) +``` + +For the simplest macros that fit with a single expansion rule, +`defrule` provides a short-hand compared to writing a `defrules` with a single rewrite rule. + +::: tip Examples: +```scheme +> (import :std/sugar :std/format) +> (defrule (show var ...) (begin (printf " ~a = ~s\n" 'var var) ...)) +> (define-values (x y z) (values 1 [2 3] "4 5")) +> (show x y z) + x = 1 + y = (2 3) + z = "4 5" +``` + +## defsyntax/unhygienic +```scheme +(defsyntax/unhygienic (m-id stx) body ...) +(defsyntax/unhygienic m-id f-expr) +``` + +`defsyntax/unhygienic` is a variant of `defsyntax`, with similar syntax, +that allows you to define a macro `m-id` that is bound to a tweaked variant +of the function `f-expr` or `(lambda (stx) body ...)` such that +it can introduce identifiers in the context in which it is invoked. + +[Faré: I admit the precise semantics of `defsyntax/unhygienic` is beyond +my understanding of how hygienic macros works. Hopefully, I can get an explanation +from the author Alex Knauth, or from another Racket wizard or macro guru.] + +::: tip Examples: +```scheme +> (def aa 22) +> (defsyntax/unhygienic (double-id ctx) + (syntax-case ctx () ((_ x) (stx-identifier #'ctx #'x #'x)))) +> (double-id a) +22 +``` +::: + +## with-id, with-id/expr +```scheme +(with-id [ctx] ( ...) body body+ ...) +(with-id/expr [ctx] ( ...) body body+ ...) +``` + +`with-id` and `with-id/expr` are macros that allow you to +unhygienically generate one or many identifiers +in the explicitly or implicitly given lexical context `ctx`, +such that the `body body+ ...` of the macro can then define or refer to +these identifiers so they are visible in the rest of the context `ctx`. + +The general form of an identifier specification is +`(id str1 str2 ...)` where +`id` is the identifier to be referenced in the `body body+ ...` of the macro, +and `str1 str2 ...` are expressions that may evaluate to +strings, symbols, identifiers, etc., that will be converted to strings, concatenated, +interned in a symbol then associated with the lexical context `ctx`, +as per `stx-identifier` from the gerbil prelude, +such that mentions of `id` in the body are expanded to mentions +of the computed identifier in the target context. + +A simplified case of identifier specification is `id` or `(id)` which is +the same as `(id 'id)` wherein the identifier stands for itself to be used +in the `body` as refering to the same-named identifier associated to `ctx`. + +If the lexical context `ctx` isn't explicitly provided as an identifier, +the context where `with-id` itself appears is used; +this implicit lexical context is fine for simple direct uses of `with-id` +in the lexical context where the identifiers are to be looked up or defined. +However, for more advanced uses where `with-id` is itself used as a helper +deep within a macro that wants to use or define computed identifiers, +you will need to explicitly give it the target context +in which to compute identifiers: +whichever outermost macro is directly invoked in the target lexical context +must capture that environment and pass it down every intermediate macro +all the way to `with-id`. +These macros may possess a form where the context argument is implicit, +but *must* possess a form where it is explicit. + +Now, `with-id` side-effects the environment to define the identifiers, +and repeated uses of `with-id` with the same context and the same identifiers +can cause weird clashes with unhelpful error messages saying +`Syntax Error: Bad syntax; illegal expression`. +For this reason, use `with-id/expr` for read accesses to identifiers: +it creates a new scope every time, so you cannot create new visible definitions +but also will not cause clashes with unhelpful error messages. + +::: tip Examples: +```scheme +;; Defining "variables" A, B, C, D to actually be +;; accessors for positions in a vector. +> (def mem (make-vector 5 0)) +> (defrule (defvar name n) + (with-id name ((@ #'name "@") + (get #'name) + (set #'name "-set!")) + (begin + (def @ n) + (def (get) (vector-ref mem @)) + (def (set x) (vector-set! mem @ x))))) +> (begin (defvar A 0) (defvar B 1) (defvar C 2) (defvar D 3)) +> (begin (A-set! 42) + (B-set! (+ (A) 27)) + (increment! (C) 5) + (D-set! (post-increment! (C) 18))) +> mem +#(42 69 23 5 0) +> C@ +2 + +;;; Using with-id to refer to a computed name +> (defrule (var-index var) (with-id/expr var ((@ #'var '@)) @)) +> [(var-index A) (var-index B) (var-index C) (var-index D)] +(0 1 2 3) +> (defrule (vars-index var ...) (list (var-index var) ...)) +> (vars-index A B C D) +(0 1 2 3) + +> (defrule (bad-var-index var) (with-id var ((@ #'var '@)) @)) +> [(bad-var-index A) (bad-var-index B) (var-index C) (var-index D)] +*** ERROR IN ... +--- Syntax Error: Bad syntax; illegal expression +... form: ... detail: (%#define-syntax m (compose syntax-local-introduce (lambda (stx2) (with-syntax ((@ (stx-identifier (stx-car (stx-cdr stx2)) (list (syntax A) '@)))) (syntax (... @)))) syntax-local-introduce)) +``` +::: + +## if-let +```scheme +(if-let ((id test) ...) then else) +(if-let (id test) then else) +``` + +Variant of `if` that sequentially evaluates each `test` and if it passes +(returns a true value, anything but `#f`) binds the identifier `id` to it, +that can be then seen by all subsequent tests and by the `then` clause +that is evaluated if all tests pass. +However, if any test fails (returns `#f`), then +the `else` clause is evaluated, which does not see the identifiers. + +A single `(id test)` binding can be done with one fewer levels of parentheses. + +The `else` clause is mandatory. +Use `when-let` instead for a variant where the `else` clause is always `(void)`. + +NB: This `if-let` binds identifiers sequentially like `let*`, short-circuits +like `and`, and does not bind any of the identifiers in the `else` clause, +each of which design choices is opposite to the one made in +the `if-let` offered in Common Lisp by Alexandria and UIOP. + +::: tip Examples: +```scheme +> (import :std/text/basic-parsers) +> (def (foo a b c) + (if-let ((x (char-ascii-digit a)) + (y (char-ascii-digit b)) + (z (char-ascii-digit c))) + (+ x y z) + -1)) +> (foo #\1 #\2 #\3) +6 +> (foo #\1 #\A #\3) +-1 +``` + +## when-let +``` +(when-let bindings body ...) +``` +Generalization of `awhen` where multiple bindings are allowed, and +specialization of `if-let` where the else clause is `(void)`. + +::: tip Examples: +```scheme +> (import :std/iter :std/misc/list-builder) +> (def h (hash (1 "foo") (3 "bar") (4 "baz"))) +> (with-list-builder (collect) + (for (n (in-range 1000)) + (when-let ((p (power-of-5 n)) + (x (hash-get h p))) + (collect [n x])))) +((5 "foo") (125 "bar") (625 "baz")) +``` +::: + +## defcheck-argument-type +```scheme +(defcheck-argument-type ...) +``` +For each specified ``, define a macro `check-argument-` +that checks that each of its argument is of the given `` or +else raises a `ContractViolation` +as per [`check-argument`](errors.md#check-argument). + +::: tip Examples: +```scheme +> (import :std/number :std/iter) +> (defcheck-argument-type integer vector) +> (def (foo v n start (end #f)) + (check-argument-vector v) + (unless end (set! end (vector-length v))) + (check-argument-integer n start end) + (for (i (in-range start end)) + (increment! (vector-ref v i) n))) +> (def v #(1 2 3 4 5 6)) +> (foo v 10 2) +> v +#(1 2 13 14 15 16) +> (foo '(1 2 3) 1 0) +*** ERROR IN ... [ContractViolation]: contract violation +--- irritants: v (vector? v) "bad argument; expected vector" (1 2 3) +> (foo #(1 2 3) 1 "0") +*** ERROR IN ... [ContractViolation]: contract violation +--- irritants: start (integer? start) "bad argument; expected integer" "0" +``` +::: + +## syntax-eval stx +```scheme +(syntax-eval expression) +``` +Evaluate the `expression` during syntax-expansion, and +use the result as source. + +::: tip Examples: +```scheme +;; Low-level language users like to show off their "fast" O(n) fibonacci. +;; Here is a faster O(1) implementation that supports numbers they don't. +> (import (for-syntax :std/misc/list-builder)) +> (def (constant-time-fibonacci n) + (def precomputed (syntax-eval (list->vector + (with-list-builder (collect) + (let loop ((a 0) (b 1)) + (when (<= (integer-length a) 128) + (collect a) (loop b (+ a b)))))))) + (vector-ref precomputed n)) +> (constant-time-fibonacci 186) +332825110087067562321196029789634457848 + +> (def aa 1) +> (syntax-eval (string->symbol "aa")) +1 +``` +::: + +## syntax-call +```scheme +(syntax-call expression) +(syntax-call expression ctx . args) +``` +During syntax-expansion, evaluate the `expression` and apply the resulting function +to the context identifier `ctx` and the arguments. +If `ctx` is not provided, use the `syntax-call` identifier from the call itself. + +The `expression` can only use functionality imported `for-syntax`. +If may inspect the source location using `AST-source` and visit ancillary source files, etc. + +::: tip Examples: +```scheme +> (import (for-syntax :std/stxutil)) +> (def bar 23) +> (def foofoo 42) +> (syntax-call (lambda (ctx . args) (stx-identifier ctx args args)) bar foo) +42 +``` +::: + +## defsyntax-call +```scheme +(defsyntax-call (macro ctx formals ...) body ...) +``` + +Define a `macro` that takes a lexical context `ctx` and other argument `formals ...` +and expands into the `body ...`. +The context `ctx` is taken as first argument of the `macro` invocation, or, +if the formals have a fixed size and one argument is otherwise missing, +from the `macro` invocation itself. + +::: tip Examples: +```scheme +;;; This is how this-source-file is defined in :std/source +> (begin-syntax + (def (stx-source-file stx) + (alet (loc (stx-source stx)) + (vector-ref loc 0)))) +> (defsyntax-call (this-source-file ctx) + (stx-source-file ctx)) + +;;; Now in some script, you can use: +(import :std/source) +(def $0 (this-source-file)) +``` +::: diff --git a/src/gerbil/expander/stx.ss b/src/gerbil/expander/stx.ss index bc6c1232d..962295d3c 100644 --- a/src/gerbil/expander/stx.ss +++ b/src/gerbil/expander/stx.ss @@ -263,7 +263,7 @@ namespace: gx ;; identifier utils (def (stx-identifier template . args) - (datum->syntax template (apply make-symbol (map stx-e args)) + (datum->syntax template (apply make-symbol (syntax->datum args)) (stx-source template))) (def (stx-identifier-marks stx) diff --git a/src/gerbil/prelude/core.ss b/src/gerbil/prelude/core.ss index 611873e58..f32fd87da 100644 --- a/src/gerbil/prelude/core.ss +++ b/src/gerbil/prelude/core.ss @@ -148,8 +148,8 @@ package: gerbil hash-clear! eq?-hash eqv?-hash equal?-hash uninterned-symbol? interned-symbol? string->uninterned-symbol - gensym make-symbol make-uninterned-symbol symbol-hash - keyword? uninterned-keyword? interned-keyword? keyword-hash + gensym make-symbol make-uninterned-symbol symbol-hash as-string display-as-string + keyword? uninterned-keyword? interned-keyword? keyword-hash make-keyword string-map string-for-each string-copy string-copy! substring-fill! string->bytes substring->bytes bytes->string diff --git a/src/gerbil/runtime/util.ss b/src/gerbil/runtime/util.ss index 1a33e3c5c..f214255f1 100644 --- a/src/gerbil/runtime/util.ss +++ b/src/gerbil/runtime/util.ss @@ -516,17 +516,31 @@ namespace: #f (and (symbol? x) (not (uninterned-symbol? x)))) -(def (make-symbol . args) - (string->symbol - (apply string-append - (map (lambda (x) - (cond - ((string? x) x) - ((symbol? x) (symbol->string x)) - ((keyword? x) (keyword->string x)) - ((number? x) (number->string x)) - (else (error "cannot convert to symbol" x)))) - args)))) +(def (display-as-string x port) + (cond + ((or (string? x) (symbol? x) (keyword? x) (number? x) (char? x)) (display x port)) + ((pair? x) (display-as-string (car x) port) (display-as-string (cdr x) port)) + ((vector? x) (display-as-string (vector->list x) port)) + ((or (null? x) (void? x) (eof-object? x) (boolean? x)) (void)) + (else (error "cannot convert to symbol" x)))) + +(def as-string + (case-lambda + ((x) (cond ((string? x) x) + ((symbol? x) (symbol->string x)) + ((keyword? x) (keyword->string x)) + (else (call-with-output-string [] (lambda (p) (display-as-string x p)))))) + (r (as-string r)))) + +(def make-symbol + (case-lambda + ((x) (if (interned-symbol? x) x (string->symbol (as-string x)))) + (r (make-symbol r)))) + +(def make-keyword + (case-lambda + ((x) (if (interned-keyword? x) x (string->keyword (as-string x)))) + (r (make-keyword r)))) (def (interned-keyword? x) (and (keyword? x) diff --git a/src/std/source-test.ss b/src/std/source-test.ss index 5ca63f9a0..5f7d52c37 100644 --- a/src/std/source-test.ss +++ b/src/std/source-test.ss @@ -1,12 +1,13 @@ (export #t) -(import :std/source - :std/test) +(import :std/test :std/source) +(def this-position (this-source-position)) +;; NB: Don't lightly change the lines above, the tests below rely on their layout! (def source-test (test-suite "test :std/source" (test-case "simple tests" - (check-equal? (this-source-position) ;; <-- marks the position of this-source-position itself - #x00150007) ;; Line 8 (7 counting from from 0), column 21, in Gambit encoding. + (check-equal? this-position ;; position of "this-source-position" on top of file. + #x00140002) ;; Line 8 (7 counting from from 0), column 21, in Gambit encoding. (check-equal? (path-strip-directory (this-source-file)) "source-test.ss") (check-equal? (path-directory (this-source-path "blah")) @@ -14,4 +15,5 @@ (check-equal? (this-source-directory) (path-directory (this-source-file))) (check-equal? (bytes->string (subu8vector (this-source-content "source-test.ss") 0 11)) - "(export #t)")))) + "(export #t)") + ))) diff --git a/src/std/source.ss b/src/std/source.ss index 61b4c2278..4021fe327 100644 --- a/src/std/source.ss +++ b/src/std/source.ss @@ -35,7 +35,7 @@ (stx-source ctx)) (defsyntax-call (this-source-file ctx) - (stx-source-file ctx)) + `',(stx-source-file ctx)) (defsyntax-call (this-source-position ctx) (stx-source-position ctx)) diff --git a/src/std/stxutil.ss b/src/std/stxutil.ss index 9ba32cd9e..190eaaa95 100644 --- a/src/std/stxutil.ss +++ b/src/std/stxutil.ss @@ -13,35 +13,26 @@ (datum->syntax ctx (string->symbol (apply format fmt (map stx-e args))) (stx-source ctx))) -(def (displayify x port) - (cond - ((member x '(#f #t () #!void #!eof)) (void)) - ((or (string? x) (symbol? x) (number? x)) (display x port)) - ((keyword? x) (display (keyword->string x) port)) - ((pair? x) (displayify (car x) port) (displayify (cdr x) port)) - ((vector? x) (displayify (vector->list x) port)) - ((AST? x) (displayify (stx-e x) port)) - (else (void)))) -(def (stringify . x) (call-with-output-string (lambda (port) (displayify x port)))) -(def symbolify (case-lambda ((x) (if (symbol? x) x (string->symbol (stringify x)))) - (x (string->symbol (stringify x))))) -(def keywordify (case-lambda ((x) (if (keyword? x) x (string->keyword (stringify x)))) - (x (string->keyword (stringify x))))) -(def (identifierify stx . x) (datum->syntax stx (apply symbolify x))) +;; TODO: delete after v0.18 -- for temporary compatibility only +(defalias displayify display-as-string) +(defalias stringify as-string) +(defalias symbolify make-symbol) +(defalias identifierify stx-identifier) -;; Use maybe-intern-symbol instead of string->symbol to avoid DoS attacks +;; Use maybe-make-symbol instead of make-symbol to avoid DoS attacks ;; that cause you to intern too many symbols and run out of memory. -;; : (Or Symbol String) <- String -(def (maybe-intern-symbol string) - (or (##find-interned-symbol string) string)) +;; : (Or Symbol String) <- StringDesignator ... +(def maybe-make-symbol + (case-lambda ((x) (if (interned-symbol? x) x + (let (s (as-string x)) + (or (##find-interned-symbol s) s)))) + (x (maybe-make-symbol (as-string x))))) -;; Use maybe-intern-symbol instead of string->keyword to avoid DoS attacks +;; Use maybe-make-keyword instead of make-keyword to avoid DoS attacks ;; that cause you to intern too many keywords and run out of memory. -;; : (Or Keyword String) <- String -(def (maybe-intern-keyword string) - (or (##find-interned-keyword string) string)) - -(def maybe-symbolify (case-lambda ((x) (if (symbol? x) x (maybe-intern-symbol (stringify x)))) - (x (maybe-intern-symbol (stringify x))))) -(def maybe-keywordify (case-lambda ((x) (if (keyword? x) x (maybe-intern-keyword (stringify x)))) - (x (maybe-intern-keyword (stringify x))))) +;; : (Or Keyword String) <- StringDesignator ... +(def maybe-make-keyword + (case-lambda ((x) (if (interned-keyword? x) x + (let (s (as-string x)) + (or (##find-interned-keyword s) s)))) + (x (maybe-make-keyword (as-string x))))) diff --git a/src/std/sugar-test.ss b/src/std/sugar-test.ss index 18537f4d8..95109c2b1 100644 --- a/src/std/sugar-test.ss +++ b/src/std/sugar-test.ss @@ -1,67 +1,186 @@ (export sugar-test) (import :std/test + :std/error + :std/format + :std/iter + :std/misc/decimal + :std/misc/hash + :std/misc/list-builder + (for-syntax :std/misc/list-builder) :std/misc/number + :std/misc/symbol :std/pregexp - :std/sugar) + :std/sort + (for-syntax :std/stxutil) + :std/sugar + :std/text/char-set) + +;; Classes used by some examples +(defclass A (a) transparent: #t constructor: :init!) +(defmethod {:init! A} (lambda (self) (class-instance-init! self a: 'open))) +(defmethod {destroy A} (lambda (self) (set! (@ self a) 'closed))) + +(defclass C (c) transparent: #t) +(defmethod {foo C} (lambda (self) (+ 10 (@ self c)))) +(defmethod {frob C} (lambda (self (increment 1)) (pre-increment! (@ self c) increment))) + +(def vector-ref-set! vector-set!) (def sugar-test (test-suite "test :std/sugar" - (test-case "chain" - (check-equal? - ;; expression as input - (chain (iota 3) - ([_ . rest] (map 1+ rest)) - (xs (map number->string xs)) - (string-join <> ", ")) - "2, 3") - - (check-equal? - ;; variable as input - (let (lst (iota 3)) - (chain lst - ([_ . rest] (map 1+ rest)) - (xs (map number->string xs)) - (string-join <> ", "))) - "2, 3") - - (check-equal? - ;; chain lambda - ((chain <> - ([_ . rest] (map 1+ rest)) - (xs (map number->string xs)) - (string-join <> ", ")) - (iota 3)) - "2, 3") - - (check-equal? - ;; unary procedure at the start - (let (map1 (cut map 1+ <>)) - (chain [1 2] - map1 - (reverse <>))) - [3 2]) - - (check-equal? - ;; unary procedure not at the start - (chain [9 19 29] - ([_ . rest] (map 1+ rest)) - reverse - car) - 30) - - (check-equal? (chain [0 1] (map (lambda (v) (1+ v)) <>)) [1 2])) - (test-case "test is" - (check ((is 1+ 3) 2) => #t) - (check ((is 1+ number?) 0) => #t) - (check ((is symbol->string "a") 'a) => #t) - (check ((is 1+ 3 test: eqv?) 2) => #t) - (check ((is 2) 2) => #t) - (check ((is 'a test: eq?) 'a) => #t) - (check ((is 2.0) 2.0) => #t) - (check ((is "a") "a") => #t)) - - (test-case "with-id, defining variables" + (test-case "defrule" + (check + (call-with-output-string + (lambda (p) + (parameterize ((current-output-port p)) + (defrule (show var ...) (begin (printf " ~a = ~s\n" 'var var) ...)) + (define-values (x y z) (values 1 [2 3] "4 5")) + (show x y z)))) + => " x = 1\n y = (2 3)\n z = \"4 5\"\n")) + + (test-case "try catch finally" + (def (global-symbol-bound? sym) + (try (eval sym) #t + (catch (unbound-global-exception? e) #f))) + (check (global-symbol-bound? 'list) => #t) + (check (global-symbol-bound? 'this-symbol-is-unbound) => #f) + + (def depth 0) + (def (in-ctx f) + (try + (set! depth (1+ depth)) + (f) + (finally (set! depth (1- depth))))) + (check depth => 0) + (check (in-ctx (lambda () depth)) => 1) + (check-exception (in-ctx (lambda () (check depth => 1) (error "foo"))) true) + (check depth => 0)) + + (test-case "with-destroy" + (check (let (a (A)) [(with-destroy a (A-a a)) (A-a a)]) => '(open closed)) + (def b (A)) + (check-exception (with-destroy b (error "FOO")) true) + (check (A-a b) => 'closed)) + + (test-case "defmethod/alias" + (defmethod/alias {name (nickname nick) A} (lambda (self) "foo")) + (check {name (A)} => "foo") + (check {nickname (A)} => "foo") + (check {nick (A)} => "foo")) + + (test-case "using-method" + (def c (C c: 13)) + (using-method c foo) + (check (foo) => 23) + (using-method c (bar foo)) + (check (bar) => 23)) + + (test-case "with-methods with-class-methods with-class-method" + (def c (C c: 10)) + (with-methods c foo (frobnicate frob)) + (check (foo c) => 20) + (check (frobnicate c) => 11) + (check (frobnicate c) => 12) + (with-class-methods C::t (fuzz foo) frob) + (check (fuzz c) => 22) + (check (frob c) => 13) + (with-class-method C::t (baz foo)) + (check (baz c) => 23)) + + (test-case "while until" + (def a #(1 2 3 4 5 6)) + (def i 5) + (while (<= 0 i) + (increment! (vector-ref a i)) + (decrement! i)) + (check a => #(2 3 4 5 6 7)) + (set! i 0) + (until (= i (vector-length a)) + (increment! (vector-ref a i)) + (increment! i)) + (check a => #(3 4 5 6 7 8))) + + (test-case "hash hash-eq hash-eqv" + (defrule (checks h ...) + (let* ((key 'aaa) + (t (hash (a 1) (,key 2) (k (+ 10 13))))) + (check (hash->list/sort t symbol '((a . 1) (aaa . 2) (k . 23))))) + (checks hash hash-eq hash-eqv)) + + (test-case "let-hash" + (def .c 4) + (def h (hash (a 1) (b 2) (c 3))) + (check (let-hash h [.a .?b ..c .?d]) => [1 2 4 #f])) + + (test-case "awhen" + (def (foo c) (awhen (v (char-ascii-digit c)) (* v v))) + (check (foo #\3) => 9) + (check (foo #\a) => (void))) + + (test-case "chain" + (check-equal? + ;; expression as input + (chain (iota 3) + ([_ . rest] (map 1+ rest)) + (xs (map number->string xs)) + (string-join <> ", ")) + "2, 3") + + (check-equal? + ;; variable as input + (let (lst (iota 3)) + (chain lst + ([_ . rest] (map 1+ rest)) + (xs (map number->string xs)) + (string-join <> ", "))) + "2, 3") + + (check-equal? + ;; chain lambda + ((chain <> + ([_ . rest] (map 1+ rest)) + (xs (map number->string xs)) + (string-join <> ", ")) + (iota 3)) + "2, 3") + + (check-equal? + ;; unary procedure at the start + (let (map1 (cut map 1+ <>)) + (chain [1 2] + map1 + (reverse <>))) + [3 2]) + + (check-equal? + ;; unary procedure not at the start + (chain [9 19 29] + ([_ . rest] (map 1+ rest)) + reverse + car) + 30) + + (check-equal? (chain [0 1] (map (lambda (v) (1+ v)) <>)) [1 2])) + + (test-case "test is" + (check ((is 1+ 3) 2) => #t) + (check ((is 1+ number?) 0) => #t) + (check ((is symbol->string "a") 'a) => #t) + (check ((is 1+ 3 test: eqv?) 2) => #t) + (check ((is 2) 2) => #t) + (check ((is 'a test: eq?) 'a) => #t) + (check ((is 2.0) 2.0) => #t) + (check ((is "a") "a") => #t)) + + (test-case "defsyntax/unhygienic" + (def aa 22) + (defsyntax/unhygienic (double-id ctx) + (syntax-case ctx () ((_ x) (stx-identifier #'ctx #'x #'x)))) + (check (double-id a) => 22)) + + (test-case "with-id with-id/expr" + ;; defining variables (def mem (make-vector 5 0)) (defrule (defvar name n) (with-id name ((@ #'name "@") (get #'name) (set #'name "-set!")) @@ -71,8 +190,14 @@ (defvar C 2) (defvar D 3) (A-set! 42) (B-set! (+ (A) 27)) (increment! (C) 5) (D-set! (post-increment! (C) 18)) - (check-equal? mem #(42 69 23 5 0))) - (test-case "with-id, variable resolution in macro" + (check mem => #(42 69 23 5 0)) + (check C@ => 2) + ;; accessing variables + (defrule (var-index var) (with-id/expr var ((@ #'var '@)) @)) + (check [(var-index A) (var-index B) (var-index C) (var-index D)] => [0 1 2 3]) + (defrule (vars-index var ...) (list (var-index var) ...)) + (check (vars-index A B C D) => [0 1 2 3]) + (check-exception (eval '(begin (defsyntax (m stx) @@ -85,4 +210,60 @@ (myvar "bar")) #'(with-id ctx ((foo #'myvar)) (def foo 3)))) (m) - (check-equal? bar 3)))) + (check-equal? bar 3)) + + (test-case "if-let" + (def (foo a b c) + (if-let ((x (char-ascii-digit a)) + (y (char-ascii-digit b)) + (z (char-ascii-digit c))) + (+ x y z) + -1)) + (check (foo #\1 #\2 #\3) => 6) + (check (foo #\1 #\A #\3) => -1)) + + (test-case "when-let" + (def h (hash (1 "foo") (3 "bar") (4 "baz"))) + (check + (with-list-builder (c) + (for (n (in-range 1000)) + (when-let ((p (power-of-5 n)) + (x (hash-get h p))) + (c [n x])))) => [[5 "foo"] [125 "bar"] [625 "baz"]])) + + (test-case "defcheck-argument-type" + (defcheck-argument-type integer vector) + (def (foo v n start (end #f)) + (check-argument-vector v) + (unless end (set! end (vector-length v))) + (check-argument-integer n start end) + (for (i (in-range start end)) + (increment! (vector-ref v i) n))) + (def v #(1 2 3 4 5 6)) + (foo v 10 2) + (check v => #(1 2 13 14 15 16)) + (check-exception (foo '(1 2 3) 1 0) ContractViolation?) + (check-exception (foo #(1 2 3) 1 "0") ContractViolation?)) + + (test-case "syntax-eval" + (def (constant-time-fibonacci n) + (def precomputed + (syntax-eval + (list->vector + (with-list-builder (collect) + (let loop ((a 0) (b 1)) + (when (<= (integer-length a) 128) + (collect a) + (loop b (+ a b)))))))) + (vector-ref precomputed n)) + (check (constant-time-fibonacci 186) => 332825110087067562321196029789634457848) + (def aa 88) + (check (syntax-eval (string->symbol "aa")) => 88)) + + (test-case "syntax-call" + (check (syntax-call (lambda (ctx) (path-strip-directory (vector-ref (AST-source ctx) 0)))) + => "sugar-test.ss") + (def bar 23) + (def foofoo 42) + (check (syntax-call (lambda (ctx . args) (stx-identifier ctx args args)) bar foo) => 42)) + )) diff --git a/src/std/sugar.ss b/src/std/sugar.ss index defccd7f4..8d46d7f64 100644 --- a/src/std/sugar.ss +++ b/src/std/sugar.ss @@ -132,7 +132,6 @@ (and (identifier? #'method) (identifier? #'method-id)) (def method (checked-bound-method-ref obj 'method-id)))) - (defrule (with-methods o method ...) (begin (def $klass (object-type o)) @@ -398,29 +397,30 @@ (with-syntax ((((id expr) ...) (stx-map (lambda (spec) (syntax-case spec () ((id) #'(id 'id)) - ((id ct-expr more ...) #'(id (list ct-expr more ...))) + ((id str1 str2 ...) #'(id (list str1 str2 ...))) (id (identifier? #'id) #'(id 'id)))) #'(id-spec ...)))) #'(begin (defsyntax/unhygienic (m stx2) - (with-syntax ((id (identifierify (stx-car (stx-cdr stx2)) expr)) ...) + (with-syntax ((id (stx-identifier (stx-car (stx-cdr stx2)) expr)) ...) (... #'(... template)))) (m ctx)))))) (defrule (with-id/expr stuff ...) (let () (with-id stuff ...))) -;; From CL's ALEXANDRIA library (defrules if-let () ((_ () then else) then) - ((_ ((ids exprs) ...) then else) - (let ((ids exprs) ...) - (if (and ids ...) - then - else))) + ((_ ((id expr)) then else) (if-let (id expr) then else)) + ((_ ((id expr) ...) then else) + (let/cc return + (def (fail) (return else)) + (let* ((id (or expr (fail))) ...) + then))) ((_ (id expr) then else) - (let ((id expr)) (if id then else)))) + (let (test expr) (if test (let (id test) then) else)))) -(defrule (when-let bindings body ...) (if-let bindings (begin body ...) (void))) +(defrule (when-let bindings body ...) + (if-let bindings (begin body ...) (void))) (defrule (defcheck-argument-type type ...) (begin @@ -436,18 +436,17 @@ (defsyntax (syntax-call stx) (syntax-case stx () ((ctx expr) #'(ctx expr ctx)) - ((_ expr ctx stxs ...) + ((_ expr ctx args ...) #'(let () (defsyntax (foo stx) (datum->syntax (stx-car (stx-cdr stx)) (apply expr (syntax->list (stx-cdr stx))))) - (foo ctx stxs ...))))) - -(defrules defsyntax-call () - ((_ (macro ctx formals ...) body) - (defsyntax (macro stx) - (syntax-case stx () - ((_ ctx formals ...) - (datum->syntax (stx-car (stx-cdr stx)) - (apply (lambda (ctx formals ...) body) - (stx-car (stx-cdr stx)) (syntax->datum (stx-cdr (stx-cdr stx)))))) - ((ctx formals ...) #'(ctx ctx formals ...)))))) + (foo ctx args ...))))) + +(defrule (defsyntax-call (macro ctx formals ...) body ...) + (defsyntax (macro stx) + (syntax-case stx () + ((_ ctx formals ...) + (datum->syntax (stx-car (stx-cdr stx)) + (apply (lambda (ctx formals ...) body ...) + (stx-car (stx-cdr stx)) (syntax->datum (stx-cdr (stx-cdr stx)))))) + ((ctx formals ...) #'(ctx ctx formals ...))))) From 5b5c1570676e484eff1b627f9fd6ef7d2827bca7 Mon Sep 17 00:00:00 2001 From: vyzo Date: Sat, 7 Oct 2023 19:28:42 +0300 Subject: [PATCH 09/24] Some small fixes (#995) - Removes some stale documentation - Improves the implementation of make-symbol, make-keyword, and as-string - Fixes stray or missing :::'s from docs --- doc/reference/gerbil/runtime/hash-tables.md | 2 - .../gerbil/runtime/special-objects.md | 2 - doc/reference/std/net/socks.md | 17 +++--- doc/reference/std/source.md | 4 ++ doc/reference/std/sugar.md | 16 +++--- src/gerbil/runtime/util.ss | 54 +++++++++++-------- 6 files changed, 54 insertions(+), 41 deletions(-) diff --git a/doc/reference/gerbil/runtime/hash-tables.md b/doc/reference/gerbil/runtime/hash-tables.md index e9af55600..909a589ba 100644 --- a/doc/reference/gerbil/runtime/hash-tables.md +++ b/doc/reference/gerbil/runtime/hash-tables.md @@ -230,7 +230,6 @@ Creates a new hash table, merging *more* hash tables into *hash*. Entries in has hash := hash table more := list of hash tables ``` -::: Merges *more* hash tables into *hash*. Entries in hash tables on the left take precedence over entries on the right. @@ -312,4 +311,3 @@ Same as `plist->hash-table`, but using `eq?` as the test function for the table. ``` Same as `plist->hash-table`, but using `eqv?` as the test function for the table. - diff --git a/doc/reference/gerbil/runtime/special-objects.md b/doc/reference/gerbil/runtime/special-objects.md index 2ad444d51..cc1bcf42e 100644 --- a/doc/reference/gerbil/runtime/special-objects.md +++ b/doc/reference/gerbil/runtime/special-objects.md @@ -27,7 +27,6 @@ Returns `#t`, ignoring its arguments. obj := any object ``` -::: Returns true if the object is `#t`. @@ -112,4 +111,3 @@ Returns true if the object is `#!optional`. ``` Returns true if the object *obj* is an immediate value. - diff --git a/doc/reference/std/net/socks.md b/doc/reference/std/net/socks.md index 3530684e7..ceaa8897e 100644 --- a/doc/reference/std/net/socks.md +++ b/doc/reference/std/net/socks.md @@ -35,6 +35,15 @@ Creates a connector function for establishing connextions through the proxy at `proxy-address`. +::: tip Example: +Here is how to use a SOCKS proxy listening at `your-proxy-server-address` for http connections: +```scheme +(parameterize ((http-connect (socks-connect your-proxy-server-address))) + (http-get "https://www.google.com")) +``` +::: + + ### socks-proxy ```scheme (socks-proxy proxy-address (protocol SOCKS4)) -> SOCKS @@ -79,11 +88,3 @@ Returns a `StreamSocket` instance. Binds a listener in the proxy behind the `SOCKS` instance for accepting an incoming connection. Returns an instance of `ServerSocket`. - -## Example - -Here is how to use a SOCKS proxy listening at `your-proxy-server-address` for http connections: -```scheme -(parameterize ((http-connect (socks-connect your-proxy-server-address))) - (http-get "https://www.google.com")) -``` diff --git a/doc/reference/std/source.md b/doc/reference/std/source.md index 6179104e6..cd73cd729 100644 --- a/doc/reference/std/source.md +++ b/doc/reference/std/source.md @@ -33,6 +33,7 @@ The location is a vector `#(file pos)` in standard Gambit fashion: > (quotient (vector-ref (this-source-location) 1) 65536) 23 ``` +::: ## this-source-file ```scheme @@ -49,6 +50,7 @@ or to the `this-source-file` invocation itself if left implicit. (def $0 (this-source-file)) ;;; Now you can play with this source file at runtime. ``` +::: ## this-source-directory ```scheme @@ -66,6 +68,7 @@ so you can play with it at runtime. (def $this-dir (this-source-directory)) (def data (read-all-as-lines (subpath $this-dir "data.txt"))) ``` +::: ## this-source-path ```scheme @@ -82,6 +85,7 @@ under the `relpath` relative path. (import :std/source :std/misc/ports) (def data (read-all-as-lines (this-source-path "data.txt"))) ``` +::: ## this-source-content ```scheme diff --git a/doc/reference/std/sugar.md b/doc/reference/std/sugar.md index 41038882e..775ba1806 100644 --- a/doc/reference/std/sugar.md +++ b/doc/reference/std/sugar.md @@ -28,6 +28,7 @@ For the simplest macros that fit with a single expansion rule, y = (2 3) z = "4 5" ``` +::: ## try ```scheme @@ -74,6 +75,7 @@ ERROR "foo" ... > depth 0 ``` +::: ## with-destroy ```scheme @@ -82,6 +84,7 @@ ERROR "foo" ... Evaluates body with an unwind finalizer that invokes `{destroy obj}`. +::: tip Examples: ```scheme > (defclass A (x) transparent: #t constructor: :init!) > (defmethod {:init! A} (lambda (self) (class-instance-init! self x: 'open))) @@ -94,6 +97,7 @@ ERROR: FOO ... > (A-x b) closed ``` +::: ## defmethod/alias ```scheme @@ -110,6 +114,7 @@ Defines a method with one or more binding aliases > [{foo (A)} {bar (A)} {baz (A)}] ("foo" "foo" "foo") ``` +::: ## using-method ```scheme @@ -140,7 +145,7 @@ used multiple times within the lexical scope. ::: ## with-methods with-class-methods with-class-method -``` +```scheme (with-methods obj ...) => (begin (def klass (object-type obj)) @@ -163,11 +168,6 @@ This is very useful to avoid method dispatch _and_ implicit allocation from method application if the methods of an object (class) are used multiple times within the lexical scope. -The difference from `using` is that methods are not _bound_ to an object, and -you thus have to pass the receiver as first argument to the method. -The advantage over `using` is that there is no implicit allocation for -collecting arguments to apply the bound closure of the method. - ::: tip Examples: ```scheme > (defclass C (c) transparent: #t) @@ -286,6 +286,7 @@ are resolved with the following rules: > (let-hash h [.a .?b ..c .?d]) (1 2 4 #f) ``` +::: ## awhen ```scheme @@ -303,6 +304,7 @@ Anaphoric `when`. Evaluates and binds *test* to *id*. Evaluates *body ...* if 9 > (foo #\a) ``` +::: ## chain ```scheme @@ -399,6 +401,7 @@ For the simplest macros that fit with a single expansion rule, y = (2 3) z = "4 5" ``` +::: ## defsyntax/unhygienic ```scheme @@ -549,6 +552,7 @@ the `if-let` offered in Common Lisp by Alexandria and UIOP. > (foo #\1 #\A #\3) -1 ``` +::: ## when-let ``` diff --git a/src/gerbil/runtime/util.ss b/src/gerbil/runtime/util.ss index f214255f1..fdff72010 100644 --- a/src/gerbil/runtime/util.ss +++ b/src/gerbil/runtime/util.ss @@ -518,29 +518,37 @@ namespace: #f (def (display-as-string x port) (cond - ((or (string? x) (symbol? x) (keyword? x) (number? x) (char? x)) (display x port)) - ((pair? x) (display-as-string (car x) port) (display-as-string (cdr x) port)) - ((vector? x) (display-as-string (vector->list x) port)) - ((or (null? x) (void? x) (eof-object? x) (boolean? x)) (void)) - (else (error "cannot convert to symbol" x)))) - -(def as-string - (case-lambda - ((x) (cond ((string? x) x) - ((symbol? x) (symbol->string x)) - ((keyword? x) (keyword->string x)) - (else (call-with-output-string [] (lambda (p) (display-as-string x p)))))) - (r (as-string r)))) - -(def make-symbol - (case-lambda - ((x) (if (interned-symbol? x) x (string->symbol (as-string x)))) - (r (make-symbol r)))) - -(def make-keyword - (case-lambda - ((x) (if (interned-keyword? x) x (string->keyword (as-string x)))) - (r (make-keyword r)))) + ((or (string? x) (symbol? x) (keyword? x) (number? x) (char? x)) + (display x port)) + ((pair? x) + (display-as-string (car x) port) + (display-as-string (cdr x) port)) + ((vector? x) + (vector-for-each (cut display-as-string <> port) x)) + ((or (null? x) (void? x) (eof-object? x) (boolean? x)) + (void)) + (else (error "cannot convert as string" x)))) + +(def* as-string + ((x) + (cond + ((string? x) x) + ((symbol? x) + (symbol->string x)) + ((keyword? x) + (keyword->string x)) + (else + (call-with-output-string [] (cut display-as-string x <>))))) + (args + (call-with-output-string [] (cut display-as-string args <>)))) + +(def* make-symbol + ((x) (if (interned-symbol? x) x (string->symbol (as-string x)))) + (args (string->symbol (apply as-string args)))) + +(def* make-keyword + ((x) (if (interned-keyword? x) x (string->keyword (as-string x)))) + (args (string->keyword (apply as-string args)))) (def (interned-keyword? x) (and (keyword? x) From 630d6fc3ce2fa09f81d4a5cde9582a92b66d30ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Sat, 7 Oct 2023 15:18:04 -0400 Subject: [PATCH 10/24] Test and document std/values (#996) --- doc/.vuepress/config.js | 3 +- doc/reference/std/sugar.md | 11 +++- doc/reference/std/values.md | 110 ++++++++++++++++++++++++++++++++++++ src/std/values-test.ss | 32 +++++++++++ src/std/values.ss | 40 +++++++++---- 5 files changed, 183 insertions(+), 13 deletions(-) create mode 100644 doc/reference/std/values.md create mode 100644 src/std/values-test.ss diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index f894b40f0..0e1adce79 100644 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -79,6 +79,7 @@ module.exports = { 'protobuf', 'xml', 'parser', + 'values', { title: "Networking Libraries", path: "/reference/std/net/", @@ -181,7 +182,7 @@ module.exports = { 'misc/func', 'misc/number', 'misc/shuffle', - 'misc/uuid' + 'misc/uuid', ] } ] diff --git a/doc/reference/std/sugar.md b/doc/reference/std/sugar.md index 775ba1806..5c270faa4 100644 --- a/doc/reference/std/sugar.md +++ b/doc/reference/std/sugar.md @@ -209,7 +209,7 @@ Evaluates body in a loop while the test expression evaluates to true. (increment! (vector-ref a i)) (decrement! i)) > a -#(2 3 4 5 6 7)) +#(2 3 4 5 6 7) ``` ::: @@ -606,7 +606,7 @@ as per [`check-argument`](errors.md#check-argument). ``` ::: -## syntax-eval stx +## syntax-eval ```scheme (syntax-eval expression) ``` @@ -631,6 +631,13 @@ use the result as source. > (def aa 1) > (syntax-eval (string->symbol "aa")) 1 + +;;; When benchmarking how fast your language can solve a problem, +;;; compile an exe with a file like that: +(import :std/sugar (for-syntax :problem-solution)) +(def (main) (displayln (syntax-eval (solution)))) +;;; There, all done at compile-time, your runtime is almost instantaneous, +;;; infinitely faster than all the solutions in all the other languages. ``` ::: diff --git a/doc/reference/std/values.md b/doc/reference/std/values.md new file mode 100644 index 000000000..0b438b5a6 --- /dev/null +++ b/doc/reference/std/values.md @@ -0,0 +1,110 @@ +# Working with Multiple Values + +The `:std/values` library provides support for working with +multiple return values. + +::: tip To use the bindings from this module: +```scheme +(import :std/values) +``` +::: + +## first-value, second-value, nth-value +```scheme +(first-value expression) -> value +(second-value expression) -> value +(nth-value n expression) -> value +``` + +Return the first (respectively second, nth) value of an `expression` +that yields multiple values, and ignore the others. +May raise an error if not enough values are provided. + +`nth-value` selects the value using the zero-based index `n`. + +::: tip Examples: +```scheme +> (first-value (values 1 2 3 4 5 6)) +1 +> (call-with-values (lambda () (values 8 9)) first-value) +8 +> (second-value (values 1 2 3)) +2 +> (call-with-values (lambda () (values 8 9)) second-value) +9 +> (call-with-values (lambda () 3) second-value) +*** ERROR IN ...(stdin)@32.1 -- Wrong number of arguments passed to procedure +> (nth-value 0 (values 1 2 3 4)) +1 +> (nth-value 1 (values 1 2 3 4)) +2 +> (nth-value 2 (values 1 2 3 4)) +3 +> (nth-value 3 (values 1 2 3 4)) +4 +> (nth-value 4 (values 1 2 3 4)) +*** ERROR -- (Argument 1, list) Longer LIST expected +``` +::: + +## list->values +``` +(list->values list) -> values +``` +Return multiple values, one per element of the `list`, in order. +This is the same as `(apply values list)` but as a function. +The inverse of the builtin `values->list`. + +::: tip Examples: +```scheme +> (list->values '(1 2 3)) +1 +2 +3 +``` +::: + +## vector->values values->vector +``` +(vector->values vector) -> values +(values->vector values) -> vector +``` + +These two mutually inverse functions are analogous to +`list->values` and `values->list`, but using vectors instead of lists. + +::: tip Examples: +```scheme +> (vector->values #(1 2 3)) +1 +2 +3 +> (values->vector (values 1 2 3)) +#(1 2 3) +``` +::: + +## cons->values values->cons +``` +(cons->values pair) -> values +(values->cons values) -> pair +``` + +These two mutually inverse functions are analogous to +`list->values` and `values->list`, but using pairs instead of lists, +and only working when there are exactly two values being returned. + +::: tip Examples: +```scheme +> (cons->values '(1 . 2)) +1 +2 +> (values->cons (values 1 2)) +(1 . 2) +> (cons->values '(a b c d)) +a +(b c d) +> (values->cons (values 'a '(b c d))) +(a b c d) +``` +::: diff --git a/src/std/values-test.ss b/src/std/values-test.ss new file mode 100644 index 000000000..e773e3e96 --- /dev/null +++ b/src/std/values-test.ss @@ -0,0 +1,32 @@ +(export values-test) + +(import :std/test + :std/values + :std/sugar) + +(def values-test + (test-suite "test :std/values" + (def (f) (values 1 2 3 4 5 6)) + (test-case "first-value second-value nth-value" + (check (first-value (f)) => 1) + (check (second-value (f)) => 2) + (check (nth-value 0 (f)) => 1) + (check (nth-value 1 (f)) => 2) + (check (nth-value 2 (f)) => 3) + (check (nth-value 3 (f)) => 4) + (check (nth-value 4 (f)) => 5) + (check (nth-value 5 (f)) => 6) + (check (call-with-values f first-value) => 1) + (check (call-with-values f second-value) => 2) + (check (first-value 42) => 42) + (check-exception (first-value (values)) true) + (check-exception (second-value 3) true) + (check-exception (nth-value 8 (f)) true)) + (test-case "values<->vector values<->list values<->cons" + (defrule (checks (obj vals vals-> ->vals) ...) + (begin (begin (check (vals-> vals) => obj) + (check (vals-> (->vals obj)) => obj)) ...)) + (checks (#(1 2 3 4 5 6) (f) values->vector vector->values) + ('(1 2 3 4 5 6) (f) values->list list->values) + ('(1 . 2) (values 1 2) values->cons cons->values) + ('(a b c d) (values 'a '(b c d)) values->cons cons->values))))) diff --git a/src/std/values.ss b/src/std/values.ss index b58d71eb9..9ac714cbb 100644 --- a/src/std/values.ss +++ b/src/std/values.ss @@ -3,27 +3,47 @@ ;;; Utility functions and accessors for multiple values (import ./sugar) -(export first-value second-value nth-value - values->vector vector->values +(export (rename: first-value% first-value) + (rename: second-value% second-value) + (rename: nth-value% nth-value) + (rename: values->vector% values->vector) + vector->values list->values ;; NB: values->list is builtin - values->cons cons->values) + (rename: values->cons% values->cons) + cons->values) -(defrules first-value () +(def (first-value x . _) x) +(defrules first-value% () ((_ form) (with ((values x . _) form) x)) ((_ form forms ...) (syntax-error "Bad syntax")) - (_ (lambda (x . _) x))) + (_ first-value)) -(defrules second-value () +(def (second-value _ x . _) x) +(defrules second-value% () ((_ form) (with ((values _ x . _) form) x)) ((_ form forms ...) (syntax-error "Bad syntax")) - (_ (lambda (_ x . _) x))) + (_ second-value)) -(defrule (nth-value n form) (with ((values . x) form) (list-ref x n))) +(defrules nth-value% () + ((_ n form) (with ((values . x) form) (list-ref x n))) + ((_ form forms ...) (syntax-error "Bad syntax")) + (_ nth-value_)) +(def (nth-value n vals) (nth-value% n vals)) + +(defrules values->vector% () + ((_ form) (list->vector (values->list form))) + ((_ . _) (syntax-error "Bad syntax")) + (_ values->vector)) +(def (values->vector vals) (values->vector% vals)) -(defrule (values->vector form) (list->vector (values->list form))) (def (vector->values v) (list->values (vector->list v))) (def (list->values l) (apply values l)) -(defrule (values->cons form) (let-values (((a b) form)) (cons a b))) +(defrules values->cons% () + ((_ form) (with ((values a b) form) (cons a b))) + ((_ . _) (syntax-error "Bad syntax")) + (_ values->cons)) +(def (values->cons vals) (values->cons% vals)) + (def (cons->values x) (values (car x) (cdr x))) From ff2403cb75a8060bbd180dc4a54be7c68415ceb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Sun, 8 Oct 2023 03:58:21 -0400 Subject: [PATCH 11/24] Test, fix and document :std/misc/path (#997) --- doc/.vuepress/config.js | 1 + doc/reference/std/misc/path.md | 398 ++++++++++++++++++++++++++++++++ doc/reference/std/misc/ports.md | 70 +++--- doc/reference/std/stxutil.md | 48 ++++ src/std/misc/path-test.ss | 82 +++++++ src/std/misc/path.ss | 34 +-- 6 files changed, 581 insertions(+), 52 deletions(-) create mode 100644 doc/reference/std/misc/path.md create mode 100644 src/std/misc/path-test.ss diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index 0e1adce79..d3c06cccb 100644 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -177,6 +177,7 @@ module.exports = { 'misc/rtd', 'misc/shared', 'misc/string', + 'misc/path', 'misc/text', 'misc/template', 'misc/func', diff --git a/doc/reference/std/misc/path.md b/doc/reference/std/misc/path.md new file mode 100644 index 000000000..d56e55c4c --- /dev/null +++ b/doc/reference/std/misc/path.md @@ -0,0 +1,398 @@ +# Path Utilities + +The `:std/misc/path` library provides functions that complement those +inherited from Gambit in making it easy to manipulate POSIX-style file paths. +At this time, we make no pretense of supporting Windows-style paths; +if on Windows, use WSL or Cygwin—or help improve Gerbil to be more portable. + +::: tip To use the bindings from this module: +```scheme +(import :std/misc/path) +``` +::: + +## path-default-extension +```scheme +(path-default-extension path ext) -> path +``` + +Add a default extension to a path: +given a `path` (string) and an extension `ext` (a string +starting with `"."`, or `""` or `#f` for no extension), +if the `ext` start with `"."` and the `path` has no extension +(as per `path-extension`), then return the concatenation +of the `path` and `ext`, otherwise return `path` unmodified. + +::: tip Examples: +```scheme +> (path-default-extension "foo.ss" ".o") +"foo.ss" +> (path-default-extension "foo" ".o") +"foo.o" +> (path-default-extension "foo" #f) +"foo" +``` +::: + +## path-force-extension +```scheme +(path-force-extension path ext) -> path +``` + +Add a extension to a path: +given a `path` (string) and an extension `ext` (a string +starting with `"."`, or `""` for the empty extension, +or `#f` for no actual extension to force), +if `ext` is false, then return `path` unmodified, +otherwise, return a next string computed by +stripping any current extension from the `path`, +and replacing it with the provided extension `ext` +(which may be `""` at which point nothing is added to the stripped path). + +Note how the semantics of `#f` and `""` differ here, +unlike in `path-default-extension`. + +Also note that if a filename starts with `"."` (after disregarding any +`"/"`-delimited directory before it), then +that `"."` does not count as part of an extension; +however, there might be more than one `"."` in the filename, at which point +only the last one is considered as starting "the" extension, +but what comes before might suddenly become the extension if `ext` is `""`. +However, these are corner cases that shouldn't matter most of the time. + +::: tip Examples: +```scheme +> (path-force-extension "foo.ss" ".o") +"foo.o" +> (path-force-extension "foo" ".o") +"foo.o" +> (path-force-extension "foo.ss" #f) +"foo.ss" +> (path-force-extension "foo.ss" "") +"foo" +``` +::: + +## path-extension-is? +```scheme +(path-extension-is? path extension) -> bool +``` + +Return true if the given `path` has the given `extension`. + +::: tip Examples: +```scheme +> (path-extension-is? "foo.ss" ".ss") +#t +> (path-extension-is? "foo" "") +#t +> (path-extension-is? "foo.c" "") ;; Nope, extension is ".c" +#f +> (path-extension-is? ".foo" ".foo") ;; Nope, initial "." doesn't count. +#f +> (path-extension-is? "foo.b.c" ".b.c") ;; Nope, the extension is just ".c" +#f +> (path-extension-is? "foo.ss" "") +#f +``` +::: + +## subpath +```scheme +;; : String String ... -> String +(subpath top . sub-components) +``` + +Given a `top` path and any number of `sub-components`, all of them strings, +construct a path made by joining `top` and all the `sub-components` in order +into a subpath of the `top` path. + +::: tip Examples: +```scheme +> (subpath "foo" "bar" "baz/quux" "myfile.ext") +"foo/bar/baz/quux/myfile.ext" +> (subpath "/home/user" ".gerbil" "lib" "static") +"/home/user/.gerbil/lib/static" +``` +::: + +## subpath? +```scheme +;; : (OrFalse String) (OrFalse String) -> (OrFalse String) +(subpath? maybe-subpath base-path) +``` + +If `maybe-subpath` is a pathname that is under `base-path`, return a pathname object that +when used with `path-expand` with defaults `base-path`, yields `maybe-subpath`. +Otherwise, return `#f`. + +::: tip Examples: +```scheme +> (subpath? "/foo" "/bar") +#f +> (subpath? "/home/user/.gerbil/lib" "/home/user") +".gerbil/lib" +> (subpath? "foo/bar/baz/quux" "foo/bar") +"baz/quux" +``` +::: + +## path-absolute? +```scheme +;; : String -> Bool +(path-absolute? path) +``` + +Given `path`, a string, return true if that `path` is absolute. + +We only support POSIX paths, where a path absolute iff it starts with `"/"`. +In a hypothetical future where we better support Windows, +the test may be platform-dependent and more complex. + +::: tip Examples: +```scheme +> (path-absolute? "/foo") +#t +> (path-absolute? "foo") +#f +``` +::: + +## absolute-path? +```scheme +;; : Any -> Bool +(absolute-path? path) +``` + +Given an object `path` that may or may not be a string, return true if +that object is indeed a string, and that string indeed denotes an absolute path +as per `path-absolute?`. + +::: tip Examples: +```scheme +> (absolute-path? "/foo") +#t +> (absolute-path? "foo") +#f +> (absolute-path? 'foo) +#f +> (absolute-path? 42) +#f +> (absolute-path? #f) +#f +> (absolute-path? #t) +#f +``` +::: + +## get-absolute-path +```scheme +;; : (Or String False (-> String)) -> String +(get-absolute-path path-designator) +``` + +Return the absolute path associated to a `path-designator`: + - A string designates itself. + - A thunk designates the result of calling it. + - `#f` designates the `(current-directory)`. + +Raise an error if the designator is invalid or does not designate an absolute path. + +::: tip Examples: +```scheme +> (get-absolute-path "/foo") +"/foo" +> (get-absolute-path "foo") +ERROR +> (get-absolute-path (lambda () (or (getenv "MY_APP_HOME") (other-default)))) +"/opt/my-application" ;; or wherever that environment variable points to, + ;; or an error if not defined to a absolute path +> (get-absolute-path #f) +"/home/user" ;; or wherever your (current-directory) points to +``` +::: + +## ensure-absolute-path +```scheme +;; : String (Or String False (-> String)) -> String +(ensure-absolute-path path (base #f)) +``` + +Given a `path`, that may be absolute, or may be relative to a `base`, +try hard to return the absolute path that this `path` would designate +if used to open a file relative to the `base`. +Raise an error if that attempt is unsuccessful. + +The `base` itself is only consulted if `path` is not absolute, +at which point it denotes a base absolute path as per `get-absolute-path`, +that will raise an exception if it cannot indeed +compute an absolute path out of it. + +::: tip Examples: +```scheme +> (ensure-absolute-path "/foo" #f) +"/foo" +> (ensure-absolute-path "/foo" error) +"/foo" +> (ensure-absolute-path "foo" "/bar") +"/bar/foo" +> (ensure-absolute-path "foo" current-directory) +"/home/user/foo" ;; depends on your actual current-directory +> (ensure-absolute-path "foo" #f) +"/home/user/foo" ;; same as above +> (ensure-absolute-path "foo" "bar") +*** ERROR IN ? [Error]: Path not absolute +``` +::: + +## path-maybe-normalize +```scheme +;; : String -> String +(path-maybe-normalize path) +``` + +Try to `path-normalize` the given `path`, but if that fails, falls back to +using `path-simplify` to at least simplify the path as much as possible. + +There are many reasons why `path-normalize` may fail: + - The file doesn't exist, and so cannot have a canonical name. + - Along the path there may be symlinks in unreadable directories, + "interesting" filesystems that defy introspection, + weird `chroot` situations, etc. + - Race conditions with other threads or processes modifying the + system rights at the same moment may cause `path-normalize` + to yield inconsistent results. + +So you may want to gracefully fall back to a non-normalized yet simplified path +when that's the case. + +Note that when the `path` is a directory and `path-normalize` succeeds, +the path it returns will end with `"/"`; however, if a directory-to-be +does not exist yet, then the fallback to `path-simplify` will not *add* +a `"/"` at the end. + +::: tip Examples: +```scheme +;; Assuming /etc is indeed already a normalized path +> (path-maybe-normalize "/etc/.") +"/etc/" + +;; Goes through path-simplify and does not add the / at the end! +> (path-maybe-normalize "/../../../does////../not/../exist/../etc") +"/etc" +``` +::: + +## path-enough +```scheme +;; : String String -> String +(path-enough sub base) +``` + +If `sub` is a pathname that is under `base`, return a pathname string that +when used with `path-expand` with defaults `base`, returns `sub`. +Otherwise, return `sub` unchanged. + +This function is broadly similar to the Common Lisp standard function +`enough-namestring`, or its semi-standard library variant `uiop:enough-pathname`. + +::: tip Examples: +```scheme +> (path-enough "/home/user/.gerbil/lib" "/home/user") +".gerbil/lib" +> (path-enough "/etc" "/home/user") +"/etc" +> (path-enough "foo/bar/baz/quux" "foo/bar") +"bar/quux" +> (path-enough "foo/bar" "baz/quux") +"foo/bar" +``` +::: + +## path-simplify-directory +```scheme +;; : String -> String +(path-simplify-directory path) +``` + +Given a `path`, keep only its directory portion, then simplify it. + +::: tip Examples: +```scheme +> (path-simplify-directory "/opt/local/bin/../stow/foo/bin/bar.sh") +"/opt/local/stow/foo/bin" +``` +::: + +## path-normalized-directory +```scheme +;; : String -> String +(path-normalized-directory path) +``` + +Given a `path`, keep only its directory portion, then try to normalize it +as per `path-maybe-normalize`. + +::: tip Examples: +```scheme +> (path-normalized-directory "/etc/password") +"/etc/" + +;; Here we first take the path-directory portion, which is only "/" +> (path-normalized-directory "/etc") +"/" +``` +::: + +## path-parent +```scheme +;; : String -> String +(path-parent path) +``` + +Given the `path` to a directory, with or without trailing `"/"`, +get the path to the parent directory, and try to normalize it +as per `path-maybe-normalize`, leaving a `"/"` at the end. + +::: tip Examples: +```scheme +> (path-parent "/home/user") +"/home/" +> (path-parent "/home/user/") +"/home/" +> (path-parent "/etc/X11") +"/etc/" +> (path-parent "/etc/X11/") +"/etc/" +> (path-parent "does/not/exist/") +"does/not/" +> (path-parent "does/not/exist") +"does/not/" +``` +::: + +## path-simplify +```scheme +;; : String keep..?:Bool -> String +(path-simplify path keep..?: (keep..? #f)) +``` + +Given a `path` to a file that may or may not exist on the current filesystem, +return a simplified path, eliminating redundant uses of `"."` or `"/"`. + +Unless `keep..?` is true, also remove `".."` path components that follow +a non-`".."` path component, which is usually a valid simplification, +but may fail to preserve subtle behavior such as: + - Deliberately following a symlink then going up from the target directory + - Simplifying away an attempt to follow a directory that may or may not exist + as a back-handed way to detect whether it exists or not. + - Weird behavior that may happen due to filesystem mounts. + +NB: Always simplify away a trailing `"/"` except for the root directory `"/"`. + +::: tip Examples: +```scheme +> (path-simplify-directory "/foo/./..///.../../bar/../baz////") +"/bar/" +``` +::: diff --git a/doc/reference/std/misc/ports.md b/doc/reference/std/misc/ports.md index 66af2c95c..4f87adb07 100644 --- a/doc/reference/std/misc/ports.md +++ b/doc/reference/std/misc/ports.md @@ -1,13 +1,13 @@ # Port utilities ::: tip To use the bindings from this module: -``` scheme +```scheme (import :std/misc/ports) ``` ::: ## copy-port -``` scheme +```scheme (copy-port in out) -> void | error in := input port to read from @@ -18,7 +18,7 @@ Copy all data from port *in* to port *out*. Signals an error when *in* and *out* aren't satisfying `input-port?` and `output-port?`, respectively. ::: tip Examples: -``` scheme +```scheme > (def nums (string-join (map number->string [1 2 3 4 5]) "\n" 'suffix)) > (call-with-output-file "~/testing/nums.txt" (lambda (out) @@ -41,7 +41,7 @@ everyone! ; quit with Ctrl-D ::: ## read-all-as-string -``` scheme +```scheme (read-all-as-string in) -> string | error in := input port to read from @@ -51,7 +51,7 @@ Reads all the contents of port *in*, returning a single string including all newline characters. Signals an error when *in* can't be read. ::: tip Examples: -``` scheme +```scheme > (import :std/srfi/13) > (with-input-from-file "~/dev/gerbil/CHANGELOG.md" (lambda () @@ -61,7 +61,7 @@ newline characters. Signals an error when *in* can't be read. ::: ## read-all-as-lines -``` scheme +```scheme (read-all-as-lines in [separator: #\newline] [include-separator?: #f]) -> list | error in := input port to read from @@ -75,7 +75,7 @@ to include these separator characters in the line strings. Signals an error when *in* can't be read. ::: tip Examples: -``` scheme +```scheme > (import :std/srfi/1) > (take (call-with-input-file "~/dev/gerbil/README.md" read-all-as-lines) 4) ("# Gerbil Scheme" @@ -90,7 +90,7 @@ to include these separator characters in the line strings. Signals an error when ::: ## read-file-string -``` scheme +```scheme (read-file-string path) -> string | error path := path to file to read contents from @@ -104,7 +104,7 @@ but it's not terribly interesting for this file reading procedure. Check section `17.7.1 Filesystem devices` of the Gambit Manual if you want to know more. ::: tip Examples: -``` scheme +```scheme $ cat ~/testing/nums.txt ; unix-like command-line 1 2 @@ -119,7 +119,7 @@ $ cat ~/testing/nums.txt ; unix-like command-line ::: ## read-file-lines -``` scheme +```scheme (read-file-lines path) -> list | error path := path to file to read contents from @@ -133,7 +133,7 @@ but it's not terribly interesting for this file reading procedure. Check section `17.7.1 Filesystem devices` of the Gambit Manual if you want to know more. ::: tip Examples: -``` scheme +```scheme $ cat ~/testing/nums.txt ; unix-like command-line 1 2 @@ -158,7 +158,7 @@ $ head -n5 ~/dev/aoc18/01/input.txt ::: ## read-all-as-u8vector -``` scheme +```scheme (read-all-as-u8vector in (bufsize 8192)) -> u8vector | error in := input port to read from @@ -169,7 +169,7 @@ Reads all the contents of port *in*, returning a single u8vector. Signals an error when *in* can't be read. ::: tip Examples: -``` scheme +```scheme > (def u8 (call-with-input-file "/path/to/file" read-all-as-u8vector)) > (u8vector-length u8) 98526 @@ -177,7 +177,7 @@ an error when *in* can't be read. ::: ## read-file-u8vector -``` scheme +```scheme (read-file-u8vector path settings: [] bufsize: 8192) -> u8vector | error path := path to file to read contents from @@ -192,7 +192,7 @@ Check section `17.7.1 Filesystem devices` of the Gambit Manual if you want to know more about the *settings* parameter. ::: tip Examples: -``` scheme +```scheme > (def u8 (read-file-u8vector "/path/to/file" bufsize: 1024)) > (u8vector-length u8) 98526 @@ -200,7 +200,7 @@ to know more about the *settings* parameter. ::: ## write-file-string -``` scheme +```scheme (write-file-string file string settings: [] newline-ending: #t) -> void | error file := the file to be written to @@ -214,7 +214,7 @@ Write string to file using the `display` procedure. Check section of the Gambit Manual if you want to know more about the `settings` parameter. ::: tip Examples: -``` scheme +```scheme ;; write "Hello, world!\n" to /tmp/foo.txt (may overwrite an existing file) (write-file-string "/tmp/foo.txt" "Hello, world!") ; \n is appended automatically @@ -231,7 +231,7 @@ of the Gambit Manual if you want to know more about the `settings` parameter. ::: ## write-file-lines -``` scheme +```scheme (write-file-lines file list settings: [] newline-ending: #t) -> void | error file := the file to be written to @@ -246,7 +246,7 @@ the `display`procedure. Check section of the Gambit Manual if you want to know more about the `settings` parameter. ::: tip Examples: -``` scheme +```scheme (write-file-lines "/tmp/foo.txt" ["foo" "bar"]) $ cat /tmp/foo.txt ; unix-like command-line @@ -256,7 +256,7 @@ bar ::: ## force-current-outputs -``` scheme +```scheme (force-current-outputs) -> (void) ``` @@ -264,13 +264,13 @@ Force the `current-output-port` and the `current-error-port`. Useful before you drop to a REPL, debugger or interactive prompt, or before you `exit` the program. ::: tip Examples: -``` scheme +```scheme (force-current-outputs) ``` ::: ## writeln -``` scheme +```scheme (writeln object [port]) -> (void) ``` @@ -278,7 +278,7 @@ Display a string representation of the Scheme `object` as per `write`, then disp per `newline`, using the optional `port` which defaults to `(current-output-port)`. ::: tip Examples: -``` scheme +```scheme > (writeln ['a 1 "foo"]) ;; response is written, return value is (void), unwritten (a 1 \"foo\") > (with-output (o #f) (writeln '(a 1 "foo") o)) @@ -287,7 +287,7 @@ per `newline`, using the optional `port` which defaults to `(current-output-port ::: ## output-contents -``` scheme +```scheme (output-contents contents ?port) -> void | error contents := a string, byte array or procedure @@ -303,14 +303,14 @@ makes a port available to a consumer, e.g. by creating a port, using it once or by calling output-contents, then closing it, such as `call-with-output`. ::: tip Examples: -``` scheme +```scheme (def (create-foo contents) (call-with-output-file ["/tmp/foo"] (cut output-contents foo <>))) ``` ::: ## call-with-output -``` scheme +```scheme (call-with-output output-spec content-spec) -> output content per spec ``` @@ -343,7 +343,7 @@ text content, and whose output is as often used standalone or transcluded as par (with a port as an argument in the latter case). ::: tip Examples: -``` scheme +```scheme ;; pretty printer for a datastructure ms of type my-struct, with optional output-spec o (def (pp-my-struct ms (o #f)) (call-with-output o @@ -357,7 +357,7 @@ text content, and whose output is as often used standalone or transcluded as par ::: ## with-output -``` scheme +```scheme (with-output (o output-spec) body ...) -> same as (call-with-output output-spec (lambda (o) body ...)) (with-output (o) body ...) -> (call-with-output o (lambda (o) body ...)) ``` @@ -369,7 +369,7 @@ and as output binding for a resolved port in the inner scope, allowing for seamless resolution of an `output-spec` designator around the inner scope. ::: tip Examples: -``` scheme +```scheme ;; same example as above using with-output (def (pp-my-struct ms (o #f)) (with-output (o) @@ -382,7 +382,7 @@ allowing for seamless resolution of an `output-spec` designator around the inner ::: ## call-with-input -``` scheme +```scheme (call-with-input input-spec f) -> call f with specified input ``` @@ -403,7 +403,7 @@ the consumption of a character stream, and whose input is as a complete string o a stream passed as part of larger parsing effort (with a port as an argument in the latter case). ::: tip Examples: -``` scheme +```scheme ;; parser for a datastructure (def (parse-my-struct i) (call-with-input i @@ -415,7 +415,7 @@ a stream passed as part of larger parsing effort (with a port as an argument in ::: ## with-input -``` scheme +```scheme (with-input (i input-spec) body ...) -> same as (call-with-input input-spec (lambda (i) body ...)) (with-input (i) body ...) -> (call-with-input i (lambda (i) body ...)) ``` @@ -427,7 +427,7 @@ and as input binding for a resolved port in the inner scope, allowing for seamless resolution of an `input-spec` designator around the inner scope. ::: tip Examples: -``` scheme +```scheme ;; same example as above using with-input (def (parse-my-struct i) (with-input (i) @@ -438,7 +438,7 @@ allowing for seamless resolution of an `input-spec` designator around the inner ::: ## Port Destructor -``` scheme +```scheme (defmethod {destroy } close-port) ``` @@ -448,7 +448,7 @@ ensuring that ports will be closed even if an error is signaled somewhere within the body. ::: tip Examples: -``` scheme +```scheme > (define (for-each-dir-entry dir proc) (let ((dir-port (open-directory dir))) (let loop () diff --git a/doc/reference/std/stxutil.md b/doc/reference/std/stxutil.md index c72fccfa5..540784416 100644 --- a/doc/reference/std/stxutil.md +++ b/doc/reference/std/stxutil.md @@ -30,3 +30,51 @@ Formats an identifier, using `fmt` as the format string and `ctx` as the syntact => # ``` ::: + +## maybe-make-symbol +```scheme +(maybe-make-symbol str str+ ...) -> symbol-or-string +``` + +Concatenates string designators `str str+` into a string as by `as-string`, +and either returns a thus-named interned symbol if it already interned, +or returns a string if no such symbol was interned. + +This is useful when reading data from not-fully-trusted sources, +that you want to match against existing symbol infrastructure, +but should not be allowed to intern spamfuls of symbols into your memory +to make it leak away and trigger more errors. + +::: tip Examples: +```scheme +> (maybe-make-symbol 'symbol '- 'not "-interned-yet") +"symbol-not-interned-yet" + +> (maybe-make-symbol "sym" "bol") +symbol +``` +::: + +## maybe-make-keyword +```scheme +(maybe-make-keyword str str+ ...) -> keyword-or-string +``` + +Concatenates string designators `str str+` into a string as by `as-string`, +and either returns a thus-named interned keyword if it already interned, +or returns a string if no such keyword was interned. + +This is useful when reading data from not-fully-trusted sources, +that you want to match against existing keyword infrastructure, +but should not be allowed to intern spamfuls of keywords into your memory +to make it leak away and trigger more errors. + +::: tip Examples: +```scheme +> (maybe-make-keyword 'keyword '- 'not "-interned-yet") +"keyword-not-interned-yet" + +> (maybe-make-keyword "key" "word") +keyword: +``` +::: diff --git a/src/std/misc/path-test.ss b/src/std/misc/path-test.ss new file mode 100644 index 000000000..b402032ef --- /dev/null +++ b/src/std/misc/path-test.ss @@ -0,0 +1,82 @@ +(export path-test) + +(import + :std/misc/path + :std/sugar + :std/test) + +(def path-test + (test-suite "test :std/misc/path" + (test-case "path-default-extension" + (check (path-default-extension "foo.ss" ".o") => "foo.ss") + (check (path-default-extension "foo" ".o") => "foo.o") + (check (path-default-extension "foo.ss" #f) => "foo.ss")) + (test-case "path-force-extension" + (check (path-force-extension "foo.ss" ".o") => "foo.o") + (check (path-force-extension "foo" ".o") => "foo.o") + (check (path-force-extension "foo.ss" #f) => "foo.ss") + (check (path-force-extension "foo.ss" "") => "foo")) + (test-case "path-force-extension" + (check (path-extension-is? "foo.ss" ".ss") => #t) + (check (path-extension-is? "foo" "") => #t) + (check (path-extension-is? "foo.c" "") => #f) ;; Nope, extension is ".c" + (check (path-extension-is? ".foo" ".foo") => #f) ;; Nope, initial "." doesn't count. + (check (path-extension-is? "foo.b.c" ".b.c") => #f) ;; Nope, the extension is just ".c" + (check (path-extension-is? "foo.ss" "") => #f)) + (test-case "subpath" + (check (subpath "foo" "bar" "baz/quux" "myfile.ext") => "foo/bar/baz/quux/myfile.ext") + (check (subpath "/home/user" ".gerbil" "lib" "static") => "/home/user/.gerbil/lib/static")) + (test-case "subpath?" + (check (subpath? "/foo" "/bar") => #f) + (check (subpath? "/home/user/.gerbil/lib" "/home/user") => ".gerbil/lib") + (check (subpath? "foo/bar/baz/quux" "foo/bar") => "baz/quux")) + (test-case "path-absolute?" + (check (path-absolute? "/foo") => #t) + (check (path-absolute? "foo") => #f)) + (test-case "absolute-path?" + (check (absolute-path? "/foo") => #t) + (check (absolute-path? "foo") => #f) + (check (absolute-path? 'foo) => #f) + (check (absolute-path? 42) => #f) + (check (absolute-path? #f) => #f) + (check (absolute-path? #t) => #f)) + (test-case "get-absolute-path" + (check (get-absolute-path "/abs") => "/abs") + (check-exception (get-absolute-path "rel") true) + (check-exception (get-absolute-path (lambda () "rel")) true) + (check-exception (get-absolute-path (lambda () 'invalid)) true) + (check (get-absolute-path current-directory) => (current-directory)) + (check (get-absolute-path #f) => (current-directory))) + (test-case "ensure-absolute-path" + (check (ensure-absolute-path "/foo" #f) => "/foo") + (check (ensure-absolute-path "/foo" error) => "/foo") + (check (ensure-absolute-path "foo" "/bar") => "/bar/foo") + (check (ensure-absolute-path "foo" current-directory) => (subpath (current-directory) "foo")) + (check (ensure-absolute-path "foo" #f) => (subpath (current-directory) "foo")) + (check-exception (ensure-absolute-path "foo" "bar") true)) + (test-case "path-maybe-normalize" + (check (path-maybe-normalize "/etc/.") => "/etc/") + (check (path-maybe-normalize "/../../../does////../not/../exist/../etc") => "/etc")) + (test-case "path-enough" + (check (path-enough "/home/user/.gerbil/lib" "/home/user") => ".gerbil/lib") + (check (path-enough "/etc" "/home/user") => "/etc") + (check (path-enough "foo/bar/baz/quux" "foo/bar") => "baz/quux") + (check (path-enough "foo/bar" "baz/quux") => "foo/bar")) + (test-case "path-simplify-directory" + (check (path-simplify-directory "/opt/local/bin/../stow/foo/bin/bar.sh") + => "/opt/local/stow/foo/bin/")) + #; ;; These tests are flaky if some path exists but is non-canonical + (begin + (test-case "path-normalized-directory" + (check (path-normalized-directory "/etc/password") => "/etc/") + (check (path-normalized-directory "/etc") => "/")) + (test-case "path-parent" + (check (path-parent "/home/user") => "/home/") + (check (path-parent "/home/user/") => "/home/") + (check (path-parent "/etc/X11") => "/etc/") + (check (path-parent "/etc/X11/") => "/etc/") + (check (path-parent "does/not/exist/") => "does/not/") + (check (path-parent "does/not/exist") => "does/not/"))) + (test-case "path-simplify" + (check (path-simplify-directory "/foo/./..///.../../bar/../baz////") + => "/baz/")))) diff --git a/src/std/misc/path.ss b/src/std/misc/path.ss index cce8d1bf2..cf08c1926 100644 --- a/src/std/misc/path.ss +++ b/src/std/misc/path.ss @@ -6,9 +6,11 @@ (export #t) (import - :std/srfi/1 - :std/srfi/13 - :std/sugar) + (only-in :std/srfi/1 remove) + ;; NB: string-index from srfi/13 differs from Gambit's!!! + (only-in :std/srfi/13 string-suffix? string-index) + (only-in :std/misc/list when/list) + (only-in :std/sugar while)) ;; : String (OrFalse String) -> String (def (path-default-extension path ext) @@ -97,7 +99,7 @@ ;; : String -> String (def (path-parent path) - (path-maybe-normalize (path-expand ".." path))) + (path-maybe-normalize (path-expand "../" path))) ;; Given a path to a file that may or may exists on the current filesystem, ;; return a simplified path, eliminating redundant uses of "." or "/", @@ -106,9 +108,12 @@ ;; NB: Always simplify away a trailing / except for the root directory /. ;; : String keep..?:Bool -> String (def (path-simplify path keep..?: (keep..? #f)) - (def l (string-split path #\/)) - (def abs? (and (pair? l) (equal? (car l) ""))) - (set! l (remove (cut member <> '("" ".")) l)) + (def abs? (string-prefix? "/" path)) + (def dir? (string-suffix? "/" path)) + (def l (remove (cut member <> '("" ".")) (string-split path #\/))) + (when abs? + (while (and (pair? l) (equal? (car l) "..")) + (set! l (cdr l)))) (unless keep..? (let loop ((head (reverse l)) (tail '())) (cond @@ -116,13 +121,8 @@ (loop (cdr head) (cdr tail))) ((pair? head) (loop (cdr head) (cons (car head) tail))) - (else (set! l tail)))) - (when abs? - (while (and (pair? l) (equal? (car l) "..")) - (set! l (cdr l))))) - (if (null? l) - (if abs? "/" "") ;; "" is the standard "here" path, though we could have picked ".". - (begin - (when abs? - (set! l (cons "" l))) - (string-join l "/")))) + (else (set! l tail))))) + (cond + ((pair? l) (string-join (append (when/list abs? '("")) l (when/list dir? '(""))) "/")) + (abs? "/") + (else ""))) ;; "" is our standard "here" path, though we could have picked "." or "./". From 10aa9b6c24180be8ef07ef38af416cf5957ec0b0 Mon Sep 17 00:00:00 2001 From: vyzo Date: Sun, 8 Oct 2023 19:53:41 +0300 Subject: [PATCH 12/24] force output from gerbil binary (#998) observed: when redirecting to a file, the output wasn't flushed. --- src/gerbil/gxc-main.ss | 3 ++- src/gerbil/gxi-main.ss | 6 ++++-- src/gerbil/main.ss | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gerbil/gxc-main.ss b/src/gerbil/gxc-main.ss index 70f7f1ef9..ab42ee762 100644 --- a/src/gerbil/gxc-main.ss +++ b/src/gerbil/gxc-main.ss @@ -22,7 +22,8 @@ (displayln " -cc-options add [-cc-options ] to gsc options") (displayln " -ld-options add [-ld-options ] to gsc options") (displayln " -gsc-flag add [] to gsc options") - (displayln " -gsc-option add [ ] to gsc options")) + (displayln " -gsc-option add [ ] to gsc options") + (force-output)) (def (gxc-parse-args args) (def outdir (path-expand "lib" (gerbil-path))) diff --git a/src/gerbil/gxi-main.ss b/src/gerbil/gxi-main.ss index 7656781ca..102b12d97 100644 --- a/src/gerbil/gxi-main.ss +++ b/src/gerbil/gxi-main.ss @@ -17,7 +17,8 @@ (displayln " :module import library module; if it exports a main function, apply it with the remaining arguments") (displayln " file load file; if it defines a main function, apply it with the remaining arguments") (displayln) - (displayln "When no arguments or options other than --lang are supplied, enters the interactive repl")) + (displayln "When no arguments or options other than --lang are supplied, enters the interactive repl") + (force-output)) (def (gxi-main . args) (def can-set-lang? #t) @@ -40,7 +41,8 @@ ((member hd '("-h" "--help")) (gxi-print-usage!)) ((member hd '("-v" "--version")) - (displayln (gerbil-system-version-string))) + (displayln (gerbil-system-version-string)) + (force-output)) ((member hd '("-L" "--load")) (match rest ([x . rest] diff --git a/src/gerbil/main.ss b/src/gerbil/main.ss index c12902c34..eec224a7d 100644 --- a/src/gerbil/main.ss +++ b/src/gerbil/main.ss @@ -106,7 +106,8 @@ package: gerbil (displayln " compile invoke the gerbil compiler (gxc)") (displayln " help display help for a tool command") (displayln) - (displayln "Try " program-name " help for help on tool command usage" )) + (displayln "Try " program-name " help for help on tool command usage" ) + (force-output)) (extern namespace: #f gerbil-runtime-init!) From 3d4efc3eefe596d80698df3f528e640cf6d969e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Mon, 9 Oct 2023 00:50:47 -0400 Subject: [PATCH 13/24] ~! in format will force-output (#999) --- doc/reference/std/format.md | 2 +- src/std/format.ss | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/reference/std/format.md b/doc/reference/std/format.md index 4fe6110bb..c989af9bf 100644 --- a/doc/reference/std/format.md +++ b/doc/reference/std/format.md @@ -16,7 +16,6 @@ in [SRFI 48](https://srfi.schemers.org/srfi-48/srfi-48.html). -> string ``` - Formats the arguments to a string using the supplied format specifier. ::: warning Differences with SRFI 48 @@ -25,6 +24,7 @@ Formats the arguments to a string using the supplied format specifier. - ~f/~F means "float" and does non-exp fp (C-style %f more or less) - ~r/~R means "repr" and works with `:std/misc/repr` and the `:pr` method - ~w{spec} does generic fixed width +- ~! does force-output (inspired by OCaml) - not implemented: ~& ~H wtfs ::: diff --git a/src/std/format.ss b/src/std/format.ss index da49a2207..0ef0c270b 100644 --- a/src/std/format.ss +++ b/src/std/format.ss @@ -37,6 +37,7 @@ ;; ~f/~F means "float" and does non-exp fp (C-style %f more or less) ;; ~r/~R means "repr" and works with `:std/misc/repr` and the `:pr` method ;; ~w{spec} does generic fixed width +;; ~! does force-output (inspired by OCaml) ;; not implemented: ~& ~H wtfs ;; TODO: ~g/~e for C-style %g/%e @@ -161,6 +162,9 @@ (defdispatch-q (#\_) (write-char #\space)) +(defdispatch-q (#\!) + (force-output)) + ;; recursive format (defdispatch (#\? #\k #\K) (lambda (_ K xi rest) From f51e92b867d63442baf51149f9032e4774241a35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Ren=C3=A9=20Rideau?= Date: Mon, 9 Oct 2023 02:12:12 -0400 Subject: [PATCH 14/24] Test, fix and document :std/misc/walist (#1000) --- doc/.vuepress/config.js | 1 + doc/reference/std/misc/walist.md | 498 +++++++++++++++++++++++++++++++ src/std/misc/walist-test.ss | 32 +- src/std/misc/walist.ss | 83 +++--- 4 files changed, 576 insertions(+), 38 deletions(-) create mode 100644 doc/reference/std/misc/walist.md diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index d3c06cccb..f0ad75af1 100644 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -155,6 +155,7 @@ module.exports = { 'misc/list', 'misc/list-builder', 'misc/alist', + 'misc/walist', 'misc/plist', 'misc/hash', 'misc/sync', diff --git a/doc/reference/std/misc/walist.md b/doc/reference/std/misc/walist.md new file mode 100644 index 000000000..d8187c901 --- /dev/null +++ b/doc/reference/std/misc/walist.md @@ -0,0 +1,498 @@ +# Wrapped Association List utilities +Utilities for using wrapped alists: objects that wrap an [alist](alist.md) +to provide an API similar to that of mutable hash-tables. + +The [alist](alist.md) (association list) API offers a pure functional way +to implement tables of key-value pairs. It is efficient for small tables, +or ones seldom used or only in a sequential way, though its performance will +degrade linearly with the size of the table. + +Now, the [alist](alist.md) module offers a mutable variant of its API, +but it breaks down in the case of an empty `alist`, represented as +the empty list `'()`, that cannot be mutated into containing +more key-value pairs. + +Instead, a `walist` wraps an `alist` in an object, that can easily +an empty (a)list as well as a non-empty one. A `walist` also remembers +which of the equality predicates `eq?`, `eqv?` or `equal?` (the default) +used to identify and distinguish keys, unlike alists that rely on +the user using the correct predicate. + +::: tip To use the bindings from this module: +``` scheme +(import :std/misc/walist) +``` +::: + +## walist walistq walistv walist! walistq! walistv! +``` +(walist alist) -> walist +(walistq alistq) -> walistq +(walistv alistv) -> walistv +(walist! alist!) -> walist! +(walistq! alistq!) -> walistq! +(walistv! alistv!) -> walistv! +``` + +Six structs are defined: + - `walist` for to contain pure alists using `equal?` as predicate. + - `walistq` for to contain pure alists using `eq?` as predicate. + - `walistv` for to contain pure alists using `eqv?` as predicate. + - `walist!` for to contain mutable alists using `equal?` as predicate. + - `walistq!` for to contain mutable alists using `eq?` as predicate. + - `walistv!` for to contain mutable alists using `eqv?` as predicate. + +Each has a single field `alist`, containing an `alist` using said predicate. + +Each struct type has a same-named unary constructor that can also be used +in a `match` pattern to access the `alist` field. + +Note that you should not initialize a mutable instance with a non-empty +quoted list because it is an error to mutate such a list. Thus +`(walist! '((a . 1)))` is incorrect but `(walist! [['a . 1]])` is correct. + +::: tip Examples: +``` scheme +> (def w (walist '((a . 1) (b . 2)))) +> (match w ((walist l) (assoc 'b l)) +2 +> (def w (walistq! [['a . 1] ['b . 2]])) +> (match w ((walist l) (assoc 'b l)) +2 +``` +::: + +::: warning Class hierarchy +NB: In this module, `walistq` and `walistv` inherit from `walist`, +and `walist!`, `walistq!` and `walistv!` respectively inherit from +`walist`, `walistq` and `walistv`. +This makes for a simpler API without a large hierarchy of abstract classes +for each kind of alist pure or mutable with one predicate or the other. +But this practical simplicity can introduce quirks in the "logical theory" +of `walist`: for instance, a `(walist a)` pattern in a `match` statement +will match an instance of any of the walist types, and so will the `walist?` +predicate below accept any of them. +::: + +## make-walist make-walistq make-walistv make-walist! make-walistq! make-walistv! +``` +(make-walist alist) -> walist +(make-walistq alistq) -> walistq +(make-walistv alistv) -> walistv +(make-walist! alist!) -> walist! +(make-walistq! alistq!) -> walistq! +(make-walistv! alistv!) -> walistv! +``` + +These functions are thin wrappers around constructors of the respective types. +(Constructors themselves are macros and not first-class functions.) + +Note that neither the constructors nor the wrapper functions do any validation +of the alist argument to be wrapped. Various errors may happen later when +trying to process a walist that wraps the wrong kind of value instead of an alist. + +## walist? walistq? walistv? walist!? walistq!? walistv!? +``` +(walist? x) -> bool +(walistq? x) -> bool +(walistv? x) -> bool +(walist!? x) -> bool +(walistq!? x) -> bool +(walistv!? x) -> bool +``` + +These predicates each recognize whether their argument is an instance of +the given struct type. + +Note that due to our choice of simplified inheritance hierarchy, +`walist?` will also recognize instances of all five other struct types, +`walistq?` will also recognize instances of `walistq!` and +`walistv?` will also recognize instances of `walistv!`. + +::: tip Examples: +``` scheme +> (def w (walist '((a . 1) (b . 2)))) +> (walist? w) +#t +> (walistq!? w) +#f +> (walist? "hello world") +#f +> (walist? '((a . 1) (b . 2))) +#f +> (import :std/generic) +> (type-of w) +std/misc/walist#walist::t + +> (def wq! (walistq! [['a . 1] ['b . 2]])) +> (walistq!? wq!) +#t +> (walist? wq!) +#t +> (walistq? wq!) +#t +> (eq? (type-of wq!) (type-of w)) +#f +> (eq? (type-of wq!) 'std/misc/walist#walistq!::t) +#t +> (eq? (type-of wq!) 'std/misc/walist#walist::t) +#f +``` +::: + +## walist-alist walist->alist +``` +(walist-alist w) -> alist +(walist->alist w) -> alist +``` + +The function `walist-alist` (or its alias `walist->alist`) takes a `walist` +(or an instance of any of its variant types) and returns +the `alist` content being wrapped. + +::: tip Examples: +``` scheme +> (walist-alist (walist '((a . 1) (b . 2)))) +((a . 1) (b . 2)) +> (walist->alist (walistv! [['c . 3] ['d . 4]])) +((c . 3) (d . 4)) +``` +::: + +## walist-alist-set! +``` +(walist-alist-set! w a) -> +(set! (walist->alist w) a) -> +``` + +This function modifies the `alist` wrapped by an instance of any of the +`walist` variant types. It also enables the associated short-hand `set!` syntax. +The return value is not specified. + +Note that `walist`, `walistv` and `walistq` have an otherwise pure API, +and that using this setter breaks this purity by introducing a side-effect; +be careful to avoid using this setter function in a context where users +expect the values they use to not be side-effected. On the other hand, +no such assumption exists for `walist!`, `walistv!` and `walistq!` and +you may freely use this setter with instances of those types. + +::: tip Examples: +``` scheme +> (def w (walistv '())) +> (walist-alist w) +() +> (walist-alist-set! w '((a . 1) (b . 2))) +> (walist-alist w) +((a . 1) (b . 2)) +> (set! (walist-alist w) '((c . 3) (d . 4))) +> (walist-alist w) +((c . 3) (d . 4)) +``` +::: + +## walist-acons walistq-acons walistv-acons +``` +(walist-acons walist k v) -> walist +(walistq-acons walistq k v) -> walistq +(walistv-acons walistv k v) -> walistv +{acons w k v} -> walist +``` + +The functions `walist-acons`, `walistq-acons` and `walistv-acons` +respectively take a walist of the corresponding type and return a +new instance of that pure type wrapping a new alist where that +extends the old instance's old alist with the key-value pair `[k . v]`. + +The generic function `{acons}` will work on any of the three pure `walist` +variants and return a new `walist` of the same type. + +Note that these functions might "work" without error on the mutable variants, +but then bad consequences will happen later if the contents are mutated +while some consumer expects the instance of the pure type expect +their contents to remain constant. + +::: tip Examples: +``` scheme +> (def w (walistv '())) +> w +# +> (def w2 (walistv-acons w 'a 1)) +> w2 +# +> (walist-alist w +() +> (walist-alist w) +((a . 1)) +``` +::: + +## walist-acons! +``` +(walist-acons! walist! k v) -> +{acons! walist! k v} -> +``` + +`walist-acons!` takes an instance of `walist!`, `walistv!` or `walistq!` and +modifies the instance's alist to add the `[k . v]` key-value pair in front. +The return value is unspecified. + +The generic function `{acons!}` will also work on any of these three mutable +`walist` variants but not the immutable ones, to achieve the same effect. + +Note that the `walist-acons!` function (not the generic method `{acons!}`) +might fail to raise an error if called on a pure variant, but bad consequences +may follow later for violating a consumer's assumption of purity. + +::: tip Examples: +``` scheme +> (def w (walistq! '())) +> (walist-acons! w 'a 1) +> {acons! w 'b 2} +> (walist-alist w) +((b . 2) (a . 1)) +``` +::: + +## walist-key? walistq-key? walistv-key? +``` +(walist-key? walist key) -> bool +(walistq-key? walistq key) -> bool +(walistv-key? walistv key) -> bool +{key? walist* key} -> bool +``` + +`walist-key?` takes an instance of `walist` or `walist!` and a `key` and returns true +if the `key` is present in a key-value pair in the `walist`'s alist. + +`walistq-key?` takes an instance of `walistq` or `walistq!` and a `key` and returns true +if the `key` is present in a key-value pair in the `walistq`'s alist. + +`walistv-key?` takes an instance of `walistv` or `walistv!` and a `key` and returns true +if the `key` is present in a key-value pair in the `walistv`'s alist. + +`walist-key?` will not raise an error if called on an instance of the wrong type +(the other variants will), but may produce wrong answer +because it will use the wrong predicate. +On the other hand, the generic function `{key?}` will always work correctly +using the correct predicate on any variant of `walist`. + +::: tip Examples: +``` scheme +> (def w (walistq! [['a . 1] ['b . 2]])) +> (walistq-key? w 'b) +#t +> (walistq-key? w 'c) +#f +> {key? w 'a} +#t +``` +::: + +## walist-get walistq-get walistv-get +``` +(walist-get walist key) -> value +(walistq-get walistq key) -> value +(walistv-get walistv key) -> value +{get walist* key} -> value +``` + +`walist-get` takes an instance of `walist` or `walist!` and a `key` and returns +the value associated to that `key` in the `walist`'s alist, or +raises an error if the there is no matching key-value pair in the alist. + +`walistq-get` takes an instance of `walistq` or `walistq!` and a `key` and returns +the value associated to that `key` in the `walistq`'s alist, or +raises an error if the there is no matching key-value pair in the alist. + +`walistv-get` takes an instance of `walistv` or `walistv!` and a `key` and returns +the value associated to that `key` in the `walistv`'s alist, or +raises an error if the there is no matching key-value pair in the alist. + +`walist-get` will not raise an error if called on an instance of the wrong type +(the other variants will), but may produce wrong answer +because it will use the wrong predicate. +On the other hand, the generic function `{get}` will always work correctly +using the correct predicate on any variant of `walist`. + +::: tip Examples: +``` scheme +> (def w (walistq! [['a . 1] ['b . 2]])) +> (walistq-get w 'b) +2 +> (walistq-get w 'c) +ERROR +> {get w 'a} +#t +``` +::: + +## walist-assoc walistq-assoc walistv-assoc +``` +(walist-assoc walist key) -> key-value-pair-or-false +(walistq-assoc walistq key) -> key-value-pair-or-false +(walistv-assoc walistv key) -> key-value-pair-or-false +{assoc walist* key} -> key-value-pair-or-false +``` + +`walist-assoc` takes an instance of `walist` or `walist!` and a `key` and returns +the first key-pair associated to that `key` in the `walist`'s alist, or +`#f` if there is no matching key-value pair in the alist. + +`walistq-assoc` takes an instance of `walistq` or `walistq!` and a `key` and returns +the first key-pair associated to that `key` in the `walistq`'s alist, or +`#f` if there is no matching key-value pair in the alist. + +`walistv-assoc` takes an instance of `walistv` or `walistv!` and a `key` and returns +the first key-pair associated to that `key` in the `walistv`'s alist, or +`#f` if there is no matching key-value pair in the alist. + +`walist-assoc` will not raise an error if called on an instance of the wrong type +(the other variants will), but may produce wrong answer +because it will use the wrong predicate. +On the other hand, the generic function `{assoc}` will always work correctly +using the correct predicate on any variant of `walist`. + +::: tip Examples: +``` scheme +> (def w (walistv! [['a . 1] ['b . 2]])) +> (walistv-assoc w 'b) +(b . 2) +> (walistv-assoc w 'c) +#f +> {assoc w 'a} +(a . 1) +``` +::: + +## walist-put walistv-put walistq-put +``` +(walist-put walist key value) -> walist +(walistq-put walistq key value) -> walistq +(walistv-put walistv key value) -> walistv +{put walist* key value} -> walist* +``` + +`walist-put` takes an instance of `walist`, a `key` and a `value` +and returns a new instance of `walist` wrapping a new alist +where the key-value pair `[key . value]` replaces the first key-value +pair containing `key` if any, or else is placed in front of the alist. + +`walistq-put` and `walistv-put` work similarly for the types +`walistq` and `walistv`. + +These functions will not raise an error if called on an instance of the mutable +variant, and `walist-put` will not raise an error if called on a variant using +a different equality predicate either. But the result will violate assumptions +that other consumers of the data structure may rely upon. +On the other hand, the generic function `{put}` will always work correctly +using the correct predicate, though it may still fail to raise on error +when used on a mutable variant. + +::: tip Examples: +``` scheme +> (def w (walist '((a . 1) (b . 2)))) +> w +# +> (walist-put w 'b 3) +# +> {put w 'c 4} +# +``` +::: + +## walist!-put! walistv!-put! walistq!-put! +``` +(walist!-put! walist! key value) -> +(walistq!-put! walistq! key value) -> +(walistv!-put! walistv! key value) -> +{put! walist* key value} -> +``` + +`walist!-put!` takes an instance of `walist!`, a `key` and a `value` +and modifies the instance in place and/or the alist it wraps so the +key-value pair `[key . value]` will replace the first key-value +pair containing `key` if any, or else be placed in front of the alist. + +`walistq!-put!` and `walistv!-put!` work similarly for the types +`walistq!` and `walistv!`. + +These functions will raise an error if called on an instance of the wrong type. +The generic function `{put}` will always work correctly +on any mutable variant of `walist!`. + +::: tip Examples: +``` scheme +> (def w (walistv! [['a . 1] ['b . 2]])) +> (walist!-put! w 'b 3) +> {put! w 'c 4} +> (walist-alist w) +((c . 4) (a . 1) (b . 3)) +``` +::: + +## walist-remove walistv-remove walistq-remove +``` +(walist-remove walist key) -> walist +(walistq-remove walistq key) -> walistq +(walistv-remove walistv key) -> walistv +{remove walist* key} -> walist* +``` + +`walist-remove` takes an instance of `walist` and a `key` +and returns a new instance of `walist` wrapping a new alist +where the first key-value pair associated to `key`, if any, has been removed. + +`walistq-remove` and `walistv-remove` work similarly for the types +`walistq` and `walistv`. + +These functions will not raise an error if called on an instance of the mutable +variant, and `walist-remove` will not raise an error if called on a variant using +a different equality predicate either. But the result will violate assumptions +that other consumers of the data structure may rely upon. +On the other hand, the generic function `{remove}` will always work correctly +using the correct predicate, though it may still fail to raise on error +when used on a mutable variant. + +::: tip Examples: +``` scheme +> (def w (walist '((a . 1) (b . 2)))) +> w +# +> (walist-remove w 'b 3) +# +> {remove w 'a} +# +``` +::: + +## walist!-remove! walistv!-remove! walistq!-remove!) +``` +(walist!-remove! walist! key value) -> +(walistq!-remove! walistq! key value) -> +(walistv!-remove! walistv! key value) -> +{remove! walist* key value} -> +``` + +`walist!-remove!` takes an instance of `walist!` and a `key` +and modifies the instance and/or its alist in place to remove +the first key-value pair associated to `key`, if any. +The return value is unspecified. + +`walistq!-remove!` and `walistv!-remove!` work similarly for the types +`walistq!` and `walistv!`. + +These functions will raise an error if called on an instance of the wrong type. +The generic function `{remove!}` will always work correctly +on any mutable variant of `walist!`. + +::: tip Examples: +``` scheme +> (def w (walistq! [['a . 1] ['b . 2]])) +> (walistq!-remove! w 'a) +> (walist-alist w) +((b . 2)) +> {remove! w 'b} +> (walist-alist w) +() +``` +::: diff --git a/src/std/misc/walist-test.ss b/src/std/misc/walist-test.ss index d73ad9931..2b3e079f3 100644 --- a/src/std/misc/walist-test.ss +++ b/src/std/misc/walist-test.ss @@ -1,7 +1,9 @@ (export walist-test) (import - :std/error :std/misc/walist :std/test) + :std/generic + :std/misc/walist + :std/test) (def walist-test (test-suite "test :std/misc/walist" @@ -22,6 +24,7 @@ (check-equal? {put (a1b2) 'a 3} (make '((a . 3) (b . 2)))) (check-equal? {put (a1b2) 'c 3} (make '((c . 3) (a . 1) (b . 2)))) (check-equal? {put (a1b2) 'b 4} (make '((a . 1) (b . 4)))) + (check-equal? {put (make '()) 'a 1} (make '((a . 1)))) (check-equal? {remove (a1b2) 'a} (make '((b . 2)))) (check-equal? {remove (a1b2) 'b} (make '((a . 1)))) (check-equal? {remove (a1b2) 'c} (a1b2)) @@ -33,6 +36,7 @@ (check-equal? (let (w (a1b2)) {put! w 'a 3} w) (make '((a . 3) (b . 2)))) (check-equal? (let (w (a1b2)) {put! w 'c 3} w) (make '((c . 3) (a . 1) (b . 2)))) (check-equal? (let (w (a1b2)) {put! w 'b 4} w) (make '((a . 1) (b . 4)))) + (check-equal? (let (w (make '())) {put! w 'a 1} w) (make '((a . 1)))) (check-equal? (let (w (a1b2)) {remove! w 'a} w) (make '((b . 2)))) (check-equal? (let (w (a1b2)) {remove! w 'b} w) (make '((a . 1)))) (check-equal? (let (w (a1b2)) {remove! w 'c} w) (a1b2)) @@ -49,4 +53,28 @@ (test-case "test walistq!" (test-walist! make-walistq!)) (test-case "test walistv!" - (test-walist! make-walistv!)))) + (test-walist! make-walistv!)) + (test-case "walist-alist, etc." + (def w (walistv '())) + (check (walist-alist w) => '()) + (walist-alist-set! w '((a . 1) (b . 2))) + (check (walist-alist w) => '((a . 1) (b . 2))) + (set! (walist-alist w) '((c . 3) (d . 4))) + (check (walist-alist w) => '((c . 3) (d . 4)))) + (test-case "walist?, etc." + (def w (walist '())) + (def wq! (walistq! '())) + (check (walist? w) => #t) + (check (walistq!? wq!) => #t) + ;; inheritance weirdness + (check (walistq!? w) => #f) + (check (walist? wq!) => #t) + (check (walistq? w) => #f) + (check (walistq? wq!) => #t) + ;; other stuff + (check (walist? "hello world") => #f) + (check (walist? '((a . 1) (b . 2))) => #f) + ;; type-of + (check (type-of w) => 'std/misc/walist#walist::t) + (check (type-of wq!) => 'std/misc/walist#walistq!::t) + (check (eq? (type-of w) (type-of wq!)) => #f)))) diff --git a/src/std/misc/walist.ss b/src/std/misc/walist.ss index 38dd9c1f5..590511887 100644 --- a/src/std/misc/walist.ss +++ b/src/std/misc/walist.ss @@ -24,9 +24,9 @@ (def walist->alist walist-alist) -(def (walist-acons w k v) (make-walist (acons k v (walist-alist w)))) -(def (walistq-acons w k v) (make-walistq (acons k v (walist-alist w)))) -(def (walistv-acons w k v) (make-walistv (acons k v (walist-alist w)))) +(def (walist-acons w k v) (with ((walist a) w) (make-walist (acons k v a)))) +(def (walistq-acons w k v) (with ((walistq a) w) (make-walistq (acons k v a)))) +(def (walistv-acons w k v) (with ((walistv a) w) (make-walistv (acons k v a)))) (def (walist-acons! w k v) (set! (walist-alist w) (acons k v (walist-alist w)))) (defmethod {acons walist} walist-acons) (defmethod {acons walistq} walistq-acons) @@ -35,63 +35,74 @@ (defmethod {acons! walistq!} walist-acons!) (defmethod {acons! walistv!} walist-acons!) -(def (walist-key? w k) (pair? (assoc k (walist-alist w)))) -(def (walistq-key? w k) (pair? (assq k (walist-alist w)))) -(def (walistv-key? w k) (pair? (assv k (walist-alist w)))) +(def (walist-key? w k) (with ((walist a) w) (pair? (assoc k a)))) +(def (walistq-key? w k) (with ((walistq a) w) (pair? (assq k a)))) +(def (walistv-key? w k) (with ((walistv a) w) (pair? (assv k a)))) (defmethod {key? walist} walist-key?) (defmethod {key? walistq} walistq-key?) (defmethod {key? walistv} walistv-key?) -(def (walist-get w k) (cdr (assoc k (walist-alist w)))) -(def (walistq-get w k) (cdr (assq k (walist-alist w)))) -(def (walistv-get w k) (cdr (assv k (walist-alist w)))) +(def (walist-get w k) (with ((walist a) w) (cdr (assoc k a)))) +(def (walistq-get w k) (with ((walistq a) w) (cdr (assq k a)))) +(def (walistv-get w k) (with ((walistv a) w) (cdr (assv k a)))) (defmethod {get walist} walist-get) (defmethod {get walistq} walistq-get) (defmethod {get walistv} walistv-get) -(def (walist-assoc w k) (assoc k (walist-alist w))) -(def (walistq-assoc w k) (assq k (walist-alist w))) -(def (walistv-assoc w k) (assv k (walist-alist w))) +(def (walist-assoc w k) (with ((walist a) w) (assoc k a))) +(def (walistq-assoc w k) (with ((walistq a) w) (assq k a))) +(def (walistv-assoc w k) (with ((walistv a) w) (assv k a))) (defmethod {assoc walist} walist-assoc) (defmethod {assoc walistq} walistq-assoc) (defmethod {assoc walistv} walistv-assoc) -(def (walist-put w k v) (make-walist (aset (walist-alist w) k v))) -(def (walistq-put w k v) (make-walistq (asetq (walist-alist w) k v))) -(def (walistv-put w k v) (make-walistv (asetv (walist-alist w) k v))) +(def (walist-put w k v) (with ((walist a) w) (make-walist (aset a k v)))) +(def (walistq-put w k v) (with ((walistq a) w) (make-walistq (asetq a k v)))) +(def (walistv-put w k v) (with ((walistv a) w) (make-walistv (asetv a k v)))) (defmethod {put walist} walist-put) (defmethod {put walistq} walistq-put) (defmethod {put walistv} walistv-put) -(def (walist-remove w k) (make-walist (arem k (walist-alist w)))) -(def (walistq-remove w k) (make-walistq (aremq k (walist-alist w)))) -(def (walistv-remove w k) (make-walistv (aremv k (walist-alist w)))) +(def (walist-remove w k) (with ((walist a) w) (make-walist (arem k a)))) +(def (walistq-remove w k) (with ((walistq a) w) (make-walistq (aremq k a)))) +(def (walistv-remove w k) (with ((walistv a) w) (make-walistv (aremv k a)))) (defmethod {remove walist} walist-remove) (defmethod {remove walistq} walistq-remove) (defmethod {remove walistv} walistv-remove) -(def (walist!-put! w k v) (aset! (walist-alist w) k v)) -(def (walistq!-put! w k v) (asetq! (walist-alist w) k v)) -(def (walistv!-put! w k v) (asetv! (walist-alist w) k v)) -(defmethod {put! walist!} walist!-put!) -(defmethod {put! walistv!} walistv!-put!) -(defmethod {put! walistq!} walistq!-put!) +(defrule (define-put! struct! fun cmp) + (begin + (def (fun w key val) + (with ((struct! alist!) w) + (let lp ((l alist!)) + (match l + ([kv . r] (if (cmp key (car kv)) + (set-cdr! kv val) + (lp r))) + ([] (match alist! + ([k1v1 . r] + (set-car! alist! [key . val]) + (set-cdr! alist! [k1v1 . r])) + ([] (set! (walist-alist w) [[key . val]])))))))) + (defmethod {put! struct!} fun))) -(def (make-remove! struct! cmp) - (lambda (w key) - (let lp ((p (walist-alist w)) (prev #f)) - (match p - ([[k . _] . r] - (cond - ((not (cmp key k)) (lp r p)) - (prev (set-cdr! prev r)) - (else (set! (walist-alist w) r)))) - ([] (void)) ; key not found: NOP - (_ (raise-bad-argument walist-remove "valid walist" w struct! key)))))) +(define-put! walist! walist!-put! equal?) +(define-put! walistq! walistq!-put! eq?) +(define-put! walistv! walistv!-put! eqv?) (defrule (define-remove! struct! fun cmp) (begin - (def fun (make-remove! 'struct! cmp)) + (def (fun w key) + (with ((struct! alist!) w) + (let lp ((p alist!) (prev #f)) + (match p + ([[k . _] . r] + (cond + ((not (cmp key k)) (lp r p)) + (prev (set-cdr! prev r)) + (else (set! (walist-alist w) r)))) + ([] (void)) ; key not found: NOP + (_ (raise-bad-argument walist-remove "valid walist" w 'struct! key)))))) (defmethod {remove! struct!} fun))) (define-remove! walist! walist!-remove! equal?) From 3414e3f111a38965a549dce0b11aeee2e2771e3a Mon Sep 17 00:00:00 2001 From: vyzo Date: Mon, 9 Oct 2023 10:54:26 +0300 Subject: [PATCH 15/24] add some missing homegeneous vector symbols (#1001) they were just forgotten. --- src/gerbil/prelude/gambit.ss | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gerbil/prelude/gambit.ss b/src/gerbil/prelude/gambit.ss index f211d913b..a4a3f115c 100644 --- a/src/gerbil/prelude/gambit.ss +++ b/src/gerbil/prelude/gambit.ss @@ -62,6 +62,7 @@ namespace: #f subs8vector-fill! s8vector-concatenate s8vector-copy + s8vector-copy! s8vector-append subs8vector subs8vector-move! @@ -78,6 +79,7 @@ namespace: #f subu8vector-fill! u8vector-concatenate u8vector-copy + u8vector-copy! u8vector-append subu8vector subu8vector-move! @@ -94,6 +96,7 @@ namespace: #f subs16vector-fill! s16vector-concatenate s16vector-copy + s16vector-copy! s16vector-append subs16vector subs16vector-move! @@ -110,6 +113,7 @@ namespace: #f subu16vector-fill! u16vector-concatenate u16vector-copy + u16vector-copy! u16vector-append subu16vector subu16vector-move! @@ -126,6 +130,7 @@ namespace: #f subs32vector-fill! s32vector-concatenate s32vector-copy + s32vector-copy! s32vector-append subs32vector subs32vector-move! @@ -142,6 +147,7 @@ namespace: #f subu32vector-fill! u32vector-concatenate u32vector-copy + u32vector-copy! u32vector-append subu32vector subu32vector-move! @@ -158,6 +164,7 @@ namespace: #f subs64vector-fill! s64vector-concatenate s64vector-copy + s64vector-copy! s64vector-append subs64vector subs64vector-move! @@ -174,6 +181,7 @@ namespace: #f subu64vector-fill! u64vector-concatenate u64vector-copy + u64vector-copy! u64vector-append subu64vector subu64vector-move! @@ -190,6 +198,7 @@ namespace: #f subf32vector-fill! f32vector-concatenate f32vector-copy + f32vector-copy! f32vector-append subf32vector subf32vector-move! @@ -206,6 +215,7 @@ namespace: #f subf64vector-fill! f64vector-concatenate f64vector-copy + f64vector-copy! f64vector-append subf64vector subf64vector-move! From 6e387a11d579ae9035c1f6623e3d87cd4b638964 Mon Sep 17 00:00:00 2001 From: Drew Crampsie Date: Mon, 9 Oct 2023 13:32:07 -0700 Subject: [PATCH 16/24] Change homebrew to point to working commit. Still rev 0 :) (#1003) Rev 0 must work!! :P --- homebrew/README.org | 4 +++- homebrew/gerbil-scheme.rb | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/homebrew/README.org b/homebrew/README.org index 9829695fe..8354bfd77 100644 --- a/homebrew/README.org +++ b/homebrew/README.org @@ -120,6 +120,7 @@ relative to the execuable path! There's some more information available [[https://www.fullstaq.com/knowledge-hub/blogs/an-alternative-to-macos-dyld-library-path][here]]. + ** Unsupported Upgrades My first real Apple Computer was a 2012 iMac. But I got it mid-2023. So I wanted to upgrade by @@ -156,7 +157,8 @@ There's some meta-info that's nice to have. Now where it will install from, and how it gets it. The tag is the version. #+begin_src ruby - url "https://github.com/mighty-gerbils/gerbil.git", using: :git, tag: "v0.18-rc1" + url "https://github.com/mighty-gerbils/gerbil.git", using: :git, + revision: "3414e3f111a38965a549dce0b11aeee2e2771e3a" head "https://github.com/mighty-gerbils/gerbil.git", using: :git version "0.18" revision 0 diff --git a/homebrew/gerbil-scheme.rb b/homebrew/gerbil-scheme.rb index c769073dc..b4e528dd5 100644 --- a/homebrew/gerbil-scheme.rb +++ b/homebrew/gerbil-scheme.rb @@ -3,7 +3,8 @@ class GerbilScheme < Formula desc "Opinionated dialect of Scheme designed for Systems Programming" homepage "https://cons.io" license any_of: ["LGPL-2.1-or-later", "Apache-2.0"] - url "https://github.com/mighty-gerbils/gerbil.git", using: :git, tag: "v0.18-rc1" + url "https://github.com/mighty-gerbils/gerbil.git", using: :git, + revision: "3414e3f111a38965a549dce0b11aeee2e2771e3a" head "https://github.com/mighty-gerbils/gerbil.git", using: :git version "0.18" revision 0 From c306340e510581553e414d48111dbe4075369c9b Mon Sep 17 00:00:00 2001 From: Jaime Fournier Date: Wed, 11 Oct 2023 02:57:37 -0600 Subject: [PATCH 17/24] add libsecp256k1-dev (#1005) This is required for gerbil-crypto. --------- Co-authored-by: vyzo --- docker/Makefile | 103 ++++++++++++++++++++++++------------------------ 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/docker/Makefile b/docker/Makefile index a5284f7d8..f0313dc42 100755 --- a/docker/Makefile +++ b/docker/Makefile @@ -17,31 +17,32 @@ cores := $(shell nproc) $(info the branch is $(BRANCH) and the repo is $(REPO) cores are: $(cores)) alpine_packages := autoconf \ - automake \ - cmake \ - curl \ - g++ \ - gcc \ - git \ - leveldb-dev \ - libgcc \ - libtool \ - libxml2-dev \ + automake \ + cmake \ + curl \ + g++ \ + gcc \ + git \ + leveldb-dev \ + libgcc \ + libsecp256k1-dev \ + libtool \ + libxml2-dev \ libxml2-static \ linux-headers \ - lmdb-dev \ - make \ - musl \ - musl-dev \ - nodejs \ - openssl-dev \ - openssl-libs-static \ - ruby \ - sqlite-dev \ + lmdb-dev \ + make \ + musl \ + musl-dev \ + nodejs \ + openssl-dev \ + openssl-libs-static \ + ruby \ + sqlite-dev \ sqlite-static \ - yaml-dev \ - yaml-static \ xz-static \ + yaml-dev \ + yaml-static \ zlib-static amazon_packages := cmake \ @@ -49,42 +50,42 @@ amazon_packages := cmake \ leveldb-devel \ libsqlite3x-devel \ libxml2-devel \ - libyaml-devel \ + libyaml-devel \ lmdb-libs \ - lmdb-devel \ + lmdb-devel \ openssl-devel \ - sqlite-devel + sqlite-devel fedora_packages := cmake \ - leveldb-devel \ - libsqlite3x-devel \ - libxml2-devel \ - libyaml-devel \ - lmdb-devel \ - openssl-devel \ - sqlite-devel + leveldb-devel \ + libsqlite3x-devel \ + libxml2-devel \ + libyaml-devel \ + lmdb-devel \ + openssl-devel \ + sqlite-devel ubuntu_packages := autoconf \ - bison \ - build-essential \ - curl \ - gawk \ - git \ - libleveldb-dev \ - libleveldb1d \ - liblmdb-dev \ - libnss3-dev \ - libsnappy1v5 \ - libsqlite3-dev \ - libssl-dev \ - libxml2-dev \ - libyaml-dev \ - pkg-config \ - python3 \ - rsync \ - rubygems \ - texinfo \ - zlib1g-dev + bison \ + build-essential \ + curl \ + gawk \ + git \ + libleveldb-dev \ + libleveldb1d \ + liblmdb-dev \ + libnss3-dev \ + libsnappy1v5 \ + libsqlite3-dev \ + libssl-dev \ + libxml2-dev \ + libyaml-dev \ + pkg-config \ + python3 \ + rsync \ + rubygems \ + texinfo \ + zlib1g-dev gerbilxx: docker build --target final \ From d4092ccef53dc2358fe7b442ecee4f791e5ad7aa Mon Sep 17 00:00:00 2001 From: vyzo Date: Thu, 12 Oct 2023 19:09:13 +0300 Subject: [PATCH 18/24] Recompile boostrap for v0.18 release (#1006) Compiled with v0.18-rc1. ### Log ``` vyzo@dellicious:~/gerbil/src$ date Thu Oct 12 04:28:02 PM EEST 2023 vyzo@dellicious:~/gerbil/src$ rm -rf bootstrap vyzo@dellicious:~/gerbil/src$ mkdir bootstrap vyzo@dellicious:~/gerbil/src$ mkdir bootstrap/gerbil vyzo@dellicious:~/gerbil/src$ cp gerbil/prelude/core.ssxi.ss bootstrap/gerbil vyzo@dellicious:~/gerbil/src$ gxc -d bootstrap -s -S -O gerbil/runtime/{gambit,system,util,loader,control,mop,error,thread,syntax,eval,repl,init}.ss gerbil/runtime.ss vyzo@dellicious:~/gerbil/src$ gxc -d bootstrap -s -S -O -no-ssxi gerbil/prelude/core.ss vyzo@dellicious:~/gerbil/src$ gxc -d bootstrap -s -S gerbil/prelude/gambit.ss vyzo@dellicious:~/gerbil/src$ gxc -d bootstrap -s -S -O gerbil/expander/{common,stx,core,top,module,compile,root,stxcase}.ss gerbil/expander.ss vyzo@dellicious:~/gerbil/src$ gxc -d bootstrap -s -S -O gerbil/compiler/{base,compile,optimize-base,optimize-xform,optimize-top,optimize-spec,optimize-ann,optimize-call,optimize,driver,ssxi}.ss gerbil/compiler.ss vyzo@dellicious:~/gerbil/src$ gerbil -v Gerbil v0.18-rc1 on Gambit v4.9.5-40-g24201248 ``` --- src/bootstrap/gerbil/compiler/base__0.scm | 2 +- src/bootstrap/gerbil/compiler/compile.ssi | 12 +- src/bootstrap/gerbil/compiler/compile__0.scm | 2 +- src/bootstrap/gerbil/compiler/driver__0.scm | 2 +- .../gerbil/compiler/optimize-ann__0.scm | 2 +- .../gerbil/compiler/optimize-base__0.scm | 2 +- .../gerbil/compiler/optimize-call__0.scm | 2 +- .../gerbil/compiler/optimize-spec__0.scm | 2 +- .../gerbil/compiler/optimize-top__0.scm | 2 +- .../gerbil/compiler/optimize-xform__0.scm | 2 +- src/bootstrap/gerbil/compiler/optimize__0.scm | 2 +- src/bootstrap/gerbil/core.ssi | 3 + src/bootstrap/gerbil/core__10.scm | 220 +- src/bootstrap/gerbil/core__11.scm | 34 +- src/bootstrap/gerbil/core__12.scm | 108 +- src/bootstrap/gerbil/core__13.scm | 64 +- src/bootstrap/gerbil/core__15.scm | 156 +- src/bootstrap/gerbil/expander/common__0.scm | 2 +- src/bootstrap/gerbil/expander/compile__0.scm | 2 +- src/bootstrap/gerbil/expander/core__0.scm | 2 +- src/bootstrap/gerbil/expander/module__0.scm | 2 +- src/bootstrap/gerbil/expander/root__0.scm | 2 +- src/bootstrap/gerbil/expander/stx__0.scm | 4 +- src/bootstrap/gerbil/expander/stxcase__0.scm | 2 +- src/bootstrap/gerbil/expander/top__0.scm | 2 +- src/bootstrap/gerbil/gambit.ssi | 10 + src/bootstrap/gerbil/runtime/control__0.scm | 336 +- src/bootstrap/gerbil/runtime/error__0.scm | 3922 +++++++-------- src/bootstrap/gerbil/runtime/error__1.scm | 1280 ++--- src/bootstrap/gerbil/runtime/eval__0.scm | 4212 ++++++++--------- src/bootstrap/gerbil/runtime/eval__1.scm | 1062 ++--- src/bootstrap/gerbil/runtime/gambit__0.scm | 2 +- src/bootstrap/gerbil/runtime/init.ssi | 1 + src/bootstrap/gerbil/runtime/init__0.scm | 616 +-- src/bootstrap/gerbil/runtime/loader__0.scm | 152 +- src/bootstrap/gerbil/runtime/mop__0.scm | 3019 ++++++------ src/bootstrap/gerbil/runtime/mop__1.scm | 278 +- src/bootstrap/gerbil/runtime/repl__0.scm | 28 +- src/bootstrap/gerbil/runtime/syntax__0.scm | 490 +- src/bootstrap/gerbil/runtime/syntax__1.scm | 1672 +++---- src/bootstrap/gerbil/runtime/system__0.scm | 12 +- src/bootstrap/gerbil/runtime/thread__0.scm | 386 +- src/bootstrap/gerbil/runtime/util.ssi | 11 +- src/bootstrap/gerbil/runtime/util.ssxi.ss | 15 +- src/bootstrap/gerbil/runtime/util__0.scm | 2395 +++++----- src/bootstrap/gerbil/runtime/util__1.scm | 630 +-- src/bootstrap/gerbil/runtime__0.scm | 2 +- 47 files changed, 10653 insertions(+), 10513 deletions(-) diff --git a/src/bootstrap/gerbil/compiler/base__0.scm b/src/bootstrap/gerbil/compiler/base__0.scm index d80f9d0a2..0fb7d4664 100644 --- a/src/bootstrap/gerbil/compiler/base__0.scm +++ b/src/bootstrap/gerbil/compiler/base__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/base::timestamp 1696542255) + (define gerbil/compiler/base::timestamp 1697117338) (begin (define gxc#current-compile-symbol-table (make-parameter '#f)) (define gxc#current-compile-runtime-sections (make-parameter '#f)) diff --git a/src/bootstrap/gerbil/compiler/compile.ssi b/src/bootstrap/gerbil/compiler/compile.ssi index 0c79aa411..073fd9d7c 100644 --- a/src/bootstrap/gerbil/compiler/compile.ssi +++ b/src/bootstrap/gerbil/compiler/compile.ssi @@ -9,16 +9,16 @@ namespace: gxc (in: :gerbil/core ) (spec: (:gerbil/gambit) - (0 u32vector? 0 u32vector?) - (0 u64vector? 0 u64vector?) - (0 u16vector? 0 u16vector?) + (0 f32vector? 0 f32vector?) (0 f64vector? 0 f64vector?) + (0 s64vector? 0 s64vector?) (0 s8vector? 0 s8vector?) (0 s32vector? 0 s32vector?) - (0 s64vector? 0 s64vector?) + (0 u64vector? 0 u64vector?) + (0 u32vector? 0 u32vector?) + (0 u16vector? 0 u16vector?) (0 s16vector? 0 s16vector?) - (0 u8vector? 0 u8vector?) - (0 f32vector? 0 f32vector?))) + (0 u8vector? 0 u8vector?))) (%#export #t) (%#define-runtime gambit-annotations gxc#gambit-annotations) (%#define-runtime current-compile-methods gxc#current-compile-methods) diff --git a/src/bootstrap/gerbil/compiler/compile__0.scm b/src/bootstrap/gerbil/compiler/compile__0.scm index 20d91a81a..524077809 100644 --- a/src/bootstrap/gerbil/compiler/compile__0.scm +++ b/src/bootstrap/gerbil/compiler/compile__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/compile::timestamp 1696542255) + (define gerbil/compiler/compile::timestamp 1697117338) (begin (define gxc#_g18463_ (gx#core-deserialize-mark diff --git a/src/bootstrap/gerbil/compiler/driver__0.scm b/src/bootstrap/gerbil/compiler/driver__0.scm index d18738691..6f75e65c9 100644 --- a/src/bootstrap/gerbil/compiler/driver__0.scm +++ b/src/bootstrap/gerbil/compiler/driver__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/driver::timestamp 1696542260) + (define gerbil/compiler/driver::timestamp 1697117343) (begin (define gxc#default-gerbil-gsc (path-expand '"gsc" (path-expand '"bin" (path-expand '"~~")))) diff --git a/src/bootstrap/gerbil/compiler/optimize-ann__0.scm b/src/bootstrap/gerbil/compiler/optimize-ann__0.scm index f6a2e187c..dac23f461 100644 --- a/src/bootstrap/gerbil/compiler/optimize-ann__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-ann__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-ann::timestamp 1696542259) + (define gerbil/compiler/optimize-ann::timestamp 1697117342) (begin (declare (inlining-limit 200)) (define gxc#&optmize-annotated diff --git a/src/bootstrap/gerbil/compiler/optimize-base__0.scm b/src/bootstrap/gerbil/compiler/optimize-base__0.scm index 1cdfef95c..abcb6d72d 100644 --- a/src/bootstrap/gerbil/compiler/optimize-base__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-base__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-base::timestamp 1696542255) + (define gerbil/compiler/optimize-base::timestamp 1697117338) (begin (define gxc#current-compile-optimizer-info (make-parameter '#f)) (define gxc#current-compile-mutators (make-parameter '#f)) diff --git a/src/bootstrap/gerbil/compiler/optimize-call__0.scm b/src/bootstrap/gerbil/compiler/optimize-call__0.scm index 54fb0ad3e..8b0e2f830 100644 --- a/src/bootstrap/gerbil/compiler/optimize-call__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-call__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-call::timestamp 1696542260) + (define gerbil/compiler/optimize-call::timestamp 1697117343) (begin (define gxc#&optimize-call (make-promise diff --git a/src/bootstrap/gerbil/compiler/optimize-spec__0.scm b/src/bootstrap/gerbil/compiler/optimize-spec__0.scm index acdd3063b..21a56a100 100644 --- a/src/bootstrap/gerbil/compiler/optimize-spec__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-spec__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-spec::timestamp 1696542257) + (define gerbil/compiler/optimize-spec::timestamp 1697117340) (begin (define gxc#&generate-method-specializers (make-promise diff --git a/src/bootstrap/gerbil/compiler/optimize-top__0.scm b/src/bootstrap/gerbil/compiler/optimize-top__0.scm index 90a052e9b..c8bcce60c 100644 --- a/src/bootstrap/gerbil/compiler/optimize-top__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-top__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-top::timestamp 1696542256) + (define gerbil/compiler/optimize-top::timestamp 1697117339) (begin (define gxc#&collect-top-level-type-info (make-promise diff --git a/src/bootstrap/gerbil/compiler/optimize-xform__0.scm b/src/bootstrap/gerbil/compiler/optimize-xform__0.scm index acb1faf2a..4cd8571a9 100644 --- a/src/bootstrap/gerbil/compiler/optimize-xform__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize-xform__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize-xform::timestamp 1696542255) + (define gerbil/compiler/optimize-xform::timestamp 1697117339) (begin (define gxc#&identity-expression (make-promise diff --git a/src/bootstrap/gerbil/compiler/optimize__0.scm b/src/bootstrap/gerbil/compiler/optimize__0.scm index bc7435355..e9f06b121 100644 --- a/src/bootstrap/gerbil/compiler/optimize__0.scm +++ b/src/bootstrap/gerbil/compiler/optimize__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/compiler/optimize::timestamp 1696542260) + (define gerbil/compiler/optimize::timestamp 1697117343) (begin (define gxc#optimizer-info-init! (lambda () diff --git a/src/bootstrap/gerbil/core.ssi b/src/bootstrap/gerbil/core.ssi index 295a60e5d..a728ed721 100644 --- a/src/bootstrap/gerbil/core.ssi +++ b/src/bootstrap/gerbil/core.ssi @@ -384,10 +384,13 @@ namespace: gerbil/core (make-symbol make-symbol) (make-uninterned-symbol make-uninterned-symbol) (symbol-hash symbol-hash) + (as-string as-string) + (display-as-string display-as-string) (keyword? keyword?) (uninterned-keyword? uninterned-keyword?) (interned-keyword? interned-keyword?) (keyword-hash keyword-hash) + (make-keyword make-keyword) (string-map string-map) (string-for-each string-for-each) (string-copy string-copy) diff --git a/src/bootstrap/gerbil/core__10.scm b/src/bootstrap/gerbil/core__10.scm index f48572875..0dbec49fc 100644 --- a/src/bootstrap/gerbil/core__10.scm +++ b/src/bootstrap/gerbil/core__10.scm @@ -77,31 +77,31 @@ #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43046_| + (define |gerbil/core$[1]#_g43108_| (##structure gx#syntax-quote::t 'else #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43049_| + (define |gerbil/core$[1]#_g43111_| (##structure gx#syntax-quote::t '<...> #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43050_| + (define |gerbil/core$[1]#_g43112_| (##structure gx#syntax-quote::t '<> #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43056_| + (define |gerbil/core$[1]#_g43118_| (##structure gx#syntax-quote::t '=> #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43057_| + (define |gerbil/core$[1]#_g43119_| (##structure gx#syntax-quote::t '=> #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43058_| + (define |gerbil/core$[1]#_g43120_| (##structure gx#syntax-quote::t 'not #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43059_| + (define |gerbil/core$[1]#_g43121_| (##structure gx#syntax-quote::t 'or #f (gx#current-expander-context) '())) - (define |gerbil/core$[1]#_g43060_| + (define |gerbil/core$[1]#_g43122_| (##structure gx#syntax-quote::t 'and #f (gx#current-expander-context) '())) (begin (define |gerbil/core$[1]#match-macro::t| @@ -4885,36 +4885,36 @@ (lambda (_g2359023610_) (if (gx#stx-pair/null? _g2359023610_) - (let ((_g43025_ + (let ((_g43087_ (gx#syntax-split-splice _g2359023610_ '0))) (begin - (let ((_g43026_ + (let ((_g43088_ (let () (declare (not safe)) (if (##values? ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g43025_) - (##vector-length _g43025_) + _g43087_) + (##vector-length _g43087_) 1)))) - (if (not (let () (declare (not safe)) (##fx= _g43026_ 2))) - (error "Context expects 2 values" _g43026_))) + (if (not (let () (declare (not safe)) (##fx= _g43088_ 2))) + (error "Context expects 2 values" _g43088_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let ((_target2359223613_ (let () (declare (not safe)) (##vector-ref - _g43025_ + _g43087_ 0))) (_tl2359423616_ (let () (declare (not safe)) (##vector-ref - _g43025_ + _g43087_ 1)))) (if (gx#stx-null? _tl2359423616_) @@ -4932,13 +4932,13 @@ (let () (declare (not safe)) (##cdr _e2359623629_)))) - (let ((__tmp43031 + (let ((__tmp43093 (cons _lp-hd2359723633_ _target2359923626_))) (declare (not safe)) (_loop2359523619_ _lp-tl2359823636_ - __tmp43031)))) + __tmp43093)))) (let ((_target2360023639_ (reverse _target2359923626_))) ((lambda (_L23643_) @@ -4986,7 +4986,7 @@ '())))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _g2371723728_))) - (__tmp43027 + (__tmp43089 (gx#stx-wrap-source (cons (gx#datum->syntax '#f 'let) (cons (cons (cons _L23577_ @@ -4997,17 +4997,17 @@ (cons _L23703_ '()))) (gx#stx-source _stx22848_)))) (declare (not safe)) - (_g2371523746_ __tmp43027)))) + (_g2371523746_ __tmp43089)))) _g2368923700_))) - (__tmp43028 - (let ((__tmp43029 (cons _L23577_ '()))) + (__tmp43090 + (let ((__tmp43091 (cons _L23577_ '()))) (declare (not safe)) - (_generate-clauses22856_ _body23559_ __tmp43029)))) + (_generate-clauses22856_ _body23559_ __tmp43091)))) (declare (not safe)) - (_g2368723750_ __tmp43028)))) + (_g2368723750_ __tmp43090)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _g2366123672_))) - (__tmp43030 + (__tmp43092 (gx#stx-wrap-source (cons (gx#datum->syntax '#f @@ -5029,7 +5029,7 @@ (gx#stx-source _stx22848_)))) (declare (not safe)) - (_g2365923754_ __tmp43030)))) + (_g2365923754_ __tmp43092)))) _target2360023639_)))))) (let () (declare (not safe)) @@ -5045,9 +5045,9 @@ (declare (not safe)) (_g2358823766_ _tgt-lst22850_)))) _g2356323574_))) - (__tmp43032 (gx#genident 'E))) + (__tmp43094 (gx#genident 'E))) (declare (not safe)) - (_g2356123770_ __tmp43032)))) + (_g2356123770_ __tmp43094)))) (_generate-clauses22856_ (lambda (_rest23211_ _E23213_) (let* ((___stx4169041691_ _rest23211_) @@ -5242,21 +5242,21 @@ (declare (not safe)) (_g2335223367_ _g2335323371_))))) - (__tmp43035 + (__tmp43097 (list (let () (declare (not safe)) (_generate122857_ _L23334_ _L23332_ _E23213_)) - (let ((__tmp43036 + (let ((__tmp43098 (cons _L23335_ '()))) (declare (not safe)) (_generate-clauses22856_ _L23261_ - __tmp43036))))) + __tmp43098))))) (declare (not safe)) - (_g2335123412_ __tmp43035)) + (_g2335123412_ __tmp43097)) (let* ((_g2341623424_ (lambda (_g2341723420_) (gx#raise-syntax-error @@ -5290,15 +5290,15 @@ (cons _L23431_ '()))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _g2341723428_))) - (__tmp43033 - (let ((__tmp43034 + (__tmp43095 + (let ((__tmp43096 (cons _L23335_ '()))) (declare (not safe)) (_generate-clauses22856_ _L23261_ - __tmp43034)))) + __tmp43096)))) (declare (not safe)) - (_g2341523442_ __tmp43033)))) + (_g2341523442_ __tmp43095)))) _hd2328823326_ _hd2328523316_ _hd2328223306_) @@ -5375,25 +5375,25 @@ (##cdr _e2287322905_)))) (if (gx#stx-pair/null? _hd2287222909_) - (let ((_g43037_ + (let ((_g43099_ (gx#syntax-split-splice _hd2287222909_ '0))) (begin - (let ((_g43038_ + (let ((_g43100_ (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (if (##values? _g43037_) - (##vector-length _g43037_) + (if (##values? _g43099_) + (##vector-length _g43099_) 1)))) - (if (not (let () (declare (not safe)) (##fx= _g43038_ 2))) - (error "Context expects 2 values" _g43038_))) + (if (not (let () (declare (not safe)) (##fx= _g43100_ 2))) + (error "Context expects 2 values" _g43100_))) (let ((_target2287422915_ - (let () (declare (not safe)) (##vector-ref _g43037_ 0))) + (let () (declare (not safe)) (##vector-ref _g43099_ 0))) (_tl2287622918_ - (let () (declare (not safe)) (##vector-ref _g43037_ 1)))) + (let () (declare (not safe)) (##vector-ref _g43099_ 1)))) (if (gx#stx-null? _tl2287622918_) (letrec ((_loop2287722921_ (lambda (_hd2287522925_ _var2288122928_) @@ -5408,13 +5408,13 @@ (let () (declare (not safe)) (##cdr _e2287822931_)))) - (let ((__tmp43042 + (let ((__tmp43104 (cons _lp-hd2287922935_ _var2288122928_))) (declare (not safe)) (_loop2287722921_ _lp-tl2288022938_ - __tmp43042)))) + __tmp43104)))) (let ((_var2288222941_ (reverse _var2288122928_))) (if (gx#stx-null? _tl2287122912_) @@ -5471,7 +5471,7 @@ (gx#stx-source _stx22848_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _g2303423045_))) - (__tmp43039 + (__tmp43101 (gx#stx-wrap-source (cons (gx#datum->syntax '#f @@ -5486,12 +5486,12 @@ ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (gx#stx-source _stx22848_)))) (declare (not safe)) - (_g2303223063_ __tmp43039)))) + (_g2303223063_ __tmp43101)))) _g2300623017_)))) (declare (not safe)) (_g2300423075_ _body22861_)))) _g2297822989_))) - (__tmp43040 + (__tmp43102 (let _recur23083_ ((_rest23086_ _clause22859_) (_rest-targets23088_ _tgt-lst22850_)) (let* ((___stx4171641717_ _rest23086_) @@ -5523,7 +5523,7 @@ (declare (not safe)) (##cdr _e2316223175_)))) ((lambda (_L23185_ _L23187_) - (let ((__tmp43041 + (let ((__tmp43103 (let () (declare (not safe)) (_recur23083_ @@ -5534,7 +5534,7 @@ _stx22848_ _L23187_ _L23141_ - __tmp43041 + __tmp43103 _E22862_))) _tl2316023182_ _hd2316123179_))) @@ -5566,7 +5566,7 @@ (___kont4172141722_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (_g2297623079_ __tmp43040)))) + (_g2297623079_ __tmp43102)))) _var2288222941_ _hd2286922899_) (let () @@ -5590,19 +5590,19 @@ (let () (declare (not safe)) (_g2286422888_ _g2286522892_))))) - (__tmp43043 + (__tmp43105 (list (gx#genident 'K) (apply append (map |gerbil/core$[1]#match-pattern-vars| _clause22859_))))) (declare (not safe)) - (_g2286323207_ __tmp43043))))) - (let ((__tmp43044 - (let ((__tmp43045 (gx#stx-length _tgt-lst22850_))) + (_g2286323207_ __tmp43105))))) + (let ((__tmp43106 + (let ((__tmp43107 (gx#stx-length _tgt-lst22850_))) (declare (not safe)) - (_parse-body22853_ __tmp43045)))) + (_parse-body22853_ __tmp43107)))) (declare (not safe)) - (_generate-body22855_ __tmp43044))))) + (_generate-body22855_ __tmp43106))))) (define |gerbil/core$[1]#generate-match| (lambda (_stx22750_ _tgt22752_ _clauses22753_) (letrec ((_reclause22755_ @@ -5641,7 +5641,7 @@ (##car _e2276722830_)))) (if (gx#identifier? _hd2276622834_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43046_| + |gerbil/core$[1]#_g43108_| _hd2276622834_) (___kont4173541736_) (___kont4173741738_ @@ -5651,13 +5651,13 @@ _tl2276522837_ _hd2276622834_)))) (___kont4173941740_))))))) - (let ((__tmp43048 (cons _tgt22752_ '())) - (__tmp43047 (gx#stx-map _reclause22755_ _clauses22753_))) + (let ((__tmp43110 (cons _tgt22752_ '())) + (__tmp43109 (gx#stx-map _reclause22755_ _clauses22753_))) (declare (not safe)) (|gerbil/core$[1]#generate-match*| _stx22750_ - __tmp43048 - __tmp43047))))) + __tmp43110 + __tmp43109))))) (define |gerbil/core$[:0:]#match| (lambda (_stx30359_) (let* ((___stx4176041761_ _stx30359_) @@ -5853,7 +5853,7 @@ (##car _e3037230623_)))) (if (gx#identifier? _hd3037130627_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43050_| + |gerbil/core$[1]#_g43112_| _hd3037130627_) (___match4178541786_ _e3036930613_ @@ -5863,7 +5863,7 @@ _hd3037130627_ _tl3037030630_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43049_| + |gerbil/core$[1]#_g43111_| _hd3037130627_) (___match4180141802_ _e3036930613_ @@ -5917,31 +5917,31 @@ (declare (not safe)) (##cdr _e3072730759_)))) (if (gx#stx-pair/null? _hd3072630763_) - (let ((_g43051_ + (let ((_g43113_ (gx#syntax-split-splice _hd3072630763_ '0))) (begin - (let ((_g43052_ + (let ((_g43114_ (let () (declare (not safe)) - (if (##values? _g43051_) + (if (##values? _g43113_) (##vector-length - _g43051_) + _g43113_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43052_ 2))) + (##fx= _g43114_ 2))) (error "Context expects 2 values" - _g43052_))) + _g43114_))) (let ((_target3072830769_ (let () (declare (not safe)) - (##vector-ref _g43051_ 0))) + (##vector-ref _g43113_ 0))) (_tl3073030772_ (let () (declare (not safe)) - (##vector-ref _g43051_ 1)))) + (##vector-ref _g43113_ 1)))) (if (gx#stx-null? _tl3073030772_) (letrec ((_loop3073130775_ (lambda (_hd3072930779_ @@ -5973,41 +5973,41 @@ (lambda (_g3082030840_) (if (gx#stx-pair/null? _g3082030840_) - (let ((_g43053_ + (let ((_g43115_ (gx#syntax-split-splice _g3082030840_ '0))) (begin - (let ((_g43054_ + (let ((_g43116_ (let () (declare (not safe)) (if (##values? ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g43053_) - (##vector-length _g43053_) + _g43115_) + (##vector-length _g43115_) 1)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (not (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##fx= _g43054_ 2))) - (error "Context expects 2 values" _g43054_))) + (##fx= _g43116_ 2))) + (error "Context expects 2 values" _g43116_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let ((_target3082230843_ (let () (declare (not safe)) (##vector-ref - _g43053_ + _g43115_ 0))) (_tl3082430846_ (let () (declare (not safe)) (##vector-ref - _g43053_ + _g43115_ 1)))) (if (gx#stx-null? _tl3082430846_) @@ -6065,7 +6065,7 @@ ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> _g3089030901_)))) (_g3088830930_ - (let ((__tmp43055 + (let ((__tmp43117 (foldr (lambda (_g3093330936_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< _g3093430939_) @@ -6076,7 +6076,7 @@ (declare (not safe)) (|gerbil/core$[1]#generate-match*| _stx30715_ - __tmp43055 + __tmp43117 _L30799_)))))) _$e3083030869_)))))) (_loop3082530849_ _target3082230843_ '())) @@ -7091,7 +7091,7 @@ _tl3179132048_) (if (gx#identifier? _hd3179232045_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3179232045_) (if (gx#stx-pair? _tl3179132048_) (let ((_e3179632051_ @@ -7150,7 +7150,7 @@ (let () (declare (not safe)) (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ (gx#syntax-e _tl3183031899_))) @@ -7207,7 +7207,7 @@ (##car _e3179332041_)))) (if (gx#identifier? _hd3179232045_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3179232045_) (if (gx#stx-pair? _tl3179132048_) (let ((_e3179632051_ @@ -7270,7 +7270,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -7480,7 +7480,7 @@ (##car _e3170832395_)))) (if (gx#identifier? _hd3170732399_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43060_| + |gerbil/core$[1]#_g43122_| _hd3170732399_) (if (gx#stx-pair/null? _tl3170632402_) @@ -7536,7 +7536,7 @@ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -7600,7 +7600,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -7658,7 +7658,7 @@ (___kont4200142002_ _hd3177232155_ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -7717,7 +7717,7 @@ (let () (declare (not safe)) (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ (gx#syntax-e _tl3183031899_))) @@ -7759,7 +7759,7 @@ (let () (declare (not safe)) (_g3169531841_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (gx#free-identifier=? - |gerbil/core$[1]#_g43059_| + |gerbil/core$[1]#_g43121_| _hd3170732399_) (if (gx#stx-pair/null? _tl3170632402_) @@ -7806,7 +7806,7 @@ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -7869,7 +7869,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -7930,7 +7930,7 @@ (___kont4200142002_ _hd3177232155_ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -7991,7 +7991,7 @@ (let () (declare (not safe)) (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -8032,7 +8032,7 @@ (let () (declare (not safe)) (_g3169531841_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (gx#free-identifier=? - |gerbil/core$[1]#_g43058_| + |gerbil/core$[1]#_g43120_| _hd3170732399_) (if (gx#stx-pair? _tl3170632402_) @@ -8064,7 +8064,7 @@ _hd3170132379_) (if (gx#identifier? _hd3176132229_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3176132229_) (if (gx#stx-pair? _tl3176032232_) (let ((_e3179632051_ @@ -8128,7 +8128,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -8194,7 +8194,7 @@ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -8258,7 +8258,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -8323,7 +8323,7 @@ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -8387,7 +8387,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -8440,7 +8440,7 @@ (___kont4200142002_ _hd3177232155_ _hd3170432389_) (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) (let ((_e3179632051_ @@ -8501,7 +8501,7 @@ (let () (declare (not safe)) (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) (let ((_e3183531902_ @@ -8561,7 +8561,7 @@ (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -8619,7 +8619,7 @@ (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) @@ -8679,7 +8679,7 @@ (if (gx#identifier? _hd3177232155_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43057_| + |gerbil/core$[1]#_g43119_| _hd3177232155_) (if (gx#stx-pair? _tl3177132158_) @@ -8737,7 +8737,7 @@ (##car _e3183231892_)))) (if (gx#identifier? _hd3183131896_) (if (gx#free-identifier=? - |gerbil/core$[1]#_g43056_| + |gerbil/core$[1]#_g43118_| _hd3183131896_) (if (gx#stx-pair? _tl3183031899_) diff --git a/src/bootstrap/gerbil/core__11.scm b/src/bootstrap/gerbil/core__11.scm index a3cb94aaf..9dd58f1ff 100644 --- a/src/bootstrap/gerbil/core__11.scm +++ b/src/bootstrap/gerbil/core__11.scm @@ -1,34 +1,34 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (begin - (define |gerbil/core$[2]#_g43063_| + (define |gerbil/core$[2]#_g43027_| (##structure gx#syntax-quote::t 'macro-object #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43065_| + (define |gerbil/core$[2]#_g43029_| (##structure gx#syntax-quote::t 'macro-object::t #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43066_| + (define |gerbil/core$[2]#_g43030_| (##structure gx#syntax-quote::t 'match-macro::t #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43067_| + (define |gerbil/core$[2]#_g43031_| (##structure gx#syntax-quote::t 'make-match-macro #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43068_| + (define |gerbil/core$[2]#_g43032_| (##structure gx#syntax-quote::t 'match-macro? @@ -36,20 +36,20 @@ (gx#current-expander-context) '())) (define |gerbil/core$[:1:]#match-macro| - (let ((__tmp43069 |gerbil/core$[2]#_g43066_|) - (__tmp43064 - (cons (cons |gerbil/core$[2]#_g43065_| '()) - (cons |gerbil/core$[2]#_g43066_| - (cons |gerbil/core$[2]#_g43067_| - (cons |gerbil/core$[2]#_g43068_| + (let ((__tmp43033 |gerbil/core$[2]#_g43030_|) + (__tmp43028 + (cons (cons |gerbil/core$[2]#_g43029_| '()) + (cons |gerbil/core$[2]#_g43030_| + (cons |gerbil/core$[2]#_g43031_| + (cons |gerbil/core$[2]#_g43032_| (cons '() (cons '() '()))))))) - (__tmp43061 - (let ((__tmp43062 (list |gerbil/core$[2]#_g43063_|))) + (__tmp43025 + (let ((__tmp43026 (list |gerbil/core$[2]#_g43027_|))) (declare (not safe)) (##structure |gerbil/core$$[1]#runtime-class-exhibitor::t| 'gerbil.core#match-macro::t - __tmp43062 + __tmp43026 'match-macro '#f '() @@ -58,8 +58,8 @@ (make-class-instance |gerbil/core$$[1]#extended-class-info::t| 'runtime-identifier: - __tmp43069 + __tmp43033 'expander-identifiers: - __tmp43064 + __tmp43028 'type-exhibitor: - __tmp43061)))) + __tmp43025)))) diff --git a/src/bootstrap/gerbil/core__12.scm b/src/bootstrap/gerbil/core__12.scm index 1a3b80a86..6e9be250b 100644 --- a/src/bootstrap/gerbil/core__12.scm +++ b/src/bootstrap/gerbil/core__12.scm @@ -57,20 +57,20 @@ (define |gerbil/core$[1]#syntax-local-setf-macro?| (lambda (_stx32779_) (if (gx#identifier? _stx32779_) - (let ((__tmp43070 (gx#syntax-local-value _stx32779_ false))) + (let ((__tmp43034 (gx#syntax-local-value _stx32779_ false))) (declare (not safe)) (class-instance? |gerbil/core$[1]#setf-macro::t| - __tmp43070)) + __tmp43034)) '#f))) (define |gerbil/core$[1]#syntax-local-setq-macro?| (lambda (_stx32776_) (if (gx#identifier? _stx32776_) - (let ((__tmp43071 (gx#syntax-local-value _stx32776_ false))) + (let ((__tmp43035 (gx#syntax-local-value _stx32776_ false))) (declare (not safe)) (class-instance? |gerbil/core$[1]#setq-macro::t| - __tmp43071)) + __tmp43035)) '#f))) (define |gerbil/core$[:0:]#set!| (lambda (_stx32790_) @@ -274,11 +274,11 @@ (let () (declare (not safe)) (##car _e3280733118_)))) - (if (let ((__tmp43072 + (if (let ((__tmp43036 (gx#datum->syntax '#f 'setfid))) (declare (not safe)) (|gerbil/core$[1]#syntax-local-setf-macro?| - __tmp43072)) + __tmp43036)) (let ((_L33128_ _hd3280633122_)) (___kont4231542316_ _L33128_)) (if (gx#stx-pair/null? _tl3280533125_) @@ -355,30 +355,30 @@ (##cdr _e3315733182_)))) (if (gx#stx-pair/null? _tl3315533189_) (if (fx>= (gx#stx-length _tl3315533189_) '1) - (let ((_g43073_ + (let ((_g43037_ (gx#syntax-split-splice _tl3315533189_ '1))) (begin - (let ((_g43074_ + (let ((_g43038_ (let () (declare (not safe)) - (if (##values? _g43073_) - (##vector-length _g43073_) + (if (##values? _g43037_) + (##vector-length _g43037_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43074_ 2))) + (##fx= _g43038_ 2))) (error "Context expects 2 values" - _g43074_))) + _g43038_))) (let ((_target3315833192_ (let () (declare (not safe)) - (##vector-ref _g43073_ 0))) + (##vector-ref _g43037_ 0))) (_tl3316033195_ (let () (declare (not safe)) - (##vector-ref _g43073_ 1)))) + (##vector-ref _g43037_ 1)))) (if (gx#stx-pair? _tl3316033195_) (let ((_e3316933198_ (gx#syntax-e _tl3316033195_))) @@ -419,38 +419,38 @@ (_g3325133341_ (lambda (_g3325333273_) (if (gx#stx-pair/null? _g3325333273_) - (let ((_g43075_ + (let ((_g43039_ (gx#syntax-split-splice _g3325333273_ '0))) (begin - (let ((_g43076_ + (let ((_g43040_ (let () (declare (not safe)) (if (##values? - _g43075_) + _g43039_) (##vector-length - _g43075_) + _g43039_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43076_ + (##fx= _g43040_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2))) - (error "Context expects 2 values" _g43076_))) + (error "Context expects 2 values" _g43040_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let ((_target3325533276_ (let () (declare (not safe)) (##vector-ref - _g43075_ + _g43039_ 0))) (_tl3325733279_ (let () (declare (not safe)) (##vector-ref - _g43075_ + _g43039_ 1)))) (if (gx#stx-null? _tl3325733279_) @@ -558,37 +558,37 @@ (_g3358433666_ (lambda (_g3358633606_) (if (gx#stx-pair/null? _g3358633606_) - (let ((_g43077_ + (let ((_g43041_ (gx#syntax-split-splice _g3358633606_ '0))) (begin - (let ((_g43078_ + (let ((_g43042_ (let () (declare (not safe)) (if (##values? - _g43077_) + _g43041_) (##vector-length - _g43077_) + _g43041_) 1)))) (if (not (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##fx= _g43078_ 2))) - (error "Context expects 2 values" _g43078_))) + (##fx= _g43042_ 2))) + (error "Context expects 2 values" _g43042_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let ((_target3358833609_ (let () (declare (not safe)) (##vector-ref - _g43077_ + _g43041_ 0))) (_tl3359033612_ (let () (declare (not safe)) (##vector-ref - _g43077_ + _g43041_ 1)))) (if (gx#stx-null? _tl3359033612_) @@ -987,30 +987,30 @@ (declare (not safe)) (##cdr _e3380133833_)))) (if (gx#stx-pair/null? _tl3379933840_) - (let ((_g43079_ + (let ((_g43043_ (gx#syntax-split-splice _tl3379933840_ '0))) (begin - (let ((_g43080_ + (let ((_g43044_ (let () (declare (not safe)) - (if (##values? _g43079_) - (##vector-length _g43079_) + (if (##values? _g43043_) + (##vector-length _g43043_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43080_ 2))) + (##fx= _g43044_ 2))) (error "Context expects 2 values" - _g43080_))) + _g43044_))) (let ((_target3380233843_ (let () (declare (not safe)) - (##vector-ref _g43079_ 0))) + (##vector-ref _g43043_ 0))) (_tl3380433846_ (let () (declare (not safe)) - (##vector-ref _g43079_ 1)))) + (##vector-ref _g43043_ 1)))) (if (gx#stx-null? _tl3380433846_) (letrec ((_loop3380533849_ (lambda (_hd3380333853_ @@ -1083,30 +1083,30 @@ (declare (not safe)) (##cdr _e3391933951_)))) (if (gx#stx-pair/null? _tl3391733958_) - (let ((_g43081_ + (let ((_g43045_ (gx#syntax-split-splice _tl3391733958_ '0))) (begin - (let ((_g43082_ + (let ((_g43046_ (let () (declare (not safe)) - (if (##values? _g43081_) - (##vector-length _g43081_) + (if (##values? _g43045_) + (##vector-length _g43045_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43082_ 2))) + (##fx= _g43046_ 2))) (error "Context expects 2 values" - _g43082_))) + _g43046_))) (let ((_target3392033961_ (let () (declare (not safe)) - (##vector-ref _g43081_ 0))) + (##vector-ref _g43045_ 0))) (_tl3392233964_ (let () (declare (not safe)) - (##vector-ref _g43081_ 1)))) + (##vector-ref _g43045_ 1)))) (if (gx#stx-null? _tl3392233964_) (letrec ((_loop3392333967_ (lambda (_hd3392133971_ @@ -1190,38 +1190,38 @@ (declare (not safe)) (##cdr _e3404134083_)))) (if (gx#stx-pair/null? _tl3403934090_) - (let ((_g43083_ + (let ((_g43047_ (gx#syntax-split-splice _tl3403934090_ '0))) (begin - (let ((_g43084_ + (let ((_g43048_ (let () (declare (not safe)) (if (##values? - _g43083_) + _g43047_) (##vector-length - _g43083_) + _g43047_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43084_ + (##fx= _g43048_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2))) - (error "Context expects 2 values" _g43084_))) + (error "Context expects 2 values" _g43048_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let ((_target3404234093_ (let () (declare (not safe)) (##vector-ref - _g43083_ + _g43047_ 0))) (_tl3404434096_ (let () (declare (not safe)) (##vector-ref - _g43083_ + _g43047_ 1)))) (if (gx#stx-null? _tl3404434096_) diff --git a/src/bootstrap/gerbil/core__13.scm b/src/bootstrap/gerbil/core__13.scm index 7e1695d34..7657f690f 100644 --- a/src/bootstrap/gerbil/core__13.scm +++ b/src/bootstrap/gerbil/core__13.scm @@ -1,55 +1,55 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (begin - (define |gerbil/core$[2]#_g43087_| + (define |gerbil/core$[2]#_g43051_| (##structure gx#syntax-quote::t 'macro-object #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43089_| + (define |gerbil/core$[2]#_g43053_| (##structure gx#syntax-quote::t 'macro-object::t #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43090_| + (define |gerbil/core$[2]#_g43054_| (##structure gx#syntax-quote::t 'setq-macro::t #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43091_| + (define |gerbil/core$[2]#_g43055_| (##structure gx#syntax-quote::t 'make-setq-macro #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43092_| + (define |gerbil/core$[2]#_g43056_| (##structure gx#syntax-quote::t 'setq-macro? #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43097_| + (define |gerbil/core$[2]#_g43061_| (##structure gx#syntax-quote::t 'setf-macro::t #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43098_| + (define |gerbil/core$[2]#_g43062_| (##structure gx#syntax-quote::t 'make-setf-macro #f (gx#current-expander-context) '())) - (define |gerbil/core$[2]#_g43099_| + (define |gerbil/core$[2]#_g43063_| (##structure gx#syntax-quote::t 'setf-macro? @@ -58,20 +58,20 @@ '())) (begin (define |gerbil/core$[:1:]#setq-macro| - (let ((__tmp43093 |gerbil/core$[2]#_g43090_|) - (__tmp43088 - (cons (cons |gerbil/core$[2]#_g43089_| '()) - (cons |gerbil/core$[2]#_g43090_| - (cons |gerbil/core$[2]#_g43091_| - (cons |gerbil/core$[2]#_g43092_| + (let ((__tmp43057 |gerbil/core$[2]#_g43054_|) + (__tmp43052 + (cons (cons |gerbil/core$[2]#_g43053_| '()) + (cons |gerbil/core$[2]#_g43054_| + (cons |gerbil/core$[2]#_g43055_| + (cons |gerbil/core$[2]#_g43056_| (cons '() (cons '() '()))))))) - (__tmp43085 - (let ((__tmp43086 (list |gerbil/core$[2]#_g43087_|))) + (__tmp43049 + (let ((__tmp43050 (list |gerbil/core$[2]#_g43051_|))) (declare (not safe)) (##structure |gerbil/core$$[1]#runtime-class-exhibitor::t| 'gerbil.core#setq-macro::t - __tmp43086 + __tmp43050 'setq-macro '#f '() @@ -80,26 +80,26 @@ (make-class-instance |gerbil/core$$[1]#extended-class-info::t| 'runtime-identifier: - __tmp43093 + __tmp43057 'expander-identifiers: - __tmp43088 + __tmp43052 'type-exhibitor: - __tmp43085))) + __tmp43049))) (define |gerbil/core$[:1:]#setf-macro| - (let ((__tmp43100 |gerbil/core$[2]#_g43097_|) - (__tmp43096 - (cons (cons |gerbil/core$[2]#_g43089_| '()) - (cons |gerbil/core$[2]#_g43097_| - (cons |gerbil/core$[2]#_g43098_| - (cons |gerbil/core$[2]#_g43099_| + (let ((__tmp43064 |gerbil/core$[2]#_g43061_|) + (__tmp43060 + (cons (cons |gerbil/core$[2]#_g43053_| '()) + (cons |gerbil/core$[2]#_g43061_| + (cons |gerbil/core$[2]#_g43062_| + (cons |gerbil/core$[2]#_g43063_| (cons '() (cons '() '()))))))) - (__tmp43094 - (let ((__tmp43095 (list |gerbil/core$[2]#_g43087_|))) + (__tmp43058 + (let ((__tmp43059 (list |gerbil/core$[2]#_g43051_|))) (declare (not safe)) (##structure |gerbil/core$$[1]#runtime-class-exhibitor::t| 'gerbil.core#setf-macro::t - __tmp43095 + __tmp43059 'setf-macro '#f '() @@ -108,8 +108,8 @@ (make-class-instance |gerbil/core$$[1]#extended-class-info::t| 'runtime-identifier: - __tmp43100 + __tmp43064 'expander-identifiers: - __tmp43096 + __tmp43060 'type-exhibitor: - __tmp43094))))) + __tmp43058))))) diff --git a/src/bootstrap/gerbil/core__15.scm b/src/bootstrap/gerbil/core__15.scm index 7c9466357..615c01153 100644 --- a/src/bootstrap/gerbil/core__15.scm +++ b/src/bootstrap/gerbil/core__15.scm @@ -907,30 +907,30 @@ (declare (not safe)) (##cdr _e3503835060_)))) (if (gx#stx-pair/null? _tl3503635067_) - (let ((_g43101_ + (let ((_g43065_ (gx#syntax-split-splice _tl3503635067_ '0))) (begin - (let ((_g43102_ + (let ((_g43066_ (let () (declare (not safe)) - (if (##values? _g43101_) - (##vector-length _g43101_) + (if (##values? _g43065_) + (##vector-length _g43065_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43102_ 2))) + (##fx= _g43066_ 2))) (error "Context expects 2 values" - _g43102_))) + _g43066_))) (let ((_target3503935070_ (let () (declare (not safe)) - (##vector-ref _g43101_ 0))) + (##vector-ref _g43065_ 0))) (_tl3504135073_ (let () (declare (not safe)) - (##vector-ref _g43101_ 1)))) + (##vector-ref _g43065_ 1)))) (if (gx#stx-null? _tl3504135073_) (letrec ((_loop3504235076_ (lambda (_hd3504035080_ @@ -986,30 +986,30 @@ (declare (not safe)) (##cdr _e3513735159_)))) (if (gx#stx-pair/null? _tl3513535166_) - (let ((_g43103_ + (let ((_g43067_ (gx#syntax-split-splice _tl3513535166_ '0))) (begin - (let ((_g43104_ + (let ((_g43068_ (let () (declare (not safe)) - (if (##values? _g43103_) - (##vector-length _g43103_) + (if (##values? _g43067_) + (##vector-length _g43067_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43104_ 2))) + (##fx= _g43068_ 2))) (error "Context expects 2 values" - _g43104_))) + _g43068_))) (let ((_target3513835169_ (let () (declare (not safe)) - (##vector-ref _g43103_ 0))) + (##vector-ref _g43067_ 0))) (_tl3514035172_ (let () (declare (not safe)) - (##vector-ref _g43103_ 1)))) + (##vector-ref _g43067_ 1)))) (if (gx#stx-null? _tl3514035172_) (letrec ((_loop3514135175_ (lambda (_hd3513935179_ @@ -1076,31 +1076,31 @@ (declare (not safe)) (##cdr _e3524035272_)))) (if (gx#stx-pair/null? _tl3523835279_) - (let ((_g43105_ + (let ((_g43069_ (gx#syntax-split-splice _tl3523835279_ '0))) (begin - (let ((_g43106_ + (let ((_g43070_ (let () (declare (not safe)) - (if (##values? _g43105_) + (if (##values? _g43069_) (##vector-length - _g43105_) + _g43069_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43106_ 2))) + (##fx= _g43070_ 2))) (error "Context expects 2 values" - _g43106_))) + _g43070_))) (let ((_target3524135282_ (let () (declare (not safe)) - (##vector-ref _g43105_ 0))) + (##vector-ref _g43069_ 0))) (_tl3524335285_ (let () (declare (not safe)) - (##vector-ref _g43105_ 1)))) + (##vector-ref _g43069_ 1)))) (if (gx#stx-null? _tl3524335285_) (letrec ((_loop3524435288_ (lambda (_hd3524235292_ @@ -1215,31 +1215,31 @@ (declare (not safe)) (##cdr _e3539435426_)))) (if (gx#stx-pair/null? _tl3539235433_) - (let ((_g43107_ + (let ((_g43071_ (gx#syntax-split-splice _tl3539235433_ '0))) (begin - (let ((_g43108_ + (let ((_g43072_ (let () (declare (not safe)) - (if (##values? _g43107_) + (if (##values? _g43071_) (##vector-length - _g43107_) + _g43071_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43108_ 2))) + (##fx= _g43072_ 2))) (error "Context expects 2 values" - _g43108_))) + _g43072_))) (let ((_target3539535436_ (let () (declare (not safe)) - (##vector-ref _g43107_ 0))) + (##vector-ref _g43071_ 0))) (_tl3539735439_ (let () (declare (not safe)) - (##vector-ref _g43107_ 1)))) + (##vector-ref _g43071_ 1)))) (if (gx#stx-null? _tl3539735439_) (letrec ((_loop3539835442_ (lambda (_hd3539635446_ @@ -1378,31 +1378,31 @@ (declare (not safe)) (##cdr _e3560035640_)))) (if (gx#stx-pair/null? _tl3559835647_) - (let ((_g43109_ + (let ((_g43073_ (gx#syntax-split-splice _tl3559835647_ '0))) (begin - (let ((_g43110_ + (let ((_g43074_ (let () (declare (not safe)) - (if (##values? _g43109_) + (if (##values? _g43073_) (##vector-length - _g43109_) + _g43073_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43110_ 2))) + (##fx= _g43074_ 2))) (error "Context expects 2 values" - _g43110_))) + _g43074_))) (let ((_target3560135650_ (let () (declare (not safe)) - (##vector-ref _g43109_ 0))) + (##vector-ref _g43073_ 0))) (_tl3560335653_ (let () (declare (not safe)) - (##vector-ref _g43109_ 1)))) + (##vector-ref _g43073_ 1)))) (if (gx#stx-null? _tl3560335653_) (letrec ((_loop3560435656_ (lambda (_hd3560235660_ @@ -1470,7 +1470,7 @@ _L35704_))) (let* ((_keytab35742_ (make-hash-table)) (_found35745_ (make-hash-table)) - (_g43111_ + (_g43075_ (for-each (lambda (_id35748_ _new-id35750_) (hash-put! @@ -1618,14 +1618,14 @@ (letrec ((_fold-e35903_ (lambda (_in35906_ _r35908_) (if (gx#module-import? _in35906_) - (cons (let ((__tmp43112 + (cons (let ((__tmp43076 (_rename-e35900_ (gx#module-import-name _in35906_)))) (declare (not safe)) (|gerbil/core$[1]#module-import-rename| _in35906_ - __tmp43112)) + __tmp43076)) _r35908_) (if (gx#import-set? _in35906_) (foldl _fold-e35903_ @@ -1811,32 +1811,32 @@ (declare (not safe)) (##cdr _e3593535967_)))) (if (gx#stx-pair/null? _tl3593335974_) - (let ((_g43113_ + (let ((_g43077_ (gx#syntax-split-splice _tl3593335974_ '0))) (begin - (let ((_g43114_ + (let ((_g43078_ (let () (declare (not safe)) - (if (##values? _g43113_) + (if (##values? _g43077_) (##vector-length - _g43113_) + _g43077_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43114_ 2))) + (##fx= _g43078_ 2))) (error "Context expects 2 values" - _g43114_))) + _g43078_))) (let ((_target3593635977_ (let () (declare (not safe)) - (##vector-ref _g43113_ 0))) + (##vector-ref _g43077_ 0))) (_tl3593835980_ (let () (declare (not safe)) (##vector-ref - _g43113_ + _g43077_ 1)))) (if (gx#stx-null? _tl3593835980_) (letrec ((_loop3593935983_ @@ -1912,31 +1912,31 @@ (declare (not safe)) (##cdr _e3619836230_)))) (if (gx#stx-pair/null? _tl3619636237_) - (let ((_g43115_ + (let ((_g43079_ (gx#syntax-split-splice _tl3619636237_ '0))) (begin - (let ((_g43116_ + (let ((_g43080_ (let () (declare (not safe)) - (if (##values? _g43115_) + (if (##values? _g43079_) (##vector-length - _g43115_) + _g43079_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43116_ 2))) + (##fx= _g43080_ 2))) (error "Context expects 2 values" - _g43116_))) + _g43080_))) (let ((_target3619936240_ (let () (declare (not safe)) - (##vector-ref _g43115_ 0))) + (##vector-ref _g43079_ 0))) (_tl3620136243_ (let () (declare (not safe)) - (##vector-ref _g43115_ 1)))) + (##vector-ref _g43079_ 1)))) (if (gx#stx-null? _tl3620136243_) (letrec ((_loop3620236246_ (lambda (_hd3620036250_ @@ -2059,31 +2059,31 @@ (declare (not safe)) (##cdr _e3635736397_)))) (if (gx#stx-pair/null? _tl3635536404_) - (let ((_g43117_ + (let ((_g43081_ (gx#syntax-split-splice _tl3635536404_ '0))) (begin - (let ((_g43118_ + (let ((_g43082_ (let () (declare (not safe)) - (if (##values? _g43117_) + (if (##values? _g43081_) (##vector-length - _g43117_) + _g43081_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43118_ 2))) + (##fx= _g43082_ 2))) (error "Context expects 2 values" - _g43118_))) + _g43082_))) (let ((_target3635836407_ (let () (declare (not safe)) - (##vector-ref _g43117_ 0))) + (##vector-ref _g43081_ 0))) (_tl3636036410_ (let () (declare (not safe)) - (##vector-ref _g43117_ 1)))) + (##vector-ref _g43081_ 1)))) (if (gx#stx-null? _tl3636036410_) (letrec ((_loop3636136413_ (lambda (_hd3635936417_ @@ -2151,7 +2151,7 @@ _L36461_))) (let* ((_keytab36499_ (make-hash-table)) (_found36502_ (make-hash-table)) - (_g43119_ + (_g43083_ (for-each (lambda (_id36505_ _new-id36507_) (hash-put! @@ -2299,14 +2299,14 @@ (letrec ((_fold-e36660_ (lambda (_out36663_ _r36665_) (if (gx#module-export? _out36663_) - (cons (let ((__tmp43120 + (cons (let ((__tmp43084 (_rename-e36657_ (gx#module-export-name _out36663_)))) (declare (not safe)) (|gerbil/core$[1]#module-export-rename| _out36663_ - __tmp43120)) + __tmp43084)) _r36665_) (if (gx#export-set? _out36663_) (foldl _fold-e36660_ @@ -2345,30 +2345,30 @@ (declare (not safe)) (##cdr _e3668436706_)))) (if (gx#stx-pair/null? _tl3668236713_) - (let ((_g43121_ + (let ((_g43085_ (gx#syntax-split-splice _tl3668236713_ '0))) (begin - (let ((_g43122_ + (let ((_g43086_ (let () (declare (not safe)) - (if (##values? _g43121_) - (##vector-length _g43121_) + (if (##values? _g43085_) + (##vector-length _g43085_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g43122_ 2))) + (##fx= _g43086_ 2))) (error "Context expects 2 values" - _g43122_))) + _g43086_))) (let ((_target3668536716_ (let () (declare (not safe)) - (##vector-ref _g43121_ 0))) + (##vector-ref _g43085_ 0))) (_tl3668736719_ (let () (declare (not safe)) - (##vector-ref _g43121_ 1)))) + (##vector-ref _g43085_ 1)))) (if (gx#stx-null? _tl3668736719_) (letrec ((_loop3668836722_ (lambda (_hd3668636726_ diff --git a/src/bootstrap/gerbil/expander/common__0.scm b/src/bootstrap/gerbil/expander/common__0.scm index 5b9d834cd..1a6920ab8 100644 --- a/src/bootstrap/gerbil/expander/common__0.scm +++ b/src/bootstrap/gerbil/expander/common__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/common::timestamp 1696542249) + (define gerbil/expander/common::timestamp 1697117331) (begin (define gx#AST::t (let () diff --git a/src/bootstrap/gerbil/expander/compile__0.scm b/src/bootstrap/gerbil/expander/compile__0.scm index 6d2b24bb6..cb96480f2 100644 --- a/src/bootstrap/gerbil/expander/compile__0.scm +++ b/src/bootstrap/gerbil/expander/compile__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/compile::timestamp 1696542250) + (define gerbil/expander/compile::timestamp 1697117331) (begin (declare (not safe)) (define gx#core-compile-top-syntax diff --git a/src/bootstrap/gerbil/expander/core__0.scm b/src/bootstrap/gerbil/expander/core__0.scm index 8b5919b89..b0784d1d4 100644 --- a/src/bootstrap/gerbil/expander/core__0.scm +++ b/src/bootstrap/gerbil/expander/core__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/core::timestamp 1696542250) + (define gerbil/expander/core::timestamp 1697117331) (begin (declare (not safe)) (define gx#current-expander-context (make-parameter '#f)) diff --git a/src/bootstrap/gerbil/expander/module__0.scm b/src/bootstrap/gerbil/expander/module__0.scm index 57f8d6c10..ef14cc74c 100644 --- a/src/bootstrap/gerbil/expander/module__0.scm +++ b/src/bootstrap/gerbil/expander/module__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/module::timestamp 1696542250) + (define gerbil/expander/module::timestamp 1697117331) (begin (declare (not safe)) (define gx#module-import::t diff --git a/src/bootstrap/gerbil/expander/root__0.scm b/src/bootstrap/gerbil/expander/root__0.scm index b543f1128..9f1a90cad 100644 --- a/src/bootstrap/gerbil/expander/root__0.scm +++ b/src/bootstrap/gerbil/expander/root__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/root::timestamp 1696542250) + (define gerbil/expander/root::timestamp 1697117331) (begin (declare (not safe)) (define gx#*core-syntax-expanders* diff --git a/src/bootstrap/gerbil/expander/stx__0.scm b/src/bootstrap/gerbil/expander/stx__0.scm index 864fff0ad..8378d61f8 100644 --- a/src/bootstrap/gerbil/expander/stx__0.scm +++ b/src/bootstrap/gerbil/expander/stx__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/stx::timestamp 1696542250) + (define gerbil/expander/stx::timestamp 1697117331) (begin (declare (not safe)) (define gx#identifier-wrap::t @@ -491,7 +491,7 @@ (lambda (_template6692_ . _args6693_) (gx#datum->syntax__1 _template6692_ - (apply make-symbol (map gx#stx-e _args6693_)) + (apply make-symbol (gx#syntax->datum _args6693_)) (gx#stx-source _template6692_)))) (define gx#stx-identifier-marks (lambda (_stx6690_) diff --git a/src/bootstrap/gerbil/expander/stxcase__0.scm b/src/bootstrap/gerbil/expander/stxcase__0.scm index 1e9f8fef8..bbe7f7790 100644 --- a/src/bootstrap/gerbil/expander/stxcase__0.scm +++ b/src/bootstrap/gerbil/expander/stxcase__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/stxcase::timestamp 1696542250) + (define gerbil/expander/stxcase::timestamp 1697117331) (begin (define gx#syntax-pattern::t (let () diff --git a/src/bootstrap/gerbil/expander/top__0.scm b/src/bootstrap/gerbil/expander/top__0.scm index efbfb6288..0b187d44e 100644 --- a/src/bootstrap/gerbil/expander/top__0.scm +++ b/src/bootstrap/gerbil/expander/top__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/expander/top::timestamp 1696542250) + (define gerbil/expander/top::timestamp 1697117331) (begin (declare (not safe)) (define gx#core-expand-begin% diff --git a/src/bootstrap/gerbil/gambit.ssi b/src/bootstrap/gerbil/gambit.ssi index e245d5276..b6163a41c 100644 --- a/src/bootstrap/gerbil/gambit.ssi +++ b/src/bootstrap/gerbil/gambit.ssi @@ -91,6 +91,7 @@ namespace: #f (subs8vector-fill! subs8vector-fill!) (s8vector-concatenate s8vector-concatenate) (s8vector-copy s8vector-copy) + (s8vector-copy! s8vector-copy!) (s8vector-append s8vector-append) (subs8vector subs8vector) (subs8vector-move! subs8vector-move!) @@ -107,6 +108,7 @@ namespace: #f (subu8vector-fill! subu8vector-fill!) (u8vector-concatenate u8vector-concatenate) (u8vector-copy u8vector-copy) + (u8vector-copy! u8vector-copy!) (u8vector-append u8vector-append) (subu8vector subu8vector) (subu8vector-move! subu8vector-move!) @@ -123,6 +125,7 @@ namespace: #f (subs16vector-fill! subs16vector-fill!) (s16vector-concatenate s16vector-concatenate) (s16vector-copy s16vector-copy) + (s16vector-copy! s16vector-copy!) (s16vector-append s16vector-append) (subs16vector subs16vector) (subs16vector-move! subs16vector-move!) @@ -139,6 +142,7 @@ namespace: #f (subu16vector-fill! subu16vector-fill!) (u16vector-concatenate u16vector-concatenate) (u16vector-copy u16vector-copy) + (u16vector-copy! u16vector-copy!) (u16vector-append u16vector-append) (subu16vector subu16vector) (subu16vector-move! subu16vector-move!) @@ -155,6 +159,7 @@ namespace: #f (subs32vector-fill! subs32vector-fill!) (s32vector-concatenate s32vector-concatenate) (s32vector-copy s32vector-copy) + (s32vector-copy! s32vector-copy!) (s32vector-append s32vector-append) (subs32vector subs32vector) (subs32vector-move! subs32vector-move!) @@ -171,6 +176,7 @@ namespace: #f (subu32vector-fill! subu32vector-fill!) (u32vector-concatenate u32vector-concatenate) (u32vector-copy u32vector-copy) + (u32vector-copy! u32vector-copy!) (u32vector-append u32vector-append) (subu32vector subu32vector) (subu32vector-move! subu32vector-move!) @@ -187,6 +193,7 @@ namespace: #f (subs64vector-fill! subs64vector-fill!) (s64vector-concatenate s64vector-concatenate) (s64vector-copy s64vector-copy) + (s64vector-copy! s64vector-copy!) (s64vector-append s64vector-append) (subs64vector subs64vector) (subs64vector-move! subs64vector-move!) @@ -203,6 +210,7 @@ namespace: #f (subu64vector-fill! subu64vector-fill!) (u64vector-concatenate u64vector-concatenate) (u64vector-copy u64vector-copy) + (u64vector-copy! u64vector-copy!) (u64vector-append u64vector-append) (subu64vector subu64vector) (subu64vector-move! subu64vector-move!) @@ -219,6 +227,7 @@ namespace: #f (subf32vector-fill! subf32vector-fill!) (f32vector-concatenate f32vector-concatenate) (f32vector-copy f32vector-copy) + (f32vector-copy! f32vector-copy!) (f32vector-append f32vector-append) (subf32vector subf32vector) (subf32vector-move! subf32vector-move!) @@ -235,6 +244,7 @@ namespace: #f (subf64vector-fill! subf64vector-fill!) (f64vector-concatenate f64vector-concatenate) (f64vector-copy f64vector-copy) + (f64vector-copy! f64vector-copy!) (f64vector-append f64vector-append) (subf64vector subf64vector) (subf64vector-move! subf64vector-move!) diff --git a/src/bootstrap/gerbil/runtime/control__0.scm b/src/bootstrap/gerbil/runtime/control__0.scm index 10b2ff3a0..04a7a7510 100644 --- a/src/bootstrap/gerbil/runtime/control__0.scm +++ b/src/bootstrap/gerbil/runtime/control__0.scm @@ -1,277 +1,277 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/control::timestamp 1696542232) + (define gerbil/runtime/control::timestamp 1697117311) (begin (define make-promise - (lambda (_thunk9108_) - (let () (declare (not safe)) (##make-delay-promise _thunk9108_)))) + (lambda (_thunk9160_) + (let () (declare (not safe)) (##make-delay-promise _thunk9160_)))) (define call-with-parameters - (lambda (_thunk9056_ . _rest9057_) - (let* ((_rest90589069_ _rest9057_) - (_E90619073_ - (lambda () (error '"No clause matching" _rest90589069_)))) - (let ((_K90639089_ - (lambda (_rest9084_ _val9085_ _param9086_) - (let ((__tmp9120 - (if (let () (declare (not safe)) (null? _rest9084_)) - _thunk9056_ + (lambda (_thunk9108_ . _rest9109_) + (let* ((_rest91109121_ _rest9109_) + (_E91139125_ + (lambda () (error '"No clause matching" _rest91109121_)))) + (let ((_K91159141_ + (lambda (_rest9136_ _val9137_ _param9138_) + (let ((__tmp9172 + (if (let () (declare (not safe)) (null? _rest9136_)) + _thunk9108_ (lambda () (apply call-with-parameters - _thunk9056_ - _rest9084_))))) + _thunk9108_ + _rest9136_))))) (declare (not safe)) - (##parameterize1 _param9086_ _val9085_ __tmp9120)))) - (_K90629078_ (lambda () (_thunk9056_)))) - (let ((_try-match90609081_ + (##parameterize1 _param9138_ _val9137_ __tmp9172)))) + (_K91149130_ (lambda () (_thunk9108_)))) + (let ((_try-match91129133_ (lambda () - (if (let () (declare (not safe)) (##null? _rest90589069_)) - (let () (declare (not safe)) (_thunk9056_)) - (let () (declare (not safe)) (_E90619073_)))))) - (if (let () (declare (not safe)) (##pair? _rest90589069_)) - (let ((_tl90659094_ - (let () (declare (not safe)) (##cdr _rest90589069_))) - (_hd90649092_ - (let () (declare (not safe)) (##car _rest90589069_)))) - (if (let () (declare (not safe)) (##pair? _tl90659094_)) - (let ((_tl90679101_ + (if (let () (declare (not safe)) (##null? _rest91109121_)) + (let () (declare (not safe)) (_thunk9108_)) + (let () (declare (not safe)) (_E91139125_)))))) + (if (let () (declare (not safe)) (##pair? _rest91109121_)) + (let ((_tl91179146_ + (let () (declare (not safe)) (##cdr _rest91109121_))) + (_hd91169144_ + (let () (declare (not safe)) (##car _rest91109121_)))) + (if (let () (declare (not safe)) (##pair? _tl91179146_)) + (let ((_tl91199153_ (let () (declare (not safe)) - (##cdr _tl90659094_))) - (_hd90669099_ + (##cdr _tl91179146_))) + (_hd91189151_ (let () (declare (not safe)) - (##car _tl90659094_)))) - (let ((_param9097_ _hd90649092_) - (_val9104_ _hd90669099_) - (_rest9106_ _tl90679101_)) + (##car _tl91179146_)))) + (let ((_param9149_ _hd91169144_) + (_val9156_ _hd91189151_) + (_rest9158_ _tl91199153_)) (let () (declare (not safe)) - (_K90639089_ _rest9106_ _val9104_ _param9097_)))) - (let () (declare (not safe)) (_E90619073_)))) - (let () (declare (not safe)) (_try-match90609081_)))))))) + (_K91159141_ _rest9158_ _val9156_ _param9149_)))) + (let () (declare (not safe)) (_E91139125_)))) + (let () (declare (not safe)) (_try-match91129133_)))))))) (define with-unwind-protect - (lambda (_K9049_ _fini9050_) - (let ((_once9052_ '#f)) + (lambda (_K9101_ _fini9102_) + (let ((_once9104_ '#f)) (dynamic-wind (lambda () (declare (not interrupts-enabled)) - (if _once9052_ + (if _once9104_ (error '"Cannot re-enter unwind protected block") - (set! _once9052_ '#t))) - _K9049_ - _fini9050_)))) + (set! _once9104_ '#t))) + _K9101_ + _fini9102_)))) (define keyword-dispatch - (lambda (_kwt8946_ _K8947_ . _all-args8948_) - (if _kwt8946_ - (if (let () (declare (not safe)) (vector? _kwt8946_)) + (lambda (_kwt8998_ _K8999_ . _all-args9000_) + (if _kwt8998_ + (if (let () (declare (not safe)) (vector? _kwt8998_)) '#!void - (error '"expected vector" _kwt8946_)) + (error '"expected vector" _kwt8998_)) '#!void) - (if (let () (declare (not safe)) (procedure? _K8947_)) + (if (let () (declare (not safe)) (procedure? _K8999_)) '#!void - (error '"expected procedure" _K8947_)) - (let ((_keys8950_ + (error '"expected procedure" _K8999_)) + (let ((_keys9002_ (let () (declare (not safe)) (make-table 'test: eq? 'hash: keyword-hash)))) - (let _lp8952_ ((_rest8954_ _all-args8948_) - (_args8955_ '#f) - (_tail8956_ '#f)) - (let* ((_rest89578965_ _rest8954_) - (_else89598973_ + (let _lp9004_ ((_rest9006_ _all-args9000_) + (_args9007_ '#f) + (_tail9008_ '#f)) + (let* ((_rest90099017_ _rest9006_) + (_else90119025_ (lambda () - (if _args8955_ + (if _args9007_ (begin (let () (declare (not safe)) - (##set-cdr! _tail8956_ '())) - (let ((__tmp9121 + (##set-cdr! _tail9008_ '())) + (let ((__tmp9173 (let () (declare (not safe)) - (cons _keys8950_ _args8955_)))) + (cons _keys9002_ _args9007_)))) (declare (not safe)) - (##apply _K8947_ __tmp9121))) - (_K8947_ _keys8950_)))) - (_K89619037_ - (lambda (_hd-rest8976_ _hd8977_) - (if (keyword? _hd8977_) - (let* ((_hd-rest89788985_ _hd-rest8976_) - (_E89808989_ + (##apply _K8999_ __tmp9173))) + (_K8999_ _keys9002_)))) + (_K90139089_ + (lambda (_hd-rest9028_ _hd9029_) + (if (keyword? _hd9029_) + (let* ((_hd-rest90309037_ _hd-rest9028_) + (_E90329041_ (lambda () (error '"No clause matching" - _hd-rest89788985_))) - (_K89818997_ - (lambda (_rest8992_ _val8993_) - (if _kwt8946_ - (let ((_pos8995_ - (let ((__tmp9125 - (keyword-hash _hd8977_)) - (__tmp9124 + _hd-rest90309037_))) + (_K90339049_ + (lambda (_rest9044_ _val9045_) + (if _kwt8998_ + (let ((_pos9047_ + (let ((__tmp9177 + (keyword-hash _hd9029_)) + (__tmp9176 (let () (declare (not safe)) (##vector-length - _kwt8946_)))) + _kwt8998_)))) (declare (not safe)) (##fxmodulo - __tmp9125 - __tmp9124)))) - (if (let ((__tmp9126 + __tmp9177 + __tmp9176)))) + (if (let ((__tmp9178 (let () (declare (not safe)) (##vector-ref - _kwt8946_ - _pos8995_)))) + _kwt8998_ + _pos9047_)))) (declare (not safe)) - (eq? _hd8977_ __tmp9126)) + (eq? _hd9029_ __tmp9178)) '#!void (error '"Unexpected keyword argument" - _K8947_ - _hd8977_))) + _K8999_ + _hd9029_))) '#!void) (if (let () (declare (not safe)) - (hash-key? _keys8950_ _hd8977_)) + (hash-key? _keys9002_ _hd9029_)) (error '"Duplicate keyword argument" - _K8947_ - _hd8977_) + _K8999_ + _hd9029_) '#!void) (let () (declare (not safe)) (table-set! - _keys8950_ - _hd8977_ - _val8993_)) + _keys9002_ + _hd9029_ + _val9045_)) (let () (declare (not safe)) - (_lp8952_ - _rest8992_ - _args8955_ - _tail8956_))))) + (_lp9004_ + _rest9044_ + _args9007_ + _tail9008_))))) (if (let () (declare (not safe)) - (##pair? _hd-rest89788985_)) - (let ((_hd89829000_ + (##pair? _hd-rest90309037_)) + (let ((_hd90349052_ (let () (declare (not safe)) - (##car _hd-rest89788985_))) - (_tl89839002_ + (##car _hd-rest90309037_))) + (_tl90359054_ (let () (declare (not safe)) - (##cdr _hd-rest89788985_)))) - (let* ((_val9005_ _hd89829000_) - (_rest9007_ _tl89839002_)) + (##cdr _hd-rest90309037_)))) + (let* ((_val9057_ _hd90349052_) + (_rest9059_ _tl90359054_)) (declare (not safe)) - (_K89818997_ _rest9007_ _val9005_))) - (let () (declare (not safe)) (_E89808989_)))) + (_K90339049_ _rest9059_ _val9057_))) + (let () (declare (not safe)) (_E90329041_)))) (if (let () (declare (not safe)) - (eq? _hd8977_ '#!key)) - (let* ((_hd-rest90089015_ _hd-rest8976_) - (_E90109019_ + (eq? _hd9029_ '#!key)) + (let* ((_hd-rest90609067_ _hd-rest9028_) + (_E90629071_ (lambda () (error '"No clause matching" - _hd-rest90089015_))) - (_K90119025_ - (lambda (_rest9022_ _val9023_) - (if _args8955_ + _hd-rest90609067_))) + (_K90639077_ + (lambda (_rest9074_ _val9075_) + (if _args9007_ (begin (let () (declare (not safe)) (##set-cdr! - _tail8956_ - _hd-rest8976_)) + _tail9008_ + _hd-rest9028_)) (let () (declare (not safe)) - (_lp8952_ - _rest9022_ - _args8955_ - _hd-rest8976_))) + (_lp9004_ + _rest9074_ + _args9007_ + _hd-rest9028_))) (let () (declare (not safe)) - (_lp8952_ - _rest9022_ - _hd-rest8976_ - _hd-rest8976_)))))) + (_lp9004_ + _rest9074_ + _hd-rest9028_ + _hd-rest9028_)))))) (if (let () (declare (not safe)) - (##pair? _hd-rest90089015_)) - (let ((_hd90129028_ + (##pair? _hd-rest90609067_)) + (let ((_hd90649080_ (let () (declare (not safe)) - (##car _hd-rest90089015_))) - (_tl90139030_ + (##car _hd-rest90609067_))) + (_tl90659082_ (let () (declare (not safe)) - (##cdr _hd-rest90089015_)))) - (let* ((_val9033_ _hd90129028_) - (_rest9035_ _tl90139030_)) + (##cdr _hd-rest90609067_)))) + (let* ((_val9085_ _hd90649080_) + (_rest9087_ _tl90659082_)) (declare (not safe)) - (_K90119025_ _rest9035_ _val9033_))) + (_K90639077_ _rest9087_ _val9085_))) (let () (declare (not safe)) - (_E90109019_)))) + (_E90629071_)))) (if (let () (declare (not safe)) - (eq? _hd8977_ '#!rest)) - (if _args8955_ + (eq? _hd9029_ '#!rest)) + (if _args9007_ (begin (let () (declare (not safe)) (##set-cdr! - _tail8956_ - _hd-rest8976_)) - (let ((__tmp9123 + _tail9008_ + _hd-rest9028_)) + (let ((__tmp9175 (let () (declare (not safe)) - (cons _keys8950_ - _args8955_)))) + (cons _keys9002_ + _args9007_)))) (declare (not safe)) - (##apply _K8947_ __tmp9123))) - (let ((__tmp9122 + (##apply _K8999_ __tmp9175))) + (let ((__tmp9174 (let () (declare (not safe)) - (cons _keys8950_ - _hd-rest8976_)))) + (cons _keys9002_ + _hd-rest9028_)))) (declare (not safe)) - (##apply _K8947_ __tmp9122))) - (if _args8955_ + (##apply _K8999_ __tmp9174))) + (if _args9007_ (begin (let () (declare (not safe)) - (##set-cdr! _tail8956_ _rest8954_)) + (##set-cdr! _tail9008_ _rest9006_)) (let () (declare (not safe)) - (_lp8952_ - _hd-rest8976_ - _args8955_ - _rest8954_))) + (_lp9004_ + _hd-rest9028_ + _args9007_ + _rest9006_))) (let () (declare (not safe)) - (_lp8952_ - _hd-rest8976_ - _rest8954_ - _rest8954_))))))))) - (if (let () (declare (not safe)) (##pair? _rest89578965_)) - (let ((_hd89629040_ - (let () (declare (not safe)) (##car _rest89578965_))) - (_tl89639042_ - (let () (declare (not safe)) (##cdr _rest89578965_)))) - (let* ((_hd9045_ _hd89629040_) - (_hd-rest9047_ _tl89639042_)) + (_lp9004_ + _hd-rest9028_ + _rest9006_ + _rest9006_))))))))) + (if (let () (declare (not safe)) (##pair? _rest90099017_)) + (let ((_hd90149092_ + (let () (declare (not safe)) (##car _rest90099017_))) + (_tl90159094_ + (let () (declare (not safe)) (##cdr _rest90099017_)))) + (let* ((_hd9097_ _hd90149092_) + (_hd-rest9099_ _tl90159094_)) (declare (not safe)) - (_K89619037_ _hd-rest9047_ _hd9045_))) - (let () (declare (not safe)) (_else89598973_)))))))) + (_K90139089_ _hd-rest9099_ _hd9097_))) + (let () (declare (not safe)) (_else90119025_)))))))) (define keyword-rest - (lambda (_kwt8937_ . _drop8938_) + (lambda (_kwt8989_ . _drop8990_) (for-each - (lambda (_kw8940_) - (let () (declare (not safe)) (table-set! _kwt8937_ _kw8940_))) - _drop8938_) - (let ((__tmp9127 - (lambda (_k8942_ _v8943_ _r8944_) - (let ((__tmp9128 - (let () (declare (not safe)) (cons _v8943_ _r8944_)))) + (lambda (_kw8992_) + (let () (declare (not safe)) (table-set! _kwt8989_ _kw8992_))) + _drop8990_) + (let ((__tmp9179 + (lambda (_k8994_ _v8995_ _r8996_) + (let ((__tmp9180 + (let () (declare (not safe)) (cons _v8995_ _r8996_)))) (declare (not safe)) - (cons _k8942_ __tmp9128))))) + (cons _k8994_ __tmp9180))))) (declare (not safe)) - (hash-fold __tmp9127 '() _kwt8937_)))))) + (hash-fold __tmp9179 '() _kwt8989_)))))) diff --git a/src/bootstrap/gerbil/runtime/error__0.scm b/src/bootstrap/gerbil/runtime/error__0.scm index 59a5d357d..7beeda801 100644 --- a/src/bootstrap/gerbil/runtime/error__0.scm +++ b/src/bootstrap/gerbil/runtime/error__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/error::timestamp 1696542233) + (define gerbil/runtime/error::timestamp 1697117311) (begin (define Exception::t (let () @@ -15,8 +15,8 @@ (define Exception? (let () (declare (not safe)) (make-class-predicate Exception::t))) (define make-Exception - (lambda _$args12481_ - (apply make-class-instance Exception::t _$args12481_))) + (lambda _$args12533_ + (apply make-class-instance Exception::t _$args12533_))) (define StackTrace::t (let () (declare (not safe)) @@ -30,8 +30,8 @@ (define StackTrace? (let () (declare (not safe)) (make-class-predicate StackTrace::t))) (define make-StackTrace - (lambda _$args12478_ - (apply make-class-instance StackTrace::t _$args12478_))) + (lambda _$args12530_ + (apply make-class-instance StackTrace::t _$args12530_))) (define StackTrace-continuation (let () (declare (not safe)) @@ -49,15 +49,15 @@ (declare (not safe)) (make-class-slot-unchecked-mutator StackTrace::t 'continuation))) (define Error::t - (let ((__tmp12501 - (let ((__tmp12502 + (let ((__tmp12553 + (let ((__tmp12554 (let () (declare (not safe)) (cons Exception::t '())))) (declare (not safe)) - (cons StackTrace::t __tmp12502)))) + (cons StackTrace::t __tmp12554)))) (declare (not safe)) (make-class-type 'gerbil/runtime/error#Error::t - __tmp12501 + __tmp12553 '(message irritants where) 'Error '((transparent: . #t)) @@ -65,7 +65,7 @@ (define Error? (let () (declare (not safe)) (make-class-predicate Error::t))) (define make-Error - (lambda _$args12475_ (apply make-class-instance Error::t _$args12475_))) + (lambda _$args12527_ (apply make-class-instance Error::t _$args12527_))) (define Error-message (let () (declare (not safe)) @@ -111,15 +111,15 @@ (declare (not safe)) (make-class-slot-unchecked-mutator Error::t 'where))) (define RuntimeException::t - (let ((__tmp12503 - (let ((__tmp12504 + (let ((__tmp12555 + (let ((__tmp12556 (let () (declare (not safe)) (cons Exception::t '())))) (declare (not safe)) - (cons StackTrace::t __tmp12504)))) + (cons StackTrace::t __tmp12556)))) (declare (not safe)) (make-class-type 'gerbil/runtime/error#RuntimeException::t - __tmp12503 + __tmp12555 '(exception) 'RuntimeException '((transparent: . #t)) @@ -127,8 +127,8 @@ (define RuntimeException? (let () (declare (not safe)) (make-class-predicate RuntimeException::t))) (define make-RuntimeException - (lambda _$args12472_ - (apply make-class-instance RuntimeException::t _$args12472_))) + (lambda _$args12524_ + (apply make-class-instance RuntimeException::t _$args12524_))) (define RuntimeException-exception (let () (declare (not safe)) @@ -146,54 +146,54 @@ (declare (not safe)) (make-class-slot-unchecked-mutator RuntimeException::t 'exception))) (define gerbil-exception-handler-hook - (lambda (_exn12467_ _continue12468_) - (let ((_exn12470_ + (lambda (_exn12519_ _continue12520_) + (let ((_exn12522_ (let () (declare (not safe)) - (wrap-runtime-exception _exn12467_)))) + (wrap-runtime-exception _exn12519_)))) (declare (not safe)) - (##repl-exception-handler-hook _exn12470_ _continue12468_)))) + (##repl-exception-handler-hook _exn12522_ _continue12520_)))) (let () (declare (not safe)) (##primordial-exception-handler-hook-set! gerbil-exception-handler-hook)) (define raise - (lambda (_exn12463_) + (lambda (_exn12515_) (if (let () (declare (not safe)) - (class-instance? StackTrace::t _exn12463_)) + (class-instance? StackTrace::t _exn12515_)) (if (let () (declare (not safe)) - (slot-ref _exn12463_ 'continuation)) + (slot-ref _exn12515_ 'continuation)) '#!void - (let ((__tmp12505 - (lambda (_cont12465_) + (let ((__tmp12557 + (lambda (_cont12517_) (let () (declare (not safe)) (unchecked-slot-set! - _exn12463_ + _exn12515_ 'continuation - _cont12465_))))) + _cont12517_))))) (declare (not safe)) - (##continuation-capture __tmp12505))) + (##continuation-capture __tmp12557))) '#!void) - (let () (declare (not safe)) (##raise _exn12463_)))) + (let () (declare (not safe)) (##raise _exn12515_)))) (define error - (lambda (_message12460_ . _irritants12461_) + (lambda (_message12512_ . _irritants12513_) (raise (let () (declare (not safe)) (make-class-instance Error::t - _message12460_ + _message12512_ 'irritants: - _irritants12461_))))) + _irritants12513_))))) (define with-exception-handler - (lambda (_handler12453_ _thunk12454_) - (if (let () (declare (not safe)) (procedure? _handler12453_)) + (lambda (_handler12505_ _thunk12506_) + (if (let () (declare (not safe)) (procedure? _handler12505_)) '#!void - (raise (let ((__tmp12506 + (raise (let ((__tmp12558 (let () (declare (not safe)) - (cons _handler12453_ '())))) + (cons _handler12505_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -201,13 +201,13 @@ 'where: 'with-exception-handler 'irritants: - __tmp12506)))) - (if (let () (declare (not safe)) (procedure? _thunk12454_)) + __tmp12558)))) + (if (let () (declare (not safe)) (procedure? _thunk12506_)) '#!void - (raise (let ((__tmp12507 + (raise (let ((__tmp12559 (let () (declare (not safe)) - (cons _thunk12454_ '())))) + (cons _thunk12506_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -215,24 +215,24 @@ 'where: 'with-exception-hander 'irritants: - __tmp12507)))) - (let ((__tmp12508 - (lambda (_exn12456_) - (let ((_exn12458_ + __tmp12559)))) + (let ((__tmp12560 + (lambda (_exn12508_) + (let ((_exn12510_ (let () (declare (not safe)) - (wrap-runtime-exception _exn12456_)))) - (_handler12453_ _exn12458_))))) + (wrap-runtime-exception _exn12508_)))) + (_handler12505_ _exn12510_))))) (declare (not safe)) - (##with-exception-handler __tmp12508 _thunk12454_)))) + (##with-exception-handler __tmp12560 _thunk12506_)))) (define with-catch - (lambda (_handler12446_ _thunk12447_) - (if (let () (declare (not safe)) (procedure? _handler12446_)) + (lambda (_handler12498_ _thunk12499_) + (if (let () (declare (not safe)) (procedure? _handler12498_)) '#!void - (raise (let ((__tmp12509 + (raise (let ((__tmp12561 (let () (declare (not safe)) - (cons _handler12446_ '())))) + (cons _handler12498_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -240,13 +240,13 @@ 'where: 'with-exception-handler 'irritants: - __tmp12509)))) - (if (let () (declare (not safe)) (procedure? _thunk12447_)) + __tmp12561)))) + (if (let () (declare (not safe)) (procedure? _thunk12499_)) '#!void - (raise (let ((__tmp12510 + (raise (let ((__tmp12562 (let () (declare (not safe)) - (cons _thunk12447_ '())))) + (cons _thunk12499_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -254,159 +254,159 @@ 'where: 'with-exception-hander 'irritants: - __tmp12510)))) - (let ((__tmp12511 - (lambda (_cont12449_) + __tmp12562)))) + (let ((__tmp12563 + (lambda (_cont12501_) (with-exception-handler - (lambda (_exn12451_) + (lambda (_exn12503_) (let () (declare (not safe)) (##continuation-graft - _cont12449_ - _handler12446_ - _exn12451_))) - _thunk12447_)))) + _cont12501_ + _handler12498_ + _exn12503_))) + _thunk12499_)))) (declare (not safe)) - (##continuation-capture __tmp12511)))) + (##continuation-capture __tmp12563)))) (define with-exception-catcher with-catch) (define wrap-runtime-exception - (lambda (_exn12437_) - (if (or (heap-overflow-exception? _exn12437_) - (stack-overflow-exception? _exn12437_)) - _exn12437_ + (lambda (_exn12489_) + (if (or (heap-overflow-exception? _exn12489_) + (stack-overflow-exception? _exn12489_)) + _exn12489_ (if (let () (declare (not safe)) - (class-instance? Exception::t _exn12437_)) - _exn12437_ - (if (macro-exception? _exn12437_) - (let ((_rte12442_ + (class-instance? Exception::t _exn12489_)) + _exn12489_ + (if (macro-exception? _exn12489_) + (let ((_rte12494_ (let () (declare (not safe)) (make-class-instance RuntimeException::t 'exception: - _exn12437_)))) - (let ((__tmp12512 - (lambda (_cont12444_) - (let ((__tmp12513 + _exn12489_)))) + (let ((__tmp12564 + (lambda (_cont12496_) + (let ((__tmp12565 (let () (declare (not safe)) - (##continuation-next _cont12444_)))) + (##continuation-next _cont12496_)))) (declare (not safe)) (unchecked-slot-set! - _rte12442_ + _rte12494_ 'continuation - __tmp12513))))) + __tmp12565))))) (declare (not safe)) - (##continuation-capture __tmp12512)) - _rte12442_) - _exn12437_))))) + (##continuation-capture __tmp12564)) + _rte12494_) + _exn12489_))))) (define exception? Exception?) (define error? Error?) (define error-object? - (lambda (_obj12432_) - (let ((_$e12434_ + (lambda (_obj12484_) + (let ((_$e12486_ (let () (declare (not safe)) - (class-instance? Error::t _obj12432_)))) - (if _$e12434_ _$e12434_ (error-exception? _obj12432_))))) + (class-instance? Error::t _obj12484_)))) + (if _$e12486_ _$e12486_ (error-exception? _obj12484_))))) (define error-message - (lambda (_obj12430_) - (if (let () (declare (not safe)) (class-instance? Error::t _obj12430_)) - (let () (declare (not safe)) (slot-ref _obj12430_ 'message)) - (if (error-exception? _obj12430_) - (error-exception-message _obj12430_) + (lambda (_obj12482_) + (if (let () (declare (not safe)) (class-instance? Error::t _obj12482_)) + (let () (declare (not safe)) (slot-ref _obj12482_ 'message)) + (if (error-exception? _obj12482_) + (error-exception-message _obj12482_) '#f)))) (define error-irritants - (lambda (_obj12428_) - (if (let () (declare (not safe)) (class-instance? Error::t _obj12428_)) - (let () (declare (not safe)) (slot-ref _obj12428_ 'irritants)) - (if (error-exception? _obj12428_) - (error-exception-parameters _obj12428_) + (lambda (_obj12480_) + (if (let () (declare (not safe)) (class-instance? Error::t _obj12480_)) + (let () (declare (not safe)) (slot-ref _obj12480_ 'irritants)) + (if (error-exception? _obj12480_) + (error-exception-parameters _obj12480_) '#f)))) (define error-trace - (lambda (_obj12426_) - (if (let () (declare (not safe)) (class-instance? Error::t _obj12426_)) - (let () (declare (not safe)) (slot-ref _obj12426_ 'where)) + (lambda (_obj12478_) + (if (let () (declare (not safe)) (class-instance? Error::t _obj12478_)) + (let () (declare (not safe)) (slot-ref _obj12478_ 'where)) '#f))) (define display-exception__% - (lambda (_e12408_ _port12409_) - (let ((_$e12411_ + (lambda (_e12460_ _port12461_) + (let ((_$e12463_ (let () (declare (not safe)) - (method-ref _e12408_ 'display-exception)))) - (if _$e12411_ - ((lambda (_f12414_) (_f12414_ _e12408_ _port12409_)) _$e12411_) + (method-ref _e12460_ 'display-exception)))) + (if _$e12463_ + ((lambda (_f12466_) (_f12466_ _e12460_ _port12461_)) _$e12463_) (let () (declare (not safe)) - (##default-display-exception _e12408_ _port12409_)))))) + (##default-display-exception _e12460_ _port12461_)))))) (define display-exception__0 - (lambda (_e12419_) - (let ((_port12421_ (current-error-port))) + (lambda (_e12471_) + (let ((_port12473_ (current-error-port))) (declare (not safe)) - (display-exception__% _e12419_ _port12421_)))) + (display-exception__% _e12471_ _port12473_)))) (define display-exception - (lambda _g12515_ - (let ((_g12514_ (let () (declare (not safe)) (##length _g12515_)))) - (cond ((let () (declare (not safe)) (##fx= _g12514_ 1)) - (apply (lambda (_e12419_) + (lambda _g12567_ + (let ((_g12566_ (let () (declare (not safe)) (##length _g12567_)))) + (cond ((let () (declare (not safe)) (##fx= _g12566_ 1)) + (apply (lambda (_e12471_) (let () (declare (not safe)) - (display-exception__0 _e12419_))) - _g12515_)) - ((let () (declare (not safe)) (##fx= _g12514_ 2)) - (apply (lambda (_e12423_ _port12424_) + (display-exception__0 _e12471_))) + _g12567_)) + ((let () (declare (not safe)) (##fx= _g12566_ 2)) + (apply (lambda (_e12475_ _port12476_) (let () (declare (not safe)) - (display-exception__% _e12423_ _port12424_))) - _g12515_)) + (display-exception__% _e12475_ _port12476_))) + _g12567_)) (else (##raise-wrong-number-of-arguments-exception display-exception - _g12515_)))))) + _g12567_)))))) (let () (declare (not safe)) (##display-exception-hook-set! display-exception)) (define Error:::init! - (lambda (_self12397_ _message12398_ . _rest12399_) - (let ((_message12405_ - (if (let () (declare (not safe)) (string? _message12398_)) - _message12398_ + (lambda (_self12449_ _message12450_ . _rest12451_) + (let ((_message12457_ + (if (let () (declare (not safe)) (string? _message12450_)) + _message12450_ (call-with-output-string '"" - (lambda (_g1240012402_) - (display _message12398_ _g1240012402_)))))) + (lambda (_g1245212454_) + (display _message12450_ _g1245212454_)))))) (let () (declare (not safe)) - (unchecked-slot-set! _self12397_ 'message _message12405_)) - (apply class-instance-init! _self12397_ _rest12399_)))) + (unchecked-slot-set! _self12449_ 'message _message12457_)) + (apply class-instance-init! _self12449_ _rest12451_)))) (define Error:::init!::specialize - (lambda (__t12483) - (let ((__message12484 - (let ((__tmp12485 + (lambda (__t12535) + (let ((__message12536 + (let ((__tmp12537 (let () (declare (not safe)) - (class-slot-offset __t12483 'message)))) - (if __tmp12485 - (let () (declare (not safe)) (##fx+ __tmp12485 '1)) + (class-slot-offset __t12535 'message)))) + (if __tmp12537 + (let () (declare (not safe)) (##fx+ __tmp12537 '1)) (error '"Unknown slot" 'message))))) - (lambda (_self12397_ _message12398_ . _rest12399_) - (let ((_message12405_ - (if (let () (declare (not safe)) (string? _message12398_)) - _message12398_ + (lambda (_self12449_ _message12450_ . _rest12451_) + (let ((_message12457_ + (if (let () (declare (not safe)) (string? _message12450_)) + _message12450_ (call-with-output-string '"" - (lambda (_g1240012402_) - (display _message12398_ _g1240012402_)))))) + (lambda (_g1245212454_) + (display _message12450_ _g1245212454_)))))) (let () (declare (not safe)) (##unchecked-structure-set! - _self12397_ - _message12405_ - __message12484 - __t12483 + _self12449_ + _message12457_ + __message12536 + __t12535 '#f)) - (apply class-instance-init! _self12397_ _rest12399_)))))) + (apply class-instance-init! _self12449_ _rest12451_)))))) (let () (declare (not safe)) (bind-specializer! Error:::init! Error:::init!::specialize)) @@ -414,194 +414,194 @@ (declare (not safe)) (bind-method! Error::t ':init! Error:::init! '#f)) (define Error::display-exception - (lambda (_self12255_ _port12256_) - (let ((_tmp-port12258_ (open-output-string)) - (_display-error-newline12259_ - (> (output-port-column _port12256_) '0))) - (let () (declare (not safe)) (fix-port-width! _tmp-port12258_)) - (let ((__tmp12516 + (lambda (_self12307_ _port12308_) + (let ((_tmp-port12310_ (open-output-string)) + (_display-error-newline12311_ + (> (output-port-column _port12308_) '0))) + (let () (declare (not safe)) (fix-port-width! _tmp-port12310_)) + (let ((__tmp12568 (lambda () - (if _display-error-newline12259_ (newline) '#!void) + (if _display-error-newline12311_ (newline) '#!void) (display '"*** ERROR IN ") - (let ((_$e12262_ + (let ((_$e12314_ (let () (declare (not safe)) - (slot-ref _self12255_ 'where)))) - (if _$e12262_ (display _$e12262_) (display '"?"))) - (let ((__tmp12517 - (let ((__tmp12518 + (slot-ref _self12307_ 'where)))) + (if _$e12314_ (display _$e12314_) (display '"?"))) + (let ((__tmp12569 + (let ((__tmp12570 (let () (declare (not safe)) - (object-type _self12255_)))) + (object-type _self12307_)))) (declare (not safe)) - (##type-name __tmp12518)))) + (##type-name __tmp12570)))) (declare (not safe)) - (display* '" [" __tmp12517 '"]: ")) - (let ((__tmp12519 + (display* '" [" __tmp12569 '"]: ")) + (let ((__tmp12571 (let () (declare (not safe)) - (slot-ref _self12255_ 'message)))) + (slot-ref _self12307_ 'message)))) (declare (not safe)) - (displayln __tmp12519)) - (let ((_irritants12265_ + (displayln __tmp12571)) + (let ((_irritants12317_ (let () (declare (not safe)) - (slot-ref _self12255_ 'irritants)))) - (if (let () (declare (not safe)) (null? _irritants12265_)) + (slot-ref _self12307_ 'irritants)))) + (if (let () (declare (not safe)) (null? _irritants12317_)) '#!void (begin (display '"--- irritants: ") (for-each - (lambda (_obj12267_) - (write _obj12267_) + (lambda (_obj12319_) + (write _obj12319_) (write-char '#\space)) - _irritants12265_) + _irritants12317_) (newline)))) (if (let () (declare (not safe)) - (class-instance? StackTrace::t _self12255_)) - (let ((_cont1226812270_ + (class-instance? StackTrace::t _self12307_)) + (let ((_cont1232012322_ (let () (declare (not safe)) - (slot-ref _self12255_ 'continuation)))) - (if _cont1226812270_ - (let ((_cont12273_ _cont1226812270_)) + (slot-ref _self12307_ 'continuation)))) + (if _cont1232012322_ + (let ((_cont12325_ _cont1232012322_)) (let () (declare (not safe)) (displayln '"--- continuation backtrace:")) - (display-continuation-backtrace _cont12273_)) + (display-continuation-backtrace _cont12325_)) '#f)) '#!void)))) (declare (not safe)) (call-with-parameters - __tmp12516 + __tmp12568 current-output-port - _tmp-port12258_)) - (let ((__tmp12520 (get-output-string _tmp-port12258_))) + _tmp-port12310_)) + (let ((__tmp12572 (get-output-string _tmp-port12310_))) (declare (not safe)) - (##write-string __tmp12520 _port12256_))))) + (##write-string __tmp12572 _port12308_))))) (define Error::display-exception::specialize - (lambda (__t12486) - (let ((__message12487 - (let ((__tmp12491 + (lambda (__t12538) + (let ((__irritants12539 + (let ((__tmp12543 (let () (declare (not safe)) - (class-slot-offset __t12486 'message)))) - (if __tmp12491 - (let () (declare (not safe)) (##fx+ __tmp12491 '1)) + (class-slot-offset __t12538 'irritants)))) + (if __tmp12543 + (let () (declare (not safe)) (##fx+ __tmp12543 '1)) + (error '"Unknown slot" 'irritants)))) + (__message12540 + (let ((__tmp12544 + (let () + (declare (not safe)) + (class-slot-offset __t12538 'message)))) + (if __tmp12544 + (let () (declare (not safe)) (##fx+ __tmp12544 '1)) (error '"Unknown slot" 'message)))) - (__where12488 - (let ((__tmp12492 + (__where12541 + (let ((__tmp12545 (let () (declare (not safe)) - (class-slot-offset __t12486 'where)))) - (if __tmp12492 - (let () (declare (not safe)) (##fx+ __tmp12492 '1)) + (class-slot-offset __t12538 'where)))) + (if __tmp12545 + (let () (declare (not safe)) (##fx+ __tmp12545 '1)) (error '"Unknown slot" 'where)))) - (__continuation12489 - (let ((__tmp12493 + (__continuation12542 + (let ((__tmp12546 (let () (declare (not safe)) - (class-slot-offset __t12486 'continuation)))) - (if __tmp12493 - (let () (declare (not safe)) (##fx+ __tmp12493 '1)) + (class-slot-offset __t12538 'continuation)))) + (if __tmp12546 + (let () (declare (not safe)) (##fx+ __tmp12546 '1)) (error '"Unknown slot" 'continuation)))) - (__irritants12490 - (let ((__tmp12494 - (let () - (declare (not safe)) - (class-slot-offset __t12486 'irritants)))) - (if __tmp12494 - (let () (declare (not safe)) (##fx+ __tmp12494 '1)) - (error '"Unknown slot" 'irritants)))) - (__class12495 + (__class12547 (let () (declare (not safe)) - (class-subtype? StackTrace::t __t12486)))) - (lambda (_self12255_ _port12256_) - (let ((_tmp-port12258_ (open-output-string)) - (_display-error-newline12259_ - (> (output-port-column _port12256_) '0))) - (let () (declare (not safe)) (fix-port-width! _tmp-port12258_)) - (let ((__tmp12521 + (class-subtype? StackTrace::t __t12538)))) + (lambda (_self12307_ _port12308_) + (let ((_tmp-port12310_ (open-output-string)) + (_display-error-newline12311_ + (> (output-port-column _port12308_) '0))) + (let () (declare (not safe)) (fix-port-width! _tmp-port12310_)) + (let ((__tmp12573 (lambda () - (if _display-error-newline12259_ (newline) '#!void) + (if _display-error-newline12311_ (newline) '#!void) (display '"*** ERROR IN ") - (let ((_$e12262_ + (let ((_$e12314_ (let () (declare (not safe)) (##unchecked-structure-ref - _self12255_ - __where12488 - __t12486 + _self12307_ + __where12541 + __t12538 '#f)))) - (if _$e12262_ (display _$e12262_) (display '"?"))) - (let ((__tmp12522 - (let ((__tmp12523 + (if _$e12314_ (display _$e12314_) (display '"?"))) + (let ((__tmp12574 + (let ((__tmp12575 (let () (declare (not safe)) - (object-type _self12255_)))) + (object-type _self12307_)))) (declare (not safe)) - (##type-name __tmp12523)))) + (##type-name __tmp12575)))) (declare (not safe)) - (display* '" [" __tmp12522 '"]: ")) - (let ((__tmp12524 + (display* '" [" __tmp12574 '"]: ")) + (let ((__tmp12576 (let () (declare (not safe)) (##unchecked-structure-ref - _self12255_ - __message12487 - __t12486 + _self12307_ + __message12540 + __t12538 '#f)))) (declare (not safe)) - (displayln __tmp12524)) - (let ((_irritants12265_ + (displayln __tmp12576)) + (let ((_irritants12317_ (let () (declare (not safe)) (##unchecked-structure-ref - _self12255_ - __irritants12490 - __t12486 + _self12307_ + __irritants12539 + __t12538 '#f)))) (if (let () (declare (not safe)) - (null? _irritants12265_)) + (null? _irritants12317_)) '#!void (begin (display '"--- irritants: ") (for-each - (lambda (_obj12267_) - (write _obj12267_) + (lambda (_obj12319_) + (write _obj12319_) (write-char '#\space)) - _irritants12265_) + _irritants12317_) (newline)))) - (if __class12495 - (let ((_cont1226812270_ + (if __class12547 + (let ((_cont1232012322_ (let () (declare (not safe)) (##unchecked-structure-ref - _self12255_ - __continuation12489 - __t12486 + _self12307_ + __continuation12542 + __t12538 '#f)))) - (if _cont1226812270_ - (let ((_cont12273_ _cont1226812270_)) + (if _cont1232012322_ + (let ((_cont12325_ _cont1232012322_)) (let () (declare (not safe)) (displayln '"--- continuation backtrace:")) (display-continuation-backtrace - _cont12273_)) + _cont12325_)) '#f)) '#!void)))) (declare (not safe)) (call-with-parameters - __tmp12521 + __tmp12573 current-output-port - _tmp-port12258_)) - (let ((__tmp12525 (get-output-string _tmp-port12258_))) + _tmp-port12310_)) + (let ((__tmp12577 (get-output-string _tmp-port12310_))) (declare (not safe)) - (##write-string __tmp12525 _port12256_))))))) + (##write-string __tmp12577 _port12308_))))))) (let () (declare (not safe)) (bind-specializer! @@ -611,78 +611,78 @@ (declare (not safe)) (bind-method! Error::t 'display-exception Error::display-exception '#t)) (define RuntimeException::display-exception - (lambda (_self12122_ _port12123_) - (let ((_tmp-port12125_ (open-output-string))) - (let () (declare (not safe)) (fix-port-width! _tmp-port12125_)) - (let ((__tmp12526 + (lambda (_self12174_ _port12175_) + (let ((_tmp-port12177_ (open-output-string))) + (let () (declare (not safe)) (fix-port-width! _tmp-port12177_)) + (let ((__tmp12578 (let () (declare (not safe)) - (slot-ref _self12122_ 'exception)))) + (slot-ref _self12174_ 'exception)))) (declare (not safe)) - (##default-display-exception __tmp12526 _tmp-port12125_)) - (let ((_cont1212612128_ + (##default-display-exception __tmp12578 _tmp-port12177_)) + (let ((_cont1217812180_ (let () (declare (not safe)) - (slot-ref _self12122_ 'continuation)))) - (if _cont1212612128_ - (let ((_cont12131_ _cont1212612128_)) - (display '"--- continuation backtrace:" _tmp-port12125_) - (newline _tmp-port12125_) - (display-continuation-backtrace _cont12131_ _tmp-port12125_)) + (slot-ref _self12174_ 'continuation)))) + (if _cont1217812180_ + (let ((_cont12183_ _cont1217812180_)) + (display '"--- continuation backtrace:" _tmp-port12177_) + (newline _tmp-port12177_) + (display-continuation-backtrace _cont12183_ _tmp-port12177_)) '#f)) - (let ((__tmp12527 (get-output-string _tmp-port12125_))) + (let ((__tmp12579 (get-output-string _tmp-port12177_))) (declare (not safe)) - (##write-string __tmp12527 _port12123_))))) + (##write-string __tmp12579 _port12175_))))) (define RuntimeException::display-exception::specialize - (lambda (__t12496) - (let ((__continuation12497 - (let ((__tmp12499 + (lambda (__t12548) + (let ((__exception12549 + (let ((__tmp12551 (let () (declare (not safe)) - (class-slot-offset __t12496 'continuation)))) - (if __tmp12499 - (let () (declare (not safe)) (##fx+ __tmp12499 '1)) - (error '"Unknown slot" 'continuation)))) - (__exception12498 - (let ((__tmp12500 + (class-slot-offset __t12548 'exception)))) + (if __tmp12551 + (let () (declare (not safe)) (##fx+ __tmp12551 '1)) + (error '"Unknown slot" 'exception)))) + (__continuation12550 + (let ((__tmp12552 (let () (declare (not safe)) - (class-slot-offset __t12496 'exception)))) - (if __tmp12500 - (let () (declare (not safe)) (##fx+ __tmp12500 '1)) - (error '"Unknown slot" 'exception))))) - (lambda (_self12122_ _port12123_) - (let ((_tmp-port12125_ (open-output-string))) - (let () (declare (not safe)) (fix-port-width! _tmp-port12125_)) - (let ((__tmp12528 + (class-slot-offset __t12548 'continuation)))) + (if __tmp12552 + (let () (declare (not safe)) (##fx+ __tmp12552 '1)) + (error '"Unknown slot" 'continuation))))) + (lambda (_self12174_ _port12175_) + (let ((_tmp-port12177_ (open-output-string))) + (let () (declare (not safe)) (fix-port-width! _tmp-port12177_)) + (let ((__tmp12580 (let () (declare (not safe)) (##unchecked-structure-ref - _self12122_ - __exception12498 - __t12496 + _self12174_ + __exception12549 + __t12548 '#f)))) (declare (not safe)) - (##default-display-exception __tmp12528 _tmp-port12125_)) - (let ((_cont1212612128_ + (##default-display-exception __tmp12580 _tmp-port12177_)) + (let ((_cont1217812180_ (let () (declare (not safe)) (##unchecked-structure-ref - _self12122_ - __continuation12497 - __t12496 + _self12174_ + __continuation12550 + __t12548 '#f)))) - (if _cont1212612128_ - (let ((_cont12131_ _cont1212612128_)) - (display '"--- continuation backtrace:" _tmp-port12125_) - (newline _tmp-port12125_) + (if _cont1217812180_ + (let ((_cont12183_ _cont1217812180_)) + (display '"--- continuation backtrace:" _tmp-port12177_) + (newline _tmp-port12177_) (display-continuation-backtrace - _cont12131_ - _tmp-port12125_)) + _cont12183_ + _tmp-port12177_)) '#f)) - (let ((__tmp12529 (get-output-string _tmp-port12125_))) + (let ((__tmp12581 (get-output-string _tmp-port12177_))) (declare (not safe)) - (##write-string __tmp12529 _port12123_))))))) + (##write-string __tmp12581 _port12175_))))))) (let () (declare (not safe)) (bind-specializer! @@ -696,3566 +696,3566 @@ RuntimeException::display-exception '#f)) (define fix-port-width! - (lambda (_port11994_) - (if (macro-character-port? _port11994_) - (let ((_old-width11996_ - (macro-character-port-output-width _port11994_))) + (lambda (_port12046_) + (if (macro-character-port? _port12046_) + (let ((_old-width12048_ + (macro-character-port-output-width _port12046_))) (macro-character-port-output-width-set! - _port11994_ - (lambda (_port11998_) '256)) - _old-width11996_) + _port12046_ + (lambda (_port12050_) '256)) + _old-width12048_) '#!void))) (define reset-port-width! - (lambda (_port11991_ _old-width11992_) - (if (macro-character-port? _port11991_) + (lambda (_port12043_ _old-width12044_) + (if (macro-character-port? _port12043_) (macro-character-port-output-width-set! - _port11991_ - _old-width11992_) + _port12043_ + _old-width12044_) '#!void))) (define datum-parsing-exception-filepos - (lambda (_e11989_) - (macro-readenv-filepos (datum-parsing-exception-readenv _e11989_)))) + (lambda (_e12041_) + (macro-readenv-filepos (datum-parsing-exception-readenv _e12041_)))) (define abandoned-mutex-exception? - (lambda (_exn11983_) + (lambda (_exn12035_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11983_)) - (let ((_e11986_ + (class-instance? RuntimeException::t _exn12035_)) + (let ((_e12038_ (let () (declare (not safe)) - (slot-ref _exn11983_ 'exception)))) - (macro-abandoned-mutex-exception? _e11986_)) - (macro-abandoned-mutex-exception? _exn11983_)))) + (slot-ref _exn12035_ 'exception)))) + (macro-abandoned-mutex-exception? _e12038_)) + (macro-abandoned-mutex-exception? _exn12035_)))) (define cfun-conversion-exception? - (lambda (_exn11979_) + (lambda (_exn12031_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11979_)) - (let ((_e11981_ + (class-instance? RuntimeException::t _exn12031_)) + (let ((_e12033_ (let () (declare (not safe)) - (slot-ref _exn11979_ 'exception)))) - (macro-cfun-conversion-exception? _e11981_)) - (macro-cfun-conversion-exception? _exn11979_)))) + (slot-ref _exn12031_ 'exception)))) + (macro-cfun-conversion-exception? _e12033_)) + (macro-cfun-conversion-exception? _exn12031_)))) (define cfun-conversion-exception-arguments - (lambda (_exn11975_) + (lambda (_exn12027_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11975_)) - (let ((_e11977_ + (class-instance? RuntimeException::t _exn12027_)) + (let ((_e12029_ (let () (declare (not safe)) - (slot-ref _exn11975_ 'exception)))) - (if (macro-cfun-conversion-exception? _e11977_) - (macro-cfun-conversion-exception-arguments _e11977_) + (slot-ref _exn12027_ 'exception)))) + (if (macro-cfun-conversion-exception? _e12029_) + (macro-cfun-conversion-exception-arguments _e12029_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12531 + (let ((__tmp12583 (let () (declare (not safe)) - (cons _e11977_ '())))) + (cons _e12029_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-arguments - __tmp12531))))) - (if (macro-cfun-conversion-exception? _exn11975_) - (macro-cfun-conversion-exception-arguments _exn11975_) + __tmp12583))))) + (if (macro-cfun-conversion-exception? _exn12027_) + (macro-cfun-conversion-exception-arguments _exn12027_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12530 + (let ((__tmp12582 (let () (declare (not safe)) - (cons _exn11975_ '())))) + (cons _exn12027_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-arguments - __tmp12530))))))) + __tmp12582))))))) (define cfun-conversion-exception-code - (lambda (_exn11971_) + (lambda (_exn12023_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11971_)) - (let ((_e11973_ + (class-instance? RuntimeException::t _exn12023_)) + (let ((_e12025_ (let () (declare (not safe)) - (slot-ref _exn11971_ 'exception)))) - (if (macro-cfun-conversion-exception? _e11973_) - (macro-cfun-conversion-exception-code _e11973_) + (slot-ref _exn12023_ 'exception)))) + (if (macro-cfun-conversion-exception? _e12025_) + (macro-cfun-conversion-exception-code _e12025_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12533 + (let ((__tmp12585 (let () (declare (not safe)) - (cons _e11973_ '())))) + (cons _e12025_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-code - __tmp12533))))) - (if (macro-cfun-conversion-exception? _exn11971_) - (macro-cfun-conversion-exception-code _exn11971_) + __tmp12585))))) + (if (macro-cfun-conversion-exception? _exn12023_) + (macro-cfun-conversion-exception-code _exn12023_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12532 + (let ((__tmp12584 (let () (declare (not safe)) - (cons _exn11971_ '())))) + (cons _exn12023_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-code - __tmp12532))))))) + __tmp12584))))))) (define cfun-conversion-exception-message - (lambda (_exn11967_) + (lambda (_exn12019_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11967_)) - (let ((_e11969_ + (class-instance? RuntimeException::t _exn12019_)) + (let ((_e12021_ (let () (declare (not safe)) - (slot-ref _exn11967_ 'exception)))) - (if (macro-cfun-conversion-exception? _e11969_) - (macro-cfun-conversion-exception-message _e11969_) + (slot-ref _exn12019_ 'exception)))) + (if (macro-cfun-conversion-exception? _e12021_) + (macro-cfun-conversion-exception-message _e12021_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12535 + (let ((__tmp12587 (let () (declare (not safe)) - (cons _e11969_ '())))) + (cons _e12021_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-message - __tmp12535))))) - (if (macro-cfun-conversion-exception? _exn11967_) - (macro-cfun-conversion-exception-message _exn11967_) + __tmp12587))))) + (if (macro-cfun-conversion-exception? _exn12019_) + (macro-cfun-conversion-exception-message _exn12019_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12534 + (let ((__tmp12586 (let () (declare (not safe)) - (cons _exn11967_ '())))) + (cons _exn12019_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-message - __tmp12534))))))) + __tmp12586))))))) (define cfun-conversion-exception-procedure - (lambda (_exn11961_) + (lambda (_exn12013_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11961_)) - (let ((_e11964_ + (class-instance? RuntimeException::t _exn12013_)) + (let ((_e12016_ (let () (declare (not safe)) - (slot-ref _exn11961_ 'exception)))) - (if (macro-cfun-conversion-exception? _e11964_) - (macro-cfun-conversion-exception-procedure _e11964_) + (slot-ref _exn12013_ 'exception)))) + (if (macro-cfun-conversion-exception? _e12016_) + (macro-cfun-conversion-exception-procedure _e12016_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12537 + (let ((__tmp12589 (let () (declare (not safe)) - (cons _e11964_ '())))) + (cons _e12016_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-procedure - __tmp12537))))) - (if (macro-cfun-conversion-exception? _exn11961_) - (macro-cfun-conversion-exception-procedure _exn11961_) + __tmp12589))))) + (if (macro-cfun-conversion-exception? _exn12013_) + (macro-cfun-conversion-exception-procedure _exn12013_) (error '"not an instance" 'cfun-conversion-exception? - (let ((__tmp12536 + (let ((__tmp12588 (let () (declare (not safe)) - (cons _exn11961_ '())))) + (cons _exn12013_ '())))) (declare (not safe)) (cons 'cfun-conversion-exception-procedure - __tmp12536))))))) + __tmp12588))))))) (define datum-parsing-exception? - (lambda (_exn11957_) + (lambda (_exn12009_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11957_)) - (let ((_e11959_ + (class-instance? RuntimeException::t _exn12009_)) + (let ((_e12011_ (let () (declare (not safe)) - (slot-ref _exn11957_ 'exception)))) - (macro-datum-parsing-exception? _e11959_)) - (macro-datum-parsing-exception? _exn11957_)))) + (slot-ref _exn12009_ 'exception)))) + (macro-datum-parsing-exception? _e12011_)) + (macro-datum-parsing-exception? _exn12009_)))) (define datum-parsing-exception-kind - (lambda (_exn11953_) + (lambda (_exn12005_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11953_)) - (let ((_e11955_ + (class-instance? RuntimeException::t _exn12005_)) + (let ((_e12007_ (let () (declare (not safe)) - (slot-ref _exn11953_ 'exception)))) - (if (macro-datum-parsing-exception? _e11955_) - (macro-datum-parsing-exception-kind _e11955_) + (slot-ref _exn12005_ 'exception)))) + (if (macro-datum-parsing-exception? _e12007_) + (macro-datum-parsing-exception-kind _e12007_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12539 + (let ((__tmp12591 (let () (declare (not safe)) - (cons _e11955_ '())))) + (cons _e12007_ '())))) (declare (not safe)) - (cons 'datum-parsing-exception-kind __tmp12539))))) - (if (macro-datum-parsing-exception? _exn11953_) - (macro-datum-parsing-exception-kind _exn11953_) + (cons 'datum-parsing-exception-kind __tmp12591))))) + (if (macro-datum-parsing-exception? _exn12005_) + (macro-datum-parsing-exception-kind _exn12005_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12538 + (let ((__tmp12590 (let () (declare (not safe)) - (cons _exn11953_ '())))) + (cons _exn12005_ '())))) (declare (not safe)) - (cons 'datum-parsing-exception-kind __tmp12538))))))) + (cons 'datum-parsing-exception-kind __tmp12590))))))) (define datum-parsing-exception-parameters - (lambda (_exn11949_) + (lambda (_exn12001_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11949_)) - (let ((_e11951_ + (class-instance? RuntimeException::t _exn12001_)) + (let ((_e12003_ (let () (declare (not safe)) - (slot-ref _exn11949_ 'exception)))) - (if (macro-datum-parsing-exception? _e11951_) - (macro-datum-parsing-exception-parameters _e11951_) + (slot-ref _exn12001_ 'exception)))) + (if (macro-datum-parsing-exception? _e12003_) + (macro-datum-parsing-exception-parameters _e12003_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12541 + (let ((__tmp12593 (let () (declare (not safe)) - (cons _e11951_ '())))) + (cons _e12003_ '())))) (declare (not safe)) (cons 'datum-parsing-exception-parameters - __tmp12541))))) - (if (macro-datum-parsing-exception? _exn11949_) - (macro-datum-parsing-exception-parameters _exn11949_) + __tmp12593))))) + (if (macro-datum-parsing-exception? _exn12001_) + (macro-datum-parsing-exception-parameters _exn12001_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12540 + (let ((__tmp12592 (let () (declare (not safe)) - (cons _exn11949_ '())))) + (cons _exn12001_ '())))) (declare (not safe)) (cons 'datum-parsing-exception-parameters - __tmp12540))))))) + __tmp12592))))))) (define datum-parsing-exception-readenv - (lambda (_exn11943_) + (lambda (_exn11995_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11943_)) - (let ((_e11946_ + (class-instance? RuntimeException::t _exn11995_)) + (let ((_e11998_ (let () (declare (not safe)) - (slot-ref _exn11943_ 'exception)))) - (if (macro-datum-parsing-exception? _e11946_) - (macro-datum-parsing-exception-readenv _e11946_) + (slot-ref _exn11995_ 'exception)))) + (if (macro-datum-parsing-exception? _e11998_) + (macro-datum-parsing-exception-readenv _e11998_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12543 + (let ((__tmp12595 (let () (declare (not safe)) - (cons _e11946_ '())))) + (cons _e11998_ '())))) (declare (not safe)) (cons 'datum-parsing-exception-readenv - __tmp12543))))) - (if (macro-datum-parsing-exception? _exn11943_) - (macro-datum-parsing-exception-readenv _exn11943_) + __tmp12595))))) + (if (macro-datum-parsing-exception? _exn11995_) + (macro-datum-parsing-exception-readenv _exn11995_) (error '"not an instance" 'datum-parsing-exception? - (let ((__tmp12542 + (let ((__tmp12594 (let () (declare (not safe)) - (cons _exn11943_ '())))) + (cons _exn11995_ '())))) (declare (not safe)) (cons 'datum-parsing-exception-readenv - __tmp12542))))))) + __tmp12594))))))) (define deadlock-exception? - (lambda (_exn11937_) + (lambda (_exn11989_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11937_)) - (let ((_e11940_ + (class-instance? RuntimeException::t _exn11989_)) + (let ((_e11992_ (let () (declare (not safe)) - (slot-ref _exn11937_ 'exception)))) - (macro-deadlock-exception? _e11940_)) - (macro-deadlock-exception? _exn11937_)))) + (slot-ref _exn11989_ 'exception)))) + (macro-deadlock-exception? _e11992_)) + (macro-deadlock-exception? _exn11989_)))) (define divide-by-zero-exception? - (lambda (_exn11933_) + (lambda (_exn11985_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11933_)) - (let ((_e11935_ + (class-instance? RuntimeException::t _exn11985_)) + (let ((_e11987_ (let () (declare (not safe)) - (slot-ref _exn11933_ 'exception)))) - (macro-divide-by-zero-exception? _e11935_)) - (macro-divide-by-zero-exception? _exn11933_)))) + (slot-ref _exn11985_ 'exception)))) + (macro-divide-by-zero-exception? _e11987_)) + (macro-divide-by-zero-exception? _exn11985_)))) (define divide-by-zero-exception-arguments - (lambda (_exn11929_) + (lambda (_exn11981_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11929_)) - (let ((_e11931_ + (class-instance? RuntimeException::t _exn11981_)) + (let ((_e11983_ (let () (declare (not safe)) - (slot-ref _exn11929_ 'exception)))) - (if (macro-divide-by-zero-exception? _e11931_) - (macro-divide-by-zero-exception-arguments _e11931_) + (slot-ref _exn11981_ 'exception)))) + (if (macro-divide-by-zero-exception? _e11983_) + (macro-divide-by-zero-exception-arguments _e11983_) (error '"not an instance" 'divide-by-zero-exception? - (let ((__tmp12545 + (let ((__tmp12597 (let () (declare (not safe)) - (cons _e11931_ '())))) + (cons _e11983_ '())))) (declare (not safe)) (cons 'divide-by-zero-exception-arguments - __tmp12545))))) - (if (macro-divide-by-zero-exception? _exn11929_) - (macro-divide-by-zero-exception-arguments _exn11929_) + __tmp12597))))) + (if (macro-divide-by-zero-exception? _exn11981_) + (macro-divide-by-zero-exception-arguments _exn11981_) (error '"not an instance" 'divide-by-zero-exception? - (let ((__tmp12544 + (let ((__tmp12596 (let () (declare (not safe)) - (cons _exn11929_ '())))) + (cons _exn11981_ '())))) (declare (not safe)) (cons 'divide-by-zero-exception-arguments - __tmp12544))))))) + __tmp12596))))))) (define divide-by-zero-exception-procedure - (lambda (_exn11923_) + (lambda (_exn11975_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11923_)) - (let ((_e11926_ + (class-instance? RuntimeException::t _exn11975_)) + (let ((_e11978_ (let () (declare (not safe)) - (slot-ref _exn11923_ 'exception)))) - (if (macro-divide-by-zero-exception? _e11926_) - (macro-divide-by-zero-exception-procedure _e11926_) + (slot-ref _exn11975_ 'exception)))) + (if (macro-divide-by-zero-exception? _e11978_) + (macro-divide-by-zero-exception-procedure _e11978_) (error '"not an instance" 'divide-by-zero-exception? - (let ((__tmp12547 + (let ((__tmp12599 (let () (declare (not safe)) - (cons _e11926_ '())))) + (cons _e11978_ '())))) (declare (not safe)) (cons 'divide-by-zero-exception-procedure - __tmp12547))))) - (if (macro-divide-by-zero-exception? _exn11923_) - (macro-divide-by-zero-exception-procedure _exn11923_) + __tmp12599))))) + (if (macro-divide-by-zero-exception? _exn11975_) + (macro-divide-by-zero-exception-procedure _exn11975_) (error '"not an instance" 'divide-by-zero-exception? - (let ((__tmp12546 + (let ((__tmp12598 (let () (declare (not safe)) - (cons _exn11923_ '())))) + (cons _exn11975_ '())))) (declare (not safe)) (cons 'divide-by-zero-exception-procedure - __tmp12546))))))) + __tmp12598))))))) (define error-exception? - (lambda (_exn11919_) + (lambda (_exn11971_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11919_)) - (let ((_e11921_ + (class-instance? RuntimeException::t _exn11971_)) + (let ((_e11973_ (let () (declare (not safe)) - (slot-ref _exn11919_ 'exception)))) - (macro-error-exception? _e11921_)) - (macro-error-exception? _exn11919_)))) + (slot-ref _exn11971_ 'exception)))) + (macro-error-exception? _e11973_)) + (macro-error-exception? _exn11971_)))) (define error-exception-message - (lambda (_exn11915_) + (lambda (_exn11967_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11915_)) - (let ((_e11917_ + (class-instance? RuntimeException::t _exn11967_)) + (let ((_e11969_ (let () (declare (not safe)) - (slot-ref _exn11915_ 'exception)))) - (if (macro-error-exception? _e11917_) - (macro-error-exception-message _e11917_) + (slot-ref _exn11967_ 'exception)))) + (if (macro-error-exception? _e11969_) + (macro-error-exception-message _e11969_) (error '"not an instance" 'error-exception? - (let ((__tmp12549 + (let ((__tmp12601 (let () (declare (not safe)) - (cons _e11917_ '())))) + (cons _e11969_ '())))) (declare (not safe)) - (cons 'error-exception-message __tmp12549))))) - (if (macro-error-exception? _exn11915_) - (macro-error-exception-message _exn11915_) + (cons 'error-exception-message __tmp12601))))) + (if (macro-error-exception? _exn11967_) + (macro-error-exception-message _exn11967_) (error '"not an instance" 'error-exception? - (let ((__tmp12548 + (let ((__tmp12600 (let () (declare (not safe)) - (cons _exn11915_ '())))) + (cons _exn11967_ '())))) (declare (not safe)) - (cons 'error-exception-message __tmp12548))))))) + (cons 'error-exception-message __tmp12600))))))) (define error-exception-parameters - (lambda (_exn11909_) + (lambda (_exn11961_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11909_)) - (let ((_e11912_ + (class-instance? RuntimeException::t _exn11961_)) + (let ((_e11964_ (let () (declare (not safe)) - (slot-ref _exn11909_ 'exception)))) - (if (macro-error-exception? _e11912_) - (macro-error-exception-parameters _e11912_) + (slot-ref _exn11961_ 'exception)))) + (if (macro-error-exception? _e11964_) + (macro-error-exception-parameters _e11964_) (error '"not an instance" 'error-exception? - (let ((__tmp12551 + (let ((__tmp12603 (let () (declare (not safe)) - (cons _e11912_ '())))) + (cons _e11964_ '())))) (declare (not safe)) - (cons 'error-exception-parameters __tmp12551))))) - (if (macro-error-exception? _exn11909_) - (macro-error-exception-parameters _exn11909_) + (cons 'error-exception-parameters __tmp12603))))) + (if (macro-error-exception? _exn11961_) + (macro-error-exception-parameters _exn11961_) (error '"not an instance" 'error-exception? - (let ((__tmp12550 + (let ((__tmp12602 (let () (declare (not safe)) - (cons _exn11909_ '())))) + (cons _exn11961_ '())))) (declare (not safe)) - (cons 'error-exception-parameters __tmp12550))))))) + (cons 'error-exception-parameters __tmp12602))))))) (define expression-parsing-exception? - (lambda (_exn11905_) + (lambda (_exn11957_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11905_)) - (let ((_e11907_ + (class-instance? RuntimeException::t _exn11957_)) + (let ((_e11959_ (let () (declare (not safe)) - (slot-ref _exn11905_ 'exception)))) - (macro-expression-parsing-exception? _e11907_)) - (macro-expression-parsing-exception? _exn11905_)))) + (slot-ref _exn11957_ 'exception)))) + (macro-expression-parsing-exception? _e11959_)) + (macro-expression-parsing-exception? _exn11957_)))) (define expression-parsing-exception-kind - (lambda (_exn11901_) + (lambda (_exn11953_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11901_)) - (let ((_e11903_ + (class-instance? RuntimeException::t _exn11953_)) + (let ((_e11955_ (let () (declare (not safe)) - (slot-ref _exn11901_ 'exception)))) - (if (macro-expression-parsing-exception? _e11903_) - (macro-expression-parsing-exception-kind _e11903_) + (slot-ref _exn11953_ 'exception)))) + (if (macro-expression-parsing-exception? _e11955_) + (macro-expression-parsing-exception-kind _e11955_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12553 + (let ((__tmp12605 (let () (declare (not safe)) - (cons _e11903_ '())))) + (cons _e11955_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-kind - __tmp12553))))) - (if (macro-expression-parsing-exception? _exn11901_) - (macro-expression-parsing-exception-kind _exn11901_) + __tmp12605))))) + (if (macro-expression-parsing-exception? _exn11953_) + (macro-expression-parsing-exception-kind _exn11953_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12552 + (let ((__tmp12604 (let () (declare (not safe)) - (cons _exn11901_ '())))) + (cons _exn11953_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-kind - __tmp12552))))))) + __tmp12604))))))) (define expression-parsing-exception-parameters - (lambda (_exn11897_) + (lambda (_exn11949_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11897_)) - (let ((_e11899_ + (class-instance? RuntimeException::t _exn11949_)) + (let ((_e11951_ (let () (declare (not safe)) - (slot-ref _exn11897_ 'exception)))) - (if (macro-expression-parsing-exception? _e11899_) - (macro-expression-parsing-exception-parameters _e11899_) + (slot-ref _exn11949_ 'exception)))) + (if (macro-expression-parsing-exception? _e11951_) + (macro-expression-parsing-exception-parameters _e11951_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12555 + (let ((__tmp12607 (let () (declare (not safe)) - (cons _e11899_ '())))) + (cons _e11951_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-parameters - __tmp12555))))) - (if (macro-expression-parsing-exception? _exn11897_) - (macro-expression-parsing-exception-parameters _exn11897_) + __tmp12607))))) + (if (macro-expression-parsing-exception? _exn11949_) + (macro-expression-parsing-exception-parameters _exn11949_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12554 + (let ((__tmp12606 (let () (declare (not safe)) - (cons _exn11897_ '())))) + (cons _exn11949_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-parameters - __tmp12554))))))) + __tmp12606))))))) (define expression-parsing-exception-source - (lambda (_exn11891_) + (lambda (_exn11943_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11891_)) - (let ((_e11894_ + (class-instance? RuntimeException::t _exn11943_)) + (let ((_e11946_ (let () (declare (not safe)) - (slot-ref _exn11891_ 'exception)))) - (if (macro-expression-parsing-exception? _e11894_) - (macro-expression-parsing-exception-source _e11894_) + (slot-ref _exn11943_ 'exception)))) + (if (macro-expression-parsing-exception? _e11946_) + (macro-expression-parsing-exception-source _e11946_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12557 + (let ((__tmp12609 (let () (declare (not safe)) - (cons _e11894_ '())))) + (cons _e11946_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-source - __tmp12557))))) - (if (macro-expression-parsing-exception? _exn11891_) - (macro-expression-parsing-exception-source _exn11891_) + __tmp12609))))) + (if (macro-expression-parsing-exception? _exn11943_) + (macro-expression-parsing-exception-source _exn11943_) (error '"not an instance" 'expression-parsing-exception? - (let ((__tmp12556 + (let ((__tmp12608 (let () (declare (not safe)) - (cons _exn11891_ '())))) + (cons _exn11943_ '())))) (declare (not safe)) (cons 'expression-parsing-exception-source - __tmp12556))))))) + __tmp12608))))))) (define file-exists-exception? - (lambda (_exn11887_) + (lambda (_exn11939_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11887_)) - (let ((_e11889_ + (class-instance? RuntimeException::t _exn11939_)) + (let ((_e11941_ (let () (declare (not safe)) - (slot-ref _exn11887_ 'exception)))) - (macro-file-exists-exception? _e11889_)) - (macro-file-exists-exception? _exn11887_)))) + (slot-ref _exn11939_ 'exception)))) + (macro-file-exists-exception? _e11941_)) + (macro-file-exists-exception? _exn11939_)))) (define file-exists-exception-arguments - (lambda (_exn11883_) + (lambda (_exn11935_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11883_)) - (let ((_e11885_ + (class-instance? RuntimeException::t _exn11935_)) + (let ((_e11937_ (let () (declare (not safe)) - (slot-ref _exn11883_ 'exception)))) - (if (macro-file-exists-exception? _e11885_) - (macro-file-exists-exception-arguments _e11885_) + (slot-ref _exn11935_ 'exception)))) + (if (macro-file-exists-exception? _e11937_) + (macro-file-exists-exception-arguments _e11937_) (error '"not an instance" 'file-exists-exception? - (let ((__tmp12559 + (let ((__tmp12611 (let () (declare (not safe)) - (cons _e11885_ '())))) + (cons _e11937_ '())))) (declare (not safe)) (cons 'file-exists-exception-arguments - __tmp12559))))) - (if (macro-file-exists-exception? _exn11883_) - (macro-file-exists-exception-arguments _exn11883_) + __tmp12611))))) + (if (macro-file-exists-exception? _exn11935_) + (macro-file-exists-exception-arguments _exn11935_) (error '"not an instance" 'file-exists-exception? - (let ((__tmp12558 + (let ((__tmp12610 (let () (declare (not safe)) - (cons _exn11883_ '())))) + (cons _exn11935_ '())))) (declare (not safe)) (cons 'file-exists-exception-arguments - __tmp12558))))))) + __tmp12610))))))) (define file-exists-exception-procedure - (lambda (_exn11877_) + (lambda (_exn11929_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11877_)) - (let ((_e11880_ + (class-instance? RuntimeException::t _exn11929_)) + (let ((_e11932_ (let () (declare (not safe)) - (slot-ref _exn11877_ 'exception)))) - (if (macro-file-exists-exception? _e11880_) - (macro-file-exists-exception-procedure _e11880_) + (slot-ref _exn11929_ 'exception)))) + (if (macro-file-exists-exception? _e11932_) + (macro-file-exists-exception-procedure _e11932_) (error '"not an instance" 'file-exists-exception? - (let ((__tmp12561 + (let ((__tmp12613 (let () (declare (not safe)) - (cons _e11880_ '())))) + (cons _e11932_ '())))) (declare (not safe)) (cons 'file-exists-exception-procedure - __tmp12561))))) - (if (macro-file-exists-exception? _exn11877_) - (macro-file-exists-exception-procedure _exn11877_) + __tmp12613))))) + (if (macro-file-exists-exception? _exn11929_) + (macro-file-exists-exception-procedure _exn11929_) (error '"not an instance" 'file-exists-exception? - (let ((__tmp12560 + (let ((__tmp12612 (let () (declare (not safe)) - (cons _exn11877_ '())))) + (cons _exn11929_ '())))) (declare (not safe)) (cons 'file-exists-exception-procedure - __tmp12560))))))) + __tmp12612))))))) (define fixnum-overflow-exception? - (lambda (_exn11873_) + (lambda (_exn11925_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11873_)) - (let ((_e11875_ + (class-instance? RuntimeException::t _exn11925_)) + (let ((_e11927_ (let () (declare (not safe)) - (slot-ref _exn11873_ 'exception)))) - (macro-fixnum-overflow-exception? _e11875_)) - (macro-fixnum-overflow-exception? _exn11873_)))) + (slot-ref _exn11925_ 'exception)))) + (macro-fixnum-overflow-exception? _e11927_)) + (macro-fixnum-overflow-exception? _exn11925_)))) (define fixnum-overflow-exception-arguments - (lambda (_exn11869_) + (lambda (_exn11921_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11869_)) - (let ((_e11871_ + (class-instance? RuntimeException::t _exn11921_)) + (let ((_e11923_ (let () (declare (not safe)) - (slot-ref _exn11869_ 'exception)))) - (if (macro-fixnum-overflow-exception? _e11871_) - (macro-fixnum-overflow-exception-arguments _e11871_) + (slot-ref _exn11921_ 'exception)))) + (if (macro-fixnum-overflow-exception? _e11923_) + (macro-fixnum-overflow-exception-arguments _e11923_) (error '"not an instance" 'fixnum-overflow-exception? - (let ((__tmp12563 + (let ((__tmp12615 (let () (declare (not safe)) - (cons _e11871_ '())))) + (cons _e11923_ '())))) (declare (not safe)) (cons 'fixnum-overflow-exception-arguments - __tmp12563))))) - (if (macro-fixnum-overflow-exception? _exn11869_) - (macro-fixnum-overflow-exception-arguments _exn11869_) + __tmp12615))))) + (if (macro-fixnum-overflow-exception? _exn11921_) + (macro-fixnum-overflow-exception-arguments _exn11921_) (error '"not an instance" 'fixnum-overflow-exception? - (let ((__tmp12562 + (let ((__tmp12614 (let () (declare (not safe)) - (cons _exn11869_ '())))) + (cons _exn11921_ '())))) (declare (not safe)) (cons 'fixnum-overflow-exception-arguments - __tmp12562))))))) + __tmp12614))))))) (define fixnum-overflow-exception-procedure - (lambda (_exn11863_) + (lambda (_exn11915_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11863_)) - (let ((_e11866_ + (class-instance? RuntimeException::t _exn11915_)) + (let ((_e11918_ (let () (declare (not safe)) - (slot-ref _exn11863_ 'exception)))) - (if (macro-fixnum-overflow-exception? _e11866_) - (macro-fixnum-overflow-exception-procedure _e11866_) + (slot-ref _exn11915_ 'exception)))) + (if (macro-fixnum-overflow-exception? _e11918_) + (macro-fixnum-overflow-exception-procedure _e11918_) (error '"not an instance" 'fixnum-overflow-exception? - (let ((__tmp12565 + (let ((__tmp12617 (let () (declare (not safe)) - (cons _e11866_ '())))) + (cons _e11918_ '())))) (declare (not safe)) (cons 'fixnum-overflow-exception-procedure - __tmp12565))))) - (if (macro-fixnum-overflow-exception? _exn11863_) - (macro-fixnum-overflow-exception-procedure _exn11863_) + __tmp12617))))) + (if (macro-fixnum-overflow-exception? _exn11915_) + (macro-fixnum-overflow-exception-procedure _exn11915_) (error '"not an instance" 'fixnum-overflow-exception? - (let ((__tmp12564 + (let ((__tmp12616 (let () (declare (not safe)) - (cons _exn11863_ '())))) + (cons _exn11915_ '())))) (declare (not safe)) (cons 'fixnum-overflow-exception-procedure - __tmp12564))))))) + __tmp12616))))))) (define heap-overflow-exception? - (lambda (_exn11857_) + (lambda (_exn11909_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11857_)) - (let ((_e11860_ + (class-instance? RuntimeException::t _exn11909_)) + (let ((_e11912_ (let () (declare (not safe)) - (slot-ref _exn11857_ 'exception)))) - (macro-heap-overflow-exception? _e11860_)) - (macro-heap-overflow-exception? _exn11857_)))) + (slot-ref _exn11909_ 'exception)))) + (macro-heap-overflow-exception? _e11912_)) + (macro-heap-overflow-exception? _exn11909_)))) (define inactive-thread-exception? - (lambda (_exn11853_) + (lambda (_exn11905_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11853_)) - (let ((_e11855_ + (class-instance? RuntimeException::t _exn11905_)) + (let ((_e11907_ (let () (declare (not safe)) - (slot-ref _exn11853_ 'exception)))) - (macro-inactive-thread-exception? _e11855_)) - (macro-inactive-thread-exception? _exn11853_)))) + (slot-ref _exn11905_ 'exception)))) + (macro-inactive-thread-exception? _e11907_)) + (macro-inactive-thread-exception? _exn11905_)))) (define inactive-thread-exception-arguments - (lambda (_exn11849_) + (lambda (_exn11901_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11849_)) - (let ((_e11851_ + (class-instance? RuntimeException::t _exn11901_)) + (let ((_e11903_ (let () (declare (not safe)) - (slot-ref _exn11849_ 'exception)))) - (if (macro-inactive-thread-exception? _e11851_) - (macro-inactive-thread-exception-arguments _e11851_) + (slot-ref _exn11901_ 'exception)))) + (if (macro-inactive-thread-exception? _e11903_) + (macro-inactive-thread-exception-arguments _e11903_) (error '"not an instance" 'inactive-thread-exception? - (let ((__tmp12567 + (let ((__tmp12619 (let () (declare (not safe)) - (cons _e11851_ '())))) + (cons _e11903_ '())))) (declare (not safe)) (cons 'inactive-thread-exception-arguments - __tmp12567))))) - (if (macro-inactive-thread-exception? _exn11849_) - (macro-inactive-thread-exception-arguments _exn11849_) + __tmp12619))))) + (if (macro-inactive-thread-exception? _exn11901_) + (macro-inactive-thread-exception-arguments _exn11901_) (error '"not an instance" 'inactive-thread-exception? - (let ((__tmp12566 + (let ((__tmp12618 (let () (declare (not safe)) - (cons _exn11849_ '())))) + (cons _exn11901_ '())))) (declare (not safe)) (cons 'inactive-thread-exception-arguments - __tmp12566))))))) + __tmp12618))))))) (define inactive-thread-exception-procedure - (lambda (_exn11843_) + (lambda (_exn11895_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11843_)) - (let ((_e11846_ + (class-instance? RuntimeException::t _exn11895_)) + (let ((_e11898_ (let () (declare (not safe)) - (slot-ref _exn11843_ 'exception)))) - (if (macro-inactive-thread-exception? _e11846_) - (macro-inactive-thread-exception-procedure _e11846_) + (slot-ref _exn11895_ 'exception)))) + (if (macro-inactive-thread-exception? _e11898_) + (macro-inactive-thread-exception-procedure _e11898_) (error '"not an instance" 'inactive-thread-exception? - (let ((__tmp12569 + (let ((__tmp12621 (let () (declare (not safe)) - (cons _e11846_ '())))) + (cons _e11898_ '())))) (declare (not safe)) (cons 'inactive-thread-exception-procedure - __tmp12569))))) - (if (macro-inactive-thread-exception? _exn11843_) - (macro-inactive-thread-exception-procedure _exn11843_) + __tmp12621))))) + (if (macro-inactive-thread-exception? _exn11895_) + (macro-inactive-thread-exception-procedure _exn11895_) (error '"not an instance" 'inactive-thread-exception? - (let ((__tmp12568 + (let ((__tmp12620 (let () (declare (not safe)) - (cons _exn11843_ '())))) + (cons _exn11895_ '())))) (declare (not safe)) (cons 'inactive-thread-exception-procedure - __tmp12568))))))) + __tmp12620))))))) (define initialized-thread-exception? - (lambda (_exn11839_) + (lambda (_exn11891_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11839_)) - (let ((_e11841_ + (class-instance? RuntimeException::t _exn11891_)) + (let ((_e11893_ (let () (declare (not safe)) - (slot-ref _exn11839_ 'exception)))) - (macro-initialized-thread-exception? _e11841_)) - (macro-initialized-thread-exception? _exn11839_)))) + (slot-ref _exn11891_ 'exception)))) + (macro-initialized-thread-exception? _e11893_)) + (macro-initialized-thread-exception? _exn11891_)))) (define initialized-thread-exception-arguments - (lambda (_exn11835_) + (lambda (_exn11887_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11835_)) - (let ((_e11837_ + (class-instance? RuntimeException::t _exn11887_)) + (let ((_e11889_ (let () (declare (not safe)) - (slot-ref _exn11835_ 'exception)))) - (if (macro-initialized-thread-exception? _e11837_) - (macro-initialized-thread-exception-arguments _e11837_) + (slot-ref _exn11887_ 'exception)))) + (if (macro-initialized-thread-exception? _e11889_) + (macro-initialized-thread-exception-arguments _e11889_) (error '"not an instance" 'initialized-thread-exception? - (let ((__tmp12571 + (let ((__tmp12623 (let () (declare (not safe)) - (cons _e11837_ '())))) + (cons _e11889_ '())))) (declare (not safe)) (cons 'initialized-thread-exception-arguments - __tmp12571))))) - (if (macro-initialized-thread-exception? _exn11835_) - (macro-initialized-thread-exception-arguments _exn11835_) + __tmp12623))))) + (if (macro-initialized-thread-exception? _exn11887_) + (macro-initialized-thread-exception-arguments _exn11887_) (error '"not an instance" 'initialized-thread-exception? - (let ((__tmp12570 + (let ((__tmp12622 (let () (declare (not safe)) - (cons _exn11835_ '())))) + (cons _exn11887_ '())))) (declare (not safe)) (cons 'initialized-thread-exception-arguments - __tmp12570))))))) + __tmp12622))))))) (define initialized-thread-exception-procedure - (lambda (_exn11829_) + (lambda (_exn11881_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11829_)) - (let ((_e11832_ + (class-instance? RuntimeException::t _exn11881_)) + (let ((_e11884_ (let () (declare (not safe)) - (slot-ref _exn11829_ 'exception)))) - (if (macro-initialized-thread-exception? _e11832_) - (macro-initialized-thread-exception-procedure _e11832_) + (slot-ref _exn11881_ 'exception)))) + (if (macro-initialized-thread-exception? _e11884_) + (macro-initialized-thread-exception-procedure _e11884_) (error '"not an instance" 'initialized-thread-exception? - (let ((__tmp12573 + (let ((__tmp12625 (let () (declare (not safe)) - (cons _e11832_ '())))) + (cons _e11884_ '())))) (declare (not safe)) (cons 'initialized-thread-exception-procedure - __tmp12573))))) - (if (macro-initialized-thread-exception? _exn11829_) - (macro-initialized-thread-exception-procedure _exn11829_) + __tmp12625))))) + (if (macro-initialized-thread-exception? _exn11881_) + (macro-initialized-thread-exception-procedure _exn11881_) (error '"not an instance" 'initialized-thread-exception? - (let ((__tmp12572 + (let ((__tmp12624 (let () (declare (not safe)) - (cons _exn11829_ '())))) + (cons _exn11881_ '())))) (declare (not safe)) (cons 'initialized-thread-exception-procedure - __tmp12572))))))) + __tmp12624))))))) (define invalid-hash-number-exception? - (lambda (_exn11825_) + (lambda (_exn11877_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11825_)) - (let ((_e11827_ + (class-instance? RuntimeException::t _exn11877_)) + (let ((_e11879_ (let () (declare (not safe)) - (slot-ref _exn11825_ 'exception)))) - (macro-invalid-hash-number-exception? _e11827_)) - (macro-invalid-hash-number-exception? _exn11825_)))) + (slot-ref _exn11877_ 'exception)))) + (macro-invalid-hash-number-exception? _e11879_)) + (macro-invalid-hash-number-exception? _exn11877_)))) (define invalid-hash-number-exception-arguments - (lambda (_exn11821_) + (lambda (_exn11873_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11821_)) - (let ((_e11823_ + (class-instance? RuntimeException::t _exn11873_)) + (let ((_e11875_ (let () (declare (not safe)) - (slot-ref _exn11821_ 'exception)))) - (if (macro-invalid-hash-number-exception? _e11823_) - (macro-invalid-hash-number-exception-arguments _e11823_) + (slot-ref _exn11873_ 'exception)))) + (if (macro-invalid-hash-number-exception? _e11875_) + (macro-invalid-hash-number-exception-arguments _e11875_) (error '"not an instance" 'invalid-hash-number-exception? - (let ((__tmp12575 + (let ((__tmp12627 (let () (declare (not safe)) - (cons _e11823_ '())))) + (cons _e11875_ '())))) (declare (not safe)) (cons 'invalid-hash-number-exception-arguments - __tmp12575))))) - (if (macro-invalid-hash-number-exception? _exn11821_) - (macro-invalid-hash-number-exception-arguments _exn11821_) + __tmp12627))))) + (if (macro-invalid-hash-number-exception? _exn11873_) + (macro-invalid-hash-number-exception-arguments _exn11873_) (error '"not an instance" 'invalid-hash-number-exception? - (let ((__tmp12574 + (let ((__tmp12626 (let () (declare (not safe)) - (cons _exn11821_ '())))) + (cons _exn11873_ '())))) (declare (not safe)) (cons 'invalid-hash-number-exception-arguments - __tmp12574))))))) + __tmp12626))))))) (define invalid-hash-number-exception-procedure - (lambda (_exn11815_) + (lambda (_exn11867_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11815_)) - (let ((_e11818_ + (class-instance? RuntimeException::t _exn11867_)) + (let ((_e11870_ (let () (declare (not safe)) - (slot-ref _exn11815_ 'exception)))) - (if (macro-invalid-hash-number-exception? _e11818_) - (macro-invalid-hash-number-exception-procedure _e11818_) + (slot-ref _exn11867_ 'exception)))) + (if (macro-invalid-hash-number-exception? _e11870_) + (macro-invalid-hash-number-exception-procedure _e11870_) (error '"not an instance" 'invalid-hash-number-exception? - (let ((__tmp12577 + (let ((__tmp12629 (let () (declare (not safe)) - (cons _e11818_ '())))) + (cons _e11870_ '())))) (declare (not safe)) (cons 'invalid-hash-number-exception-procedure - __tmp12577))))) - (if (macro-invalid-hash-number-exception? _exn11815_) - (macro-invalid-hash-number-exception-procedure _exn11815_) + __tmp12629))))) + (if (macro-invalid-hash-number-exception? _exn11867_) + (macro-invalid-hash-number-exception-procedure _exn11867_) (error '"not an instance" 'invalid-hash-number-exception? - (let ((__tmp12576 + (let ((__tmp12628 (let () (declare (not safe)) - (cons _exn11815_ '())))) + (cons _exn11867_ '())))) (declare (not safe)) (cons 'invalid-hash-number-exception-procedure - __tmp12576))))))) + __tmp12628))))))) (define invalid-utf8-encoding-exception? - (lambda (_exn11811_) + (lambda (_exn11863_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11811_)) - (let ((_e11813_ + (class-instance? RuntimeException::t _exn11863_)) + (let ((_e11865_ (let () (declare (not safe)) - (slot-ref _exn11811_ 'exception)))) - (macro-invalid-utf8-encoding-exception? _e11813_)) - (macro-invalid-utf8-encoding-exception? _exn11811_)))) + (slot-ref _exn11863_ 'exception)))) + (macro-invalid-utf8-encoding-exception? _e11865_)) + (macro-invalid-utf8-encoding-exception? _exn11863_)))) (define invalid-utf8-encoding-exception-arguments - (lambda (_exn11807_) + (lambda (_exn11859_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11807_)) - (let ((_e11809_ + (class-instance? RuntimeException::t _exn11859_)) + (let ((_e11861_ (let () (declare (not safe)) - (slot-ref _exn11807_ 'exception)))) - (if (macro-invalid-utf8-encoding-exception? _e11809_) - (macro-invalid-utf8-encoding-exception-arguments _e11809_) + (slot-ref _exn11859_ 'exception)))) + (if (macro-invalid-utf8-encoding-exception? _e11861_) + (macro-invalid-utf8-encoding-exception-arguments _e11861_) (error '"not an instance" 'invalid-utf8-encoding-exception? - (let ((__tmp12579 + (let ((__tmp12631 (let () (declare (not safe)) - (cons _e11809_ '())))) + (cons _e11861_ '())))) (declare (not safe)) (cons 'invalid-utf8-encoding-exception-arguments - __tmp12579))))) - (if (macro-invalid-utf8-encoding-exception? _exn11807_) - (macro-invalid-utf8-encoding-exception-arguments _exn11807_) + __tmp12631))))) + (if (macro-invalid-utf8-encoding-exception? _exn11859_) + (macro-invalid-utf8-encoding-exception-arguments _exn11859_) (error '"not an instance" 'invalid-utf8-encoding-exception? - (let ((__tmp12578 + (let ((__tmp12630 (let () (declare (not safe)) - (cons _exn11807_ '())))) + (cons _exn11859_ '())))) (declare (not safe)) (cons 'invalid-utf8-encoding-exception-arguments - __tmp12578))))))) + __tmp12630))))))) (define invalid-utf8-encoding-exception-procedure - (lambda (_exn11801_) + (lambda (_exn11853_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11801_)) - (let ((_e11804_ + (class-instance? RuntimeException::t _exn11853_)) + (let ((_e11856_ (let () (declare (not safe)) - (slot-ref _exn11801_ 'exception)))) - (if (macro-invalid-utf8-encoding-exception? _e11804_) - (macro-invalid-utf8-encoding-exception-procedure _e11804_) + (slot-ref _exn11853_ 'exception)))) + (if (macro-invalid-utf8-encoding-exception? _e11856_) + (macro-invalid-utf8-encoding-exception-procedure _e11856_) (error '"not an instance" 'invalid-utf8-encoding-exception? - (let ((__tmp12581 + (let ((__tmp12633 (let () (declare (not safe)) - (cons _e11804_ '())))) + (cons _e11856_ '())))) (declare (not safe)) (cons 'invalid-utf8-encoding-exception-procedure - __tmp12581))))) - (if (macro-invalid-utf8-encoding-exception? _exn11801_) - (macro-invalid-utf8-encoding-exception-procedure _exn11801_) + __tmp12633))))) + (if (macro-invalid-utf8-encoding-exception? _exn11853_) + (macro-invalid-utf8-encoding-exception-procedure _exn11853_) (error '"not an instance" 'invalid-utf8-encoding-exception? - (let ((__tmp12580 + (let ((__tmp12632 (let () (declare (not safe)) - (cons _exn11801_ '())))) + (cons _exn11853_ '())))) (declare (not safe)) (cons 'invalid-utf8-encoding-exception-procedure - __tmp12580))))))) + __tmp12632))))))) (define join-timeout-exception? - (lambda (_exn11797_) + (lambda (_exn11849_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11797_)) - (let ((_e11799_ + (class-instance? RuntimeException::t _exn11849_)) + (let ((_e11851_ (let () (declare (not safe)) - (slot-ref _exn11797_ 'exception)))) - (macro-join-timeout-exception? _e11799_)) - (macro-join-timeout-exception? _exn11797_)))) + (slot-ref _exn11849_ 'exception)))) + (macro-join-timeout-exception? _e11851_)) + (macro-join-timeout-exception? _exn11849_)))) (define join-timeout-exception-arguments - (lambda (_exn11793_) + (lambda (_exn11845_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11793_)) - (let ((_e11795_ + (class-instance? RuntimeException::t _exn11845_)) + (let ((_e11847_ (let () (declare (not safe)) - (slot-ref _exn11793_ 'exception)))) - (if (macro-join-timeout-exception? _e11795_) - (macro-join-timeout-exception-arguments _e11795_) + (slot-ref _exn11845_ 'exception)))) + (if (macro-join-timeout-exception? _e11847_) + (macro-join-timeout-exception-arguments _e11847_) (error '"not an instance" 'join-timeout-exception? - (let ((__tmp12583 + (let ((__tmp12635 (let () (declare (not safe)) - (cons _e11795_ '())))) + (cons _e11847_ '())))) (declare (not safe)) (cons 'join-timeout-exception-arguments - __tmp12583))))) - (if (macro-join-timeout-exception? _exn11793_) - (macro-join-timeout-exception-arguments _exn11793_) + __tmp12635))))) + (if (macro-join-timeout-exception? _exn11845_) + (macro-join-timeout-exception-arguments _exn11845_) (error '"not an instance" 'join-timeout-exception? - (let ((__tmp12582 + (let ((__tmp12634 (let () (declare (not safe)) - (cons _exn11793_ '())))) + (cons _exn11845_ '())))) (declare (not safe)) (cons 'join-timeout-exception-arguments - __tmp12582))))))) + __tmp12634))))))) (define join-timeout-exception-procedure - (lambda (_exn11787_) + (lambda (_exn11839_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11787_)) - (let ((_e11790_ + (class-instance? RuntimeException::t _exn11839_)) + (let ((_e11842_ (let () (declare (not safe)) - (slot-ref _exn11787_ 'exception)))) - (if (macro-join-timeout-exception? _e11790_) - (macro-join-timeout-exception-procedure _e11790_) + (slot-ref _exn11839_ 'exception)))) + (if (macro-join-timeout-exception? _e11842_) + (macro-join-timeout-exception-procedure _e11842_) (error '"not an instance" 'join-timeout-exception? - (let ((__tmp12585 + (let ((__tmp12637 (let () (declare (not safe)) - (cons _e11790_ '())))) + (cons _e11842_ '())))) (declare (not safe)) (cons 'join-timeout-exception-procedure - __tmp12585))))) - (if (macro-join-timeout-exception? _exn11787_) - (macro-join-timeout-exception-procedure _exn11787_) + __tmp12637))))) + (if (macro-join-timeout-exception? _exn11839_) + (macro-join-timeout-exception-procedure _exn11839_) (error '"not an instance" 'join-timeout-exception? - (let ((__tmp12584 + (let ((__tmp12636 (let () (declare (not safe)) - (cons _exn11787_ '())))) + (cons _exn11839_ '())))) (declare (not safe)) (cons 'join-timeout-exception-procedure - __tmp12584))))))) + __tmp12636))))))) (define keyword-expected-exception? - (lambda (_exn11783_) + (lambda (_exn11835_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11783_)) - (let ((_e11785_ + (class-instance? RuntimeException::t _exn11835_)) + (let ((_e11837_ (let () (declare (not safe)) - (slot-ref _exn11783_ 'exception)))) - (macro-keyword-expected-exception? _e11785_)) - (macro-keyword-expected-exception? _exn11783_)))) + (slot-ref _exn11835_ 'exception)))) + (macro-keyword-expected-exception? _e11837_)) + (macro-keyword-expected-exception? _exn11835_)))) (define keyword-expected-exception-arguments - (lambda (_exn11779_) + (lambda (_exn11831_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11779_)) - (let ((_e11781_ + (class-instance? RuntimeException::t _exn11831_)) + (let ((_e11833_ (let () (declare (not safe)) - (slot-ref _exn11779_ 'exception)))) - (if (macro-keyword-expected-exception? _e11781_) - (macro-keyword-expected-exception-arguments _e11781_) + (slot-ref _exn11831_ 'exception)))) + (if (macro-keyword-expected-exception? _e11833_) + (macro-keyword-expected-exception-arguments _e11833_) (error '"not an instance" 'keyword-expected-exception? - (let ((__tmp12587 + (let ((__tmp12639 (let () (declare (not safe)) - (cons _e11781_ '())))) + (cons _e11833_ '())))) (declare (not safe)) (cons 'keyword-expected-exception-arguments - __tmp12587))))) - (if (macro-keyword-expected-exception? _exn11779_) - (macro-keyword-expected-exception-arguments _exn11779_) + __tmp12639))))) + (if (macro-keyword-expected-exception? _exn11831_) + (macro-keyword-expected-exception-arguments _exn11831_) (error '"not an instance" 'keyword-expected-exception? - (let ((__tmp12586 + (let ((__tmp12638 (let () (declare (not safe)) - (cons _exn11779_ '())))) + (cons _exn11831_ '())))) (declare (not safe)) (cons 'keyword-expected-exception-arguments - __tmp12586))))))) + __tmp12638))))))) (define keyword-expected-exception-procedure - (lambda (_exn11773_) + (lambda (_exn11825_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11773_)) - (let ((_e11776_ + (class-instance? RuntimeException::t _exn11825_)) + (let ((_e11828_ (let () (declare (not safe)) - (slot-ref _exn11773_ 'exception)))) - (if (macro-keyword-expected-exception? _e11776_) - (macro-keyword-expected-exception-procedure _e11776_) + (slot-ref _exn11825_ 'exception)))) + (if (macro-keyword-expected-exception? _e11828_) + (macro-keyword-expected-exception-procedure _e11828_) (error '"not an instance" 'keyword-expected-exception? - (let ((__tmp12589 + (let ((__tmp12641 (let () (declare (not safe)) - (cons _e11776_ '())))) + (cons _e11828_ '())))) (declare (not safe)) (cons 'keyword-expected-exception-procedure - __tmp12589))))) - (if (macro-keyword-expected-exception? _exn11773_) - (macro-keyword-expected-exception-procedure _exn11773_) + __tmp12641))))) + (if (macro-keyword-expected-exception? _exn11825_) + (macro-keyword-expected-exception-procedure _exn11825_) (error '"not an instance" 'keyword-expected-exception? - (let ((__tmp12588 + (let ((__tmp12640 (let () (declare (not safe)) - (cons _exn11773_ '())))) + (cons _exn11825_ '())))) (declare (not safe)) (cons 'keyword-expected-exception-procedure - __tmp12588))))))) + __tmp12640))))))) (define length-mismatch-exception? - (lambda (_exn11769_) + (lambda (_exn11821_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11769_)) - (let ((_e11771_ + (class-instance? RuntimeException::t _exn11821_)) + (let ((_e11823_ (let () (declare (not safe)) - (slot-ref _exn11769_ 'exception)))) - (macro-length-mismatch-exception? _e11771_)) - (macro-length-mismatch-exception? _exn11769_)))) + (slot-ref _exn11821_ 'exception)))) + (macro-length-mismatch-exception? _e11823_)) + (macro-length-mismatch-exception? _exn11821_)))) (define length-mismatch-exception-arg-id - (lambda (_exn11765_) + (lambda (_exn11817_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11765_)) - (let ((_e11767_ + (class-instance? RuntimeException::t _exn11817_)) + (let ((_e11819_ (let () (declare (not safe)) - (slot-ref _exn11765_ 'exception)))) - (if (macro-length-mismatch-exception? _e11767_) - (macro-length-mismatch-exception-arg-id _e11767_) + (slot-ref _exn11817_ 'exception)))) + (if (macro-length-mismatch-exception? _e11819_) + (macro-length-mismatch-exception-arg-id _e11819_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12591 + (let ((__tmp12643 (let () (declare (not safe)) - (cons _e11767_ '())))) + (cons _e11819_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-arg-id - __tmp12591))))) - (if (macro-length-mismatch-exception? _exn11765_) - (macro-length-mismatch-exception-arg-id _exn11765_) + __tmp12643))))) + (if (macro-length-mismatch-exception? _exn11817_) + (macro-length-mismatch-exception-arg-id _exn11817_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12590 + (let ((__tmp12642 (let () (declare (not safe)) - (cons _exn11765_ '())))) + (cons _exn11817_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-arg-id - __tmp12590))))))) + __tmp12642))))))) (define length-mismatch-exception-arguments - (lambda (_exn11761_) + (lambda (_exn11813_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11761_)) - (let ((_e11763_ + (class-instance? RuntimeException::t _exn11813_)) + (let ((_e11815_ (let () (declare (not safe)) - (slot-ref _exn11761_ 'exception)))) - (if (macro-length-mismatch-exception? _e11763_) - (macro-length-mismatch-exception-arguments _e11763_) + (slot-ref _exn11813_ 'exception)))) + (if (macro-length-mismatch-exception? _e11815_) + (macro-length-mismatch-exception-arguments _e11815_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12593 + (let ((__tmp12645 (let () (declare (not safe)) - (cons _e11763_ '())))) + (cons _e11815_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-arguments - __tmp12593))))) - (if (macro-length-mismatch-exception? _exn11761_) - (macro-length-mismatch-exception-arguments _exn11761_) + __tmp12645))))) + (if (macro-length-mismatch-exception? _exn11813_) + (macro-length-mismatch-exception-arguments _exn11813_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12592 + (let ((__tmp12644 (let () (declare (not safe)) - (cons _exn11761_ '())))) + (cons _exn11813_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-arguments - __tmp12592))))))) + __tmp12644))))))) (define length-mismatch-exception-procedure - (lambda (_exn11755_) + (lambda (_exn11807_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11755_)) - (let ((_e11758_ + (class-instance? RuntimeException::t _exn11807_)) + (let ((_e11810_ (let () (declare (not safe)) - (slot-ref _exn11755_ 'exception)))) - (if (macro-length-mismatch-exception? _e11758_) - (macro-length-mismatch-exception-procedure _e11758_) + (slot-ref _exn11807_ 'exception)))) + (if (macro-length-mismatch-exception? _e11810_) + (macro-length-mismatch-exception-procedure _e11810_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12595 + (let ((__tmp12647 (let () (declare (not safe)) - (cons _e11758_ '())))) + (cons _e11810_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-procedure - __tmp12595))))) - (if (macro-length-mismatch-exception? _exn11755_) - (macro-length-mismatch-exception-procedure _exn11755_) + __tmp12647))))) + (if (macro-length-mismatch-exception? _exn11807_) + (macro-length-mismatch-exception-procedure _exn11807_) (error '"not an instance" 'length-mismatch-exception? - (let ((__tmp12594 + (let ((__tmp12646 (let () (declare (not safe)) - (cons _exn11755_ '())))) + (cons _exn11807_ '())))) (declare (not safe)) (cons 'length-mismatch-exception-procedure - __tmp12594))))))) + __tmp12646))))))) (define mailbox-receive-timeout-exception? - (lambda (_exn11751_) + (lambda (_exn11803_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11751_)) - (let ((_e11753_ + (class-instance? RuntimeException::t _exn11803_)) + (let ((_e11805_ (let () (declare (not safe)) - (slot-ref _exn11751_ 'exception)))) - (macro-mailbox-receive-timeout-exception? _e11753_)) - (macro-mailbox-receive-timeout-exception? _exn11751_)))) + (slot-ref _exn11803_ 'exception)))) + (macro-mailbox-receive-timeout-exception? _e11805_)) + (macro-mailbox-receive-timeout-exception? _exn11803_)))) (define mailbox-receive-timeout-exception-arguments - (lambda (_exn11747_) + (lambda (_exn11799_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11747_)) - (let ((_e11749_ + (class-instance? RuntimeException::t _exn11799_)) + (let ((_e11801_ (let () (declare (not safe)) - (slot-ref _exn11747_ 'exception)))) - (if (macro-mailbox-receive-timeout-exception? _e11749_) - (macro-mailbox-receive-timeout-exception-arguments _e11749_) + (slot-ref _exn11799_ 'exception)))) + (if (macro-mailbox-receive-timeout-exception? _e11801_) + (macro-mailbox-receive-timeout-exception-arguments _e11801_) (error '"not an instance" 'mailbox-receive-timeout-exception? - (let ((__tmp12597 + (let ((__tmp12649 (let () (declare (not safe)) - (cons _e11749_ '())))) + (cons _e11801_ '())))) (declare (not safe)) (cons 'mailbox-receive-timeout-exception-arguments - __tmp12597))))) - (if (macro-mailbox-receive-timeout-exception? _exn11747_) - (macro-mailbox-receive-timeout-exception-arguments _exn11747_) + __tmp12649))))) + (if (macro-mailbox-receive-timeout-exception? _exn11799_) + (macro-mailbox-receive-timeout-exception-arguments _exn11799_) (error '"not an instance" 'mailbox-receive-timeout-exception? - (let ((__tmp12596 + (let ((__tmp12648 (let () (declare (not safe)) - (cons _exn11747_ '())))) + (cons _exn11799_ '())))) (declare (not safe)) (cons 'mailbox-receive-timeout-exception-arguments - __tmp12596))))))) + __tmp12648))))))) (define mailbox-receive-timeout-exception-procedure - (lambda (_exn11741_) + (lambda (_exn11793_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11741_)) - (let ((_e11744_ + (class-instance? RuntimeException::t _exn11793_)) + (let ((_e11796_ (let () (declare (not safe)) - (slot-ref _exn11741_ 'exception)))) - (if (macro-mailbox-receive-timeout-exception? _e11744_) - (macro-mailbox-receive-timeout-exception-procedure _e11744_) + (slot-ref _exn11793_ 'exception)))) + (if (macro-mailbox-receive-timeout-exception? _e11796_) + (macro-mailbox-receive-timeout-exception-procedure _e11796_) (error '"not an instance" 'mailbox-receive-timeout-exception? - (let ((__tmp12599 + (let ((__tmp12651 (let () (declare (not safe)) - (cons _e11744_ '())))) + (cons _e11796_ '())))) (declare (not safe)) (cons 'mailbox-receive-timeout-exception-procedure - __tmp12599))))) - (if (macro-mailbox-receive-timeout-exception? _exn11741_) - (macro-mailbox-receive-timeout-exception-procedure _exn11741_) + __tmp12651))))) + (if (macro-mailbox-receive-timeout-exception? _exn11793_) + (macro-mailbox-receive-timeout-exception-procedure _exn11793_) (error '"not an instance" 'mailbox-receive-timeout-exception? - (let ((__tmp12598 + (let ((__tmp12650 (let () (declare (not safe)) - (cons _exn11741_ '())))) + (cons _exn11793_ '())))) (declare (not safe)) (cons 'mailbox-receive-timeout-exception-procedure - __tmp12598))))))) + __tmp12650))))))) (define module-not-found-exception? - (lambda (_exn11737_) + (lambda (_exn11789_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11737_)) - (let ((_e11739_ + (class-instance? RuntimeException::t _exn11789_)) + (let ((_e11791_ (let () (declare (not safe)) - (slot-ref _exn11737_ 'exception)))) - (macro-module-not-found-exception? _e11739_)) - (macro-module-not-found-exception? _exn11737_)))) + (slot-ref _exn11789_ 'exception)))) + (macro-module-not-found-exception? _e11791_)) + (macro-module-not-found-exception? _exn11789_)))) (define module-not-found-exception-arguments - (lambda (_exn11733_) + (lambda (_exn11785_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11733_)) - (let ((_e11735_ + (class-instance? RuntimeException::t _exn11785_)) + (let ((_e11787_ (let () (declare (not safe)) - (slot-ref _exn11733_ 'exception)))) - (if (macro-module-not-found-exception? _e11735_) - (macro-module-not-found-exception-arguments _e11735_) + (slot-ref _exn11785_ 'exception)))) + (if (macro-module-not-found-exception? _e11787_) + (macro-module-not-found-exception-arguments _e11787_) (error '"not an instance" 'module-not-found-exception? - (let ((__tmp12601 + (let ((__tmp12653 (let () (declare (not safe)) - (cons _e11735_ '())))) + (cons _e11787_ '())))) (declare (not safe)) (cons 'module-not-found-exception-arguments - __tmp12601))))) - (if (macro-module-not-found-exception? _exn11733_) - (macro-module-not-found-exception-arguments _exn11733_) + __tmp12653))))) + (if (macro-module-not-found-exception? _exn11785_) + (macro-module-not-found-exception-arguments _exn11785_) (error '"not an instance" 'module-not-found-exception? - (let ((__tmp12600 + (let ((__tmp12652 (let () (declare (not safe)) - (cons _exn11733_ '())))) + (cons _exn11785_ '())))) (declare (not safe)) (cons 'module-not-found-exception-arguments - __tmp12600))))))) + __tmp12652))))))) (define module-not-found-exception-procedure - (lambda (_exn11727_) + (lambda (_exn11779_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11727_)) - (let ((_e11730_ + (class-instance? RuntimeException::t _exn11779_)) + (let ((_e11782_ (let () (declare (not safe)) - (slot-ref _exn11727_ 'exception)))) - (if (macro-module-not-found-exception? _e11730_) - (macro-module-not-found-exception-procedure _e11730_) + (slot-ref _exn11779_ 'exception)))) + (if (macro-module-not-found-exception? _e11782_) + (macro-module-not-found-exception-procedure _e11782_) (error '"not an instance" 'module-not-found-exception? - (let ((__tmp12603 + (let ((__tmp12655 (let () (declare (not safe)) - (cons _e11730_ '())))) + (cons _e11782_ '())))) (declare (not safe)) (cons 'module-not-found-exception-procedure - __tmp12603))))) - (if (macro-module-not-found-exception? _exn11727_) - (macro-module-not-found-exception-procedure _exn11727_) + __tmp12655))))) + (if (macro-module-not-found-exception? _exn11779_) + (macro-module-not-found-exception-procedure _exn11779_) (error '"not an instance" 'module-not-found-exception? - (let ((__tmp12602 + (let ((__tmp12654 (let () (declare (not safe)) - (cons _exn11727_ '())))) + (cons _exn11779_ '())))) (declare (not safe)) (cons 'module-not-found-exception-procedure - __tmp12602))))))) + __tmp12654))))))) (define multiple-c-return-exception? - (lambda (_exn11721_) + (lambda (_exn11773_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11721_)) - (let ((_e11724_ + (class-instance? RuntimeException::t _exn11773_)) + (let ((_e11776_ (let () (declare (not safe)) - (slot-ref _exn11721_ 'exception)))) - (macro-multiple-c-return-exception? _e11724_)) - (macro-multiple-c-return-exception? _exn11721_)))) + (slot-ref _exn11773_ 'exception)))) + (macro-multiple-c-return-exception? _e11776_)) + (macro-multiple-c-return-exception? _exn11773_)))) (define no-such-file-or-directory-exception? - (lambda (_exn11717_) + (lambda (_exn11769_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11717_)) - (let ((_e11719_ + (class-instance? RuntimeException::t _exn11769_)) + (let ((_e11771_ (let () (declare (not safe)) - (slot-ref _exn11717_ 'exception)))) - (macro-no-such-file-or-directory-exception? _e11719_)) - (macro-no-such-file-or-directory-exception? _exn11717_)))) + (slot-ref _exn11769_ 'exception)))) + (macro-no-such-file-or-directory-exception? _e11771_)) + (macro-no-such-file-or-directory-exception? _exn11769_)))) (define no-such-file-or-directory-exception-arguments - (lambda (_exn11713_) + (lambda (_exn11765_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11713_)) - (let ((_e11715_ + (class-instance? RuntimeException::t _exn11765_)) + (let ((_e11767_ (let () (declare (not safe)) - (slot-ref _exn11713_ 'exception)))) - (if (macro-no-such-file-or-directory-exception? _e11715_) + (slot-ref _exn11765_ 'exception)))) + (if (macro-no-such-file-or-directory-exception? _e11767_) (macro-no-such-file-or-directory-exception-arguments - _e11715_) + _e11767_) (error '"not an instance" 'no-such-file-or-directory-exception? - (let ((__tmp12605 + (let ((__tmp12657 (let () (declare (not safe)) - (cons _e11715_ '())))) + (cons _e11767_ '())))) (declare (not safe)) (cons 'no-such-file-or-directory-exception-arguments - __tmp12605))))) - (if (macro-no-such-file-or-directory-exception? _exn11713_) + __tmp12657))))) + (if (macro-no-such-file-or-directory-exception? _exn11765_) (macro-no-such-file-or-directory-exception-arguments - _exn11713_) + _exn11765_) (error '"not an instance" 'no-such-file-or-directory-exception? - (let ((__tmp12604 + (let ((__tmp12656 (let () (declare (not safe)) - (cons _exn11713_ '())))) + (cons _exn11765_ '())))) (declare (not safe)) (cons 'no-such-file-or-directory-exception-arguments - __tmp12604))))))) + __tmp12656))))))) (define no-such-file-or-directory-exception-procedure - (lambda (_exn11707_) + (lambda (_exn11759_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11707_)) - (let ((_e11710_ + (class-instance? RuntimeException::t _exn11759_)) + (let ((_e11762_ (let () (declare (not safe)) - (slot-ref _exn11707_ 'exception)))) - (if (macro-no-such-file-or-directory-exception? _e11710_) + (slot-ref _exn11759_ 'exception)))) + (if (macro-no-such-file-or-directory-exception? _e11762_) (macro-no-such-file-or-directory-exception-procedure - _e11710_) + _e11762_) (error '"not an instance" 'no-such-file-or-directory-exception? - (let ((__tmp12607 + (let ((__tmp12659 (let () (declare (not safe)) - (cons _e11710_ '())))) + (cons _e11762_ '())))) (declare (not safe)) (cons 'no-such-file-or-directory-exception-procedure - __tmp12607))))) - (if (macro-no-such-file-or-directory-exception? _exn11707_) + __tmp12659))))) + (if (macro-no-such-file-or-directory-exception? _exn11759_) (macro-no-such-file-or-directory-exception-procedure - _exn11707_) + _exn11759_) (error '"not an instance" 'no-such-file-or-directory-exception? - (let ((__tmp12606 + (let ((__tmp12658 (let () (declare (not safe)) - (cons _exn11707_ '())))) + (cons _exn11759_ '())))) (declare (not safe)) (cons 'no-such-file-or-directory-exception-procedure - __tmp12606))))))) + __tmp12658))))))) (define noncontinuable-exception? - (lambda (_exn11703_) + (lambda (_exn11755_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11703_)) - (let ((_e11705_ + (class-instance? RuntimeException::t _exn11755_)) + (let ((_e11757_ (let () (declare (not safe)) - (slot-ref _exn11703_ 'exception)))) - (macro-noncontinuable-exception? _e11705_)) - (macro-noncontinuable-exception? _exn11703_)))) + (slot-ref _exn11755_ 'exception)))) + (macro-noncontinuable-exception? _e11757_)) + (macro-noncontinuable-exception? _exn11755_)))) (define noncontinuable-exception-reason - (lambda (_exn11697_) + (lambda (_exn11749_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11697_)) - (let ((_e11700_ + (class-instance? RuntimeException::t _exn11749_)) + (let ((_e11752_ (let () (declare (not safe)) - (slot-ref _exn11697_ 'exception)))) - (if (macro-noncontinuable-exception? _e11700_) - (macro-noncontinuable-exception-reason _e11700_) + (slot-ref _exn11749_ 'exception)))) + (if (macro-noncontinuable-exception? _e11752_) + (macro-noncontinuable-exception-reason _e11752_) (error '"not an instance" 'noncontinuable-exception? - (let ((__tmp12609 + (let ((__tmp12661 (let () (declare (not safe)) - (cons _e11700_ '())))) + (cons _e11752_ '())))) (declare (not safe)) (cons 'noncontinuable-exception-reason - __tmp12609))))) - (if (macro-noncontinuable-exception? _exn11697_) - (macro-noncontinuable-exception-reason _exn11697_) + __tmp12661))))) + (if (macro-noncontinuable-exception? _exn11749_) + (macro-noncontinuable-exception-reason _exn11749_) (error '"not an instance" 'noncontinuable-exception? - (let ((__tmp12608 + (let ((__tmp12660 (let () (declare (not safe)) - (cons _exn11697_ '())))) + (cons _exn11749_ '())))) (declare (not safe)) (cons 'noncontinuable-exception-reason - __tmp12608))))))) + __tmp12660))))))) (define nonempty-input-port-character-buffer-exception? - (lambda (_exn11693_) + (lambda (_exn11745_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11693_)) - (let ((_e11695_ + (class-instance? RuntimeException::t _exn11745_)) + (let ((_e11747_ (let () (declare (not safe)) - (slot-ref _exn11693_ 'exception)))) - (macro-nonempty-input-port-character-buffer-exception? _e11695_)) + (slot-ref _exn11745_ 'exception)))) + (macro-nonempty-input-port-character-buffer-exception? _e11747_)) (macro-nonempty-input-port-character-buffer-exception? - _exn11693_)))) + _exn11745_)))) (define nonempty-input-port-character-buffer-exception-arguments - (lambda (_exn11689_) + (lambda (_exn11741_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11689_)) - (let ((_e11691_ + (class-instance? RuntimeException::t _exn11741_)) + (let ((_e11743_ (let () (declare (not safe)) - (slot-ref _exn11689_ 'exception)))) + (slot-ref _exn11741_ 'exception)))) (if (macro-nonempty-input-port-character-buffer-exception? - _e11691_) + _e11743_) (macro-nonempty-input-port-character-buffer-exception-arguments - _e11691_) + _e11743_) (error '"not an instance" 'nonempty-input-port-character-buffer-exception? - (let ((__tmp12611 + (let ((__tmp12663 (let () (declare (not safe)) - (cons _e11691_ '())))) + (cons _e11743_ '())))) (declare (not safe)) (cons 'nonempty-input-port-character-buffer-exception-arguments - __tmp12611))))) + __tmp12663))))) (if (macro-nonempty-input-port-character-buffer-exception? - _exn11689_) + _exn11741_) (macro-nonempty-input-port-character-buffer-exception-arguments - _exn11689_) + _exn11741_) (error '"not an instance" 'nonempty-input-port-character-buffer-exception? - (let ((__tmp12610 + (let ((__tmp12662 (let () (declare (not safe)) - (cons _exn11689_ '())))) + (cons _exn11741_ '())))) (declare (not safe)) (cons 'nonempty-input-port-character-buffer-exception-arguments - __tmp12610))))))) + __tmp12662))))))) (define nonempty-input-port-character-buffer-exception-procedure - (lambda (_exn11683_) + (lambda (_exn11735_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11683_)) - (let ((_e11686_ + (class-instance? RuntimeException::t _exn11735_)) + (let ((_e11738_ (let () (declare (not safe)) - (slot-ref _exn11683_ 'exception)))) + (slot-ref _exn11735_ 'exception)))) (if (macro-nonempty-input-port-character-buffer-exception? - _e11686_) + _e11738_) (macro-nonempty-input-port-character-buffer-exception-procedure - _e11686_) + _e11738_) (error '"not an instance" 'nonempty-input-port-character-buffer-exception? - (let ((__tmp12613 + (let ((__tmp12665 (let () (declare (not safe)) - (cons _e11686_ '())))) + (cons _e11738_ '())))) (declare (not safe)) (cons 'nonempty-input-port-character-buffer-exception-procedure - __tmp12613))))) + __tmp12665))))) (if (macro-nonempty-input-port-character-buffer-exception? - _exn11683_) + _exn11735_) (macro-nonempty-input-port-character-buffer-exception-procedure - _exn11683_) + _exn11735_) (error '"not an instance" 'nonempty-input-port-character-buffer-exception? - (let ((__tmp12612 + (let ((__tmp12664 (let () (declare (not safe)) - (cons _exn11683_ '())))) + (cons _exn11735_ '())))) (declare (not safe)) (cons 'nonempty-input-port-character-buffer-exception-procedure - __tmp12612))))))) + __tmp12664))))))) (define nonprocedure-operator-exception? - (lambda (_exn11679_) + (lambda (_exn11731_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11679_)) - (let ((_e11681_ + (class-instance? RuntimeException::t _exn11731_)) + (let ((_e11733_ (let () (declare (not safe)) - (slot-ref _exn11679_ 'exception)))) - (macro-nonprocedure-operator-exception? _e11681_)) - (macro-nonprocedure-operator-exception? _exn11679_)))) + (slot-ref _exn11731_ 'exception)))) + (macro-nonprocedure-operator-exception? _e11733_)) + (macro-nonprocedure-operator-exception? _exn11731_)))) (define nonprocedure-operator-exception-arguments - (lambda (_exn11675_) + (lambda (_exn11727_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11675_)) - (let ((_e11677_ + (class-instance? RuntimeException::t _exn11727_)) + (let ((_e11729_ (let () (declare (not safe)) - (slot-ref _exn11675_ 'exception)))) - (if (macro-nonprocedure-operator-exception? _e11677_) - (macro-nonprocedure-operator-exception-arguments _e11677_) + (slot-ref _exn11727_ 'exception)))) + (if (macro-nonprocedure-operator-exception? _e11729_) + (macro-nonprocedure-operator-exception-arguments _e11729_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12615 + (let ((__tmp12667 (let () (declare (not safe)) - (cons _e11677_ '())))) + (cons _e11729_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-arguments - __tmp12615))))) - (if (macro-nonprocedure-operator-exception? _exn11675_) - (macro-nonprocedure-operator-exception-arguments _exn11675_) + __tmp12667))))) + (if (macro-nonprocedure-operator-exception? _exn11727_) + (macro-nonprocedure-operator-exception-arguments _exn11727_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12614 + (let ((__tmp12666 (let () (declare (not safe)) - (cons _exn11675_ '())))) + (cons _exn11727_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-arguments - __tmp12614))))))) + __tmp12666))))))) (define nonprocedure-operator-exception-code - (lambda (_exn11671_) + (lambda (_exn11723_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11671_)) - (let ((_e11673_ + (class-instance? RuntimeException::t _exn11723_)) + (let ((_e11725_ (let () (declare (not safe)) - (slot-ref _exn11671_ 'exception)))) - (if (macro-nonprocedure-operator-exception? _e11673_) - (macro-nonprocedure-operator-exception-code _e11673_) + (slot-ref _exn11723_ 'exception)))) + (if (macro-nonprocedure-operator-exception? _e11725_) + (macro-nonprocedure-operator-exception-code _e11725_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12617 + (let ((__tmp12669 (let () (declare (not safe)) - (cons _e11673_ '())))) + (cons _e11725_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-code - __tmp12617))))) - (if (macro-nonprocedure-operator-exception? _exn11671_) - (macro-nonprocedure-operator-exception-code _exn11671_) + __tmp12669))))) + (if (macro-nonprocedure-operator-exception? _exn11723_) + (macro-nonprocedure-operator-exception-code _exn11723_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12616 + (let ((__tmp12668 (let () (declare (not safe)) - (cons _exn11671_ '())))) + (cons _exn11723_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-code - __tmp12616))))))) + __tmp12668))))))) (define nonprocedure-operator-exception-operator - (lambda (_exn11667_) + (lambda (_exn11719_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11667_)) - (let ((_e11669_ + (class-instance? RuntimeException::t _exn11719_)) + (let ((_e11721_ (let () (declare (not safe)) - (slot-ref _exn11667_ 'exception)))) - (if (macro-nonprocedure-operator-exception? _e11669_) - (macro-nonprocedure-operator-exception-operator _e11669_) + (slot-ref _exn11719_ 'exception)))) + (if (macro-nonprocedure-operator-exception? _e11721_) + (macro-nonprocedure-operator-exception-operator _e11721_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12619 + (let ((__tmp12671 (let () (declare (not safe)) - (cons _e11669_ '())))) + (cons _e11721_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-operator - __tmp12619))))) - (if (macro-nonprocedure-operator-exception? _exn11667_) - (macro-nonprocedure-operator-exception-operator _exn11667_) + __tmp12671))))) + (if (macro-nonprocedure-operator-exception? _exn11719_) + (macro-nonprocedure-operator-exception-operator _exn11719_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12618 + (let ((__tmp12670 (let () (declare (not safe)) - (cons _exn11667_ '())))) + (cons _exn11719_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-operator - __tmp12618))))))) + __tmp12670))))))) (define nonprocedure-operator-exception-rte - (lambda (_exn11661_) + (lambda (_exn11713_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11661_)) - (let ((_e11664_ + (class-instance? RuntimeException::t _exn11713_)) + (let ((_e11716_ (let () (declare (not safe)) - (slot-ref _exn11661_ 'exception)))) - (if (macro-nonprocedure-operator-exception? _e11664_) - (macro-nonprocedure-operator-exception-rte _e11664_) + (slot-ref _exn11713_ 'exception)))) + (if (macro-nonprocedure-operator-exception? _e11716_) + (macro-nonprocedure-operator-exception-rte _e11716_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12621 + (let ((__tmp12673 (let () (declare (not safe)) - (cons _e11664_ '())))) + (cons _e11716_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-rte - __tmp12621))))) - (if (macro-nonprocedure-operator-exception? _exn11661_) - (macro-nonprocedure-operator-exception-rte _exn11661_) + __tmp12673))))) + (if (macro-nonprocedure-operator-exception? _exn11713_) + (macro-nonprocedure-operator-exception-rte _exn11713_) (error '"not an instance" 'nonprocedure-operator-exception? - (let ((__tmp12620 + (let ((__tmp12672 (let () (declare (not safe)) - (cons _exn11661_ '())))) + (cons _exn11713_ '())))) (declare (not safe)) (cons 'nonprocedure-operator-exception-rte - __tmp12620))))))) + __tmp12672))))))) (define not-in-compilation-context-exception? - (lambda (_exn11657_) + (lambda (_exn11709_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11657_)) - (let ((_e11659_ + (class-instance? RuntimeException::t _exn11709_)) + (let ((_e11711_ (let () (declare (not safe)) - (slot-ref _exn11657_ 'exception)))) - (macro-not-in-compilation-context-exception? _e11659_)) - (macro-not-in-compilation-context-exception? _exn11657_)))) + (slot-ref _exn11709_ 'exception)))) + (macro-not-in-compilation-context-exception? _e11711_)) + (macro-not-in-compilation-context-exception? _exn11709_)))) (define not-in-compilation-context-exception-arguments - (lambda (_exn11653_) + (lambda (_exn11705_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11653_)) - (let ((_e11655_ + (class-instance? RuntimeException::t _exn11705_)) + (let ((_e11707_ (let () (declare (not safe)) - (slot-ref _exn11653_ 'exception)))) - (if (macro-not-in-compilation-context-exception? _e11655_) + (slot-ref _exn11705_ 'exception)))) + (if (macro-not-in-compilation-context-exception? _e11707_) (macro-not-in-compilation-context-exception-arguments - _e11655_) + _e11707_) (error '"not an instance" 'not-in-compilation-context-exception? - (let ((__tmp12623 + (let ((__tmp12675 (let () (declare (not safe)) - (cons _e11655_ '())))) + (cons _e11707_ '())))) (declare (not safe)) (cons 'not-in-compilation-context-exception-arguments - __tmp12623))))) - (if (macro-not-in-compilation-context-exception? _exn11653_) + __tmp12675))))) + (if (macro-not-in-compilation-context-exception? _exn11705_) (macro-not-in-compilation-context-exception-arguments - _exn11653_) + _exn11705_) (error '"not an instance" 'not-in-compilation-context-exception? - (let ((__tmp12622 + (let ((__tmp12674 (let () (declare (not safe)) - (cons _exn11653_ '())))) + (cons _exn11705_ '())))) (declare (not safe)) (cons 'not-in-compilation-context-exception-arguments - __tmp12622))))))) + __tmp12674))))))) (define not-in-compilation-context-exception-procedure - (lambda (_exn11647_) + (lambda (_exn11699_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11647_)) - (let ((_e11650_ + (class-instance? RuntimeException::t _exn11699_)) + (let ((_e11702_ (let () (declare (not safe)) - (slot-ref _exn11647_ 'exception)))) - (if (macro-not-in-compilation-context-exception? _e11650_) + (slot-ref _exn11699_ 'exception)))) + (if (macro-not-in-compilation-context-exception? _e11702_) (macro-not-in-compilation-context-exception-procedure - _e11650_) + _e11702_) (error '"not an instance" 'not-in-compilation-context-exception? - (let ((__tmp12625 + (let ((__tmp12677 (let () (declare (not safe)) - (cons _e11650_ '())))) + (cons _e11702_ '())))) (declare (not safe)) (cons 'not-in-compilation-context-exception-procedure - __tmp12625))))) - (if (macro-not-in-compilation-context-exception? _exn11647_) + __tmp12677))))) + (if (macro-not-in-compilation-context-exception? _exn11699_) (macro-not-in-compilation-context-exception-procedure - _exn11647_) + _exn11699_) (error '"not an instance" 'not-in-compilation-context-exception? - (let ((__tmp12624 + (let ((__tmp12676 (let () (declare (not safe)) - (cons _exn11647_ '())))) + (cons _exn11699_ '())))) (declare (not safe)) (cons 'not-in-compilation-context-exception-procedure - __tmp12624))))))) + __tmp12676))))))) (define number-of-arguments-limit-exception? - (lambda (_exn11643_) + (lambda (_exn11695_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11643_)) - (let ((_e11645_ + (class-instance? RuntimeException::t _exn11695_)) + (let ((_e11697_ (let () (declare (not safe)) - (slot-ref _exn11643_ 'exception)))) - (macro-number-of-arguments-limit-exception? _e11645_)) - (macro-number-of-arguments-limit-exception? _exn11643_)))) + (slot-ref _exn11695_ 'exception)))) + (macro-number-of-arguments-limit-exception? _e11697_)) + (macro-number-of-arguments-limit-exception? _exn11695_)))) (define number-of-arguments-limit-exception-arguments - (lambda (_exn11639_) + (lambda (_exn11691_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11639_)) - (let ((_e11641_ + (class-instance? RuntimeException::t _exn11691_)) + (let ((_e11693_ (let () (declare (not safe)) - (slot-ref _exn11639_ 'exception)))) - (if (macro-number-of-arguments-limit-exception? _e11641_) + (slot-ref _exn11691_ 'exception)))) + (if (macro-number-of-arguments-limit-exception? _e11693_) (macro-number-of-arguments-limit-exception-arguments - _e11641_) + _e11693_) (error '"not an instance" 'number-of-arguments-limit-exception? - (let ((__tmp12627 + (let ((__tmp12679 (let () (declare (not safe)) - (cons _e11641_ '())))) + (cons _e11693_ '())))) (declare (not safe)) (cons 'number-of-arguments-limit-exception-arguments - __tmp12627))))) - (if (macro-number-of-arguments-limit-exception? _exn11639_) + __tmp12679))))) + (if (macro-number-of-arguments-limit-exception? _exn11691_) (macro-number-of-arguments-limit-exception-arguments - _exn11639_) + _exn11691_) (error '"not an instance" 'number-of-arguments-limit-exception? - (let ((__tmp12626 + (let ((__tmp12678 (let () (declare (not safe)) - (cons _exn11639_ '())))) + (cons _exn11691_ '())))) (declare (not safe)) (cons 'number-of-arguments-limit-exception-arguments - __tmp12626))))))) + __tmp12678))))))) (define number-of-arguments-limit-exception-procedure - (lambda (_exn11633_) + (lambda (_exn11685_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11633_)) - (let ((_e11636_ + (class-instance? RuntimeException::t _exn11685_)) + (let ((_e11688_ (let () (declare (not safe)) - (slot-ref _exn11633_ 'exception)))) - (if (macro-number-of-arguments-limit-exception? _e11636_) + (slot-ref _exn11685_ 'exception)))) + (if (macro-number-of-arguments-limit-exception? _e11688_) (macro-number-of-arguments-limit-exception-procedure - _e11636_) + _e11688_) (error '"not an instance" 'number-of-arguments-limit-exception? - (let ((__tmp12629 + (let ((__tmp12681 (let () (declare (not safe)) - (cons _e11636_ '())))) + (cons _e11688_ '())))) (declare (not safe)) (cons 'number-of-arguments-limit-exception-procedure - __tmp12629))))) - (if (macro-number-of-arguments-limit-exception? _exn11633_) + __tmp12681))))) + (if (macro-number-of-arguments-limit-exception? _exn11685_) (macro-number-of-arguments-limit-exception-procedure - _exn11633_) + _exn11685_) (error '"not an instance" 'number-of-arguments-limit-exception? - (let ((__tmp12628 + (let ((__tmp12680 (let () (declare (not safe)) - (cons _exn11633_ '())))) + (cons _exn11685_ '())))) (declare (not safe)) (cons 'number-of-arguments-limit-exception-procedure - __tmp12628))))))) + __tmp12680))))))) (define os-exception? - (lambda (_exn11629_) + (lambda (_exn11681_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11629_)) - (let ((_e11631_ + (class-instance? RuntimeException::t _exn11681_)) + (let ((_e11683_ (let () (declare (not safe)) - (slot-ref _exn11629_ 'exception)))) - (macro-os-exception? _e11631_)) - (macro-os-exception? _exn11629_)))) + (slot-ref _exn11681_ 'exception)))) + (macro-os-exception? _e11683_)) + (macro-os-exception? _exn11681_)))) (define os-exception-arguments - (lambda (_exn11625_) + (lambda (_exn11677_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11625_)) - (let ((_e11627_ + (class-instance? RuntimeException::t _exn11677_)) + (let ((_e11679_ (let () (declare (not safe)) - (slot-ref _exn11625_ 'exception)))) - (if (macro-os-exception? _e11627_) - (macro-os-exception-arguments _e11627_) + (slot-ref _exn11677_ 'exception)))) + (if (macro-os-exception? _e11679_) + (macro-os-exception-arguments _e11679_) (error '"not an instance" 'os-exception? - (let ((__tmp12631 + (let ((__tmp12683 (let () (declare (not safe)) - (cons _e11627_ '())))) + (cons _e11679_ '())))) (declare (not safe)) - (cons 'os-exception-arguments __tmp12631))))) - (if (macro-os-exception? _exn11625_) - (macro-os-exception-arguments _exn11625_) + (cons 'os-exception-arguments __tmp12683))))) + (if (macro-os-exception? _exn11677_) + (macro-os-exception-arguments _exn11677_) (error '"not an instance" 'os-exception? - (let ((__tmp12630 + (let ((__tmp12682 (let () (declare (not safe)) - (cons _exn11625_ '())))) + (cons _exn11677_ '())))) (declare (not safe)) - (cons 'os-exception-arguments __tmp12630))))))) + (cons 'os-exception-arguments __tmp12682))))))) (define os-exception-code - (lambda (_exn11621_) + (lambda (_exn11673_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11621_)) - (let ((_e11623_ + (class-instance? RuntimeException::t _exn11673_)) + (let ((_e11675_ (let () (declare (not safe)) - (slot-ref _exn11621_ 'exception)))) - (if (macro-os-exception? _e11623_) - (macro-os-exception-code _e11623_) + (slot-ref _exn11673_ 'exception)))) + (if (macro-os-exception? _e11675_) + (macro-os-exception-code _e11675_) (error '"not an instance" 'os-exception? - (let ((__tmp12633 + (let ((__tmp12685 (let () (declare (not safe)) - (cons _e11623_ '())))) + (cons _e11675_ '())))) (declare (not safe)) - (cons 'os-exception-code __tmp12633))))) - (if (macro-os-exception? _exn11621_) - (macro-os-exception-code _exn11621_) + (cons 'os-exception-code __tmp12685))))) + (if (macro-os-exception? _exn11673_) + (macro-os-exception-code _exn11673_) (error '"not an instance" 'os-exception? - (let ((__tmp12632 + (let ((__tmp12684 (let () (declare (not safe)) - (cons _exn11621_ '())))) + (cons _exn11673_ '())))) (declare (not safe)) - (cons 'os-exception-code __tmp12632))))))) + (cons 'os-exception-code __tmp12684))))))) (define os-exception-message - (lambda (_exn11617_) + (lambda (_exn11669_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11617_)) - (let ((_e11619_ + (class-instance? RuntimeException::t _exn11669_)) + (let ((_e11671_ (let () (declare (not safe)) - (slot-ref _exn11617_ 'exception)))) - (if (macro-os-exception? _e11619_) - (macro-os-exception-message _e11619_) + (slot-ref _exn11669_ 'exception)))) + (if (macro-os-exception? _e11671_) + (macro-os-exception-message _e11671_) (error '"not an instance" 'os-exception? - (let ((__tmp12635 + (let ((__tmp12687 (let () (declare (not safe)) - (cons _e11619_ '())))) + (cons _e11671_ '())))) (declare (not safe)) - (cons 'os-exception-message __tmp12635))))) - (if (macro-os-exception? _exn11617_) - (macro-os-exception-message _exn11617_) + (cons 'os-exception-message __tmp12687))))) + (if (macro-os-exception? _exn11669_) + (macro-os-exception-message _exn11669_) (error '"not an instance" 'os-exception? - (let ((__tmp12634 + (let ((__tmp12686 (let () (declare (not safe)) - (cons _exn11617_ '())))) + (cons _exn11669_ '())))) (declare (not safe)) - (cons 'os-exception-message __tmp12634))))))) + (cons 'os-exception-message __tmp12686))))))) (define os-exception-procedure - (lambda (_exn11611_) + (lambda (_exn11663_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11611_)) - (let ((_e11614_ + (class-instance? RuntimeException::t _exn11663_)) + (let ((_e11666_ (let () (declare (not safe)) - (slot-ref _exn11611_ 'exception)))) - (if (macro-os-exception? _e11614_) - (macro-os-exception-procedure _e11614_) + (slot-ref _exn11663_ 'exception)))) + (if (macro-os-exception? _e11666_) + (macro-os-exception-procedure _e11666_) (error '"not an instance" 'os-exception? - (let ((__tmp12637 + (let ((__tmp12689 (let () (declare (not safe)) - (cons _e11614_ '())))) + (cons _e11666_ '())))) (declare (not safe)) - (cons 'os-exception-procedure __tmp12637))))) - (if (macro-os-exception? _exn11611_) - (macro-os-exception-procedure _exn11611_) + (cons 'os-exception-procedure __tmp12689))))) + (if (macro-os-exception? _exn11663_) + (macro-os-exception-procedure _exn11663_) (error '"not an instance" 'os-exception? - (let ((__tmp12636 + (let ((__tmp12688 (let () (declare (not safe)) - (cons _exn11611_ '())))) + (cons _exn11663_ '())))) (declare (not safe)) - (cons 'os-exception-procedure __tmp12636))))))) + (cons 'os-exception-procedure __tmp12688))))))) (define permission-denied-exception? - (lambda (_exn11607_) + (lambda (_exn11659_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11607_)) - (let ((_e11609_ + (class-instance? RuntimeException::t _exn11659_)) + (let ((_e11661_ (let () (declare (not safe)) - (slot-ref _exn11607_ 'exception)))) - (macro-permission-denied-exception? _e11609_)) - (macro-permission-denied-exception? _exn11607_)))) + (slot-ref _exn11659_ 'exception)))) + (macro-permission-denied-exception? _e11661_)) + (macro-permission-denied-exception? _exn11659_)))) (define permission-denied-exception-arguments - (lambda (_exn11603_) + (lambda (_exn11655_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11603_)) - (let ((_e11605_ + (class-instance? RuntimeException::t _exn11655_)) + (let ((_e11657_ (let () (declare (not safe)) - (slot-ref _exn11603_ 'exception)))) - (if (macro-permission-denied-exception? _e11605_) - (macro-permission-denied-exception-arguments _e11605_) + (slot-ref _exn11655_ 'exception)))) + (if (macro-permission-denied-exception? _e11657_) + (macro-permission-denied-exception-arguments _e11657_) (error '"not an instance" 'permission-denied-exception? - (let ((__tmp12639 + (let ((__tmp12691 (let () (declare (not safe)) - (cons _e11605_ '())))) + (cons _e11657_ '())))) (declare (not safe)) (cons 'permission-denied-exception-arguments - __tmp12639))))) - (if (macro-permission-denied-exception? _exn11603_) - (macro-permission-denied-exception-arguments _exn11603_) + __tmp12691))))) + (if (macro-permission-denied-exception? _exn11655_) + (macro-permission-denied-exception-arguments _exn11655_) (error '"not an instance" 'permission-denied-exception? - (let ((__tmp12638 + (let ((__tmp12690 (let () (declare (not safe)) - (cons _exn11603_ '())))) + (cons _exn11655_ '())))) (declare (not safe)) (cons 'permission-denied-exception-arguments - __tmp12638))))))) + __tmp12690))))))) (define permission-denied-exception-procedure - (lambda (_exn11597_) + (lambda (_exn11649_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11597_)) - (let ((_e11600_ + (class-instance? RuntimeException::t _exn11649_)) + (let ((_e11652_ (let () (declare (not safe)) - (slot-ref _exn11597_ 'exception)))) - (if (macro-permission-denied-exception? _e11600_) - (macro-permission-denied-exception-procedure _e11600_) + (slot-ref _exn11649_ 'exception)))) + (if (macro-permission-denied-exception? _e11652_) + (macro-permission-denied-exception-procedure _e11652_) (error '"not an instance" 'permission-denied-exception? - (let ((__tmp12641 + (let ((__tmp12693 (let () (declare (not safe)) - (cons _e11600_ '())))) + (cons _e11652_ '())))) (declare (not safe)) (cons 'permission-denied-exception-procedure - __tmp12641))))) - (if (macro-permission-denied-exception? _exn11597_) - (macro-permission-denied-exception-procedure _exn11597_) + __tmp12693))))) + (if (macro-permission-denied-exception? _exn11649_) + (macro-permission-denied-exception-procedure _exn11649_) (error '"not an instance" 'permission-denied-exception? - (let ((__tmp12640 + (let ((__tmp12692 (let () (declare (not safe)) - (cons _exn11597_ '())))) + (cons _exn11649_ '())))) (declare (not safe)) (cons 'permission-denied-exception-procedure - __tmp12640))))))) + __tmp12692))))))) (define range-exception? - (lambda (_exn11593_) + (lambda (_exn11645_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11593_)) - (let ((_e11595_ + (class-instance? RuntimeException::t _exn11645_)) + (let ((_e11647_ (let () (declare (not safe)) - (slot-ref _exn11593_ 'exception)))) - (macro-range-exception? _e11595_)) - (macro-range-exception? _exn11593_)))) + (slot-ref _exn11645_ 'exception)))) + (macro-range-exception? _e11647_)) + (macro-range-exception? _exn11645_)))) (define range-exception-arg-id - (lambda (_exn11589_) + (lambda (_exn11641_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11589_)) - (let ((_e11591_ + (class-instance? RuntimeException::t _exn11641_)) + (let ((_e11643_ (let () (declare (not safe)) - (slot-ref _exn11589_ 'exception)))) - (if (macro-range-exception? _e11591_) - (macro-range-exception-arg-id _e11591_) + (slot-ref _exn11641_ 'exception)))) + (if (macro-range-exception? _e11643_) + (macro-range-exception-arg-id _e11643_) (error '"not an instance" 'range-exception? - (let ((__tmp12643 + (let ((__tmp12695 (let () (declare (not safe)) - (cons _e11591_ '())))) + (cons _e11643_ '())))) (declare (not safe)) - (cons 'range-exception-arg-id __tmp12643))))) - (if (macro-range-exception? _exn11589_) - (macro-range-exception-arg-id _exn11589_) + (cons 'range-exception-arg-id __tmp12695))))) + (if (macro-range-exception? _exn11641_) + (macro-range-exception-arg-id _exn11641_) (error '"not an instance" 'range-exception? - (let ((__tmp12642 + (let ((__tmp12694 (let () (declare (not safe)) - (cons _exn11589_ '())))) + (cons _exn11641_ '())))) (declare (not safe)) - (cons 'range-exception-arg-id __tmp12642))))))) + (cons 'range-exception-arg-id __tmp12694))))))) (define range-exception-arguments - (lambda (_exn11585_) + (lambda (_exn11637_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11585_)) - (let ((_e11587_ + (class-instance? RuntimeException::t _exn11637_)) + (let ((_e11639_ (let () (declare (not safe)) - (slot-ref _exn11585_ 'exception)))) - (if (macro-range-exception? _e11587_) - (macro-range-exception-arguments _e11587_) + (slot-ref _exn11637_ 'exception)))) + (if (macro-range-exception? _e11639_) + (macro-range-exception-arguments _e11639_) (error '"not an instance" 'range-exception? - (let ((__tmp12645 + (let ((__tmp12697 (let () (declare (not safe)) - (cons _e11587_ '())))) + (cons _e11639_ '())))) (declare (not safe)) - (cons 'range-exception-arguments __tmp12645))))) - (if (macro-range-exception? _exn11585_) - (macro-range-exception-arguments _exn11585_) + (cons 'range-exception-arguments __tmp12697))))) + (if (macro-range-exception? _exn11637_) + (macro-range-exception-arguments _exn11637_) (error '"not an instance" 'range-exception? - (let ((__tmp12644 + (let ((__tmp12696 (let () (declare (not safe)) - (cons _exn11585_ '())))) + (cons _exn11637_ '())))) (declare (not safe)) - (cons 'range-exception-arguments __tmp12644))))))) + (cons 'range-exception-arguments __tmp12696))))))) (define range-exception-procedure - (lambda (_exn11579_) + (lambda (_exn11631_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11579_)) - (let ((_e11582_ + (class-instance? RuntimeException::t _exn11631_)) + (let ((_e11634_ (let () (declare (not safe)) - (slot-ref _exn11579_ 'exception)))) - (if (macro-range-exception? _e11582_) - (macro-range-exception-procedure _e11582_) + (slot-ref _exn11631_ 'exception)))) + (if (macro-range-exception? _e11634_) + (macro-range-exception-procedure _e11634_) (error '"not an instance" 'range-exception? - (let ((__tmp12647 + (let ((__tmp12699 (let () (declare (not safe)) - (cons _e11582_ '())))) + (cons _e11634_ '())))) (declare (not safe)) - (cons 'range-exception-procedure __tmp12647))))) - (if (macro-range-exception? _exn11579_) - (macro-range-exception-procedure _exn11579_) + (cons 'range-exception-procedure __tmp12699))))) + (if (macro-range-exception? _exn11631_) + (macro-range-exception-procedure _exn11631_) (error '"not an instance" 'range-exception? - (let ((__tmp12646 + (let ((__tmp12698 (let () (declare (not safe)) - (cons _exn11579_ '())))) + (cons _exn11631_ '())))) (declare (not safe)) - (cons 'range-exception-procedure __tmp12646))))))) + (cons 'range-exception-procedure __tmp12698))))))) (define rpc-remote-error-exception? - (lambda (_exn11575_) + (lambda (_exn11627_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11575_)) - (let ((_e11577_ + (class-instance? RuntimeException::t _exn11627_)) + (let ((_e11629_ (let () (declare (not safe)) - (slot-ref _exn11575_ 'exception)))) - (macro-rpc-remote-error-exception? _e11577_)) - (macro-rpc-remote-error-exception? _exn11575_)))) + (slot-ref _exn11627_ 'exception)))) + (macro-rpc-remote-error-exception? _e11629_)) + (macro-rpc-remote-error-exception? _exn11627_)))) (define rpc-remote-error-exception-arguments - (lambda (_exn11571_) + (lambda (_exn11623_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11571_)) - (let ((_e11573_ + (class-instance? RuntimeException::t _exn11623_)) + (let ((_e11625_ (let () (declare (not safe)) - (slot-ref _exn11571_ 'exception)))) - (if (macro-rpc-remote-error-exception? _e11573_) - (macro-rpc-remote-error-exception-arguments _e11573_) + (slot-ref _exn11623_ 'exception)))) + (if (macro-rpc-remote-error-exception? _e11625_) + (macro-rpc-remote-error-exception-arguments _e11625_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12649 + (let ((__tmp12701 (let () (declare (not safe)) - (cons _e11573_ '())))) + (cons _e11625_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-arguments - __tmp12649))))) - (if (macro-rpc-remote-error-exception? _exn11571_) - (macro-rpc-remote-error-exception-arguments _exn11571_) + __tmp12701))))) + (if (macro-rpc-remote-error-exception? _exn11623_) + (macro-rpc-remote-error-exception-arguments _exn11623_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12648 + (let ((__tmp12700 (let () (declare (not safe)) - (cons _exn11571_ '())))) + (cons _exn11623_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-arguments - __tmp12648))))))) + __tmp12700))))))) (define rpc-remote-error-exception-message - (lambda (_exn11567_) + (lambda (_exn11619_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11567_)) - (let ((_e11569_ + (class-instance? RuntimeException::t _exn11619_)) + (let ((_e11621_ (let () (declare (not safe)) - (slot-ref _exn11567_ 'exception)))) - (if (macro-rpc-remote-error-exception? _e11569_) - (macro-rpc-remote-error-exception-message _e11569_) + (slot-ref _exn11619_ 'exception)))) + (if (macro-rpc-remote-error-exception? _e11621_) + (macro-rpc-remote-error-exception-message _e11621_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12651 + (let ((__tmp12703 (let () (declare (not safe)) - (cons _e11569_ '())))) + (cons _e11621_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-message - __tmp12651))))) - (if (macro-rpc-remote-error-exception? _exn11567_) - (macro-rpc-remote-error-exception-message _exn11567_) + __tmp12703))))) + (if (macro-rpc-remote-error-exception? _exn11619_) + (macro-rpc-remote-error-exception-message _exn11619_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12650 + (let ((__tmp12702 (let () (declare (not safe)) - (cons _exn11567_ '())))) + (cons _exn11619_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-message - __tmp12650))))))) + __tmp12702))))))) (define rpc-remote-error-exception-procedure - (lambda (_exn11561_) + (lambda (_exn11613_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11561_)) - (let ((_e11564_ + (class-instance? RuntimeException::t _exn11613_)) + (let ((_e11616_ (let () (declare (not safe)) - (slot-ref _exn11561_ 'exception)))) - (if (macro-rpc-remote-error-exception? _e11564_) - (macro-rpc-remote-error-exception-procedure _e11564_) + (slot-ref _exn11613_ 'exception)))) + (if (macro-rpc-remote-error-exception? _e11616_) + (macro-rpc-remote-error-exception-procedure _e11616_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12653 + (let ((__tmp12705 (let () (declare (not safe)) - (cons _e11564_ '())))) + (cons _e11616_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-procedure - __tmp12653))))) - (if (macro-rpc-remote-error-exception? _exn11561_) - (macro-rpc-remote-error-exception-procedure _exn11561_) + __tmp12705))))) + (if (macro-rpc-remote-error-exception? _exn11613_) + (macro-rpc-remote-error-exception-procedure _exn11613_) (error '"not an instance" 'rpc-remote-error-exception? - (let ((__tmp12652 + (let ((__tmp12704 (let () (declare (not safe)) - (cons _exn11561_ '())))) + (cons _exn11613_ '())))) (declare (not safe)) (cons 'rpc-remote-error-exception-procedure - __tmp12652))))))) + __tmp12704))))))) (define scheduler-exception? - (lambda (_exn11557_) + (lambda (_exn11609_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11557_)) - (let ((_e11559_ + (class-instance? RuntimeException::t _exn11609_)) + (let ((_e11611_ (let () (declare (not safe)) - (slot-ref _exn11557_ 'exception)))) - (macro-scheduler-exception? _e11559_)) - (macro-scheduler-exception? _exn11557_)))) + (slot-ref _exn11609_ 'exception)))) + (macro-scheduler-exception? _e11611_)) + (macro-scheduler-exception? _exn11609_)))) (define scheduler-exception-reason - (lambda (_exn11551_) + (lambda (_exn11603_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11551_)) - (let ((_e11554_ + (class-instance? RuntimeException::t _exn11603_)) + (let ((_e11606_ (let () (declare (not safe)) - (slot-ref _exn11551_ 'exception)))) - (if (macro-scheduler-exception? _e11554_) - (macro-scheduler-exception-reason _e11554_) + (slot-ref _exn11603_ 'exception)))) + (if (macro-scheduler-exception? _e11606_) + (macro-scheduler-exception-reason _e11606_) (error '"not an instance" 'scheduler-exception? - (let ((__tmp12655 + (let ((__tmp12707 (let () (declare (not safe)) - (cons _e11554_ '())))) + (cons _e11606_ '())))) (declare (not safe)) - (cons 'scheduler-exception-reason __tmp12655))))) - (if (macro-scheduler-exception? _exn11551_) - (macro-scheduler-exception-reason _exn11551_) + (cons 'scheduler-exception-reason __tmp12707))))) + (if (macro-scheduler-exception? _exn11603_) + (macro-scheduler-exception-reason _exn11603_) (error '"not an instance" 'scheduler-exception? - (let ((__tmp12654 + (let ((__tmp12706 (let () (declare (not safe)) - (cons _exn11551_ '())))) + (cons _exn11603_ '())))) (declare (not safe)) - (cons 'scheduler-exception-reason __tmp12654))))))) + (cons 'scheduler-exception-reason __tmp12706))))))) (define sfun-conversion-exception? - (lambda (_exn11547_) + (lambda (_exn11599_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11547_)) - (let ((_e11549_ + (class-instance? RuntimeException::t _exn11599_)) + (let ((_e11601_ (let () (declare (not safe)) - (slot-ref _exn11547_ 'exception)))) - (macro-sfun-conversion-exception? _e11549_)) - (macro-sfun-conversion-exception? _exn11547_)))) + (slot-ref _exn11599_ 'exception)))) + (macro-sfun-conversion-exception? _e11601_)) + (macro-sfun-conversion-exception? _exn11599_)))) (define sfun-conversion-exception-arguments - (lambda (_exn11543_) + (lambda (_exn11595_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11543_)) - (let ((_e11545_ + (class-instance? RuntimeException::t _exn11595_)) + (let ((_e11597_ (let () (declare (not safe)) - (slot-ref _exn11543_ 'exception)))) - (if (macro-sfun-conversion-exception? _e11545_) - (macro-sfun-conversion-exception-arguments _e11545_) + (slot-ref _exn11595_ 'exception)))) + (if (macro-sfun-conversion-exception? _e11597_) + (macro-sfun-conversion-exception-arguments _e11597_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12657 + (let ((__tmp12709 (let () (declare (not safe)) - (cons _e11545_ '())))) + (cons _e11597_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-arguments - __tmp12657))))) - (if (macro-sfun-conversion-exception? _exn11543_) - (macro-sfun-conversion-exception-arguments _exn11543_) + __tmp12709))))) + (if (macro-sfun-conversion-exception? _exn11595_) + (macro-sfun-conversion-exception-arguments _exn11595_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12656 + (let ((__tmp12708 (let () (declare (not safe)) - (cons _exn11543_ '())))) + (cons _exn11595_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-arguments - __tmp12656))))))) + __tmp12708))))))) (define sfun-conversion-exception-code - (lambda (_exn11539_) + (lambda (_exn11591_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11539_)) - (let ((_e11541_ + (class-instance? RuntimeException::t _exn11591_)) + (let ((_e11593_ (let () (declare (not safe)) - (slot-ref _exn11539_ 'exception)))) - (if (macro-sfun-conversion-exception? _e11541_) - (macro-sfun-conversion-exception-code _e11541_) + (slot-ref _exn11591_ 'exception)))) + (if (macro-sfun-conversion-exception? _e11593_) + (macro-sfun-conversion-exception-code _e11593_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12659 + (let ((__tmp12711 (let () (declare (not safe)) - (cons _e11541_ '())))) + (cons _e11593_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-code - __tmp12659))))) - (if (macro-sfun-conversion-exception? _exn11539_) - (macro-sfun-conversion-exception-code _exn11539_) + __tmp12711))))) + (if (macro-sfun-conversion-exception? _exn11591_) + (macro-sfun-conversion-exception-code _exn11591_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12658 + (let ((__tmp12710 (let () (declare (not safe)) - (cons _exn11539_ '())))) + (cons _exn11591_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-code - __tmp12658))))))) + __tmp12710))))))) (define sfun-conversion-exception-message - (lambda (_exn11535_) + (lambda (_exn11587_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11535_)) - (let ((_e11537_ + (class-instance? RuntimeException::t _exn11587_)) + (let ((_e11589_ (let () (declare (not safe)) - (slot-ref _exn11535_ 'exception)))) - (if (macro-sfun-conversion-exception? _e11537_) - (macro-sfun-conversion-exception-message _e11537_) + (slot-ref _exn11587_ 'exception)))) + (if (macro-sfun-conversion-exception? _e11589_) + (macro-sfun-conversion-exception-message _e11589_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12661 + (let ((__tmp12713 (let () (declare (not safe)) - (cons _e11537_ '())))) + (cons _e11589_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-message - __tmp12661))))) - (if (macro-sfun-conversion-exception? _exn11535_) - (macro-sfun-conversion-exception-message _exn11535_) + __tmp12713))))) + (if (macro-sfun-conversion-exception? _exn11587_) + (macro-sfun-conversion-exception-message _exn11587_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12660 + (let ((__tmp12712 (let () (declare (not safe)) - (cons _exn11535_ '())))) + (cons _exn11587_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-message - __tmp12660))))))) + __tmp12712))))))) (define sfun-conversion-exception-procedure - (lambda (_exn11529_) + (lambda (_exn11581_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11529_)) - (let ((_e11532_ + (class-instance? RuntimeException::t _exn11581_)) + (let ((_e11584_ (let () (declare (not safe)) - (slot-ref _exn11529_ 'exception)))) - (if (macro-sfun-conversion-exception? _e11532_) - (macro-sfun-conversion-exception-procedure _e11532_) + (slot-ref _exn11581_ 'exception)))) + (if (macro-sfun-conversion-exception? _e11584_) + (macro-sfun-conversion-exception-procedure _e11584_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12663 + (let ((__tmp12715 (let () (declare (not safe)) - (cons _e11532_ '())))) + (cons _e11584_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-procedure - __tmp12663))))) - (if (macro-sfun-conversion-exception? _exn11529_) - (macro-sfun-conversion-exception-procedure _exn11529_) + __tmp12715))))) + (if (macro-sfun-conversion-exception? _exn11581_) + (macro-sfun-conversion-exception-procedure _exn11581_) (error '"not an instance" 'sfun-conversion-exception? - (let ((__tmp12662 + (let ((__tmp12714 (let () (declare (not safe)) - (cons _exn11529_ '())))) + (cons _exn11581_ '())))) (declare (not safe)) (cons 'sfun-conversion-exception-procedure - __tmp12662))))))) + __tmp12714))))))) (define stack-overflow-exception? - (lambda (_exn11523_) + (lambda (_exn11575_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11523_)) - (let ((_e11526_ + (class-instance? RuntimeException::t _exn11575_)) + (let ((_e11578_ (let () (declare (not safe)) - (slot-ref _exn11523_ 'exception)))) - (macro-stack-overflow-exception? _e11526_)) - (macro-stack-overflow-exception? _exn11523_)))) + (slot-ref _exn11575_ 'exception)))) + (macro-stack-overflow-exception? _e11578_)) + (macro-stack-overflow-exception? _exn11575_)))) (define started-thread-exception? - (lambda (_exn11519_) + (lambda (_exn11571_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11519_)) - (let ((_e11521_ + (class-instance? RuntimeException::t _exn11571_)) + (let ((_e11573_ (let () (declare (not safe)) - (slot-ref _exn11519_ 'exception)))) - (macro-started-thread-exception? _e11521_)) - (macro-started-thread-exception? _exn11519_)))) + (slot-ref _exn11571_ 'exception)))) + (macro-started-thread-exception? _e11573_)) + (macro-started-thread-exception? _exn11571_)))) (define started-thread-exception-arguments - (lambda (_exn11515_) + (lambda (_exn11567_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11515_)) - (let ((_e11517_ + (class-instance? RuntimeException::t _exn11567_)) + (let ((_e11569_ (let () (declare (not safe)) - (slot-ref _exn11515_ 'exception)))) - (if (macro-started-thread-exception? _e11517_) - (macro-started-thread-exception-arguments _e11517_) + (slot-ref _exn11567_ 'exception)))) + (if (macro-started-thread-exception? _e11569_) + (macro-started-thread-exception-arguments _e11569_) (error '"not an instance" 'started-thread-exception? - (let ((__tmp12665 + (let ((__tmp12717 (let () (declare (not safe)) - (cons _e11517_ '())))) + (cons _e11569_ '())))) (declare (not safe)) (cons 'started-thread-exception-arguments - __tmp12665))))) - (if (macro-started-thread-exception? _exn11515_) - (macro-started-thread-exception-arguments _exn11515_) + __tmp12717))))) + (if (macro-started-thread-exception? _exn11567_) + (macro-started-thread-exception-arguments _exn11567_) (error '"not an instance" 'started-thread-exception? - (let ((__tmp12664 + (let ((__tmp12716 (let () (declare (not safe)) - (cons _exn11515_ '())))) + (cons _exn11567_ '())))) (declare (not safe)) (cons 'started-thread-exception-arguments - __tmp12664))))))) + __tmp12716))))))) (define started-thread-exception-procedure - (lambda (_exn11509_) + (lambda (_exn11561_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11509_)) - (let ((_e11512_ + (class-instance? RuntimeException::t _exn11561_)) + (let ((_e11564_ (let () (declare (not safe)) - (slot-ref _exn11509_ 'exception)))) - (if (macro-started-thread-exception? _e11512_) - (macro-started-thread-exception-procedure _e11512_) + (slot-ref _exn11561_ 'exception)))) + (if (macro-started-thread-exception? _e11564_) + (macro-started-thread-exception-procedure _e11564_) (error '"not an instance" 'started-thread-exception? - (let ((__tmp12667 + (let ((__tmp12719 (let () (declare (not safe)) - (cons _e11512_ '())))) + (cons _e11564_ '())))) (declare (not safe)) (cons 'started-thread-exception-procedure - __tmp12667))))) - (if (macro-started-thread-exception? _exn11509_) - (macro-started-thread-exception-procedure _exn11509_) + __tmp12719))))) + (if (macro-started-thread-exception? _exn11561_) + (macro-started-thread-exception-procedure _exn11561_) (error '"not an instance" 'started-thread-exception? - (let ((__tmp12666 + (let ((__tmp12718 (let () (declare (not safe)) - (cons _exn11509_ '())))) + (cons _exn11561_ '())))) (declare (not safe)) (cons 'started-thread-exception-procedure - __tmp12666))))))) + __tmp12718))))))) (define terminated-thread-exception? - (lambda (_exn11505_) + (lambda (_exn11557_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11505_)) - (let ((_e11507_ + (class-instance? RuntimeException::t _exn11557_)) + (let ((_e11559_ (let () (declare (not safe)) - (slot-ref _exn11505_ 'exception)))) - (macro-terminated-thread-exception? _e11507_)) - (macro-terminated-thread-exception? _exn11505_)))) + (slot-ref _exn11557_ 'exception)))) + (macro-terminated-thread-exception? _e11559_)) + (macro-terminated-thread-exception? _exn11557_)))) (define terminated-thread-exception-arguments - (lambda (_exn11501_) + (lambda (_exn11553_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11501_)) - (let ((_e11503_ + (class-instance? RuntimeException::t _exn11553_)) + (let ((_e11555_ (let () (declare (not safe)) - (slot-ref _exn11501_ 'exception)))) - (if (macro-terminated-thread-exception? _e11503_) - (macro-terminated-thread-exception-arguments _e11503_) + (slot-ref _exn11553_ 'exception)))) + (if (macro-terminated-thread-exception? _e11555_) + (macro-terminated-thread-exception-arguments _e11555_) (error '"not an instance" 'terminated-thread-exception? - (let ((__tmp12669 + (let ((__tmp12721 (let () (declare (not safe)) - (cons _e11503_ '())))) + (cons _e11555_ '())))) (declare (not safe)) (cons 'terminated-thread-exception-arguments - __tmp12669))))) - (if (macro-terminated-thread-exception? _exn11501_) - (macro-terminated-thread-exception-arguments _exn11501_) + __tmp12721))))) + (if (macro-terminated-thread-exception? _exn11553_) + (macro-terminated-thread-exception-arguments _exn11553_) (error '"not an instance" 'terminated-thread-exception? - (let ((__tmp12668 + (let ((__tmp12720 (let () (declare (not safe)) - (cons _exn11501_ '())))) + (cons _exn11553_ '())))) (declare (not safe)) (cons 'terminated-thread-exception-arguments - __tmp12668))))))) + __tmp12720))))))) (define terminated-thread-exception-procedure - (lambda (_exn11495_) + (lambda (_exn11547_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11495_)) - (let ((_e11498_ + (class-instance? RuntimeException::t _exn11547_)) + (let ((_e11550_ (let () (declare (not safe)) - (slot-ref _exn11495_ 'exception)))) - (if (macro-terminated-thread-exception? _e11498_) - (macro-terminated-thread-exception-procedure _e11498_) + (slot-ref _exn11547_ 'exception)))) + (if (macro-terminated-thread-exception? _e11550_) + (macro-terminated-thread-exception-procedure _e11550_) (error '"not an instance" 'terminated-thread-exception? - (let ((__tmp12671 + (let ((__tmp12723 (let () (declare (not safe)) - (cons _e11498_ '())))) + (cons _e11550_ '())))) (declare (not safe)) (cons 'terminated-thread-exception-procedure - __tmp12671))))) - (if (macro-terminated-thread-exception? _exn11495_) - (macro-terminated-thread-exception-procedure _exn11495_) + __tmp12723))))) + (if (macro-terminated-thread-exception? _exn11547_) + (macro-terminated-thread-exception-procedure _exn11547_) (error '"not an instance" 'terminated-thread-exception? - (let ((__tmp12670 + (let ((__tmp12722 (let () (declare (not safe)) - (cons _exn11495_ '())))) + (cons _exn11547_ '())))) (declare (not safe)) (cons 'terminated-thread-exception-procedure - __tmp12670))))))) + __tmp12722))))))) (define type-exception? - (lambda (_exn11491_) + (lambda (_exn11543_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11491_)) - (let ((_e11493_ + (class-instance? RuntimeException::t _exn11543_)) + (let ((_e11545_ (let () (declare (not safe)) - (slot-ref _exn11491_ 'exception)))) - (macro-type-exception? _e11493_)) - (macro-type-exception? _exn11491_)))) + (slot-ref _exn11543_ 'exception)))) + (macro-type-exception? _e11545_)) + (macro-type-exception? _exn11543_)))) (define type-exception-arg-id - (lambda (_exn11487_) + (lambda (_exn11539_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11487_)) - (let ((_e11489_ + (class-instance? RuntimeException::t _exn11539_)) + (let ((_e11541_ (let () (declare (not safe)) - (slot-ref _exn11487_ 'exception)))) - (if (macro-type-exception? _e11489_) - (macro-type-exception-arg-id _e11489_) + (slot-ref _exn11539_ 'exception)))) + (if (macro-type-exception? _e11541_) + (macro-type-exception-arg-id _e11541_) (error '"not an instance" 'type-exception? - (let ((__tmp12673 + (let ((__tmp12725 (let () (declare (not safe)) - (cons _e11489_ '())))) + (cons _e11541_ '())))) (declare (not safe)) - (cons 'type-exception-arg-id __tmp12673))))) - (if (macro-type-exception? _exn11487_) - (macro-type-exception-arg-id _exn11487_) + (cons 'type-exception-arg-id __tmp12725))))) + (if (macro-type-exception? _exn11539_) + (macro-type-exception-arg-id _exn11539_) (error '"not an instance" 'type-exception? - (let ((__tmp12672 + (let ((__tmp12724 (let () (declare (not safe)) - (cons _exn11487_ '())))) + (cons _exn11539_ '())))) (declare (not safe)) - (cons 'type-exception-arg-id __tmp12672))))))) + (cons 'type-exception-arg-id __tmp12724))))))) (define type-exception-arguments - (lambda (_exn11483_) + (lambda (_exn11535_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11483_)) - (let ((_e11485_ + (class-instance? RuntimeException::t _exn11535_)) + (let ((_e11537_ (let () (declare (not safe)) - (slot-ref _exn11483_ 'exception)))) - (if (macro-type-exception? _e11485_) - (macro-type-exception-arguments _e11485_) + (slot-ref _exn11535_ 'exception)))) + (if (macro-type-exception? _e11537_) + (macro-type-exception-arguments _e11537_) (error '"not an instance" 'type-exception? - (let ((__tmp12675 + (let ((__tmp12727 (let () (declare (not safe)) - (cons _e11485_ '())))) + (cons _e11537_ '())))) (declare (not safe)) - (cons 'type-exception-arguments __tmp12675))))) - (if (macro-type-exception? _exn11483_) - (macro-type-exception-arguments _exn11483_) + (cons 'type-exception-arguments __tmp12727))))) + (if (macro-type-exception? _exn11535_) + (macro-type-exception-arguments _exn11535_) (error '"not an instance" 'type-exception? - (let ((__tmp12674 + (let ((__tmp12726 (let () (declare (not safe)) - (cons _exn11483_ '())))) + (cons _exn11535_ '())))) (declare (not safe)) - (cons 'type-exception-arguments __tmp12674))))))) + (cons 'type-exception-arguments __tmp12726))))))) (define type-exception-procedure - (lambda (_exn11479_) + (lambda (_exn11531_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11479_)) - (let ((_e11481_ + (class-instance? RuntimeException::t _exn11531_)) + (let ((_e11533_ (let () (declare (not safe)) - (slot-ref _exn11479_ 'exception)))) - (if (macro-type-exception? _e11481_) - (macro-type-exception-procedure _e11481_) + (slot-ref _exn11531_ 'exception)))) + (if (macro-type-exception? _e11533_) + (macro-type-exception-procedure _e11533_) (error '"not an instance" 'type-exception? - (let ((__tmp12677 + (let ((__tmp12729 (let () (declare (not safe)) - (cons _e11481_ '())))) + (cons _e11533_ '())))) (declare (not safe)) - (cons 'type-exception-procedure __tmp12677))))) - (if (macro-type-exception? _exn11479_) - (macro-type-exception-procedure _exn11479_) + (cons 'type-exception-procedure __tmp12729))))) + (if (macro-type-exception? _exn11531_) + (macro-type-exception-procedure _exn11531_) (error '"not an instance" 'type-exception? - (let ((__tmp12676 + (let ((__tmp12728 (let () (declare (not safe)) - (cons _exn11479_ '())))) + (cons _exn11531_ '())))) (declare (not safe)) - (cons 'type-exception-procedure __tmp12676))))))) + (cons 'type-exception-procedure __tmp12728))))))) (define type-exception-type-id - (lambda (_exn11473_) + (lambda (_exn11525_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11473_)) - (let ((_e11476_ + (class-instance? RuntimeException::t _exn11525_)) + (let ((_e11528_ (let () (declare (not safe)) - (slot-ref _exn11473_ 'exception)))) - (if (macro-type-exception? _e11476_) - (macro-type-exception-type-id _e11476_) + (slot-ref _exn11525_ 'exception)))) + (if (macro-type-exception? _e11528_) + (macro-type-exception-type-id _e11528_) (error '"not an instance" 'type-exception? - (let ((__tmp12679 + (let ((__tmp12731 (let () (declare (not safe)) - (cons _e11476_ '())))) + (cons _e11528_ '())))) (declare (not safe)) - (cons 'type-exception-type-id __tmp12679))))) - (if (macro-type-exception? _exn11473_) - (macro-type-exception-type-id _exn11473_) + (cons 'type-exception-type-id __tmp12731))))) + (if (macro-type-exception? _exn11525_) + (macro-type-exception-type-id _exn11525_) (error '"not an instance" 'type-exception? - (let ((__tmp12678 + (let ((__tmp12730 (let () (declare (not safe)) - (cons _exn11473_ '())))) + (cons _exn11525_ '())))) (declare (not safe)) - (cons 'type-exception-type-id __tmp12678))))))) + (cons 'type-exception-type-id __tmp12730))))))) (define unbound-global-exception? - (lambda (_exn11469_) + (lambda (_exn11521_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11469_)) - (let ((_e11471_ + (class-instance? RuntimeException::t _exn11521_)) + (let ((_e11523_ (let () (declare (not safe)) - (slot-ref _exn11469_ 'exception)))) - (macro-unbound-global-exception? _e11471_)) - (macro-unbound-global-exception? _exn11469_)))) + (slot-ref _exn11521_ 'exception)))) + (macro-unbound-global-exception? _e11523_)) + (macro-unbound-global-exception? _exn11521_)))) (define unbound-global-exception-code - (lambda (_exn11465_) + (lambda (_exn11517_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11465_)) - (let ((_e11467_ + (class-instance? RuntimeException::t _exn11517_)) + (let ((_e11519_ (let () (declare (not safe)) - (slot-ref _exn11465_ 'exception)))) - (if (macro-unbound-global-exception? _e11467_) - (macro-unbound-global-exception-code _e11467_) + (slot-ref _exn11517_ 'exception)))) + (if (macro-unbound-global-exception? _e11519_) + (macro-unbound-global-exception-code _e11519_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12681 + (let ((__tmp12733 (let () (declare (not safe)) - (cons _e11467_ '())))) + (cons _e11519_ '())))) (declare (not safe)) - (cons 'unbound-global-exception-code __tmp12681))))) - (if (macro-unbound-global-exception? _exn11465_) - (macro-unbound-global-exception-code _exn11465_) + (cons 'unbound-global-exception-code __tmp12733))))) + (if (macro-unbound-global-exception? _exn11517_) + (macro-unbound-global-exception-code _exn11517_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12680 + (let ((__tmp12732 (let () (declare (not safe)) - (cons _exn11465_ '())))) + (cons _exn11517_ '())))) (declare (not safe)) - (cons 'unbound-global-exception-code __tmp12680))))))) + (cons 'unbound-global-exception-code __tmp12732))))))) (define unbound-global-exception-rte - (lambda (_exn11461_) + (lambda (_exn11513_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11461_)) - (let ((_e11463_ + (class-instance? RuntimeException::t _exn11513_)) + (let ((_e11515_ (let () (declare (not safe)) - (slot-ref _exn11461_ 'exception)))) - (if (macro-unbound-global-exception? _e11463_) - (macro-unbound-global-exception-rte _e11463_) + (slot-ref _exn11513_ 'exception)))) + (if (macro-unbound-global-exception? _e11515_) + (macro-unbound-global-exception-rte _e11515_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12683 + (let ((__tmp12735 (let () (declare (not safe)) - (cons _e11463_ '())))) + (cons _e11515_ '())))) (declare (not safe)) - (cons 'unbound-global-exception-rte __tmp12683))))) - (if (macro-unbound-global-exception? _exn11461_) - (macro-unbound-global-exception-rte _exn11461_) + (cons 'unbound-global-exception-rte __tmp12735))))) + (if (macro-unbound-global-exception? _exn11513_) + (macro-unbound-global-exception-rte _exn11513_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12682 + (let ((__tmp12734 (let () (declare (not safe)) - (cons _exn11461_ '())))) + (cons _exn11513_ '())))) (declare (not safe)) - (cons 'unbound-global-exception-rte __tmp12682))))))) + (cons 'unbound-global-exception-rte __tmp12734))))))) (define unbound-global-exception-variable - (lambda (_exn11455_) + (lambda (_exn11507_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11455_)) - (let ((_e11458_ + (class-instance? RuntimeException::t _exn11507_)) + (let ((_e11510_ (let () (declare (not safe)) - (slot-ref _exn11455_ 'exception)))) - (if (macro-unbound-global-exception? _e11458_) - (macro-unbound-global-exception-variable _e11458_) + (slot-ref _exn11507_ 'exception)))) + (if (macro-unbound-global-exception? _e11510_) + (macro-unbound-global-exception-variable _e11510_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12685 + (let ((__tmp12737 (let () (declare (not safe)) - (cons _e11458_ '())))) + (cons _e11510_ '())))) (declare (not safe)) (cons 'unbound-global-exception-variable - __tmp12685))))) - (if (macro-unbound-global-exception? _exn11455_) - (macro-unbound-global-exception-variable _exn11455_) + __tmp12737))))) + (if (macro-unbound-global-exception? _exn11507_) + (macro-unbound-global-exception-variable _exn11507_) (error '"not an instance" 'unbound-global-exception? - (let ((__tmp12684 + (let ((__tmp12736 (let () (declare (not safe)) - (cons _exn11455_ '())))) + (cons _exn11507_ '())))) (declare (not safe)) (cons 'unbound-global-exception-variable - __tmp12684))))))) + __tmp12736))))))) (define unbound-key-exception? - (lambda (_exn11451_) + (lambda (_exn11503_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11451_)) - (let ((_e11453_ + (class-instance? RuntimeException::t _exn11503_)) + (let ((_e11505_ (let () (declare (not safe)) - (slot-ref _exn11451_ 'exception)))) - (macro-unbound-key-exception? _e11453_)) - (macro-unbound-key-exception? _exn11451_)))) + (slot-ref _exn11503_ 'exception)))) + (macro-unbound-key-exception? _e11505_)) + (macro-unbound-key-exception? _exn11503_)))) (define unbound-key-exception-arguments - (lambda (_exn11447_) + (lambda (_exn11499_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11447_)) - (let ((_e11449_ + (class-instance? RuntimeException::t _exn11499_)) + (let ((_e11501_ (let () (declare (not safe)) - (slot-ref _exn11447_ 'exception)))) - (if (macro-unbound-key-exception? _e11449_) - (macro-unbound-key-exception-arguments _e11449_) + (slot-ref _exn11499_ 'exception)))) + (if (macro-unbound-key-exception? _e11501_) + (macro-unbound-key-exception-arguments _e11501_) (error '"not an instance" 'unbound-key-exception? - (let ((__tmp12687 + (let ((__tmp12739 (let () (declare (not safe)) - (cons _e11449_ '())))) + (cons _e11501_ '())))) (declare (not safe)) (cons 'unbound-key-exception-arguments - __tmp12687))))) - (if (macro-unbound-key-exception? _exn11447_) - (macro-unbound-key-exception-arguments _exn11447_) + __tmp12739))))) + (if (macro-unbound-key-exception? _exn11499_) + (macro-unbound-key-exception-arguments _exn11499_) (error '"not an instance" 'unbound-key-exception? - (let ((__tmp12686 + (let ((__tmp12738 (let () (declare (not safe)) - (cons _exn11447_ '())))) + (cons _exn11499_ '())))) (declare (not safe)) (cons 'unbound-key-exception-arguments - __tmp12686))))))) + __tmp12738))))))) (define unbound-key-exception-procedure - (lambda (_exn11441_) + (lambda (_exn11493_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11441_)) - (let ((_e11444_ + (class-instance? RuntimeException::t _exn11493_)) + (let ((_e11496_ (let () (declare (not safe)) - (slot-ref _exn11441_ 'exception)))) - (if (macro-unbound-key-exception? _e11444_) - (macro-unbound-key-exception-procedure _e11444_) + (slot-ref _exn11493_ 'exception)))) + (if (macro-unbound-key-exception? _e11496_) + (macro-unbound-key-exception-procedure _e11496_) (error '"not an instance" 'unbound-key-exception? - (let ((__tmp12689 + (let ((__tmp12741 (let () (declare (not safe)) - (cons _e11444_ '())))) + (cons _e11496_ '())))) (declare (not safe)) (cons 'unbound-key-exception-procedure - __tmp12689))))) - (if (macro-unbound-key-exception? _exn11441_) - (macro-unbound-key-exception-procedure _exn11441_) + __tmp12741))))) + (if (macro-unbound-key-exception? _exn11493_) + (macro-unbound-key-exception-procedure _exn11493_) (error '"not an instance" 'unbound-key-exception? - (let ((__tmp12688 + (let ((__tmp12740 (let () (declare (not safe)) - (cons _exn11441_ '())))) + (cons _exn11493_ '())))) (declare (not safe)) (cons 'unbound-key-exception-procedure - __tmp12688))))))) + __tmp12740))))))) (define unbound-os-environment-variable-exception? - (lambda (_exn11437_) + (lambda (_exn11489_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11437_)) - (let ((_e11439_ + (class-instance? RuntimeException::t _exn11489_)) + (let ((_e11491_ (let () (declare (not safe)) - (slot-ref _exn11437_ 'exception)))) - (macro-unbound-os-environment-variable-exception? _e11439_)) - (macro-unbound-os-environment-variable-exception? _exn11437_)))) + (slot-ref _exn11489_ 'exception)))) + (macro-unbound-os-environment-variable-exception? _e11491_)) + (macro-unbound-os-environment-variable-exception? _exn11489_)))) (define unbound-os-environment-variable-exception-arguments - (lambda (_exn11433_) + (lambda (_exn11485_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11433_)) - (let ((_e11435_ + (class-instance? RuntimeException::t _exn11485_)) + (let ((_e11487_ (let () (declare (not safe)) - (slot-ref _exn11433_ 'exception)))) - (if (macro-unbound-os-environment-variable-exception? _e11435_) + (slot-ref _exn11485_ 'exception)))) + (if (macro-unbound-os-environment-variable-exception? _e11487_) (macro-unbound-os-environment-variable-exception-arguments - _e11435_) + _e11487_) (error '"not an instance" 'unbound-os-environment-variable-exception? - (let ((__tmp12691 + (let ((__tmp12743 (let () (declare (not safe)) - (cons _e11435_ '())))) + (cons _e11487_ '())))) (declare (not safe)) (cons 'unbound-os-environment-variable-exception-arguments - __tmp12691))))) - (if (macro-unbound-os-environment-variable-exception? _exn11433_) + __tmp12743))))) + (if (macro-unbound-os-environment-variable-exception? _exn11485_) (macro-unbound-os-environment-variable-exception-arguments - _exn11433_) + _exn11485_) (error '"not an instance" 'unbound-os-environment-variable-exception? - (let ((__tmp12690 + (let ((__tmp12742 (let () (declare (not safe)) - (cons _exn11433_ '())))) + (cons _exn11485_ '())))) (declare (not safe)) (cons 'unbound-os-environment-variable-exception-arguments - __tmp12690))))))) + __tmp12742))))))) (define unbound-os-environment-variable-exception-procedure - (lambda (_exn11427_) + (lambda (_exn11479_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11427_)) - (let ((_e11430_ + (class-instance? RuntimeException::t _exn11479_)) + (let ((_e11482_ (let () (declare (not safe)) - (slot-ref _exn11427_ 'exception)))) - (if (macro-unbound-os-environment-variable-exception? _e11430_) + (slot-ref _exn11479_ 'exception)))) + (if (macro-unbound-os-environment-variable-exception? _e11482_) (macro-unbound-os-environment-variable-exception-procedure - _e11430_) + _e11482_) (error '"not an instance" 'unbound-os-environment-variable-exception? - (let ((__tmp12693 + (let ((__tmp12745 (let () (declare (not safe)) - (cons _e11430_ '())))) + (cons _e11482_ '())))) (declare (not safe)) (cons 'unbound-os-environment-variable-exception-procedure - __tmp12693))))) - (if (macro-unbound-os-environment-variable-exception? _exn11427_) + __tmp12745))))) + (if (macro-unbound-os-environment-variable-exception? _exn11479_) (macro-unbound-os-environment-variable-exception-procedure - _exn11427_) + _exn11479_) (error '"not an instance" 'unbound-os-environment-variable-exception? - (let ((__tmp12692 + (let ((__tmp12744 (let () (declare (not safe)) - (cons _exn11427_ '())))) + (cons _exn11479_ '())))) (declare (not safe)) (cons 'unbound-os-environment-variable-exception-procedure - __tmp12692))))))) + __tmp12744))))))) (define unbound-serial-number-exception? - (lambda (_exn11423_) + (lambda (_exn11475_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11423_)) - (let ((_e11425_ + (class-instance? RuntimeException::t _exn11475_)) + (let ((_e11477_ (let () (declare (not safe)) - (slot-ref _exn11423_ 'exception)))) - (macro-unbound-serial-number-exception? _e11425_)) - (macro-unbound-serial-number-exception? _exn11423_)))) + (slot-ref _exn11475_ 'exception)))) + (macro-unbound-serial-number-exception? _e11477_)) + (macro-unbound-serial-number-exception? _exn11475_)))) (define unbound-serial-number-exception-arguments - (lambda (_exn11419_) + (lambda (_exn11471_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11419_)) - (let ((_e11421_ + (class-instance? RuntimeException::t _exn11471_)) + (let ((_e11473_ (let () (declare (not safe)) - (slot-ref _exn11419_ 'exception)))) - (if (macro-unbound-serial-number-exception? _e11421_) - (macro-unbound-serial-number-exception-arguments _e11421_) + (slot-ref _exn11471_ 'exception)))) + (if (macro-unbound-serial-number-exception? _e11473_) + (macro-unbound-serial-number-exception-arguments _e11473_) (error '"not an instance" 'unbound-serial-number-exception? - (let ((__tmp12695 + (let ((__tmp12747 (let () (declare (not safe)) - (cons _e11421_ '())))) + (cons _e11473_ '())))) (declare (not safe)) (cons 'unbound-serial-number-exception-arguments - __tmp12695))))) - (if (macro-unbound-serial-number-exception? _exn11419_) - (macro-unbound-serial-number-exception-arguments _exn11419_) + __tmp12747))))) + (if (macro-unbound-serial-number-exception? _exn11471_) + (macro-unbound-serial-number-exception-arguments _exn11471_) (error '"not an instance" 'unbound-serial-number-exception? - (let ((__tmp12694 + (let ((__tmp12746 (let () (declare (not safe)) - (cons _exn11419_ '())))) + (cons _exn11471_ '())))) (declare (not safe)) (cons 'unbound-serial-number-exception-arguments - __tmp12694))))))) + __tmp12746))))))) (define unbound-serial-number-exception-procedure - (lambda (_exn11413_) + (lambda (_exn11465_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11413_)) - (let ((_e11416_ + (class-instance? RuntimeException::t _exn11465_)) + (let ((_e11468_ (let () (declare (not safe)) - (slot-ref _exn11413_ 'exception)))) - (if (macro-unbound-serial-number-exception? _e11416_) - (macro-unbound-serial-number-exception-procedure _e11416_) + (slot-ref _exn11465_ 'exception)))) + (if (macro-unbound-serial-number-exception? _e11468_) + (macro-unbound-serial-number-exception-procedure _e11468_) (error '"not an instance" 'unbound-serial-number-exception? - (let ((__tmp12697 + (let ((__tmp12749 (let () (declare (not safe)) - (cons _e11416_ '())))) + (cons _e11468_ '())))) (declare (not safe)) (cons 'unbound-serial-number-exception-procedure - __tmp12697))))) - (if (macro-unbound-serial-number-exception? _exn11413_) - (macro-unbound-serial-number-exception-procedure _exn11413_) + __tmp12749))))) + (if (macro-unbound-serial-number-exception? _exn11465_) + (macro-unbound-serial-number-exception-procedure _exn11465_) (error '"not an instance" 'unbound-serial-number-exception? - (let ((__tmp12696 + (let ((__tmp12748 (let () (declare (not safe)) - (cons _exn11413_ '())))) + (cons _exn11465_ '())))) (declare (not safe)) (cons 'unbound-serial-number-exception-procedure - __tmp12696))))))) + __tmp12748))))))) (define uncaught-exception? - (lambda (_exn11409_) + (lambda (_exn11461_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11409_)) - (let ((_e11411_ + (class-instance? RuntimeException::t _exn11461_)) + (let ((_e11463_ (let () (declare (not safe)) - (slot-ref _exn11409_ 'exception)))) - (macro-uncaught-exception? _e11411_)) - (macro-uncaught-exception? _exn11409_)))) + (slot-ref _exn11461_ 'exception)))) + (macro-uncaught-exception? _e11463_)) + (macro-uncaught-exception? _exn11461_)))) (define uncaught-exception-arguments - (lambda (_exn11405_) + (lambda (_exn11457_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11405_)) - (let ((_e11407_ + (class-instance? RuntimeException::t _exn11457_)) + (let ((_e11459_ (let () (declare (not safe)) - (slot-ref _exn11405_ 'exception)))) - (if (macro-uncaught-exception? _e11407_) - (macro-uncaught-exception-arguments _e11407_) + (slot-ref _exn11457_ 'exception)))) + (if (macro-uncaught-exception? _e11459_) + (macro-uncaught-exception-arguments _e11459_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12699 + (let ((__tmp12751 (let () (declare (not safe)) - (cons _e11407_ '())))) + (cons _e11459_ '())))) (declare (not safe)) - (cons 'uncaught-exception-arguments __tmp12699))))) - (if (macro-uncaught-exception? _exn11405_) - (macro-uncaught-exception-arguments _exn11405_) + (cons 'uncaught-exception-arguments __tmp12751))))) + (if (macro-uncaught-exception? _exn11457_) + (macro-uncaught-exception-arguments _exn11457_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12698 + (let ((__tmp12750 (let () (declare (not safe)) - (cons _exn11405_ '())))) + (cons _exn11457_ '())))) (declare (not safe)) - (cons 'uncaught-exception-arguments __tmp12698))))))) + (cons 'uncaught-exception-arguments __tmp12750))))))) (define uncaught-exception-procedure - (lambda (_exn11401_) + (lambda (_exn11453_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11401_)) - (let ((_e11403_ + (class-instance? RuntimeException::t _exn11453_)) + (let ((_e11455_ (let () (declare (not safe)) - (slot-ref _exn11401_ 'exception)))) - (if (macro-uncaught-exception? _e11403_) - (macro-uncaught-exception-procedure _e11403_) + (slot-ref _exn11453_ 'exception)))) + (if (macro-uncaught-exception? _e11455_) + (macro-uncaught-exception-procedure _e11455_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12701 + (let ((__tmp12753 (let () (declare (not safe)) - (cons _e11403_ '())))) + (cons _e11455_ '())))) (declare (not safe)) - (cons 'uncaught-exception-procedure __tmp12701))))) - (if (macro-uncaught-exception? _exn11401_) - (macro-uncaught-exception-procedure _exn11401_) + (cons 'uncaught-exception-procedure __tmp12753))))) + (if (macro-uncaught-exception? _exn11453_) + (macro-uncaught-exception-procedure _exn11453_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12700 + (let ((__tmp12752 (let () (declare (not safe)) - (cons _exn11401_ '())))) + (cons _exn11453_ '())))) (declare (not safe)) - (cons 'uncaught-exception-procedure __tmp12700))))))) + (cons 'uncaught-exception-procedure __tmp12752))))))) (define uncaught-exception-reason - (lambda (_exn11395_) + (lambda (_exn11447_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11395_)) - (let ((_e11398_ + (class-instance? RuntimeException::t _exn11447_)) + (let ((_e11450_ (let () (declare (not safe)) - (slot-ref _exn11395_ 'exception)))) - (if (macro-uncaught-exception? _e11398_) - (macro-uncaught-exception-reason _e11398_) + (slot-ref _exn11447_ 'exception)))) + (if (macro-uncaught-exception? _e11450_) + (macro-uncaught-exception-reason _e11450_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12703 + (let ((__tmp12755 (let () (declare (not safe)) - (cons _e11398_ '())))) + (cons _e11450_ '())))) (declare (not safe)) - (cons 'uncaught-exception-reason __tmp12703))))) - (if (macro-uncaught-exception? _exn11395_) - (macro-uncaught-exception-reason _exn11395_) + (cons 'uncaught-exception-reason __tmp12755))))) + (if (macro-uncaught-exception? _exn11447_) + (macro-uncaught-exception-reason _exn11447_) (error '"not an instance" 'uncaught-exception? - (let ((__tmp12702 + (let ((__tmp12754 (let () (declare (not safe)) - (cons _exn11395_ '())))) + (cons _exn11447_ '())))) (declare (not safe)) - (cons 'uncaught-exception-reason __tmp12702))))))) + (cons 'uncaught-exception-reason __tmp12754))))))) (define uninitialized-thread-exception? - (lambda (_exn11391_) + (lambda (_exn11443_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11391_)) - (let ((_e11393_ + (class-instance? RuntimeException::t _exn11443_)) + (let ((_e11445_ (let () (declare (not safe)) - (slot-ref _exn11391_ 'exception)))) - (macro-uninitialized-thread-exception? _e11393_)) - (macro-uninitialized-thread-exception? _exn11391_)))) + (slot-ref _exn11443_ 'exception)))) + (macro-uninitialized-thread-exception? _e11445_)) + (macro-uninitialized-thread-exception? _exn11443_)))) (define uninitialized-thread-exception-arguments - (lambda (_exn11387_) + (lambda (_exn11439_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11387_)) - (let ((_e11389_ + (class-instance? RuntimeException::t _exn11439_)) + (let ((_e11441_ (let () (declare (not safe)) - (slot-ref _exn11387_ 'exception)))) - (if (macro-uninitialized-thread-exception? _e11389_) - (macro-uninitialized-thread-exception-arguments _e11389_) + (slot-ref _exn11439_ 'exception)))) + (if (macro-uninitialized-thread-exception? _e11441_) + (macro-uninitialized-thread-exception-arguments _e11441_) (error '"not an instance" 'uninitialized-thread-exception? - (let ((__tmp12705 + (let ((__tmp12757 (let () (declare (not safe)) - (cons _e11389_ '())))) + (cons _e11441_ '())))) (declare (not safe)) (cons 'uninitialized-thread-exception-arguments - __tmp12705))))) - (if (macro-uninitialized-thread-exception? _exn11387_) - (macro-uninitialized-thread-exception-arguments _exn11387_) + __tmp12757))))) + (if (macro-uninitialized-thread-exception? _exn11439_) + (macro-uninitialized-thread-exception-arguments _exn11439_) (error '"not an instance" 'uninitialized-thread-exception? - (let ((__tmp12704 + (let ((__tmp12756 (let () (declare (not safe)) - (cons _exn11387_ '())))) + (cons _exn11439_ '())))) (declare (not safe)) (cons 'uninitialized-thread-exception-arguments - __tmp12704))))))) + __tmp12756))))))) (define uninitialized-thread-exception-procedure - (lambda (_exn11381_) + (lambda (_exn11433_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11381_)) - (let ((_e11384_ + (class-instance? RuntimeException::t _exn11433_)) + (let ((_e11436_ (let () (declare (not safe)) - (slot-ref _exn11381_ 'exception)))) - (if (macro-uninitialized-thread-exception? _e11384_) - (macro-uninitialized-thread-exception-procedure _e11384_) + (slot-ref _exn11433_ 'exception)))) + (if (macro-uninitialized-thread-exception? _e11436_) + (macro-uninitialized-thread-exception-procedure _e11436_) (error '"not an instance" 'uninitialized-thread-exception? - (let ((__tmp12707 + (let ((__tmp12759 (let () (declare (not safe)) - (cons _e11384_ '())))) + (cons _e11436_ '())))) (declare (not safe)) (cons 'uninitialized-thread-exception-procedure - __tmp12707))))) - (if (macro-uninitialized-thread-exception? _exn11381_) - (macro-uninitialized-thread-exception-procedure _exn11381_) + __tmp12759))))) + (if (macro-uninitialized-thread-exception? _exn11433_) + (macro-uninitialized-thread-exception-procedure _exn11433_) (error '"not an instance" 'uninitialized-thread-exception? - (let ((__tmp12706 + (let ((__tmp12758 (let () (declare (not safe)) - (cons _exn11381_ '())))) + (cons _exn11433_ '())))) (declare (not safe)) (cons 'uninitialized-thread-exception-procedure - __tmp12706))))))) + __tmp12758))))))) (define unknown-keyword-argument-exception? - (lambda (_exn11377_) + (lambda (_exn11429_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11377_)) - (let ((_e11379_ + (class-instance? RuntimeException::t _exn11429_)) + (let ((_e11431_ (let () (declare (not safe)) - (slot-ref _exn11377_ 'exception)))) - (macro-unknown-keyword-argument-exception? _e11379_)) - (macro-unknown-keyword-argument-exception? _exn11377_)))) + (slot-ref _exn11429_ 'exception)))) + (macro-unknown-keyword-argument-exception? _e11431_)) + (macro-unknown-keyword-argument-exception? _exn11429_)))) (define unknown-keyword-argument-exception-arguments - (lambda (_exn11373_) + (lambda (_exn11425_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11373_)) - (let ((_e11375_ + (class-instance? RuntimeException::t _exn11425_)) + (let ((_e11427_ (let () (declare (not safe)) - (slot-ref _exn11373_ 'exception)))) - (if (macro-unknown-keyword-argument-exception? _e11375_) - (macro-unknown-keyword-argument-exception-arguments _e11375_) + (slot-ref _exn11425_ 'exception)))) + (if (macro-unknown-keyword-argument-exception? _e11427_) + (macro-unknown-keyword-argument-exception-arguments _e11427_) (error '"not an instance" 'unknown-keyword-argument-exception? - (let ((__tmp12709 + (let ((__tmp12761 (let () (declare (not safe)) - (cons _e11375_ '())))) + (cons _e11427_ '())))) (declare (not safe)) (cons 'unknown-keyword-argument-exception-arguments - __tmp12709))))) - (if (macro-unknown-keyword-argument-exception? _exn11373_) - (macro-unknown-keyword-argument-exception-arguments _exn11373_) + __tmp12761))))) + (if (macro-unknown-keyword-argument-exception? _exn11425_) + (macro-unknown-keyword-argument-exception-arguments _exn11425_) (error '"not an instance" 'unknown-keyword-argument-exception? - (let ((__tmp12708 + (let ((__tmp12760 (let () (declare (not safe)) - (cons _exn11373_ '())))) + (cons _exn11425_ '())))) (declare (not safe)) (cons 'unknown-keyword-argument-exception-arguments - __tmp12708))))))) + __tmp12760))))))) (define unknown-keyword-argument-exception-procedure - (lambda (_exn11367_) + (lambda (_exn11419_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11367_)) - (let ((_e11370_ + (class-instance? RuntimeException::t _exn11419_)) + (let ((_e11422_ (let () (declare (not safe)) - (slot-ref _exn11367_ 'exception)))) - (if (macro-unknown-keyword-argument-exception? _e11370_) - (macro-unknown-keyword-argument-exception-procedure _e11370_) + (slot-ref _exn11419_ 'exception)))) + (if (macro-unknown-keyword-argument-exception? _e11422_) + (macro-unknown-keyword-argument-exception-procedure _e11422_) (error '"not an instance" 'unknown-keyword-argument-exception? - (let ((__tmp12711 + (let ((__tmp12763 (let () (declare (not safe)) - (cons _e11370_ '())))) + (cons _e11422_ '())))) (declare (not safe)) (cons 'unknown-keyword-argument-exception-procedure - __tmp12711))))) - (if (macro-unknown-keyword-argument-exception? _exn11367_) - (macro-unknown-keyword-argument-exception-procedure _exn11367_) + __tmp12763))))) + (if (macro-unknown-keyword-argument-exception? _exn11419_) + (macro-unknown-keyword-argument-exception-procedure _exn11419_) (error '"not an instance" 'unknown-keyword-argument-exception? - (let ((__tmp12710 + (let ((__tmp12762 (let () (declare (not safe)) - (cons _exn11367_ '())))) + (cons _exn11419_ '())))) (declare (not safe)) (cons 'unknown-keyword-argument-exception-procedure - __tmp12710))))))) + __tmp12762))))))) (define unterminated-process-exception? - (lambda (_exn11363_) + (lambda (_exn11415_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11363_)) - (let ((_e11365_ + (class-instance? RuntimeException::t _exn11415_)) + (let ((_e11417_ (let () (declare (not safe)) - (slot-ref _exn11363_ 'exception)))) - (macro-unterminated-process-exception? _e11365_)) - (macro-unterminated-process-exception? _exn11363_)))) + (slot-ref _exn11415_ 'exception)))) + (macro-unterminated-process-exception? _e11417_)) + (macro-unterminated-process-exception? _exn11415_)))) (define unterminated-process-exception-arguments - (lambda (_exn11359_) + (lambda (_exn11411_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11359_)) - (let ((_e11361_ + (class-instance? RuntimeException::t _exn11411_)) + (let ((_e11413_ (let () (declare (not safe)) - (slot-ref _exn11359_ 'exception)))) - (if (macro-unterminated-process-exception? _e11361_) - (macro-unterminated-process-exception-arguments _e11361_) + (slot-ref _exn11411_ 'exception)))) + (if (macro-unterminated-process-exception? _e11413_) + (macro-unterminated-process-exception-arguments _e11413_) (error '"not an instance" 'unterminated-process-exception? - (let ((__tmp12713 + (let ((__tmp12765 (let () (declare (not safe)) - (cons _e11361_ '())))) + (cons _e11413_ '())))) (declare (not safe)) (cons 'unterminated-process-exception-arguments - __tmp12713))))) - (if (macro-unterminated-process-exception? _exn11359_) - (macro-unterminated-process-exception-arguments _exn11359_) + __tmp12765))))) + (if (macro-unterminated-process-exception? _exn11411_) + (macro-unterminated-process-exception-arguments _exn11411_) (error '"not an instance" 'unterminated-process-exception? - (let ((__tmp12712 + (let ((__tmp12764 (let () (declare (not safe)) - (cons _exn11359_ '())))) + (cons _exn11411_ '())))) (declare (not safe)) (cons 'unterminated-process-exception-arguments - __tmp12712))))))) + __tmp12764))))))) (define unterminated-process-exception-procedure - (lambda (_exn11353_) + (lambda (_exn11405_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11353_)) - (let ((_e11356_ + (class-instance? RuntimeException::t _exn11405_)) + (let ((_e11408_ (let () (declare (not safe)) - (slot-ref _exn11353_ 'exception)))) - (if (macro-unterminated-process-exception? _e11356_) - (macro-unterminated-process-exception-procedure _e11356_) + (slot-ref _exn11405_ 'exception)))) + (if (macro-unterminated-process-exception? _e11408_) + (macro-unterminated-process-exception-procedure _e11408_) (error '"not an instance" 'unterminated-process-exception? - (let ((__tmp12715 + (let ((__tmp12767 (let () (declare (not safe)) - (cons _e11356_ '())))) + (cons _e11408_ '())))) (declare (not safe)) (cons 'unterminated-process-exception-procedure - __tmp12715))))) - (if (macro-unterminated-process-exception? _exn11353_) - (macro-unterminated-process-exception-procedure _exn11353_) + __tmp12767))))) + (if (macro-unterminated-process-exception? _exn11405_) + (macro-unterminated-process-exception-procedure _exn11405_) (error '"not an instance" 'unterminated-process-exception? - (let ((__tmp12714 + (let ((__tmp12766 (let () (declare (not safe)) - (cons _exn11353_ '())))) + (cons _exn11405_ '())))) (declare (not safe)) (cons 'unterminated-process-exception-procedure - __tmp12714))))))) + __tmp12766))))))) (define wrong-number-of-arguments-exception? - (lambda (_exn11349_) + (lambda (_exn11401_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11349_)) - (let ((_e11351_ + (class-instance? RuntimeException::t _exn11401_)) + (let ((_e11403_ (let () (declare (not safe)) - (slot-ref _exn11349_ 'exception)))) - (macro-wrong-number-of-arguments-exception? _e11351_)) - (macro-wrong-number-of-arguments-exception? _exn11349_)))) + (slot-ref _exn11401_ 'exception)))) + (macro-wrong-number-of-arguments-exception? _e11403_)) + (macro-wrong-number-of-arguments-exception? _exn11401_)))) (define wrong-number-of-arguments-exception-arguments - (lambda (_exn11345_) + (lambda (_exn11397_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11345_)) - (let ((_e11347_ + (class-instance? RuntimeException::t _exn11397_)) + (let ((_e11399_ (let () (declare (not safe)) - (slot-ref _exn11345_ 'exception)))) - (if (macro-wrong-number-of-arguments-exception? _e11347_) + (slot-ref _exn11397_ 'exception)))) + (if (macro-wrong-number-of-arguments-exception? _e11399_) (macro-wrong-number-of-arguments-exception-arguments - _e11347_) + _e11399_) (error '"not an instance" 'wrong-number-of-arguments-exception? - (let ((__tmp12717 + (let ((__tmp12769 (let () (declare (not safe)) - (cons _e11347_ '())))) + (cons _e11399_ '())))) (declare (not safe)) (cons 'wrong-number-of-arguments-exception-arguments - __tmp12717))))) - (if (macro-wrong-number-of-arguments-exception? _exn11345_) + __tmp12769))))) + (if (macro-wrong-number-of-arguments-exception? _exn11397_) (macro-wrong-number-of-arguments-exception-arguments - _exn11345_) + _exn11397_) (error '"not an instance" 'wrong-number-of-arguments-exception? - (let ((__tmp12716 + (let ((__tmp12768 (let () (declare (not safe)) - (cons _exn11345_ '())))) + (cons _exn11397_ '())))) (declare (not safe)) (cons 'wrong-number-of-arguments-exception-arguments - __tmp12716))))))) + __tmp12768))))))) (define wrong-number-of-arguments-exception-procedure - (lambda (_exn11339_) + (lambda (_exn11391_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11339_)) - (let ((_e11342_ + (class-instance? RuntimeException::t _exn11391_)) + (let ((_e11394_ (let () (declare (not safe)) - (slot-ref _exn11339_ 'exception)))) - (if (macro-wrong-number-of-arguments-exception? _e11342_) + (slot-ref _exn11391_ 'exception)))) + (if (macro-wrong-number-of-arguments-exception? _e11394_) (macro-wrong-number-of-arguments-exception-procedure - _e11342_) + _e11394_) (error '"not an instance" 'wrong-number-of-arguments-exception? - (let ((__tmp12719 + (let ((__tmp12771 (let () (declare (not safe)) - (cons _e11342_ '())))) + (cons _e11394_ '())))) (declare (not safe)) (cons 'wrong-number-of-arguments-exception-procedure - __tmp12719))))) - (if (macro-wrong-number-of-arguments-exception? _exn11339_) + __tmp12771))))) + (if (macro-wrong-number-of-arguments-exception? _exn11391_) (macro-wrong-number-of-arguments-exception-procedure - _exn11339_) + _exn11391_) (error '"not an instance" 'wrong-number-of-arguments-exception? - (let ((__tmp12718 + (let ((__tmp12770 (let () (declare (not safe)) - (cons _exn11339_ '())))) + (cons _exn11391_ '())))) (declare (not safe)) (cons 'wrong-number-of-arguments-exception-procedure - __tmp12718))))))) + __tmp12770))))))) (define wrong-number-of-values-exception? - (lambda (_exn11335_) + (lambda (_exn11387_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11335_)) - (let ((_e11337_ + (class-instance? RuntimeException::t _exn11387_)) + (let ((_e11389_ (let () (declare (not safe)) - (slot-ref _exn11335_ 'exception)))) - (macro-wrong-number-of-values-exception? _e11337_)) - (macro-wrong-number-of-values-exception? _exn11335_)))) + (slot-ref _exn11387_ 'exception)))) + (macro-wrong-number-of-values-exception? _e11389_)) + (macro-wrong-number-of-values-exception? _exn11387_)))) (define wrong-number-of-values-exception-code - (lambda (_exn11331_) + (lambda (_exn11383_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11331_)) - (let ((_e11333_ + (class-instance? RuntimeException::t _exn11383_)) + (let ((_e11385_ (let () (declare (not safe)) - (slot-ref _exn11331_ 'exception)))) - (if (macro-wrong-number-of-values-exception? _e11333_) - (macro-wrong-number-of-values-exception-code _e11333_) + (slot-ref _exn11383_ 'exception)))) + (if (macro-wrong-number-of-values-exception? _e11385_) + (macro-wrong-number-of-values-exception-code _e11385_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12721 + (let ((__tmp12773 (let () (declare (not safe)) - (cons _e11333_ '())))) + (cons _e11385_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-code - __tmp12721))))) - (if (macro-wrong-number-of-values-exception? _exn11331_) - (macro-wrong-number-of-values-exception-code _exn11331_) + __tmp12773))))) + (if (macro-wrong-number-of-values-exception? _exn11383_) + (macro-wrong-number-of-values-exception-code _exn11383_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12720 + (let ((__tmp12772 (let () (declare (not safe)) - (cons _exn11331_ '())))) + (cons _exn11383_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-code - __tmp12720))))))) + __tmp12772))))))) (define wrong-number-of-values-exception-rte - (lambda (_exn11327_) + (lambda (_exn11379_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11327_)) - (let ((_e11329_ + (class-instance? RuntimeException::t _exn11379_)) + (let ((_e11381_ (let () (declare (not safe)) - (slot-ref _exn11327_ 'exception)))) - (if (macro-wrong-number-of-values-exception? _e11329_) - (macro-wrong-number-of-values-exception-rte _e11329_) + (slot-ref _exn11379_ 'exception)))) + (if (macro-wrong-number-of-values-exception? _e11381_) + (macro-wrong-number-of-values-exception-rte _e11381_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12723 + (let ((__tmp12775 (let () (declare (not safe)) - (cons _e11329_ '())))) + (cons _e11381_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-rte - __tmp12723))))) - (if (macro-wrong-number-of-values-exception? _exn11327_) - (macro-wrong-number-of-values-exception-rte _exn11327_) + __tmp12775))))) + (if (macro-wrong-number-of-values-exception? _exn11379_) + (macro-wrong-number-of-values-exception-rte _exn11379_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12722 + (let ((__tmp12774 (let () (declare (not safe)) - (cons _exn11327_ '())))) + (cons _exn11379_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-rte - __tmp12722))))))) + __tmp12774))))))) (define wrong-number-of-values-exception-vals - (lambda (_exn11321_) + (lambda (_exn11373_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11321_)) - (let ((_e11324_ + (class-instance? RuntimeException::t _exn11373_)) + (let ((_e11376_ (let () (declare (not safe)) - (slot-ref _exn11321_ 'exception)))) - (if (macro-wrong-number-of-values-exception? _e11324_) - (macro-wrong-number-of-values-exception-vals _e11324_) + (slot-ref _exn11373_ 'exception)))) + (if (macro-wrong-number-of-values-exception? _e11376_) + (macro-wrong-number-of-values-exception-vals _e11376_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12725 + (let ((__tmp12777 (let () (declare (not safe)) - (cons _e11324_ '())))) + (cons _e11376_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-vals - __tmp12725))))) - (if (macro-wrong-number-of-values-exception? _exn11321_) - (macro-wrong-number-of-values-exception-vals _exn11321_) + __tmp12777))))) + (if (macro-wrong-number-of-values-exception? _exn11373_) + (macro-wrong-number-of-values-exception-vals _exn11373_) (error '"not an instance" 'wrong-number-of-values-exception? - (let ((__tmp12724 + (let ((__tmp12776 (let () (declare (not safe)) - (cons _exn11321_ '())))) + (cons _exn11373_ '())))) (declare (not safe)) (cons 'wrong-number-of-values-exception-vals - __tmp12724))))))) + __tmp12776))))))) (define wrong-processor-c-return-exception? - (lambda (_exn11315_) + (lambda (_exn11367_) (if (let () (declare (not safe)) - (class-instance? RuntimeException::t _exn11315_)) - (let ((_e11318_ + (class-instance? RuntimeException::t _exn11367_)) + (let ((_e11370_ (let () (declare (not safe)) - (slot-ref _exn11315_ 'exception)))) - (macro-wrong-processor-c-return-exception? _e11318_)) - (macro-wrong-processor-c-return-exception? _exn11315_)))))) + (slot-ref _exn11367_ 'exception)))) + (macro-wrong-processor-c-return-exception? _e11370_)) + (macro-wrong-processor-c-return-exception? _exn11367_)))))) diff --git a/src/bootstrap/gerbil/runtime/error__1.scm b/src/bootstrap/gerbil/runtime/error__1.scm index b778a488c..1124f04d4 100644 --- a/src/bootstrap/gerbil/runtime/error__1.scm +++ b/src/bootstrap/gerbil/runtime/error__1.scm @@ -1,167 +1,167 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (begin - (define |[1]#_g12726_| + (define |[1]#_g12778_| (##structure gx#syntax-quote::t 'Exception::t #f (gx#current-expander-context) '())) - (define |[1]#_g12733_| + (define |[1]#_g12785_| (##structure gx#syntax-quote::t 'Exception? #f (gx#current-expander-context) '())) - (define |[1]#_g12735_| + (define |[1]#_g12787_| (##structure gx#syntax-quote::t 'make-Exception #f (gx#current-expander-context) '())) - (define |[1]#_g12737_| + (define |[1]#_g12789_| (##structure gx#syntax-quote::t 'StackTrace::t #f (gx#current-expander-context) '())) - (define |[1]#_g12745_| + (define |[1]#_g12797_| (##structure gx#syntax-quote::t 'StackTrace-continuation-set! #f (gx#current-expander-context) '())) - (define |[1]#_g12748_| + (define |[1]#_g12800_| (##structure gx#syntax-quote::t 'StackTrace-continuation #f (gx#current-expander-context) '())) - (define |[1]#_g12750_| + (define |[1]#_g12802_| (##structure gx#syntax-quote::t 'StackTrace? #f (gx#current-expander-context) '())) - (define |[1]#_g12752_| + (define |[1]#_g12804_| (##structure gx#syntax-quote::t 'make-StackTrace #f (gx#current-expander-context) '())) - (define |[1]#_g12754_| + (define |[1]#_g12806_| (##structure gx#syntax-quote::t 'Error::t #f (gx#current-expander-context) '())) - (define |[1]#_g12764_| + (define |[1]#_g12816_| (##structure gx#syntax-quote::t 'Error-where-set! #f (gx#current-expander-context) '())) - (define |[1]#_g12766_| + (define |[1]#_g12818_| (##structure gx#syntax-quote::t 'Error-irritants-set! #f (gx#current-expander-context) '())) - (define |[1]#_g12768_| + (define |[1]#_g12820_| (##structure gx#syntax-quote::t 'Error-message-set! #f (gx#current-expander-context) '())) - (define |[1]#_g12773_| + (define |[1]#_g12825_| (##structure gx#syntax-quote::t 'Error-where #f (gx#current-expander-context) '())) - (define |[1]#_g12775_| + (define |[1]#_g12827_| (##structure gx#syntax-quote::t 'Error-irritants #f (gx#current-expander-context) '())) - (define |[1]#_g12777_| + (define |[1]#_g12829_| (##structure gx#syntax-quote::t 'Error-message #f (gx#current-expander-context) '())) - (define |[1]#_g12779_| + (define |[1]#_g12831_| (##structure gx#syntax-quote::t 'Error? #f (gx#current-expander-context) '())) - (define |[1]#_g12781_| + (define |[1]#_g12833_| (##structure gx#syntax-quote::t 'make-Error #f (gx#current-expander-context) '())) - (define |[1]#_g12787_| + (define |[1]#_g12839_| (##structure gx#syntax-quote::t 'StackTrace #f (gx#current-expander-context) '())) - (define |[1]#_g12788_| + (define |[1]#_g12840_| (##structure gx#syntax-quote::t 'Exception #f (gx#current-expander-context) '())) - (define |[1]#_g12789_| + (define |[1]#_g12841_| (##structure gx#syntax-quote::t 'RuntimeException::t #f (gx#current-expander-context) '())) - (define |[1]#_g12797_| + (define |[1]#_g12849_| (##structure gx#syntax-quote::t 'RuntimeException-exception-set! #f (gx#current-expander-context) '())) - (define |[1]#_g12800_| + (define |[1]#_g12852_| (##structure gx#syntax-quote::t 'RuntimeException-exception #f (gx#current-expander-context) '())) - (define |[1]#_g12802_| + (define |[1]#_g12854_| (##structure gx#syntax-quote::t 'RuntimeException? #f (gx#current-expander-context) '())) - (define |[1]#_g12804_| + (define |[1]#_g12856_| (##structure gx#syntax-quote::t 'make-RuntimeException @@ -172,29 +172,29 @@ (define |[:0:]#Exception| (|gerbil/core$$[1]#make-extended-class-info| 'runtime-identifier: - |[1]#_g12726_| + |[1]#_g12778_| 'expander-identifiers: - (let ((__tmp12727 - (let ((__tmp12736 |[1]#_g12726_|) - (__tmp12728 - (let ((__tmp12734 |[1]#_g12735_|) - (__tmp12729 - (let ((__tmp12732 |[1]#_g12733_|) - (__tmp12730 - (let ((__tmp12731 + (let ((__tmp12779 + (let ((__tmp12788 |[1]#_g12778_|) + (__tmp12780 + (let ((__tmp12786 |[1]#_g12787_|) + (__tmp12781 + (let ((__tmp12784 |[1]#_g12785_|) + (__tmp12782 + (let ((__tmp12783 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp12731)))) + (cons '() __tmp12783)))) (declare (not safe)) - (cons __tmp12732 __tmp12730)))) + (cons __tmp12784 __tmp12782)))) (declare (not safe)) - (cons __tmp12734 __tmp12729)))) + (cons __tmp12786 __tmp12781)))) (declare (not safe)) - (cons __tmp12736 __tmp12728)))) + (cons __tmp12788 __tmp12780)))) (declare (not safe)) - (cons '() __tmp12727)) + (cons '() __tmp12779)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-class-exhibitor| '#f @@ -206,37 +206,37 @@ (define |[:0:]#StackTrace| (|gerbil/core$$[1]#make-extended-class-info| 'runtime-identifier: - |[1]#_g12737_| + |[1]#_g12789_| 'expander-identifiers: - (let ((__tmp12738 - (let ((__tmp12753 |[1]#_g12737_|) - (__tmp12739 - (let ((__tmp12751 |[1]#_g12752_|) - (__tmp12740 - (let ((__tmp12749 |[1]#_g12750_|) - (__tmp12741 - (let ((__tmp12746 - (let ((__tmp12747 |[1]#_g12748_|)) + (let ((__tmp12790 + (let ((__tmp12805 |[1]#_g12789_|) + (__tmp12791 + (let ((__tmp12803 |[1]#_g12804_|) + (__tmp12792 + (let ((__tmp12801 |[1]#_g12802_|) + (__tmp12793 + (let ((__tmp12798 + (let ((__tmp12799 |[1]#_g12800_|)) (declare (not safe)) - (cons __tmp12747 '()))) - (__tmp12742 - (let ((__tmp12743 - (let ((__tmp12744 - |[1]#_g12745_|)) + (cons __tmp12799 '()))) + (__tmp12794 + (let ((__tmp12795 + (let ((__tmp12796 + |[1]#_g12797_|)) (declare (not safe)) - (cons __tmp12744 '())))) + (cons __tmp12796 '())))) (declare (not safe)) - (cons __tmp12743 '())))) + (cons __tmp12795 '())))) (declare (not safe)) - (cons __tmp12746 __tmp12742)))) + (cons __tmp12798 __tmp12794)))) (declare (not safe)) - (cons __tmp12749 __tmp12741)))) + (cons __tmp12801 __tmp12793)))) (declare (not safe)) - (cons __tmp12751 __tmp12740)))) + (cons __tmp12803 __tmp12792)))) (declare (not safe)) - (cons __tmp12753 __tmp12739)))) + (cons __tmp12805 __tmp12791)))) (declare (not safe)) - (cons '() __tmp12738)) + (cons '() __tmp12790)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-class-exhibitor| '#f @@ -248,74 +248,74 @@ (define |[:0:]#Error| (|gerbil/core$$[1]#make-extended-class-info| 'runtime-identifier: - |[1]#_g12754_| + |[1]#_g12806_| 'expander-identifiers: - (let ((__tmp12783 - (let ((__tmp12786 |[1]#_g12737_|) - (__tmp12784 - (let ((__tmp12785 |[1]#_g12726_|)) + (let ((__tmp12835 + (let ((__tmp12838 |[1]#_g12789_|) + (__tmp12836 + (let ((__tmp12837 |[1]#_g12778_|)) (declare (not safe)) - (cons __tmp12785 '())))) + (cons __tmp12837 '())))) (declare (not safe)) - (cons __tmp12786 __tmp12784))) - (__tmp12755 - (let ((__tmp12782 |[1]#_g12754_|) - (__tmp12756 - (let ((__tmp12780 |[1]#_g12781_|) - (__tmp12757 - (let ((__tmp12778 |[1]#_g12779_|) - (__tmp12758 - (let ((__tmp12769 - (let ((__tmp12776 |[1]#_g12777_|) - (__tmp12770 - (let ((__tmp12774 - |[1]#_g12775_|) - (__tmp12771 - (let ((__tmp12772 - |[1]#_g12773_|)) + (cons __tmp12838 __tmp12836))) + (__tmp12807 + (let ((__tmp12834 |[1]#_g12806_|) + (__tmp12808 + (let ((__tmp12832 |[1]#_g12833_|) + (__tmp12809 + (let ((__tmp12830 |[1]#_g12831_|) + (__tmp12810 + (let ((__tmp12821 + (let ((__tmp12828 |[1]#_g12829_|) + (__tmp12822 + (let ((__tmp12826 + |[1]#_g12827_|) + (__tmp12823 + (let ((__tmp12824 + |[1]#_g12825_|)) (declare (not safe)) - (cons __tmp12772 + (cons __tmp12824 '())))) (declare (not safe)) - (cons __tmp12774 - __tmp12771)))) + (cons __tmp12826 + __tmp12823)))) (declare (not safe)) - (cons __tmp12776 __tmp12770))) - (__tmp12759 - (let ((__tmp12760 - (let ((__tmp12767 - |[1]#_g12768_|) - (__tmp12761 - (let ((__tmp12765 - |[1]#_g12766_|) - (__tmp12762 - (let ((__tmp12763 + (cons __tmp12828 __tmp12822))) + (__tmp12811 + (let ((__tmp12812 + (let ((__tmp12819 + |[1]#_g12820_|) + (__tmp12813 + (let ((__tmp12817 + |[1]#_g12818_|) + (__tmp12814 + (let ((__tmp12815 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g12764_|)) + |[1]#_g12816_|)) (declare (not safe)) - (cons __tmp12763 '())))) + (cons __tmp12815 '())))) (declare (not safe)) - (cons __tmp12765 __tmp12762)))) + (cons __tmp12817 __tmp12814)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12767 - __tmp12761)))) + (cons __tmp12819 + __tmp12813)))) (declare (not safe)) - (cons __tmp12760 '())))) + (cons __tmp12812 '())))) (declare (not safe)) - (cons __tmp12769 __tmp12759)))) + (cons __tmp12821 __tmp12811)))) (declare (not safe)) - (cons __tmp12778 __tmp12758)))) + (cons __tmp12830 __tmp12810)))) (declare (not safe)) - (cons __tmp12780 __tmp12757)))) + (cons __tmp12832 __tmp12809)))) (declare (not safe)) - (cons __tmp12782 __tmp12756)))) + (cons __tmp12834 __tmp12808)))) (declare (not safe)) - (cons __tmp12783 __tmp12755)) + (cons __tmp12835 __tmp12807)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-class-exhibitor| '#f - (list |[1]#_g12787_| |[1]#_g12788_|) + (list |[1]#_g12839_| |[1]#_g12840_|) 'Error ':init! '((transparent: . #t)) @@ -323,895 +323,895 @@ (define |[:0:]#RuntimeException| (|gerbil/core$$[1]#make-extended-class-info| 'runtime-identifier: - |[1]#_g12789_| + |[1]#_g12841_| 'expander-identifiers: - (let ((__tmp12806 - (let ((__tmp12809 |[1]#_g12737_|) - (__tmp12807 - (let ((__tmp12808 |[1]#_g12726_|)) + (let ((__tmp12858 + (let ((__tmp12861 |[1]#_g12789_|) + (__tmp12859 + (let ((__tmp12860 |[1]#_g12778_|)) (declare (not safe)) - (cons __tmp12808 '())))) + (cons __tmp12860 '())))) (declare (not safe)) - (cons __tmp12809 __tmp12807))) - (__tmp12790 - (let ((__tmp12805 |[1]#_g12789_|) - (__tmp12791 - (let ((__tmp12803 |[1]#_g12804_|) - (__tmp12792 - (let ((__tmp12801 |[1]#_g12802_|) - (__tmp12793 - (let ((__tmp12798 - (let ((__tmp12799 |[1]#_g12800_|)) + (cons __tmp12861 __tmp12859))) + (__tmp12842 + (let ((__tmp12857 |[1]#_g12841_|) + (__tmp12843 + (let ((__tmp12855 |[1]#_g12856_|) + (__tmp12844 + (let ((__tmp12853 |[1]#_g12854_|) + (__tmp12845 + (let ((__tmp12850 + (let ((__tmp12851 |[1]#_g12852_|)) (declare (not safe)) - (cons __tmp12799 '()))) - (__tmp12794 - (let ((__tmp12795 - (let ((__tmp12796 - |[1]#_g12797_|)) + (cons __tmp12851 '()))) + (__tmp12846 + (let ((__tmp12847 + (let ((__tmp12848 + |[1]#_g12849_|)) (declare (not safe)) - (cons __tmp12796 '())))) + (cons __tmp12848 '())))) (declare (not safe)) - (cons __tmp12795 '())))) + (cons __tmp12847 '())))) (declare (not safe)) - (cons __tmp12798 __tmp12794)))) + (cons __tmp12850 __tmp12846)))) (declare (not safe)) - (cons __tmp12801 __tmp12793)))) + (cons __tmp12853 __tmp12845)))) (declare (not safe)) - (cons __tmp12803 __tmp12792)))) + (cons __tmp12855 __tmp12844)))) (declare (not safe)) - (cons __tmp12805 __tmp12791)))) + (cons __tmp12857 __tmp12843)))) (declare (not safe)) - (cons __tmp12806 __tmp12790)) + (cons __tmp12858 __tmp12842)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-class-exhibitor| '#f - (list |[1]#_g12787_| |[1]#_g12788_|) + (list |[1]#_g12839_| |[1]#_g12840_|) 'RuntimeException '#f '((transparent: . #t)) '(exception)))) (define |[:0:]#check-procedure| - (lambda (_$stx10862_) - (let* ((_g1086610884_ - (lambda (_g1086710880_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1086710880_))) - (_g1086510940_ - (lambda (_g1086710888_) - (if (gx#stx-pair? _g1086710888_) - (let ((_e1087210891_ (gx#syntax-e _g1086710888_))) - (let ((_hd1087110895_ + (lambda (_$stx10914_) + (let* ((_g1091810936_ + (lambda (_g1091910932_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1091910932_))) + (_g1091710992_ + (lambda (_g1091910940_) + (if (gx#stx-pair? _g1091910940_) + (let ((_e1092410943_ (gx#syntax-e _g1091910940_))) + (let ((_hd1092310947_ (let () (declare (not safe)) - (##car _e1087210891_))) - (_tl1087010898_ + (##car _e1092410943_))) + (_tl1092210950_ (let () (declare (not safe)) - (##cdr _e1087210891_)))) - (if (gx#stx-pair? _tl1087010898_) - (let ((_e1087510901_ - (gx#syntax-e _tl1087010898_))) - (let ((_hd1087410905_ + (##cdr _e1092410943_)))) + (if (gx#stx-pair? _tl1092210950_) + (let ((_e1092710953_ + (gx#syntax-e _tl1092210950_))) + (let ((_hd1092610957_ (let () (declare (not safe)) - (##car _e1087510901_))) - (_tl1087310908_ + (##car _e1092710953_))) + (_tl1092510960_ (let () (declare (not safe)) - (##cdr _e1087510901_)))) - (if (gx#stx-pair? _tl1087310908_) - (let ((_e1087810911_ - (gx#syntax-e _tl1087310908_))) - (let ((_hd1087710915_ + (##cdr _e1092710953_)))) + (if (gx#stx-pair? _tl1092510960_) + (let ((_e1093010963_ + (gx#syntax-e _tl1092510960_))) + (let ((_hd1092910967_ (let () (declare (not safe)) - (##car _e1087810911_))) - (_tl1087610918_ + (##car _e1093010963_))) + (_tl1092810970_ (let () (declare (not safe)) - (##cdr _e1087810911_)))) - (if (gx#stx-null? _tl1087610918_) - ((lambda (_L10921_ _L10923_) - (let ((__tmp12831 + (##cdr _e1093010963_)))) + (if (gx#stx-null? _tl1092810970_) + ((lambda (_L10973_ _L10975_) + (let ((__tmp12883 (gx#datum->syntax '#f 'unless)) - (__tmp12810 - (let ((__tmp12828 - (let ((__tmp12830 + (__tmp12862 + (let ((__tmp12880 + (let ((__tmp12882 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'procedure?)) - (__tmp12829 + (__tmp12881 (let () (declare (not safe)) - (cons _L10923_ '())))) + (cons _L10975_ '())))) (declare (not safe)) - (cons __tmp12830 __tmp12829))) - (__tmp12811 - (let ((__tmp12812 - (let ((__tmp12827 (gx#datum->syntax '#f 'raise)) - (__tmp12813 - (let ((__tmp12814 - (let ((__tmp12826 + (cons __tmp12882 __tmp12881))) + (__tmp12863 + (let ((__tmp12864 + (let ((__tmp12879 (gx#datum->syntax '#f 'raise)) + (__tmp12865 + (let ((__tmp12866 + (let ((__tmp12878 (gx#datum->syntax '#f 'Error)) - (__tmp12815 - (let ((__tmp12816 - (let ((__tmp12817 + (__tmp12867 + (let ((__tmp12868 + (let ((__tmp12869 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12823 - (let ((__tmp12825 + (let ((__tmp12875 + (let ((__tmp12877 (gx#datum->syntax '#f 'quote)) - (__tmp12824 + (__tmp12876 (let () (declare (not safe)) - (cons _L10921_ '())))) + (cons _L10973_ '())))) (declare (not safe)) - (cons __tmp12825 __tmp12824))) - (__tmp12818 - (let ((__tmp12819 - (let ((__tmp12820 - (let ((__tmp12822 + (cons __tmp12877 __tmp12876))) + (__tmp12870 + (let ((__tmp12871 + (let ((__tmp12872 + (let ((__tmp12874 (gx#datum->syntax '#f '@list)) - (__tmp12821 + (__tmp12873 (let () (declare (not safe)) - (cons _L10923_ '())))) + (cons _L10975_ '())))) (declare (not safe)) - (cons __tmp12822 __tmp12821)))) + (cons __tmp12874 __tmp12873)))) (declare (not safe)) - (cons __tmp12820 '())))) + (cons __tmp12872 '())))) (declare (not safe)) - (cons 'irritants: __tmp12819)))) + (cons 'irritants: __tmp12871)))) (declare (not safe)) - (cons __tmp12823 __tmp12818)))) + (cons __tmp12875 __tmp12870)))) (declare (not safe)) - (cons 'where: __tmp12817)))) + (cons 'where: __tmp12869)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (cons '"expected procedure" - __tmp12816)))) + __tmp12868)))) (declare (not safe)) - (cons __tmp12826 __tmp12815)))) + (cons __tmp12878 __tmp12867)))) (declare (not safe)) - (cons __tmp12814 '())))) + (cons __tmp12866 '())))) (declare (not safe)) - (cons __tmp12827 __tmp12813)))) + (cons __tmp12879 __tmp12865)))) (declare (not safe)) - (cons __tmp12812 '())))) + (cons __tmp12864 '())))) (declare (not safe)) - (cons __tmp12828 __tmp12811)))) + (cons __tmp12880 __tmp12863)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12831 - __tmp12810))) - _hd1087710915_ - _hd1087410905_) - (_g1086610884_ _g1086710888_)))) - (_g1086610884_ _g1086710888_)))) - (_g1086610884_ _g1086710888_)))) - (_g1086610884_ _g1086710888_))))) - (_g1086510940_ _$stx10862_)))) + (cons __tmp12883 + __tmp12862))) + _hd1092910967_ + _hd1092610957_) + (_g1091810936_ _g1091910940_)))) + (_g1091810936_ _g1091910940_)))) + (_g1091810936_ _g1091910940_)))) + (_g1091810936_ _g1091910940_))))) + (_g1091710992_ _$stx10914_)))) (define |[:0:]#defruntime-exception| - (lambda (_stx10944_) - (let* ((_g1094710974_ - (lambda (_g1094810970_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1094810970_))) - (_g1094611209_ - (lambda (_g1094810978_) - (if (gx#stx-pair? _g1094810978_) - (let ((_e1095310981_ (gx#syntax-e _g1094810978_))) - (let ((_hd1095210985_ + (lambda (_stx10996_) + (let* ((_g1099911026_ + (lambda (_g1100011022_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1100011022_))) + (_g1099811261_ + (lambda (_g1100011030_) + (if (gx#stx-pair? _g1100011030_) + (let ((_e1100511033_ (gx#syntax-e _g1100011030_))) + (let ((_hd1100411037_ (let () (declare (not safe)) - (##car _e1095310981_))) - (_tl1095110988_ + (##car _e1100511033_))) + (_tl1100311040_ (let () (declare (not safe)) - (##cdr _e1095310981_)))) - (if (gx#stx-pair? _tl1095110988_) - (let ((_e1095610991_ - (gx#syntax-e _tl1095110988_))) - (let ((_hd1095510995_ + (##cdr _e1100511033_)))) + (if (gx#stx-pair? _tl1100311040_) + (let ((_e1100811043_ + (gx#syntax-e _tl1100311040_))) + (let ((_hd1100711047_ (let () (declare (not safe)) - (##car _e1095610991_))) - (_tl1095410998_ + (##car _e1100811043_))) + (_tl1100611050_ (let () (declare (not safe)) - (##cdr _e1095610991_)))) - (if (gx#stx-pair? _hd1095510995_) - (let ((_e1095911001_ - (gx#syntax-e _hd1095510995_))) - (let ((_hd1095811005_ + (##cdr _e1100811043_)))) + (if (gx#stx-pair? _hd1100711047_) + (let ((_e1101111053_ + (gx#syntax-e _hd1100711047_))) + (let ((_hd1101011057_ (let () (declare (not safe)) - (##car _e1095911001_))) - (_tl1095711008_ + (##car _e1101111053_))) + (_tl1100911060_ (let () (declare (not safe)) - (##cdr _e1095911001_)))) + (##cdr _e1101111053_)))) (if (gx#stx-pair/null? - _tl1095711008_) - (let ((_g12832_ + _tl1100911060_) + (let ((_g12884_ (gx#syntax-split-splice - _tl1095711008_ + _tl1100911060_ '0))) (begin - (let ((_g12833_ + (let ((_g12885_ (let () (declare (not safe)) (if (##values? - _g12832_) + _g12884_) (##vector-length - _g12832_) + _g12884_) 1)))) (if (not (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##fx= _g12833_ 2))) - (error "Context expects 2 values" _g12833_))) + (##fx= _g12885_ 2))) + (error "Context expects 2 values" _g12885_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (let ((_target1096011011_ + (let ((_target1101211063_ (let () (declare (not safe)) (##vector-ref - _g12832_ + _g12884_ 0))) - (_tl1096211014_ + (_tl1101411066_ (let () (declare (not safe)) (##vector-ref - _g12832_ + _g12884_ 1)))) (if (gx#stx-null? - _tl1096211014_) - (letrec ((_loop1096311017_ + _tl1101411066_) + (letrec ((_loop1101511069_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (lambda (_hd1096111021_ _getf1096711024_) - (if (gx#stx-pair? _hd1096111021_) - (let ((_e1096411027_ - (gx#syntax-e _hd1096111021_))) - (let ((_lp-hd1096511031_ + (lambda (_hd1101311073_ _getf1101911076_) + (if (gx#stx-pair? _hd1101311073_) + (let ((_e1101611079_ + (gx#syntax-e _hd1101311073_))) + (let ((_lp-hd1101711083_ (let () (declare (not safe)) - (##car _e1096411027_))) - (_lp-tl1096611034_ + (##car _e1101611079_))) + (_lp-tl1101811086_ (let () (declare (not safe)) - (##cdr _e1096411027_)))) - (_loop1096311017_ - _lp-tl1096611034_ + (##cdr _e1101611079_)))) + (_loop1101511069_ + _lp-tl1101811086_ (let () (declare (not safe)) - (cons _lp-hd1096511031_ - _getf1096711024_))))) - (let ((_getf1096811037_ - (reverse _getf1096711024_))) - (if (gx#stx-null? _tl1095410998_) - ((lambda (_L11041_ _L11043_) - (let* ((_g1106311087_ - (lambda (_g1106411083_) + (cons _lp-hd1101711083_ + _getf1101911076_))))) + (let ((_getf1102011089_ + (reverse _getf1101911076_))) + (if (gx#stx-null? _tl1100611050_) + ((lambda (_L11093_ _L11095_) + (let* ((_g1111511139_ + (lambda (_g1111611135_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1106411083_))) - (_g1106211194_ - (lambda (_g1106411091_) + _g1111611135_))) + (_g1111411246_ + (lambda (_g1111611143_) (if (gx#stx-pair? - _g1106411091_) - (let ((_e1106911094_ + _g1111611143_) + (let ((_e1112111146_ (gx#syntax-e - _g1106411091_))) - (let ((_hd1106811098_ + _g1111611143_))) + (let ((_hd1112011150_ (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (##car _e1106911094_))) - (_tl1106711101_ - (let () (declare (not safe)) (##cdr _e1106911094_)))) - (if (gx#stx-pair? _tl1106711101_) - (let ((_e1107211104_ (gx#syntax-e _tl1106711101_))) - (let ((_hd1107111108_ + (##car _e1112111146_))) + (_tl1111911153_ + (let () (declare (not safe)) (##cdr _e1112111146_)))) + (if (gx#stx-pair? _tl1111911153_) + (let ((_e1112411156_ (gx#syntax-e _tl1111911153_))) + (let ((_hd1112311160_ (let () (declare (not safe)) - (##car _e1107211104_))) - (_tl1107011111_ + (##car _e1112411156_))) + (_tl1112211163_ (let () (declare (not safe)) - (##cdr _e1107211104_)))) - (if (gx#stx-pair/null? _hd1107111108_) - (let ((_g12834_ + (##cdr _e1112411156_)))) + (if (gx#stx-pair/null? _hd1112311160_) + (let ((_g12886_ (gx#syntax-split-splice - _hd1107111108_ + _hd1112311160_ '0))) (begin - (let ((_g12835_ + (let ((_g12887_ (let () (declare (not safe)) - (if (##values? _g12834_) - (##vector-length _g12834_) + (if (##values? _g12886_) + (##vector-length _g12886_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g12835_ 2))) + (##fx= _g12887_ 2))) (error "Context expects 2 values" - _g12835_))) - (let ((_target1107311114_ + _g12887_))) + (let ((_target1112511166_ (let () (declare (not safe)) - (##vector-ref _g12834_ 0))) - (_tl1107511117_ + (##vector-ref _g12886_ 0))) + (_tl1112711169_ (let () (declare (not safe)) - (##vector-ref _g12834_ 1)))) - (if (gx#stx-null? _tl1107511117_) - (letrec ((_loop1107611120_ - (lambda (_hd1107411124_ - _macro-getf1108011127_) + (##vector-ref _g12886_ 1)))) + (if (gx#stx-null? _tl1112711169_) + (letrec ((_loop1112811172_ + (lambda (_hd1112611176_ + _macro-getf1113211179_) (if (gx#stx-pair? - _hd1107411124_) - (let ((_e1107711130_ + _hd1112611176_) + (let ((_e1112911182_ (gx#syntax-e ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _hd1107411124_))) - (let ((_lp-hd1107811134_ - (let () (declare (not safe)) (##car _e1107711130_))) - (_lp-tl1107911137_ - (let () (declare (not safe)) (##cdr _e1107711130_)))) - (_loop1107611120_ - _lp-tl1107911137_ + _hd1112611176_))) + (let ((_lp-hd1113011186_ + (let () (declare (not safe)) (##car _e1112911182_))) + (_lp-tl1113111189_ + (let () (declare (not safe)) (##cdr _e1112911182_)))) + (_loop1112811172_ + _lp-tl1113111189_ (let () (declare (not safe)) - (cons _lp-hd1107811134_ _macro-getf1108011127_))))) - (let ((_macro-getf1108111140_ - (reverse _macro-getf1108011127_))) - (if (gx#stx-null? _tl1107011111_) - ((lambda (_L11144_ _L11146_) + (cons _lp-hd1113011186_ _macro-getf1113211179_))))) + (let ((_macro-getf1113311192_ + (reverse _macro-getf1113211179_))) + (if (gx#stx-null? _tl1112211163_) + ((lambda (_L11196_ _L11198_) (let () - (let ((__tmp12959 (gx#datum->syntax '#f 'begin)) - (__tmp12836 - (let ((__tmp12954 - (let ((__tmp12958 + (let ((__tmp13011 (gx#datum->syntax '#f 'begin)) + (__tmp12888 + (let ((__tmp13006 + (let ((__tmp13010 (gx#datum->syntax '#f 'extern)) - (__tmp12955 - (let ((__tmp12956 - (let ((__tmp12957 - (lambda (_g1117111174_ + (__tmp13007 + (let ((__tmp13008 + (let ((__tmp13009 + (lambda (_g1122311226_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g1117211177_) + _g1122411229_) (let () (declare (not safe)) - (cons _g1117111174_ _g1117211177_))))) + (cons _g1122311226_ _g1122411229_))))) (declare (not safe)) - (foldr1 __tmp12957 '() _L11144_)))) + (foldr1 __tmp13009 '() _L11196_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L11146_ - __tmp12956)))) + (cons _L11198_ + __tmp13008)))) (declare (not safe)) - (cons __tmp12958 __tmp12955))) - (__tmp12837 - (let ((__tmp12921 - (let ((__tmp12953 + (cons __tmp13010 __tmp13007))) + (__tmp12889 + (let ((__tmp12973 + (let ((__tmp13005 (gx#datum->syntax '#f 'def)) - (__tmp12922 - (let ((__tmp12950 - (let ((__tmp12951 + (__tmp12974 + (let ((__tmp13002 + (let ((__tmp13003 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12952 (gx#datum->syntax '#f 'exn))) + (let ((__tmp13004 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12952 '())))) + (cons __tmp13004 '())))) (declare (not safe)) - (cons _L11043_ __tmp12951))) - (__tmp12923 - (let ((__tmp12924 - (let ((__tmp12949 (gx#datum->syntax '#f 'if)) - (__tmp12925 - (let ((__tmp12945 - (let ((__tmp12948 + (cons _L11095_ __tmp13003))) + (__tmp12975 + (let ((__tmp12976 + (let ((__tmp13001 (gx#datum->syntax '#f 'if)) + (__tmp12977 + (let ((__tmp12997 + (let ((__tmp13000 (gx#datum->syntax '#f 'RuntimeException?)) - (__tmp12946 - (let ((__tmp12947 + (__tmp12998 + (let ((__tmp12999 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12947 '())))) + (cons __tmp12999 '())))) (declare (not safe)) - (cons __tmp12948 __tmp12946))) - (__tmp12926 - (let ((__tmp12931 - (let ((__tmp12944 + (cons __tmp13000 __tmp12998))) + (__tmp12978 + (let ((__tmp12983 + (let ((__tmp12996 (gx#datum->syntax '#f 'let)) - (__tmp12932 - (let ((__tmp12937 + (__tmp12984 + (let ((__tmp12989 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12943 (gx#datum->syntax '#f 'e)) - (__tmp12938 - (let ((__tmp12939 - (let ((__tmp12942 + (let ((__tmp12995 (gx#datum->syntax '#f 'e)) + (__tmp12990 + (let ((__tmp12991 + (let ((__tmp12994 (gx#datum->syntax '#f '&RuntimeException-exception)) - (__tmp12940 - (let ((__tmp12941 + (__tmp12992 + (let ((__tmp12993 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12941 '())))) + (cons __tmp12993 '())))) (declare (not safe)) - (cons __tmp12942 __tmp12940)))) + (cons __tmp12994 __tmp12992)))) (declare (not safe)) - (cons __tmp12939 '())))) + (cons __tmp12991 '())))) (declare (not safe)) - (cons __tmp12943 __tmp12938))) - (__tmp12933 - (let ((__tmp12934 - (let ((__tmp12935 - (let ((__tmp12936 + (cons __tmp12995 __tmp12990))) + (__tmp12985 + (let ((__tmp12986 + (let ((__tmp12987 + (let ((__tmp12988 (gx#datum->syntax '#f 'e))) (declare (not safe)) - (cons __tmp12936 '())))) + (cons __tmp12988 '())))) (declare (not safe)) - (cons _L11146_ __tmp12935)))) + (cons _L11198_ __tmp12987)))) (declare (not safe)) - (cons __tmp12934 '())))) + (cons __tmp12986 '())))) (declare (not safe)) - (cons __tmp12937 __tmp12933)))) + (cons __tmp12989 __tmp12985)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12944 - __tmp12932))) - (__tmp12927 - (let ((__tmp12928 - (let ((__tmp12929 + (cons __tmp12996 + __tmp12984))) + (__tmp12979 + (let ((__tmp12980 + (let ((__tmp12981 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12930 (gx#datum->syntax '#f 'exn))) + (let ((__tmp12982 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12930 '())))) + (cons __tmp12982 '())))) (declare (not safe)) - (cons _L11146_ __tmp12929)))) + (cons _L11198_ __tmp12981)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12928 '())))) + (cons __tmp12980 '())))) (declare (not safe)) - (cons __tmp12931 __tmp12927)))) + (cons __tmp12983 __tmp12979)))) (declare (not safe)) - (cons __tmp12945 __tmp12926)))) + (cons __tmp12997 __tmp12978)))) (declare (not safe)) - (cons __tmp12949 __tmp12925)))) + (cons __tmp13001 __tmp12977)))) (declare (not safe)) - (cons __tmp12924 '())))) + (cons __tmp12976 '())))) (declare (not safe)) - (cons __tmp12950 __tmp12923)))) + (cons __tmp13002 __tmp12975)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12953 - __tmp12922))) - (__tmp12838 + (cons __tmp13005 + __tmp12974))) + (__tmp12890 (begin (gx#syntax-check-splice-targets - _L11041_ - _L11144_ - _L11041_ - _L11144_ - _L11041_) - (let ((__tmp12839 - (lambda (_g1116511180_ + _L11093_ + _L11196_ + _L11093_ + _L11196_ + _L11093_) + (let ((__tmp12891 + (lambda (_g1121711232_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g1116611183_ - _g1116711185_ - _g1116811187_ - _g1116911189_ - _g1117011191_) - (let ((__tmp12840 - (let ((__tmp12920 (gx#datum->syntax '#f 'def)) - (__tmp12841 - (let ((__tmp12917 - (let ((__tmp12918 - (let ((__tmp12919 + _g1121811235_ + _g1121911237_ + _g1122011239_ + _g1122111241_ + _g1122211243_) + (let ((__tmp12892 + (let ((__tmp12972 (gx#datum->syntax '#f 'def)) + (__tmp12893 + (let ((__tmp12969 + (let ((__tmp12970 + (let ((__tmp12971 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12919 '())))) + (cons __tmp12971 '())))) (declare (not safe)) - (cons _g1116511180_ __tmp12918))) - (__tmp12842 - (let ((__tmp12843 - (let ((__tmp12916 + (cons _g1121711232_ __tmp12970))) + (__tmp12894 + (let ((__tmp12895 + (let ((__tmp12968 (gx#datum->syntax '#f 'if)) - (__tmp12844 - (let ((__tmp12912 - (let ((__tmp12915 + (__tmp12896 + (let ((__tmp12964 + (let ((__tmp12967 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'RuntimeException?)) - (__tmp12913 - (let ((__tmp12914 (gx#datum->syntax '#f 'exn))) + (__tmp12965 + (let ((__tmp12966 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12914 '())))) + (cons __tmp12966 '())))) (declare (not safe)) - (cons __tmp12915 __tmp12913))) - (__tmp12845 - (let ((__tmp12874 - (let ((__tmp12911 (gx#datum->syntax '#f 'let)) - (__tmp12875 - (let ((__tmp12904 - (let ((__tmp12910 + (cons __tmp12967 __tmp12965))) + (__tmp12897 + (let ((__tmp12926 + (let ((__tmp12963 (gx#datum->syntax '#f 'let)) + (__tmp12927 + (let ((__tmp12956 + (let ((__tmp12962 (gx#datum->syntax '#f 'e)) - (__tmp12905 - (let ((__tmp12906 - (let ((__tmp12909 + (__tmp12957 + (let ((__tmp12958 + (let ((__tmp12961 (gx#datum->syntax ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '#f '&RuntimeException-exception)) - (__tmp12907 - (let ((__tmp12908 (gx#datum->syntax '#f 'exn))) + (__tmp12959 + (let ((__tmp12960 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12908 '())))) + (cons __tmp12960 '())))) (declare (not safe)) - (cons __tmp12909 __tmp12907)))) + (cons __tmp12961 __tmp12959)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12906 '())))) + (cons __tmp12958 '())))) (declare (not safe)) - (cons __tmp12910 __tmp12905))) - (__tmp12876 - (let ((__tmp12877 - (let ((__tmp12903 + (cons __tmp12962 __tmp12957))) + (__tmp12928 + (let ((__tmp12929 + (let ((__tmp12955 (gx#datum->syntax '#f 'if)) - (__tmp12878 - (let ((__tmp12900 - (let ((__tmp12901 + (__tmp12930 + (let ((__tmp12952 + (let ((__tmp12953 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12902 (gx#datum->syntax '#f 'e))) + (let ((__tmp12954 (gx#datum->syntax '#f 'e))) (declare (not safe)) - (cons __tmp12902 '())))) + (cons __tmp12954 '())))) (declare (not safe)) - (cons _L11146_ __tmp12901))) - (__tmp12879 - (let ((__tmp12897 - (let ((__tmp12898 - (let ((__tmp12899 + (cons _L11198_ __tmp12953))) + (__tmp12931 + (let ((__tmp12949 + (let ((__tmp12950 + (let ((__tmp12951 (gx#datum->syntax '#f 'e))) (declare (not safe)) - (cons __tmp12899 '())))) + (cons __tmp12951 '())))) (declare (not safe)) - (cons _g1116611183_ __tmp12898))) - (__tmp12880 - (let ((__tmp12881 - (let ((__tmp12896 + (cons _g1121811235_ __tmp12950))) + (__tmp12932 + (let ((__tmp12933 + (let ((__tmp12948 (gx#datum->syntax '#f 'error)) - (__tmp12882 - (let ((__tmp12883 - (let ((__tmp12893 - (let ((__tmp12895 + (__tmp12934 + (let ((__tmp12935 + (let ((__tmp12945 + (let ((__tmp12947 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'quote)) - (__tmp12894 - (let () (declare (not safe)) (cons _L11043_ '())))) + (__tmp12946 + (let () (declare (not safe)) (cons _L11095_ '())))) (declare (not safe)) - (cons __tmp12895 __tmp12894))) - (__tmp12884 - (let ((__tmp12885 - (let ((__tmp12892 (gx#datum->syntax '#f '@list)) - (__tmp12886 - (let ((__tmp12889 - (let ((__tmp12891 + (cons __tmp12947 __tmp12946))) + (__tmp12936 + (let ((__tmp12937 + (let ((__tmp12944 (gx#datum->syntax '#f '@list)) + (__tmp12938 + (let ((__tmp12941 + (let ((__tmp12943 (gx#datum->syntax '#f 'quote)) - (__tmp12890 + (__tmp12942 (let () (declare (not safe)) - (cons _g1116511180_ '())))) + (cons _g1121711232_ '())))) (declare (not safe)) - (cons __tmp12891 __tmp12890))) - (__tmp12887 - (let ((__tmp12888 + (cons __tmp12943 __tmp12942))) + (__tmp12939 + (let ((__tmp12940 (gx#datum->syntax '#f 'e))) (declare (not safe)) - (cons __tmp12888 '())))) + (cons __tmp12940 '())))) (declare (not safe)) - (cons __tmp12889 __tmp12887)))) + (cons __tmp12941 __tmp12939)))) (declare (not safe)) - (cons __tmp12892 __tmp12886)))) + (cons __tmp12944 __tmp12938)))) (declare (not safe)) - (cons __tmp12885 '())))) + (cons __tmp12937 '())))) (declare (not safe)) - (cons __tmp12893 __tmp12884)))) + (cons __tmp12945 __tmp12936)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (cons '"not an instance" - __tmp12883)))) + __tmp12935)))) (declare (not safe)) - (cons __tmp12896 __tmp12882)))) + (cons __tmp12948 __tmp12934)))) (declare (not safe)) - (cons __tmp12881 '())))) + (cons __tmp12933 '())))) (declare (not safe)) - (cons __tmp12897 __tmp12880)))) + (cons __tmp12949 __tmp12932)))) (declare (not safe)) - (cons __tmp12900 __tmp12879)))) + (cons __tmp12952 __tmp12931)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12903 - __tmp12878)))) + (cons __tmp12955 + __tmp12930)))) (declare (not safe)) - (cons __tmp12877 '())))) + (cons __tmp12929 '())))) (declare (not safe)) - (cons __tmp12904 __tmp12876)))) + (cons __tmp12956 __tmp12928)))) (declare (not safe)) - (cons __tmp12911 __tmp12875))) - (__tmp12846 - (let ((__tmp12847 - (let ((__tmp12873 + (cons __tmp12963 __tmp12927))) + (__tmp12898 + (let ((__tmp12899 + (let ((__tmp12925 (gx#datum->syntax '#f 'if)) - (__tmp12848 - (let ((__tmp12870 - (let ((__tmp12871 - (let ((__tmp12872 + (__tmp12900 + (let ((__tmp12922 + (let ((__tmp12923 + (let ((__tmp12924 (gx#datum->syntax ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '#f 'exn))) (declare (not safe)) - (cons __tmp12872 '())))) + (cons __tmp12924 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L11146_ - __tmp12871))) - (__tmp12849 - (let ((__tmp12867 - (let ((__tmp12868 - (let ((__tmp12869 + (cons _L11198_ + __tmp12923))) + (__tmp12901 + (let ((__tmp12919 + (let ((__tmp12920 + (let ((__tmp12921 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12869 '())))) + (cons __tmp12921 '())))) (declare (not safe)) - (cons _g1116611183_ __tmp12868))) - (__tmp12850 - (let ((__tmp12851 - (let ((__tmp12866 (gx#datum->syntax '#f 'error)) - (__tmp12852 - (let ((__tmp12853 - (let ((__tmp12863 - (let ((__tmp12865 + (cons _g1121811235_ __tmp12920))) + (__tmp12902 + (let ((__tmp12903 + (let ((__tmp12918 (gx#datum->syntax '#f 'error)) + (__tmp12904 + (let ((__tmp12905 + (let ((__tmp12915 + (let ((__tmp12917 (gx#datum->syntax '#f 'quote)) - (__tmp12864 + (__tmp12916 (let () (declare (not safe)) - (cons _L11043_ '())))) + (cons _L11095_ '())))) (declare (not safe)) - (cons __tmp12865 __tmp12864))) - (__tmp12854 - (let ((__tmp12855 - (let ((__tmp12862 + (cons __tmp12917 __tmp12916))) + (__tmp12906 + (let ((__tmp12907 + (let ((__tmp12914 (gx#datum->syntax '#f '@list)) - (__tmp12856 - (let ((__tmp12859 + (__tmp12908 + (let ((__tmp12911 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp12861 (gx#datum->syntax '#f 'quote)) - (__tmp12860 + (let ((__tmp12913 (gx#datum->syntax '#f 'quote)) + (__tmp12912 (let () (declare (not safe)) - (cons _g1116511180_ '())))) + (cons _g1121711232_ '())))) (declare (not safe)) - (cons __tmp12861 __tmp12860))) - (__tmp12857 - (let ((__tmp12858 (gx#datum->syntax '#f 'exn))) + (cons __tmp12913 __tmp12912))) + (__tmp12909 + (let ((__tmp12910 (gx#datum->syntax '#f 'exn))) (declare (not safe)) - (cons __tmp12858 '())))) + (cons __tmp12910 '())))) (declare (not safe)) - (cons __tmp12859 __tmp12857)))) + (cons __tmp12911 __tmp12909)))) (declare (not safe)) - (cons __tmp12862 __tmp12856)))) + (cons __tmp12914 __tmp12908)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12855 '())))) + (cons __tmp12907 '())))) (declare (not safe)) - (cons __tmp12863 __tmp12854)))) + (cons __tmp12915 __tmp12906)))) (declare (not safe)) - (cons '"not an instance" __tmp12853)))) + (cons '"not an instance" __tmp12905)))) (declare (not safe)) - (cons __tmp12866 __tmp12852)))) + (cons __tmp12918 __tmp12904)))) (declare (not safe)) - (cons __tmp12851 '())))) + (cons __tmp12903 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12867 - __tmp12850)))) + (cons __tmp12919 + __tmp12902)))) (declare (not safe)) - (cons __tmp12870 __tmp12849)))) + (cons __tmp12922 __tmp12901)))) (declare (not safe)) - (cons __tmp12873 __tmp12848)))) + (cons __tmp12925 __tmp12900)))) (declare (not safe)) - (cons __tmp12847 '())))) + (cons __tmp12899 '())))) (declare (not safe)) - (cons __tmp12874 __tmp12846)))) + (cons __tmp12926 __tmp12898)))) (declare (not safe)) - (cons __tmp12912 __tmp12845)))) + (cons __tmp12964 __tmp12897)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp12916 - __tmp12844)))) + (cons __tmp12968 + __tmp12896)))) (declare (not safe)) - (cons __tmp12843 '())))) + (cons __tmp12895 '())))) (declare (not safe)) - (cons __tmp12917 __tmp12842)))) + (cons __tmp12969 __tmp12894)))) (declare (not safe)) - (cons __tmp12920 __tmp12841)))) + (cons __tmp12972 __tmp12893)))) (declare (not safe)) - (cons __tmp12840 _g1117011191_))))) + (cons __tmp12892 _g1122211243_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (foldr* __tmp12839 + (foldr* __tmp12891 '() - _L11041_ - _L11144_ - _L11041_ - _L11144_ - _L11041_))))) + _L11093_ + _L11196_ + _L11093_ + _L11196_ + _L11093_))))) (declare (not safe)) - (cons __tmp12921 __tmp12838)))) + (cons __tmp12973 __tmp12890)))) (declare (not safe)) - (cons __tmp12954 __tmp12837)))) + (cons __tmp13006 __tmp12889)))) (declare (not safe)) - (cons __tmp12959 __tmp12836)))) - _macro-getf1108111140_ - _hd1106811098_) - (_g1106311087_ _g1106411091_))))))) + (cons __tmp13011 __tmp12888)))) + _macro-getf1113311192_ + _hd1112011150_) + (_g1111511139_ _g1111611143_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_loop1107611120_ - _target1107311114_ + (_loop1112811172_ + _target1112511166_ '())) - (_g1106311087_ _g1106411091_))))) - (_g1106311087_ _g1106411091_)))) - (_g1106311087_ _g1106411091_)))) - (_g1106311087_ _g1106411091_))))) + (_g1111511139_ _g1111611143_))))) + (_g1111511139_ _g1111611143_)))) + (_g1111511139_ _g1111611143_)))) + (_g1111511139_ _g1111611143_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1106211194_ + (_g1111411246_ (list (gx#stx-identifier - _L11043_ + _L11095_ '"macro-" - _L11043_) - (map (lambda (_f11198_) + _L11095_) + (map (lambda (_f11250_) (gx#stx-identifier - _f11198_ + _f11250_ '"macro-" - _f11198_)) - (let ((__tmp12960 - (lambda (_g1120011203_ + _f11250_)) + (let ((__tmp13012 + (lambda (_g1125211255_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g1120111206_) + _g1125311258_) (let () (declare (not safe)) - (cons _g1120011203_ _g1120111206_))))) + (cons _g1125211255_ _g1125311258_))))) (declare (not safe)) - (foldr1 __tmp12960 '() _L11041_))))))) + (foldr1 __tmp13012 '() _L11093_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - _getf1096811037_ - _hd1095811005_) - (_g1094710974_ _g1094810978_))))))) - (_loop1096311017_ _target1096011011_ '())) - (_g1094710974_ _g1094810978_))))) + _getf1102011089_ + _hd1101011057_) + (_g1099911026_ _g1100011030_))))))) + (_loop1101511069_ _target1101211063_ '())) + (_g1099911026_ _g1100011030_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1094710974_ _g1094810978_)))) - (_g1094710974_ _g1094810978_)))) - (_g1094710974_ _g1094810978_)))) - (_g1094710974_ _g1094810978_))))) - (_g1094611209_ _stx10944_)))) + (_g1099911026_ _g1100011030_)))) + (_g1099911026_ _g1100011030_)))) + (_g1099911026_ _g1100011030_)))) + (_g1099911026_ _g1100011030_))))) + (_g1099811261_ _stx10996_)))) (define |[:0:]#defruntime-exceptions| - (lambda (_$stx11215_) - (let* ((_g1121911239_ - (lambda (_g1122011235_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1122011235_))) - (_g1121811310_ - (lambda (_g1122011243_) - (if (gx#stx-pair? _g1122011243_) - (let ((_e1122411246_ (gx#syntax-e _g1122011243_))) - (let ((_hd1122311250_ + (lambda (_$stx11267_) + (let* ((_g1127111291_ + (lambda (_g1127211287_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1127211287_))) + (_g1127011362_ + (lambda (_g1127211295_) + (if (gx#stx-pair? _g1127211295_) + (let ((_e1127611298_ (gx#syntax-e _g1127211295_))) + (let ((_hd1127511302_ (let () (declare (not safe)) - (##car _e1122411246_))) - (_tl1122211253_ + (##car _e1127611298_))) + (_tl1127411305_ (let () (declare (not safe)) - (##cdr _e1122411246_)))) - (if (gx#stx-pair/null? _tl1122211253_) - (let ((_g12961_ + (##cdr _e1127611298_)))) + (if (gx#stx-pair/null? _tl1127411305_) + (let ((_g13013_ (gx#syntax-split-splice - _tl1122211253_ + _tl1127411305_ '0))) (begin - (let ((_g12962_ + (let ((_g13014_ (let () (declare (not safe)) - (if (##values? _g12961_) - (##vector-length _g12961_) + (if (##values? _g13013_) + (##vector-length _g13013_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g12962_ 2))) + (##fx= _g13014_ 2))) (error "Context expects 2 values" - _g12962_))) - (let ((_target1122511256_ + _g13014_))) + (let ((_target1127711308_ (let () (declare (not safe)) - (##vector-ref _g12961_ 0))) - (_tl1122711259_ + (##vector-ref _g13013_ 0))) + (_tl1127911311_ (let () (declare (not safe)) - (##vector-ref _g12961_ 1)))) - (if (gx#stx-null? _tl1122711259_) - (letrec ((_loop1122811262_ - (lambda (_hd1122611266_ - _defexn1123211269_) + (##vector-ref _g13013_ 1)))) + (if (gx#stx-null? _tl1127911311_) + (letrec ((_loop1128011314_ + (lambda (_hd1127811318_ + _defexn1128411321_) (if (gx#stx-pair? - _hd1122611266_) - (let ((_e1122911272_ + _hd1127811318_) + (let ((_e1128111324_ (gx#syntax-e - _hd1122611266_))) - (let ((_lp-hd1123011276_ + _hd1127811318_))) + (let ((_lp-hd1128211328_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let () (declare (not safe)) (##car _e1122911272_))) - (_lp-tl1123111279_ - (let () (declare (not safe)) (##cdr _e1122911272_)))) - (_loop1122811262_ - _lp-tl1123111279_ + (let () (declare (not safe)) (##car _e1128111324_))) + (_lp-tl1128311331_ + (let () (declare (not safe)) (##cdr _e1128111324_)))) + (_loop1128011314_ + _lp-tl1128311331_ (let () (declare (not safe)) - (cons _lp-hd1123011276_ _defexn1123211269_))))) - (let ((_defexn1123311282_ (reverse _defexn1123211269_))) - ((lambda (_L11286_) - (let ((__tmp12968 (gx#datum->syntax '#f 'begin)) - (__tmp12963 - (let ((__tmp12964 - (lambda (_g1130111304_ _g1130211307_) - (let ((__tmp12965 - (let ((__tmp12967 + (cons _lp-hd1128211328_ _defexn1128411321_))))) + (let ((_defexn1128511334_ (reverse _defexn1128411321_))) + ((lambda (_L11338_) + (let ((__tmp13020 (gx#datum->syntax '#f 'begin)) + (__tmp13015 + (let ((__tmp13016 + (lambda (_g1135311356_ _g1135411359_) + (let ((__tmp13017 + (let ((__tmp13019 (gx#datum->syntax '#f 'defruntime-exception)) - (__tmp12966 + (__tmp13018 (let () (declare (not safe)) - (cons _g1130111304_ + (cons _g1135311356_ '())))) (declare (not safe)) - (cons __tmp12967 __tmp12966)))) + (cons __tmp13019 __tmp13018)))) (declare (not safe)) - (cons __tmp12965 _g1130211307_))))) + (cons __tmp13017 _g1135411359_))))) (declare (not safe)) - (foldr1 __tmp12964 '() _L11286_)))) + (foldr1 __tmp13016 '() _L11338_)))) (declare (not safe)) - (cons __tmp12968 __tmp12963))) - _defexn1123311282_)))))) + (cons __tmp13020 __tmp13015))) + _defexn1128511334_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_loop1122811262_ - _target1122511256_ + (_loop1128011314_ + _target1127711308_ '())) - (_g1121911239_ _g1122011243_))))) - (_g1121911239_ _g1122011243_)))) - (_g1121911239_ _g1122011243_))))) - (_g1121811310_ _$stx11215_)))))) + (_g1127111291_ _g1127211295_))))) + (_g1127111291_ _g1127211295_)))) + (_g1127111291_ _g1127211295_))))) + (_g1127011362_ _$stx11267_)))))) diff --git a/src/bootstrap/gerbil/runtime/eval__0.scm b/src/bootstrap/gerbil/runtime/eval__0.scm index 184891600..90d3d40f2 100644 --- a/src/bootstrap/gerbil/runtime/eval__0.scm +++ b/src/bootstrap/gerbil/runtime/eval__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/eval::timestamp 1696542233) + (define gerbil/runtime/eval::timestamp 1697117311) (begin (define __context::t (let () @@ -16,8 +16,8 @@ (define __context? (let () (declare (not safe)) (make-struct-predicate __context::t))) (define make-__context - (lambda _$args17400_ - (apply make-struct-instance __context::t _$args17400_))) + (lambda _$args17452_ + (apply make-struct-instance __context::t _$args17452_))) (define __context-t (let () (declare (not safe)) @@ -96,8 +96,8 @@ (define __runtime? (let () (declare (not safe)) (make-struct-predicate __runtime::t))) (define make-__runtime - (lambda _$args17397_ - (apply make-struct-instance __runtime::t _$args17397_))) + (lambda _$args17449_ + (apply make-struct-instance __runtime::t _$args17449_))) (define __runtime-id (let () (declare (not safe)) @@ -128,8 +128,8 @@ (define __syntax? (let () (declare (not safe)) (make-struct-predicate __syntax::t))) (define make-__syntax - (lambda _$args17394_ - (apply make-struct-instance __syntax::t _$args17394_))) + (lambda _$args17446_ + (apply make-struct-instance __syntax::t _$args17446_))) (define __syntax-e (let () (declare (not safe)) @@ -172,8 +172,8 @@ (define __macro? (let () (declare (not safe)) (make-struct-predicate __macro::t))) (define make-__macro - (lambda _$args17391_ - (apply make-struct-instance __macro::t _$args17391_))) + (lambda _$args17443_ + (apply make-struct-instance __macro::t _$args17443_))) (define __special-form::t (let () (declare (not safe)) @@ -188,8 +188,8 @@ (define __special-form? (let () (declare (not safe)) (make-struct-predicate __special-form::t))) (define make-__special-form - (lambda _$args17388_ - (apply make-struct-instance __special-form::t _$args17388_))) + (lambda _$args17440_ + (apply make-struct-instance __special-form::t _$args17440_))) (define __core-form::t (let () (declare (not safe)) @@ -204,8 +204,8 @@ (define __core-form? (let () (declare (not safe)) (make-struct-predicate __core-form::t))) (define make-__core-form - (lambda _$args17385_ - (apply make-struct-instance __core-form::t _$args17385_))) + (lambda _$args17437_ + (apply make-struct-instance __core-form::t _$args17437_))) (define __core-expression::t (let () (declare (not safe)) @@ -222,8 +222,8 @@ (declare (not safe)) (make-struct-predicate __core-expression::t))) (define make-__core-expression - (lambda _$args17382_ - (apply make-struct-instance __core-expression::t _$args17382_))) + (lambda _$args17434_ + (apply make-struct-instance __core-expression::t _$args17434_))) (define __core-special-form::t (let () (declare (not safe)) @@ -240,8 +240,8 @@ (declare (not safe)) (make-struct-predicate __core-special-form::t))) (define make-__core-special-form - (lambda _$args17379_ - (apply make-struct-instance __core-special-form::t _$args17379_))) + (lambda _$args17431_ + (apply make-struct-instance __core-special-form::t _$args17431_))) (define __struct-info::t (let () (declare (not safe)) @@ -256,8 +256,8 @@ (define __struct-info? (let () (declare (not safe)) (make-struct-predicate __struct-info::t))) (define make-__struct-info - (lambda _$args17376_ - (apply make-struct-instance __struct-info::t _$args17376_))) + (lambda _$args17428_ + (apply make-struct-instance __struct-info::t _$args17428_))) (define __feature::t (let () (declare (not safe)) @@ -272,8 +272,8 @@ (define __feature? (let () (declare (not safe)) (make-struct-predicate __feature::t))) (define make-__feature - (lambda _$args17373_ - (apply make-struct-instance __feature::t _$args17373_))) + (lambda _$args17425_ + (apply make-struct-instance __feature::t _$args17425_))) (define __module::t (let () (declare (not safe)) @@ -288,8 +288,8 @@ (define __module? (let () (declare (not safe)) (make-struct-predicate __module::t))) (define make-__module - (lambda _$args17370_ - (apply make-struct-instance __module::t _$args17370_))) + (lambda _$args17422_ + (apply make-struct-instance __module::t _$args17422_))) (define __module-id (let () (declare (not safe)) @@ -349,699 +349,699 @@ (define __*modules* (let () (declare (not safe)) (make-table))) (define __*core* (let () (declare (not safe)) (make-table 'test: eq?))) (define __*top* - (let ((__tmp17586 + (let ((__tmp17638 (let () (declare (not safe)) (##structure __context::t 'root '#f '#f __*core*))) - (__tmp17585 (let () (declare (not safe)) (make-table 'test: eq?)))) + (__tmp17637 (let () (declare (not safe)) (make-table 'test: eq?)))) (declare (not safe)) - (##structure __context::t 'top '#f __tmp17586 __tmp17585))) + (##structure __context::t 'top '#f __tmp17638 __tmp17637))) (define __current-expander (make-parameter '#f)) (define __current-compiler (make-parameter '#f)) (define __current-path (make-parameter '())) (define __core-resolve__% - (lambda (_id17345_ _ctx17346_) - (if _ctx17346_ - (let ((_id17348_ - (let () (declare (not safe)) (__AST-e _id17345_)))) - (let _lp17350_ ((_ctx17352_ _ctx17346_)) - (let ((_$e17354_ + (lambda (_id17397_ _ctx17398_) + (if _ctx17398_ + (let ((_id17400_ + (let () (declare (not safe)) (__AST-e _id17397_)))) + (let _lp17402_ ((_ctx17404_ _ctx17398_)) + (let ((_$e17406_ (table-ref - (##structure-ref _ctx17352_ '4 __context::t '#f) - _id17348_ + (##structure-ref _ctx17404_ '4 __context::t '#f) + _id17400_ '#f))) - (if _$e17354_ - (values _$e17354_) - (let ((_$e17357_ - (##structure-ref _ctx17352_ '3 __context::t '#f))) - (if _$e17357_ - (let () (declare (not safe)) (_lp17350_ _$e17357_)) + (if _$e17406_ + (values _$e17406_) + (let ((_$e17409_ + (##structure-ref _ctx17404_ '3 __context::t '#f))) + (if _$e17409_ + (let () (declare (not safe)) (_lp17402_ _$e17409_)) '#f)))))) '#f))) (define __core-resolve__0 - (lambda (_id17363_) - (let ((_ctx17365_ (__current-context))) + (lambda (_id17415_) + (let ((_ctx17417_ (__current-context))) (declare (not safe)) - (__core-resolve__% _id17363_ _ctx17365_)))) + (__core-resolve__% _id17415_ _ctx17417_)))) (define __core-resolve - (lambda _g17588_ - (let ((_g17587_ (let () (declare (not safe)) (##length _g17588_)))) - (cond ((let () (declare (not safe)) (##fx= _g17587_ 1)) - (apply (lambda (_id17363_) + (lambda _g17640_ + (let ((_g17639_ (let () (declare (not safe)) (##length _g17640_)))) + (cond ((let () (declare (not safe)) (##fx= _g17639_ 1)) + (apply (lambda (_id17415_) (let () (declare (not safe)) - (__core-resolve__0 _id17363_))) - _g17588_)) - ((let () (declare (not safe)) (##fx= _g17587_ 2)) - (apply (lambda (_id17367_ _ctx17368_) + (__core-resolve__0 _id17415_))) + _g17640_)) + ((let () (declare (not safe)) (##fx= _g17639_ 2)) + (apply (lambda (_id17419_ _ctx17420_) (let () (declare (not safe)) - (__core-resolve__% _id17367_ _ctx17368_))) - _g17588_)) + (__core-resolve__% _id17419_ _ctx17420_))) + _g17640_)) (else (##raise-wrong-number-of-arguments-exception __core-resolve - _g17588_)))))) + _g17640_)))))) (define __core-bound-id?__% - (lambda (_id17328_ _is?17329_) - (let ((_$e17331_ - (let () (declare (not safe)) (__core-resolve__0 _id17328_)))) - (if _$e17331_ (_is?17329_ _$e17331_) '#f)))) + (lambda (_id17380_ _is?17381_) + (let ((_$e17383_ + (let () (declare (not safe)) (__core-resolve__0 _id17380_)))) + (if _$e17383_ (_is?17381_ _$e17383_) '#f)))) (define __core-bound-id?__0 - (lambda (_id17337_) - (let ((_is?17339_ true)) + (lambda (_id17389_) + (let ((_is?17391_ true)) (declare (not safe)) - (__core-bound-id?__% _id17337_ _is?17339_)))) + (__core-bound-id?__% _id17389_ _is?17391_)))) (define __core-bound-id? - (lambda _g17590_ - (let ((_g17589_ (let () (declare (not safe)) (##length _g17590_)))) - (cond ((let () (declare (not safe)) (##fx= _g17589_ 1)) - (apply (lambda (_id17337_) + (lambda _g17642_ + (let ((_g17641_ (let () (declare (not safe)) (##length _g17642_)))) + (cond ((let () (declare (not safe)) (##fx= _g17641_ 1)) + (apply (lambda (_id17389_) (let () (declare (not safe)) - (__core-bound-id?__0 _id17337_))) - _g17590_)) - ((let () (declare (not safe)) (##fx= _g17589_ 2)) - (apply (lambda (_id17341_ _is?17342_) + (__core-bound-id?__0 _id17389_))) + _g17642_)) + ((let () (declare (not safe)) (##fx= _g17641_ 2)) + (apply (lambda (_id17393_ _is?17394_) (let () (declare (not safe)) - (__core-bound-id?__% _id17341_ _is?17342_))) - _g17590_)) + (__core-bound-id?__% _id17393_ _is?17394_))) + _g17642_)) (else (##raise-wrong-number-of-arguments-exception __core-bound-id? - _g17590_)))))) + _g17642_)))))) (define __core-bind-runtime!__% - (lambda (_id17311_ _eid17312_ _ctx17313_) - (if _eid17312_ - (let ((__tmp17593 (##structure-ref _ctx17313_ '4 __context::t '#f)) - (__tmp17592 - (let () (declare (not safe)) (__AST-e _id17311_))) - (__tmp17591 + (lambda (_id17363_ _eid17364_ _ctx17365_) + (if _eid17364_ + (let ((__tmp17645 (##structure-ref _ctx17365_ '4 __context::t '#f)) + (__tmp17644 + (let () (declare (not safe)) (__AST-e _id17363_))) + (__tmp17643 (let () (declare (not safe)) - (##structure __runtime::t _eid17312_)))) + (##structure __runtime::t _eid17364_)))) (declare (not safe)) - (table-set! __tmp17593 __tmp17592 __tmp17591)) + (table-set! __tmp17645 __tmp17644 __tmp17643)) '#!void))) (define __core-bind-runtime!__0 - (lambda (_id17318_ _eid17319_) - (let ((_ctx17321_ (__current-context))) + (lambda (_id17370_ _eid17371_) + (let ((_ctx17373_ (__current-context))) (declare (not safe)) - (__core-bind-runtime!__% _id17318_ _eid17319_ _ctx17321_)))) + (__core-bind-runtime!__% _id17370_ _eid17371_ _ctx17373_)))) (define __core-bind-runtime! - (lambda _g17595_ - (let ((_g17594_ (let () (declare (not safe)) (##length _g17595_)))) - (cond ((let () (declare (not safe)) (##fx= _g17594_ 2)) - (apply (lambda (_id17318_ _eid17319_) + (lambda _g17647_ + (let ((_g17646_ (let () (declare (not safe)) (##length _g17647_)))) + (cond ((let () (declare (not safe)) (##fx= _g17646_ 2)) + (apply (lambda (_id17370_ _eid17371_) (let () (declare (not safe)) - (__core-bind-runtime!__0 _id17318_ _eid17319_))) - _g17595_)) - ((let () (declare (not safe)) (##fx= _g17594_ 3)) - (apply (lambda (_id17323_ _eid17324_ _ctx17325_) + (__core-bind-runtime!__0 _id17370_ _eid17371_))) + _g17647_)) + ((let () (declare (not safe)) (##fx= _g17646_ 3)) + (apply (lambda (_id17375_ _eid17376_ _ctx17377_) (let () (declare (not safe)) (__core-bind-runtime!__% - _id17323_ - _eid17324_ - _ctx17325_))) - _g17595_)) + _id17375_ + _eid17376_ + _ctx17377_))) + _g17647_)) (else (##raise-wrong-number-of-arguments-exception __core-bind-runtime! - _g17595_)))))) + _g17647_)))))) (define __core-bind-syntax!__% - (lambda (_id17294_ _e17295_ _make17296_) - (let ((__tmp17596 + (lambda (_id17346_ _e17347_ _make17348_) + (let ((__tmp17648 (if (let () (declare (not safe)) (##structure-instance-of? - _e17295_ + _e17347_ 'gerbil/runtime/eval#__syntax::t)) - _e17295_ - (_make17296_ _e17295_ _id17294_)))) + _e17347_ + (_make17348_ _e17347_ _id17346_)))) (declare (not safe)) - (table-set! __*core* _id17294_ __tmp17596)))) + (table-set! __*core* _id17346_ __tmp17648)))) (define __core-bind-syntax!__0 - (lambda (_id17301_ _e17302_) - (let ((_make17304_ make-__syntax)) + (lambda (_id17353_ _e17354_) + (let ((_make17356_ make-__syntax)) (declare (not safe)) - (__core-bind-syntax!__% _id17301_ _e17302_ _make17304_)))) + (__core-bind-syntax!__% _id17353_ _e17354_ _make17356_)))) (define __core-bind-syntax! - (lambda _g17598_ - (let ((_g17597_ (let () (declare (not safe)) (##length _g17598_)))) - (cond ((let () (declare (not safe)) (##fx= _g17597_ 2)) - (apply (lambda (_id17301_ _e17302_) + (lambda _g17650_ + (let ((_g17649_ (let () (declare (not safe)) (##length _g17650_)))) + (cond ((let () (declare (not safe)) (##fx= _g17649_ 2)) + (apply (lambda (_id17353_ _e17354_) (let () (declare (not safe)) - (__core-bind-syntax!__0 _id17301_ _e17302_))) - _g17598_)) - ((let () (declare (not safe)) (##fx= _g17597_ 3)) - (apply (lambda (_id17306_ _e17307_ _make17308_) + (__core-bind-syntax!__0 _id17353_ _e17354_))) + _g17650_)) + ((let () (declare (not safe)) (##fx= _g17649_ 3)) + (apply (lambda (_id17358_ _e17359_ _make17360_) (let () (declare (not safe)) (__core-bind-syntax!__% - _id17306_ - _e17307_ - _make17308_))) - _g17598_)) + _id17358_ + _e17359_ + _make17360_))) + _g17650_)) (else (##raise-wrong-number-of-arguments-exception __core-bind-syntax! - _g17598_)))))) + _g17650_)))))) (define __core-bind-macro! - (lambda (_id17290_ _e17291_) + (lambda (_id17342_ _e17343_) (let () (declare (not safe)) - (__core-bind-syntax!__% _id17290_ _e17291_ make-__macro)))) + (__core-bind-syntax!__% _id17342_ _e17343_ make-__macro)))) (define __core-bind-special-form! - (lambda (_id17287_ _e17288_) + (lambda (_id17339_ _e17340_) (let () (declare (not safe)) - (__core-bind-syntax!__% _id17287_ _e17288_ make-__special-form)))) + (__core-bind-syntax!__% _id17339_ _e17340_ make-__special-form)))) (define __core-bind-user-syntax!__% - (lambda (_id17271_ _e17272_ _ctx17273_) - (let ((__tmp17602 (##structure-ref _ctx17273_ '4 __context::t '#f)) - (__tmp17601 (let () (declare (not safe)) (__AST-e _id17271_))) - (__tmp17599 + (lambda (_id17323_ _e17324_ _ctx17325_) + (let ((__tmp17654 (##structure-ref _ctx17325_ '4 __context::t '#f)) + (__tmp17653 (let () (declare (not safe)) (__AST-e _id17323_))) + (__tmp17651 (if (let () (declare (not safe)) (##structure-instance-of? - _e17272_ + _e17324_ 'gerbil/runtime/eval#__syntax::t)) - _e17272_ - (let ((__tmp17600 - (let () (declare (not safe)) (__AST-e _id17271_)))) + _e17324_ + (let ((__tmp17652 + (let () (declare (not safe)) (__AST-e _id17323_)))) (declare (not safe)) - (##structure __syntax::t _e17272_ __tmp17600))))) + (##structure __syntax::t _e17324_ __tmp17652))))) (declare (not safe)) - (table-set! __tmp17602 __tmp17601 __tmp17599)))) + (table-set! __tmp17654 __tmp17653 __tmp17651)))) (define __core-bind-user-syntax!__0 - (lambda (_id17278_ _e17279_) - (let ((_ctx17281_ (__current-context))) + (lambda (_id17330_ _e17331_) + (let ((_ctx17333_ (__current-context))) (declare (not safe)) - (__core-bind-user-syntax!__% _id17278_ _e17279_ _ctx17281_)))) + (__core-bind-user-syntax!__% _id17330_ _e17331_ _ctx17333_)))) (define __core-bind-user-syntax! - (lambda _g17604_ - (let ((_g17603_ (let () (declare (not safe)) (##length _g17604_)))) - (cond ((let () (declare (not safe)) (##fx= _g17603_ 2)) - (apply (lambda (_id17278_ _e17279_) + (lambda _g17656_ + (let ((_g17655_ (let () (declare (not safe)) (##length _g17656_)))) + (cond ((let () (declare (not safe)) (##fx= _g17655_ 2)) + (apply (lambda (_id17330_ _e17331_) (let () (declare (not safe)) - (__core-bind-user-syntax!__0 _id17278_ _e17279_))) - _g17604_)) - ((let () (declare (not safe)) (##fx= _g17603_ 3)) - (apply (lambda (_id17283_ _e17284_ _ctx17285_) + (__core-bind-user-syntax!__0 _id17330_ _e17331_))) + _g17656_)) + ((let () (declare (not safe)) (##fx= _g17655_ 3)) + (apply (lambda (_id17335_ _e17336_ _ctx17337_) (let () (declare (not safe)) (__core-bind-user-syntax!__% - _id17283_ - _e17284_ - _ctx17285_))) - _g17604_)) + _id17335_ + _e17336_ + _ctx17337_))) + _g17656_)) (else (##raise-wrong-number-of-arguments-exception __core-bind-user-syntax! - _g17604_)))))) + _g17656_)))))) (define make-__runtime-id__% - (lambda (_id17252_ _ctx17253_) - (let ((_id17255_ (let () (declare (not safe)) (__AST-e _id17252_)))) - (if (let () (declare (not safe)) (eq? _id17255_ '_)) + (lambda (_id17304_ _ctx17305_) + (let ((_id17307_ (let () (declare (not safe)) (__AST-e _id17304_)))) + (if (let () (declare (not safe)) (eq? _id17307_ '_)) '#f - (if (uninterned-symbol? _id17255_) - (gensym _id17255_) - (if (let () (declare (not safe)) (symbol? _id17255_)) - (let ((_$e17257_ - (##structure-ref _ctx17253_ '1 __context::t '#f))) + (if (uninterned-symbol? _id17307_) + (gensym _id17307_) + (if (let () (declare (not safe)) (symbol? _id17307_)) + (let ((_$e17309_ + (##structure-ref _ctx17305_ '1 __context::t '#f))) (if (let () (declare (not safe)) - (eq? 'local _$e17257_)) - (gensym _id17255_) + (eq? 'local _$e17309_)) + (gensym _id17307_) (if (let () (declare (not safe)) - (eq? 'module _$e17257_)) - (let ((__tmp17605 + (eq? 'module _$e17309_)) + (let ((__tmp17657 (##structure-ref - _ctx17253_ + _ctx17305_ '2 __context::t '#f))) (declare (not safe)) - (make-symbol __tmp17605 '"#" _id17255_)) - _id17255_))) - (error '"Illegal runtime identifier" _id17255_))))))) + (make-symbol__1 __tmp17657 '"#" _id17307_)) + _id17307_))) + (error '"Illegal runtime identifier" _id17307_))))))) (define make-__runtime-id__0 - (lambda (_id17263_) - (let ((_ctx17265_ (__current-context))) + (lambda (_id17315_) + (let ((_ctx17317_ (__current-context))) (declare (not safe)) - (make-__runtime-id__% _id17263_ _ctx17265_)))) + (make-__runtime-id__% _id17315_ _ctx17317_)))) (define make-__runtime-id - (lambda _g17607_ - (let ((_g17606_ (let () (declare (not safe)) (##length _g17607_)))) - (cond ((let () (declare (not safe)) (##fx= _g17606_ 1)) - (apply (lambda (_id17263_) + (lambda _g17659_ + (let ((_g17658_ (let () (declare (not safe)) (##length _g17659_)))) + (cond ((let () (declare (not safe)) (##fx= _g17658_ 1)) + (apply (lambda (_id17315_) (let () (declare (not safe)) - (make-__runtime-id__0 _id17263_))) - _g17607_)) - ((let () (declare (not safe)) (##fx= _g17606_ 2)) - (apply (lambda (_id17267_ _ctx17268_) + (make-__runtime-id__0 _id17315_))) + _g17659_)) + ((let () (declare (not safe)) (##fx= _g17658_ 2)) + (apply (lambda (_id17319_ _ctx17320_) (let () (declare (not safe)) - (make-__runtime-id__% _id17267_ _ctx17268_))) - _g17607_)) + (make-__runtime-id__% _id17319_ _ctx17320_))) + _g17659_)) (else (##raise-wrong-number-of-arguments-exception make-__runtime-id - _g17607_)))))) + _g17659_)))))) (define make-__context-local__% - (lambda (_super17241_) - (let ((__tmp17608 + (lambda (_super17293_) + (let ((__tmp17660 (let () (declare (not safe)) (make-table 'test: eq?)))) (declare (not safe)) - (##structure __context::t 'local '#f _super17241_ __tmp17608)))) + (##structure __context::t 'local '#f _super17293_ __tmp17660)))) (define make-__context-local__0 (lambda () - (let ((_super17247_ (__current-context))) + (let ((_super17299_ (__current-context))) (declare (not safe)) - (make-__context-local__% _super17247_)))) + (make-__context-local__% _super17299_)))) (define make-__context-local - (lambda _g17610_ - (let ((_g17609_ (let () (declare (not safe)) (##length _g17610_)))) - (cond ((let () (declare (not safe)) (##fx= _g17609_ 0)) + (lambda _g17662_ + (let ((_g17661_ (let () (declare (not safe)) (##length _g17662_)))) + (cond ((let () (declare (not safe)) (##fx= _g17661_ 0)) (apply (lambda () (let () (declare (not safe)) (make-__context-local__0))) - _g17610_)) - ((let () (declare (not safe)) (##fx= _g17609_ 1)) - (apply (lambda (_super17249_) + _g17662_)) + ((let () (declare (not safe)) (##fx= _g17661_ 1)) + (apply (lambda (_super17301_) (let () (declare (not safe)) - (make-__context-local__% _super17249_))) - _g17610_)) + (make-__context-local__% _super17301_))) + _g17662_)) (else (##raise-wrong-number-of-arguments-exception make-__context-local - _g17610_)))))) + _g17662_)))))) (define make-__context-module__% - (lambda (_id17221_ _ns17222_ _path17223_ _super17224_) - (let ((__tmp17611 + (lambda (_id17273_ _ns17274_ _path17275_ _super17276_) + (let ((__tmp17663 (let () (declare (not safe)) (make-table 'test: eq?)))) (declare (not safe)) (##structure __module::t 'module - _ns17222_ - _super17224_ - __tmp17611 - _id17221_ - _path17223_ + _ns17274_ + _super17276_ + __tmp17663 + _id17273_ + _path17275_ '#f '#f)))) (define make-__context-module__0 - (lambda (_id17229_ _ns17230_ _path17231_) - (let ((_super17233_ (__current-context))) + (lambda (_id17281_ _ns17282_ _path17283_) + (let ((_super17285_ (__current-context))) (declare (not safe)) (make-__context-module__% - _id17229_ - _ns17230_ - _path17231_ - _super17233_)))) + _id17281_ + _ns17282_ + _path17283_ + _super17285_)))) (define make-__context-module - (lambda _g17613_ - (let ((_g17612_ (let () (declare (not safe)) (##length _g17613_)))) - (cond ((let () (declare (not safe)) (##fx= _g17612_ 3)) - (apply (lambda (_id17229_ _ns17230_ _path17231_) + (lambda _g17665_ + (let ((_g17664_ (let () (declare (not safe)) (##length _g17665_)))) + (cond ((let () (declare (not safe)) (##fx= _g17664_ 3)) + (apply (lambda (_id17281_ _ns17282_ _path17283_) (let () (declare (not safe)) (make-__context-module__0 - _id17229_ - _ns17230_ - _path17231_))) - _g17613_)) - ((let () (declare (not safe)) (##fx= _g17612_ 4)) - (apply (lambda (_id17235_ _ns17236_ _path17237_ _super17238_) + _id17281_ + _ns17282_ + _path17283_))) + _g17665_)) + ((let () (declare (not safe)) (##fx= _g17664_ 4)) + (apply (lambda (_id17287_ _ns17288_ _path17289_ _super17290_) (let () (declare (not safe)) (make-__context-module__% - _id17235_ - _ns17236_ - _path17237_ - _super17238_))) - _g17613_)) + _id17287_ + _ns17288_ + _path17289_ + _super17290_))) + _g17665_)) (else (##raise-wrong-number-of-arguments-exception make-__context-module - _g17613_)))))) + _g17665_)))))) (define __SRC__% - (lambda (_e17204_ _src-stx17205_) - (if (or (let () (declare (not safe)) (pair? _e17204_)) - (let () (declare (not safe)) (symbol? _e17204_))) - (let ((__tmp17617 + (lambda (_e17256_ _src-stx17257_) + (if (or (let () (declare (not safe)) (pair? _e17256_)) + (let () (declare (not safe)) (symbol? _e17256_))) + (let ((__tmp17669 (if (let () (declare (not safe)) (##structure-instance-of? - _src-stx17205_ + _src-stx17257_ 'gerbil#AST::t)) - (let ((__tmp17618 + (let ((__tmp17670 (let () (declare (not safe)) - (__AST-source _src-stx17205_)))) + (__AST-source _src-stx17257_)))) (declare (not safe)) - (__locat __tmp17618)) + (__locat __tmp17670)) '#f))) (declare (not safe)) - (##make-source _e17204_ __tmp17617)) + (##make-source _e17256_ __tmp17669)) (if (let () (declare (not safe)) - (##structure-instance-of? _e17204_ 'gerbil#AST::t)) - (let ((__tmp17616 + (##structure-instance-of? _e17256_ 'gerbil#AST::t)) + (let ((__tmp17668 (let () (declare (not safe)) - (##unchecked-structure-ref _e17204_ '1 AST::t '#f))) - (__tmp17614 - (let ((__tmp17615 + (##unchecked-structure-ref _e17256_ '1 AST::t '#f))) + (__tmp17666 + (let ((__tmp17667 (let () (declare (not safe)) - (__AST-source _e17204_)))) + (__AST-source _e17256_)))) (declare (not safe)) - (__locat __tmp17615)))) + (__locat __tmp17667)))) (declare (not safe)) - (##make-source __tmp17616 __tmp17614)) - (error '"BUG! Cannot sourcify object" _e17204_))))) + (##make-source __tmp17668 __tmp17666)) + (error '"BUG! Cannot sourcify object" _e17256_))))) (define __SRC__0 - (lambda (_e17213_) - (let ((_src-stx17215_ '#f)) + (lambda (_e17265_) + (let ((_src-stx17267_ '#f)) (declare (not safe)) - (__SRC__% _e17213_ _src-stx17215_)))) + (__SRC__% _e17265_ _src-stx17267_)))) (define __SRC - (lambda _g17620_ - (let ((_g17619_ (let () (declare (not safe)) (##length _g17620_)))) - (cond ((let () (declare (not safe)) (##fx= _g17619_ 1)) - (apply (lambda (_e17213_) - (let () (declare (not safe)) (__SRC__0 _e17213_))) - _g17620_)) - ((let () (declare (not safe)) (##fx= _g17619_ 2)) - (apply (lambda (_e17217_ _src-stx17218_) + (lambda _g17672_ + (let ((_g17671_ (let () (declare (not safe)) (##length _g17672_)))) + (cond ((let () (declare (not safe)) (##fx= _g17671_ 1)) + (apply (lambda (_e17265_) + (let () (declare (not safe)) (__SRC__0 _e17265_))) + _g17672_)) + ((let () (declare (not safe)) (##fx= _g17671_ 2)) + (apply (lambda (_e17269_ _src-stx17270_) (let () (declare (not safe)) - (__SRC__% _e17217_ _src-stx17218_))) - _g17620_)) + (__SRC__% _e17269_ _src-stx17270_))) + _g17672_)) (else (##raise-wrong-number-of-arguments-exception __SRC - _g17620_)))))) + _g17672_)))))) (define __locat - (lambda (_loc17201_) - (if (let () (declare (not safe)) (##locat? _loc17201_)) - _loc17201_ + (lambda (_loc17253_) + (if (let () (declare (not safe)) (##locat? _loc17253_)) + _loc17253_ '#f))) (define __check-values - (lambda (_obj17196_ _k17197_) - (let ((_count17199_ - (if (let () (declare (not safe)) (##values? _obj17196_)) - (let () (declare (not safe)) (##vector-length _obj17196_)) + (lambda (_obj17248_ _k17249_) + (let ((_count17251_ + (if (let () (declare (not safe)) (##values? _obj17248_)) + (let () (declare (not safe)) (##vector-length _obj17248_)) '1))) - (if (fx= _count17199_ _k17197_) + (if (fx= _count17251_ _k17249_) '#!void - (error (if (fx< _count17199_ _k17197_) + (error (if (fx< _count17251_ _k17249_) '"Too few values for context" '"Too many values for context") - (if (let () (declare (not safe)) (##values? _obj17196_)) + (if (let () (declare (not safe)) (##values? _obj17248_)) (let () (declare (not safe)) - (##vector->list _obj17196_)) - _obj17196_) - _k17197_))))) + (##vector->list _obj17248_)) + _obj17248_) + _k17249_))))) (define __compile - (lambda (_stx17166_) - (let* ((_$e17168_ _stx17166_) - (_$E1717017176_ + (lambda (_stx17218_) + (let* ((_$e17220_ _stx17218_) + (_$E1722217228_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e17168_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e17168_)) - (let* ((_$tgt1717117179_ - (let () (declare (not safe)) (__AST-e _$e17168_))) - (_$hd1717217182_ - (let () (declare (not safe)) (##car _$tgt1717117179_))) - (_$tl1717317185_ - (let () (declare (not safe)) (##cdr _$tgt1717117179_)))) - (let* ((_form17189_ _$hd1717217182_) - (_$e17191_ + (__raise-syntax-error '#f '"Bad syntax" _$e17220_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e17220_)) + (let* ((_$tgt1722317231_ + (let () (declare (not safe)) (__AST-e _$e17220_))) + (_$hd1722417234_ + (let () (declare (not safe)) (##car _$tgt1722317231_))) + (_$tl1722517237_ + (let () (declare (not safe)) (##cdr _$tgt1722317231_)))) + (let* ((_form17241_ _$hd1722417234_) + (_$e17243_ (let () (declare (not safe)) - (__core-resolve__0 _form17189_)))) - (if _$e17191_ - ((lambda (_bind17194_) - ((##structure-ref _bind17194_ '1 __syntax::t '#f) - _stx17166_)) - _$e17191_) + (__core-resolve__0 _form17241_)))) + (if _$e17243_ + ((lambda (_bind17246_) + ((##structure-ref _bind17246_ '1 __syntax::t '#f) + _stx17218_)) + _$e17243_) (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _stx17166_ - _form17189_))))) - (let () (declare (not safe)) (_$E1717017176_)))))) + _stx17218_ + _form17241_))))) + (let () (declare (not safe)) (_$E1722217228_)))))) (define __compile-error__% - (lambda (_stx17153_ _detail17154_) + (lambda (_stx17205_ _detail17206_) (let () (declare (not safe)) (__raise-syntax-error 'compile '"Bad syntax; cannot compile" - _stx17153_ - _detail17154_)))) + _stx17205_ + _detail17206_)))) (define __compile-error__0 - (lambda (_stx17159_) - (let ((_detail17161_ '#f)) + (lambda (_stx17211_) + (let ((_detail17213_ '#f)) (declare (not safe)) - (__compile-error__% _stx17159_ _detail17161_)))) + (__compile-error__% _stx17211_ _detail17213_)))) (define __compile-error - (lambda _g17622_ - (let ((_g17621_ (let () (declare (not safe)) (##length _g17622_)))) - (cond ((let () (declare (not safe)) (##fx= _g17621_ 1)) - (apply (lambda (_stx17159_) + (lambda _g17674_ + (let ((_g17673_ (let () (declare (not safe)) (##length _g17674_)))) + (cond ((let () (declare (not safe)) (##fx= _g17673_ 1)) + (apply (lambda (_stx17211_) (let () (declare (not safe)) - (__compile-error__0 _stx17159_))) - _g17622_)) - ((let () (declare (not safe)) (##fx= _g17621_ 2)) - (apply (lambda (_stx17163_ _detail17164_) + (__compile-error__0 _stx17211_))) + _g17674_)) + ((let () (declare (not safe)) (##fx= _g17673_ 2)) + (apply (lambda (_stx17215_ _detail17216_) (let () (declare (not safe)) - (__compile-error__% _stx17163_ _detail17164_))) - _g17622_)) + (__compile-error__% _stx17215_ _detail17216_))) + _g17674_)) (else (##raise-wrong-number-of-arguments-exception __compile-error - _g17622_)))))) + _g17674_)))))) (define __compile-ignore% - (lambda (_stx17150_) - (let () (declare (not safe)) (__SRC__% ''#!void _stx17150_)))) + (lambda (_stx17202_) + (let () (declare (not safe)) (__SRC__% ''#!void _stx17202_)))) (define __compile-begin% - (lambda (_stx17125_) - (let* ((_$e17127_ _stx17125_) - (_$E1712917135_ + (lambda (_stx17177_) + (let* ((_$e17179_ _stx17177_) + (_$E1718117187_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e17127_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e17127_)) - (let* ((_$tgt1713017138_ - (let () (declare (not safe)) (__AST-e _$e17127_))) - (_$hd1713117141_ - (let () (declare (not safe)) (##car _$tgt1713017138_))) - (_$tl1713217144_ - (let () (declare (not safe)) (##cdr _$tgt1713017138_)))) - (let* ((_body17148_ _$tl1713217144_) - (__tmp17623 - (let ((__tmp17624 (map __compile _body17148_))) + (__raise-syntax-error '#f '"Bad syntax" _$e17179_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e17179_)) + (let* ((_$tgt1718217190_ + (let () (declare (not safe)) (__AST-e _$e17179_))) + (_$hd1718317193_ + (let () (declare (not safe)) (##car _$tgt1718217190_))) + (_$tl1718417196_ + (let () (declare (not safe)) (##cdr _$tgt1718217190_)))) + (let* ((_body17200_ _$tl1718417196_) + (__tmp17675 + (let ((__tmp17676 (map __compile _body17200_))) (declare (not safe)) - (cons 'begin __tmp17624)))) + (cons 'begin __tmp17676)))) (declare (not safe)) - (__SRC__% __tmp17623 _stx17125_))) - (let () (declare (not safe)) (_$E1712917135_)))))) + (__SRC__% __tmp17675 _stx17177_))) + (let () (declare (not safe)) (_$E1718117187_)))))) (define __compile-begin-foreign% - (lambda (_stx17100_) - (let* ((_$e17102_ _stx17100_) - (_$E1710417110_ + (lambda (_stx17152_) + (let* ((_$e17154_ _stx17152_) + (_$E1715617162_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e17102_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e17102_)) - (let* ((_$tgt1710517113_ - (let () (declare (not safe)) (__AST-e _$e17102_))) - (_$hd1710617116_ - (let () (declare (not safe)) (##car _$tgt1710517113_))) - (_$tl1710717119_ - (let () (declare (not safe)) (##cdr _$tgt1710517113_)))) - (let* ((_body17123_ _$tl1710717119_) - (__tmp17625 - (let ((__tmp17626 + (__raise-syntax-error '#f '"Bad syntax" _$e17154_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e17154_)) + (let* ((_$tgt1715717165_ + (let () (declare (not safe)) (__AST-e _$e17154_))) + (_$hd1715817168_ + (let () (declare (not safe)) (##car _$tgt1715717165_))) + (_$tl1715917171_ + (let () (declare (not safe)) (##cdr _$tgt1715717165_)))) + (let* ((_body17175_ _$tl1715917171_) + (__tmp17677 + (let ((__tmp17678 (let () (declare (not safe)) - (__AST->datum _body17123_)))) + (__AST->datum _body17175_)))) (declare (not safe)) - (cons 'begin __tmp17626)))) + (cons 'begin __tmp17678)))) (declare (not safe)) - (__SRC__% __tmp17625 _stx17100_))) - (let () (declare (not safe)) (_$E1710417110_)))))) + (__SRC__% __tmp17677 _stx17152_))) + (let () (declare (not safe)) (_$E1715617162_)))))) (define __compile-import% - (lambda (_stx17075_) - (let* ((_$e17077_ _stx17075_) - (_$E1707917085_ + (lambda (_stx17127_) + (let* ((_$e17129_ _stx17127_) + (_$E1713117137_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e17077_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e17077_)) - (let* ((_$tgt1708017088_ - (let () (declare (not safe)) (__AST-e _$e17077_))) - (_$hd1708117091_ - (let () (declare (not safe)) (##car _$tgt1708017088_))) - (_$tl1708217094_ - (let () (declare (not safe)) (##cdr _$tgt1708017088_)))) - (let* ((_body17098_ _$tl1708217094_) - (__tmp17627 - (let ((__tmp17628 - (let ((__tmp17629 - (let ((__tmp17630 + (__raise-syntax-error '#f '"Bad syntax" _$e17129_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e17129_)) + (let* ((_$tgt1713217140_ + (let () (declare (not safe)) (__AST-e _$e17129_))) + (_$hd1713317143_ + (let () (declare (not safe)) (##car _$tgt1713217140_))) + (_$tl1713417146_ + (let () (declare (not safe)) (##cdr _$tgt1713217140_)))) + (let* ((_body17150_ _$tl1713417146_) + (__tmp17679 + (let ((__tmp17680 + (let ((__tmp17681 + (let ((__tmp17682 (let () (declare (not safe)) - (cons _body17098_ '())))) + (cons _body17150_ '())))) (declare (not safe)) - (cons 'quote __tmp17630)))) + (cons 'quote __tmp17682)))) (declare (not safe)) - (cons __tmp17629 '())))) + (cons __tmp17681 '())))) (declare (not safe)) - (cons '__eval-import __tmp17628)))) + (cons '__eval-import __tmp17680)))) (declare (not safe)) - (__SRC__% __tmp17627 _stx17075_))) - (let () (declare (not safe)) (_$E1707917085_)))))) + (__SRC__% __tmp17679 _stx17127_))) + (let () (declare (not safe)) (_$E1713117137_)))))) (define __compile-begin-annotation% - (lambda (_stx17022_) - (let* ((_$e17024_ _stx17022_) - (_$E1702617038_ + (lambda (_stx17074_) + (let* ((_$e17076_ _stx17074_) + (_$E1707817090_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e17024_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e17024_)) - (let* ((_$tgt1702717041_ - (let () (declare (not safe)) (__AST-e _$e17024_))) - (_$hd1702817044_ - (let () (declare (not safe)) (##car _$tgt1702717041_))) - (_$tl1702917047_ - (let () (declare (not safe)) (##cdr _$tgt1702717041_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1702917047_)) - (let* ((_$tgt1703017051_ + (__raise-syntax-error '#f '"Bad syntax" _$e17076_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e17076_)) + (let* ((_$tgt1707917093_ + (let () (declare (not safe)) (__AST-e _$e17076_))) + (_$hd1708017096_ + (let () (declare (not safe)) (##car _$tgt1707917093_))) + (_$tl1708117099_ + (let () (declare (not safe)) (##cdr _$tgt1707917093_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1708117099_)) + (let* ((_$tgt1708217103_ (let () (declare (not safe)) - (__AST-e _$tl1702917047_))) - (_$hd1703117054_ + (__AST-e _$tl1708117099_))) + (_$hd1708317106_ (let () (declare (not safe)) - (##car _$tgt1703017051_))) - (_$tl1703217057_ + (##car _$tgt1708217103_))) + (_$tl1708417109_ (let () (declare (not safe)) - (##cdr _$tgt1703017051_)))) - (let ((_ann17061_ _$hd1703117054_)) + (##cdr _$tgt1708217103_)))) + (let ((_ann17113_ _$hd1708317106_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1703217057_)) - (let* ((_$tgt1703317063_ + (__AST-pair? _$tl1708417109_)) + (let* ((_$tgt1708517115_ (let () (declare (not safe)) - (__AST-e _$tl1703217057_))) - (_$hd1703417066_ + (__AST-e _$tl1708417109_))) + (_$hd1708617118_ (let () (declare (not safe)) - (##car _$tgt1703317063_))) - (_$tl1703517069_ + (##car _$tgt1708517115_))) + (_$tl1708717121_ (let () (declare (not safe)) - (##cdr _$tgt1703317063_)))) - (let ((_expr17073_ _$hd1703417066_)) - (if (let ((__tmp17631 + (##cdr _$tgt1708517115_)))) + (let ((_expr17125_ _$hd1708617118_)) + (if (let ((__tmp17683 (let () (declare (not safe)) - (__AST-e _$tl1703517069_)))) + (__AST-e _$tl1708717121_)))) (declare (not safe)) - (equal? __tmp17631 '())) + (equal? __tmp17683 '())) (let () (declare (not safe)) - (__compile _expr17073_)) + (__compile _expr17125_)) (let () (declare (not safe)) - (_$E1702617038_))))) - (let () (declare (not safe)) (_$E1702617038_))))) - (let () (declare (not safe)) (_$E1702617038_)))) - (let () (declare (not safe)) (_$E1702617038_)))))) + (_$E1707817090_))))) + (let () (declare (not safe)) (_$E1707817090_))))) + (let () (declare (not safe)) (_$E1707817090_)))) + (let () (declare (not safe)) (_$E1707817090_)))))) (define __compile-define-values% - (lambda (_stx16913_) - (let* ((_$e16915_ _stx16913_) - (_$E1691716929_ + (lambda (_stx16965_) + (let* ((_$e16967_ _stx16965_) + (_$E1696916981_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e16915_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16915_)) - (let* ((_$tgt1691816932_ - (let () (declare (not safe)) (__AST-e _$e16915_))) - (_$hd1691916935_ - (let () (declare (not safe)) (##car _$tgt1691816932_))) - (_$tl1692016938_ - (let () (declare (not safe)) (##cdr _$tgt1691816932_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1692016938_)) - (let* ((_$tgt1692116942_ + (__raise-syntax-error '#f '"Bad syntax" _$e16967_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16967_)) + (let* ((_$tgt1697016984_ + (let () (declare (not safe)) (__AST-e _$e16967_))) + (_$hd1697116987_ + (let () (declare (not safe)) (##car _$tgt1697016984_))) + (_$tl1697216990_ + (let () (declare (not safe)) (##cdr _$tgt1697016984_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1697216990_)) + (let* ((_$tgt1697316994_ (let () (declare (not safe)) - (__AST-e _$tl1692016938_))) - (_$hd1692216945_ + (__AST-e _$tl1697216990_))) + (_$hd1697416997_ (let () (declare (not safe)) - (##car _$tgt1692116942_))) - (_$tl1692316948_ + (##car _$tgt1697316994_))) + (_$tl1697517000_ (let () (declare (not safe)) - (##cdr _$tgt1692116942_)))) - (let ((_hd16952_ _$hd1692216945_)) + (##cdr _$tgt1697316994_)))) + (let ((_hd17004_ _$hd1697416997_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1692316948_)) - (let* ((_$tgt1692416954_ + (__AST-pair? _$tl1697517000_)) + (let* ((_$tgt1697617006_ (let () (declare (not safe)) - (__AST-e _$tl1692316948_))) - (_$hd1692516957_ + (__AST-e _$tl1697517000_))) + (_$hd1697717009_ (let () (declare (not safe)) - (##car _$tgt1692416954_))) - (_$tl1692616960_ + (##car _$tgt1697617006_))) + (_$tl1697817012_ (let () (declare (not safe)) - (##cdr _$tgt1692416954_)))) - (let ((_expr16964_ _$hd1692516957_)) - (if (let ((__tmp17664 + (##cdr _$tgt1697617006_)))) + (let ((_expr17016_ _$hd1697717009_)) + (if (let ((__tmp17716 (let () (declare (not safe)) - (__AST-e _$tl1692616960_)))) + (__AST-e _$tl1697817012_)))) (declare (not safe)) - (equal? __tmp17664 '())) - (let* ((_$e16966_ _hd16952_) - (_$E1696817009_ + (equal? __tmp17716 '())) + (let* ((_$e17018_ _hd17004_) + (_$E1702017061_ (lambda () - (let ((_$E1696916994_ + (let ((_$E1702117046_ (lambda () - (let* ((_$E1697016981_ + (let* ((_$E1702217033_ (lambda () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () @@ -1049,2868 +1049,2868 @@ (__raise-syntax-error '#f '"Bad syntax" - _$e16966_)))) - (_ids16984_ _hd16952_) - (_len16986_ (length _ids16984_)) - (_tmp16988_ - (let ((__tmp17632 (gensym))) + _$e17018_)))) + (_ids17036_ _hd17004_) + (_len17038_ (length _ids17036_)) + (_tmp17040_ + (let ((__tmp17684 (gensym))) (declare (not safe)) - (__SRC__0 __tmp17632)))) - (let ((__tmp17633 - (let ((__tmp17634 - (let ((__tmp17651 - (let ((__tmp17652 - (let ((__tmp17653 - (let ((__tmp17654 - (let ((__tmp17655 + (__SRC__0 __tmp17684)))) + (let ((__tmp17685 + (let ((__tmp17686 + (let ((__tmp17703 + (let ((__tmp17704 + (let ((__tmp17705 + (let ((__tmp17706 + (let ((__tmp17707 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (__compile _expr16964_)))) + (__compile _expr17016_)))) (declare (not safe)) - (cons __tmp17655 '())))) + (cons __tmp17707 '())))) (declare (not safe)) - (cons _tmp16988_ __tmp17654)))) + (cons _tmp17040_ __tmp17706)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons 'define __tmp17653)))) + (cons 'define __tmp17705)))) (declare (not safe)) - (__SRC__% __tmp17652 _stx16913_))) - (__tmp17635 - (let ((__tmp17647 - (let ((__tmp17648 - (let ((__tmp17649 - (let ((__tmp17650 + (__SRC__% __tmp17704 _stx16965_))) + (__tmp17687 + (let ((__tmp17699 + (let ((__tmp17700 + (let ((__tmp17701 + (let ((__tmp17702 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let () (declare (not safe)) (cons _len16986_ '())))) + (let () (declare (not safe)) (cons _len17038_ '())))) (declare (not safe)) - (cons _tmp16988_ __tmp17650)))) + (cons _tmp17040_ __tmp17702)))) (declare (not safe)) - (cons '__check-values __tmp17649)))) + (cons '__check-values __tmp17701)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (__SRC__% - __tmp17648 - _stx16913_))) - (__tmp17636 - (let ((__tmp17637 - (let ((__tmp17639 - (lambda (_id16991_ + __tmp17700 + _stx16965_))) + (__tmp17688 + (let ((__tmp17689 + (let ((__tmp17691 + (lambda (_id17043_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _k16992_) - (if (let () (declare (not safe)) (__AST-e _id16991_)) - (let ((__tmp17640 - (let ((__tmp17641 - (let ((__tmp17646 + _k17044_) + (if (let () (declare (not safe)) (__AST-e _id17043_)) + (let ((__tmp17692 + (let ((__tmp17693 + (let ((__tmp17698 (let () (declare (not safe)) - (__SRC__0 _id16991_))) - (__tmp17642 - (let ((__tmp17643 - (let ((__tmp17644 - (let ((__tmp17645 + (__SRC__0 _id17043_))) + (__tmp17694 + (let ((__tmp17695 + (let ((__tmp17696 + (let ((__tmp17697 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let () (declare (not safe)) (cons _k16992_ '())))) + (let () (declare (not safe)) (cons _k17044_ '())))) (declare (not safe)) - (cons _tmp16988_ __tmp17645)))) + (cons _tmp17040_ __tmp17697)))) (declare (not safe)) - (cons '##vector-ref __tmp17644)))) + (cons '##vector-ref __tmp17696)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17643 '())))) + (cons __tmp17695 '())))) (declare (not safe)) - (cons __tmp17646 __tmp17642)))) + (cons __tmp17698 __tmp17694)))) (declare (not safe)) - (cons 'define __tmp17641)))) + (cons 'define __tmp17693)))) (declare (not safe)) - (__SRC__% __tmp17640 _stx16913_)) + (__SRC__% __tmp17692 _stx16965_)) '#f))) - (__tmp17638 (let () (declare (not safe)) (iota _len16986_)))) + (__tmp17690 (let () (declare (not safe)) (iota _len17038_)))) (declare (not safe)) - (filter-map2 __tmp17639 _ids16984_ __tmp17638)))) + (filter-map2 __tmp17691 _ids17036_ __tmp17690)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (foldr1 cons '() __tmp17637)))) + (foldr1 cons '() __tmp17689)))) (declare (not safe)) - (cons __tmp17647 __tmp17636)))) + (cons __tmp17699 __tmp17688)))) (declare (not safe)) - (cons __tmp17651 __tmp17635)))) + (cons __tmp17703 __tmp17687)))) (declare (not safe)) - (cons 'begin __tmp17634)))) + (cons 'begin __tmp17686)))) (declare (not safe)) - (__SRC__% __tmp17633 _stx16913_)))))) + (__SRC__% __tmp17685 _stx16965_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (let () (declare (not safe)) - (__AST-pair? _$e16966_)) - (let* ((_$tgt1697116997_ + (__AST-pair? _$e17018_)) + (let* ((_$tgt1702317049_ (let () (declare (not safe)) - (__AST-e _$e16966_))) - (_$hd1697217000_ + (__AST-e _$e17018_))) + (_$hd1702417052_ (let () (declare (not safe)) - (##car _$tgt1697116997_))) - (_$tl1697317003_ + (##car _$tgt1702317049_))) + (_$tl1702517055_ (let () (declare (not safe)) - (##cdr _$tgt1697116997_)))) - (let ((_id17007_ - _$hd1697217000_)) - (if (let ((__tmp17661 + (##cdr _$tgt1702317049_)))) + (let ((_id17059_ + _$hd1702417052_)) + (if (let ((__tmp17713 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (__AST-e _$tl1697317003_)))) + (__AST-e _$tl1702517055_)))) (declare (not safe)) - (equal? __tmp17661 '())) - (let ((__tmp17656 - (let ((__tmp17657 - (let ((__tmp17660 + (equal? __tmp17713 '())) + (let ((__tmp17708 + (let ((__tmp17709 + (let ((__tmp17712 (let () (declare (not safe)) - (__SRC__0 _id17007_))) - (__tmp17658 - (let ((__tmp17659 + (__SRC__0 _id17059_))) + (__tmp17710 + (let ((__tmp17711 (let () (declare (not safe)) - (__compile _expr16964_)))) + (__compile _expr17016_)))) (declare (not safe)) - (cons __tmp17659 '())))) + (cons __tmp17711 '())))) (declare (not safe)) - (cons __tmp17660 __tmp17658)))) + (cons __tmp17712 __tmp17710)))) (declare (not safe)) - (cons 'define __tmp17657)))) + (cons 'define __tmp17709)))) (declare (not safe)) - (__SRC__% __tmp17656 _stx16913_)) - (let () (declare (not safe)) (_$E1696916994_))))) + (__SRC__% __tmp17708 _stx16965_)) + (let () (declare (not safe)) (_$E1702117046_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let () (declare (not safe)) - (_$E1696916994_))))))) + (_$E1702117046_))))))) (if (let () (declare (not safe)) - (__AST-pair? _$e16966_)) - (let* ((_$tgt1697417012_ + (__AST-pair? _$e17018_)) + (let* ((_$tgt1702617064_ (let () (declare (not safe)) - (__AST-e _$e16966_))) - (_$hd1697517015_ + (__AST-e _$e17018_))) + (_$hd1702717067_ (let () (declare (not safe)) - (##car _$tgt1697417012_))) - (_$tl1697617018_ + (##car _$tgt1702617064_))) + (_$tl1702817070_ (let () (declare (not safe)) - (##cdr _$tgt1697417012_)))) - (if (let ((__tmp17663 + (##cdr _$tgt1702617064_)))) + (if (let ((__tmp17715 (let () (declare (not safe)) - (__AST-e _$hd1697517015_)))) + (__AST-e _$hd1702717067_)))) (declare (not safe)) - (equal? __tmp17663 '#f)) - (if (let ((__tmp17662 + (equal? __tmp17715 '#f)) + (if (let ((__tmp17714 (let () (declare (not safe)) - (__AST-e _$tl1697617018_)))) + (__AST-e _$tl1702817070_)))) (declare (not safe)) - (equal? __tmp17662 '())) + (equal? __tmp17714 '())) (let () (declare (not safe)) - (__compile _expr16964_)) + (__compile _expr17016_)) (let () (declare (not safe)) - (_$E1696817009_))) + (_$E1702017061_))) (let () (declare (not safe)) - (_$E1696817009_)))) + (_$E1702017061_)))) (let () (declare (not safe)) - (_$E1696817009_)))) + (_$E1702017061_)))) (let () (declare (not safe)) - (_$E1691716929_))))) - (let () (declare (not safe)) (_$E1691716929_))))) - (let () (declare (not safe)) (_$E1691716929_)))) - (let () (declare (not safe)) (_$E1691716929_)))))) + (_$E1696916981_))))) + (let () (declare (not safe)) (_$E1696916981_))))) + (let () (declare (not safe)) (_$E1696916981_)))) + (let () (declare (not safe)) (_$E1696916981_)))))) (define __compile-head-id - (lambda (_e16911_) - (let ((__tmp17665 - (if (let () (declare (not safe)) (__AST-e _e16911_)) - _e16911_ + (lambda (_e16963_) + (let ((__tmp17717 + (if (let () (declare (not safe)) (__AST-e _e16963_)) + _e16963_ (gensym)))) (declare (not safe)) - (__SRC__0 __tmp17665)))) + (__SRC__0 __tmp17717)))) (define __compile-lambda-head - (lambda (_hd16868_) - (let _recur16870_ ((_rest16872_ _hd16868_)) - (let* ((_$e16874_ _rest16872_) - (_$E1687616894_ + (lambda (_hd16920_) + (let _recur16922_ ((_rest16924_ _hd16920_)) + (let* ((_$e16926_ _rest16924_) + (_$E1692816946_ (lambda () - (let ((_$E1687716891_ + (let ((_$E1692916943_ (lambda () - (let* ((_$E1687816886_ + (let* ((_$E1693016938_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16874_)))) - (_tail16889_ _$e16874_)) + _$e16926_)))) + (_tail16941_ _$e16926_)) (declare (not safe)) - (__compile-head-id _tail16889_))))) - (if (let ((__tmp17666 + (__compile-head-id _tail16941_))))) + (if (let ((__tmp17718 (let () (declare (not safe)) - (__AST-e _$e16874_)))) + (__AST-e _$e16926_)))) (declare (not safe)) - (equal? __tmp17666 '())) + (equal? __tmp17718 '())) '() - (let () (declare (not safe)) (_$E1687716891_))))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16874_)) - (let* ((_$tgt1687916897_ - (let () (declare (not safe)) (__AST-e _$e16874_))) - (_$hd1688016900_ - (let () (declare (not safe)) (##car _$tgt1687916897_))) - (_$tl1688116903_ + (let () (declare (not safe)) (_$E1692916943_))))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16926_)) + (let* ((_$tgt1693116949_ + (let () (declare (not safe)) (__AST-e _$e16926_))) + (_$hd1693216952_ + (let () (declare (not safe)) (##car _$tgt1693116949_))) + (_$tl1693316955_ (let () (declare (not safe)) - (##cdr _$tgt1687916897_)))) - (let* ((_hd16907_ _$hd1688016900_) - (_rest16909_ _$tl1688116903_)) - (let ((__tmp17668 + (##cdr _$tgt1693116949_)))) + (let* ((_hd16959_ _$hd1693216952_) + (_rest16961_ _$tl1693316955_)) + (let ((__tmp17720 (let () (declare (not safe)) - (__compile-head-id _hd16907_))) - (__tmp17667 + (__compile-head-id _hd16959_))) + (__tmp17719 (let () (declare (not safe)) - (_recur16870_ _rest16909_)))) + (_recur16922_ _rest16961_)))) (declare (not safe)) - (cons __tmp17668 __tmp17667)))) - (let () (declare (not safe)) (_$E1687616894_))))))) + (cons __tmp17720 __tmp17719)))) + (let () (declare (not safe)) (_$E1692816946_))))))) (define __compile-lambda% - (lambda (_stx16815_) - (let* ((_$e16817_ _stx16815_) - (_$E1681916831_ + (lambda (_stx16867_) + (let* ((_$e16869_ _stx16867_) + (_$E1687116883_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e16817_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16817_)) - (let* ((_$tgt1682016834_ - (let () (declare (not safe)) (__AST-e _$e16817_))) - (_$hd1682116837_ - (let () (declare (not safe)) (##car _$tgt1682016834_))) - (_$tl1682216840_ - (let () (declare (not safe)) (##cdr _$tgt1682016834_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1682216840_)) - (let* ((_$tgt1682316844_ + (__raise-syntax-error '#f '"Bad syntax" _$e16869_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16869_)) + (let* ((_$tgt1687216886_ + (let () (declare (not safe)) (__AST-e _$e16869_))) + (_$hd1687316889_ + (let () (declare (not safe)) (##car _$tgt1687216886_))) + (_$tl1687416892_ + (let () (declare (not safe)) (##cdr _$tgt1687216886_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1687416892_)) + (let* ((_$tgt1687516896_ (let () (declare (not safe)) - (__AST-e _$tl1682216840_))) - (_$hd1682416847_ + (__AST-e _$tl1687416892_))) + (_$hd1687616899_ (let () (declare (not safe)) - (##car _$tgt1682316844_))) - (_$tl1682516850_ + (##car _$tgt1687516896_))) + (_$tl1687716902_ (let () (declare (not safe)) - (##cdr _$tgt1682316844_)))) - (let ((_hd16854_ _$hd1682416847_)) + (##cdr _$tgt1687516896_)))) + (let ((_hd16906_ _$hd1687616899_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1682516850_)) - (let* ((_$tgt1682616856_ + (__AST-pair? _$tl1687716902_)) + (let* ((_$tgt1687816908_ (let () (declare (not safe)) - (__AST-e _$tl1682516850_))) - (_$hd1682716859_ + (__AST-e _$tl1687716902_))) + (_$hd1687916911_ (let () (declare (not safe)) - (##car _$tgt1682616856_))) - (_$tl1682816862_ + (##car _$tgt1687816908_))) + (_$tl1688016914_ (let () (declare (not safe)) - (##cdr _$tgt1682616856_)))) - (let ((_body16866_ _$hd1682716859_)) - (if (let ((__tmp17674 + (##cdr _$tgt1687816908_)))) + (let ((_body16918_ _$hd1687916911_)) + (if (let ((__tmp17726 (let () (declare (not safe)) - (__AST-e _$tl1682816862_)))) + (__AST-e _$tl1688016914_)))) (declare (not safe)) - (equal? __tmp17674 '())) - (let ((__tmp17669 - (let ((__tmp17670 - (let ((__tmp17673 + (equal? __tmp17726 '())) + (let ((__tmp17721 + (let ((__tmp17722 + (let ((__tmp17725 (let () (declare (not safe)) (__compile-lambda-head - _hd16854_))) - (__tmp17671 - (let ((__tmp17672 + _hd16906_))) + (__tmp17723 + (let ((__tmp17724 (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (__compile _body16866_)))) + (__compile _body16918_)))) (declare (not safe)) - (cons __tmp17672 '())))) + (cons __tmp17724 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17673 - __tmp17671)))) + (cons __tmp17725 + __tmp17723)))) (declare (not safe)) - (cons 'lambda __tmp17670)))) + (cons 'lambda __tmp17722)))) (declare (not safe)) - (__SRC__% __tmp17669 _stx16815_)) + (__SRC__% __tmp17721 _stx16867_)) (let () (declare (not safe)) - (_$E1681916831_))))) - (let () (declare (not safe)) (_$E1681916831_))))) - (let () (declare (not safe)) (_$E1681916831_)))) - (let () (declare (not safe)) (_$E1681916831_)))))) + (_$E1687116883_))))) + (let () (declare (not safe)) (_$E1687116883_))))) + (let () (declare (not safe)) (_$E1687116883_)))) + (let () (declare (not safe)) (_$E1687116883_)))))) (define __compile-case-lambda% - (lambda (_stx16607_) - (letrec ((_variadic?16609_ - (lambda (_hd16780_) - (let* ((_$e16782_ _hd16780_) - (_$E1678416800_ + (lambda (_stx16659_) + (letrec ((_variadic?16661_ + (lambda (_hd16832_) + (let* ((_$e16834_ _hd16832_) + (_$E1683616852_ (lambda () - (let ((_$E1678516797_ + (let ((_$E1683716849_ (lambda () - (let ((_$E1678616794_ + (let ((_$E1683816846_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16782_))))) + _$e16834_))))) '#t)))) - (if (let ((__tmp17675 + (if (let ((__tmp17727 (let () (declare (not safe)) - (__AST-e _$e16782_)))) + (__AST-e _$e16834_)))) (declare (not safe)) - (equal? __tmp17675 '())) + (equal? __tmp17727 '())) '#f (let () (declare (not safe)) - (_$E1678516797_))))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16782_)) - (let* ((_$tgt1678716803_ + (_$E1683716849_))))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16834_)) + (let* ((_$tgt1683916855_ (let () (declare (not safe)) - (__AST-e _$e16782_))) - (_$hd1678816806_ + (__AST-e _$e16834_))) + (_$hd1684016858_ (let () (declare (not safe)) - (##car _$tgt1678716803_))) - (_$tl1678916809_ + (##car _$tgt1683916855_))) + (_$tl1684116861_ (let () (declare (not safe)) - (##cdr _$tgt1678716803_)))) - (let ((_rest16813_ _$tl1678916809_)) + (##cdr _$tgt1683916855_)))) + (let ((_rest16865_ _$tl1684116861_)) (declare (not safe)) - (_variadic?16609_ _rest16813_))) - (let () (declare (not safe)) (_$E1678416800_)))))) - (_arity16610_ - (lambda (_hd16745_) - (let _lp16747_ ((_rest16749_ _hd16745_) (_k16750_ '0)) - (let* ((_$e16752_ _rest16749_) - (_$E1675416765_ + (_variadic?16661_ _rest16865_))) + (let () (declare (not safe)) (_$E1683616852_)))))) + (_arity16662_ + (lambda (_hd16797_) + (let _lp16799_ ((_rest16801_ _hd16797_) (_k16802_ '0)) + (let* ((_$e16804_ _rest16801_) + (_$E1680616817_ (lambda () - (let ((_$E1675516762_ + (let ((_$E1680716814_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16752_))))) - _k16750_)))) + _$e16804_))))) + _k16802_)))) (if (let () (declare (not safe)) - (__AST-pair? _$e16752_)) - (let* ((_$tgt1675616768_ + (__AST-pair? _$e16804_)) + (let* ((_$tgt1680816820_ (let () (declare (not safe)) - (__AST-e _$e16752_))) - (_$hd1675716771_ + (__AST-e _$e16804_))) + (_$hd1680916823_ (let () (declare (not safe)) - (##car _$tgt1675616768_))) - (_$tl1675816774_ + (##car _$tgt1680816820_))) + (_$tl1681016826_ (let () (declare (not safe)) - (##cdr _$tgt1675616768_)))) - (let* ((_rest16778_ _$tl1675816774_) - (__tmp17676 + (##cdr _$tgt1680816820_)))) + (let* ((_rest16830_ _$tl1681016826_) + (__tmp17728 (let () (declare (not safe)) - (fx+ _k16750_ '1)))) + (fx+ _k16802_ '1)))) (declare (not safe)) - (_lp16747_ _rest16778_ __tmp17676))) - (let () (declare (not safe)) (_$E1675416765_))))))) - (_generate16611_ - (lambda (_rest16672_ _args16673_ _len16674_) - (let* ((_$e16676_ _rest16672_) - (_$E1667816689_ + (_lp16799_ _rest16830_ __tmp17728))) + (let () (declare (not safe)) (_$E1680616817_))))))) + (_generate16663_ + (lambda (_rest16724_ _args16725_ _len16726_) + (let* ((_$e16728_ _rest16724_) + (_$E1673016741_ (lambda () - (let* ((_$E1667916686_ + (let* ((_$E1673116738_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16676_)))) - (__tmp17677 - (let ((__tmp17678 - (let ((__tmp17679 + _$e16728_)))) + (__tmp17729 + (let ((__tmp17730 + (let ((__tmp17731 (let () (declare (not safe)) - (cons _args16673_ '())))) + (cons _args16725_ '())))) (declare (not safe)) (cons '"No clause matching arguments" - __tmp17679)))) + __tmp17731)))) (declare (not safe)) - (cons 'error __tmp17678)))) + (cons 'error __tmp17730)))) (declare (not safe)) - (__SRC__% __tmp17677 _stx16607_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16676_)) - (let* ((_$tgt1668016692_ + (__SRC__% __tmp17729 _stx16659_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16728_)) + (let* ((_$tgt1673216744_ (let () (declare (not safe)) - (__AST-e _$e16676_))) - (_$hd1668116695_ + (__AST-e _$e16728_))) + (_$hd1673316747_ (let () (declare (not safe)) - (##car _$tgt1668016692_))) - (_$tl1668216698_ + (##car _$tgt1673216744_))) + (_$tl1673416750_ (let () (declare (not safe)) - (##cdr _$tgt1668016692_)))) - (let* ((_clause16702_ _$hd1668116695_) - (_rest16704_ _$tl1668216698_) - (_$e16706_ _clause16702_) - (_$E1670816717_ + (##cdr _$tgt1673216744_)))) + (let* ((_clause16754_ _$hd1673316747_) + (_rest16756_ _$tl1673416750_) + (_$e16758_ _clause16754_) + (_$E1676016769_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16706_))))) + _$e16758_))))) (if (let () (declare (not safe)) - (__AST-pair? _$e16706_)) - (let* ((_$tgt1670916720_ + (__AST-pair? _$e16758_)) + (let* ((_$tgt1676116772_ (let () (declare (not safe)) - (__AST-e _$e16706_))) - (_$hd1671016723_ + (__AST-e _$e16758_))) + (_$hd1676216775_ (let () (declare (not safe)) - (##car _$tgt1670916720_))) - (_$tl1671116726_ + (##car _$tgt1676116772_))) + (_$tl1676316778_ (let () (declare (not safe)) - (##cdr _$tgt1670916720_)))) - (let ((_hd16730_ _$hd1671016723_)) + (##cdr _$tgt1676116772_)))) + (let ((_hd16782_ _$hd1676216775_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1671116726_)) - (let* ((_$tgt1671216732_ + (__AST-pair? _$tl1676316778_)) + (let* ((_$tgt1676416784_ (let () (declare (not safe)) - (__AST-e _$tl1671116726_))) - (_$hd1671316735_ + (__AST-e _$tl1676316778_))) + (_$hd1676516787_ (let () (declare (not safe)) - (##car _$tgt1671216732_))) - (_$tl1671416738_ + (##car _$tgt1676416784_))) + (_$tl1676616790_ (let () (declare (not safe)) - (##cdr _$tgt1671216732_)))) - (if (let ((__tmp17694 + (##cdr _$tgt1676416784_)))) + (if (let ((__tmp17746 (let () (declare (not safe)) - (__AST-e _$tl1671416738_)))) + (__AST-e _$tl1676616790_)))) (declare (not safe)) - (equal? __tmp17694 '())) - (let ((_clen16742_ + (equal? __tmp17746 '())) + (let ((_clen16794_ (let () (declare (not safe)) - (_arity16610_ - _hd16730_))) - (_cmp16743_ + (_arity16662_ + _hd16782_))) + (_cmp16795_ (if (let () (declare (not safe)) - (_variadic?16609_ - _hd16730_)) + (_variadic?16661_ + _hd16782_)) 'fx>= 'fx=))) - (let ((__tmp17680 - (let ((__tmp17681 - (let ((__tmp17691 + (let ((__tmp17732 + (let ((__tmp17733 + (let ((__tmp17743 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17692 - (let ((__tmp17693 + (let ((__tmp17744 + (let ((__tmp17745 (let () (declare (not safe)) - (cons _clen16742_ '())))) + (cons _clen16794_ '())))) (declare (not safe)) - (cons _len16674_ __tmp17693)))) + (cons _len16726_ __tmp17745)))) (declare (not safe)) - (cons _cmp16743_ __tmp17692))) - (__tmp17682 - (let ((__tmp17685 - (let ((__tmp17686 - (let ((__tmp17687 - (let ((__tmp17689 - (let ((__tmp17690 + (cons _cmp16795_ __tmp17744))) + (__tmp17734 + (let ((__tmp17737 + (let ((__tmp17738 + (let ((__tmp17739 + (let ((__tmp17741 + (let ((__tmp17742 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (cons '%#lambda _clause16702_)))) + (cons '%#lambda _clause16754_)))) (declare (not safe)) - (__compile-lambda% __tmp17690))) - (__tmp17688 - (let () (declare (not safe)) (cons _args16673_ '())))) + (__compile-lambda% __tmp17742))) + (__tmp17740 + (let () (declare (not safe)) (cons _args16725_ '())))) (declare (not safe)) - (cons __tmp17689 __tmp17688)))) + (cons __tmp17741 __tmp17740)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons '##apply __tmp17687)))) + (cons '##apply __tmp17739)))) (declare (not safe)) - (__SRC__% __tmp17686 _stx16607_))) - (__tmp17683 - (let ((__tmp17684 + (__SRC__% __tmp17738 _stx16659_))) + (__tmp17735 + (let ((__tmp17736 (let () (declare (not safe)) - (_generate16611_ - _rest16704_ - _args16673_ - _len16674_)))) + (_generate16663_ + _rest16756_ + _args16725_ + _len16726_)))) (declare (not safe)) - (cons __tmp17684 '())))) + (cons __tmp17736 '())))) (declare (not safe)) - (cons __tmp17685 __tmp17683)))) + (cons __tmp17737 __tmp17735)))) (declare (not safe)) - (cons __tmp17691 __tmp17682)))) + (cons __tmp17743 __tmp17734)))) (declare (not safe)) - (cons 'if __tmp17681)))) + (cons 'if __tmp17733)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (__SRC__% - __tmp17680 - _stx16607_))) + __tmp17732 + _stx16659_))) (let () (declare (not safe)) - (_$E1670816717_)))) + (_$E1676016769_)))) (let () (declare (not safe)) - (_$E1670816717_))))) + (_$E1676016769_))))) (let () (declare (not safe)) - (_$E1670816717_))))) - (let () (declare (not safe)) (_$E1667816689_))))))) - (let* ((_$e16613_ _stx16607_) - (_$E1661516647_ + (_$E1676016769_))))) + (let () (declare (not safe)) (_$E1673016741_))))))) + (let* ((_$e16665_ _stx16659_) + (_$E1666716699_ (lambda () - (let ((_$E1661616629_ + (let ((_$E1666816681_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16613_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16613_)) - (let* ((_$tgt1661716632_ + _$e16665_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16665_)) + (let* ((_$tgt1666916684_ (let () (declare (not safe)) - (__AST-e _$e16613_))) - (_$hd1661816635_ + (__AST-e _$e16665_))) + (_$hd1667016687_ (let () (declare (not safe)) - (##car _$tgt1661716632_))) - (_$tl1661916638_ + (##car _$tgt1666916684_))) + (_$tl1667116690_ (let () (declare (not safe)) - (##cdr _$tgt1661716632_)))) - (let ((_clauses16642_ _$tl1661916638_)) - (let ((_args16644_ - (let ((__tmp17695 (gensym))) + (##cdr _$tgt1666916684_)))) + (let ((_clauses16694_ _$tl1667116690_)) + (let ((_args16696_ + (let ((__tmp17747 (gensym))) (declare (not safe)) - (__SRC__% __tmp17695 _stx16607_))) - (_len16645_ - (let ((__tmp17696 (gensym))) + (__SRC__% __tmp17747 _stx16659_))) + (_len16697_ + (let ((__tmp17748 (gensym))) (declare (not safe)) - (__SRC__% __tmp17696 _stx16607_)))) - (let ((__tmp17697 - (let ((__tmp17698 - (let ((__tmp17699 - (let ((__tmp17700 - (let ((__tmp17701 + (__SRC__% __tmp17748 _stx16659_)))) + (let ((__tmp17749 + (let ((__tmp17750 + (let ((__tmp17751 + (let ((__tmp17752 + (let ((__tmp17753 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17702 - (let ((__tmp17705 - (let ((__tmp17706 - (let ((__tmp17707 - (let ((__tmp17708 - (let ((__tmp17709 + (let ((__tmp17754 + (let ((__tmp17757 + (let ((__tmp17758 + (let ((__tmp17759 + (let ((__tmp17760 + (let ((__tmp17761 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17710 + (let ((__tmp17762 (let () (declare (not safe)) - (cons _args16644_ '())))) + (cons _args16696_ '())))) (declare (not safe)) - (cons '##length __tmp17710)))) + (cons '##length __tmp17762)))) (declare (not safe)) - (__SRC__% __tmp17709 _stx16607_)))) + (__SRC__% __tmp17761 _stx16659_)))) (declare (not safe)) - (cons __tmp17708 '())))) + (cons __tmp17760 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _len16645_ - __tmp17707)))) + (cons _len16697_ + __tmp17759)))) (declare (not safe)) - (cons __tmp17706 '()))) - (__tmp17703 - (let ((__tmp17704 + (cons __tmp17758 '()))) + (__tmp17755 + (let ((__tmp17756 (let () (declare (not safe)) - (_generate16611_ - _clauses16642_ - _args16644_ - _len16645_)))) + (_generate16663_ + _clauses16694_ + _args16696_ + _len16697_)))) (declare (not safe)) - (cons __tmp17704 '())))) + (cons __tmp17756 '())))) (declare (not safe)) - (cons __tmp17705 __tmp17703)))) + (cons __tmp17757 __tmp17755)))) (declare (not safe)) - (cons 'let __tmp17702)))) + (cons 'let __tmp17754)))) (declare (not safe)) - (__SRC__% __tmp17701 _stx16607_)))) + (__SRC__% __tmp17753 _stx16659_)))) (declare (not safe)) - (cons __tmp17700 '())))) + (cons __tmp17752 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _args16644_ - __tmp17699)))) + (cons _args16696_ + __tmp17751)))) (declare (not safe)) - (cons 'lambda __tmp17698)))) + (cons 'lambda __tmp17750)))) (declare (not safe)) - (__SRC__% __tmp17697 _stx16607_))))) - (let () (declare (not safe)) (_$E1661616629_))))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16613_)) - (let* ((_$tgt1662016650_ - (let () (declare (not safe)) (__AST-e _$e16613_))) - (_$hd1662116653_ - (let () (declare (not safe)) (##car _$tgt1662016650_))) - (_$tl1662216656_ + (__SRC__% __tmp17749 _stx16659_))))) + (let () (declare (not safe)) (_$E1666816681_))))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16665_)) + (let* ((_$tgt1667216702_ + (let () (declare (not safe)) (__AST-e _$e16665_))) + (_$hd1667316705_ + (let () (declare (not safe)) (##car _$tgt1667216702_))) + (_$tl1667416708_ (let () (declare (not safe)) - (##cdr _$tgt1662016650_)))) + (##cdr _$tgt1667216702_)))) (if (let () (declare (not safe)) - (__AST-pair? _$tl1662216656_)) - (let* ((_$tgt1662316660_ + (__AST-pair? _$tl1667416708_)) + (let* ((_$tgt1667516712_ (let () (declare (not safe)) - (__AST-e _$tl1662216656_))) - (_$hd1662416663_ + (__AST-e _$tl1667416708_))) + (_$hd1667616715_ (let () (declare (not safe)) - (##car _$tgt1662316660_))) - (_$tl1662516666_ + (##car _$tgt1667516712_))) + (_$tl1667716718_ (let () (declare (not safe)) - (##cdr _$tgt1662316660_)))) - (let ((_clause16670_ _$hd1662416663_)) - (if (let ((__tmp17712 + (##cdr _$tgt1667516712_)))) + (let ((_clause16722_ _$hd1667616715_)) + (if (let ((__tmp17764 (let () (declare (not safe)) - (__AST-e _$tl1662516666_)))) + (__AST-e _$tl1667716718_)))) (declare (not safe)) - (equal? __tmp17712 '())) - (let ((__tmp17711 + (equal? __tmp17764 '())) + (let ((__tmp17763 (let () (declare (not safe)) - (cons '%#lambda _clause16670_)))) + (cons '%#lambda _clause16722_)))) (declare (not safe)) - (__compile-lambda% __tmp17711)) - (let () (declare (not safe)) (_$E1661516647_))))) - (let () (declare (not safe)) (_$E1661516647_)))) - (let () (declare (not safe)) (_$E1661516647_))))))) + (__compile-lambda% __tmp17763)) + (let () (declare (not safe)) (_$E1666716699_))))) + (let () (declare (not safe)) (_$E1666716699_)))) + (let () (declare (not safe)) (_$E1666716699_))))))) (define __compile-let-form - (lambda (_stx16376_ _compile-simple16377_ _compile-values16378_) - (letrec ((_simple-bind?16380_ - (lambda (_hd16565_) - (let* ((_hd1656616576_ _hd16565_) - (_else1656916584_ (lambda () '#f))) - (let ((_K1657216597_ (lambda (_id16595_) '#t)) - (_K1657116589_ (lambda () '#t))) - (let ((_try-match1656816592_ + (lambda (_stx16428_ _compile-simple16429_ _compile-values16430_) + (letrec ((_simple-bind?16432_ + (lambda (_hd16617_) + (let* ((_hd1661816628_ _hd16617_) + (_else1662116636_ (lambda () '#f))) + (let ((_K1662416649_ (lambda (_id16647_) '#t)) + (_K1662316641_ (lambda () '#t))) + (let ((_try-match1662016644_ (lambda () (if (let () (declare (not safe)) - (##eq? _hd1656616576_ '#f)) + (##eq? _hd1661816628_ '#f)) (let () (declare (not safe)) - (_K1657116589_)) + (_K1662316641_)) (let () (declare (not safe)) - (_else1656916584_)))))) + (_else1662116636_)))))) (if (let () (declare (not safe)) - (##pair? _hd1656616576_)) - (let ((_tl1657416602_ + (##pair? _hd1661816628_)) + (let ((_tl1662616654_ (let () (declare (not safe)) - (##cdr _hd1656616576_))) - (_hd1657316600_ + (##cdr _hd1661816628_))) + (_hd1662516652_ (let () (declare (not safe)) - (##car _hd1656616576_)))) + (##car _hd1661816628_)))) (if (let () (declare (not safe)) - (##null? _tl1657416602_)) - (let ((_id16605_ _hd1657316600_)) + (##null? _tl1662616654_)) + (let ((_id16657_ _hd1662516652_)) (declare (not safe)) - (_K1657216597_ _id16605_)) + (_K1662416649_ _id16657_)) (let () (declare (not safe)) - (_try-match1656816592_)))) + (_try-match1662016644_)))) (let () (declare (not safe)) - (_try-match1656816592_)))))))) - (_car-e16381_ - (lambda (_hd16563_) - (if (let () (declare (not safe)) (pair? _hd16563_)) - (car _hd16563_) - _hd16563_)))) - (let* ((_$e16383_ _stx16376_) - (_$E1638516528_ + (_try-match1662016644_)))))))) + (_car-e16433_ + (lambda (_hd16615_) + (if (let () (declare (not safe)) (pair? _hd16615_)) + (car _hd16615_) + _hd16615_)))) + (let* ((_$e16435_ _stx16428_) + (_$E1643716580_ (lambda () - (let ((_$E1638616408_ + (let ((_$E1643816460_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16383_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16383_)) - (let* ((_$tgt1638716411_ + _$e16435_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16435_)) + (let* ((_$tgt1643916463_ (let () (declare (not safe)) - (__AST-e _$e16383_))) - (_$hd1638816414_ + (__AST-e _$e16435_))) + (_$hd1644016466_ (let () (declare (not safe)) - (##car _$tgt1638716411_))) - (_$tl1638916417_ + (##car _$tgt1643916463_))) + (_$tl1644116469_ (let () (declare (not safe)) - (##cdr _$tgt1638716411_)))) + (##cdr _$tgt1643916463_)))) (if (let () (declare (not safe)) - (__AST-pair? _$tl1638916417_)) - (let* ((_$tgt1639016421_ + (__AST-pair? _$tl1644116469_)) + (let* ((_$tgt1644216473_ (let () (declare (not safe)) - (__AST-e _$tl1638916417_))) - (_$hd1639116424_ + (__AST-e _$tl1644116469_))) + (_$hd1644316476_ (let () (declare (not safe)) - (##car _$tgt1639016421_))) - (_$tl1639216427_ + (##car _$tgt1644216473_))) + (_$tl1644416479_ (let () (declare (not safe)) - (##cdr _$tgt1639016421_)))) - (let ((_hd16431_ _$hd1639116424_)) + (##cdr _$tgt1644216473_)))) + (let ((_hd16483_ _$hd1644316476_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1639216427_)) - (let* ((_$tgt1639316433_ + (__AST-pair? _$tl1644416479_)) + (let* ((_$tgt1644516485_ (let () (declare (not safe)) - (__AST-e _$tl1639216427_))) - (_$hd1639416436_ + (__AST-e _$tl1644416479_))) + (_$hd1644616488_ (let () (declare (not safe)) - (##car _$tgt1639316433_))) - (_$tl1639516439_ + (##car _$tgt1644516485_))) + (_$tl1644716491_ (let () (declare (not safe)) - (##cdr _$tgt1639316433_)))) - (let ((_body16443_ _$hd1639416436_)) - (if (let ((__tmp17715 + (##cdr _$tgt1644516485_)))) + (let ((_body16495_ _$hd1644616488_)) + (if (let ((__tmp17767 (let () (declare (not safe)) - (__AST-e _$tl1639516439_)))) + (__AST-e _$tl1644716491_)))) (declare (not safe)) - (equal? __tmp17715 '())) - (let* ((_hd-ids16483_ - (map (lambda (_bind16445_) - (let* ((_$e16447_ + (equal? __tmp17767 '())) + (let* ((_hd-ids16535_ + (map (lambda (_bind16497_) + (let* ((_$e16499_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _bind16445_) - (_$E1644916458_ + _bind16497_) + (_$E1650116510_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16447_))))) + _$e16499_))))) (if (let () (declare (not safe)) - (__AST-pair? _$e16447_)) - (let* ((_$tgt1645016461_ + (__AST-pair? _$e16499_)) + (let* ((_$tgt1650216513_ (let () (declare (not safe)) - (__AST-e _$e16447_))) - (_$hd1645116464_ + (__AST-e _$e16499_))) + (_$hd1650316516_ (let () (declare (not safe)) - (##car _$tgt1645016461_))) - (_$tl1645216467_ + (##car _$tgt1650216513_))) + (_$tl1650416519_ (let () (declare (not safe)) - (##cdr _$tgt1645016461_)))) - (let ((_ids16471_ _$hd1645116464_)) + (##cdr _$tgt1650216513_)))) + (let ((_ids16523_ _$hd1650316516_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1645216467_)) - (let* ((_$tgt1645316473_ + (__AST-pair? _$tl1650416519_)) + (let* ((_$tgt1650516525_ (let () (declare (not safe)) - (__AST-e _$tl1645216467_))) - (_$hd1645416476_ + (__AST-e _$tl1650416519_))) + (_$hd1650616528_ (let () (declare (not safe)) - (##car _$tgt1645316473_))) - (_$tl1645516479_ + (##car _$tgt1650516525_))) + (_$tl1650716531_ (let () (declare (not safe)) - (##cdr _$tgt1645316473_)))) - (if (let ((__tmp17713 + (##cdr _$tgt1650516525_)))) + (if (let ((__tmp17765 (let () (declare (not safe)) - (__AST-e _$tl1645516479_)))) + (__AST-e _$tl1650716531_)))) (declare (not safe)) - (equal? __tmp17713 '())) - _ids16471_ + (equal? __tmp17765 '())) + _ids16523_ (let () (declare (not safe)) - (_$E1644916458_)))) + (_$E1650116510_)))) (let () (declare (not safe)) - (_$E1644916458_))))) - (let () (declare (not safe)) (_$E1644916458_))))) - _hd16431_)) - (_exprs16523_ - (map (lambda (_bind16485_) - (let* ((_$e16487_ _bind16485_) - (_$E1648916498_ + (_$E1650116510_))))) + (let () (declare (not safe)) (_$E1650116510_))))) + _hd16483_)) + (_exprs16575_ + (map (lambda (_bind16537_) + (let* ((_$e16539_ _bind16537_) + (_$E1654116550_ (lambda () (let () (declare (not safe)) (__raise-syntax-error '#f '"Bad syntax" - _$e16487_))))) + _$e16539_))))) (if (let () (declare (not safe)) - (__AST-pair? _$e16487_)) - (let* ((_$tgt1649016501_ + (__AST-pair? _$e16539_)) + (let* ((_$tgt1654216553_ (let () (declare (not safe)) - (__AST-e _$e16487_))) - (_$hd1649116504_ + (__AST-e _$e16539_))) + (_$hd1654316556_ (let () (declare (not safe)) - (##car _$tgt1649016501_))) - (_$tl1649216507_ + (##car _$tgt1654216553_))) + (_$tl1654416559_ (let () (declare (not safe)) - (##cdr _$tgt1649016501_)))) + (##cdr _$tgt1654216553_)))) (if (let () (declare (not safe)) - (__AST-pair? _$tl1649216507_)) - (let* ((_$tgt1649316511_ + (__AST-pair? _$tl1654416559_)) + (let* ((_$tgt1654516563_ (let () (declare (not safe)) - (__AST-e _$tl1649216507_))) - (_$hd1649416514_ + (__AST-e _$tl1654416559_))) + (_$hd1654616566_ (let () (declare (not safe)) - (##car _$tgt1649316511_))) - (_$tl1649516517_ + (##car _$tgt1654516563_))) + (_$tl1654716569_ (let () (declare (not safe)) - (##cdr _$tgt1649316511_)))) - (let ((_expr16521_ _$hd1649416514_)) - (if (let ((__tmp17714 + (##cdr _$tgt1654516563_)))) + (let ((_expr16573_ _$hd1654616566_)) + (if (let ((__tmp17766 (let () (declare (not safe)) - (__AST-e _$tl1649516517_)))) + (__AST-e _$tl1654716569_)))) (declare (not safe)) - (equal? __tmp17714 '())) + (equal? __tmp17766 '())) (let () (declare (not safe)) - (__compile _expr16521_)) + (__compile _expr16573_)) (let () (declare (not safe)) - (_$E1648916498_))))) + (_$E1654116550_))))) (let () (declare (not safe)) - (_$E1648916498_)))) - (let () (declare (not safe)) (_$E1648916498_))))) - _hd16431_)) - (_body16525_ - (let () (declare (not safe)) (__compile _body16443_)))) + (_$E1654116550_)))) + (let () (declare (not safe)) (_$E1654116550_))))) + _hd16483_)) + (_body16577_ + (let () (declare (not safe)) (__compile _body16495_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (let () (declare (not safe)) - (andmap1 _simple-bind?16380_ + (andmap1 _simple-bind?16432_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _hd-ids16483_)) - (_compile-simple16377_ - (map _car-e16381_ _hd-ids16483_) - _exprs16523_ - _body16525_) - (_compile-values16378_ _hd-ids16483_ _exprs16523_ _body16525_))) + _hd-ids16535_)) + (_compile-simple16429_ + (map _car-e16433_ _hd-ids16535_) + _exprs16575_ + _body16577_) + (_compile-values16430_ _hd-ids16535_ _exprs16575_ _body16577_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let () (declare (not safe)) - (_$E1638616408_))))) + (_$E1643816460_))))) (let () (declare (not safe)) - (_$E1638616408_))))) + (_$E1643816460_))))) (let () (declare (not safe)) - (_$E1638616408_)))) - (let () (declare (not safe)) (_$E1638616408_))))))) - (if (let () (declare (not safe)) (__AST-pair? _$e16383_)) - (let* ((_$tgt1639616531_ - (let () (declare (not safe)) (__AST-e _$e16383_))) - (_$hd1639716534_ - (let () (declare (not safe)) (##car _$tgt1639616531_))) - (_$tl1639816537_ + (_$E1643816460_)))) + (let () (declare (not safe)) (_$E1643816460_))))))) + (if (let () (declare (not safe)) (__AST-pair? _$e16435_)) + (let* ((_$tgt1644816583_ + (let () (declare (not safe)) (__AST-e _$e16435_))) + (_$hd1644916586_ + (let () (declare (not safe)) (##car _$tgt1644816583_))) + (_$tl1645016589_ (let () (declare (not safe)) - (##cdr _$tgt1639616531_)))) + (##cdr _$tgt1644816583_)))) (if (let () (declare (not safe)) - (__AST-pair? _$tl1639816537_)) - (let* ((_$tgt1639916541_ + (__AST-pair? _$tl1645016589_)) + (let* ((_$tgt1645116593_ (let () (declare (not safe)) - (__AST-e _$tl1639816537_))) - (_$hd1640016544_ + (__AST-e _$tl1645016589_))) + (_$hd1645216596_ (let () (declare (not safe)) - (##car _$tgt1639916541_))) - (_$tl1640116547_ + (##car _$tgt1645116593_))) + (_$tl1645316599_ (let () (declare (not safe)) - (##cdr _$tgt1639916541_)))) - (if (let ((__tmp17717 + (##cdr _$tgt1645116593_)))) + (if (let ((__tmp17769 (let () (declare (not safe)) - (__AST-e _$hd1640016544_)))) + (__AST-e _$hd1645216596_)))) (declare (not safe)) - (equal? __tmp17717 '())) + (equal? __tmp17769 '())) (if (let () (declare (not safe)) - (__AST-pair? _$tl1640116547_)) - (let* ((_$tgt1640216551_ + (__AST-pair? _$tl1645316599_)) + (let* ((_$tgt1645416603_ (let () (declare (not safe)) - (__AST-e _$tl1640116547_))) - (_$hd1640316554_ + (__AST-e _$tl1645316599_))) + (_$hd1645516606_ (let () (declare (not safe)) - (##car _$tgt1640216551_))) - (_$tl1640416557_ + (##car _$tgt1645416603_))) + (_$tl1645616609_ (let () (declare (not safe)) - (##cdr _$tgt1640216551_)))) - (let ((_body16561_ _$hd1640316554_)) - (if (let ((__tmp17716 + (##cdr _$tgt1645416603_)))) + (let ((_body16613_ _$hd1645516606_)) + (if (let ((__tmp17768 (let () (declare (not safe)) - (__AST-e _$tl1640416557_)))) + (__AST-e _$tl1645616609_)))) (declare (not safe)) - (equal? __tmp17716 '())) + (equal? __tmp17768 '())) (let () (declare (not safe)) - (__compile _body16561_)) + (__compile _body16613_)) (let () (declare (not safe)) - (_$E1638516528_))))) - (let () (declare (not safe)) (_$E1638516528_))) - (let () (declare (not safe)) (_$E1638516528_)))) - (let () (declare (not safe)) (_$E1638516528_)))) - (let () (declare (not safe)) (_$E1638516528_))))))) + (_$E1643716580_))))) + (let () (declare (not safe)) (_$E1643716580_))) + (let () (declare (not safe)) (_$E1643716580_)))) + (let () (declare (not safe)) (_$E1643716580_)))) + (let () (declare (not safe)) (_$E1643716580_))))))) (define __compile-let-values% - (lambda (_stx16191_) - (letrec ((_compile-simple16193_ - (lambda (_hd-ids16372_ _exprs16373_ _body16374_) - (let ((__tmp17718 - (let ((__tmp17719 - (let ((__tmp17721 + (lambda (_stx16243_) + (letrec ((_compile-simple16245_ + (lambda (_hd-ids16424_ _exprs16425_ _body16426_) + (let ((__tmp17770 + (let ((__tmp17771 + (let ((__tmp17773 (map list (map __compile-head-id - _hd-ids16372_) - _exprs16373_)) - (__tmp17720 + _hd-ids16424_) + _exprs16425_)) + (__tmp17772 (let () (declare (not safe)) - (cons _body16374_ '())))) + (cons _body16426_ '())))) (declare (not safe)) - (cons __tmp17721 __tmp17720)))) + (cons __tmp17773 __tmp17772)))) (declare (not safe)) - (cons 'let __tmp17719)))) + (cons 'let __tmp17771)))) (declare (not safe)) - (__SRC__% __tmp17718 _stx16191_)))) - (_compile-values16194_ - (lambda (_hd-ids16290_ _exprs16291_ _body16292_) - (let _lp16294_ ((_rest16296_ _hd-ids16290_) - (_exprs16297_ _exprs16291_) - (_bind16298_ '()) - (_post16299_ '())) - (let* ((_rest1630016314_ _rest16296_) - (_else1630316322_ + (__SRC__% __tmp17770 _stx16243_)))) + (_compile-values16246_ + (lambda (_hd-ids16342_ _exprs16343_ _body16344_) + (let _lp16346_ ((_rest16348_ _hd-ids16342_) + (_exprs16349_ _exprs16343_) + (_bind16350_ '()) + (_post16351_ '())) + (let* ((_rest1635216366_ _rest16348_) + (_else1635516374_ (lambda () - (let ((__tmp17722 - (let ((__tmp17723 - (let ((__tmp17726 - (reverse _bind16298_)) - (__tmp17724 - (let ((__tmp17725 + (let ((__tmp17774 + (let ((__tmp17775 + (let ((__tmp17778 + (reverse _bind16350_)) + (__tmp17776 + (let ((__tmp17777 (let () (declare (not safe)) - (_compile-post16195_ - _post16299_ - _body16292_)))) + (_compile-post16247_ + _post16351_ + _body16344_)))) (declare (not safe)) - (cons __tmp17725 '())))) + (cons __tmp17777 '())))) (declare (not safe)) - (cons __tmp17726 __tmp17724)))) + (cons __tmp17778 __tmp17776)))) (declare (not safe)) - (cons 'let __tmp17723)))) + (cons 'let __tmp17775)))) (declare (not safe)) - (__SRC__% __tmp17722 _stx16191_))))) - (let ((_K1630816355_ - (lambda (_rest16352_ _id16353_) - (let ((__tmp17732 (cdr _exprs16297_)) - (__tmp17727 - (let ((__tmp17728 - (let ((__tmp17731 + (__SRC__% __tmp17774 _stx16243_))))) + (let ((_K1636016407_ + (lambda (_rest16404_ _id16405_) + (let ((__tmp17784 (cdr _exprs16349_)) + (__tmp17779 + (let ((__tmp17780 + (let ((__tmp17783 (let () (declare (not safe)) (__compile-head-id - _id16353_))) - (__tmp17729 - (let ((__tmp17730 - (car _exprs16297_))) + _id16405_))) + (__tmp17781 + (let ((__tmp17782 + (car _exprs16349_))) (declare (not safe)) - (cons __tmp17730 + (cons __tmp17782 '())))) (declare (not safe)) - (cons __tmp17731 - __tmp17729)))) + (cons __tmp17783 + __tmp17781)))) (declare (not safe)) - (cons __tmp17728 _bind16298_)))) + (cons __tmp17780 _bind16350_)))) (declare (not safe)) - (_lp16294_ - _rest16352_ - __tmp17732 - __tmp17727 - _post16299_)))) - (_K1630516337_ - (lambda (_rest16326_ _hd16327_) + (_lp16346_ + _rest16404_ + __tmp17784 + __tmp17779 + _post16351_)))) + (_K1635716389_ + (lambda (_rest16378_ _hd16379_) (if (let () (declare (not safe)) - (__AST-id? _hd16327_)) - (let ((__tmp17753 (cdr _exprs16297_)) - (__tmp17746 - (let ((__tmp17747 - (let ((__tmp17752 + (__AST-id? _hd16379_)) + (let ((__tmp17805 (cdr _exprs16349_)) + (__tmp17798 + (let ((__tmp17799 + (let ((__tmp17804 (let () (declare (not safe)) (__compile-head-id - _hd16327_))) - (__tmp17748 - (let ((__tmp17749 + _hd16379_))) + (__tmp17800 + (let ((__tmp17801 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17750 - (let ((__tmp17751 (car _exprs16297_))) + (let ((__tmp17802 + (let ((__tmp17803 (car _exprs16349_))) (declare (not safe)) - (cons __tmp17751 '())))) + (cons __tmp17803 '())))) (declare (not safe)) - (cons 'values->list __tmp17750)))) + (cons 'values->list __tmp17802)))) (declare (not safe)) - (cons __tmp17749 '())))) + (cons __tmp17801 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17752 - __tmp17748)))) + (cons __tmp17804 + __tmp17800)))) (declare (not safe)) - (cons __tmp17747 _bind16298_)))) + (cons __tmp17799 _bind16350_)))) (declare (not safe)) - (_lp16294_ - _rest16326_ - __tmp17753 - __tmp17746 - _post16299_)) + (_lp16346_ + _rest16378_ + __tmp17805 + __tmp17798 + _post16351_)) (if (let () (declare (not safe)) - (list? _hd16327_)) - (let* ((_len16329_ (length _hd16327_)) - (_tmp16331_ - (let ((__tmp17733 (gensym))) + (list? _hd16379_)) + (let* ((_len16381_ (length _hd16379_)) + (_tmp16383_ + (let ((__tmp17785 (gensym))) (declare (not safe)) - (__SRC__0 __tmp17733)))) - (let ((__tmp17745 - (cdr _exprs16297_)) - (__tmp17741 - (let ((__tmp17742 - (let ((__tmp17743 - (let ((__tmp17744 + (__SRC__0 __tmp17785)))) + (let ((__tmp17797 + (cdr _exprs16349_)) + (__tmp17793 + (let ((__tmp17794 + (let ((__tmp17795 + (let ((__tmp17796 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (car _exprs16297_))) + (car _exprs16349_))) (declare (not safe)) - (cons __tmp17744 '())))) + (cons __tmp17796 '())))) (declare (not safe)) - (cons _tmp16331_ __tmp17743)))) + (cons _tmp16383_ __tmp17795)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17742 - _bind16298_))) - (__tmp17734 - (let ((__tmp17735 - (let ((__tmp17736 - (let ((__tmp17737 + (cons __tmp17794 + _bind16350_))) + (__tmp17786 + (let ((__tmp17787 + (let ((__tmp17788 + (let ((__tmp17789 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17739 - (lambda (_id16334_ _k16335_) + (let ((__tmp17791 + (lambda (_id16386_ _k16387_) (if (let () (declare (not safe)) - (__AST-e _id16334_)) - (let ((__tmp17740 + (__AST-e _id16386_)) + (let ((__tmp17792 (let () (declare (not safe)) - (__SRC__0 _id16334_)))) + (__SRC__0 _id16386_)))) (declare (not safe)) - (cons __tmp17740 _k16335_)) + (cons __tmp17792 _k16387_)) '#f))) - (__tmp17738 + (__tmp17790 (let () (declare (not safe)) - (iota _len16329_)))) + (iota _len16381_)))) (declare (not safe)) (filter-map2 - __tmp17739 - _hd16327_ - __tmp17738)))) + __tmp17791 + _hd16379_ + __tmp17790)))) (declare (not safe)) - (cons _len16329_ __tmp17737)))) + (cons _len16381_ __tmp17789)))) (declare (not safe)) - (cons _tmp16331_ __tmp17736)))) + (cons _tmp16383_ __tmp17788)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17735 - _post16299_)))) + (cons __tmp17787 + _post16351_)))) (declare (not safe)) - (_lp16294_ - _rest16326_ - __tmp17745 - __tmp17741 - __tmp17734))) + (_lp16346_ + _rest16378_ + __tmp17797 + __tmp17793 + __tmp17786))) (let () (declare (not safe)) (__compile-error__% - _stx16191_ - _hd16327_))))))) + _stx16243_ + _hd16379_))))))) (if (let () (declare (not safe)) - (##pair? _rest1630016314_)) - (let ((_tl1631016360_ + (##pair? _rest1635216366_)) + (let ((_tl1636216412_ (let () (declare (not safe)) - (##cdr _rest1630016314_))) - (_hd1630916358_ + (##cdr _rest1635216366_))) + (_hd1636116410_ (let () (declare (not safe)) - (##car _rest1630016314_)))) + (##car _rest1635216366_)))) (if (let () (declare (not safe)) - (##pair? _hd1630916358_)) - (let ((_tl1631216365_ + (##pair? _hd1636116410_)) + (let ((_tl1636416417_ (let () (declare (not safe)) - (##cdr _hd1630916358_))) - (_hd1631116363_ + (##cdr _hd1636116410_))) + (_hd1636316415_ (let () (declare (not safe)) - (##car _hd1630916358_)))) + (##car _hd1636116410_)))) (if (let () (declare (not safe)) - (##null? _tl1631216365_)) - (let ((_id16368_ _hd1631116363_) - (_rest16370_ _tl1631016360_)) + (##null? _tl1636416417_)) + (let ((_id16420_ _hd1636316415_) + (_rest16422_ _tl1636216412_)) (let () (declare (not safe)) - (_K1630816355_ - _rest16370_ - _id16368_))) - (let ((_hd16345_ _hd1630916358_) - (_rest16347_ _tl1631016360_)) + (_K1636016407_ + _rest16422_ + _id16420_))) + (let ((_hd16397_ _hd1636116410_) + (_rest16399_ _tl1636216412_)) (let () (declare (not safe)) - (_K1630516337_ - _rest16347_ - _hd16345_))))) - (let ((_hd16345_ _hd1630916358_) - (_rest16347_ _tl1631016360_)) + (_K1635716389_ + _rest16399_ + _hd16397_))))) + (let ((_hd16397_ _hd1636116410_) + (_rest16399_ _tl1636216412_)) (let () (declare (not safe)) - (_K1630516337_ - _rest16347_ - _hd16345_))))) + (_K1635716389_ + _rest16399_ + _hd16397_))))) (let () (declare (not safe)) - (_else1630316322_)))))))) - (_compile-post16195_ - (lambda (_post16197_ _body16198_) - (let _lp16200_ ((_rest16202_ _post16197_) - (_check16203_ '()) - (_bind16204_ '())) - (let* ((_rest1620516217_ _rest16202_) - (_else1620716225_ + (_else1635516374_)))))))) + (_compile-post16247_ + (lambda (_post16249_ _body16250_) + (let _lp16252_ ((_rest16254_ _post16249_) + (_check16255_ '()) + (_bind16256_ '())) + (let* ((_rest1625716269_ _rest16254_) + (_else1625916277_ (lambda () - (let ((__tmp17754 - (let ((__tmp17755 - (let ((__tmp17756 - (let ((__tmp17757 - (let ((__tmp17758 + (let ((__tmp17806 + (let ((__tmp17807 + (let ((__tmp17808 + (let ((__tmp17809 + (let ((__tmp17810 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17759 - (let ((__tmp17760 + (let ((__tmp17811 + (let ((__tmp17812 (let () (declare (not safe)) - (cons _body16198_ '())))) + (cons _body16250_ '())))) (declare (not safe)) - (cons _bind16204_ __tmp17760)))) + (cons _bind16256_ __tmp17812)))) (declare (not safe)) - (cons 'let __tmp17759)))) + (cons 'let __tmp17811)))) (declare (not safe)) - (__SRC__% __tmp17758 _stx16191_)))) + (__SRC__% __tmp17810 _stx16243_)))) (declare (not safe)) - (cons __tmp17757 '())))) + (cons __tmp17809 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (foldr1 cons - __tmp17756 - _check16203_)))) + __tmp17808 + _check16255_)))) (declare (not safe)) - (cons 'begin __tmp17755)))) + (cons 'begin __tmp17807)))) (declare (not safe)) - (__SRC__% __tmp17754 _stx16191_)))) - (_K1620916264_ - (lambda (_rest16228_ - _init16229_ - _len16230_ - _tmp16231_) - (let ((__tmp17768 - (let ((__tmp17769 - (let ((__tmp17770 - (let ((__tmp17771 - (let ((__tmp17772 + (__SRC__% __tmp17806 _stx16243_)))) + (_K1626116316_ + (lambda (_rest16280_ + _init16281_ + _len16282_ + _tmp16283_) + (let ((__tmp17820 + (let ((__tmp17821 + (let ((__tmp17822 + (let ((__tmp17823 + (let ((__tmp17824 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (cons _len16230_ '())))) + (cons _len16282_ '())))) (declare (not safe)) - (cons _tmp16231_ __tmp17772)))) + (cons _tmp16283_ __tmp17824)))) (declare (not safe)) - (cons '__check-values __tmp17771)))) + (cons '__check-values __tmp17823)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (__SRC__% - __tmp17770 - _stx16191_)))) + __tmp17822 + _stx16243_)))) (declare (not safe)) - (cons __tmp17769 _check16203_))) - (__tmp17761 - (let ((__tmp17762 - (lambda (_hd16233_ _r16234_) - (let* ((_hd1623516242_ - _hd16233_) - (_E1623716246_ + (cons __tmp17821 _check16255_))) + (__tmp17813 + (let ((__tmp17814 + (lambda (_hd16285_ _r16286_) + (let* ((_hd1628716294_ + _hd16285_) + (_E1628916298_ (lambda () (error '"No clause matching" ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _hd1623516242_))) - (_K1623816252_ - (lambda (_k16249_ _id16250_) - (let ((__tmp17763 - (let ((__tmp17764 - (let ((__tmp17765 - (let ((__tmp17766 - (let ((__tmp17767 + _hd1628716294_))) + (_K1629016304_ + (lambda (_k16301_ _id16302_) + (let ((__tmp17815 + (let ((__tmp17816 + (let ((__tmp17817 + (let ((__tmp17818 + (let ((__tmp17819 (let () (declare (not safe)) - (cons _k16249_ '())))) + (cons _k16301_ '())))) (declare (not safe)) - (cons _tmp16231_ __tmp17767)))) + (cons _tmp16283_ __tmp17819)))) (declare (not safe)) - (cons '##vector-ref __tmp17766)))) + (cons '##vector-ref __tmp17818)))) (declare (not safe)) - (cons __tmp17765 '())))) + (cons __tmp17817 '())))) (declare (not safe)) - (cons _id16250_ __tmp17764)))) + (cons _id16302_ __tmp17816)))) (declare (not safe)) - (cons __tmp17763 _r16234_))))) + (cons __tmp17815 _r16286_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (let () (declare (not safe)) - (##pair? _hd1623516242_)) - (let ((_hd1623916255_ + (##pair? _hd1628716294_)) + (let ((_hd1629116307_ (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##car _hd1623516242_))) - (_tl1624016257_ - (let () (declare (not safe)) (##cdr _hd1623516242_)))) - (let* ((_id16260_ _hd1623916255_) (_k16262_ _tl1624016257_)) + (##car _hd1628716294_))) + (_tl1629216309_ + (let () (declare (not safe)) (##cdr _hd1628716294_)))) + (let* ((_id16312_ _hd1629116307_) (_k16314_ _tl1629216309_)) (declare (not safe)) - (_K1623816252_ _k16262_ _id16260_))) - (let () (declare (not safe)) (_E1623716246_))))))) + (_K1629016304_ _k16314_ _id16312_))) + (let () (declare (not safe)) (_E1628916298_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (foldr1 __tmp17762 - _bind16204_ - _init16229_)))) + (foldr1 __tmp17814 + _bind16256_ + _init16281_)))) (declare (not safe)) - (_lp16200_ - _rest16228_ - __tmp17768 - __tmp17761))))) + (_lp16252_ + _rest16280_ + __tmp17820 + __tmp17813))))) (if (let () (declare (not safe)) - (##pair? _rest1620516217_)) - (let ((_hd1621016267_ + (##pair? _rest1625716269_)) + (let ((_hd1626216319_ (let () (declare (not safe)) - (##car _rest1620516217_))) - (_tl1621116269_ + (##car _rest1625716269_))) + (_tl1626316321_ (let () (declare (not safe)) - (##cdr _rest1620516217_)))) + (##cdr _rest1625716269_)))) (if (let () (declare (not safe)) - (##pair? _hd1621016267_)) - (let ((_hd1621216272_ + (##pair? _hd1626216319_)) + (let ((_hd1626416324_ (let () (declare (not safe)) - (##car _hd1621016267_))) - (_tl1621316274_ + (##car _hd1626216319_))) + (_tl1626516326_ (let () (declare (not safe)) - (##cdr _hd1621016267_)))) - (let ((_tmp16277_ _hd1621216272_)) + (##cdr _hd1626216319_)))) + (let ((_tmp16329_ _hd1626416324_)) (if (let () (declare (not safe)) - (##pair? _tl1621316274_)) - (let ((_hd1621416279_ + (##pair? _tl1626516326_)) + (let ((_hd1626616331_ (let () (declare (not safe)) - (##car _tl1621316274_))) - (_tl1621516281_ + (##car _tl1626516326_))) + (_tl1626716333_ (let () (declare (not safe)) - (##cdr _tl1621316274_)))) - (let* ((_len16284_ _hd1621416279_) - (_init16286_ _tl1621516281_) - (_rest16288_ - _tl1621116269_)) + (##cdr _tl1626516326_)))) + (let* ((_len16336_ _hd1626616331_) + (_init16338_ _tl1626716333_) + (_rest16340_ + _tl1626316321_)) (declare (not safe)) - (_K1620916264_ - _rest16288_ - _init16286_ - _len16284_ - _tmp16277_))) + (_K1626116316_ + _rest16340_ + _init16338_ + _len16336_ + _tmp16329_))) (let () (declare (not safe)) - (_else1620716225_))))) + (_else1625916277_))))) (let () (declare (not safe)) - (_else1620716225_)))) + (_else1625916277_)))) (let () (declare (not safe)) - (_else1620716225_)))))))) + (_else1625916277_)))))))) (let () (declare (not safe)) (__compile-let-form - _stx16191_ - _compile-simple16193_ - _compile-values16194_))))) + _stx16243_ + _compile-simple16245_ + _compile-values16246_))))) (define __compile-letrec-values% - (lambda (_stx15991_) - (letrec ((_compile-simple15993_ - (lambda (_hd-ids16187_ _exprs16188_ _body16189_) - (let ((__tmp17773 - (let ((__tmp17774 - (let ((__tmp17776 + (lambda (_stx16043_) + (letrec ((_compile-simple16045_ + (lambda (_hd-ids16239_ _exprs16240_ _body16241_) + (let ((__tmp17825 + (let ((__tmp17826 + (let ((__tmp17828 (map list (map __compile-head-id - _hd-ids16187_) - _exprs16188_)) - (__tmp17775 + _hd-ids16239_) + _exprs16240_)) + (__tmp17827 (let () (declare (not safe)) - (cons _body16189_ '())))) + (cons _body16241_ '())))) (declare (not safe)) - (cons __tmp17776 __tmp17775)))) + (cons __tmp17828 __tmp17827)))) (declare (not safe)) - (cons 'letrec __tmp17774)))) + (cons 'letrec __tmp17826)))) (declare (not safe)) - (__SRC__% __tmp17773 _stx15991_)))) - (_compile-values15994_ - (lambda (_hd-ids16101_ _exprs16102_ _body16103_) - (let _lp16105_ ((_rest16107_ _hd-ids16101_) - (_exprs16108_ _exprs16102_) - (_pre16109_ '()) - (_bind16110_ '()) - (_post16111_ '())) - (let* ((_rest1611216126_ _rest16107_) - (_else1611516134_ + (__SRC__% __tmp17825 _stx16043_)))) + (_compile-values16046_ + (lambda (_hd-ids16153_ _exprs16154_ _body16155_) + (let _lp16157_ ((_rest16159_ _hd-ids16153_) + (_exprs16160_ _exprs16154_) + (_pre16161_ '()) + (_bind16162_ '()) + (_post16163_ '())) + (let* ((_rest1616416178_ _rest16159_) + (_else1616716186_ (lambda () (let () (declare (not safe)) - (_compile-inner15995_ - _pre16109_ - _bind16110_ - _post16111_ - _body16103_))))) - (let ((_K1612016170_ - (lambda (_rest16167_ _id16168_) - (let ((__tmp17782 (cdr _exprs16108_)) - (__tmp17777 - (let ((__tmp17778 - (let ((__tmp17781 + (_compile-inner16047_ + _pre16161_ + _bind16162_ + _post16163_ + _body16155_))))) + (let ((_K1617216222_ + (lambda (_rest16219_ _id16220_) + (let ((__tmp17834 (cdr _exprs16160_)) + (__tmp17829 + (let ((__tmp17830 + (let ((__tmp17833 (let () (declare (not safe)) (__compile-head-id - _id16168_))) - (__tmp17779 - (let ((__tmp17780 - (car _exprs16108_))) + _id16220_))) + (__tmp17831 + (let ((__tmp17832 + (car _exprs16160_))) (declare (not safe)) - (cons __tmp17780 + (cons __tmp17832 '())))) (declare (not safe)) - (cons __tmp17781 - __tmp17779)))) + (cons __tmp17833 + __tmp17831)))) (declare (not safe)) - (cons __tmp17778 _bind16110_)))) + (cons __tmp17830 _bind16162_)))) (declare (not safe)) - (_lp16105_ - _rest16167_ - __tmp17782 - _pre16109_ - __tmp17777 - _post16111_)))) - (_K1611716152_ - (lambda (_rest16138_ _hd16139_) + (_lp16157_ + _rest16219_ + __tmp17834 + _pre16161_ + __tmp17829 + _post16163_)))) + (_K1616916204_ + (lambda (_rest16190_ _hd16191_) (if (let () (declare (not safe)) - (__AST-id? _hd16139_)) - (let ((__tmp17810 (cdr _exprs16108_)) - (__tmp17803 - (let ((__tmp17804 - (let ((__tmp17809 + (__AST-id? _hd16191_)) + (let ((__tmp17862 (cdr _exprs16160_)) + (__tmp17855 + (let ((__tmp17856 + (let ((__tmp17861 (let () (declare (not safe)) (__compile-head-id - _hd16139_))) - (__tmp17805 - (let ((__tmp17806 + _hd16191_))) + (__tmp17857 + (let ((__tmp17858 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17807 - (let ((__tmp17808 (car _exprs16108_))) + (let ((__tmp17859 + (let ((__tmp17860 (car _exprs16160_))) (declare (not safe)) - (cons __tmp17808 '())))) + (cons __tmp17860 '())))) (declare (not safe)) - (cons 'values->list __tmp17807)))) + (cons 'values->list __tmp17859)))) (declare (not safe)) - (cons __tmp17806 '())))) + (cons __tmp17858 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17809 - __tmp17805)))) + (cons __tmp17861 + __tmp17857)))) (declare (not safe)) - (cons __tmp17804 _bind16110_)))) + (cons __tmp17856 _bind16162_)))) (declare (not safe)) - (_lp16105_ - _rest16138_ - __tmp17810 - _pre16109_ - __tmp17803 - _post16111_)) + (_lp16157_ + _rest16190_ + __tmp17862 + _pre16161_ + __tmp17855 + _post16163_)) (if (let () (declare (not safe)) - (list? _hd16139_)) - (let* ((_len16141_ (length _hd16139_)) - (_tmp16143_ - (let ((__tmp17783 (gensym))) + (list? _hd16191_)) + (let* ((_len16193_ (length _hd16191_)) + (_tmp16195_ + (let ((__tmp17835 (gensym))) (declare (not safe)) - (__SRC__0 __tmp17783)))) - (let ((__tmp17802 - (cdr _exprs16108_)) - (__tmp17795 - (let ((__tmp17796 - (lambda (_id16146_ + (__SRC__0 __tmp17835)))) + (let ((__tmp17854 + (cdr _exprs16160_)) + (__tmp17847 + (let ((__tmp17848 + (lambda (_id16198_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _r16147_) - (if (let () (declare (not safe)) (__AST-e _id16146_)) - (let ((__tmp17797 - (let ((__tmp17801 + _r16199_) + (if (let () (declare (not safe)) (__AST-e _id16198_)) + (let ((__tmp17849 + (let ((__tmp17853 (let () (declare (not safe)) - (__SRC__0 _id16146_))) - (__tmp17798 - (let ((__tmp17799 - (let ((__tmp17800 + (__SRC__0 _id16198_))) + (__tmp17850 + (let ((__tmp17851 + (let ((__tmp17852 (let () (declare (not safe)) (cons '#!void '())))) (declare (not safe)) - (cons 'quote __tmp17800)))) + (cons 'quote __tmp17852)))) (declare (not safe)) - (cons __tmp17799 '())))) + (cons __tmp17851 '())))) (declare (not safe)) - (cons __tmp17801 __tmp17798)))) + (cons __tmp17853 __tmp17850)))) (declare (not safe)) - (cons __tmp17797 _r16147_)) - _r16147_)))) + (cons __tmp17849 _r16199_)) + _r16199_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (foldl1 __tmp17796 - _pre16109_ - _hd16139_))) - (__tmp17791 - (let ((__tmp17792 - (let ((__tmp17793 - (let ((__tmp17794 + (foldl1 __tmp17848 + _pre16161_ + _hd16191_))) + (__tmp17843 + (let ((__tmp17844 + (let ((__tmp17845 + (let ((__tmp17846 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (car _exprs16108_))) + (car _exprs16160_))) (declare (not safe)) - (cons __tmp17794 '())))) + (cons __tmp17846 '())))) (declare (not safe)) - (cons _tmp16143_ __tmp17793)))) + (cons _tmp16195_ __tmp17845)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17792 - _bind16110_))) - (__tmp17784 - (let ((__tmp17785 - (let ((__tmp17786 - (let ((__tmp17787 + (cons __tmp17844 + _bind16162_))) + (__tmp17836 + (let ((__tmp17837 + (let ((__tmp17838 + (let ((__tmp17839 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17789 - (lambda (_id16149_ _k16150_) + (let ((__tmp17841 + (lambda (_id16201_ _k16202_) (if (let () (declare (not safe)) - (__AST-e _id16149_)) - (let ((__tmp17790 + (__AST-e _id16201_)) + (let ((__tmp17842 (let () (declare (not safe)) - (__SRC__0 _id16149_)))) + (__SRC__0 _id16201_)))) (declare (not safe)) - (cons __tmp17790 _k16150_)) + (cons __tmp17842 _k16202_)) '#f))) - (__tmp17788 + (__tmp17840 (let () (declare (not safe)) - (iota _len16141_)))) + (iota _len16193_)))) (declare (not safe)) (filter-map2 - __tmp17789 - _hd16139_ - __tmp17788)))) + __tmp17841 + _hd16191_ + __tmp17840)))) (declare (not safe)) - (cons _len16141_ __tmp17787)))) + (cons _len16193_ __tmp17839)))) (declare (not safe)) - (cons _tmp16143_ __tmp17786)))) + (cons _tmp16195_ __tmp17838)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17785 - _post16111_)))) + (cons __tmp17837 + _post16163_)))) (declare (not safe)) - (_lp16105_ - _rest16138_ - __tmp17802 - __tmp17795 - __tmp17791 - __tmp17784))) + (_lp16157_ + _rest16190_ + __tmp17854 + __tmp17847 + __tmp17843 + __tmp17836))) (let () (declare (not safe)) (__compile-error__% - _stx15991_ - _hd16139_))))))) + _stx16043_ + _hd16191_))))))) (if (let () (declare (not safe)) - (##pair? _rest1611216126_)) - (let ((_tl1612216175_ + (##pair? _rest1616416178_)) + (let ((_tl1617416227_ (let () (declare (not safe)) - (##cdr _rest1611216126_))) - (_hd1612116173_ + (##cdr _rest1616416178_))) + (_hd1617316225_ (let () (declare (not safe)) - (##car _rest1611216126_)))) + (##car _rest1616416178_)))) (if (let () (declare (not safe)) - (##pair? _hd1612116173_)) - (let ((_tl1612416180_ + (##pair? _hd1617316225_)) + (let ((_tl1617616232_ (let () (declare (not safe)) - (##cdr _hd1612116173_))) - (_hd1612316178_ + (##cdr _hd1617316225_))) + (_hd1617516230_ (let () (declare (not safe)) - (##car _hd1612116173_)))) + (##car _hd1617316225_)))) (if (let () (declare (not safe)) - (##null? _tl1612416180_)) - (let ((_id16183_ _hd1612316178_) - (_rest16185_ _tl1612216175_)) + (##null? _tl1617616232_)) + (let ((_id16235_ _hd1617516230_) + (_rest16237_ _tl1617416227_)) (let () (declare (not safe)) - (_K1612016170_ - _rest16185_ - _id16183_))) - (let ((_hd16160_ _hd1612116173_) - (_rest16162_ _tl1612216175_)) + (_K1617216222_ + _rest16237_ + _id16235_))) + (let ((_hd16212_ _hd1617316225_) + (_rest16214_ _tl1617416227_)) (let () (declare (not safe)) - (_K1611716152_ - _rest16162_ - _hd16160_))))) - (let ((_hd16160_ _hd1612116173_) - (_rest16162_ _tl1612216175_)) + (_K1616916204_ + _rest16214_ + _hd16212_))))) + (let ((_hd16212_ _hd1617316225_) + (_rest16214_ _tl1617416227_)) (let () (declare (not safe)) - (_K1611716152_ - _rest16162_ - _hd16160_))))) + (_K1616916204_ + _rest16214_ + _hd16212_))))) (let () (declare (not safe)) - (_else1611516134_)))))))) - (_compile-inner15995_ - (lambda (_pre16096_ _bind16097_ _post16098_ _body16099_) - (if (let () (declare (not safe)) (null? _pre16096_)) + (_else1616716186_)))))))) + (_compile-inner16047_ + (lambda (_pre16148_ _bind16149_ _post16150_ _body16151_) + (if (let () (declare (not safe)) (null? _pre16148_)) (let () (declare (not safe)) - (_compile-bind15996_ - _bind16097_ - _post16098_ - _body16099_)) - (let ((__tmp17811 - (let ((__tmp17812 - (let ((__tmp17815 (reverse _pre16096_)) - (__tmp17813 - (let ((__tmp17814 + (_compile-bind16048_ + _bind16149_ + _post16150_ + _body16151_)) + (let ((__tmp17863 + (let ((__tmp17864 + (let ((__tmp17867 (reverse _pre16148_)) + (__tmp17865 + (let ((__tmp17866 (let () (declare (not safe)) - (_compile-bind15996_ - _bind16097_ - _post16098_ - _body16099_)))) + (_compile-bind16048_ + _bind16149_ + _post16150_ + _body16151_)))) (declare (not safe)) - (cons __tmp17814 '())))) + (cons __tmp17866 '())))) (declare (not safe)) - (cons __tmp17815 __tmp17813)))) + (cons __tmp17867 __tmp17865)))) (declare (not safe)) - (cons 'let __tmp17812)))) + (cons 'let __tmp17864)))) (declare (not safe)) - (__SRC__% __tmp17811 _stx15991_))))) - (_compile-bind15996_ - (lambda (_bind16092_ _post16093_ _body16094_) - (let ((__tmp17816 - (let ((__tmp17817 - (let ((__tmp17820 (reverse _bind16092_)) - (__tmp17818 - (let ((__tmp17819 + (__SRC__% __tmp17863 _stx16043_))))) + (_compile-bind16048_ + (lambda (_bind16144_ _post16145_ _body16146_) + (let ((__tmp17868 + (let ((__tmp17869 + (let ((__tmp17872 (reverse _bind16144_)) + (__tmp17870 + (let ((__tmp17871 (let () (declare (not safe)) - (_compile-post15997_ - _post16093_ - _body16094_)))) + (_compile-post16049_ + _post16145_ + _body16146_)))) (declare (not safe)) - (cons __tmp17819 '())))) + (cons __tmp17871 '())))) (declare (not safe)) - (cons __tmp17820 __tmp17818)))) + (cons __tmp17872 __tmp17870)))) (declare (not safe)) - (cons 'letrec __tmp17817)))) + (cons 'letrec __tmp17869)))) (declare (not safe)) - (__SRC__% __tmp17816 _stx15991_)))) - (_compile-post15997_ - (lambda (_post15999_ _body16000_) - (let _lp16002_ ((_rest16004_ _post15999_) - (_check16005_ '()) - (_bind16006_ '())) - (let* ((_rest1600716019_ _rest16004_) - (_else1600916027_ + (__SRC__% __tmp17868 _stx16043_)))) + (_compile-post16049_ + (lambda (_post16051_ _body16052_) + (let _lp16054_ ((_rest16056_ _post16051_) + (_check16057_ '()) + (_bind16058_ '())) + (let* ((_rest1605916071_ _rest16056_) + (_else1606116079_ (lambda () - (let ((__tmp17821 - (let ((__tmp17822 - (let ((__tmp17823 - (let ((__tmp17824 + (let ((__tmp17873 + (let ((__tmp17874 + (let ((__tmp17875 + (let ((__tmp17876 (let () (declare (not safe)) - (cons _body16000_ + (cons _body16052_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '())))) (declare (not safe)) - (foldr1 cons __tmp17824 _bind16006_)))) + (foldr1 cons __tmp17876 _bind16058_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (foldr1 cons - __tmp17823 - _check16005_)))) + __tmp17875 + _check16057_)))) (declare (not safe)) - (cons 'begin __tmp17822)))) + (cons 'begin __tmp17874)))) (declare (not safe)) - (__SRC__% __tmp17821 _stx15991_)))) - (_K1601116066_ - (lambda (_rest16030_ - _init16031_ - _len16032_ - _tmp16033_) - (let ((__tmp17833 - (let ((__tmp17834 - (let ((__tmp17835 - (let ((__tmp17836 - (let ((__tmp17837 + (__SRC__% __tmp17873 _stx16043_)))) + (_K1606316118_ + (lambda (_rest16082_ + _init16083_ + _len16084_ + _tmp16085_) + (let ((__tmp17885 + (let ((__tmp17886 + (let ((__tmp17887 + (let ((__tmp17888 + (let ((__tmp17889 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (cons _len16032_ '())))) + (cons _len16084_ '())))) (declare (not safe)) - (cons _tmp16033_ __tmp17837)))) + (cons _tmp16085_ __tmp17889)))) (declare (not safe)) - (cons '__check-values __tmp17836)))) + (cons '__check-values __tmp17888)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (__SRC__% - __tmp17835 - _stx15991_)))) + __tmp17887 + _stx16043_)))) (declare (not safe)) - (cons __tmp17834 _check16005_))) - (__tmp17825 - (let ((__tmp17826 - (lambda (_hd16035_ _r16036_) - (let* ((_hd1603716044_ - _hd16035_) - (_E1603916048_ + (cons __tmp17886 _check16057_))) + (__tmp17877 + (let ((__tmp17878 + (lambda (_hd16087_ _r16088_) + (let* ((_hd1608916096_ + _hd16087_) + (_E1609116100_ (lambda () (error '"No clause matching" ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _hd1603716044_))) - (_K1604016054_ - (lambda (_k16051_ _id16052_) - (let ((__tmp17827 - (let ((__tmp17828 - (let ((__tmp17829 - (let ((__tmp17830 - (let ((__tmp17831 - (let ((__tmp17832 + _hd1608916096_))) + (_K1609216106_ + (lambda (_k16103_ _id16104_) + (let ((__tmp17879 + (let ((__tmp17880 + (let ((__tmp17881 + (let ((__tmp17882 + (let ((__tmp17883 + (let ((__tmp17884 (let () (declare (not safe)) - (cons _k16051_ + (cons _k16103_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '())))) (declare (not safe)) - (cons _tmp16033_ __tmp17832)))) + (cons _tmp16085_ __tmp17884)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) (cons '##vector-ref - __tmp17831)))) + __tmp17883)))) (declare (not safe)) - (cons __tmp17830 '())))) + (cons __tmp17882 '())))) (declare (not safe)) - (cons _id16052_ __tmp17829)))) + (cons _id16104_ __tmp17881)))) (declare (not safe)) - (cons 'set! __tmp17828)))) + (cons 'set! __tmp17880)))) (declare (not safe)) - (cons __tmp17827 _r16036_))))) + (cons __tmp17879 _r16088_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (let () (declare (not safe)) - (##pair? _hd1603716044_)) - (let ((_hd1604116057_ + (##pair? _hd1608916096_)) + (let ((_hd1609316109_ (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##car _hd1603716044_))) - (_tl1604216059_ - (let () (declare (not safe)) (##cdr _hd1603716044_)))) - (let* ((_id16062_ _hd1604116057_) (_k16064_ _tl1604216059_)) + (##car _hd1608916096_))) + (_tl1609416111_ + (let () (declare (not safe)) (##cdr _hd1608916096_)))) + (let* ((_id16114_ _hd1609316109_) (_k16116_ _tl1609416111_)) (declare (not safe)) - (_K1604016054_ _k16064_ _id16062_))) - (let () (declare (not safe)) (_E1603916048_))))))) + (_K1609216106_ _k16116_ _id16114_))) + (let () (declare (not safe)) (_E1609116100_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (foldr1 __tmp17826 - _bind16006_ - _init16031_)))) + (foldr1 __tmp17878 + _bind16058_ + _init16083_)))) (declare (not safe)) - (_lp16002_ - _rest16030_ - __tmp17833 - __tmp17825))))) + (_lp16054_ + _rest16082_ + __tmp17885 + __tmp17877))))) (if (let () (declare (not safe)) - (##pair? _rest1600716019_)) - (let ((_hd1601216069_ + (##pair? _rest1605916071_)) + (let ((_hd1606416121_ (let () (declare (not safe)) - (##car _rest1600716019_))) - (_tl1601316071_ + (##car _rest1605916071_))) + (_tl1606516123_ (let () (declare (not safe)) - (##cdr _rest1600716019_)))) + (##cdr _rest1605916071_)))) (if (let () (declare (not safe)) - (##pair? _hd1601216069_)) - (let ((_hd1601416074_ + (##pair? _hd1606416121_)) + (let ((_hd1606616126_ (let () (declare (not safe)) - (##car _hd1601216069_))) - (_tl1601516076_ + (##car _hd1606416121_))) + (_tl1606716128_ (let () (declare (not safe)) - (##cdr _hd1601216069_)))) - (let ((_tmp16079_ _hd1601416074_)) + (##cdr _hd1606416121_)))) + (let ((_tmp16131_ _hd1606616126_)) (if (let () (declare (not safe)) - (##pair? _tl1601516076_)) - (let ((_hd1601616081_ + (##pair? _tl1606716128_)) + (let ((_hd1606816133_ (let () (declare (not safe)) - (##car _tl1601516076_))) - (_tl1601716083_ + (##car _tl1606716128_))) + (_tl1606916135_ (let () (declare (not safe)) - (##cdr _tl1601516076_)))) - (let* ((_len16086_ _hd1601616081_) - (_init16088_ _tl1601716083_) - (_rest16090_ - _tl1601316071_)) + (##cdr _tl1606716128_)))) + (let* ((_len16138_ _hd1606816133_) + (_init16140_ _tl1606916135_) + (_rest16142_ + _tl1606516123_)) (declare (not safe)) - (_K1601116066_ - _rest16090_ - _init16088_ - _len16086_ - _tmp16079_))) + (_K1606316118_ + _rest16142_ + _init16140_ + _len16138_ + _tmp16131_))) (let () (declare (not safe)) - (_else1600916027_))))) + (_else1606116079_))))) (let () (declare (not safe)) - (_else1600916027_)))) + (_else1606116079_)))) (let () (declare (not safe)) - (_else1600916027_)))))))) + (_else1606116079_)))))))) (let () (declare (not safe)) (__compile-let-form - _stx15991_ - _compile-simple15993_ - _compile-values15994_))))) + _stx16043_ + _compile-simple16045_ + _compile-values16046_))))) (define __compile-letrec*-values% - (lambda (_stx15746_) - (letrec ((_compile-simple15748_ - (lambda (_hd-ids15987_ _exprs15988_ _body15989_) - (let ((__tmp17838 - (let ((__tmp17839 - (let ((__tmp17841 + (lambda (_stx15798_) + (letrec ((_compile-simple15800_ + (lambda (_hd-ids16039_ _exprs16040_ _body16041_) + (let ((__tmp17890 + (let ((__tmp17891 + (let ((__tmp17893 (map list (map __compile-head-id - _hd-ids15987_) - _exprs15988_)) - (__tmp17840 + _hd-ids16039_) + _exprs16040_)) + (__tmp17892 (let () (declare (not safe)) - (cons _body15989_ '())))) + (cons _body16041_ '())))) (declare (not safe)) - (cons __tmp17841 __tmp17840)))) + (cons __tmp17893 __tmp17892)))) (declare (not safe)) - (cons 'letrec* __tmp17839)))) + (cons 'letrec* __tmp17891)))) (declare (not safe)) - (__SRC__% __tmp17838 _stx15746_)))) - (_compile-values15749_ - (lambda (_hd-ids15898_ _exprs15899_ _body15900_) - (let _lp15902_ ((_rest15904_ _hd-ids15898_) - (_exprs15905_ _exprs15899_) - (_bind15906_ '()) - (_post15907_ '())) - (let* ((_rest1590815922_ _rest15904_) - (_else1591115930_ + (__SRC__% __tmp17890 _stx15798_)))) + (_compile-values15801_ + (lambda (_hd-ids15950_ _exprs15951_ _body15952_) + (let _lp15954_ ((_rest15956_ _hd-ids15950_) + (_exprs15957_ _exprs15951_) + (_bind15958_ '()) + (_post15959_ '())) + (let* ((_rest1596015974_ _rest15956_) + (_else1596315982_ (lambda () (let () (declare (not safe)) - (_compile-bind15750_ - _bind15906_ - _post15907_ - _body15900_))))) - (let ((_K1591615970_ - (lambda (_rest15965_ _hd15966_) + (_compile-bind15802_ + _bind15958_ + _post15959_ + _body15952_))))) + (let ((_K1596816022_ + (lambda (_rest16017_ _hd16018_) (if (let () (declare (not safe)) - (__AST-id? _hd15966_)) - (let ((_id15968_ + (__AST-id? _hd16018_)) + (let ((_id16020_ (let () (declare (not safe)) - (__SRC__0 _hd15966_)))) - (let ((__tmp17856 (cdr _exprs15905_)) - (__tmp17851 - (let ((__tmp17852 - (let ((__tmp17853 - (let ((__tmp17854 + (__SRC__0 _hd16018_)))) + (let ((__tmp17908 (cdr _exprs15957_)) + (__tmp17903 + (let ((__tmp17904 + (let ((__tmp17905 + (let ((__tmp17906 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17855 + (let ((__tmp17907 (let () (declare (not safe)) (cons '#!void '())))) (declare (not safe)) - (cons 'quote __tmp17855)))) + (cons 'quote __tmp17907)))) (declare (not safe)) - (cons __tmp17854 '())))) + (cons __tmp17906 '())))) (declare (not safe)) - (cons _id15968_ __tmp17853)))) + (cons _id16020_ __tmp17905)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17852 _bind15906_))) - (__tmp17847 - (let ((__tmp17848 - (let ((__tmp17849 - (let ((__tmp17850 + (cons __tmp17904 _bind15958_))) + (__tmp17899 + (let ((__tmp17900 + (let ((__tmp17901 + (let ((__tmp17902 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (car _exprs15905_))) + (car _exprs15957_))) (declare (not safe)) - (cons __tmp17850 '())))) + (cons __tmp17902 '())))) (declare (not safe)) - (cons _id15968_ __tmp17849)))) + (cons _id16020_ __tmp17901)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17848 - _post15907_)))) + (cons __tmp17900 + _post15959_)))) (declare (not safe)) - (_lp15902_ - _rest15965_ - __tmp17856 - __tmp17851 - __tmp17847))) - (let ((__tmp17846 (cdr _exprs15905_)) - (__tmp17842 - (let ((__tmp17843 - (let ((__tmp17844 - (let ((__tmp17845 + (_lp15954_ + _rest16017_ + __tmp17908 + __tmp17903 + __tmp17899))) + (let ((__tmp17898 (cdr _exprs15957_)) + (__tmp17894 + (let ((__tmp17895 + (let ((__tmp17896 + (let ((__tmp17897 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (car _exprs15905_))) + (car _exprs15957_))) (declare (not safe)) - (cons __tmp17845 '())))) + (cons __tmp17897 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons '#f __tmp17844)))) + (cons '#f __tmp17896)))) (declare (not safe)) - (cons __tmp17843 _post15907_)))) + (cons __tmp17895 _post15959_)))) (declare (not safe)) - (_lp15902_ - _rest15965_ - __tmp17846 - _bind15906_ - __tmp17842))))) - (_K1591315950_ - (lambda (_rest15934_ _hd15935_) + (_lp15954_ + _rest16017_ + __tmp17898 + _bind15958_ + __tmp17894))))) + (_K1596516002_ + (lambda (_rest15986_ _hd15987_) (if (let () (declare (not safe)) - (__AST-id? _hd15935_)) - (let ((_id15937_ + (__AST-id? _hd15987_)) + (let ((_id15989_ (let () (declare (not safe)) - (__SRC__0 _hd15935_)))) - (let ((__tmp17892 (cdr _exprs15905_)) - (__tmp17887 - (let ((__tmp17888 - (let ((__tmp17889 - (let ((__tmp17890 + (__SRC__0 _hd15987_)))) + (let ((__tmp17944 (cdr _exprs15957_)) + (__tmp17939 + (let ((__tmp17940 + (let ((__tmp17941 + (let ((__tmp17942 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17891 + (let ((__tmp17943 (let () (declare (not safe)) (cons '#!void '())))) (declare (not safe)) - (cons 'quote __tmp17891)))) + (cons 'quote __tmp17943)))) (declare (not safe)) - (cons __tmp17890 '())))) + (cons __tmp17942 '())))) (declare (not safe)) - (cons _id15937_ __tmp17889)))) + (cons _id15989_ __tmp17941)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17888 _bind15906_))) - (__tmp17881 - (let ((__tmp17882 - (let ((__tmp17883 - (let ((__tmp17884 + (cons __tmp17940 _bind15958_))) + (__tmp17933 + (let ((__tmp17934 + (let ((__tmp17935 + (let ((__tmp17936 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17885 - (let ((__tmp17886 (car _exprs15905_))) + (let ((__tmp17937 + (let ((__tmp17938 (car _exprs15957_))) (declare (not safe)) - (cons __tmp17886 '())))) + (cons __tmp17938 '())))) (declare (not safe)) - (cons 'values->list __tmp17885)))) + (cons 'values->list __tmp17937)))) (declare (not safe)) - (cons __tmp17884 '())))) + (cons __tmp17936 '())))) (declare (not safe)) - (cons _id15937_ __tmp17883)))) + (cons _id15989_ __tmp17935)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17882 - _post15907_)))) + (cons __tmp17934 + _post15959_)))) (declare (not safe)) - (_lp15902_ - _rest15934_ - __tmp17892 - __tmp17887 - __tmp17881))) - (if (let ((__tmp17880 + (_lp15954_ + _rest15986_ + __tmp17944 + __tmp17939 + __tmp17933))) + (if (let ((__tmp17932 (let () (declare (not safe)) - (__AST-e _hd15935_)))) + (__AST-e _hd15987_)))) (declare (not safe)) - (not __tmp17880)) - (let ((__tmp17879 (cdr _exprs15905_)) - (__tmp17875 - (let ((__tmp17876 - (let ((__tmp17877 - (let ((__tmp17878 + (not __tmp17932)) + (let ((__tmp17931 (cdr _exprs15957_)) + (__tmp17927 + (let ((__tmp17928 + (let ((__tmp17929 + (let ((__tmp17930 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (car _exprs15905_))) + (car _exprs15957_))) (declare (not safe)) - (cons __tmp17878 '())))) + (cons __tmp17930 '())))) (declare (not safe)) - (cons '#f __tmp17877)))) + (cons '#f __tmp17929)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17876 - _post15907_)))) + (cons __tmp17928 + _post15959_)))) (declare (not safe)) - (_lp15902_ - _rest15934_ - __tmp17879 - _bind15906_ - __tmp17875)) + (_lp15954_ + _rest15986_ + __tmp17931 + _bind15958_ + __tmp17927)) (if (let () (declare (not safe)) - (list? _hd15935_)) - (let* ((_len15939_ - (length _hd15935_)) - (_tmp15941_ - (let ((__tmp17857 + (list? _hd15987_)) + (let* ((_len15991_ + (length _hd15987_)) + (_tmp15993_ + (let ((__tmp17909 (gensym))) (declare (not safe)) - (__SRC__0 __tmp17857)))) - (let ((__tmp17874 - (cdr _exprs15905_)) - (__tmp17867 - (let ((__tmp17868 - (lambda (_id15944_ + (__SRC__0 __tmp17909)))) + (let ((__tmp17926 + (cdr _exprs15957_)) + (__tmp17919 + (let ((__tmp17920 + (lambda (_id15996_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _r15945_) - (if (let () (declare (not safe)) (__AST-e _id15944_)) - (let ((__tmp17869 - (let ((__tmp17873 + _r15997_) + (if (let () (declare (not safe)) (__AST-e _id15996_)) + (let ((__tmp17921 + (let ((__tmp17925 (let () (declare (not safe)) - (__SRC__0 _id15944_))) - (__tmp17870 - (let ((__tmp17871 - (let ((__tmp17872 + (__SRC__0 _id15996_))) + (__tmp17922 + (let ((__tmp17923 + (let ((__tmp17924 (let () (declare (not safe)) (cons '#!void '())))) (declare (not safe)) - (cons 'quote __tmp17872)))) + (cons 'quote __tmp17924)))) (declare (not safe)) - (cons __tmp17871 '())))) + (cons __tmp17923 '())))) (declare (not safe)) - (cons __tmp17873 __tmp17870)))) + (cons __tmp17925 __tmp17922)))) (declare (not safe)) - (cons __tmp17869 _r15945_)) - _r15945_)))) + (cons __tmp17921 _r15997_)) + _r15997_)))) (declare (not safe)) - (foldl1 __tmp17868 _bind15906_ _hd15935_))) + (foldl1 __tmp17920 _bind15958_ _hd15987_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (__tmp17858 - (let ((__tmp17859 - (let ((__tmp17860 + (__tmp17910 + (let ((__tmp17911 + (let ((__tmp17912 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17866 (car _exprs15905_)) - (__tmp17861 - (let ((__tmp17862 - (let ((__tmp17864 - (lambda (_id15947_ _k15948_) + (let ((__tmp17918 (car _exprs15957_)) + (__tmp17913 + (let ((__tmp17914 + (let ((__tmp17916 + (lambda (_id15999_ _k16000_) (if (let () (declare (not safe)) - (__AST-e _id15947_)) - (let ((__tmp17865 + (__AST-e _id15999_)) + (let ((__tmp17917 (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (__SRC__0 _id15947_)))) + (__SRC__0 _id15999_)))) (declare (not safe)) - (cons __tmp17865 _k15948_)) + (cons __tmp17917 _k16000_)) '#f))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (__tmp17863 + (__tmp17915 (let () (declare (not safe)) - (iota _len15939_)))) + (iota _len15991_)))) (declare (not safe)) (filter-map2 - __tmp17864 - _hd15935_ - __tmp17863)))) + __tmp17916 + _hd15987_ + __tmp17915)))) (declare (not safe)) - (cons _len15939_ __tmp17862)))) + (cons _len15991_ __tmp17914)))) (declare (not safe)) - (cons __tmp17866 __tmp17861)))) + (cons __tmp17918 __tmp17913)))) (declare (not safe)) - (cons _tmp15941_ __tmp17860)))) + (cons _tmp15993_ __tmp17912)))) (declare (not safe)) - (cons __tmp17859 _post15907_)))) + (cons __tmp17911 _post15959_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (_lp15902_ - _rest15934_ - __tmp17874 - __tmp17867 - __tmp17858))) + (_lp15954_ + _rest15986_ + __tmp17926 + __tmp17919 + __tmp17910))) (let () (declare (not safe)) (__compile-error__% - _stx15746_ - _hd15935_)))))))) + _stx15798_ + _hd15987_)))))))) (if (let () (declare (not safe)) - (##pair? _rest1590815922_)) - (let ((_tl1591815975_ + (##pair? _rest1596015974_)) + (let ((_tl1597016027_ (let () (declare (not safe)) - (##cdr _rest1590815922_))) - (_hd1591715973_ + (##cdr _rest1596015974_))) + (_hd1596916025_ (let () (declare (not safe)) - (##car _rest1590815922_)))) + (##car _rest1596015974_)))) (if (let () (declare (not safe)) - (##pair? _hd1591715973_)) - (let ((_tl1592015980_ + (##pair? _hd1596916025_)) + (let ((_tl1597216032_ (let () (declare (not safe)) - (##cdr _hd1591715973_))) - (_hd1591915978_ + (##cdr _hd1596916025_))) + (_hd1597116030_ (let () (declare (not safe)) - (##car _hd1591715973_)))) + (##car _hd1596916025_)))) (if (let () (declare (not safe)) - (##null? _tl1592015980_)) - (let ((_hd15983_ _hd1591915978_) - (_rest15985_ _tl1591815975_)) + (##null? _tl1597216032_)) + (let ((_hd16035_ _hd1597116030_) + (_rest16037_ _tl1597016027_)) (let () (declare (not safe)) - (_K1591615970_ - _rest15985_ - _hd15983_))) - (let ((_hd15958_ _hd1591715973_) - (_rest15960_ _tl1591815975_)) + (_K1596816022_ + _rest16037_ + _hd16035_))) + (let ((_hd16010_ _hd1596916025_) + (_rest16012_ _tl1597016027_)) (let () (declare (not safe)) - (_K1591315950_ - _rest15960_ - _hd15958_))))) - (let ((_hd15958_ _hd1591715973_) - (_rest15960_ _tl1591815975_)) + (_K1596516002_ + _rest16012_ + _hd16010_))))) + (let ((_hd16010_ _hd1596916025_) + (_rest16012_ _tl1597016027_)) (let () (declare (not safe)) - (_K1591315950_ - _rest15960_ - _hd15958_))))) + (_K1596516002_ + _rest16012_ + _hd16010_))))) (let () (declare (not safe)) - (_else1591115930_)))))))) - (_compile-bind15750_ - (lambda (_bind15894_ _post15895_ _body15896_) - (let ((__tmp17893 - (let ((__tmp17894 - (let ((__tmp17897 (reverse _bind15894_)) - (__tmp17895 - (let ((__tmp17896 + (_else1596315982_)))))))) + (_compile-bind15802_ + (lambda (_bind15946_ _post15947_ _body15948_) + (let ((__tmp17945 + (let ((__tmp17946 + (let ((__tmp17949 (reverse _bind15946_)) + (__tmp17947 + (let ((__tmp17948 (let () (declare (not safe)) - (_compile-post15751_ - _post15895_ - _body15896_)))) + (_compile-post15803_ + _post15947_ + _body15948_)))) (declare (not safe)) - (cons __tmp17896 '())))) + (cons __tmp17948 '())))) (declare (not safe)) - (cons __tmp17897 __tmp17895)))) + (cons __tmp17949 __tmp17947)))) (declare (not safe)) - (cons 'let __tmp17894)))) + (cons 'let __tmp17946)))) (declare (not safe)) - (__SRC__% __tmp17893 _stx15746_)))) - (_compile-post15751_ - (lambda (_post15753_ _body15754_) - (let ((__tmp17898 - (let ((__tmp17899 - (let ((__tmp17900 - (let ((__tmp17902 - (lambda (_hd15756_ _r15757_) - (let* ((_hd1575815781_ - _hd15756_) - (_E1576215785_ + (__SRC__% __tmp17945 _stx15798_)))) + (_compile-post15803_ + (lambda (_post15805_ _body15806_) + (let ((__tmp17950 + (let ((__tmp17951 + (let ((__tmp17952 + (let ((__tmp17954 + (lambda (_hd15808_ _r15809_) + (let* ((_hd1581015833_ + _hd15808_) + (_E1581415837_ (lambda () (error '"No clause matching" ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _hd1575815781_)))) + _hd1581015833_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (let ((_K1577515879_ - (lambda (_expr15877_) + (let ((_K1582715931_ + (lambda (_expr15929_) (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (cons _expr15877_ _r15757_)))) - (_K1577015857_ - (lambda (_expr15854_ _id15855_) - (let ((__tmp17903 - (let ((__tmp17904 - (let ((__tmp17905 - (let ((__tmp17906 + (cons _expr15929_ _r15809_)))) + (_K1582215909_ + (lambda (_expr15906_ _id15907_) + (let ((__tmp17955 + (let ((__tmp17956 + (let ((__tmp17957 + (let ((__tmp17958 (let () (declare (not safe)) - (cons _expr15854_ '())))) + (cons _expr15906_ '())))) (declare (not safe)) - (cons _id15855_ __tmp17906)))) + (cons _id15907_ __tmp17958)))) (declare (not safe)) - (cons 'set! __tmp17905)))) + (cons 'set! __tmp17957)))) (declare (not safe)) - (__SRC__% __tmp17904 _stx15746_)))) + (__SRC__% __tmp17956 _stx15798_)))) (declare (not safe)) - (cons __tmp17903 _r15757_)))) - (_K1576315824_ - (lambda (_init15789_ _len15790_ _expr15791_ _tmp15792_) - (let ((__tmp17907 - (let ((__tmp17908 - (let ((__tmp17909 - (let ((__tmp17923 - (let ((__tmp17924 - (let ((__tmp17925 + (cons __tmp17955 _r15809_)))) + (_K1581515876_ + (lambda (_init15841_ _len15842_ _expr15843_ _tmp15844_) + (let ((__tmp17959 + (let ((__tmp17960 + (let ((__tmp17961 + (let ((__tmp17975 + (let ((__tmp17976 + (let ((__tmp17977 (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (cons _expr15791_ '())))) + (cons _expr15843_ '())))) (declare (not safe)) - (cons _tmp15792_ __tmp17925)))) + (cons _tmp15844_ __tmp17977)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17924 '()))) - (__tmp17910 - (let ((__tmp17919 - (let ((__tmp17920 - (let ((__tmp17921 + (cons __tmp17976 '()))) + (__tmp17962 + (let ((__tmp17971 + (let ((__tmp17972 + (let ((__tmp17973 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17922 + (let ((__tmp17974 (let () (declare (not safe)) - (cons _len15790_ '())))) + (cons _len15842_ '())))) (declare (not safe)) - (cons _tmp15792_ __tmp17922)))) + (cons _tmp15844_ __tmp17974)))) (declare (not safe)) - (cons '__check-values __tmp17921)))) + (cons '__check-values __tmp17973)))) (declare (not safe)) - (__SRC__% __tmp17920 _stx15746_))) - (__tmp17911 - (let ((__tmp17912 - (map (lambda (_hd15794_) - (let* ((_hd1579515802_ _hd15794_) - (_E1579715806_ + (__SRC__% __tmp17972 _stx15798_))) + (__tmp17963 + (let ((__tmp17964 + (map (lambda (_hd15846_) + (let* ((_hd1584715854_ _hd15846_) + (_E1584915858_ (lambda () (error '"No clause matching" - _hd1579515802_))) - (_K1579815812_ - (lambda (_k15809_ _id15810_) - (let ((__tmp17913 - (let ((__tmp17914 - (let ((__tmp17915 - (let ((__tmp17916 + _hd1584715854_))) + (_K1585015864_ + (lambda (_k15861_ _id15862_) + (let ((__tmp17965 + (let ((__tmp17966 + (let ((__tmp17967 + (let ((__tmp17968 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp17917 - (let ((__tmp17918 + (let ((__tmp17969 + (let ((__tmp17970 (let () (declare (not safe)) - (cons _k15809_ '())))) + (cons _k15861_ '())))) (declare (not safe)) - (cons _tmp15792_ __tmp17918)))) + (cons _tmp15844_ __tmp17970)))) (declare (not safe)) - (cons '##vector-ref __tmp17917)))) + (cons '##vector-ref __tmp17969)))) (declare (not safe)) - (cons __tmp17916 '())))) + (cons __tmp17968 '())))) (declare (not safe)) - (cons _id15810_ __tmp17915)))) + (cons _id15862_ __tmp17967)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons 'set! __tmp17914)))) + (cons 'set! __tmp17966)))) (declare (not safe)) - (__SRC__% __tmp17913 _stx15746_))))) + (__SRC__% __tmp17965 _stx15798_))))) (if (let () (declare (not safe)) - (##pair? _hd1579515802_)) - (let ((_hd1579915815_ + (##pair? _hd1584715854_)) + (let ((_hd1585115867_ (let () (declare (not safe)) - (##car _hd1579515802_))) - (_tl1580015817_ + (##car _hd1584715854_))) + (_tl1585215869_ (let () (declare (not safe)) - (##cdr _hd1579515802_)))) - (let* ((_id15820_ _hd1579915815_) - (_k15822_ _tl1580015817_)) + (##cdr _hd1584715854_)))) + (let* ((_id15872_ _hd1585115867_) + (_k15874_ _tl1585215869_)) (declare (not safe)) - (_K1579815812_ _k15822_ _id15820_))) + (_K1585015864_ _k15874_ _id15872_))) (let () (declare (not safe)) - (_E1579715806_))))) - _init15789_))) + (_E1584915858_))))) + _init15841_))) (declare (not safe)) - (foldr1 cons '() __tmp17912)))) + (foldr1 cons '() __tmp17964)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17919 - __tmp17911)))) + (cons __tmp17971 + __tmp17963)))) (declare (not safe)) - (cons __tmp17923 __tmp17910)))) + (cons __tmp17975 __tmp17962)))) (declare (not safe)) - (cons 'let __tmp17909)))) + (cons 'let __tmp17961)))) (declare (not safe)) - (__SRC__% __tmp17908 _stx15746_)))) + (__SRC__% __tmp17960 _stx15798_)))) (declare (not safe)) - (cons __tmp17907 _r15757_))))) - (if (let () (declare (not safe)) (##pair? _hd1575815781_)) - (let ((_tl1577715884_ - (let () (declare (not safe)) (##cdr _hd1575815781_))) - (_hd1577615882_ - (let () (declare (not safe)) (##car _hd1575815781_)))) + (cons __tmp17959 _r15809_))))) + (if (let () (declare (not safe)) (##pair? _hd1581015833_)) + (let ((_tl1582915936_ + (let () (declare (not safe)) (##cdr _hd1581015833_))) + (_hd1582815934_ + (let () (declare (not safe)) (##car _hd1581015833_)))) (if (let () (declare (not safe)) - (##eq? _hd1577615882_ '#f)) + (##eq? _hd1582815934_ '#f)) (if (let () (declare (not safe)) - (##pair? _tl1577715884_)) - (let ((_tl1577915889_ + (##pair? _tl1582915936_)) + (let ((_tl1583115941_ (let () (declare (not safe)) - (##cdr _tl1577715884_))) - (_hd1577815887_ + (##cdr _tl1582915936_))) + (_hd1583015939_ (let () (declare (not safe)) - (##car _tl1577715884_)))) + (##car _tl1582915936_)))) (if (let () (declare (not safe)) - (##null? _tl1577915889_)) - (let ((_expr15892_ _hd1577815887_)) + (##null? _tl1583115941_)) + (let ((_expr15944_ _hd1583015939_)) (declare (not safe)) - (_K1577515879_ _expr15892_)) + (_K1582715931_ _expr15944_)) (if (let () (declare (not safe)) - (##pair? _tl1577915889_)) - (let ((_tl1576915843_ + (##pair? _tl1583115941_)) + (let ((_tl1582115895_ (let () (declare (not safe)) - (##cdr _tl1577915889_))) - (_hd1576815841_ + (##cdr _tl1583115941_))) + (_hd1582015893_ (let () (declare (not safe)) - (##car _tl1577915889_)))) - (let ((_tmp15832_ _hd1577615882_) - (_expr15839_ _hd1577815887_) - (_len15846_ _hd1576815841_) - (_init15848_ _tl1576915843_)) + (##car _tl1583115941_)))) + (let ((_tmp15884_ _hd1582815934_) + (_expr15891_ _hd1583015939_) + (_len15898_ _hd1582015893_) + (_init15900_ _tl1582115895_)) (let () (declare (not safe)) - (_K1576315824_ - _init15848_ - _len15846_ - _expr15839_ - _tmp15832_)))) + (_K1581515876_ + _init15900_ + _len15898_ + _expr15891_ + _tmp15884_)))) (let () (declare (not safe)) - (_E1576215785_))))) - (let () (declare (not safe)) (_E1576215785_))) + (_E1581415837_))))) + (let () (declare (not safe)) (_E1581415837_))) (if (let () (declare (not safe)) - (##pair? _tl1577715884_)) - (let ((_tl1577415869_ + (##pair? _tl1582915936_)) + (let ((_tl1582615921_ (let () (declare (not safe)) - (##cdr _tl1577715884_))) - (_hd1577315867_ + (##cdr _tl1582915936_))) + (_hd1582515919_ (let () (declare (not safe)) - (##car _tl1577715884_)))) + (##car _tl1582915936_)))) (if (let () (declare (not safe)) - (##null? _tl1577415869_)) - (let ((_id15865_ _hd1577615882_) - (_expr15872_ _hd1577315867_)) + (##null? _tl1582615921_)) + (let ((_id15917_ _hd1582815934_) + (_expr15924_ _hd1582515919_)) (let () (declare (not safe)) - (_K1577015857_ _expr15872_ _id15865_))) + (_K1582215909_ _expr15924_ _id15917_))) (if (let () (declare (not safe)) - (##pair? _tl1577415869_)) - (let ((_tl1576915843_ + (##pair? _tl1582615921_)) + (let ((_tl1582115895_ (let () (declare (not safe)) - (##cdr _tl1577415869_))) - (_hd1576815841_ + (##cdr _tl1582615921_))) + (_hd1582015893_ (let () (declare (not safe)) - (##car _tl1577415869_)))) - (let ((_tmp15832_ _hd1577615882_) - (_expr15839_ _hd1577315867_) - (_len15846_ _hd1576815841_) - (_init15848_ _tl1576915843_)) + (##car _tl1582615921_)))) + (let ((_tmp15884_ _hd1582815934_) + (_expr15891_ _hd1582515919_) + (_len15898_ _hd1582015893_) + (_init15900_ _tl1582115895_)) (let () (declare (not safe)) - (_K1576315824_ - _init15848_ - _len15846_ - _expr15839_ - _tmp15832_)))) + (_K1581515876_ + _init15900_ + _len15898_ + _expr15891_ + _tmp15884_)))) (let () (declare (not safe)) - (_E1576215785_))))) - (let () (declare (not safe)) (_E1576215785_))))) - (let () (declare (not safe)) (_E1576215785_))))))) + (_E1581415837_))))) + (let () (declare (not safe)) (_E1581415837_))))) + (let () (declare (not safe)) (_E1581415837_))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (__tmp17901 (list _body15754_))) + (__tmp17953 (list _body15806_))) (declare (not safe)) - (foldl1 __tmp17902 - __tmp17901 - _post15753_)))) + (foldl1 __tmp17954 + __tmp17953 + _post15805_)))) (declare (not safe)) - (foldr1 cons '() __tmp17900)))) + (foldr1 cons '() __tmp17952)))) (declare (not safe)) - (cons 'begin __tmp17899)))) + (cons 'begin __tmp17951)))) (declare (not safe)) - (__SRC__% __tmp17898 _stx15746_))))) + (__SRC__% __tmp17950 _stx15798_))))) (let () (declare (not safe)) (__compile-let-form - _stx15746_ - _compile-simple15748_ - _compile-values15749_))))) + _stx15798_ + _compile-simple15800_ + _compile-values15801_))))) (define __compile-call% - (lambda (_stx15706_) - (let* ((_$e15708_ _stx15706_) - (_$E1571015719_ + (lambda (_stx15758_) + (let* ((_$e15760_ _stx15758_) + (_$E1576215771_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15708_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15708_)) - (let* ((_$tgt1571115722_ - (let () (declare (not safe)) (__AST-e _$e15708_))) - (_$hd1571215725_ - (let () (declare (not safe)) (##car _$tgt1571115722_))) - (_$tl1571315728_ - (let () (declare (not safe)) (##cdr _$tgt1571115722_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1571315728_)) - (let* ((_$tgt1571415732_ + (__raise-syntax-error '#f '"Bad syntax" _$e15760_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15760_)) + (let* ((_$tgt1576315774_ + (let () (declare (not safe)) (__AST-e _$e15760_))) + (_$hd1576415777_ + (let () (declare (not safe)) (##car _$tgt1576315774_))) + (_$tl1576515780_ + (let () (declare (not safe)) (##cdr _$tgt1576315774_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1576515780_)) + (let* ((_$tgt1576615784_ (let () (declare (not safe)) - (__AST-e _$tl1571315728_))) - (_$hd1571515735_ + (__AST-e _$tl1576515780_))) + (_$hd1576715787_ (let () (declare (not safe)) - (##car _$tgt1571415732_))) - (_$tl1571615738_ + (##car _$tgt1576615784_))) + (_$tl1576815790_ (let () (declare (not safe)) - (##cdr _$tgt1571415732_)))) - (let* ((_rator15742_ _$hd1571515735_) - (_rands15744_ _$tl1571615738_) - (__tmp17926 - (let ((__tmp17928 + (##cdr _$tgt1576615784_)))) + (let* ((_rator15794_ _$hd1576715787_) + (_rands15796_ _$tl1576815790_) + (__tmp17978 + (let ((__tmp17980 (let () (declare (not safe)) - (__compile _rator15742_))) - (__tmp17927 (map __compile _rands15744_))) + (__compile _rator15794_))) + (__tmp17979 (map __compile _rands15796_))) (declare (not safe)) - (cons __tmp17928 __tmp17927)))) + (cons __tmp17980 __tmp17979)))) (declare (not safe)) - (__SRC__% __tmp17926 _stx15706_))) - (let () (declare (not safe)) (_$E1571015719_)))) - (let () (declare (not safe)) (_$E1571015719_)))))) + (__SRC__% __tmp17978 _stx15758_))) + (let () (declare (not safe)) (_$E1576215771_)))) + (let () (declare (not safe)) (_$E1576215771_)))))) (define __compile-ref% - (lambda (_stx15668_) - (let* ((_$e15670_ _stx15668_) - (_$E1567215681_ + (lambda (_stx15720_) + (let* ((_$e15722_ _stx15720_) + (_$E1572415733_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15670_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15670_)) - (let* ((_$tgt1567315684_ - (let () (declare (not safe)) (__AST-e _$e15670_))) - (_$hd1567415687_ - (let () (declare (not safe)) (##car _$tgt1567315684_))) - (_$tl1567515690_ - (let () (declare (not safe)) (##cdr _$tgt1567315684_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1567515690_)) - (let* ((_$tgt1567615694_ + (__raise-syntax-error '#f '"Bad syntax" _$e15722_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15722_)) + (let* ((_$tgt1572515736_ + (let () (declare (not safe)) (__AST-e _$e15722_))) + (_$hd1572615739_ + (let () (declare (not safe)) (##car _$tgt1572515736_))) + (_$tl1572715742_ + (let () (declare (not safe)) (##cdr _$tgt1572515736_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1572715742_)) + (let* ((_$tgt1572815746_ (let () (declare (not safe)) - (__AST-e _$tl1567515690_))) - (_$hd1567715697_ + (__AST-e _$tl1572715742_))) + (_$hd1572915749_ (let () (declare (not safe)) - (##car _$tgt1567615694_))) - (_$tl1567815700_ + (##car _$tgt1572815746_))) + (_$tl1573015752_ (let () (declare (not safe)) - (##cdr _$tgt1567615694_)))) - (let ((_id15704_ _$hd1567715697_)) - (if (let ((__tmp17929 + (##cdr _$tgt1572815746_)))) + (let ((_id15756_ _$hd1572915749_)) + (if (let ((__tmp17981 (let () (declare (not safe)) - (__AST-e _$tl1567815700_)))) + (__AST-e _$tl1573015752_)))) (declare (not safe)) - (equal? __tmp17929 '())) + (equal? __tmp17981 '())) (let () (declare (not safe)) - (__SRC__% _id15704_ _stx15668_)) - (let () (declare (not safe)) (_$E1567215681_))))) - (let () (declare (not safe)) (_$E1567215681_)))) - (let () (declare (not safe)) (_$E1567215681_)))))) + (__SRC__% _id15756_ _stx15720_)) + (let () (declare (not safe)) (_$E1572415733_))))) + (let () (declare (not safe)) (_$E1572415733_)))) + (let () (declare (not safe)) (_$E1572415733_)))))) (define __compile-setq% - (lambda (_stx15615_) - (let* ((_$e15617_ _stx15615_) - (_$E1561915631_ + (lambda (_stx15667_) + (let* ((_$e15669_ _stx15667_) + (_$E1567115683_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15617_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15617_)) - (let* ((_$tgt1562015634_ - (let () (declare (not safe)) (__AST-e _$e15617_))) - (_$hd1562115637_ - (let () (declare (not safe)) (##car _$tgt1562015634_))) - (_$tl1562215640_ - (let () (declare (not safe)) (##cdr _$tgt1562015634_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1562215640_)) - (let* ((_$tgt1562315644_ + (__raise-syntax-error '#f '"Bad syntax" _$e15669_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15669_)) + (let* ((_$tgt1567215686_ + (let () (declare (not safe)) (__AST-e _$e15669_))) + (_$hd1567315689_ + (let () (declare (not safe)) (##car _$tgt1567215686_))) + (_$tl1567415692_ + (let () (declare (not safe)) (##cdr _$tgt1567215686_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1567415692_)) + (let* ((_$tgt1567515696_ (let () (declare (not safe)) - (__AST-e _$tl1562215640_))) - (_$hd1562415647_ + (__AST-e _$tl1567415692_))) + (_$hd1567615699_ (let () (declare (not safe)) - (##car _$tgt1562315644_))) - (_$tl1562515650_ + (##car _$tgt1567515696_))) + (_$tl1567715702_ (let () (declare (not safe)) - (##cdr _$tgt1562315644_)))) - (let ((_id15654_ _$hd1562415647_)) + (##cdr _$tgt1567515696_)))) + (let ((_id15706_ _$hd1567615699_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1562515650_)) - (let* ((_$tgt1562615656_ + (__AST-pair? _$tl1567715702_)) + (let* ((_$tgt1567815708_ (let () (declare (not safe)) - (__AST-e _$tl1562515650_))) - (_$hd1562715659_ + (__AST-e _$tl1567715702_))) + (_$hd1567915711_ (let () (declare (not safe)) - (##car _$tgt1562615656_))) - (_$tl1562815662_ + (##car _$tgt1567815708_))) + (_$tl1568015714_ (let () (declare (not safe)) - (##cdr _$tgt1562615656_)))) - (let ((_expr15666_ _$hd1562715659_)) - (if (let ((__tmp17935 + (##cdr _$tgt1567815708_)))) + (let ((_expr15718_ _$hd1567915711_)) + (if (let ((__tmp17987 (let () (declare (not safe)) - (__AST-e _$tl1562815662_)))) + (__AST-e _$tl1568015714_)))) (declare (not safe)) - (equal? __tmp17935 '())) - (let ((__tmp17930 - (let ((__tmp17931 - (let ((__tmp17934 + (equal? __tmp17987 '())) + (let ((__tmp17982 + (let ((__tmp17983 + (let ((__tmp17986 (let () (declare (not safe)) (__SRC__% - _id15654_ - _stx15615_))) - (__tmp17932 - (let ((__tmp17933 + _id15706_ + _stx15667_))) + (__tmp17984 + (let ((__tmp17985 (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (__compile _expr15666_)))) + (__compile _expr15718_)))) (declare (not safe)) - (cons __tmp17933 '())))) + (cons __tmp17985 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17934 - __tmp17932)))) + (cons __tmp17986 + __tmp17984)))) (declare (not safe)) - (cons 'set! __tmp17931)))) + (cons 'set! __tmp17983)))) (declare (not safe)) - (__SRC__% __tmp17930 _stx15615_)) + (__SRC__% __tmp17982 _stx15667_)) (let () (declare (not safe)) - (_$E1561915631_))))) - (let () (declare (not safe)) (_$E1561915631_))))) - (let () (declare (not safe)) (_$E1561915631_)))) - (let () (declare (not safe)) (_$E1561915631_)))))) + (_$E1567115683_))))) + (let () (declare (not safe)) (_$E1567115683_))))) + (let () (declare (not safe)) (_$E1567115683_)))) + (let () (declare (not safe)) (_$E1567115683_)))))) (define __compile-if% - (lambda (_stx15547_) - (let* ((_$e15549_ _stx15547_) - (_$E1555115566_ + (lambda (_stx15599_) + (let* ((_$e15601_ _stx15599_) + (_$E1560315618_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15549_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15549_)) - (let* ((_$tgt1555215569_ - (let () (declare (not safe)) (__AST-e _$e15549_))) - (_$hd1555315572_ - (let () (declare (not safe)) (##car _$tgt1555215569_))) - (_$tl1555415575_ - (let () (declare (not safe)) (##cdr _$tgt1555215569_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1555415575_)) - (let* ((_$tgt1555515579_ + (__raise-syntax-error '#f '"Bad syntax" _$e15601_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15601_)) + (let* ((_$tgt1560415621_ + (let () (declare (not safe)) (__AST-e _$e15601_))) + (_$hd1560515624_ + (let () (declare (not safe)) (##car _$tgt1560415621_))) + (_$tl1560615627_ + (let () (declare (not safe)) (##cdr _$tgt1560415621_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1560615627_)) + (let* ((_$tgt1560715631_ (let () (declare (not safe)) - (__AST-e _$tl1555415575_))) - (_$hd1555615582_ + (__AST-e _$tl1560615627_))) + (_$hd1560815634_ (let () (declare (not safe)) - (##car _$tgt1555515579_))) - (_$tl1555715585_ + (##car _$tgt1560715631_))) + (_$tl1560915637_ (let () (declare (not safe)) - (##cdr _$tgt1555515579_)))) - (let ((_p15589_ _$hd1555615582_)) + (##cdr _$tgt1560715631_)))) + (let ((_p15641_ _$hd1560815634_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1555715585_)) - (let* ((_$tgt1555815591_ + (__AST-pair? _$tl1560915637_)) + (let* ((_$tgt1561015643_ (let () (declare (not safe)) - (__AST-e _$tl1555715585_))) - (_$hd1555915594_ + (__AST-e _$tl1560915637_))) + (_$hd1561115646_ (let () (declare (not safe)) - (##car _$tgt1555815591_))) - (_$tl1556015597_ + (##car _$tgt1561015643_))) + (_$tl1561215649_ (let () (declare (not safe)) - (##cdr _$tgt1555815591_)))) - (let ((_t15601_ _$hd1555915594_)) + (##cdr _$tgt1561015643_)))) + (let ((_t15653_ _$hd1561115646_)) (if (let () (declare (not safe)) - (__AST-pair? _$tl1556015597_)) - (let* ((_$tgt1556115603_ + (__AST-pair? _$tl1561215649_)) + (let* ((_$tgt1561315655_ (let () (declare (not safe)) - (__AST-e _$tl1556015597_))) - (_$hd1556215606_ + (__AST-e _$tl1561215649_))) + (_$hd1561415658_ (let () (declare (not safe)) - (##car _$tgt1556115603_))) - (_$tl1556315609_ + (##car _$tgt1561315655_))) + (_$tl1561515661_ (let () (declare (not safe)) - (##cdr _$tgt1556115603_)))) - (let ((_f15613_ _$hd1556215606_)) - (if (let ((__tmp17943 + (##cdr _$tgt1561315655_)))) + (let ((_f15665_ _$hd1561415658_)) + (if (let ((__tmp17995 (let () (declare (not safe)) - (__AST-e _$tl1556315609_)))) + (__AST-e _$tl1561515661_)))) (declare (not safe)) - (equal? __tmp17943 '())) - (let ((__tmp17936 - (let ((__tmp17937 - (let ((__tmp17942 + (equal? __tmp17995 '())) + (let ((__tmp17988 + (let ((__tmp17989 + (let ((__tmp17994 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let () (declare (not safe)) (__compile _p15589_))) - (__tmp17938 - (let ((__tmp17941 + (let () (declare (not safe)) (__compile _p15641_))) + (__tmp17990 + (let ((__tmp17993 (let () (declare (not safe)) - (__compile _t15601_))) - (__tmp17939 - (let ((__tmp17940 + (__compile _t15653_))) + (__tmp17991 + (let ((__tmp17992 (let () (declare (not safe)) - (__compile _f15613_)))) + (__compile _f15665_)))) (declare (not safe)) - (cons __tmp17940 '())))) + (cons __tmp17992 '())))) (declare (not safe)) - (cons __tmp17941 __tmp17939)))) + (cons __tmp17993 __tmp17991)))) (declare (not safe)) - (cons __tmp17942 __tmp17938)))) + (cons __tmp17994 __tmp17990)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons 'if __tmp17937)))) + (cons 'if __tmp17989)))) (declare (not safe)) - (__SRC__% __tmp17936 _stx15547_)) + (__SRC__% __tmp17988 _stx15599_)) (let () (declare (not safe)) - (_$E1555115566_))))) + (_$E1560315618_))))) (let () (declare (not safe)) - (_$E1555115566_))))) - (let () (declare (not safe)) (_$E1555115566_))))) - (let () (declare (not safe)) (_$E1555115566_)))) - (let () (declare (not safe)) (_$E1555115566_)))))) + (_$E1560315618_))))) + (let () (declare (not safe)) (_$E1560315618_))))) + (let () (declare (not safe)) (_$E1560315618_)))) + (let () (declare (not safe)) (_$E1560315618_)))))) (define __compile-quote% - (lambda (_stx15509_) - (let* ((_$e15511_ _stx15509_) - (_$E1551315522_ + (lambda (_stx15561_) + (let* ((_$e15563_ _stx15561_) + (_$E1556515574_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15511_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15511_)) - (let* ((_$tgt1551415525_ - (let () (declare (not safe)) (__AST-e _$e15511_))) - (_$hd1551515528_ - (let () (declare (not safe)) (##car _$tgt1551415525_))) - (_$tl1551615531_ - (let () (declare (not safe)) (##cdr _$tgt1551415525_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1551615531_)) - (let* ((_$tgt1551715535_ + (__raise-syntax-error '#f '"Bad syntax" _$e15563_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15563_)) + (let* ((_$tgt1556615577_ + (let () (declare (not safe)) (__AST-e _$e15563_))) + (_$hd1556715580_ + (let () (declare (not safe)) (##car _$tgt1556615577_))) + (_$tl1556815583_ + (let () (declare (not safe)) (##cdr _$tgt1556615577_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1556815583_)) + (let* ((_$tgt1556915587_ (let () (declare (not safe)) - (__AST-e _$tl1551615531_))) - (_$hd1551815538_ + (__AST-e _$tl1556815583_))) + (_$hd1557015590_ (let () (declare (not safe)) - (##car _$tgt1551715535_))) - (_$tl1551915541_ + (##car _$tgt1556915587_))) + (_$tl1557115593_ (let () (declare (not safe)) - (##cdr _$tgt1551715535_)))) - (let ((_e15545_ _$hd1551815538_)) - (if (let ((__tmp17947 + (##cdr _$tgt1556915587_)))) + (let ((_e15597_ _$hd1557015590_)) + (if (let ((__tmp17999 (let () (declare (not safe)) - (__AST-e _$tl1551915541_)))) + (__AST-e _$tl1557115593_)))) (declare (not safe)) - (equal? __tmp17947 '())) - (let ((__tmp17944 - (let ((__tmp17945 - (let ((__tmp17946 + (equal? __tmp17999 '())) + (let ((__tmp17996 + (let ((__tmp17997 + (let ((__tmp17998 (let () (declare (not safe)) - (__AST->datum _e15545_)))) + (__AST->datum _e15597_)))) (declare (not safe)) - (cons __tmp17946 '())))) + (cons __tmp17998 '())))) (declare (not safe)) - (cons 'quote __tmp17945)))) + (cons 'quote __tmp17997)))) (declare (not safe)) - (__SRC__% __tmp17944 _stx15509_)) - (let () (declare (not safe)) (_$E1551315522_))))) - (let () (declare (not safe)) (_$E1551315522_)))) - (let () (declare (not safe)) (_$E1551315522_)))))) + (__SRC__% __tmp17996 _stx15561_)) + (let () (declare (not safe)) (_$E1556515574_))))) + (let () (declare (not safe)) (_$E1556515574_)))) + (let () (declare (not safe)) (_$E1556515574_)))))) (define __compile-quote-syntax% - (lambda (_stx15471_) - (let* ((_$e15473_ _stx15471_) - (_$E1547515484_ + (lambda (_stx15523_) + (let* ((_$e15525_ _stx15523_) + (_$E1552715536_ (lambda () (let () (declare (not safe)) - (__raise-syntax-error '#f '"Bad syntax" _$e15473_))))) - (if (let () (declare (not safe)) (__AST-pair? _$e15473_)) - (let* ((_$tgt1547615487_ - (let () (declare (not safe)) (__AST-e _$e15473_))) - (_$hd1547715490_ - (let () (declare (not safe)) (##car _$tgt1547615487_))) - (_$tl1547815493_ - (let () (declare (not safe)) (##cdr _$tgt1547615487_)))) - (if (let () (declare (not safe)) (__AST-pair? _$tl1547815493_)) - (let* ((_$tgt1547915497_ + (__raise-syntax-error '#f '"Bad syntax" _$e15525_))))) + (if (let () (declare (not safe)) (__AST-pair? _$e15525_)) + (let* ((_$tgt1552815539_ + (let () (declare (not safe)) (__AST-e _$e15525_))) + (_$hd1552915542_ + (let () (declare (not safe)) (##car _$tgt1552815539_))) + (_$tl1553015545_ + (let () (declare (not safe)) (##cdr _$tgt1552815539_)))) + (if (let () (declare (not safe)) (__AST-pair? _$tl1553015545_)) + (let* ((_$tgt1553115549_ (let () (declare (not safe)) - (__AST-e _$tl1547815493_))) - (_$hd1548015500_ + (__AST-e _$tl1553015545_))) + (_$hd1553215552_ (let () (declare (not safe)) - (##car _$tgt1547915497_))) - (_$tl1548115503_ + (##car _$tgt1553115549_))) + (_$tl1553315555_ (let () (declare (not safe)) - (##cdr _$tgt1547915497_)))) - (let ((_e15507_ _$hd1548015500_)) - (if (let ((__tmp17950 + (##cdr _$tgt1553115549_)))) + (let ((_e15559_ _$hd1553215552_)) + (if (let ((__tmp18002 (let () (declare (not safe)) - (__AST-e _$tl1548115503_)))) + (__AST-e _$tl1553315555_)))) (declare (not safe)) - (equal? __tmp17950 '())) - (let ((__tmp17948 - (let ((__tmp17949 + (equal? __tmp18002 '())) + (let ((__tmp18000 + (let ((__tmp18001 (let () (declare (not safe)) - (cons _e15507_ '())))) + (cons _e15559_ '())))) (declare (not safe)) - (cons 'quote __tmp17949)))) + (cons 'quote __tmp18001)))) (declare (not safe)) - (__SRC__% __tmp17948 _stx15471_)) - (let () (declare (not safe)) (_$E1547515484_))))) - (let () (declare (not safe)) (_$E1547515484_)))) - (let () (declare (not safe)) (_$E1547515484_)))))) + (__SRC__% __tmp18000 _stx15523_)) + (let () (declare (not safe)) (_$E1552715536_))))) + (let () (declare (not safe)) (_$E1552715536_)))) + (let () (declare (not safe)) (_$E1552715536_)))))) (let () (declare (not safe)) (__core-bind-syntax!__% diff --git a/src/bootstrap/gerbil/runtime/eval__1.scm b/src/bootstrap/gerbil/runtime/eval__1.scm index cbff76322..b3331fcf3 100644 --- a/src/bootstrap/gerbil/runtime/eval__1.scm +++ b/src/bootstrap/gerbil/runtime/eval__1.scm @@ -1,412 +1,412 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (begin - (define |[1]#_g17951_| + (define |[1]#_g18003_| (##structure gx#syntax-quote::t '__context::t #f (gx#current-expander-context) '())) - (define |[1]#_g17962_| + (define |[1]#_g18014_| (##structure gx#syntax-quote::t '__context-table-set! #f (gx#current-expander-context) '())) - (define |[1]#_g17964_| + (define |[1]#_g18016_| (##structure gx#syntax-quote::t '__context-super-set! #f (gx#current-expander-context) '())) - (define |[1]#_g17966_| + (define |[1]#_g18018_| (##structure gx#syntax-quote::t '__context-ns-set! #f (gx#current-expander-context) '())) - (define |[1]#_g17968_| + (define |[1]#_g18020_| (##structure gx#syntax-quote::t '__context-t-set! #f (gx#current-expander-context) '())) - (define |[1]#_g17974_| + (define |[1]#_g18026_| (##structure gx#syntax-quote::t '__context-table #f (gx#current-expander-context) '())) - (define |[1]#_g17976_| + (define |[1]#_g18028_| (##structure gx#syntax-quote::t '__context-super #f (gx#current-expander-context) '())) - (define |[1]#_g17978_| + (define |[1]#_g18030_| (##structure gx#syntax-quote::t '__context-ns #f (gx#current-expander-context) '())) - (define |[1]#_g17980_| + (define |[1]#_g18032_| (##structure gx#syntax-quote::t '__context-t #f (gx#current-expander-context) '())) - (define |[1]#_g17982_| + (define |[1]#_g18034_| (##structure gx#syntax-quote::t '__context? #f (gx#current-expander-context) '())) - (define |[1]#_g17984_| + (define |[1]#_g18036_| (##structure gx#syntax-quote::t 'make-__context #f (gx#current-expander-context) '())) - (define |[1]#_g17986_| + (define |[1]#_g18038_| (##structure gx#syntax-quote::t '__runtime::t #f (gx#current-expander-context) '())) - (define |[1]#_g17994_| + (define |[1]#_g18046_| (##structure gx#syntax-quote::t '__runtime-id-set! #f (gx#current-expander-context) '())) - (define |[1]#_g17997_| + (define |[1]#_g18049_| (##structure gx#syntax-quote::t '__runtime-id #f (gx#current-expander-context) '())) - (define |[1]#_g17999_| + (define |[1]#_g18051_| (##structure gx#syntax-quote::t '__runtime? #f (gx#current-expander-context) '())) - (define |[1]#_g18001_| + (define |[1]#_g18053_| (##structure gx#syntax-quote::t 'make-__runtime #f (gx#current-expander-context) '())) - (define |[1]#_g18003_| + (define |[1]#_g18055_| (##structure gx#syntax-quote::t '__syntax::t #f (gx#current-expander-context) '())) - (define |[1]#_g18012_| + (define |[1]#_g18064_| (##structure gx#syntax-quote::t '__syntax-id-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18014_| + (define |[1]#_g18066_| (##structure gx#syntax-quote::t '__syntax-e-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18018_| + (define |[1]#_g18070_| (##structure gx#syntax-quote::t '__syntax-id #f (gx#current-expander-context) '())) - (define |[1]#_g18020_| + (define |[1]#_g18072_| (##structure gx#syntax-quote::t '__syntax-e #f (gx#current-expander-context) '())) - (define |[1]#_g18022_| + (define |[1]#_g18074_| (##structure gx#syntax-quote::t '__syntax? #f (gx#current-expander-context) '())) - (define |[1]#_g18024_| + (define |[1]#_g18076_| (##structure gx#syntax-quote::t 'make-__syntax #f (gx#current-expander-context) '())) - (define |[1]#_g18026_| + (define |[1]#_g18078_| (##structure gx#syntax-quote::t '__macro::t #f (gx#current-expander-context) '())) - (define |[1]#_g18033_| + (define |[1]#_g18085_| (##structure gx#syntax-quote::t '__macro? #f (gx#current-expander-context) '())) - (define |[1]#_g18035_| + (define |[1]#_g18087_| (##structure gx#syntax-quote::t 'make-__macro #f (gx#current-expander-context) '())) - (define |[1]#_g18038_| + (define |[1]#_g18090_| (##structure gx#syntax-quote::t '__syntax #f (gx#current-expander-context) '())) - (define |[1]#_g18039_| + (define |[1]#_g18091_| (##structure gx#syntax-quote::t '__special-form::t #f (gx#current-expander-context) '())) - (define |[1]#_g18046_| + (define |[1]#_g18098_| (##structure gx#syntax-quote::t '__special-form? #f (gx#current-expander-context) '())) - (define |[1]#_g18048_| + (define |[1]#_g18100_| (##structure gx#syntax-quote::t 'make-__special-form #f (gx#current-expander-context) '())) - (define |[1]#_g18051_| + (define |[1]#_g18103_| (##structure gx#syntax-quote::t '__macro #f (gx#current-expander-context) '())) - (define |[1]#_g18052_| + (define |[1]#_g18104_| (##structure gx#syntax-quote::t '__core-form::t #f (gx#current-expander-context) '())) - (define |[1]#_g18059_| + (define |[1]#_g18111_| (##structure gx#syntax-quote::t '__core-form? #f (gx#current-expander-context) '())) - (define |[1]#_g18061_| + (define |[1]#_g18113_| (##structure gx#syntax-quote::t 'make-__core-form #f (gx#current-expander-context) '())) - (define |[1]#_g18064_| + (define |[1]#_g18116_| (##structure gx#syntax-quote::t '__core-expression::t #f (gx#current-expander-context) '())) - (define |[1]#_g18071_| + (define |[1]#_g18123_| (##structure gx#syntax-quote::t '__core-expression? #f (gx#current-expander-context) '())) - (define |[1]#_g18073_| + (define |[1]#_g18125_| (##structure gx#syntax-quote::t 'make-__core-expression #f (gx#current-expander-context) '())) - (define |[1]#_g18076_| + (define |[1]#_g18128_| (##structure gx#syntax-quote::t '__core-form #f (gx#current-expander-context) '())) - (define |[1]#_g18077_| + (define |[1]#_g18129_| (##structure gx#syntax-quote::t '__core-special-form::t #f (gx#current-expander-context) '())) - (define |[1]#_g18084_| + (define |[1]#_g18136_| (##structure gx#syntax-quote::t '__core-special-form? #f (gx#current-expander-context) '())) - (define |[1]#_g18086_| + (define |[1]#_g18138_| (##structure gx#syntax-quote::t 'make-__core-special-form #f (gx#current-expander-context) '())) - (define |[1]#_g18089_| + (define |[1]#_g18141_| (##structure gx#syntax-quote::t '__struct-info::t #f (gx#current-expander-context) '())) - (define |[1]#_g18096_| + (define |[1]#_g18148_| (##structure gx#syntax-quote::t '__struct-info? #f (gx#current-expander-context) '())) - (define |[1]#_g18098_| + (define |[1]#_g18150_| (##structure gx#syntax-quote::t 'make-__struct-info #f (gx#current-expander-context) '())) - (define |[1]#_g18101_| + (define |[1]#_g18153_| (##structure gx#syntax-quote::t '__feature::t #f (gx#current-expander-context) '())) - (define |[1]#_g18108_| + (define |[1]#_g18160_| (##structure gx#syntax-quote::t '__feature? #f (gx#current-expander-context) '())) - (define |[1]#_g18110_| + (define |[1]#_g18162_| (##structure gx#syntax-quote::t 'make-__feature #f (gx#current-expander-context) '())) - (define |[1]#_g18113_| + (define |[1]#_g18165_| (##structure gx#syntax-quote::t '__module::t #f (gx#current-expander-context) '())) - (define |[1]#_g18124_| + (define |[1]#_g18176_| (##structure gx#syntax-quote::t '__module-export-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18126_| + (define |[1]#_g18178_| (##structure gx#syntax-quote::t '__module-import-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18128_| + (define |[1]#_g18180_| (##structure gx#syntax-quote::t '__module-path-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18130_| + (define |[1]#_g18182_| (##structure gx#syntax-quote::t '__module-id-set! #f (gx#current-expander-context) '())) - (define |[1]#_g18136_| + (define |[1]#_g18188_| (##structure gx#syntax-quote::t '__module-export #f (gx#current-expander-context) '())) - (define |[1]#_g18138_| + (define |[1]#_g18190_| (##structure gx#syntax-quote::t '__module-import #f (gx#current-expander-context) '())) - (define |[1]#_g18140_| + (define |[1]#_g18192_| (##structure gx#syntax-quote::t '__module-path #f (gx#current-expander-context) '())) - (define |[1]#_g18142_| + (define |[1]#_g18194_| (##structure gx#syntax-quote::t '__module-id #f (gx#current-expander-context) '())) - (define |[1]#_g18144_| + (define |[1]#_g18196_| (##structure gx#syntax-quote::t '__module? #f (gx#current-expander-context) '())) - (define |[1]#_g18146_| + (define |[1]#_g18198_| (##structure gx#syntax-quote::t 'make-__module #f (gx#current-expander-context) '())) - (define |[1]#_g18149_| + (define |[1]#_g18201_| (##structure gx#syntax-quote::t '__context @@ -417,72 +417,72 @@ (define |[:0:]#__context| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g17951_| + |[1]#_g18003_| 'expander-identifiers: - (let ((__tmp17952 - (let ((__tmp17985 |[1]#_g17951_|) - (__tmp17953 - (let ((__tmp17983 |[1]#_g17984_|) - (__tmp17954 - (let ((__tmp17981 |[1]#_g17982_|) - (__tmp17955 - (let ((__tmp17969 - (let ((__tmp17979 |[1]#_g17980_|) - (__tmp17970 - (let ((__tmp17977 - |[1]#_g17978_|) - (__tmp17971 - (let ((__tmp17975 - |[1]#_g17976_|) - (__tmp17972 - (let ((__tmp17973 + (let ((__tmp18004 + (let ((__tmp18037 |[1]#_g18003_|) + (__tmp18005 + (let ((__tmp18035 |[1]#_g18036_|) + (__tmp18006 + (let ((__tmp18033 |[1]#_g18034_|) + (__tmp18007 + (let ((__tmp18021 + (let ((__tmp18031 |[1]#_g18032_|) + (__tmp18022 + (let ((__tmp18029 + |[1]#_g18030_|) + (__tmp18023 + (let ((__tmp18027 + |[1]#_g18028_|) + (__tmp18024 + (let ((__tmp18025 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g17974_|)) + |[1]#_g18026_|)) (declare (not safe)) - (cons __tmp17973 '())))) + (cons __tmp18025 '())))) (declare (not safe)) - (cons __tmp17975 __tmp17972)))) + (cons __tmp18027 __tmp18024)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17977 - __tmp17971)))) + (cons __tmp18029 + __tmp18023)))) (declare (not safe)) - (cons __tmp17979 __tmp17970))) - (__tmp17956 - (let ((__tmp17957 - (let ((__tmp17967 - |[1]#_g17968_|) - (__tmp17958 - (let ((__tmp17965 - |[1]#_g17966_|) - (__tmp17959 - (let ((__tmp17963 + (cons __tmp18031 __tmp18022))) + (__tmp18008 + (let ((__tmp18009 + (let ((__tmp18019 + |[1]#_g18020_|) + (__tmp18010 + (let ((__tmp18017 + |[1]#_g18018_|) + (__tmp18011 + (let ((__tmp18015 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g17964_|) - (__tmp17960 - (let ((__tmp17961 |[1]#_g17962_|)) + |[1]#_g18016_|) + (__tmp18012 + (let ((__tmp18013 |[1]#_g18014_|)) (declare (not safe)) - (cons __tmp17961 '())))) + (cons __tmp18013 '())))) (declare (not safe)) - (cons __tmp17963 __tmp17960)))) + (cons __tmp18015 __tmp18012)))) (declare (not safe)) - (cons __tmp17965 __tmp17959)))) + (cons __tmp18017 __tmp18011)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp17967 - __tmp17958)))) + (cons __tmp18019 + __tmp18010)))) (declare (not safe)) - (cons __tmp17957 '())))) + (cons __tmp18009 '())))) (declare (not safe)) - (cons __tmp17969 __tmp17956)))) + (cons __tmp18021 __tmp18008)))) (declare (not safe)) - (cons __tmp17981 __tmp17955)))) + (cons __tmp18033 __tmp18007)))) (declare (not safe)) - (cons __tmp17983 __tmp17954)))) + (cons __tmp18035 __tmp18006)))) (declare (not safe)) - (cons __tmp17985 __tmp17953)))) + (cons __tmp18037 __tmp18005)))) (declare (not safe)) - (cons '#f __tmp17952)) + (cons '#f __tmp18004)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f @@ -494,37 +494,37 @@ (define |[:0:]#__runtime| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g17986_| + |[1]#_g18038_| 'expander-identifiers: - (let ((__tmp17987 - (let ((__tmp18002 |[1]#_g17986_|) - (__tmp17988 - (let ((__tmp18000 |[1]#_g18001_|) - (__tmp17989 - (let ((__tmp17998 |[1]#_g17999_|) - (__tmp17990 - (let ((__tmp17995 - (let ((__tmp17996 |[1]#_g17997_|)) + (let ((__tmp18039 + (let ((__tmp18054 |[1]#_g18038_|) + (__tmp18040 + (let ((__tmp18052 |[1]#_g18053_|) + (__tmp18041 + (let ((__tmp18050 |[1]#_g18051_|) + (__tmp18042 + (let ((__tmp18047 + (let ((__tmp18048 |[1]#_g18049_|)) (declare (not safe)) - (cons __tmp17996 '()))) - (__tmp17991 - (let ((__tmp17992 - (let ((__tmp17993 - |[1]#_g17994_|)) + (cons __tmp18048 '()))) + (__tmp18043 + (let ((__tmp18044 + (let ((__tmp18045 + |[1]#_g18046_|)) (declare (not safe)) - (cons __tmp17993 '())))) + (cons __tmp18045 '())))) (declare (not safe)) - (cons __tmp17992 '())))) + (cons __tmp18044 '())))) (declare (not safe)) - (cons __tmp17995 __tmp17991)))) + (cons __tmp18047 __tmp18043)))) (declare (not safe)) - (cons __tmp17998 __tmp17990)))) + (cons __tmp18050 __tmp18042)))) (declare (not safe)) - (cons __tmp18000 __tmp17989)))) + (cons __tmp18052 __tmp18041)))) (declare (not safe)) - (cons __tmp18002 __tmp17988)))) + (cons __tmp18054 __tmp18040)))) (declare (not safe)) - (cons '#f __tmp17987)) + (cons '#f __tmp18039)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f @@ -536,49 +536,49 @@ (define |[:0:]#__syntax| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18003_| + |[1]#_g18055_| 'expander-identifiers: - (let ((__tmp18004 - (let ((__tmp18025 |[1]#_g18003_|) - (__tmp18005 - (let ((__tmp18023 |[1]#_g18024_|) - (__tmp18006 - (let ((__tmp18021 |[1]#_g18022_|) - (__tmp18007 - (let ((__tmp18015 - (let ((__tmp18019 |[1]#_g18020_|) - (__tmp18016 - (let ((__tmp18017 - |[1]#_g18018_|)) + (let ((__tmp18056 + (let ((__tmp18077 |[1]#_g18055_|) + (__tmp18057 + (let ((__tmp18075 |[1]#_g18076_|) + (__tmp18058 + (let ((__tmp18073 |[1]#_g18074_|) + (__tmp18059 + (let ((__tmp18067 + (let ((__tmp18071 |[1]#_g18072_|) + (__tmp18068 + (let ((__tmp18069 + |[1]#_g18070_|)) (declare (not safe)) - (cons __tmp18017 '())))) + (cons __tmp18069 '())))) (declare (not safe)) - (cons __tmp18019 __tmp18016))) - (__tmp18008 - (let ((__tmp18009 - (let ((__tmp18013 - |[1]#_g18014_|) - (__tmp18010 - (let ((__tmp18011 - |[1]#_g18012_|)) + (cons __tmp18071 __tmp18068))) + (__tmp18060 + (let ((__tmp18061 + (let ((__tmp18065 + |[1]#_g18066_|) + (__tmp18062 + (let ((__tmp18063 + |[1]#_g18064_|)) (declare (not safe)) - (cons __tmp18011 + (cons __tmp18063 '())))) (declare (not safe)) - (cons __tmp18013 - __tmp18010)))) + (cons __tmp18065 + __tmp18062)))) (declare (not safe)) - (cons __tmp18009 '())))) + (cons __tmp18061 '())))) (declare (not safe)) - (cons __tmp18015 __tmp18008)))) + (cons __tmp18067 __tmp18060)))) (declare (not safe)) - (cons __tmp18021 __tmp18007)))) + (cons __tmp18073 __tmp18059)))) (declare (not safe)) - (cons __tmp18023 __tmp18006)))) + (cons __tmp18075 __tmp18058)))) (declare (not safe)) - (cons __tmp18025 __tmp18005)))) + (cons __tmp18077 __tmp18057)))) (declare (not safe)) - (cons '#f __tmp18004)) + (cons '#f __tmp18056)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f @@ -590,34 +590,34 @@ (define |[:0:]#__macro| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18026_| + |[1]#_g18078_| 'expander-identifiers: - (let ((__tmp18037 |[1]#_g18003_|) - (__tmp18027 - (let ((__tmp18036 |[1]#_g18026_|) - (__tmp18028 - (let ((__tmp18034 |[1]#_g18035_|) - (__tmp18029 - (let ((__tmp18032 |[1]#_g18033_|) - (__tmp18030 - (let ((__tmp18031 + (let ((__tmp18089 |[1]#_g18055_|) + (__tmp18079 + (let ((__tmp18088 |[1]#_g18078_|) + (__tmp18080 + (let ((__tmp18086 |[1]#_g18087_|) + (__tmp18081 + (let ((__tmp18084 |[1]#_g18085_|) + (__tmp18082 + (let ((__tmp18083 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18031)))) + (cons '() __tmp18083)))) (declare (not safe)) - (cons __tmp18032 __tmp18030)))) + (cons __tmp18084 __tmp18082)))) (declare (not safe)) - (cons __tmp18034 __tmp18029)))) + (cons __tmp18086 __tmp18081)))) (declare (not safe)) - (cons __tmp18036 __tmp18028)))) + (cons __tmp18088 __tmp18080)))) (declare (not safe)) - (cons __tmp18037 __tmp18027)) + (cons __tmp18089 __tmp18079)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18038_| + |[1]#_g18090_| '__macro '#f '() @@ -625,34 +625,34 @@ (define |[:0:]#__special-form| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18039_| + |[1]#_g18091_| 'expander-identifiers: - (let ((__tmp18050 |[1]#_g18026_|) - (__tmp18040 - (let ((__tmp18049 |[1]#_g18039_|) - (__tmp18041 - (let ((__tmp18047 |[1]#_g18048_|) - (__tmp18042 - (let ((__tmp18045 |[1]#_g18046_|) - (__tmp18043 - (let ((__tmp18044 + (let ((__tmp18102 |[1]#_g18078_|) + (__tmp18092 + (let ((__tmp18101 |[1]#_g18091_|) + (__tmp18093 + (let ((__tmp18099 |[1]#_g18100_|) + (__tmp18094 + (let ((__tmp18097 |[1]#_g18098_|) + (__tmp18095 + (let ((__tmp18096 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18044)))) + (cons '() __tmp18096)))) (declare (not safe)) - (cons __tmp18045 __tmp18043)))) + (cons __tmp18097 __tmp18095)))) (declare (not safe)) - (cons __tmp18047 __tmp18042)))) + (cons __tmp18099 __tmp18094)))) (declare (not safe)) - (cons __tmp18049 __tmp18041)))) + (cons __tmp18101 __tmp18093)))) (declare (not safe)) - (cons __tmp18050 __tmp18040)) + (cons __tmp18102 __tmp18092)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18051_| + |[1]#_g18103_| '__special-form '#f '() @@ -660,34 +660,34 @@ (define |[:0:]#__core-form| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18052_| + |[1]#_g18104_| 'expander-identifiers: - (let ((__tmp18063 |[1]#_g18003_|) - (__tmp18053 - (let ((__tmp18062 |[1]#_g18052_|) - (__tmp18054 - (let ((__tmp18060 |[1]#_g18061_|) - (__tmp18055 - (let ((__tmp18058 |[1]#_g18059_|) - (__tmp18056 - (let ((__tmp18057 + (let ((__tmp18115 |[1]#_g18055_|) + (__tmp18105 + (let ((__tmp18114 |[1]#_g18104_|) + (__tmp18106 + (let ((__tmp18112 |[1]#_g18113_|) + (__tmp18107 + (let ((__tmp18110 |[1]#_g18111_|) + (__tmp18108 + (let ((__tmp18109 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18057)))) + (cons '() __tmp18109)))) (declare (not safe)) - (cons __tmp18058 __tmp18056)))) + (cons __tmp18110 __tmp18108)))) (declare (not safe)) - (cons __tmp18060 __tmp18055)))) + (cons __tmp18112 __tmp18107)))) (declare (not safe)) - (cons __tmp18062 __tmp18054)))) + (cons __tmp18114 __tmp18106)))) (declare (not safe)) - (cons __tmp18063 __tmp18053)) + (cons __tmp18115 __tmp18105)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18038_| + |[1]#_g18090_| '__core-form '#f '() @@ -695,34 +695,34 @@ (define |[:0:]#__core-expression| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18064_| + |[1]#_g18116_| 'expander-identifiers: - (let ((__tmp18075 |[1]#_g18052_|) - (__tmp18065 - (let ((__tmp18074 |[1]#_g18064_|) - (__tmp18066 - (let ((__tmp18072 |[1]#_g18073_|) - (__tmp18067 - (let ((__tmp18070 |[1]#_g18071_|) - (__tmp18068 - (let ((__tmp18069 + (let ((__tmp18127 |[1]#_g18104_|) + (__tmp18117 + (let ((__tmp18126 |[1]#_g18116_|) + (__tmp18118 + (let ((__tmp18124 |[1]#_g18125_|) + (__tmp18119 + (let ((__tmp18122 |[1]#_g18123_|) + (__tmp18120 + (let ((__tmp18121 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18069)))) + (cons '() __tmp18121)))) (declare (not safe)) - (cons __tmp18070 __tmp18068)))) + (cons __tmp18122 __tmp18120)))) (declare (not safe)) - (cons __tmp18072 __tmp18067)))) + (cons __tmp18124 __tmp18119)))) (declare (not safe)) - (cons __tmp18074 __tmp18066)))) + (cons __tmp18126 __tmp18118)))) (declare (not safe)) - (cons __tmp18075 __tmp18065)) + (cons __tmp18127 __tmp18117)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18076_| + |[1]#_g18128_| '__core-expression '#f '() @@ -730,34 +730,34 @@ (define |[:0:]#__core-special-form| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18077_| + |[1]#_g18129_| 'expander-identifiers: - (let ((__tmp18088 |[1]#_g18052_|) - (__tmp18078 - (let ((__tmp18087 |[1]#_g18077_|) - (__tmp18079 - (let ((__tmp18085 |[1]#_g18086_|) - (__tmp18080 - (let ((__tmp18083 |[1]#_g18084_|) - (__tmp18081 - (let ((__tmp18082 + (let ((__tmp18140 |[1]#_g18104_|) + (__tmp18130 + (let ((__tmp18139 |[1]#_g18129_|) + (__tmp18131 + (let ((__tmp18137 |[1]#_g18138_|) + (__tmp18132 + (let ((__tmp18135 |[1]#_g18136_|) + (__tmp18133 + (let ((__tmp18134 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18082)))) + (cons '() __tmp18134)))) (declare (not safe)) - (cons __tmp18083 __tmp18081)))) + (cons __tmp18135 __tmp18133)))) (declare (not safe)) - (cons __tmp18085 __tmp18080)))) + (cons __tmp18137 __tmp18132)))) (declare (not safe)) - (cons __tmp18087 __tmp18079)))) + (cons __tmp18139 __tmp18131)))) (declare (not safe)) - (cons __tmp18088 __tmp18078)) + (cons __tmp18140 __tmp18130)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18076_| + |[1]#_g18128_| '__core-special-form '#f '() @@ -765,34 +765,34 @@ (define |[:0:]#__struct-info| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18089_| + |[1]#_g18141_| 'expander-identifiers: - (let ((__tmp18100 |[1]#_g18003_|) - (__tmp18090 - (let ((__tmp18099 |[1]#_g18089_|) - (__tmp18091 - (let ((__tmp18097 |[1]#_g18098_|) - (__tmp18092 - (let ((__tmp18095 |[1]#_g18096_|) - (__tmp18093 - (let ((__tmp18094 + (let ((__tmp18152 |[1]#_g18055_|) + (__tmp18142 + (let ((__tmp18151 |[1]#_g18141_|) + (__tmp18143 + (let ((__tmp18149 |[1]#_g18150_|) + (__tmp18144 + (let ((__tmp18147 |[1]#_g18148_|) + (__tmp18145 + (let ((__tmp18146 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18094)))) + (cons '() __tmp18146)))) (declare (not safe)) - (cons __tmp18095 __tmp18093)))) + (cons __tmp18147 __tmp18145)))) (declare (not safe)) - (cons __tmp18097 __tmp18092)))) + (cons __tmp18149 __tmp18144)))) (declare (not safe)) - (cons __tmp18099 __tmp18091)))) + (cons __tmp18151 __tmp18143)))) (declare (not safe)) - (cons __tmp18100 __tmp18090)) + (cons __tmp18152 __tmp18142)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18038_| + |[1]#_g18090_| '__struct-info '#f '() @@ -800,34 +800,34 @@ (define |[:0:]#__feature| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18101_| + |[1]#_g18153_| 'expander-identifiers: - (let ((__tmp18112 |[1]#_g18003_|) - (__tmp18102 - (let ((__tmp18111 |[1]#_g18101_|) - (__tmp18103 - (let ((__tmp18109 |[1]#_g18110_|) - (__tmp18104 - (let ((__tmp18107 |[1]#_g18108_|) - (__tmp18105 - (let ((__tmp18106 + (let ((__tmp18164 |[1]#_g18055_|) + (__tmp18154 + (let ((__tmp18163 |[1]#_g18153_|) + (__tmp18155 + (let ((__tmp18161 |[1]#_g18162_|) + (__tmp18156 + (let ((__tmp18159 |[1]#_g18160_|) + (__tmp18157 + (let ((__tmp18158 (let () (declare (not safe)) (cons '() '())))) (declare (not safe)) - (cons '() __tmp18106)))) + (cons '() __tmp18158)))) (declare (not safe)) - (cons __tmp18107 __tmp18105)))) + (cons __tmp18159 __tmp18157)))) (declare (not safe)) - (cons __tmp18109 __tmp18104)))) + (cons __tmp18161 __tmp18156)))) (declare (not safe)) - (cons __tmp18111 __tmp18103)))) + (cons __tmp18163 __tmp18155)))) (declare (not safe)) - (cons __tmp18112 __tmp18102)) + (cons __tmp18164 __tmp18154)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18038_| + |[1]#_g18090_| '__feature '#f '() @@ -835,285 +835,285 @@ (define |[:0:]#__module| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g18113_| + |[1]#_g18165_| 'expander-identifiers: - (let ((__tmp18148 |[1]#_g17951_|) - (__tmp18114 - (let ((__tmp18147 |[1]#_g18113_|) - (__tmp18115 - (let ((__tmp18145 |[1]#_g18146_|) - (__tmp18116 - (let ((__tmp18143 |[1]#_g18144_|) - (__tmp18117 - (let ((__tmp18131 - (let ((__tmp18141 |[1]#_g18142_|) - (__tmp18132 - (let ((__tmp18139 - |[1]#_g18140_|) - (__tmp18133 - (let ((__tmp18137 - |[1]#_g18138_|) - (__tmp18134 - (let ((__tmp18135 + (let ((__tmp18200 |[1]#_g18003_|) + (__tmp18166 + (let ((__tmp18199 |[1]#_g18165_|) + (__tmp18167 + (let ((__tmp18197 |[1]#_g18198_|) + (__tmp18168 + (let ((__tmp18195 |[1]#_g18196_|) + (__tmp18169 + (let ((__tmp18183 + (let ((__tmp18193 |[1]#_g18194_|) + (__tmp18184 + (let ((__tmp18191 + |[1]#_g18192_|) + (__tmp18185 + (let ((__tmp18189 + |[1]#_g18190_|) + (__tmp18186 + (let ((__tmp18187 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g18136_|)) + |[1]#_g18188_|)) (declare (not safe)) - (cons __tmp18135 '())))) + (cons __tmp18187 '())))) (declare (not safe)) - (cons __tmp18137 __tmp18134)))) + (cons __tmp18189 __tmp18186)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp18139 - __tmp18133)))) + (cons __tmp18191 + __tmp18185)))) (declare (not safe)) - (cons __tmp18141 __tmp18132))) - (__tmp18118 - (let ((__tmp18119 - (let ((__tmp18129 - |[1]#_g18130_|) - (__tmp18120 - (let ((__tmp18127 - |[1]#_g18128_|) - (__tmp18121 - (let ((__tmp18125 + (cons __tmp18193 __tmp18184))) + (__tmp18170 + (let ((__tmp18171 + (let ((__tmp18181 + |[1]#_g18182_|) + (__tmp18172 + (let ((__tmp18179 + |[1]#_g18180_|) + (__tmp18173 + (let ((__tmp18177 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g18126_|) - (__tmp18122 - (let ((__tmp18123 |[1]#_g18124_|)) + |[1]#_g18178_|) + (__tmp18174 + (let ((__tmp18175 |[1]#_g18176_|)) (declare (not safe)) - (cons __tmp18123 '())))) + (cons __tmp18175 '())))) (declare (not safe)) - (cons __tmp18125 __tmp18122)))) + (cons __tmp18177 __tmp18174)))) (declare (not safe)) - (cons __tmp18127 __tmp18121)))) + (cons __tmp18179 __tmp18173)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp18129 - __tmp18120)))) + (cons __tmp18181 + __tmp18172)))) (declare (not safe)) - (cons __tmp18119 '())))) + (cons __tmp18171 '())))) (declare (not safe)) - (cons __tmp18131 __tmp18118)))) + (cons __tmp18183 __tmp18170)))) (declare (not safe)) - (cons __tmp18143 __tmp18117)))) + (cons __tmp18195 __tmp18169)))) (declare (not safe)) - (cons __tmp18145 __tmp18116)))) + (cons __tmp18197 __tmp18168)))) (declare (not safe)) - (cons __tmp18147 __tmp18115)))) + (cons __tmp18199 __tmp18167)))) (declare (not safe)) - (cons __tmp18148 __tmp18114)) + (cons __tmp18200 __tmp18166)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| '#f - |[1]#_g18149_| + |[1]#_g18201_| '__module '#f '() '(id path import export)))) (define |[:0:]#defcore-forms| - (lambda (_stx15016_) - (letrec ((_generate15019_ - (lambda (_id15383_ _compile15385_ _make15386_) - (let* ((_g1538815407_ - (lambda (_g1538915403_) + (lambda (_stx15068_) + (letrec ((_generate15071_ + (lambda (_id15435_ _compile15437_ _make15438_) + (let* ((_g1544015459_ + (lambda (_g1544115455_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1538915403_))) - (_g1538715466_ - (lambda (_g1538915411_) - (if (gx#stx-pair? _g1538915411_) - (let ((_e1539515414_ - (gx#syntax-e _g1538915411_))) - (let ((_hd1539415418_ + _g1544115455_))) + (_g1543915518_ + (lambda (_g1544115463_) + (if (gx#stx-pair? _g1544115463_) + (let ((_e1544715466_ + (gx#syntax-e _g1544115463_))) + (let ((_hd1544615470_ (let () (declare (not safe)) - (##car _e1539515414_))) - (_tl1539315421_ + (##car _e1544715466_))) + (_tl1544515473_ (let () (declare (not safe)) - (##cdr _e1539515414_)))) - (if (gx#stx-pair? _tl1539315421_) - (let ((_e1539815424_ - (gx#syntax-e _tl1539315421_))) - (let ((_hd1539715428_ + (##cdr _e1544715466_)))) + (if (gx#stx-pair? _tl1544515473_) + (let ((_e1545015476_ + (gx#syntax-e _tl1544515473_))) + (let ((_hd1544915480_ (let () (declare (not safe)) - (##car _e1539815424_))) - (_tl1539615431_ + (##car _e1545015476_))) + (_tl1544815483_ (let () (declare (not safe)) - (##cdr _e1539815424_)))) - (if (gx#stx-pair? _tl1539615431_) - (let ((_e1540115434_ + (##cdr _e1545015476_)))) + (if (gx#stx-pair? _tl1544815483_) + (let ((_e1545315486_ (gx#syntax-e - _tl1539615431_))) - (let ((_hd1540015438_ + _tl1544815483_))) + (let ((_hd1545215490_ (let () (declare (not safe)) - (##car _e1540115434_))) - (_tl1539915441_ + (##car _e1545315486_))) + (_tl1545115493_ (let () (declare (not safe)) - (##cdr _e1540115434_)))) + (##cdr _e1545315486_)))) (if (gx#stx-null? - _tl1539915441_) - ((lambda (_L15444_ + _tl1545115493_) + ((lambda (_L15496_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _L15446_ - _L15447_) + _L15498_ + _L15499_) (let () - (let ((__tmp18156 + (let ((__tmp18208 (gx#datum->syntax '#f '__core-bind-syntax!)) - (__tmp18150 - (let ((__tmp18153 - (let ((__tmp18155 + (__tmp18202 + (let ((__tmp18205 + (let ((__tmp18207 (gx#datum->syntax '#f 'quote)) - (__tmp18154 + (__tmp18206 (let () (declare (not safe)) - (cons _L15447_ '())))) + (cons _L15499_ '())))) (declare (not safe)) - (cons __tmp18155 __tmp18154))) - (__tmp18151 - (let ((__tmp18152 + (cons __tmp18207 __tmp18206))) + (__tmp18203 + (let ((__tmp18204 (let () (declare (not safe)) - (cons _L15444_ '())))) + (cons _L15496_ '())))) (declare (not safe)) - (cons _L15446_ __tmp18152)))) + (cons _L15498_ __tmp18204)))) (declare (not safe)) - (cons __tmp18153 __tmp18151)))) + (cons __tmp18205 __tmp18203)))) (declare (not safe)) - (cons __tmp18156 __tmp18150)))) - _hd1540015438_ - _hd1539715428_ - _hd1539415418_) - (_g1538815407_ _g1538915411_)))) + (cons __tmp18208 __tmp18202)))) + _hd1545215490_ + _hd1544915480_ + _hd1544615470_) + (_g1544015459_ _g1544115463_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1538815407_ - _g1538915411_)))) - (_g1538815407_ _g1538915411_)))) - (_g1538815407_ _g1538915411_))))) - (_g1538715466_ - (list _id15383_ - (gx#stx-identifier _id15383_ '"__" _compile15385_) - _make15386_)))))) - (let* ((_g1502215042_ - (lambda (_g1502315038_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1502315038_))) - (_g1502115379_ - (lambda (_g1502315046_) - (if (gx#stx-pair? _g1502315046_) - (let ((_e1502715049_ (gx#syntax-e _g1502315046_))) - (let ((_hd1502615053_ + (_g1544015459_ + _g1544115463_)))) + (_g1544015459_ _g1544115463_)))) + (_g1544015459_ _g1544115463_))))) + (_g1543915518_ + (list _id15435_ + (gx#stx-identifier _id15435_ '"__" _compile15437_) + _make15438_)))))) + (let* ((_g1507415094_ + (lambda (_g1507515090_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1507515090_))) + (_g1507315431_ + (lambda (_g1507515098_) + (if (gx#stx-pair? _g1507515098_) + (let ((_e1507915101_ (gx#syntax-e _g1507515098_))) + (let ((_hd1507815105_ (let () (declare (not safe)) - (##car _e1502715049_))) - (_tl1502515056_ + (##car _e1507915101_))) + (_tl1507715108_ (let () (declare (not safe)) - (##cdr _e1502715049_)))) - (if (gx#stx-pair/null? _tl1502515056_) - (let ((_g18157_ + (##cdr _e1507915101_)))) + (if (gx#stx-pair/null? _tl1507715108_) + (let ((_g18209_ (gx#syntax-split-splice - _tl1502515056_ + _tl1507715108_ '0))) (begin - (let ((_g18158_ + (let ((_g18210_ (let () (declare (not safe)) - (if (##values? _g18157_) - (##vector-length _g18157_) + (if (##values? _g18209_) + (##vector-length _g18209_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g18158_ 2))) + (##fx= _g18210_ 2))) (error "Context expects 2 values" - _g18158_))) - (let ((_target1502815059_ + _g18210_))) + (let ((_target1508015111_ (let () (declare (not safe)) - (##vector-ref _g18157_ 0))) - (_tl1503015062_ + (##vector-ref _g18209_ 0))) + (_tl1508215114_ (let () (declare (not safe)) - (##vector-ref _g18157_ 1)))) - (if (gx#stx-null? _tl1503015062_) - (letrec ((_loop1503115065_ - (lambda (_hd1502915069_ - _form1503515072_) + (##vector-ref _g18209_ 1)))) + (if (gx#stx-null? _tl1508215114_) + (letrec ((_loop1508315117_ + (lambda (_hd1508115121_ + _form1508715124_) (if (gx#stx-pair? - _hd1502915069_) - (let ((_e1503215075_ + _hd1508115121_) + (let ((_e1508415127_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#syntax-e _hd1502915069_))) - (let ((_lp-hd1503315079_ - (let () (declare (not safe)) (##car _e1503215075_))) - (_lp-tl1503415082_ + (gx#syntax-e _hd1508115121_))) + (let ((_lp-hd1508515131_ + (let () (declare (not safe)) (##car _e1508415127_))) + (_lp-tl1508615134_ (let () (declare (not safe)) - (##cdr _e1503215075_)))) - (_loop1503115065_ - _lp-tl1503415082_ + (##cdr _e1508415127_)))) + (_loop1508315117_ + _lp-tl1508615134_ (let () (declare (not safe)) - (cons _lp-hd1503315079_ _form1503515072_))))) - (let ((_form1503615085_ (reverse _form1503515072_))) - ((lambda (_L15089_) - (let _lp15107_ ((_rest15110_ - (let ((__tmp18163 - (lambda (_g1537015373_ - _g1537115376_) + (cons _lp-hd1508515131_ _form1508715124_))))) + (let ((_form1508815137_ (reverse _form1508715124_))) + ((lambda (_L15141_) + (let _lp15159_ ((_rest15162_ + (let ((__tmp18215 + (lambda (_g1542215425_ + _g1542315428_) (let () (declare (not safe)) - (cons _g1537015373_ - _g1537115376_))))) + (cons _g1542215425_ + _g1542315428_))))) (declare (not safe)) - (foldr1 __tmp18163 '() _L15089_))) - (_body15112_ '())) - (let* ((___stx1749217493_ _rest15110_) - (_g1511715164_ + (foldr1 __tmp18215 '() _L15141_))) + (_body15164_ '())) + (let* ((___stx1754417545_ _rest15162_) + (_g1516915216_ (lambda () (gx#raise-syntax-error '#f '"Bad syntax" - ___stx1749217493_)))) - (let ((___kont1749517496_ - (lambda (_L15345_ _L15347_ _L15348_) - (_lp15107_ - _L15345_ - (let ((__tmp18159 - (_generate15019_ - _L15348_ - _L15347_ + ___stx1754417545_)))) + (let ((___kont1754717548_ + (lambda (_L15397_ _L15399_ _L15400_) + (_lp15159_ + _L15397_ + (let ((__tmp18211 + (_generate15071_ + _L15400_ + _L15399_ (gx#datum->syntax '#f 'make-__core-expression)))) (declare (not safe)) - (cons __tmp18159 _body15112_))))) - (___kont1749717498_ - (lambda (_L15272_ _L15274_ _L15275_) - (_lp15107_ - _L15272_ - (let ((__tmp18160 - (_generate15019_ - _L15275_ - _L15274_ + (cons __tmp18211 _body15164_))))) + (___kont1754917550_ + (lambda (_L15324_ _L15326_ _L15327_) + (_lp15159_ + _L15324_ + (let ((__tmp18212 + (_generate15071_ + _L15327_ + _L15326_ (gx#datum->syntax '#f 'make-__core-special-form)))) (declare (not safe)) - (cons __tmp18160 _body15112_))))) - (___kont1749917500_ - (lambda (_L15202_ _L15204_) - (_lp15107_ - _L15202_ - (let ((__tmp18161 - (_generate15019_ - _L15204_ + (cons __tmp18212 _body15164_))))) + (___kont1755117552_ + (lambda (_L15254_ _L15256_) + (_lp15159_ + _L15254_ + (let ((__tmp18213 + (_generate15071_ + _L15256_ (gx#datum->syntax '#f 'compile-error) @@ -1121,131 +1121,131 @@ '#f 'make-__core-form)))) (declare (not safe)) - (cons __tmp18161 _body15112_))))) - (___kont1750117502_ + (cons __tmp18213 _body15164_))))) + (___kont1755317554_ (lambda () - (let ((__tmp18162 (reverse _body15112_))) + (let ((__tmp18214 (reverse _body15164_))) (declare (not safe)) - (cons 'begin __tmp18162))))) - (let ((_g1511615175_ + (cons 'begin __tmp18214))))) + (let ((_g1516815227_ (lambda () - (if (gx#stx-null? ___stx1749217493_) - (___kont1750117502_) + (if (gx#stx-null? ___stx1754417545_) + (___kont1755317554_) (let () (declare (not safe)) - (_g1511715164_)))))) - (if (gx#stx-pair? ___stx1749217493_) - (let ((_e1512415301_ - (gx#syntax-e ___stx1749217493_))) - (let ((_tl1512215308_ + (_g1516915216_)))))) + (if (gx#stx-pair? ___stx1754417545_) + (let ((_e1517615353_ + (gx#syntax-e ___stx1754417545_))) + (let ((_tl1517415360_ (let () (declare (not safe)) - (##cdr _e1512415301_))) - (_hd1512315305_ + (##cdr _e1517615353_))) + (_hd1517515357_ (let () (declare (not safe)) - (##car _e1512415301_)))) - (if (gx#stx-pair? _hd1512315305_) - (let ((_e1512715311_ + (##car _e1517615353_)))) + (if (gx#stx-pair? _hd1517515357_) + (let ((_e1517915363_ (gx#syntax-e - _hd1512315305_))) - (let ((_tl1512515318_ + _hd1517515357_))) + (let ((_tl1517715370_ (let () (declare (not safe)) - (##cdr _e1512715311_))) - (_hd1512615315_ + (##cdr _e1517915363_))) + (_hd1517815367_ (let () (declare (not safe)) - (##car _e1512715311_)))) + (##car _e1517915363_)))) (if (gx#stx-pair? - _tl1512515318_) - (let ((_e1513015321_ + _tl1517715370_) + (let ((_e1518215373_ (gx#syntax-e - _tl1512515318_))) - (let ((_tl1512815328_ + _tl1517715370_))) + (let ((_tl1518015380_ (let () (declare (not safe)) - (##cdr _e1513015321_))) - (_hd1512915325_ + (##cdr _e1518215373_))) + (_hd1518115377_ (let () (declare (not safe)) - (##car _e1513015321_)))) + (##car _e1518215373_)))) (if (gx#stx-datum? - _hd1512915325_) - (let ((_e1513115331_ + _hd1518115377_) + (let ((_e1518315383_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#stx-e _hd1512915325_))) + (gx#stx-e _hd1518115377_))) (if (let () (declare (not safe)) - (equal? _e1513115331_ 'expr:)) - (if (gx#stx-pair? _tl1512815328_) - (let ((_e1513415335_ - (gx#syntax-e _tl1512815328_))) - (let ((_tl1513215342_ + (equal? _e1518315383_ 'expr:)) + (if (gx#stx-pair? _tl1518015380_) + (let ((_e1518615387_ + (gx#syntax-e _tl1518015380_))) + (let ((_tl1518415394_ (let () (declare (not safe)) - (##cdr _e1513415335_))) - (_hd1513315339_ + (##cdr _e1518615387_))) + (_hd1518515391_ (let () (declare (not safe)) - (##car _e1513415335_)))) - (if (gx#stx-null? _tl1513215342_) - (___kont1749517496_ - _tl1512215308_ - _hd1513315339_ - _hd1512615315_) + (##car _e1518615387_)))) + (if (gx#stx-null? _tl1518415394_) + (___kont1754717548_ + _tl1517415360_ + _hd1518515391_ + _hd1517815367_) (let () (declare (not safe)) - (_g1511715164_))))) - (let () (declare (not safe)) (_g1511715164_))) + (_g1516915216_))))) + (let () (declare (not safe)) (_g1516915216_))) (if (let () (declare (not safe)) - (equal? _e1513115331_ 'special:)) - (if (gx#stx-pair? _tl1512815328_) - (let ((_e1515015262_ - (gx#syntax-e _tl1512815328_))) - (let ((_tl1514815269_ + (equal? _e1518315383_ 'special:)) + (if (gx#stx-pair? _tl1518015380_) + (let ((_e1520215314_ + (gx#syntax-e _tl1518015380_))) + (let ((_tl1520015321_ (let () (declare (not safe)) - (##cdr _e1515015262_))) - (_hd1514915266_ + (##cdr _e1520215314_))) + (_hd1520115318_ (let () (declare (not safe)) - (##car _e1515015262_)))) - (if (gx#stx-null? _tl1514815269_) - (___kont1749717498_ - _tl1512215308_ - _hd1514915266_ - _hd1512615315_) + (##car _e1520215314_)))) + (if (gx#stx-null? _tl1520015321_) + (___kont1754917550_ + _tl1517415360_ + _hd1520115318_ + _hd1517815367_) (let () (declare (not safe)) - (_g1511715164_))))) - (let () (declare (not safe)) (_g1511715164_))) - (let () (declare (not safe)) (_g1511715164_))))) - (let () (declare (not safe)) (_g1511715164_))))) + (_g1516915216_))))) + (let () (declare (not safe)) (_g1516915216_))) + (let () (declare (not safe)) (_g1516915216_))))) + (let () (declare (not safe)) (_g1516915216_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (gx#stx-null? - _tl1512515318_) - (___kont1749917500_ - _tl1512215308_ - _hd1512615315_) + _tl1517715370_) + (___kont1755117552_ + _tl1517415360_ + _hd1517815367_) (let () (declare (not safe)) - (_g1511715164_)))))) + (_g1516915216_)))))) (let () (declare (not safe)) - (_g1511715164_))))) + (_g1516915216_))))) (let () (declare (not safe)) - (_g1511615175_)))))))) - _form1503615085_)))))) + (_g1516815227_)))))))) + _form1508815137_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_loop1503115065_ - _target1502815059_ + (_loop1508315117_ + _target1508015111_ '())) - (_g1502215042_ _g1502315046_))))) - (_g1502215042_ _g1502315046_)))) - (_g1502215042_ _g1502315046_))))) - (_g1502115379_ _stx15016_))))))) + (_g1507415094_ _g1507515098_))))) + (_g1507415094_ _g1507515098_)))) + (_g1507415094_ _g1507515098_))))) + (_g1507315431_ _stx15068_))))))) diff --git a/src/bootstrap/gerbil/runtime/gambit__0.scm b/src/bootstrap/gerbil/runtime/gambit__0.scm index b09a6f092..4ba1a9bdf 100644 --- a/src/bootstrap/gerbil/runtime/gambit__0.scm +++ b/src/bootstrap/gerbil/runtime/gambit__0.scm @@ -1,2 +1,2 @@ (declare (block) (standard-bindings) (extended-bindings)) -(begin (define gerbil/runtime/gambit::timestamp 1696542232) '#!void) +(begin (define gerbil/runtime/gambit::timestamp 1697117311) '#!void) diff --git a/src/bootstrap/gerbil/runtime/init.ssi b/src/bootstrap/gerbil/runtime/init.ssi index de0b6ab50..ac6d643bc 100644 --- a/src/bootstrap/gerbil/runtime/init.ssi +++ b/src/bootstrap/gerbil/runtime/init.ssi @@ -45,5 +45,6 @@ namespace: #f (%#define-runtime __eval-module __eval-module) (%#define-runtime gerbil-runtime-init! gerbil-runtime-init!) (%#define-runtime __expander-loaded __expander-loaded) + (%#define-runtime __runtime-initialized __runtime-initialized) (%#define-runtime gerbil-load-expander! gerbil-load-expander!)) (%#call (%#ref load-module) (%#quote "gerbil/runtime/init__0")) diff --git a/src/bootstrap/gerbil/runtime/init__0.scm b/src/bootstrap/gerbil/runtime/init__0.scm index be0557f48..3190f151f 100644 --- a/src/bootstrap/gerbil/runtime/init__0.scm +++ b/src/bootstrap/gerbil/runtime/init__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/init::timestamp 1696542233) + (define gerbil/runtime/init::timestamp 1697117311) (begin (define __loading-scheme-source (make-parameter '#f)) (define __init-gx! @@ -22,42 +22,42 @@ (set! __eval-module gx#core-eval-module))) (define __load-gxi (lambda () - (letrec* ((_+readtable+18374_ __*readtable*)) + (letrec* ((_+readtable+18426_ __*readtable*)) (let () (declare (not safe)) (__init-gx!)) - (let* ((_core18376_ (gx#import-module ':gerbil/core)) - (_pre18378_ (gx#make-prelude-context _core18376_))) - (gx#current-expander-module-prelude _pre18378_) - (gx#core-bind-root-syntax! ': _pre18378_ '#t) + (let* ((_core18428_ (gx#import-module ':gerbil/core)) + (_pre18430_ (gx#make-prelude-context _core18428_))) + (gx#current-expander-module-prelude _pre18430_) + (gx#core-bind-root-syntax! ': _pre18430_ '#t) (gx#eval-syntax '(import :gerbil/core))) (gx#current-expander-compile __compile-top-source) (let () (declare (not safe)) (##expand-source-set! __expand-source)) (let () (declare (not safe)) (##macro-descr-set! __macro-descr)) (let () (declare (not safe)) (##main-readtable-set! __*readtable*)) (for-each - (lambda (_port18381_) - (input-port-readtable-set! _port18381_ _+readtable+18374_)) + (lambda (_port18433_) + (input-port-readtable-set! _port18433_ _+readtable+18426_)) (list ##stdin-port ##console-port)) (for-each - (lambda (_port18383_) + (lambda (_port18435_) (output-port-readtable-set! - _port18383_ + _port18435_ (readtable-sharing-allowed?-set - (output-port-readtable _port18383_) + (output-port-readtable _port18435_) '#t))) (list ##stdout-port ##console-port))))) - (define __gxi-init-interactive! (lambda (_cmdline18371_) '#!void)) + (define __gxi-init-interactive! (lambda (_cmdline18423_) '#!void)) (define load-scheme - (lambda (_path18366_) - (let ((__tmp18385 + (lambda (_path18418_) + (let ((__tmp18437 (lambda () - (let ((__tmp18386 (lambda _args18369_ '#f))) + (let ((__tmp18438 (lambda _args18421_ '#f))) (declare (not safe)) - (##load _path18366_ __tmp18386 '#t '#t '#f))))) + (##load _path18418_ __tmp18438 '#t '#t '#f))))) (declare (not safe)) (call-with-parameters - __tmp18385 + __tmp18437 __loading-scheme-source - _path18366_)))) + _path18418_)))) (define load-path (lambda () (values (let () (declare (not safe)) (current-module-library-path)) @@ -68,421 +68,435 @@ (define expander-load-path (lambda () (gx#current-expander-module-library-path))) (define add-load-path - (lambda _paths18361_ - (apply add-library-load-path _paths18361_) - (apply add-expander-load-path _paths18361_))) + (lambda _paths18413_ + (apply add-library-load-path _paths18413_) + (apply add-expander-load-path _paths18413_))) (define add-library-load-path - (lambda _paths18350_ - (let* ((_current18352_ (current-module-library-path)) - (_paths18354_ (map path-expand _paths18350_)) - (_paths18358_ - (let ((__tmp18387 - (lambda (_x18356_) - (let ((__tmp18388 (member _x18356_ _current18352_))) + (lambda _paths18402_ + (let* ((_current18404_ (current-module-library-path)) + (_paths18406_ (map path-expand _paths18402_)) + (_paths18410_ + (let ((__tmp18439 + (lambda (_x18408_) + (let ((__tmp18440 (member _x18408_ _current18404_))) (declare (not safe)) - (not __tmp18388))))) + (not __tmp18440))))) (declare (not safe)) - (filter __tmp18387 _paths18354_)))) - (current-module-library-path (append _current18352_ _paths18358_))))) + (filter __tmp18439 _paths18406_)))) + (current-module-library-path (append _current18404_ _paths18410_))))) (define add-expander-load-path - (lambda _paths18339_ - (let* ((_current18341_ (gx#current-expander-module-library-path)) - (_paths18343_ (map path-expand _paths18339_)) - (_paths18347_ - (let ((__tmp18389 - (lambda (_x18345_) - (let ((__tmp18390 (member _x18345_ _current18341_))) + (lambda _paths18391_ + (let* ((_current18393_ (gx#current-expander-module-library-path)) + (_paths18395_ (map path-expand _paths18391_)) + (_paths18399_ + (let ((__tmp18441 + (lambda (_x18397_) + (let ((__tmp18442 (member _x18397_ _current18393_))) (declare (not safe)) - (not __tmp18390))))) + (not __tmp18442))))) (declare (not safe)) - (filter __tmp18389 _paths18343_)))) + (filter __tmp18441 _paths18395_)))) (gx#current-expander-module-library-path - (append _current18341_ _paths18347_))))) + (append _current18393_ _paths18399_))))) (define cons-load-path - (lambda _paths18337_ - (apply cons-library-load-path _paths18337_) - (apply cons-expander-load-path _paths18337_))) + (lambda _paths18389_ + (apply cons-library-load-path _paths18389_) + (apply cons-expander-load-path _paths18389_))) (define cons-library-load-path - (lambda _paths18332_ - (let ((_current18334_ (current-module-library-path)) - (_paths18335_ (map path-expand _paths18332_))) - (current-module-library-path (append _paths18335_ _current18334_))))) + (lambda _paths18384_ + (let ((_current18386_ (current-module-library-path)) + (_paths18387_ (map path-expand _paths18384_))) + (current-module-library-path (append _paths18387_ _current18386_))))) (define cons-expander-load-path - (lambda _paths18327_ - (let ((_current18329_ (gx#current-expander-module-library-path)) - (_paths18330_ (map path-expand _paths18327_))) + (lambda _paths18379_ + (let ((_current18381_ (gx#current-expander-module-library-path)) + (_paths18382_ (map path-expand _paths18379_))) (gx#current-expander-module-library-path - (append _paths18330_ _current18329_))))) + (append _paths18382_ _current18381_))))) (define with-cons-load-path - (lambda (_thunk18323_ . _paths18324_) + (lambda (_thunk18375_ . _paths18376_) (apply with-cons-library-load-path (lambda () (apply with-cons-expander-load-path - _thunk18323_ - _paths18324_)) - _paths18324_))) + _thunk18375_ + _paths18376_)) + _paths18376_))) (define with-cons-library-load-path - (lambda (_thunk18316_ . _paths18317_) - (let ((_current18319_ (current-module-library-path)) - (_paths18320_ (map path-expand _paths18317_))) - (let ((__tmp18392 (lambda () (_thunk18316_))) - (__tmp18391 (append _paths18320_ _current18319_))) + (lambda (_thunk18368_ . _paths18369_) + (let ((_current18371_ (current-module-library-path)) + (_paths18372_ (map path-expand _paths18369_))) + (let ((__tmp18444 (lambda () (_thunk18368_))) + (__tmp18443 (append _paths18372_ _current18371_))) (declare (not safe)) (call-with-parameters - __tmp18392 + __tmp18444 current-module-library-path - __tmp18391))))) + __tmp18443))))) (define with-cons-expander-load-path - (lambda (_thunk18309_ . _paths18310_) - (let ((_current18312_ (gx#current-expander-module-library-path)) - (_paths18313_ (map path-expand _paths18310_))) - (let ((__tmp18394 (lambda () (_thunk18309_))) - (__tmp18393 (append _paths18313_ _current18312_))) + (lambda (_thunk18361_ . _paths18362_) + (let ((_current18364_ (gx#current-expander-module-library-path)) + (_paths18365_ (map path-expand _paths18362_))) + (let ((__tmp18446 (lambda () (_thunk18361_))) + (__tmp18445 (append _paths18365_ _current18364_))) (declare (not safe)) (call-with-parameters - __tmp18394 + __tmp18446 gx#current-expander-module-library-path - __tmp18393))))) + __tmp18445))))) (define __expand-source - (lambda (_src18295_) - (letrec ((_expand18297_ - (lambda (_src18307_) - (let ((__tmp18395 + (lambda (_src18347_) + (letrec ((_expand18349_ + (lambda (_src18359_) + (let ((__tmp18447 (gx#core-expand (let () (declare (not safe)) - (__source->syntax _src18307_))))) + (__source->syntax _src18359_))))) (declare (not safe)) - (__compile-top __tmp18395)))) - (_no-expand18298_ - (lambda (_src18303_) + (__compile-top __tmp18447)))) + (_no-expand18350_ + (lambda (_src18355_) (if (__loading-scheme-source) - _src18303_ + _src18355_ (if (let () (declare (not safe)) - (##source? _src18303_)) - (let ((_code18305_ + (##source? _src18355_)) + (let ((_code18357_ (let () (declare (not safe)) - (##source-code _src18303_)))) + (##source-code _src18355_)))) (if (let () (declare (not safe)) - (pair? _code18305_)) - (if (let ((__tmp18396 + (pair? _code18357_)) + (if (let ((__tmp18448 (let () (declare (not safe)) - (##car _code18305_)))) + (##car _code18357_)))) (declare (not safe)) - (eq? '__noexpand: __tmp18396)) + (eq? '__noexpand: __tmp18448)) (let () (declare (not safe)) - (##cdr _code18305_)) + (##cdr _code18357_)) '#f) '#f)) '#f))))) - (let ((_$e18300_ - (let () (declare (not safe)) (_no-expand18298_ _src18295_)))) - (if _$e18300_ - _$e18300_ - (let () (declare (not safe)) (_expand18297_ _src18295_))))))) + (let ((_$e18352_ + (let () (declare (not safe)) (_no-expand18350_ _src18347_)))) + (if _$e18352_ + _$e18352_ + (let () (declare (not safe)) (_expand18349_ _src18347_))))))) (define __macro-descr - (lambda (_src18281_ _def-syntax?18282_) - (letrec ((_fail!18284_ + (lambda (_src18333_ _def-syntax?18334_) + (letrec ((_fail!18336_ (lambda () (let () (declare (not safe)) (##raise-expression-parsing-exception 'ill-formed-macro-transformer - _src18281_)))) - (_make-descr18285_ - (lambda (_size18289_) - (let ((_expander18292_ - (let ((__tmp18397 + _src18333_)))) + (_make-descr18337_ + (lambda (_size18341_) + (let ((_expander18344_ + (let ((__tmp18449 (lambda () (let () (declare (not safe)) (##eval-top - _src18281_ + _src18333_ ##interaction-cte))))) (declare (not safe)) (call-with-parameters - __tmp18397 + __tmp18449 __loading-scheme-source 'macro)))) (if (let () (declare (not safe)) - (procedure? _expander18292_)) + (procedure? _expander18344_)) (let () (declare (not safe)) (##make-macro-descr - _def-syntax?18282_ - _size18289_ - _expander18292_ - _src18281_)) - (let () (declare (not safe)) (_fail!18284_))))))) - (if _def-syntax?18282_ - (let () (declare (not safe)) (_make-descr18285_ '-1)) - (let ((_code18287_ - (let () (declare (not safe)) (##source-code _src18281_)))) - (if (and (let () (declare (not safe)) (##pair? _code18287_)) - (let ((__tmp18401 - (let ((__tmp18402 - (let ((__tmp18403 + _def-syntax?18334_ + _size18341_ + _expander18344_ + _src18333_)) + (let () (declare (not safe)) (_fail!18336_))))))) + (if _def-syntax?18334_ + (let () (declare (not safe)) (_make-descr18337_ '-1)) + (let ((_code18339_ + (let () (declare (not safe)) (##source-code _src18333_)))) + (if (and (let () (declare (not safe)) (##pair? _code18339_)) + (let ((__tmp18453 + (let ((__tmp18454 + (let ((__tmp18455 (let () (declare (not safe)) - (##car _code18287_)))) + (##car _code18339_)))) (declare (not safe)) - (##sourcify __tmp18403 _src18281_)))) + (##sourcify __tmp18455 _src18333_)))) (declare (not safe)) - (##source-code __tmp18402)))) + (##source-code __tmp18454)))) (declare (not safe)) - (##memq __tmp18401 '(##lambda lambda)))) + (##memq __tmp18453 '(##lambda lambda)))) (begin (let () (declare (not safe)) - (##shape _src18281_ _src18281_ '-3)) - (let ((__tmp18398 - (let ((__tmp18399 - (let ((__tmp18400 + (##shape _src18333_ _src18333_ '-3)) + (let ((__tmp18450 + (let ((__tmp18451 + (let ((__tmp18452 (let () (declare (not safe)) - (##cadr _code18287_)))) + (##cadr _code18339_)))) (declare (not safe)) - (##sourcify __tmp18400 _src18281_)))) + (##sourcify __tmp18452 _src18333_)))) (declare (not safe)) - (##form-size __tmp18399)))) + (##form-size __tmp18451)))) (declare (not safe)) - (_make-descr18285_ __tmp18398))) - (let () (declare (not safe)) (_fail!18284_)))))))) + (_make-descr18337_ __tmp18450))) + (let () (declare (not safe)) (_fail!18336_)))))))) (define __source->syntax - (lambda (_src18275_) - (let _recur18277_ ((_e18279_ _src18275_)) - (if (let () (declare (not safe)) (##source? _e18279_)) - (let ((__tmp18411 - (let ((__tmp18412 + (lambda (_src18327_) + (let _recur18329_ ((_e18331_ _src18327_)) + (if (let () (declare (not safe)) (##source? _e18331_)) + (let ((__tmp18463 + (let ((__tmp18464 (let () (declare (not safe)) - (##source-code _e18279_)))) + (##source-code _e18331_)))) (declare (not safe)) - (_recur18277_ __tmp18412))) - (__tmp18410 - (let () (declare (not safe)) (##source-locat _e18279_)))) + (_recur18329_ __tmp18464))) + (__tmp18462 + (let () (declare (not safe)) (##source-locat _e18331_)))) (declare (not safe)) - (##structure AST::t __tmp18411 __tmp18410)) - (if (let () (declare (not safe)) (pair? _e18279_)) - (let ((__tmp18408 - (let ((__tmp18409 + (##structure AST::t __tmp18463 __tmp18462)) + (if (let () (declare (not safe)) (pair? _e18331_)) + (let ((__tmp18460 + (let ((__tmp18461 (let () (declare (not safe)) - (##car _e18279_)))) + (##car _e18331_)))) (declare (not safe)) - (_recur18277_ __tmp18409))) - (__tmp18406 - (let ((__tmp18407 + (_recur18329_ __tmp18461))) + (__tmp18458 + (let ((__tmp18459 (let () (declare (not safe)) - (##cdr _e18279_)))) + (##cdr _e18331_)))) (declare (not safe)) - (_recur18277_ __tmp18407)))) + (_recur18329_ __tmp18459)))) (declare (not safe)) - (cons __tmp18408 __tmp18406)) - (if (let () (declare (not safe)) (vector? _e18279_)) - (vector-map _recur18277_ _e18279_) - (if (let () (declare (not safe)) (box? _e18279_)) - (let ((__tmp18404 - (let ((__tmp18405 (unbox _e18279_))) + (cons __tmp18460 __tmp18458)) + (if (let () (declare (not safe)) (vector? _e18331_)) + (vector-map _recur18329_ _e18331_) + (if (let () (declare (not safe)) (box? _e18331_)) + (let ((__tmp18456 + (let ((__tmp18457 (unbox _e18331_))) (declare (not safe)) - (_recur18277_ __tmp18405)))) + (_recur18329_ __tmp18457)))) (declare (not safe)) - (box __tmp18404)) - _e18279_))))))) + (box __tmp18456)) + _e18331_))))))) (define __compile-top-source - (lambda (_stx18273_) - (let ((__tmp18413 - (let () (declare (not safe)) (__compile-top _stx18273_)))) + (lambda (_stx18325_) + (let ((__tmp18465 + (let () (declare (not safe)) (__compile-top _stx18325_)))) (declare (not safe)) - (cons '__noexpand: __tmp18413)))) + (cons '__noexpand: __tmp18465)))) (define __compile-top - (lambda (_stx18271_) - (let ((__tmp18414 (gx#core-compile-top-syntax _stx18271_))) + (lambda (_stx18323_) + (let ((__tmp18466 (gx#core-compile-top-syntax _stx18323_))) (declare (not safe)) - (__compile __tmp18414)))) + (__compile __tmp18466)))) (define __eval-import - (lambda (_in18252_) - (letrec* ((_mods18254_ + (lambda (_in18304_) + (letrec* ((_mods18306_ (let () (declare (not safe)) (make-table 'test: eq?))) - (_import118255_ - (lambda (_in18262_ _phi18263_) - (if (gx#module-import? _in18262_) - (let ((_iphi18265_ - (fx+ _phi18263_ - (gx#module-import-phi _in18262_)))) + (_import118307_ + (lambda (_in18314_ _phi18315_) + (if (gx#module-import? _in18314_) + (let ((_iphi18317_ + (fx+ _phi18315_ + (gx#module-import-phi _in18314_)))) (if (let () (declare (not safe)) - (fxzero? _iphi18265_)) - (let ((__tmp18416 + (fxzero? _iphi18317_)) + (let ((__tmp18468 (gx#module-export-context - (gx#module-import-source _in18262_)))) + (gx#module-import-source _in18314_)))) (declare (not safe)) - (_eval118256_ __tmp18416)) + (_eval118308_ __tmp18468)) '#!void)) - (if (gx#module-context? _in18262_) + (if (gx#module-context? _in18314_) (if (let () (declare (not safe)) - (fxzero? _phi18263_)) + (fxzero? _phi18315_)) (let () (declare (not safe)) - (_eval118256_ _in18262_)) + (_eval118308_ _in18314_)) '#!void) - (if (gx#import-set? _in18262_) - (let ((_iphi18267_ - (fx+ _phi18263_ - (gx#import-set-phi _in18262_)))) + (if (gx#import-set? _in18314_) + (let ((_iphi18319_ + (fx+ _phi18315_ + (gx#import-set-phi _in18314_)))) (if (let () (declare (not safe)) - (fxzero? _iphi18267_)) - (let ((__tmp18415 + (fxzero? _iphi18319_)) + (let ((__tmp18467 (gx#import-set-source - _in18262_))) + _in18314_))) (declare (not safe)) - (_eval118256_ __tmp18415)) - (if (fxpositive? _iphi18267_) + (_eval118308_ __tmp18467)) + (if (fxpositive? _iphi18319_) (for-each - (lambda (_in18269_) + (lambda (_in18321_) (let () (declare (not safe)) - (_import118255_ - _in18269_ - _iphi18267_))) + (_import118307_ + _in18321_ + _iphi18319_))) (gx#module-context-import - (gx#import-set-source _in18262_))) + (gx#import-set-source _in18314_))) '#!void))) - (error '"Unexpected import" _in18262_)))))) - (_eval118256_ - (lambda (_ctx18260_) + (error '"Unexpected import" _in18314_)))))) + (_eval118308_ + (lambda (_ctx18312_) (if (let () (declare (not safe)) - (table-ref _mods18254_ _ctx18260_ '#f)) + (table-ref _mods18306_ _ctx18312_ '#f)) '#!void (begin (let () (declare (not safe)) - (table-set! _mods18254_ _ctx18260_ '#t)) - (__eval-module _ctx18260_)))))) - (if (let () (declare (not safe)) (pair? _in18252_)) + (table-set! _mods18306_ _ctx18312_ '#t)) + (__eval-module _ctx18312_)))))) + (if (let () (declare (not safe)) (pair? _in18304_)) (for-each - (lambda (_in18258_) - (let () (declare (not safe)) (_import118255_ _in18258_ '0))) - _in18252_) - (let () (declare (not safe)) (_import118255_ _in18252_ '0)))))) + (lambda (_in18310_) + (let () (declare (not safe)) (_import118307_ _in18310_ '0))) + _in18304_) + (let () (declare (not safe)) (_import118307_ _in18304_ '0)))))) (define __eval-module - (lambda (_obj18245_) - (let* ((_key18247_ - (if (gx#module-context? _obj18245_) - (gx#module-context-path _obj18245_) - _obj18245_)) - (_$e18249_ + (lambda (_obj18297_) + (let* ((_key18299_ + (if (gx#module-context? _obj18297_) + (gx#module-context-path _obj18297_) + _obj18297_)) + (_$e18301_ (let () (declare (not safe)) - (table-ref __*modules* _key18247_ '#f)))) - (if _$e18249_ (values _$e18249_) (gx#core-eval-module _obj18245_))))) + (table-ref __*modules* _key18299_ '#f)))) + (if _$e18301_ (values _$e18301_) (gx#core-eval-module _obj18297_))))) (define gerbil-runtime-init! - (lambda (_builtin-modules18180_) - (let* ((_home18182_ (let () (declare (not safe)) (gerbil-home))) - (_libdir18184_ (path-expand '"lib" _home18182_)) - (_loadpath18193_ - (let ((_$e18186_ (getenv '"GERBIL_LOADPATH" '#f))) - (if _$e18186_ - ((lambda (_envvar18189_) - (let ((__tmp18418 - (lambda (_x18191_) - (let ((__tmp18419 - (let () + (lambda (_builtin-modules18232_) + (if __runtime-initialized + '#!void + (begin + (let* ((_home18234_ (let () (declare (not safe)) (gerbil-home))) + (_libdir18236_ (path-expand '"lib" _home18234_)) + (_loadpath18245_ + (let ((_$e18238_ (getenv '"GERBIL_LOADPATH" '#f))) + (if _$e18238_ + ((lambda (_envvar18241_) + (let ((__tmp18470 + (lambda (_x18243_) + (let ((__tmp18471 + (let () + (declare (not safe)) + (string-empty? _x18243_)))) + (declare (not safe)) + (not __tmp18471)))) + (__tmp18469 + (let () + (declare (not safe)) + (string-split _envvar18241_ '#\:)))) + (declare (not safe)) + (filter __tmp18470 __tmp18469))) + _$e18238_) + '()))) + (_userpath18247_ + (path-expand + '"lib" + (let () (declare (not safe)) (gerbil-path)))) + (_loadpath18249_ + (if (getenv '"GERBIL_BUILD_PREFIX" '#f) + _loadpath18245_ + (let () + (declare (not safe)) + (cons _userpath18247_ _loadpath18245_))))) + (current-module-library-path + (let () + (declare (not safe)) + (cons _libdir18236_ _loadpath18249_)))) + (let* ((_registry-entry18254_ + (lambda (_m18252_) + (let () + (declare (not safe)) + (cons _m18252_ 'builtin)))) + (_module-registry18294_ + (let _lp18256_ ((_rest18258_ _builtin-modules18232_) + (_registry18259_ '())) + (let* ((_rest1826018268_ _rest18258_) + (_else1826218276_ + (lambda () + (let () + (declare (not safe)) + (list->table _registry18259_)))) + (_K1826418282_ + (lambda (_rest18279_ _mod18280_) + (let ((__tmp18472 + (let ((__tmp18476 + (let ((__tmp18477 + (string-append + _mod18280_ + '"__0"))) + (declare (not safe)) + (_registry-entry18254_ + __tmp18477))) + (__tmp18473 + (let ((__tmp18474 + (let ((__tmp18475 + (string-append + _mod18280_ + '"__rt"))) + (declare (not safe)) + (_registry-entry18254_ + __tmp18475)))) + (declare (not safe)) + (cons __tmp18474 + _registry18259_)))) (declare (not safe)) - (string-empty? _x18191_)))) + (cons __tmp18476 __tmp18473)))) (declare (not safe)) - (not __tmp18419)))) - (__tmp18417 - (let () + (_lp18256_ _rest18279_ __tmp18472))))) + (if (let () + (declare (not safe)) + (##pair? _rest1826018268_)) + (let ((_hd1826518285_ + (let () + (declare (not safe)) + (##car _rest1826018268_))) + (_tl1826618287_ + (let () + (declare (not safe)) + (##cdr _rest1826018268_)))) + (let* ((_mod18290_ _hd1826518285_) + (_rest18292_ _tl1826618287_)) (declare (not safe)) - (string-split _envvar18189_ '#\:)))) - (declare (not safe)) - (filter __tmp18418 __tmp18417))) - _$e18186_) - '()))) - (_userpath18195_ - (path-expand - '"lib" - (let () (declare (not safe)) (gerbil-path)))) - (_loadpath18197_ - (if (getenv '"GERBIL_BUILD_PREFIX" '#f) - _loadpath18193_ - (let () - (declare (not safe)) - (cons _userpath18195_ _loadpath18193_))))) - (current-module-library-path - (let () (declare (not safe)) (cons _libdir18184_ _loadpath18197_)))) - (let* ((_registry-entry18202_ - (lambda (_m18200_) - (let () (declare (not safe)) (cons _m18200_ 'builtin)))) - (_module-registry18242_ - (let _lp18204_ ((_rest18206_ _builtin-modules18180_) - (_registry18207_ '())) - (let* ((_rest1820818216_ _rest18206_) - (_else1821018224_ - (lambda () - (let () - (declare (not safe)) - (list->table _registry18207_)))) - (_K1821218230_ - (lambda (_rest18227_ _mod18228_) - (let ((__tmp18420 - (let ((__tmp18424 - (let ((__tmp18425 - (string-append - _mod18228_ - '"__0"))) - (declare (not safe)) - (_registry-entry18202_ - __tmp18425))) - (__tmp18421 - (let ((__tmp18422 - (let ((__tmp18423 - (string-append - _mod18228_ - '"__rt"))) - (declare (not safe)) - (_registry-entry18202_ - __tmp18423)))) - (declare (not safe)) - (cons __tmp18422 - _registry18207_)))) - (declare (not safe)) - (cons __tmp18424 __tmp18421)))) - (declare (not safe)) - (_lp18204_ _rest18227_ __tmp18420))))) - (if (let () - (declare (not safe)) - (##pair? _rest1820818216_)) - (let ((_hd1821318233_ - (let () - (declare (not safe)) - (##car _rest1820818216_))) - (_tl1821418235_ - (let () - (declare (not safe)) - (##cdr _rest1820818216_)))) - (let* ((_mod18238_ _hd1821318233_) - (_rest18240_ _tl1821418235_)) - (declare (not safe)) - (_K1821218230_ _rest18240_ _mod18238_))) - (let () (declare (not safe)) (_else1821018224_))))))) - (current-module-registry _module-registry18242_)) - (current-readtable __*readtable*) - (random-source-randomize! default-random-source))) + (_K1826418282_ _rest18292_ _mod18290_))) + (let () + (declare (not safe)) + (_else1826218276_))))))) + (current-module-registry _module-registry18294_)) + (current-readtable __*readtable*) + (random-source-randomize! default-random-source) + (set! __runtime-initialized '#t))))) (define __expander-loaded '#f) + (define __runtime-initialized '#f) (define gerbil-load-expander! (lambda () + (if __runtime-initialized + '#!void + (error '"runtime has not been initialized")) (if __expander-loaded '#!void (begin diff --git a/src/bootstrap/gerbil/runtime/loader__0.scm b/src/bootstrap/gerbil/runtime/loader__0.scm index 4f49e9543..52347462b 100644 --- a/src/bootstrap/gerbil/runtime/loader__0.scm +++ b/src/bootstrap/gerbil/runtime/loader__0.scm @@ -1,118 +1,118 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/loader::timestamp 1696542232) + (define gerbil/runtime/loader::timestamp 1697117311) (begin (define current-module-library-path (make-parameter '#f)) (define current-module-registry (make-parameter '#f)) (define __reload-module (make-parameter '#f)) (define load-module__% - (lambda (_modpath8908_ _reload?8909_) - (let ((_$e8911_ - (if (let () (declare (not safe)) (not _reload?8909_)) - (let ((__tmp8930 (current-module-registry))) + (lambda (_modpath8960_ _reload?8961_) + (let ((_$e8963_ + (if (let () (declare (not safe)) (not _reload?8961_)) + (let ((__tmp8982 (current-module-registry))) (declare (not safe)) - (table-ref __tmp8930 _modpath8908_ '#f)) + (table-ref __tmp8982 _modpath8960_ '#f)) '#f))) - (if _$e8911_ - _$e8911_ - (let ((_$e8914_ + (if _$e8963_ + _$e8963_ + (let ((_$e8966_ (let () (declare (not safe)) - (find-library-module _modpath8908_)))) - (if _$e8914_ - ((lambda (_path8917_) - (let ((_lpath8919_ (load _path8917_))) - (let ((__tmp8931 (current-module-registry))) + (find-library-module _modpath8960_)))) + (if _$e8966_ + ((lambda (_path8969_) + (let ((_lpath8971_ (load _path8969_))) + (let ((__tmp8983 (current-module-registry))) (declare (not safe)) - (table-set! __tmp8931 _modpath8908_ _lpath8919_)) - _lpath8919_)) - _$e8914_) - (error '"module not found" _modpath8908_))))))) + (table-set! __tmp8983 _modpath8960_ _lpath8971_)) + _lpath8971_)) + _$e8966_) + (error '"module not found" _modpath8960_))))))) (define load-module__0 - (lambda (_modpath8924_) - (let ((_reload?8926_ (__reload-module))) + (lambda (_modpath8976_) + (let ((_reload?8978_ (__reload-module))) (declare (not safe)) - (load-module__% _modpath8924_ _reload?8926_)))) + (load-module__% _modpath8976_ _reload?8978_)))) (define load-module - (lambda _g8933_ - (let ((_g8932_ (let () (declare (not safe)) (##length _g8933_)))) - (cond ((let () (declare (not safe)) (##fx= _g8932_ 1)) - (apply (lambda (_modpath8924_) + (lambda _g8985_ + (let ((_g8984_ (let () (declare (not safe)) (##length _g8985_)))) + (cond ((let () (declare (not safe)) (##fx= _g8984_ 1)) + (apply (lambda (_modpath8976_) (let () (declare (not safe)) - (load-module__0 _modpath8924_))) - _g8933_)) - ((let () (declare (not safe)) (##fx= _g8932_ 2)) - (apply (lambda (_modpath8928_ _reload?8929_) + (load-module__0 _modpath8976_))) + _g8985_)) + ((let () (declare (not safe)) (##fx= _g8984_ 2)) + (apply (lambda (_modpath8980_ _reload?8981_) (let () (declare (not safe)) - (load-module__% _modpath8928_ _reload?8929_))) - _g8933_)) + (load-module__% _modpath8980_ _reload?8981_))) + _g8985_)) (else (##raise-wrong-number-of-arguments-exception load-module - _g8933_)))))) + _g8985_)))))) (define find-library-module - (lambda (_modpath8842_) - (letrec ((_find-compiled-file8844_ - (lambda (_npath8896_) - (let ((_basepath8898_ + (lambda (_modpath8894_) + (letrec ((_find-compiled-file8896_ + (lambda (_npath8948_) + (let ((_basepath8950_ (let () (declare (not safe)) - (##string-append _npath8896_ '".o")))) - (let _lp8900_ ((_current8902_ '#f) (_n8903_ '1)) - (let ((_next8905_ - (let ((__tmp8934 (number->string _n8903_))) + (##string-append _npath8948_ '".o")))) + (let _lp8952_ ((_current8954_ '#f) (_n8955_ '1)) + (let ((_next8957_ + (let ((__tmp8986 (number->string _n8955_))) (declare (not safe)) - (##string-append _basepath8898_ __tmp8934)))) + (##string-append _basepath8950_ __tmp8986)))) (if (let () (declare (not safe)) - (##file-exists? _next8905_)) - (let ((__tmp8935 + (##file-exists? _next8957_)) + (let ((__tmp8987 (let () (declare (not safe)) - (##fx+ _n8903_ '1)))) + (##fx+ _n8955_ '1)))) (declare (not safe)) - (_lp8900_ _next8905_ __tmp8935)) - _current8902_)))))) - (_find-source-file8845_ - (lambda (_npath8892_) - (let ((_spath8894_ (string-append _npath8892_ '".scm"))) + (_lp8952_ _next8957_ __tmp8987)) + _current8954_)))))) + (_find-source-file8897_ + (lambda (_npath8944_) + (let ((_spath8946_ (string-append _npath8944_ '".scm"))) (if (let () (declare (not safe)) - (##file-exists? _spath8894_)) - _spath8894_ + (##file-exists? _spath8946_)) + _spath8946_ '#f))))) - (let _lp8847_ ((_rest8849_ (current-module-library-path))) - (let* ((_rest88508858_ _rest8849_) - (_else88528866_ (lambda () '#f)) - (_K88548880_ - (lambda (_rest8869_ _dir8870_) - (let* ((_npath8872_ + (let _lp8899_ ((_rest8901_ (current-module-library-path))) + (let* ((_rest89028910_ _rest8901_) + (_else89048918_ (lambda () '#f)) + (_K89068932_ + (lambda (_rest8921_ _dir8922_) + (let* ((_npath8924_ (path-expand - _modpath8842_ - (path-expand _dir8870_))) - (_$e8874_ + _modpath8894_ + (path-expand _dir8922_))) + (_$e8926_ (let () (declare (not safe)) - (_find-compiled-file8844_ _npath8872_)))) - (if _$e8874_ - (path-normalize _$e8874_) - (let ((_$e8877_ + (_find-compiled-file8896_ _npath8924_)))) + (if _$e8926_ + (path-normalize _$e8926_) + (let ((_$e8929_ (let () (declare (not safe)) - (_find-source-file8845_ _npath8872_)))) - (if _$e8877_ - (path-normalize _$e8877_) + (_find-source-file8897_ _npath8924_)))) + (if _$e8929_ + (path-normalize _$e8929_) (let () (declare (not safe)) - (_lp8847_ _rest8869_))))))))) - (if (let () (declare (not safe)) (##pair? _rest88508858_)) - (let ((_hd88558883_ - (let () (declare (not safe)) (##car _rest88508858_))) - (_tl88568885_ - (let () (declare (not safe)) (##cdr _rest88508858_)))) - (let* ((_dir8888_ _hd88558883_) (_rest8890_ _tl88568885_)) + (_lp8899_ _rest8921_))))))))) + (if (let () (declare (not safe)) (##pair? _rest89028910_)) + (let ((_hd89078935_ + (let () (declare (not safe)) (##car _rest89028910_))) + (_tl89088937_ + (let () (declare (not safe)) (##cdr _rest89028910_)))) + (let* ((_dir8940_ _hd89078935_) (_rest8942_ _tl89088937_)) (declare (not safe)) - (_K88548880_ _rest8890_ _dir8888_))) - (let () (declare (not safe)) (_else88528866_)))))))))) + (_K89068932_ _rest8942_ _dir8940_))) + (let () (declare (not safe)) (_else89048918_)))))))))) diff --git a/src/bootstrap/gerbil/runtime/mop__0.scm b/src/bootstrap/gerbil/runtime/mop__0.scm index d0b612eba..b50453b89 100644 --- a/src/bootstrap/gerbil/runtime/mop__0.scm +++ b/src/bootstrap/gerbil/runtime/mop__0.scm @@ -1,2505 +1,2506 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/mop::timestamp 1696542232) + (define gerbil/runtime/mop::timestamp 1697117311) (begin (define type-descriptor? - (lambda (_klass10669_) - (if (let () (declare (not safe)) (##type? _klass10669_)) - (let ((__tmp10679 + (lambda (_klass10721_) + (if (let () (declare (not safe)) (##type? _klass10721_)) + (let ((__tmp10731 (let () (declare (not safe)) - (##structure-length _klass10669_)))) + (##structure-length _klass10721_)))) (declare (not safe)) - (eq? __tmp10679 '12)) + (eq? __tmp10731 '12)) '#f))) (define struct-type? - (lambda (_klass10667_) - (if (let () (declare (not safe)) (type-descriptor? _klass10667_)) - (let ((__tmp10680 + (lambda (_klass10719_) + (if (let () (declare (not safe)) (type-descriptor? _klass10719_)) + (let ((__tmp10732 (let () (declare (not safe)) - (type-descriptor-mixin _klass10667_)))) + (type-descriptor-mixin _klass10719_)))) (declare (not safe)) - (not __tmp10680)) + (not __tmp10732)) '#f))) (define class-type? - (lambda (_klass10665_) - (if (let () (declare (not safe)) (type-descriptor? _klass10665_)) + (lambda (_klass10717_) + (if (let () (declare (not safe)) (type-descriptor? _klass10717_)) (if (let () (declare (not safe)) - (type-descriptor-mixin _klass10665_)) + (type-descriptor-mixin _klass10717_)) '#t '#f) '#f))) (define make-type-descriptor - (lambda (_type-id10561_ - _type-name10562_ - _type-super10563_ - _rtd-mixin10564_ - _rtd-fields10565_ - _rtd-plist10566_ - _rtd-ctor10567_ - _rtd-slots10568_ - _rtd-methods10569_) - (letrec ((_put-props!10571_ - (lambda (_ht10645_ _key10646_) - (letrec ((_put-plist!10648_ - (lambda (_ht10654_ _key10655_ _plist10656_) - (let ((_$e10658_ + (lambda (_type-id10613_ + _type-name10614_ + _type-super10615_ + _rtd-mixin10616_ + _rtd-fields10617_ + _rtd-plist10618_ + _rtd-ctor10619_ + _rtd-slots10620_ + _rtd-methods10621_) + (letrec ((_put-props!10623_ + (lambda (_ht10697_ _key10698_) + (letrec ((_put-plist!10700_ + (lambda (_ht10706_ _key10707_ _plist10708_) + (let ((_$e10710_ (let () (declare (not safe)) - (assgetq _key10655_ _plist10656_)))) - (if _$e10658_ - ((lambda (_lst10661_) + (assgetq _key10707_ _plist10708_)))) + (if _$e10710_ + ((lambda (_lst10713_) (for-each - (lambda (_id10663_) + (lambda (_id10715_) (let () (declare (not safe)) (table-set! - _ht10654_ - _id10663_ + _ht10706_ + _id10715_ '#t))) - _lst10661_)) - _$e10658_) + _lst10713_)) + _$e10710_) '#!void))))) (let () (declare (not safe)) - (_put-plist!10648_ - _ht10645_ - _key10646_ - _rtd-plist10566_)) - (if _rtd-mixin10564_ + (_put-plist!10700_ + _ht10697_ + _key10698_ + _rtd-plist10618_)) + (if _rtd-mixin10616_ (for-each - (lambda (_klass10650_) + (lambda (_klass10702_) (if (let () (declare (not safe)) - (type-descriptor-mixin _klass10650_)) - (let ((_plist10652_ + (type-descriptor-mixin _klass10702_)) + (let ((_plist10704_ (let () (declare (not safe)) (type-descriptor-plist - _klass10650_)))) + _klass10702_)))) (if (let () (declare (not safe)) - (assgetq 'transparent: _plist10652_)) + (assgetq 'transparent: _plist10704_)) (let () (declare (not safe)) - (_put-plist!10648_ - _ht10645_ + (_put-plist!10700_ + _ht10697_ 'slots: - _plist10652_)) + _plist10704_)) (let () (declare (not safe)) - (_put-plist!10648_ - _ht10645_ - _key10646_ - _plist10652_)))) + (_put-plist!10700_ + _ht10697_ + _key10698_ + _plist10704_)))) '#!void)) - _rtd-mixin10564_) + _rtd-mixin10616_) '#!void))))) - (let* ((_transparent?10573_ + (let* ((_transparent?10625_ (let () (declare (not safe)) - (assgetq 'transparent: _rtd-plist10566_))) - (_field-names10578_ - (let ((_$e10575_ (assq 'fields: _rtd-plist10566_))) - (if _$e10575_ (cdr _$e10575_) '()))) - (_field-names10585_ - (let ((_$e10580_ (assq 'slots: _rtd-plist10566_))) - (if _$e10580_ - ((lambda (_slots10583_) - (append _field-names10578_ (cdr _slots10583_))) - _$e10580_) - _field-names10578_))) - (_g10681_ - (if (fx= _rtd-fields10565_ (length _field-names10585_)) + (assgetq 'transparent: _rtd-plist10618_))) + (_field-names10630_ + (let ((_$e10627_ (assq 'fields: _rtd-plist10618_))) + (if _$e10627_ (cdr _$e10627_) '()))) + (_field-names10637_ + (let ((_$e10632_ (assq 'slots: _rtd-plist10618_))) + (if _$e10632_ + ((lambda (_slots10635_) + (append _field-names10630_ (cdr _slots10635_))) + _$e10632_) + _field-names10630_))) + (_g10733_ + (if (fx= _rtd-fields10617_ (length _field-names10637_)) '#!void (error '"Bad field descriptor; length mismatch" - _type-id10561_ - _rtd-fields10565_ - _field-names10585_))) - (_canonical-fields10588_ - (if _type-super10563_ + _type-id10613_ + _rtd-fields10617_ + _field-names10637_))) + (_canonical-fields10640_ + (if _type-super10615_ (list-tail - _field-names10585_ + _field-names10637_ (let () (declare (not safe)) - (type-descriptor-fields _type-super10563_))) - _field-names10585_)) - (_printable10592_ - (if _transparent?10573_ + (type-descriptor-fields _type-super10615_))) + _field-names10637_)) + (_printable10644_ + (if _transparent?10625_ '#f - (let ((_ht10590_ + (let ((_ht10642_ (let () (declare (not safe)) (make-table 'test: eq?)))) (let () (declare (not safe)) - (_put-props!10571_ _ht10590_ 'print:)) - _ht10590_))) - (_equality10596_ - (if _transparent?10573_ + (_put-props!10623_ _ht10642_ 'print:)) + _ht10642_))) + (_equality10648_ + (if _transparent?10625_ '#f - (let ((_ht10594_ + (let ((_ht10646_ (let () (declare (not safe)) (make-table 'test: eq?)))) (let () (declare (not safe)) - (_put-props!10571_ _ht10594_ 'equal:)) - _ht10594_))) - (_field-info10637_ - (let _recur10598_ ((_rest10600_ _canonical-fields10588_)) - (let* ((_rest1060110609_ _rest10600_) - (_else1060310617_ (lambda () '())) - (_K1060510625_ - (lambda (_rest10620_ _id10621_) - (let* ((_flags10623_ - (if _transparent?10573_ + (_put-props!10623_ _ht10646_ 'equal:)) + _ht10646_))) + (_field-info10689_ + (let _recur10650_ ((_rest10652_ _canonical-fields10640_)) + (let* ((_rest1065310661_ _rest10652_) + (_else1065510669_ (lambda () '())) + (_K1065710677_ + (lambda (_rest10672_ _id10673_) + (let* ((_flags10675_ + (if _transparent?10625_ '0 - (let ((__tmp10683 + (let ((__tmp10735 (if (let () (declare (not safe)) (table-ref - _printable10592_ - _id10621_ + _printable10644_ + _id10673_ '#f)) '0 '1)) - (__tmp10682 + (__tmp10734 (if (let () (declare (not safe)) (table-ref - _equality10596_ - _id10621_ + _equality10648_ + _id10673_ '#f)) '0 '4))) (declare (not safe)) - (##fxior __tmp10683 __tmp10682)))) - (__tmp10684 - (let ((__tmp10685 - (let ((__tmp10686 + (##fxior __tmp10735 __tmp10734)))) + (__tmp10736 + (let ((__tmp10737 + (let ((__tmp10738 (let () (declare (not safe)) - (_recur10598_ - _rest10620_)))) + (_recur10650_ + _rest10672_)))) (declare (not safe)) - (cons '#f __tmp10686)))) + (cons '#f __tmp10738)))) (declare (not safe)) - (cons _flags10623_ __tmp10685)))) + (cons _flags10675_ __tmp10737)))) (declare (not safe)) - (cons _id10621_ __tmp10684))))) + (cons _id10673_ __tmp10736))))) (if (let () (declare (not safe)) - (##pair? _rest1060110609_)) - (let ((_hd1060610628_ + (##pair? _rest1065310661_)) + (let ((_hd1065810680_ (let () (declare (not safe)) - (##car _rest1060110609_))) - (_tl1060710630_ + (##car _rest1065310661_))) + (_tl1065910682_ (let () (declare (not safe)) - (##cdr _rest1060110609_)))) - (let* ((_id10633_ _hd1060610628_) - (_rest10635_ _tl1060710630_)) + (##cdr _rest1065310661_)))) + (let* ((_id10685_ _hd1065810680_) + (_rest10687_ _tl1065910682_)) (declare (not safe)) - (_K1060510625_ _rest10635_ _id10633_))) - (let () (declare (not safe)) (_else1060310617_)))))) - (_opaque?10642_ - (if (or _transparent?10573_ (assq 'equal: _rtd-plist10566_)) - (if _type-super10563_ - (let ((__tmp10687 - (let ((__tmp10688 + (_K1065710677_ _rest10687_ _id10685_))) + (let () (declare (not safe)) (_else1065510669_)))))) + (_opaque?10694_ + (if (or _transparent?10625_ (assq 'equal: _rtd-plist10618_)) + (if _type-super10615_ + (let ((__tmp10739 + (let ((__tmp10740 (let () (declare (not safe)) - (##type-flags _type-super10563_)))) + (##type-flags _type-super10615_)))) (declare (not safe)) - (##fxand __tmp10688 '1)))) + (##fxand __tmp10740 '1)))) (declare (not safe)) - (##fx= __tmp10687 '1)) + (##fx= __tmp10739 '1)) '#f) '#t))) - (let ((__tmp10690 (+ '24 (if _opaque?10642_ '1 '0))) - (__tmp10689 (list->vector _field-info10637_))) + (let ((__tmp10742 (+ '24 (if _opaque?10694_ '1 '0))) + (__tmp10741 (list->vector _field-info10689_))) (declare (not safe)) (##structure ##type-type - _type-id10561_ - _type-name10562_ - __tmp10690 - _type-super10563_ - __tmp10689 - _rtd-mixin10564_ - _rtd-fields10565_ - _rtd-plist10566_ - _rtd-ctor10567_ - _rtd-slots10568_ - _rtd-methods10569_)))))) + _type-id10613_ + _type-name10614_ + __tmp10742 + _type-super10615_ + __tmp10741 + _rtd-mixin10616_ + _rtd-fields10617_ + _rtd-plist10618_ + _rtd-ctor10619_ + _rtd-slots10620_ + _rtd-methods10621_)))))) (define make-struct-type-descriptor - (lambda (_id10554_ - _name10555_ - _super10556_ - _fields10557_ - _plist10558_ - _ctor10559_) + (lambda (_id10606_ + _name10607_ + _super10608_ + _fields10609_ + _plist10610_ + _ctor10611_) (let () (declare (not safe)) (make-type-descriptor - _id10554_ - _name10555_ - _super10556_ + _id10606_ + _name10607_ + _super10608_ '#f - _fields10557_ - _plist10558_ - _ctor10559_ + _fields10609_ + _plist10610_ + _ctor10611_ '#f '#f)))) (define make-class-type-descriptor - (lambda (_id10545_ - _name10546_ - _super10547_ - _mixin10548_ - _fields10549_ - _plist10550_ - _ctor10551_ - _slots10552_) + (lambda (_id10597_ + _name10598_ + _super10599_ + _mixin10600_ + _fields10601_ + _plist10602_ + _ctor10603_ + _slots10604_) (let () (declare (not safe)) (make-type-descriptor - _id10545_ - _name10546_ - _super10547_ - _mixin10548_ - _fields10549_ - _plist10550_ - _ctor10551_ - _slots10552_ + _id10597_ + _name10598_ + _super10599_ + _mixin10600_ + _fields10601_ + _plist10602_ + _ctor10603_ + _slots10604_ '#f)))) (define type-descriptor-mixin - (lambda (_klass10543_) - (let () (declare (not safe)) (##vector-ref _klass10543_ '6)))) + (lambda (_klass10595_) + (let () (declare (not safe)) (##vector-ref _klass10595_ '6)))) (define type-descriptor-fields - (lambda (_klass10541_) - (let () (declare (not safe)) (##vector-ref _klass10541_ '7)))) + (lambda (_klass10593_) + (let () (declare (not safe)) (##vector-ref _klass10593_ '7)))) (define type-descriptor-plist - (lambda (_klass10539_) - (let () (declare (not safe)) (##vector-ref _klass10539_ '8)))) + (lambda (_klass10591_) + (let () (declare (not safe)) (##vector-ref _klass10591_ '8)))) (define type-descriptor-ctor - (lambda (_klass10537_) - (let () (declare (not safe)) (##vector-ref _klass10537_ '9)))) + (lambda (_klass10589_) + (let () (declare (not safe)) (##vector-ref _klass10589_ '9)))) (define type-descriptor-slots - (lambda (_klass10535_) - (let () (declare (not safe)) (##vector-ref _klass10535_ '10)))) + (lambda (_klass10587_) + (let () (declare (not safe)) (##vector-ref _klass10587_ '10)))) (define type-descriptor-methods - (lambda (_klass10533_) - (let () (declare (not safe)) (##vector-ref _klass10533_ '11)))) + (lambda (_klass10585_) + (let () (declare (not safe)) (##vector-ref _klass10585_ '11)))) (define type-descriptor-methods-set! - (lambda (_klass10530_ _ht10531_) + (lambda (_klass10582_ _ht10583_) (let () (declare (not safe)) - (##vector-set! _klass10530_ '11 _ht10531_)))) + (##vector-set! _klass10582_ '11 _ht10583_)))) (define type-descriptor-sealed? - (lambda (_klass10528_) - (let ((__tmp10691 - (let () (declare (not safe)) (##type-flags _klass10528_)))) + (lambda (_klass10580_) + (let ((__tmp10743 + (let () (declare (not safe)) (##type-flags _klass10580_)))) (declare (not safe)) - (##fxbit-set? '20 __tmp10691)))) + (##fxbit-set? '20 __tmp10743)))) (define type-descriptor-seal! - (lambda (_klass10526_) - (let ((__tmp10692 - (let ((__tmp10694 + (lambda (_klass10578_) + (let ((__tmp10744 + (let ((__tmp10746 (let () (declare (not safe)) (##fxarithmetic-shift '1 '20))) - (__tmp10693 + (__tmp10745 (let () (declare (not safe)) - (##type-flags _klass10526_)))) + (##type-flags _klass10578_)))) (declare (not safe)) - (##fxior __tmp10694 __tmp10693)))) + (##fxior __tmp10746 __tmp10745)))) (declare (not safe)) - (##vector-set! _klass10526_ '3 __tmp10692)))) + (##vector-set! _klass10578_ '3 __tmp10744)))) (define make-struct-type__% - (lambda (_id10475_ - _super10476_ - _fields10477_ - _name10478_ - _plist10479_ - _ctor10480_ - _field-names10481_) - (if (and _super10476_ - (let ((__tmp10695 + (lambda (_id10527_ + _super10528_ + _fields10529_ + _name10530_ + _plist10531_ + _ctor10532_ + _field-names10533_) + (if (and _super10528_ + (let ((__tmp10747 (let () (declare (not safe)) - (struct-type? _super10476_)))) + (struct-type? _super10528_)))) (declare (not safe)) - (not __tmp10695))) - (error '"Illegal super type; not a struct-type" _super10476_) + (not __tmp10747))) + (error '"Illegal super type; not a struct-type" _super10528_) '#!void) - (if (and _super10476_ - (let ((__tmp10696 + (if (and _super10528_ + (let ((__tmp10748 (let () (declare (not safe)) - (type-descriptor-plist _super10476_)))) + (type-descriptor-plist _super10528_)))) (declare (not safe)) - (assgetq 'final: __tmp10696))) - (error '"Cannot extend final struct" _super10476_) + (assgetq 'final: __tmp10748))) + (error '"Cannot extend final struct" _super10528_) '#!void) - (let* ((_super-fields10483_ - (if _super10476_ + (let* ((_super-fields10535_ + (if _super10528_ (let () (declare (not safe)) - (type-descriptor-fields _super10476_)) + (type-descriptor-fields _super10528_)) '0)) - (_std-fields10485_ (fx+ _fields10477_ _super-fields10483_)) - (_std-field-names10495_ - (let* ((_super-fields10487_ - (if _super10476_ - (let ((__tmp10697 + (_std-fields10537_ (fx+ _fields10529_ _super-fields10535_)) + (_std-field-names10547_ + (let* ((_super-fields10539_ + (if _super10528_ + (let ((__tmp10749 (let () (declare (not safe)) - (type-descriptor-plist _super10476_)))) + (type-descriptor-plist _super10528_)))) (declare (not safe)) - (assgetq 'fields: __tmp10697)) + (assgetq 'fields: __tmp10749)) '())) - (_field-names10492_ - (let ((_$e10489_ _field-names10481_)) - (if _$e10489_ - _$e10489_ - (make-list _fields10477_ ':))))) - (append _super-fields10487_ _field-names10492_))) - (_g10699_ - (if (let ((__tmp10698 (length _std-field-names10495_))) + (_field-names10544_ + (let ((_$e10541_ _field-names10533_)) + (if _$e10541_ + _$e10541_ + (make-list _fields10529_ ':))))) + (append _super-fields10539_ _field-names10544_))) + (_g10751_ + (if (let ((__tmp10750 (length _std-field-names10547_))) (declare (not safe)) - (##fx= _std-fields10485_ __tmp10698)) + (##fx= _std-fields10537_ __tmp10750)) '#!void (error '"Bad field specification; length mismatch" - _id10475_ - _std-fields10485_ - _std-field-names10495_))) - (_std-plist10498_ - (let ((__tmp10700 + _id10527_ + _std-fields10537_ + _std-field-names10547_))) + (_std-plist10550_ + (let ((__tmp10752 (let () (declare (not safe)) - (cons 'fields: _std-field-names10495_)))) + (cons 'fields: _std-field-names10547_)))) (declare (not safe)) - (cons __tmp10700 _plist10479_))) - (_ctor10503_ - (let ((_$e10500_ _ctor10480_)) - (if _$e10500_ - _$e10500_ - (if _super10476_ + (cons __tmp10752 _plist10531_))) + (_ctor10555_ + (let ((_$e10552_ _ctor10532_)) + (if _$e10552_ + _$e10552_ + (if _super10528_ (let () (declare (not safe)) - (type-descriptor-ctor _super10476_)) + (type-descriptor-ctor _super10528_)) '#f))))) (let () (declare (not safe)) (make-struct-type-descriptor - _id10475_ - _name10478_ - _super10476_ - _std-fields10485_ - _std-plist10498_ - _ctor10503_))))) + _id10527_ + _name10530_ + _super10528_ + _std-fields10537_ + _std-plist10550_ + _ctor10555_))))) (define make-struct-type__0 - (lambda (_id10509_ - _super10510_ - _fields10511_ - _name10512_ - _plist10513_ - _ctor10514_) - (let ((_field-names10516_ '#f)) + (lambda (_id10561_ + _super10562_ + _fields10563_ + _name10564_ + _plist10565_ + _ctor10566_) + (let ((_field-names10568_ '#f)) (declare (not safe)) (make-struct-type__% - _id10509_ - _super10510_ - _fields10511_ - _name10512_ - _plist10513_ - _ctor10514_ - _field-names10516_)))) + _id10561_ + _super10562_ + _fields10563_ + _name10564_ + _plist10565_ + _ctor10566_ + _field-names10568_)))) (define make-struct-type - (lambda _g10702_ - (let ((_g10701_ (let () (declare (not safe)) (##length _g10702_)))) - (cond ((let () (declare (not safe)) (##fx= _g10701_ 6)) - (apply (lambda (_id10509_ - _super10510_ - _fields10511_ - _name10512_ - _plist10513_ - _ctor10514_) + (lambda _g10754_ + (let ((_g10753_ (let () (declare (not safe)) (##length _g10754_)))) + (cond ((let () (declare (not safe)) (##fx= _g10753_ 6)) + (apply (lambda (_id10561_ + _super10562_ + _fields10563_ + _name10564_ + _plist10565_ + _ctor10566_) (let () (declare (not safe)) (make-struct-type__0 - _id10509_ - _super10510_ - _fields10511_ - _name10512_ - _plist10513_ - _ctor10514_))) - _g10702_)) - ((let () (declare (not safe)) (##fx= _g10701_ 7)) - (apply (lambda (_id10518_ - _super10519_ - _fields10520_ - _name10521_ - _plist10522_ - _ctor10523_ - _field-names10524_) + _id10561_ + _super10562_ + _fields10563_ + _name10564_ + _plist10565_ + _ctor10566_))) + _g10754_)) + ((let () (declare (not safe)) (##fx= _g10753_ 7)) + (apply (lambda (_id10570_ + _super10571_ + _fields10572_ + _name10573_ + _plist10574_ + _ctor10575_ + _field-names10576_) (let () (declare (not safe)) (make-struct-type__% - _id10518_ - _super10519_ - _fields10520_ - _name10521_ - _plist10522_ - _ctor10523_ - _field-names10524_))) - _g10702_)) + _id10570_ + _super10571_ + _fields10572_ + _name10573_ + _plist10574_ + _ctor10575_ + _field-names10576_))) + _g10754_)) (else (##raise-wrong-number-of-arguments-exception make-struct-type - _g10702_)))))) + _g10754_)))))) (define make-struct-predicate - (lambda (_klass10466_) - (let ((_tid10468_ - (let () (declare (not safe)) (##type-id _klass10466_)))) - (if (let ((__tmp10703 + (lambda (_klass10518_) + (let ((_tid10520_ + (let () (declare (not safe)) (##type-id _klass10518_)))) + (if (let ((__tmp10755 (let () (declare (not safe)) - (type-descriptor-plist _klass10466_)))) + (type-descriptor-plist _klass10518_)))) (declare (not safe)) - (assgetq 'final: __tmp10703)) - (lambda (_obj10470_) + (assgetq 'final: __tmp10755)) + (lambda (_obj10522_) (let () (declare (not safe)) - (##structure-direct-instance-of? _obj10470_ _tid10468_))) - (lambda (_obj10472_) + (##structure-direct-instance-of? _obj10522_ _tid10520_))) + (lambda (_obj10524_) (let () (declare (not safe)) - (##structure-instance-of? _obj10472_ _tid10468_))))))) + (##structure-instance-of? _obj10524_ _tid10520_))))))) (define make-struct-field-accessor - (lambda (_klass10459_ _field10460_) - (let ((_off10462_ - (let ((__tmp10704 + (lambda (_klass10511_ _field10512_) + (let ((_off10514_ + (let ((__tmp10756 (let () (declare (not safe)) - (struct-field-offset _klass10459_ _field10460_)))) + (struct-field-offset _klass10511_ _field10512_)))) (declare (not safe)) - (##fx+ __tmp10704 '1)))) - (lambda (_obj10464_) + (##fx+ __tmp10756 '1)))) + (lambda (_obj10516_) (let () (declare (not safe)) - (##structure-ref _obj10464_ _off10462_ _klass10459_ '#f)))))) + (##structure-ref _obj10516_ _off10514_ _klass10511_ '#f)))))) (define make-struct-field-mutator - (lambda (_klass10451_ _field10452_) - (let ((_off10454_ - (let ((__tmp10705 + (lambda (_klass10503_ _field10504_) + (let ((_off10506_ + (let ((__tmp10757 (let () (declare (not safe)) - (struct-field-offset _klass10451_ _field10452_)))) + (struct-field-offset _klass10503_ _field10504_)))) (declare (not safe)) - (##fx+ __tmp10705 '1)))) - (lambda (_obj10456_ _val10457_) + (##fx+ __tmp10757 '1)))) + (lambda (_obj10508_ _val10509_) (let () (declare (not safe)) (##structure-set! - _obj10456_ - _val10457_ - _off10454_ - _klass10451_ + _obj10508_ + _val10509_ + _off10506_ + _klass10503_ '#f)))))) (define make-struct-field-unchecked-accessor - (lambda (_klass10444_ _field10445_) - (let ((_off10447_ - (let ((__tmp10706 + (lambda (_klass10496_ _field10497_) + (let ((_off10499_ + (let ((__tmp10758 (let () (declare (not safe)) - (struct-field-offset _klass10444_ _field10445_)))) + (struct-field-offset _klass10496_ _field10497_)))) (declare (not safe)) - (##fx+ __tmp10706 '1)))) - (lambda (_obj10449_) + (##fx+ __tmp10758 '1)))) + (lambda (_obj10501_) (let () (declare (not safe)) (##unchecked-structure-ref - _obj10449_ - _off10447_ - _klass10444_ + _obj10501_ + _off10499_ + _klass10496_ '#f)))))) (define make-struct-field-unchecked-mutator - (lambda (_klass10436_ _field10437_) - (let ((_off10439_ - (let ((__tmp10707 + (lambda (_klass10488_ _field10489_) + (let ((_off10491_ + (let ((__tmp10759 (let () (declare (not safe)) - (struct-field-offset _klass10436_ _field10437_)))) + (struct-field-offset _klass10488_ _field10489_)))) (declare (not safe)) - (##fx+ __tmp10707 '1)))) - (lambda (_obj10441_ _val10442_) + (##fx+ __tmp10759 '1)))) + (lambda (_obj10493_ _val10494_) (let () (declare (not safe)) (##unchecked-structure-set! - _obj10441_ - _val10442_ - _off10439_ - _klass10436_ + _obj10493_ + _val10494_ + _off10491_ + _klass10488_ '#f)))))) (define struct-field-offset - (lambda (_klass10430_ _field10431_) - (let ((__tmp10708 - (let ((_$e10433_ + (lambda (_klass10482_ _field10483_) + (let ((__tmp10760 + (let ((_$e10485_ (let () (declare (not safe)) - (##type-super _klass10430_)))) - (if _$e10433_ + (##type-super _klass10482_)))) + (if _$e10485_ (let () (declare (not safe)) - (type-descriptor-fields _$e10433_)) + (type-descriptor-fields _$e10485_)) '0)))) (declare (not safe)) - (##fx+ _field10431_ __tmp10708)))) + (##fx+ _field10483_ __tmp10760)))) (define struct-field-ref - (lambda (_klass10426_ _obj10427_ _off10428_) - (let ((__tmp10709 (let () (declare (not safe)) (##fx+ _off10428_ '1)))) + (lambda (_klass10478_ _obj10479_ _off10480_) + (let ((__tmp10761 (let () (declare (not safe)) (##fx+ _off10480_ '1)))) (declare (not safe)) - (##structure-ref _obj10427_ __tmp10709 _klass10426_ '#f)))) + (##structure-ref _obj10479_ __tmp10761 _klass10478_ '#f)))) (define struct-field-set! - (lambda (_klass10421_ _obj10422_ _off10423_ _val10424_) - (let ((__tmp10710 (let () (declare (not safe)) (##fx+ _off10423_ '1)))) + (lambda (_klass10473_ _obj10474_ _off10475_ _val10476_) + (let ((__tmp10762 (let () (declare (not safe)) (##fx+ _off10475_ '1)))) (declare (not safe)) (##structure-set! - _obj10422_ - _val10424_ - __tmp10710 - _klass10421_ + _obj10474_ + _val10476_ + __tmp10762 + _klass10473_ '#f)))) (define struct-subtype? - (lambda (_klass10412_ _xklass10413_) - (let ((_klass-t10415_ - (let () (declare (not safe)) (##type-id _klass10412_)))) - (let _lp10417_ ((_next10419_ _xklass10413_)) - (if (let () (declare (not safe)) (not _next10419_)) + (lambda (_klass10464_ _xklass10465_) + (let ((_klass-t10467_ + (let () (declare (not safe)) (##type-id _klass10464_)))) + (let _lp10469_ ((_next10471_ _xklass10465_)) + (if (let () (declare (not safe)) (not _next10471_)) '#f - (if (let ((__tmp10712 + (if (let ((__tmp10764 (let () (declare (not safe)) - (##type-id _next10419_)))) + (##type-id _next10471_)))) (declare (not safe)) - (eq? _klass-t10415_ __tmp10712)) + (eq? _klass-t10467_ __tmp10764)) '#t - (let ((__tmp10711 + (let ((__tmp10763 (let () (declare (not safe)) - (##type-super _next10419_)))) + (##type-super _next10471_)))) (declare (not safe)) - (_lp10417_ __tmp10711)))))))) + (_lp10469_ __tmp10763)))))))) (define make-class-type - (lambda (_id10119_ - _super10120_ - _slots10121_ - _name10122_ - _plist10123_ - _ctor10124_) - (letrec ((_class-slots10126_ - (lambda (_klass10410_) - (let ((__tmp10713 + (lambda (_id10171_ + _super10172_ + _slots10173_ + _name10174_ + _plist10175_ + _ctor10176_) + (letrec ((_class-slots10178_ + (lambda (_klass10462_) + (let ((__tmp10765 (let () (declare (not safe)) - (type-descriptor-plist _klass10410_)))) + (type-descriptor-plist _klass10462_)))) (declare (not safe)) - (assgetq 'slots: __tmp10713)))) - (_make-slots10127_ - (lambda (_off10361_) - (let ((_slot-table10363_ + (assgetq 'slots: __tmp10765)))) + (_make-slots10179_ + (lambda (_off10413_) + (let ((_slot-table10415_ (let () (declare (not safe)) (make-table 'test: eq?)))) - (let _lp10365_ ((_rest10367_ _super10120_) - (_off10368_ _off10361_) - (_slot-list10369_ '())) - (let* ((_rest1037010378_ _rest10367_) - (_else1037210389_ + (let _lp10417_ ((_rest10419_ _super10172_) + (_off10420_ _off10413_) + (_slot-list10421_ '())) + (let* ((_rest1042210430_ _rest10419_) + (_else1042410441_ (lambda () - (let ((__tmp10714 - (lambda (_off10386_ _slot-list10387_) - (values _off10386_ - _slot-table10363_ - (reverse _slot-list10387_))))) + (let ((__tmp10766 + (lambda (_off10438_ _slot-list10439_) + (values _off10438_ + _slot-table10415_ + (reverse _slot-list10439_))))) (declare (not safe)) - (_merge-slots10128_ - _slot-table10363_ - _slots10121_ - _off10368_ - _slot-list10369_ - __tmp10714)))) - (_K1037410398_ - (lambda (_rest10392_ _hd10393_) - (let ((__tmp10716 + (_merge-slots10180_ + _slot-table10415_ + _slots10173_ + _off10420_ + _slot-list10421_ + __tmp10766)))) + (_K1042610450_ + (lambda (_rest10444_ _hd10445_) + (let ((__tmp10768 (let () (declare (not safe)) - (_class-slots10126_ _hd10393_))) - (__tmp10715 - (lambda (_off10395_ _slot-list10396_) + (_class-slots10178_ _hd10445_))) + (__tmp10767 + (lambda (_off10447_ _slot-list10448_) (let () (declare (not safe)) - (_lp10365_ - _rest10392_ - _off10395_ - _slot-list10396_))))) + (_lp10417_ + _rest10444_ + _off10447_ + _slot-list10448_))))) (declare (not safe)) - (_merge-slots10128_ - _slot-table10363_ - __tmp10716 - _off10368_ - _slot-list10369_ - __tmp10715))))) + (_merge-slots10180_ + _slot-table10415_ + __tmp10768 + _off10420_ + _slot-list10421_ + __tmp10767))))) (if (let () (declare (not safe)) - (##pair? _rest1037010378_)) - (let ((_hd1037510401_ + (##pair? _rest1042210430_)) + (let ((_hd1042710453_ (let () (declare (not safe)) - (##car _rest1037010378_))) - (_tl1037610403_ + (##car _rest1042210430_))) + (_tl1042810455_ (let () (declare (not safe)) - (##cdr _rest1037010378_)))) - (let* ((_hd10406_ _hd1037510401_) - (_rest10408_ _tl1037610403_)) + (##cdr _rest1042210430_)))) + (let* ((_hd10458_ _hd1042710453_) + (_rest10460_ _tl1042810455_)) (declare (not safe)) - (_K1037410398_ _rest10408_ _hd10406_))) + (_K1042610450_ _rest10460_ _hd10458_))) (let () (declare (not safe)) - (_else1037210389_)))))))) - (_merge-slots10128_ - (lambda (_ht10316_ _lst10317_ _off10318_ _r10319_ _K10320_) - (let _lp10322_ ((_rest10324_ _lst10317_) - (_off10325_ _off10318_) - (_r10326_ _r10319_)) - (let* ((_rest1032710335_ _rest10324_) - (_else1032910343_ - (lambda () (_K10320_ _off10325_ _r10326_))) - (_K1033110349_ - (lambda (_rest10346_ _slot10347_) + (_else1042410441_)))))))) + (_merge-slots10180_ + (lambda (_ht10368_ _lst10369_ _off10370_ _r10371_ _K10372_) + (let _lp10374_ ((_rest10376_ _lst10369_) + (_off10377_ _off10370_) + (_r10378_ _r10371_)) + (let* ((_rest1037910387_ _rest10376_) + (_else1038110395_ + (lambda () (_K10372_ _off10377_ _r10378_))) + (_K1038310401_ + (lambda (_rest10398_ _slot10399_) (if (let () (declare (not safe)) - (table-ref _ht10316_ _slot10347_ '#f)) + (table-ref _ht10368_ _slot10399_ '#f)) (let () (declare (not safe)) - (_lp10322_ - _rest10346_ - _off10325_ - _r10326_)) + (_lp10374_ + _rest10398_ + _off10377_ + _r10378_)) (begin (let () (declare (not safe)) (table-set! - _ht10316_ - _slot10347_ - _off10325_)) - (let ((__tmp10717 - (symbol->keyword _slot10347_))) + _ht10368_ + _slot10399_ + _off10377_)) + (let ((__tmp10769 + (symbol->keyword _slot10399_))) (declare (not safe)) (table-set! - _ht10316_ - __tmp10717 - _off10325_)) - (let ((__tmp10719 + _ht10368_ + __tmp10769 + _off10377_)) + (let ((__tmp10771 (let () (declare (not safe)) - (##fx+ _off10325_ '1))) - (__tmp10718 + (##fx+ _off10377_ '1))) + (__tmp10770 (let () (declare (not safe)) - (cons _slot10347_ _r10326_)))) + (cons _slot10399_ _r10378_)))) (declare (not safe)) - (_lp10322_ - _rest10346_ - __tmp10719 - __tmp10718))))))) + (_lp10374_ + _rest10398_ + __tmp10771 + __tmp10770))))))) (if (let () (declare (not safe)) - (##pair? _rest1032710335_)) - (let ((_hd1033210352_ + (##pair? _rest1037910387_)) + (let ((_hd1038410404_ (let () (declare (not safe)) - (##car _rest1032710335_))) - (_tl1033310354_ + (##car _rest1037910387_))) + (_tl1038510406_ (let () (declare (not safe)) - (##cdr _rest1032710335_)))) - (let* ((_slot10357_ _hd1033210352_) - (_rest10359_ _tl1033310354_)) + (##cdr _rest1037910387_)))) + (let* ((_slot10409_ _hd1038410404_) + (_rest10411_ _tl1038510406_)) (declare (not safe)) - (_K1033110349_ _rest10359_ _slot10357_))) + (_K1038310401_ _rest10411_ _slot10409_))) (let () (declare (not safe)) - (_else1032910343_))))))) - (_find-super-ctor10129_ - (lambda (_super10268_) - (let _lp10270_ ((_rest10272_ _super10268_) - (_ctor10273_ '#f)) - (let* ((_rest1027410282_ _rest10272_) - (_else1027610290_ (lambda () _ctor10273_)) - (_K1027810304_ - (lambda (_rest10293_ _hd10294_) - (let ((_$e10296_ + (_else1038110395_))))))) + (_find-super-ctor10181_ + (lambda (_super10320_) + (let _lp10322_ ((_rest10324_ _super10320_) + (_ctor10325_ '#f)) + (let* ((_rest1032610334_ _rest10324_) + (_else1032810342_ (lambda () _ctor10325_)) + (_K1033010356_ + (lambda (_rest10345_ _hd10346_) + (let ((_$e10348_ (let () (declare (not safe)) - (type-descriptor-ctor _hd10294_)))) - (if _$e10296_ - ((lambda (_xctor10299_) + (type-descriptor-ctor _hd10346_)))) + (if _$e10348_ + ((lambda (_xctor10351_) (if (or (let () (declare (not safe)) - (not _ctor10273_)) + (not _ctor10325_)) (let () (declare (not safe)) - (eq? _ctor10273_ - _xctor10299_))) + (eq? _ctor10325_ + _xctor10351_))) (let () (declare (not safe)) - (_lp10270_ - _rest10293_ - _xctor10299_)) + (_lp10322_ + _rest10345_ + _xctor10351_)) (error '"Conflicting implicit constructors" - _ctor10273_ - _xctor10299_))) - _$e10296_) + _ctor10325_ + _xctor10351_))) + _$e10348_) (let () (declare (not safe)) - (_lp10270_ - _rest10293_ - _ctor10273_))))))) + (_lp10322_ + _rest10345_ + _ctor10325_))))))) (if (let () (declare (not safe)) - (##pair? _rest1027410282_)) - (let ((_hd1027910307_ + (##pair? _rest1032610334_)) + (let ((_hd1033110359_ (let () (declare (not safe)) - (##car _rest1027410282_))) - (_tl1028010309_ + (##car _rest1032610334_))) + (_tl1033210361_ (let () (declare (not safe)) - (##cdr _rest1027410282_)))) - (let* ((_hd10312_ _hd1027910307_) - (_rest10314_ _tl1028010309_)) + (##cdr _rest1032610334_)))) + (let* ((_hd10364_ _hd1033110359_) + (_rest10366_ _tl1033210361_)) (declare (not safe)) - (_K1027810304_ _rest10314_ _hd10312_))) + (_K1033010356_ _rest10366_ _hd10364_))) (let () (declare (not safe)) - (_else1027610290_))))))) - (_find-super-struct10130_ - (lambda (_super10215_) - (letrec ((_base-struct10217_ - (lambda (_super-struct10257_ _klass10258_) - (if _super-struct10257_ + (_else1032810342_))))))) + (_find-super-struct10182_ + (lambda (_super10267_) + (letrec ((_base-struct10269_ + (lambda (_super-struct10309_ _klass10310_) + (if _super-struct10309_ (if (let () (declare (not safe)) (struct-subtype? - _super-struct10257_ - _klass10258_)) - (let _lp10260_ ((_klass10262_ - _klass10258_)) + _super-struct10309_ + _klass10310_)) + (let _lp10312_ ((_klass10314_ + _klass10310_)) (if (let () (declare (not safe)) - (struct-type? _klass10262_)) - _klass10262_ - (let ((__tmp10720 + (struct-type? _klass10314_)) + _klass10314_ + (let ((__tmp10772 (let () (declare (not safe)) (##type-super - _klass10262_)))) + _klass10314_)))) (declare (not safe)) - (_lp10260_ __tmp10720)))) + (_lp10312_ __tmp10772)))) (if (let () (declare (not safe)) (struct-subtype? - _klass10258_ - _super-struct10257_)) - _super-struct10257_ + _klass10310_ + _super-struct10309_)) + _super-struct10309_ (error '"Bad mixin: incompatible struct bases" - _klass10258_ - _super-struct10257_))) + _klass10310_ + _super-struct10309_))) (if (let () (declare (not safe)) - (struct-type? _klass10258_)) - _klass10258_ + (struct-type? _klass10310_)) + _klass10310_ (if (let () (declare (not safe)) - (class-type? _klass10258_)) - (let _lp10264_ ((_next10266_ + (class-type? _klass10310_)) + (let _lp10316_ ((_next10318_ (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (##type-super _klass10258_)))) + (##type-super _klass10310_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (if (let () (declare (not safe)) - (not _next10266_)) + (not _next10318_)) '#f (if (let () (declare (not safe)) (struct-type? - _next10266_)) - _next10266_ + _next10318_)) + _next10318_ (if (let () (declare (not safe)) (class-type? - _next10266_)) + _next10318_)) (let () (declare (not safe)) - (_lp10264_ - _next10266_)) + (_lp10316_ + _next10318_)) '#f)))) '#f)))))) - (let _lp10219_ ((_rest10221_ _super10215_) - (_super-struct10222_ '#f)) - (let* ((_rest1022310231_ _rest10221_) - (_else1022510239_ - (lambda () _super-struct10222_)) - (_K1022710245_ - (lambda (_rest10242_ _hd10243_) - (let ((__tmp10721 + (let _lp10271_ ((_rest10273_ _super10267_) + (_super-struct10274_ '#f)) + (let* ((_rest1027510283_ _rest10273_) + (_else1027710291_ + (lambda () _super-struct10274_)) + (_K1027910297_ + (lambda (_rest10294_ _hd10295_) + (let ((__tmp10773 (let () (declare (not safe)) - (_base-struct10217_ - _super-struct10222_ - _hd10243_)))) + (_base-struct10269_ + _super-struct10274_ + _hd10295_)))) (declare (not safe)) - (_lp10219_ _rest10242_ __tmp10721))))) + (_lp10271_ _rest10294_ __tmp10773))))) (if (let () (declare (not safe)) - (##pair? _rest1022310231_)) - (let ((_hd1022810248_ + (##pair? _rest1027510283_)) + (let ((_hd1028010300_ (let () (declare (not safe)) - (##car _rest1022310231_))) - (_tl1022910250_ + (##car _rest1027510283_))) + (_tl1028110302_ (let () (declare (not safe)) - (##cdr _rest1022310231_)))) - (let* ((_hd10253_ _hd1022810248_) - (_rest10255_ _tl1022910250_)) + (##cdr _rest1027510283_)))) + (let* ((_hd10305_ _hd1028010300_) + (_rest10307_ _tl1028110302_)) (declare (not safe)) - (_K1022710245_ _rest10255_ _hd10253_))) + (_K1027910297_ _rest10307_ _hd10305_))) (let () (declare (not safe)) - (_else1022510239_)))))))) - (_expand-struct-mixin10131_ - (lambda (_super10170_) - (let _lp10172_ ((_rest10174_ _super10170_) - (_mixin10175_ '())) - (let* ((_rest1017610184_ _rest10174_) - (_else1017810192_ - (lambda () (reverse _mixin10175_))) - (_K1018010203_ - (lambda (_rest10195_ _hd10196_) + (_else1027710291_)))))))) + (_expand-struct-mixin10183_ + (lambda (_super10222_) + (let _lp10224_ ((_rest10226_ _super10222_) + (_mixin10227_ '())) + (let* ((_rest1022810236_ _rest10226_) + (_else1023010244_ + (lambda () (reverse _mixin10227_))) + (_K1023210255_ + (lambda (_rest10247_ _hd10248_) (if (let () (declare (not safe)) - (struct-type? _hd10196_)) - (let _lp210198_ ((_next10200_ _hd10196_) - (_mixin10201_ - _mixin10175_)) + (struct-type? _hd10248_)) + (let _lp210250_ ((_next10252_ _hd10248_) + (_mixin10253_ + _mixin10227_)) (if (let () (declare (not safe)) - (not _next10200_)) + (not _next10252_)) (let () (declare (not safe)) - (_lp10172_ - _rest10195_ - _mixin10201_)) + (_lp10224_ + _rest10247_ + _mixin10253_)) (if (let () (declare (not safe)) - (struct-type? _next10200_)) - (let ((__tmp10724 + (struct-type? _next10252_)) + (let ((__tmp10776 (let () (declare (not safe)) (##type-super - _next10200_))) - (__tmp10723 + _next10252_))) + (__tmp10775 (let () (declare (not safe)) - (cons _next10200_ - _mixin10201_)))) + (cons _next10252_ + _mixin10253_)))) (declare (not safe)) - (_lp210198_ - __tmp10724 - __tmp10723)) + (_lp210250_ + __tmp10776 + __tmp10775)) (let () (declare (not safe)) - (_lp10172_ - _rest10195_ - _mixin10201_))))) - (let ((__tmp10722 + (_lp10224_ + _rest10247_ + _mixin10253_))))) + (let ((__tmp10774 (let () (declare (not safe)) - (cons _hd10196_ _mixin10175_)))) + (cons _hd10248_ _mixin10227_)))) (declare (not safe)) - (_lp10172_ _rest10195_ __tmp10722)))))) + (_lp10224_ _rest10247_ __tmp10774)))))) (if (let () (declare (not safe)) - (##pair? _rest1017610184_)) - (let ((_hd1018110206_ + (##pair? _rest1022810236_)) + (let ((_hd1023310258_ (let () (declare (not safe)) - (##car _rest1017610184_))) - (_tl1018210208_ + (##car _rest1022810236_))) + (_tl1023410260_ (let () (declare (not safe)) - (##cdr _rest1017610184_)))) - (let* ((_hd10211_ _hd1018110206_) - (_rest10213_ _tl1018210208_)) + (##cdr _rest1022810236_)))) + (let* ((_hd10263_ _hd1023310258_) + (_rest10265_ _tl1023410260_)) (declare (not safe)) - (_K1018010203_ _rest10213_ _hd10211_))) + (_K1023210255_ _rest10265_ _hd10263_))) (let () (declare (not safe)) - (_else1017810192_)))))))) - (let ((_$e10135_ - (let ((__tmp10725 - (lambda (_klass10133_) - (let ((__tmp10726 + (_else1023010244_)))))))) + (let ((_$e10187_ + (let ((__tmp10777 + (lambda (_klass10185_) + (let ((__tmp10778 (let () (declare (not safe)) - (type-descriptor? _klass10133_)))) + (type-descriptor? _klass10185_)))) (declare (not safe)) - (not __tmp10726))))) + (not __tmp10778))))) (declare (not safe)) - (find __tmp10725 _super10120_)))) - (if _$e10135_ - ((lambda (_klass10138_) + (find __tmp10777 _super10172_)))) + (if _$e10187_ + ((lambda (_klass10190_) (error '"Illegal super class; not a type descriptor" - _klass10138_)) - _$e10135_) - (let ((_$e10142_ - (let ((__tmp10727 - (lambda (_klass10140_) - (let ((__tmp10728 + _klass10190_)) + _$e10187_) + (let ((_$e10194_ + (let ((__tmp10779 + (lambda (_klass10192_) + (let ((__tmp10780 (let () (declare (not safe)) (type-descriptor-plist - _klass10140_)))) + _klass10192_)))) (declare (not safe)) - (assgetq 'final: __tmp10728))))) + (assgetq 'final: __tmp10780))))) (declare (not safe)) - (find __tmp10727 _super10120_)))) - (if _$e10142_ - ((lambda (_klass10145_) - (error '"Cannot extend final class" _klass10145_)) - _$e10142_) + (find __tmp10779 _super10172_)))) + (if _$e10194_ + ((lambda (_klass10197_) + (error '"Cannot extend final class" _klass10197_)) + _$e10194_) '#!void)))) - (let* ((_std-super10147_ + (let* ((_std-super10199_ (let () (declare (not safe)) - (_find-super-struct10130_ _super10120_))) - (_mixin10149_ - (if _std-super10147_ + (_find-super-struct10182_ _super10172_))) + (_mixin10201_ + (if _std-super10199_ (let () (declare (not safe)) - (_expand-struct-mixin10131_ _super10120_)) - _super10120_))) - (let ((_g10729_ - (let ((__tmp10731 - (if _std-super10147_ + (_expand-struct-mixin10183_ _super10172_)) + _super10172_))) + (let ((_g10781_ + (let ((__tmp10783 + (if _std-super10199_ (let () (declare (not safe)) - (type-descriptor-fields _std-super10147_)) + (type-descriptor-fields _std-super10199_)) '0))) (declare (not safe)) - (_make-slots10127_ __tmp10731)))) + (_make-slots10179_ __tmp10783)))) (begin - (let ((_g10730_ + (let ((_g10782_ (let () (declare (not safe)) - (if (##values? _g10729_) - (##vector-length _g10729_) + (if (##values? _g10781_) + (##vector-length _g10781_) 1)))) - (if (not (let () (declare (not safe)) (##fx= _g10730_ 3))) - (error "Context expects 3 values" _g10730_))) - (let ((_std-fields10152_ - (let () (declare (not safe)) (##vector-ref _g10729_ 0))) - (_std-slots10153_ - (let () (declare (not safe)) (##vector-ref _g10729_ 1))) - (_std-slot-list10154_ + (if (not (let () (declare (not safe)) (##fx= _g10782_ 3))) + (error "Context expects 3 values" _g10782_))) + (let ((_std-fields10204_ + (let () (declare (not safe)) (##vector-ref _g10781_ 0))) + (_std-slots10205_ + (let () (declare (not safe)) (##vector-ref _g10781_ 1))) + (_std-slot-list10206_ (let () (declare (not safe)) - (##vector-ref _g10729_ 2)))) - (let* ((_std-mixin10156_ + (##vector-ref _g10781_ 2)))) + (let* ((_std-mixin10208_ (let () (declare (not safe)) - (class-linearize-mixins _mixin10149_))) - (_std-plist10160_ - (if _std-super10147_ - (let* ((_fields10158_ - (let ((__tmp10732 + (class-linearize-mixins _mixin10201_))) + (_std-plist10212_ + (if _std-super10199_ + (let* ((_fields10210_ + (let ((__tmp10784 (let () (declare (not safe)) (type-descriptor-plist - _std-super10147_)))) + _std-super10199_)))) (declare (not safe)) - (assgetq 'fields: __tmp10732))) - (__tmp10733 + (assgetq 'fields: __tmp10784))) + (__tmp10785 (let () (declare (not safe)) - (cons 'fields: _fields10158_)))) + (cons 'fields: _fields10210_)))) (declare (not safe)) - (cons __tmp10733 _plist10123_)) - _plist10123_)) - (_std-plist10162_ - (let ((__tmp10734 + (cons __tmp10785 _plist10175_)) + _plist10175_)) + (_std-plist10214_ + (let ((__tmp10786 (let () (declare (not safe)) - (cons 'slots: _std-slot-list10154_)))) + (cons 'slots: _std-slot-list10206_)))) (declare (not safe)) - (cons __tmp10734 _std-plist10160_))) - (_std-ctor10167_ - (let ((_$e10164_ _ctor10124_)) - (if _$e10164_ - _$e10164_ + (cons __tmp10786 _std-plist10212_))) + (_std-ctor10219_ + (let ((_$e10216_ _ctor10176_)) + (if _$e10216_ + _$e10216_ (let () (declare (not safe)) - (_find-super-ctor10129_ _super10120_)))))) + (_find-super-ctor10181_ _super10172_)))))) (let () (declare (not safe)) (make-class-type-descriptor - _id10119_ - _name10122_ - _std-super10147_ - _std-mixin10156_ - _std-fields10152_ - _std-plist10162_ - _std-ctor10167_ - _std-slots10153_)))))))))) + _id10171_ + _name10174_ + _std-super10199_ + _std-mixin10208_ + _std-fields10204_ + _std-plist10214_ + _std-ctor10219_ + _std-slots10205_)))))))))) (define class-linearize-mixins - (lambda (_klass-lst10070_) - (letrec ((_class->list10072_ - (lambda (_klass10114_) - (let ((__tmp10735 - (let ((_$e10116_ + (lambda (_klass-lst10122_) + (letrec ((_class->list10124_ + (lambda (_klass10166_) + (let ((__tmp10787 + (let ((_$e10168_ (let () (declare (not safe)) - (type-descriptor-mixin _klass10114_)))) - (if _$e10116_ _$e10116_ '())))) + (type-descriptor-mixin _klass10166_)))) + (if _$e10168_ _$e10168_ '())))) (declare (not safe)) - (cons _klass10114_ __tmp10735))))) - (let* ((_klass-lst1007310083_ _klass-lst10070_) - (_else1007610091_ + (cons _klass10166_ __tmp10787))))) + (let* ((_klass-lst1012510135_ _klass-lst10122_) + (_else1012810143_ (lambda () - (let ((__tmp10736 - (map _class->list10072_ _klass-lst10070_))) + (let ((__tmp10788 + (map _class->list10124_ _klass-lst10122_))) (declare (not safe)) - (__linearize-mixins __tmp10736))))) - (let ((_K1008110111_ (lambda () '())) - (_K1007810097_ - (lambda (_klass10095_) + (__linearize-mixins __tmp10788))))) + (let ((_K1013310163_ (lambda () '())) + (_K1013010149_ + (lambda (_klass10147_) (let () (declare (not safe)) - (_class->list10072_ _klass10095_))))) - (let ((_try-match1007510107_ + (_class->list10124_ _klass10147_))))) + (let ((_try-match1012710159_ (lambda () (if (let () (declare (not safe)) - (##pair? _klass-lst1007310083_)) - (let ((_tl1008010102_ + (##pair? _klass-lst1012510135_)) + (let ((_tl1013210154_ (let () (declare (not safe)) - (##cdr _klass-lst1007310083_))) - (_hd1007910100_ + (##cdr _klass-lst1012510135_))) + (_hd1013110152_ (let () (declare (not safe)) - (##car _klass-lst1007310083_)))) + (##car _klass-lst1012510135_)))) (if (let () (declare (not safe)) - (##null? _tl1008010102_)) - (let ((_klass10105_ _hd1007910100_)) + (##null? _tl1013210154_)) + (let ((_klass10157_ _hd1013110152_)) (declare (not safe)) - (_class->list10072_ _klass10105_)) + (_class->list10124_ _klass10157_)) (let () (declare (not safe)) - (_else1007610091_)))) - (let () (declare (not safe)) (_else1007610091_)))))) + (_else1012810143_)))) + (let () (declare (not safe)) (_else1012810143_)))))) (if (let () (declare (not safe)) - (##null? _klass-lst1007310083_)) - (let () (declare (not safe)) (_K1008110111_)) + (##null? _klass-lst1012510135_)) + (let () (declare (not safe)) (_K1013310163_)) (let () (declare (not safe)) - (_try-match1007510107_))))))))) + (_try-match1012710159_))))))))) (define __linearize-mixins - (lambda (_lst9911_) - (letrec ((_K9913_ (lambda (_rest10034_ _r10035_) - (let* ((_rest1003610044_ _rest10034_) - (_else1003810052_ - (lambda () (reverse _r10035_))) - (_K1004010058_ - (lambda (_rest10055_ _hd10056_) + (lambda (_lst9963_) + (letrec ((_K9965_ (lambda (_rest10086_ _r10087_) + (let* ((_rest1008810096_ _rest10086_) + (_else1009010104_ + (lambda () (reverse _r10087_))) + (_K1009210110_ + (lambda (_rest10107_ _hd10108_) (let () (declare (not safe)) - (_linearize19914_ - _hd10056_ - _rest10055_ - _r10035_))))) + (_linearize19966_ + _hd10108_ + _rest10107_ + _r10087_))))) (if (let () (declare (not safe)) - (##pair? _rest1003610044_)) - (let ((_hd1004110061_ + (##pair? _rest1008810096_)) + (let ((_hd1009310113_ (let () (declare (not safe)) - (##car _rest1003610044_))) - (_tl1004210063_ + (##car _rest1008810096_))) + (_tl1009410115_ (let () (declare (not safe)) - (##cdr _rest1003610044_)))) - (let* ((_hd10066_ _hd1004110061_) - (_rest10068_ _tl1004210063_)) + (##cdr _rest1008810096_)))) + (let* ((_hd10118_ _hd1009310113_) + (_rest10120_ _tl1009410115_)) (declare (not safe)) - (_K1004010058_ _rest10068_ _hd10066_))) + (_K1009210110_ _rest10120_ _hd10118_))) (let () (declare (not safe)) - (_else1003810052_)))))) - (_linearize19914_ - (lambda (_hd9997_ _rest9998_ _r9999_) - (let* ((_hd1000010008_ _hd9997_) - (_else1000210016_ + (_else1009010104_)))))) + (_linearize19966_ + (lambda (_hd10049_ _rest10050_ _r10051_) + (let* ((_hd1005210060_ _hd10049_) + (_else1005410068_ (lambda () (let () (declare (not safe)) - (_K9913_ _rest9998_ _r9999_)))) - (_K1000410022_ - (lambda (_hd-rest10019_ _hd-first10020_) + (_K9965_ _rest10050_ _r10051_)))) + (_K1005610074_ + (lambda (_hd-rest10071_ _hd-first10072_) (if (let () (declare (not safe)) - (_findq9917_ _hd-first10020_ _rest9998_)) - (let ((__tmp10739 (list _hd9997_))) + (_findq9969_ _hd-first10072_ _rest10050_)) + (let ((__tmp10791 (list _hd10049_))) (declare (not safe)) - (_linearize29915_ - _rest9998_ - __tmp10739 - _r9999_)) - (let ((__tmp10738 + (_linearize29967_ + _rest10050_ + __tmp10791 + _r10051_)) + (let ((__tmp10790 (let () (declare (not safe)) - (cons _hd-rest10019_ _rest9998_))) - (__tmp10737 + (cons _hd-rest10071_ _rest10050_))) + (__tmp10789 (let () (declare (not safe)) - (_putq9916_ - _hd-first10020_ - _r9999_)))) + (_putq9968_ + _hd-first10072_ + _r10051_)))) (declare (not safe)) - (_K9913_ __tmp10738 __tmp10737)))))) + (_K9965_ __tmp10790 __tmp10789)))))) (if (let () (declare (not safe)) - (##pair? _hd1000010008_)) - (let ((_hd1000510025_ + (##pair? _hd1005210060_)) + (let ((_hd1005710077_ (let () (declare (not safe)) - (##car _hd1000010008_))) - (_tl1000610027_ + (##car _hd1005210060_))) + (_tl1005810079_ (let () (declare (not safe)) - (##cdr _hd1000010008_)))) - (let* ((_hd-first10030_ _hd1000510025_) - (_hd-rest10032_ _tl1000610027_)) + (##cdr _hd1005210060_)))) + (let* ((_hd-first10082_ _hd1005710077_) + (_hd-rest10084_ _tl1005810079_)) (declare (not safe)) - (_K1000410022_ _hd-rest10032_ _hd-first10030_))) - (let () (declare (not safe)) (_else1000210016_)))))) - (_linearize29915_ - (lambda (_rest9927_ _pre9928_ _r9929_) - (let _lp9931_ ((_rest9933_ _rest9927_) - (_pre9934_ _pre9928_)) - (let* ((_rest99359942_ _rest9933_) - (_E99379946_ + (_K1005610074_ _hd-rest10084_ _hd-first10082_))) + (let () (declare (not safe)) (_else1005410068_)))))) + (_linearize29967_ + (lambda (_rest9979_ _pre9980_ _r9981_) + (let _lp9983_ ((_rest9985_ _rest9979_) + (_pre9986_ _pre9980_)) + (let* ((_rest99879994_ _rest9985_) + (_E99899998_ (lambda () - (error '"No clause matching" _rest99359942_))) - (_K99389985_ - (lambda (_rest9949_ _hd9950_) - (let* ((_hd99519959_ _hd9950_) - (_else99539967_ + (error '"No clause matching" _rest99879994_))) + (_K999010037_ + (lambda (_rest10001_ _hd10002_) + (let* ((_hd1000310011_ _hd10002_) + (_else1000510019_ (lambda () (let () (declare (not safe)) - (_lp9931_ _rest9949_ _pre9934_)))) - (_K99559973_ - (lambda (_hd-rest9970_ _hd-first9971_) + (_lp9983_ _rest10001_ _pre9986_)))) + (_K1000710025_ + (lambda (_hd-rest10022_ + _hd-first10023_) (if (let () (declare (not safe)) - (_findq9917_ - _hd-first9971_ - _rest9949_)) - (let ((__tmp10743 + (_findq9969_ + _hd-first10023_ + _rest10001_)) + (let ((__tmp10795 (let () (declare (not safe)) - (cons _hd9950_ - _pre9934_)))) + (cons _hd10002_ + _pre9986_)))) (declare (not safe)) - (_lp9931_ - _rest9949_ - __tmp10743)) - (let ((__tmp10741 - (let ((__tmp10742 + (_lp9983_ + _rest10001_ + __tmp10795)) + (let ((__tmp10793 + (let ((__tmp10794 (let () (declare (not safe)) - (cons _hd-rest9970_ + (cons _hd-rest10022_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _rest9949_)))) + _rest10001_)))) (declare (not safe)) - (foldl1 cons __tmp10742 _pre9934_))) + (foldl1 cons __tmp10794 _pre9986_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (__tmp10740 + (__tmp10792 (let () (declare (not safe)) - (_putq9916_ - _hd-first9971_ - _r9929_)))) + (_putq9968_ + _hd-first10023_ + _r9981_)))) (declare (not safe)) - (_K9913_ __tmp10741 - __tmp10740)))))) + (_K9965_ __tmp10793 + __tmp10792)))))) (if (let () (declare (not safe)) - (##pair? _hd99519959_)) - (let ((_hd99569976_ + (##pair? _hd1000310011_)) + (let ((_hd1000810028_ (let () (declare (not safe)) - (##car _hd99519959_))) - (_tl99579978_ + (##car _hd1000310011_))) + (_tl1000910030_ (let () (declare (not safe)) - (##cdr _hd99519959_)))) - (let* ((_hd-first9981_ _hd99569976_) - (_hd-rest9983_ _tl99579978_)) + (##cdr _hd1000310011_)))) + (let* ((_hd-first10033_ _hd1000810028_) + (_hd-rest10035_ _tl1000910030_)) (declare (not safe)) - (_K99559973_ - _hd-rest9983_ - _hd-first9981_))) + (_K1000710025_ + _hd-rest10035_ + _hd-first10033_))) (let () (declare (not safe)) - (_else99539967_))))))) + (_else1000510019_))))))) (if (let () (declare (not safe)) - (##pair? _rest99359942_)) - (let ((_hd99399988_ + (##pair? _rest99879994_)) + (let ((_hd999110040_ (let () (declare (not safe)) - (##car _rest99359942_))) - (_tl99409990_ + (##car _rest99879994_))) + (_tl999210042_ (let () (declare (not safe)) - (##cdr _rest99359942_)))) - (let* ((_hd9993_ _hd99399988_) - (_rest9995_ _tl99409990_)) + (##cdr _rest99879994_)))) + (let* ((_hd10045_ _hd999110040_) + (_rest10047_ _tl999210042_)) (declare (not safe)) - (_K99389985_ _rest9995_ _hd9993_))) - (let () (declare (not safe)) (_E99379946_))))))) - (_putq9916_ - (lambda (_hd9924_ _lst9925_) - (if (memq _hd9924_ _lst9925_) - _lst9925_ + (_K999010037_ _rest10047_ _hd10045_))) + (let () (declare (not safe)) (_E99899998_))))))) + (_putq9968_ + (lambda (_hd9976_ _lst9977_) + (if (memq _hd9976_ _lst9977_) + _lst9977_ (let () (declare (not safe)) - (cons _hd9924_ _lst9925_))))) - (_findq9917_ - (lambda (_hd9919_ _rest9920_) - (let ((__tmp10744 - (lambda (_lst9922_) (memq _hd9919_ _lst9922_)))) + (cons _hd9976_ _lst9977_))))) + (_findq9969_ + (lambda (_hd9971_ _rest9972_) + (let ((__tmp10796 + (lambda (_lst9974_) (memq _hd9971_ _lst9974_)))) (declare (not safe)) - (find __tmp10744 _rest9920_))))) - (let () (declare (not safe)) (_K9913_ _lst9911_ '()))))) + (find __tmp10796 _rest9972_))))) + (let () (declare (not safe)) (_K9965_ _lst9963_ '()))))) (define make-class-predicate - (lambda (_klass9905_) - (if (let ((__tmp10746 + (lambda (_klass9957_) + (if (let ((__tmp10798 (let () (declare (not safe)) - (type-descriptor-plist _klass9905_)))) + (type-descriptor-plist _klass9957_)))) (declare (not safe)) - (assgetq 'final: __tmp10746)) - (lambda (_obj9907_) - (let ((__tmp10745 - (let () (declare (not safe)) (##type-id _klass9905_)))) + (assgetq 'final: __tmp10798)) + (lambda (_obj9959_) + (let ((__tmp10797 + (let () (declare (not safe)) (##type-id _klass9957_)))) (declare (not safe)) - (##structure-direct-instance-of? _obj9907_ __tmp10745))) - (lambda (_obj9909_) + (##structure-direct-instance-of? _obj9959_ __tmp10797))) + (lambda (_obj9961_) (let () (declare (not safe)) - (class-instance? _klass9905_ _obj9909_)))))) + (class-instance? _klass9957_ _obj9961_)))))) (define make-class-slot-accessor - (lambda (_klass9900_ _slot9901_) - (lambda (_obj9903_) - (let () (declare (not safe)) (slot-ref _obj9903_ _slot9901_))))) + (lambda (_klass9952_ _slot9953_) + (lambda (_obj9955_) + (let () (declare (not safe)) (slot-ref _obj9955_ _slot9953_))))) (define make-class-slot-mutator - (lambda (_klass9894_ _slot9895_) - (lambda (_obj9897_ _val9898_) + (lambda (_klass9946_ _slot9947_) + (lambda (_obj9949_ _val9950_) (let () (declare (not safe)) - (slot-set! _obj9897_ _slot9895_ _val9898_))))) + (slot-set! _obj9949_ _slot9947_ _val9950_))))) (define make-class-slot-unchecked-accessor - (lambda (_klass9889_ _slot9890_) - (lambda (_obj9892_) + (lambda (_klass9941_ _slot9942_) + (lambda (_obj9944_) (let () (declare (not safe)) - (unchecked-slot-ref _obj9892_ _slot9890_))))) + (unchecked-slot-ref _obj9944_ _slot9942_))))) (define make-class-slot-unchecked-mutator - (lambda (_klass9883_ _slot9884_) - (lambda (_obj9886_ _val9887_) + (lambda (_klass9935_ _slot9936_) + (lambda (_obj9938_ _val9939_) (let () (declare (not safe)) - (unchecked-slot-set! _obj9886_ _slot9884_ _val9887_))))) + (unchecked-slot-set! _obj9938_ _slot9936_ _val9939_))))) (define class-slot-offset - (lambda (_klass9875_ _slot9876_) - (let ((_$e9878_ + (lambda (_klass9927_ _slot9928_) + (let ((_$e9930_ (let () (declare (not safe)) - (type-descriptor-slots _klass9875_)))) - (if _$e9878_ - ((lambda (_slots9881_) + (type-descriptor-slots _klass9927_)))) + (if _$e9930_ + ((lambda (_slots9933_) (let () (declare (not safe)) - (table-ref _slots9881_ _slot9876_ '#f))) - _$e9878_) + (table-ref _slots9933_ _slot9928_ '#f))) + _$e9930_) '#f)))) (define class-slot-ref - (lambda (_klass9869_ _obj9870_ _slot9871_) + (lambda (_klass9921_ _obj9922_ _slot9923_) (if (let () (declare (not safe)) - (class-instance? _klass9869_ _obj9870_)) - (let* ((_off9873_ - (let ((__tmp10747 + (class-instance? _klass9921_ _obj9922_)) + (let* ((_off9925_ + (let ((__tmp10799 (let () (declare (not safe)) - (object-type _obj9870_)))) + (object-type _obj9922_)))) (declare (not safe)) - (class-slot-offset __tmp10747 _slot9871_))) - (__tmp10748 - (let () (declare (not safe)) (##fx+ _off9873_ '1)))) + (class-slot-offset __tmp10799 _slot9923_))) + (__tmp10800 + (let () (declare (not safe)) (##fx+ _off9925_ '1)))) (declare (not safe)) - (##unchecked-structure-ref _obj9870_ __tmp10748 _klass9869_ '#f)) - (error '"not an instance" _klass9869_ _obj9870_)))) + (##unchecked-structure-ref _obj9922_ __tmp10800 _klass9921_ '#f)) + (error '"not an instance" _klass9921_ _obj9922_)))) (define class-slot-set! - (lambda (_klass9862_ _obj9863_ _slot9864_ _val9865_) + (lambda (_klass9914_ _obj9915_ _slot9916_ _val9917_) (if (let () (declare (not safe)) - (class-instance? _klass9862_ _obj9863_)) - (let* ((_off9867_ - (let ((__tmp10749 + (class-instance? _klass9914_ _obj9915_)) + (let* ((_off9919_ + (let ((__tmp10801 (let () (declare (not safe)) - (object-type _obj9863_)))) + (object-type _obj9915_)))) (declare (not safe)) - (class-slot-offset __tmp10749 _slot9864_))) - (__tmp10750 - (let () (declare (not safe)) (##fx+ _off9867_ '1)))) + (class-slot-offset __tmp10801 _slot9916_))) + (__tmp10802 + (let () (declare (not safe)) (##fx+ _off9919_ '1)))) (declare (not safe)) (##unchecked-structure-set! - _obj9863_ - _val9865_ - __tmp10750 - _klass9862_ + _obj9915_ + _val9917_ + __tmp10802 + _klass9914_ '#f)) - (error '"not an instance" _klass9862_ _obj9863_)))) + (error '"not an instance" _klass9914_ _obj9915_)))) (define class-subtype? - (lambda (_klass9847_ _xklass9848_) - (let* ((_klass-t9850_ - (let () (declare (not safe)) (##type-id _klass9847_))) - (_$e9852_ - (let ((__tmp10751 - (let () (declare (not safe)) (##type-id _xklass9848_)))) + (lambda (_klass9899_ _xklass9900_) + (let* ((_klass-t9902_ + (let () (declare (not safe)) (##type-id _klass9899_))) + (_$e9904_ + (let ((__tmp10803 + (let () (declare (not safe)) (##type-id _xklass9900_)))) (declare (not safe)) - (eq? _klass-t9850_ __tmp10751)))) - (if _$e9852_ - _$e9852_ - (let ((_$e9855_ + (eq? _klass-t9902_ __tmp10803)))) + (if _$e9904_ + _$e9904_ + (let ((_$e9907_ (let () (declare (not safe)) - (type-descriptor-mixin _xklass9848_)))) - (if _$e9855_ - ((lambda (_mixin9858_) - (if (let ((__tmp10752 - (lambda (_xklass9860_) - (let ((__tmp10753 + (type-descriptor-mixin _xklass9900_)))) + (if _$e9907_ + ((lambda (_mixin9910_) + (if (let ((__tmp10804 + (lambda (_xklass9912_) + (let ((__tmp10805 (let () (declare (not safe)) - (##type-id _xklass9860_)))) + (##type-id _xklass9912_)))) (declare (not safe)) - (eq? _klass-t9850_ __tmp10753))))) + (eq? _klass-t9902_ __tmp10805))))) (declare (not safe)) - (find __tmp10752 _mixin9858_)) + (find __tmp10804 _mixin9910_)) '#t '#f)) - _$e9855_) + _$e9907_) '#f)))))) (define object? ##structure?) (define object-type ##structure-type) (define direct-instance? - (lambda (_klass9844_ _obj9845_) - (let ((__tmp10754 - (let () (declare (not safe)) (##type-id _klass9844_)))) + (lambda (_klass9896_ _obj9897_) + (let ((__tmp10806 + (let () (declare (not safe)) (##type-id _klass9896_)))) (declare (not safe)) - (##structure-direct-instance-of? _obj9845_ __tmp10754)))) + (##structure-direct-instance-of? _obj9897_ __tmp10806)))) (define struct-instance? - (lambda (_klass9841_ _obj9842_) - (let ((__tmp10755 - (let () (declare (not safe)) (##type-id _klass9841_)))) + (lambda (_klass9893_ _obj9894_) + (let ((__tmp10807 + (let () (declare (not safe)) (##type-id _klass9893_)))) (declare (not safe)) - (##structure-instance-of? _obj9842_ __tmp10755)))) + (##structure-instance-of? _obj9894_ __tmp10807)))) (define direct-struct-instance? direct-instance?) (define class-instance? - (lambda (_klass9825_ _obj9826_) - (if (let () (declare (not safe)) (object? _obj9826_)) - (let ((_klass-id9828_ - (let () (declare (not safe)) (##type-id _klass9825_))) - (_type9829_ - (let () (declare (not safe)) (object-type _obj9826_)))) - (if (let () (declare (not safe)) (type-descriptor? _type9829_)) - (let ((_$e9831_ - (let ((__tmp10756 + (lambda (_klass9877_ _obj9878_) + (if (let () (declare (not safe)) (object? _obj9878_)) + (let ((_klass-id9880_ + (let () (declare (not safe)) (##type-id _klass9877_))) + (_type9881_ + (let () (declare (not safe)) (object-type _obj9878_)))) + (if (let () (declare (not safe)) (type-descriptor? _type9881_)) + (let ((_$e9883_ + (let ((__tmp10808 (let () (declare (not safe)) - (##type-id _type9829_)))) + (##type-id _type9881_)))) (declare (not safe)) - (eq? __tmp10756 _klass-id9828_)))) - (if _$e9831_ - _$e9831_ - (let ((_$e9834_ + (eq? __tmp10808 _klass-id9880_)))) + (if _$e9883_ + _$e9883_ + (let ((_$e9886_ (let () (declare (not safe)) - (type-descriptor-mixin _type9829_)))) - (if _$e9834_ - ((lambda (_mixin9837_) - (let ((__tmp10757 - (lambda (_type9839_) - (let ((__tmp10758 + (type-descriptor-mixin _type9881_)))) + (if _$e9886_ + ((lambda (_mixin9889_) + (let ((__tmp10809 + (lambda (_type9891_) + (let ((__tmp10810 (let () (declare (not safe)) - (##type-id _type9839_)))) + (##type-id _type9891_)))) (declare (not safe)) - (eq? __tmp10758 _klass-id9828_))))) + (eq? __tmp10810 _klass-id9880_))))) (declare (not safe)) - (ormap1 __tmp10757 _mixin9837_))) - _$e9834_) + (ormap1 __tmp10809 _mixin9889_))) + _$e9886_) '#f)))) '#f)) '#f))) (define direct-class-instance? direct-instance?) (define make-object - (lambda (_klass9820_ _k9821_) - (let ((_obj9823_ - (let ((__tmp10759 - (let () (declare (not safe)) (##fx+ _k9821_ '1)))) + (lambda (_klass9872_ _k9873_) + (let ((_obj9875_ + (let ((__tmp10811 + (let () (declare (not safe)) (##fx+ _k9873_ '1)))) (declare (not safe)) - (##make-vector __tmp10759 '#f)))) + (##make-vector __tmp10811 '#f)))) (let () (declare (not safe)) - (##vector-set! _obj9823_ '0 _klass9820_)) - (let ((__tmp10760 (macro-subtype-structure))) + (##vector-set! _obj9875_ '0 _klass9872_)) + (let ((__tmp10812 (macro-subtype-structure))) (declare (not safe)) - (##subtype-set! _obj9823_ __tmp10760)) - _obj9823_))) + (##subtype-set! _obj9875_ __tmp10812)) + _obj9875_))) (define make-struct-instance - (lambda (_klass9810_ . _args9811_) - (let* ((_fields9813_ + (lambda (_klass9862_ . _args9863_) + (let* ((_fields9865_ (let () (declare (not safe)) - (type-descriptor-fields _klass9810_))) - (_$e9815_ + (type-descriptor-fields _klass9862_))) + (_$e9867_ (let () (declare (not safe)) - (type-descriptor-ctor _klass9810_)))) - (if _$e9815_ - ((lambda (_kons-id9818_) - (let ((__tmp10762 + (type-descriptor-ctor _klass9862_)))) + (if _$e9867_ + ((lambda (_kons-id9870_) + (let ((__tmp10814 (let () (declare (not safe)) - (make-object _klass9810_ _fields9813_)))) + (make-object _klass9862_ _fields9865_)))) (declare (not safe)) (__constructor-init! - _klass9810_ - _kons-id9818_ - __tmp10762 - _args9811_))) - _$e9815_) - (if (let ((__tmp10761 (length _args9811_))) + _klass9862_ + _kons-id9870_ + __tmp10814 + _args9863_))) + _$e9867_) + (if (let ((__tmp10813 (length _args9863_))) (declare (not safe)) - (##fx= _fields9813_ __tmp10761)) - (apply ##structure _klass9810_ _args9811_) + (##fx= _fields9865_ __tmp10813)) + (apply ##structure _klass9862_ _args9863_) (error '"Arguments don't match object size" - _klass9810_ - _fields9813_ - _args9811_)))))) + _klass9862_ + _fields9865_ + _args9863_)))))) (define make-class-instance - (lambda (_klass9800_ . _args9801_) - (let* ((_obj9803_ - (let ((__tmp10763 + (lambda (_klass9852_ . _args9853_) + (let* ((_obj9855_ + (let ((__tmp10815 (let () (declare (not safe)) - (type-descriptor-fields _klass9800_)))) + (type-descriptor-fields _klass9852_)))) (declare (not safe)) - (make-object _klass9800_ __tmp10763))) - (_$e9805_ + (make-object _klass9852_ __tmp10815))) + (_$e9857_ (let () (declare (not safe)) - (type-descriptor-ctor _klass9800_)))) - (if _$e9805_ - ((lambda (_kons-id9808_) + (type-descriptor-ctor _klass9852_)))) + (if _$e9857_ + ((lambda (_kons-id9860_) (let () (declare (not safe)) (__constructor-init! - _klass9800_ - _kons-id9808_ - _obj9803_ - _args9801_))) - _$e9805_) + _klass9852_ + _kons-id9860_ + _obj9855_ + _args9853_))) + _$e9857_) (let () (declare (not safe)) - (__class-instance-init! _klass9800_ _obj9803_ _args9801_)))))) + (__class-instance-init! _klass9852_ _obj9855_ _args9853_)))))) (define struct-instance-init! - (lambda (_obj9797_ . _args9798_) - (if (let ((__tmp10765 (length _args9798_)) - (__tmp10764 + (lambda (_obj9849_ . _args9850_) + (if (let ((__tmp10817 (length _args9850_)) + (__tmp10816 (let () (declare (not safe)) - (##structure-length _obj9797_)))) + (##structure-length _obj9849_)))) (declare (not safe)) - (##fx< __tmp10765 __tmp10764)) + (##fx< __tmp10817 __tmp10816)) (let () (declare (not safe)) - (__struct-instance-init! _obj9797_ _args9798_)) - (error '"Too many arguments for struct" _obj9797_ _args9798_)))) + (__struct-instance-init! _obj9849_ _args9850_)) + (error '"Too many arguments for struct" _obj9849_ _args9850_)))) (define __struct-instance-init! - (lambda (_obj9756_ _args9757_) - (let _lp9759_ ((_k9761_ '1) (_rest9762_ _args9757_)) - (let* ((_rest97639771_ _rest9762_) - (_else97659779_ (lambda () _obj9756_)) - (_K97679785_ - (lambda (_rest9782_ _hd9783_) + (lambda (_obj9808_ _args9809_) + (let _lp9811_ ((_k9813_ '1) (_rest9814_ _args9809_)) + (let* ((_rest98159823_ _rest9814_) + (_else98179831_ (lambda () _obj9808_)) + (_K98199837_ + (lambda (_rest9834_ _hd9835_) (let () (declare (not safe)) - (##vector-set! _obj9756_ _k9761_ _hd9783_)) - (let ((__tmp10766 - (let () (declare (not safe)) (##fx+ _k9761_ '1)))) + (##vector-set! _obj9808_ _k9813_ _hd9835_)) + (let ((__tmp10818 + (let () (declare (not safe)) (##fx+ _k9813_ '1)))) (declare (not safe)) - (_lp9759_ __tmp10766 _rest9782_))))) - (if (let () (declare (not safe)) (##pair? _rest97639771_)) - (let ((_hd97689788_ - (let () (declare (not safe)) (##car _rest97639771_))) - (_tl97699790_ - (let () (declare (not safe)) (##cdr _rest97639771_)))) - (let* ((_hd9793_ _hd97689788_) (_rest9795_ _tl97699790_)) + (_lp9811_ __tmp10818 _rest9834_))))) + (if (let () (declare (not safe)) (##pair? _rest98159823_)) + (let ((_hd98209840_ + (let () (declare (not safe)) (##car _rest98159823_))) + (_tl98219842_ + (let () (declare (not safe)) (##cdr _rest98159823_)))) + (let* ((_hd9845_ _hd98209840_) (_rest9847_ _tl98219842_)) (declare (not safe)) - (_K97679785_ _rest9795_ _hd9793_))) - (let () (declare (not safe)) (_else97659779_))))))) + (_K98199837_ _rest9847_ _hd9845_))) + (let () (declare (not safe)) (_else98179831_))))))) (define class-instance-init! - (lambda (_obj9753_ . _args9754_) - (let ((__tmp10767 - (let () (declare (not safe)) (object-type _obj9753_)))) + (lambda (_obj9805_ . _args9806_) + (let ((__tmp10819 + (let () (declare (not safe)) (object-type _obj9805_)))) (declare (not safe)) - (__class-instance-init! __tmp10767 _obj9753_ _args9754_)))) + (__class-instance-init! __tmp10819 _obj9805_ _args9806_)))) (define __class-instance-init! - (lambda (_klass9697_ _obj9698_ _args9699_) - (let _lp9701_ ((_rest9703_ _args9699_)) - (let* ((_rest97049714_ _rest9703_) - (_else97069722_ + (lambda (_klass9749_ _obj9750_ _args9751_) + (let _lp9753_ ((_rest9755_ _args9751_)) + (let* ((_rest97569766_ _rest9755_) + (_else97589774_ (lambda () - (if (let () (declare (not safe)) (null? _rest9703_)) - _obj9698_ + (if (let () (declare (not safe)) (null? _rest9755_)) + _obj9750_ (error '"Unexpected class initializer arguments" - _rest9703_)))) - (_K97089734_ - (lambda (_rest9725_ _val9726_ _key9727_) - (let ((_$e9729_ + _rest9755_)))) + (_K97609786_ + (lambda (_rest9777_ _val9778_ _key9779_) + (let ((_$e9781_ (let () (declare (not safe)) - (class-slot-offset _klass9697_ _key9727_)))) - (if _$e9729_ - ((lambda (_off9732_) - (let ((__tmp10768 + (class-slot-offset _klass9749_ _key9779_)))) + (if _$e9781_ + ((lambda (_off9784_) + (let ((__tmp10820 (let () (declare (not safe)) - (##fx+ _off9732_ '1)))) + (##fx+ _off9784_ '1)))) (declare (not safe)) - (##vector-set! _obj9698_ __tmp10768 _val9726_)) + (##vector-set! _obj9750_ __tmp10820 _val9778_)) (let () (declare (not safe)) - (_lp9701_ _rest9725_))) - _$e9729_) + (_lp9753_ _rest9777_))) + _$e9781_) (error '"No slot for keyword initializer" - _klass9697_ - _key9727_)))))) - (if (let () (declare (not safe)) (##pair? _rest97049714_)) - (let ((_hd97099737_ - (let () (declare (not safe)) (##car _rest97049714_))) - (_tl97109739_ - (let () (declare (not safe)) (##cdr _rest97049714_)))) - (let ((_key9742_ _hd97099737_)) - (if (let () (declare (not safe)) (##pair? _tl97109739_)) - (let ((_hd97119744_ + _klass9749_ + _key9779_)))))) + (if (let () (declare (not safe)) (##pair? _rest97569766_)) + (let ((_hd97619789_ + (let () (declare (not safe)) (##car _rest97569766_))) + (_tl97629791_ + (let () (declare (not safe)) (##cdr _rest97569766_)))) + (let ((_key9794_ _hd97619789_)) + (if (let () (declare (not safe)) (##pair? _tl97629791_)) + (let ((_hd97639796_ (let () (declare (not safe)) - (##car _tl97109739_))) - (_tl97129746_ + (##car _tl97629791_))) + (_tl97649798_ (let () (declare (not safe)) - (##cdr _tl97109739_)))) - (let* ((_val9749_ _hd97119744_) - (_rest9751_ _tl97129746_)) + (##cdr _tl97629791_)))) + (let* ((_val9801_ _hd97639796_) + (_rest9803_ _tl97649798_)) (declare (not safe)) - (_K97089734_ _rest9751_ _val9749_ _key9742_))) - (let () (declare (not safe)) (_else97069722_))))) - (let () (declare (not safe)) (_else97069722_))))))) + (_K97609786_ _rest9803_ _val9801_ _key9794_))) + (let () (declare (not safe)) (_else97589774_))))) + (let () (declare (not safe)) (_else97589774_))))))) (define constructor-init! - (lambda (_klass9692_ _kons-id9693_ _obj9694_ . _args9695_) + (lambda (_klass9744_ _kons-id9745_ _obj9746_ . _args9747_) (let () (declare (not safe)) (__constructor-init! - _klass9692_ - _kons-id9693_ - _obj9694_ - _args9695_)))) + _klass9744_ + _kons-id9745_ + _obj9746_ + _args9747_)))) (define __constructor-init! - (lambda (_klass9682_ _kons-id9683_ _obj9684_ _args9685_) - (let ((_$e9687_ + (lambda (_klass9734_ _kons-id9735_ _obj9736_ _args9737_) + (let ((_$e9739_ (let () (declare (not safe)) - (__find-method _klass9682_ _kons-id9683_)))) - (if _$e9687_ - ((lambda (_kons9690_) - (apply _kons9690_ _obj9684_ _args9685_) - _obj9684_) - _$e9687_) - (error '"Missing constructor" _klass9682_ _kons-id9683_))))) + (__find-method _klass9734_ _kons-id9735_)))) + (if _$e9739_ + ((lambda (_kons9742_) + (apply _kons9742_ _obj9736_ _args9737_) + _obj9736_) + _$e9739_) + (error '"Missing constructor" _klass9734_ _kons-id9735_))))) (define struct-copy - (lambda (_struct9680_) - (if (let () (declare (not safe)) (##structure? _struct9680_)) + (lambda (_struct9732_) + (if (let () (declare (not safe)) (##structure? _struct9732_)) '#!void - (error '"Not a structure" 'struct-copy _struct9680_)) - (let () (declare (not safe)) (##structure-copy _struct9680_)))) + (error '"Not a structure" 'struct-copy _struct9732_)) + (let () (declare (not safe)) (##structure-copy _struct9732_)))) (define struct->list - (lambda (_obj9678_) - (if (let () (declare (not safe)) (object? _obj9678_)) - (let () (declare (not safe)) (##vector->list _obj9678_)) - (error '"Not an object" _obj9678_)))) + (lambda (_obj9730_) + (if (let () (declare (not safe)) (object? _obj9730_)) + (let () (declare (not safe)) (##vector->list _obj9730_)) + (error '"Not an object" _obj9730_)))) (define class->list - (lambda (_obj9665_) - (if (let () (declare (not safe)) (object? _obj9665_)) - (let ((_klass9667_ - (let () (declare (not safe)) (object-type _obj9665_)))) - (if (let () (declare (not safe)) (type-descriptor? _klass9667_)) - (let ((_$e9669_ + (lambda (_obj9717_) + (if (let () (declare (not safe)) (object? _obj9717_)) + (let ((_klass9719_ + (let () (declare (not safe)) (object-type _obj9717_)))) + (if (let () (declare (not safe)) (type-descriptor? _klass9719_)) + (let ((_$e9721_ (let () (declare (not safe)) - (type-descriptor-slots _klass9667_)))) - (if _$e9669_ - ((lambda (_slots9672_) - (let ((__tmp10769 - (let ((__tmp10770 - (lambda (_slot9674_ _off9675_ _r9676_) - (if (keyword? _slot9674_) - (let ((__tmp10771 - (let ((__tmp10772 + (type-descriptor-slots _klass9719_)))) + (if _$e9721_ + ((lambda (_slots9724_) + (let ((__tmp10821 + (let ((__tmp10822 + (lambda (_slot9726_ _off9727_ _r9728_) + (if (keyword? _slot9726_) + (let ((__tmp10823 + (let ((__tmp10824 (let () (declare ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (not safe)) - (unchecked-field-ref _obj9665_ _off9675_)))) + (unchecked-field-ref _obj9717_ _off9727_)))) (declare (not safe)) - (cons __tmp10772 _r9676_)))) + (cons __tmp10824 _r9728_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _slot9674_ __tmp10771)) - _r9676_)))) + (cons _slot9726_ __tmp10823)) + _r9728_)))) (declare (not safe)) - (hash-fold __tmp10770 '() _slots9672_)))) + (hash-fold __tmp10822 '() _slots9724_)))) (declare (not safe)) - (cons _klass9667_ __tmp10769))) - _$e9669_) - (list _klass9667_))) - (error '"Not a class type" _obj9665_ _klass9667_))) - (error '"Not an object" _obj9665_)))) + (cons _klass9719_ __tmp10821))) + _$e9721_) + (list _klass9719_))) + (error '"Not a class type" _obj9717_ _klass9719_))) + (error '"Not an object" _obj9717_)))) (define unchecked-field-ref - (lambda (_obj9662_ _off9663_) - (let ((__tmp10773 (let () (declare (not safe)) (##fx+ _off9663_ '1)))) + (lambda (_obj9714_ _off9715_) + (let ((__tmp10825 (let () (declare (not safe)) (##fx+ _off9715_ '1)))) (declare (not safe)) - (##vector-ref _obj9662_ __tmp10773)))) + (##vector-ref _obj9714_ __tmp10825)))) (define unchecked-field-set! - (lambda (_obj9658_ _off9659_ _val9660_) - (let ((__tmp10774 (let () (declare (not safe)) (##fx+ _off9659_ '1)))) + (lambda (_obj9710_ _off9711_ _val9712_) + (let ((__tmp10826 (let () (declare (not safe)) (##fx+ _off9711_ '1)))) (declare (not safe)) - (##vector-set! _obj9658_ __tmp10774 _val9660_)))) + (##vector-set! _obj9710_ __tmp10826 _val9712_)))) (define unchecked-slot-ref - (lambda (_obj9655_ _slot9656_) - (let ((__tmp10775 - (let ((__tmp10776 - (let () (declare (not safe)) (object-type _obj9655_)))) + (lambda (_obj9707_ _slot9708_) + (let ((__tmp10827 + (let ((__tmp10828 + (let () (declare (not safe)) (object-type _obj9707_)))) (declare (not safe)) - (class-slot-offset __tmp10776 _slot9656_)))) + (class-slot-offset __tmp10828 _slot9708_)))) (declare (not safe)) - (unchecked-field-ref _obj9655_ __tmp10775)))) + (unchecked-field-ref _obj9707_ __tmp10827)))) (define unchecked-slot-set! - (lambda (_obj9651_ _slot9652_ _val9653_) - (let ((__tmp10777 - (let ((__tmp10778 - (let () (declare (not safe)) (object-type _obj9651_)))) + (lambda (_obj9703_ _slot9704_ _val9705_) + (let ((__tmp10829 + (let ((__tmp10830 + (let () (declare (not safe)) (object-type _obj9703_)))) (declare (not safe)) - (class-slot-offset __tmp10778 _slot9652_)))) + (class-slot-offset __tmp10830 _slot9704_)))) (declare (not safe)) - (unchecked-field-set! _obj9651_ __tmp10777 _val9653_)))) + (unchecked-field-set! _obj9703_ __tmp10829 _val9705_)))) (define slot-ref__% - (lambda (_obj9627_ _slot9628_ _E9629_) - (if (let () (declare (not safe)) (object? _obj9627_)) - (let* ((_klass9631_ - (let () (declare (not safe)) (object-type _obj9627_))) - (_$e9634_ + (lambda (_obj9679_ _slot9680_ _E9681_) + (if (let () (declare (not safe)) (object? _obj9679_)) + (let* ((_klass9683_ + (let () (declare (not safe)) (object-type _obj9679_))) + (_$e9686_ (if (let () (declare (not safe)) - (type-descriptor? _klass9631_)) + (type-descriptor? _klass9683_)) (let () (declare (not safe)) - (class-slot-offset _klass9631_ _slot9628_)) + (class-slot-offset _klass9683_ _slot9680_)) '#f))) - (if _$e9634_ - ((lambda (_off9637_) - (let ((__tmp10779 + (if _$e9686_ + ((lambda (_off9689_) + (let ((__tmp10831 (let () (declare (not safe)) - (##fx+ _off9637_ '1)))) + (##fx+ _off9689_ '1)))) (declare (not safe)) - (##vector-ref _obj9627_ __tmp10779))) - _$e9634_) - (_E9629_ _obj9627_ _slot9628_))) - (_E9629_ _obj9627_ _slot9628_)))) + (##vector-ref _obj9679_ __tmp10831))) + _$e9686_) + (_E9681_ _obj9679_ _slot9680_))) + (_E9681_ _obj9679_ _slot9680_)))) (define slot-ref__0 - (lambda (_obj9642_ _slot9643_) - (let ((_E9645_ __slot-error)) + (lambda (_obj9694_ _slot9695_) + (let ((_E9697_ __slot-error)) (declare (not safe)) - (slot-ref__% _obj9642_ _slot9643_ _E9645_)))) + (slot-ref__% _obj9694_ _slot9695_ _E9697_)))) (define slot-ref - (lambda _g10781_ - (let ((_g10780_ (let () (declare (not safe)) (##length _g10781_)))) - (cond ((let () (declare (not safe)) (##fx= _g10780_ 2)) - (apply (lambda (_obj9642_ _slot9643_) + (lambda _g10833_ + (let ((_g10832_ (let () (declare (not safe)) (##length _g10833_)))) + (cond ((let () (declare (not safe)) (##fx= _g10832_ 2)) + (apply (lambda (_obj9694_ _slot9695_) (let () (declare (not safe)) - (slot-ref__0 _obj9642_ _slot9643_))) - _g10781_)) - ((let () (declare (not safe)) (##fx= _g10780_ 3)) - (apply (lambda (_obj9647_ _slot9648_ _E9649_) + (slot-ref__0 _obj9694_ _slot9695_))) + _g10833_)) + ((let () (declare (not safe)) (##fx= _g10832_ 3)) + (apply (lambda (_obj9699_ _slot9700_ _E9701_) (let () (declare (not safe)) - (slot-ref__% _obj9647_ _slot9648_ _E9649_))) - _g10781_)) + (slot-ref__% _obj9699_ _slot9700_ _E9701_))) + _g10833_)) (else (##raise-wrong-number-of-arguments-exception slot-ref - _g10781_)))))) + _g10833_)))))) (define slot-set!__% - (lambda (_obj9599_ _slot9600_ _val9601_ _E9602_) - (if (let () (declare (not safe)) (object? _obj9599_)) - (let* ((_klass9604_ - (let () (declare (not safe)) (object-type _obj9599_))) - (_$e9607_ + (lambda (_obj9651_ _slot9652_ _val9653_ _E9654_) + (if (let () (declare (not safe)) (object? _obj9651_)) + (let* ((_klass9656_ + (let () (declare (not safe)) (object-type _obj9651_))) + (_$e9659_ (if (let () (declare (not safe)) - (type-descriptor? _klass9604_)) + (type-descriptor? _klass9656_)) (let () (declare (not safe)) - (class-slot-offset _klass9604_ _slot9600_)) + (class-slot-offset _klass9656_ _slot9652_)) '#f))) - (if _$e9607_ - ((lambda (_off9610_) - (let ((__tmp10782 + (if _$e9659_ + ((lambda (_off9662_) + (let ((__tmp10834 (let () (declare (not safe)) - (##fx+ _off9610_ '1)))) + (##fx+ _off9662_ '1)))) (declare (not safe)) - (##vector-set! _obj9599_ __tmp10782 _val9601_))) - _$e9607_) - (_E9602_ _obj9599_ _slot9600_))) - (_E9602_ _obj9599_ _slot9600_)))) + (##vector-set! _obj9651_ __tmp10834 _val9653_))) + _$e9659_) + (_E9654_ _obj9651_ _slot9652_))) + (_E9654_ _obj9651_ _slot9652_)))) (define slot-set!__0 - (lambda (_obj9615_ _slot9616_ _val9617_) - (let ((_E9619_ __slot-error)) + (lambda (_obj9667_ _slot9668_ _val9669_) + (let ((_E9671_ __slot-error)) (declare (not safe)) - (slot-set!__% _obj9615_ _slot9616_ _val9617_ _E9619_)))) + (slot-set!__% _obj9667_ _slot9668_ _val9669_ _E9671_)))) (define slot-set! - (lambda _g10784_ - (let ((_g10783_ (let () (declare (not safe)) (##length _g10784_)))) - (cond ((let () (declare (not safe)) (##fx= _g10783_ 3)) - (apply (lambda (_obj9615_ _slot9616_ _val9617_) + (lambda _g10836_ + (let ((_g10835_ (let () (declare (not safe)) (##length _g10836_)))) + (cond ((let () (declare (not safe)) (##fx= _g10835_ 3)) + (apply (lambda (_obj9667_ _slot9668_ _val9669_) (let () (declare (not safe)) - (slot-set!__0 _obj9615_ _slot9616_ _val9617_))) - _g10784_)) - ((let () (declare (not safe)) (##fx= _g10783_ 4)) - (apply (lambda (_obj9621_ _slot9622_ _val9623_ _E9624_) + (slot-set!__0 _obj9667_ _slot9668_ _val9669_))) + _g10836_)) + ((let () (declare (not safe)) (##fx= _g10835_ 4)) + (apply (lambda (_obj9673_ _slot9674_ _val9675_ _E9676_) (let () (declare (not safe)) (slot-set!__% - _obj9621_ - _slot9622_ - _val9623_ - _E9624_))) - _g10784_)) + _obj9673_ + _slot9674_ + _val9675_ + _E9676_))) + _g10836_)) (else (##raise-wrong-number-of-arguments-exception slot-set! - _g10784_)))))) + _g10836_)))))) (define __slot-error - (lambda (_obj9595_ _slot9596_) - (error '"Cannot find slot" _obj9595_ _slot9596_))) + (lambda (_obj9647_ _slot9648_) + (error '"Cannot find slot" _obj9647_ _slot9648_))) (define call-method - (lambda (_obj9586_ _id9587_ . _args9588_) - (let ((_$e9590_ - (let () (declare (not safe)) (method-ref _obj9586_ _id9587_)))) - (if _$e9590_ - ((lambda (_method9593_) - (apply _method9593_ _obj9586_ _args9588_)) - _$e9590_) - (error '"Cannot find method" _obj9586_ _id9587_))))) + (lambda (_obj9638_ _id9639_ . _args9640_) + (let ((_$e9642_ + (let () (declare (not safe)) (method-ref _obj9638_ _id9639_)))) + (if _$e9642_ + ((lambda (_method9645_) + (apply _method9645_ _obj9638_ _args9640_)) + _$e9642_) + (error '"Cannot find method" _obj9638_ _id9639_))))) (define __builtin-type-methods (make-table 'test: eq?)) (define method-ref - (lambda (_obj9583_ _id9584_) - (if (let () (declare (not safe)) (object? _obj9583_)) - (let ((__tmp10785 - (let () (declare (not safe)) (object-type _obj9583_)))) + (lambda (_obj9635_ _id9636_) + (if (let () (declare (not safe)) (object? _obj9635_)) + (let ((__tmp10837 + (let () (declare (not safe)) (object-type _obj9635_)))) (declare (not safe)) - (find-method __tmp10785 _id9584_)) + (find-method __tmp10837 _id9636_)) '#f))) (define checked-method-ref - (lambda (_obj9577_ _id9578_) - (let ((_$e9580_ - (let () (declare (not safe)) (method-ref _obj9577_ _id9578_)))) - (if _$e9580_ - _$e9580_ - (error '"Missing method" _obj9577_ _id9578_))))) + (lambda (_obj9629_ _id9630_) + (let ((_$e9632_ + (let () (declare (not safe)) (method-ref _obj9629_ _id9630_)))) + (if _$e9632_ + _$e9632_ + (error '"Missing method" _obj9629_ _id9630_))))) (define bound-method-ref - (lambda (_obj9567_ _id9568_) - (let ((_$e9570_ - (let () (declare (not safe)) (method-ref _obj9567_ _id9568_)))) - (if _$e9570_ - ((lambda (_method9573_) - (lambda _args9575_ (apply _method9573_ _obj9567_ _args9575_))) - _$e9570_) + (lambda (_obj9619_ _id9620_) + (let ((_$e9622_ + (let () (declare (not safe)) (method-ref _obj9619_ _id9620_)))) + (if _$e9622_ + ((lambda (_method9625_) + (lambda _args9627_ (apply _method9625_ _obj9619_ _args9627_))) + _$e9622_) '#f)))) (define checked-bound-method-ref - (lambda (_obj9560_ _id9561_) - (let ((_method9563_ + (lambda (_obj9612_ _id9613_) + (let ((_method9615_ (let () (declare (not safe)) - (checked-method-ref _obj9560_ _id9561_)))) - (lambda _args9565_ (apply _method9563_ _obj9560_ _args9565_))))) + (checked-method-ref _obj9612_ _id9613_)))) + (lambda _args9617_ (apply _method9615_ _obj9612_ _args9617_))))) (define find-method - (lambda (_klass9554_ _id9555_) - (if (let () (declare (not safe)) (type-descriptor? _klass9554_)) - (let () (declare (not safe)) (__find-method _klass9554_ _id9555_)) - (if (let () (declare (not safe)) (##type? _klass9554_)) - (let ((_$e9557_ + (lambda (_klass9606_ _id9607_) + (if (let () (declare (not safe)) (type-descriptor? _klass9606_)) + (let () (declare (not safe)) (__find-method _klass9606_ _id9607_)) + (if (let () (declare (not safe)) (##type? _klass9606_)) + (let ((_$e9609_ (let () (declare (not safe)) - (builtin-method-ref _klass9554_ _id9555_)))) - (if _$e9557_ - _$e9557_ - (let ((__tmp10786 + (builtin-method-ref _klass9606_ _id9607_)))) + (if _$e9609_ + _$e9609_ + (let ((__tmp10838 (let () (declare (not safe)) - (##type-super _klass9554_)))) + (##type-super _klass9606_)))) (declare (not safe)) - (builtin-find-method __tmp10786 _id9555_)))) + (builtin-find-method __tmp10838 _id9607_)))) '#f)))) (define __find-method - (lambda (_klass9543_ _id9544_) - (let ((_$e9546_ + (lambda (_klass9595_ _id9596_) + (let ((_$e9598_ (let () (declare (not safe)) - (direct-method-ref _klass9543_ _id9544_)))) - (if _$e9546_ - _$e9546_ + (direct-method-ref _klass9595_ _id9596_)))) + (if _$e9598_ + _$e9598_ (if (let () (declare (not safe)) - (type-descriptor-sealed? _klass9543_)) + (type-descriptor-sealed? _klass9595_)) '#f - (let ((_$e9549_ + (let ((_$e9601_ (let () (declare (not safe)) - (type-descriptor-mixin _klass9543_)))) - (if _$e9549_ - ((lambda (_mixin9552_) + (type-descriptor-mixin _klass9595_)))) + (if _$e9601_ + ((lambda (_mixin9604_) (let () (declare (not safe)) - (mixin-find-method _mixin9552_ _id9544_))) - _$e9549_) - (let ((__tmp10787 + (mixin-find-method _mixin9604_ _id9596_))) + _$e9601_) + (let ((__tmp10839 (let () (declare (not safe)) - (##type-super _klass9543_)))) + (##type-super _klass9595_)))) (declare (not safe)) - (struct-find-method __tmp10787 _id9544_))))))))) + (struct-find-method __tmp10839 _id9596_))))))))) (define struct-find-method - (lambda (_klass9534_ _id9535_) - (if (let () (declare (not safe)) (type-descriptor? _klass9534_)) - (let ((_$e9537_ + (lambda (_klass9586_ _id9587_) + (if (let () (declare (not safe)) (type-descriptor? _klass9586_)) + (let ((_$e9589_ (let () (declare (not safe)) - (direct-method-ref _klass9534_ _id9535_)))) - (if _$e9537_ - _$e9537_ - (let ((__tmp10789 + (direct-method-ref _klass9586_ _id9587_)))) + (if _$e9589_ + _$e9589_ + (let ((__tmp10841 (let () (declare (not safe)) - (##type-super _klass9534_)))) + (##type-super _klass9586_)))) (declare (not safe)) - (struct-find-method __tmp10789 _id9535_)))) - (if (let () (declare (not safe)) (##type? _klass9534_)) - (let ((_$e9540_ + (struct-find-method __tmp10841 _id9587_)))) + (if (let () (declare (not safe)) (##type? _klass9586_)) + (let ((_$e9592_ (let () (declare (not safe)) - (builtin-method-ref _klass9534_ _id9535_)))) - (if _$e9540_ - _$e9540_ - (let ((__tmp10788 + (builtin-method-ref _klass9586_ _id9587_)))) + (if _$e9592_ + _$e9592_ + (let ((__tmp10840 (let () (declare (not safe)) - (##type-super _klass9534_)))) + (##type-super _klass9586_)))) (declare (not safe)) - (builtin-find-method __tmp10788 _id9535_)))) + (builtin-find-method __tmp10840 _id9587_)))) '#f)))) (define class-find-method - (lambda (_klass9528_ _id9529_) - (if (let () (declare (not safe)) (type-descriptor? _klass9528_)) - (let ((_$e9531_ + (lambda (_klass9580_ _id9581_) + (if (let () (declare (not safe)) (type-descriptor? _klass9580_)) + (let ((_$e9583_ (let () (declare (not safe)) - (direct-method-ref _klass9528_ _id9529_)))) - (if _$e9531_ - _$e9531_ + (direct-method-ref _klass9580_ _id9581_)))) + (if _$e9583_ + _$e9583_ (let () (declare (not safe)) - (mixin-method-ref _klass9528_ _id9529_)))) + (mixin-method-ref _klass9580_ _id9581_)))) '#f))) (define mixin-find-method - (lambda (_mixin9485_ _id9486_) - (let _lp9488_ ((_rest9490_ _mixin9485_)) - (let* ((_rest94919499_ _rest9490_) - (_else94939507_ (lambda () '#f)) - (_K94959516_ - (lambda (_rest9510_ _klass9511_) - (let ((_$e9513_ + (lambda (_mixin9537_ _id9538_) + (let _lp9540_ ((_rest9542_ _mixin9537_)) + (let* ((_rest95439551_ _rest9542_) + (_else95459559_ (lambda () '#f)) + (_K95479568_ + (lambda (_rest9562_ _klass9563_) + (let ((_$e9565_ (let () (declare (not safe)) - (direct-method-ref _klass9511_ _id9486_)))) - (if _$e9513_ - _$e9513_ + (direct-method-ref _klass9563_ _id9538_)))) + (if _$e9565_ + _$e9565_ (let () (declare (not safe)) - (_lp9488_ _rest9510_))))))) - (if (let () (declare (not safe)) (##pair? _rest94919499_)) - (let ((_hd94969519_ - (let () (declare (not safe)) (##car _rest94919499_))) - (_tl94979521_ - (let () (declare (not safe)) (##cdr _rest94919499_)))) - (let* ((_klass9524_ _hd94969519_) (_rest9526_ _tl94979521_)) + (_lp9540_ _rest9562_))))))) + (if (let () (declare (not safe)) (##pair? _rest95439551_)) + (let ((_hd95489571_ + (let () (declare (not safe)) (##car _rest95439551_))) + (_tl95499573_ + (let () (declare (not safe)) (##cdr _rest95439551_)))) + (let* ((_klass9576_ _hd95489571_) (_rest9578_ _tl95499573_)) (declare (not safe)) - (_K94959516_ _rest9526_ _klass9524_))) - (let () (declare (not safe)) (_else94939507_))))))) + (_K95479568_ _rest9578_ _klass9576_))) + (let () (declare (not safe)) (_else95459559_))))))) (define builtin-find-method - (lambda (_klass9479_ _id9480_) - (if (let () (declare (not safe)) (##type? _klass9479_)) - (let ((_$e9482_ + (lambda (_klass9531_ _id9532_) + (if (let () (declare (not safe)) (##type? _klass9531_)) + (let ((_$e9534_ (let () (declare (not safe)) - (builtin-method-ref _klass9479_ _id9480_)))) - (if _$e9482_ - _$e9482_ - (let ((__tmp10790 + (builtin-method-ref _klass9531_ _id9532_)))) + (if _$e9534_ + _$e9534_ + (let ((__tmp10842 (let () (declare (not safe)) - (##type-super _klass9479_)))) + (##type-super _klass9531_)))) (declare (not safe)) - (builtin-find-method __tmp10790 _id9480_)))) + (builtin-find-method __tmp10842 _id9532_)))) '#f))) (define direct-method-ref - (lambda (_klass9471_ _id9472_) - (let ((_$e9474_ + (lambda (_klass9523_ _id9524_) + (let ((_$e9526_ (let () (declare (not safe)) - (type-descriptor-methods _klass9471_)))) - (if _$e9474_ - ((lambda (_ht9477_) + (type-descriptor-methods _klass9523_)))) + (if _$e9526_ + ((lambda (_ht9529_) (let () (declare (not safe)) - (table-ref _ht9477_ _id9472_ '#f))) - _$e9474_) + (table-ref _ht9529_ _id9524_ '#f))) + _$e9526_) '#f)))) (define mixin-method-ref - (lambda (_klass9463_ _id9464_) - (let ((_$e9466_ + (lambda (_klass9515_ _id9516_) + (let ((_$e9518_ (let () (declare (not safe)) - (type-descriptor-mixin _klass9463_)))) - (if _$e9466_ - ((lambda (_mixin9469_) + (type-descriptor-mixin _klass9515_)))) + (if _$e9518_ + ((lambda (_mixin9521_) (let () (declare (not safe)) - (mixin-find-method _mixin9469_ _id9464_))) - _$e9466_) + (mixin-find-method _mixin9521_ _id9516_))) + _$e9518_) '#f)))) (define builtin-method-ref - (lambda (_klass9455_ _id9456_) - (let ((_$e9458_ - (let ((__tmp10791 - (let () (declare (not safe)) (##type-id _klass9455_)))) + (lambda (_klass9507_ _id9508_) + (let ((_$e9510_ + (let ((__tmp10843 + (let () (declare (not safe)) (##type-id _klass9507_)))) (declare (not safe)) - (table-ref __builtin-type-methods __tmp10791 '#f)))) - (if _$e9458_ - ((lambda (_mtab9461_) + (table-ref __builtin-type-methods __tmp10843 '#f)))) + (if _$e9510_ + ((lambda (_mtab9513_) (let () (declare (not safe)) - (table-ref _mtab9461_ _id9456_ '#f))) - _$e9458_) + (table-ref _mtab9513_ _id9508_ '#f))) + _$e9510_) '#f)))) (define bind-method!__% - (lambda (_klass9421_ _id9422_ _proc9423_ _rebind?9424_) - (letrec ((_bind!9426_ - (lambda (_ht9439_) - (if (and (let () (declare (not safe)) (not _rebind?9424_)) + (lambda (_klass9473_ _id9474_ _proc9475_ _rebind?9476_) + (letrec ((_bind!9478_ + (lambda (_ht9491_) + (if (and (let () (declare (not safe)) (not _rebind?9476_)) (let () (declare (not safe)) - (table-ref _ht9439_ _id9422_ '#f))) - (error '"Method already bound" _klass9421_ _id9422_) + (table-ref _ht9491_ _id9474_ '#f))) + (error '"Method already bound" _klass9473_ _id9474_) (let () (declare (not safe)) - (table-set! _ht9439_ _id9422_ _proc9423_)))))) - (if (let () (declare (not safe)) (procedure? _proc9423_)) + (table-set! _ht9491_ _id9474_ _proc9475_)))))) + (if (let () (declare (not safe)) (procedure? _proc9475_)) '#!void - (error '"Bad method; expected procedure" _proc9423_)) - (if (let () (declare (not safe)) (type-descriptor? _klass9421_)) - (let ((_ht9428_ + (error '"Bad method; expected procedure" _proc9475_)) + (if (let () (declare (not safe)) (type-descriptor? _klass9473_)) + (let ((_ht9480_ (let () (declare (not safe)) - (type-descriptor-methods _klass9421_)))) - (if _ht9428_ - (let () (declare (not safe)) (_bind!9426_ _ht9428_)) - (let ((_ht9430_ + (type-descriptor-methods _klass9473_)))) + (if _ht9480_ + (let () (declare (not safe)) (_bind!9478_ _ht9480_)) + (let ((_ht9482_ (let () (declare (not safe)) (make-table 'test: eq?)))) (let () (declare (not safe)) - (type-descriptor-methods-set! _klass9421_ _ht9430_)) - (let () (declare (not safe)) (_bind!9426_ _ht9430_))))) - (if (let () (declare (not safe)) (##type? _klass9421_)) - (let ((_ht9437_ - (let ((_$e9432_ - (let ((__tmp10792 + (type-descriptor-methods-set! _klass9473_ _ht9482_)) + (let () (declare (not safe)) (_bind!9478_ _ht9482_))))) + (if (let () (declare (not safe)) (##type? _klass9473_)) + (let ((_ht9489_ + (let ((_$e9484_ + (let ((__tmp10844 (let () (declare (not safe)) - (##type-id _klass9421_)))) + (##type-id _klass9473_)))) (declare (not safe)) (table-ref __builtin-type-methods - __tmp10792 + __tmp10844 '#f)))) - (if _$e9432_ - _$e9432_ - (let ((_ht9435_ + (if _$e9484_ + _$e9484_ + (let ((_ht9487_ (let () (declare (not safe)) (make-table 'test: eq?)))) - (let ((__tmp10793 + (let ((__tmp10845 (let () (declare (not safe)) - (##type-id _klass9421_)))) + (##type-id _klass9473_)))) (declare (not safe)) (table-set! __builtin-type-methods - __tmp10793 - _ht9435_)) - _ht9435_))))) + __tmp10845 + _ht9487_)) + _ht9487_))))) (declare (not safe)) - (_bind!9426_ _ht9437_)) + (_bind!9478_ _ht9489_)) (error '"Bad class; expected type-descriptor" - _klass9421_)))))) + _klass9473_)))))) (define bind-method!__0 - (lambda (_klass9444_ _id9445_ _proc9446_) - (let ((_rebind?9448_ '#t)) + (lambda (_klass9496_ _id9497_ _proc9498_) + (let ((_rebind?9500_ '#t)) (declare (not safe)) - (bind-method!__% _klass9444_ _id9445_ _proc9446_ _rebind?9448_)))) + (bind-method!__% _klass9496_ _id9497_ _proc9498_ _rebind?9500_)))) (define bind-method! - (lambda _g10795_ - (let ((_g10794_ (let () (declare (not safe)) (##length _g10795_)))) - (cond ((let () (declare (not safe)) (##fx= _g10794_ 3)) - (apply (lambda (_klass9444_ _id9445_ _proc9446_) + (lambda _g10847_ + (let ((_g10846_ (let () (declare (not safe)) (##length _g10847_)))) + (cond ((let () (declare (not safe)) (##fx= _g10846_ 3)) + (apply (lambda (_klass9496_ _id9497_ _proc9498_) (let () (declare (not safe)) - (bind-method!__0 _klass9444_ _id9445_ _proc9446_))) - _g10795_)) - ((let () (declare (not safe)) (##fx= _g10794_ 4)) - (apply (lambda (_klass9450_ _id9451_ _proc9452_ _rebind?9453_) + (bind-method!__0 _klass9496_ _id9497_ _proc9498_))) + _g10847_)) + ((let () (declare (not safe)) (##fx= _g10846_ 4)) + (apply (lambda (_klass9502_ _id9503_ _proc9504_ _rebind?9505_) (let () (declare (not safe)) (bind-method!__% - _klass9450_ - _id9451_ - _proc9452_ - _rebind?9453_))) - _g10795_)) + _klass9502_ + _id9503_ + _proc9504_ + _rebind?9505_))) + _g10847_)) (else (##raise-wrong-number-of-arguments-exception bind-method! - _g10795_)))))) + _g10847_)))))) (define __method-specializers (make-table 'test: eq?)) (define bind-specializer! - (lambda (_proc9417_ _specializer9418_) + (lambda (_proc9469_ _specializer9470_) (let () (declare (not safe)) - (table-set! __method-specializers _proc9417_ _specializer9418_)))) + (table-set! __method-specializers _proc9469_ _specializer9470_)))) (define seal-class! - (lambda (_klass9332_) - (letrec ((_collect-methods!9334_ - (lambda (_mtab9350_) - (letrec ((_merge!9352_ - (lambda (_tab9412_) - (let ((__tmp10796 - (lambda (_id9414_ _proc9415_) + (lambda (_klass9384_) + (letrec ((_collect-methods!9386_ + (lambda (_mtab9402_) + (letrec ((_merge!9404_ + (lambda (_tab9464_) + (let ((__tmp10848 + (lambda (_id9466_ _proc9467_) (let () (declare (not safe)) (table-set! - _mtab9350_ - _id9414_ - _proc9415_))))) + _mtab9402_ + _id9466_ + _proc9467_))))) (declare (not safe)) - (table-for-each __tmp10796 _tab9412_)))) - (_collect-direct-methods!9353_ - (lambda (_klass9407_) - (let ((_$e9409_ + (table-for-each __tmp10848 _tab9464_)))) + (_collect-direct-methods!9405_ + (lambda (_klass9459_) + (let ((_$e9461_ (let () (declare (not safe)) (type-descriptor-methods - _klass9407_)))) - (if _$e9409_ + _klass9459_)))) + (if _$e9461_ (let () (declare (not safe)) - (_merge!9352_ _$e9409_)) + (_merge!9404_ _$e9461_)) '#!void))))) - (let ((_$e9355_ + (let ((_$e9407_ (let () (declare (not safe)) - (type-descriptor-mixin _klass9332_)))) - (if _$e9355_ - ((lambda (_mixin9358_) - (let _recur9360_ ((_rest9362_ _mixin9358_)) - (let* ((_rest93639371_ _rest9362_) - (_else93659379_ (lambda () '#!void)) - (_K93679388_ - (lambda (_rest9382_ _klass9383_) + (type-descriptor-mixin _klass9384_)))) + (if _$e9407_ + ((lambda (_mixin9410_) + (let _recur9412_ ((_rest9414_ _mixin9410_)) + (let* ((_rest94159423_ _rest9414_) + (_else94179431_ (lambda () '#!void)) + (_K94199440_ + (lambda (_rest9434_ _klass9435_) (let () (declare (not safe)) - (_recur9360_ _rest9382_)) + (_recur9412_ _rest9434_)) (if (let () (declare (not safe)) (type-descriptor? - _klass9383_)) + _klass9435_)) (let () (declare (not safe)) - (_collect-direct-methods!9353_ - _klass9383_)) - (let ((_$e9385_ + (_collect-direct-methods!9405_ + _klass9435_)) + (let ((_$e9437_ (if (let () (declare (not safe)) - (##type? _klass9383_)) - (let ((__tmp10800 + (##type? _klass9435_)) + (let ((__tmp10852 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () (declare (not safe)) - (##type-id _klass9383_)))) + (##type-id _klass9435_)))) (declare (not safe)) - (table-ref __builtin-type-methods __tmp10800 '#f)) + (table-ref __builtin-type-methods __tmp10852 '#f)) '#f))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (if _$e9385_ + (if _$e9437_ (let () (declare (not safe)) - (_merge!9352_ _$e9385_)) + (_merge!9404_ _$e9437_)) '#!void)))))) (if (let () (declare (not safe)) - (##pair? _rest93639371_)) - (let ((_hd93689391_ + (##pair? _rest94159423_)) + (let ((_hd94209443_ (let () (declare (not safe)) - (##car _rest93639371_))) - (_tl93699393_ + (##car _rest94159423_))) + (_tl94219445_ (let () (declare (not safe)) - (##cdr _rest93639371_)))) - (let* ((_klass9396_ _hd93689391_) - (_rest9398_ _tl93699393_)) + (##cdr _rest94159423_)))) + (let* ((_klass9448_ _hd94209443_) + (_rest9450_ _tl94219445_)) (declare (not safe)) - (_K93679388_ - _rest9398_ - _klass9396_))) + (_K94199440_ + _rest9450_ + _klass9448_))) '#!void)))) - _$e9355_) - (let _recur9400_ ((_klass9402_ + _$e9407_) + (let _recur9452_ ((_klass9454_ (let () (declare (not safe)) - (##type-super _klass9332_)))) + (##type-super _klass9384_)))) (if (let () (declare (not safe)) - (type-descriptor? _klass9402_)) + (type-descriptor? _klass9454_)) (begin - (let ((__tmp10799 + (let ((__tmp10851 (let () (declare (not safe)) - (##type-super _klass9402_)))) + (##type-super _klass9454_)))) (declare (not safe)) - (_recur9400_ __tmp10799)) + (_recur9452_ __tmp10851)) (let () (declare (not safe)) - (_collect-direct-methods!9353_ - _klass9402_))) + (_collect-direct-methods!9405_ + _klass9454_))) (if (let () (declare (not safe)) - (##type? _klass9402_)) + (##type? _klass9454_)) (begin - (let ((__tmp10797 + (let ((__tmp10849 (let () (declare (not safe)) - (##type-super _klass9402_)))) + (##type-super _klass9454_)))) (declare (not safe)) - (_recur9400_ __tmp10797)) - (let ((_$e9404_ - (let ((__tmp10798 + (_recur9452_ __tmp10849)) + (let ((_$e9456_ + (let ((__tmp10850 (let () (declare (not safe)) (##type-id - _klass9402_)))) + _klass9454_)))) (declare (not safe)) (table-ref __builtin-type-methods - __tmp10798 + __tmp10850 '#f)))) - (if _$e9404_ + (if _$e9456_ (let () (declare (not safe)) - (_merge!9352_ _$e9404_)) + (_merge!9404_ _$e9456_)) '#!void))) '#!void))))) (let () (declare (not safe)) - (_collect-direct-methods!9353_ _klass9332_)))))) - (if (let () (declare (not safe)) (type-descriptor? _klass9332_)) + (_collect-direct-methods!9405_ _klass9384_)))))) + (if (let () (declare (not safe)) (type-descriptor? _klass9384_)) (if (let () (declare (not safe)) - (type-descriptor-sealed? _klass9332_)) + (type-descriptor-sealed? _klass9384_)) '#!void (begin - (if (let ((__tmp10801 + (if (let ((__tmp10853 (let () (declare (not safe)) - (type-descriptor-plist _klass9332_)))) + (type-descriptor-plist _klass9384_)))) (declare (not safe)) - (assgetq 'final: __tmp10801)) + (assgetq 'final: __tmp10853)) '#!void - (error '"Cannot seal non-final class" _klass9332_)) - (let ((_vtab9336_ + (error '"Cannot seal non-final class" _klass9384_)) + (let ((_vtab9388_ (let () (declare (not safe)) (make-table 'test: eq?))) - (_mtab9337_ + (_mtab9389_ (let () (declare (not safe)) (make-table 'test: eq?)))) (let () (declare (not safe)) - (_collect-methods!9334_ _mtab9337_)) - (let ((__tmp10802 - (lambda (_id9339_ _proc9340_) - (let ((_$e9342_ + (_collect-methods!9386_ _mtab9389_)) + (let ((__tmp10854 + (lambda (_id9391_ _proc9392_) + (let ((_$e9394_ (let () (declare (not safe)) (table-ref __method-specializers - _proc9340_ + _proc9392_ '#f)))) - (if _$e9342_ - ((lambda (_specializer9345_) - (let ((_proc9347_ - (_specializer9345_ _klass9332_)) - (_gid9348_ - (let ((__tmp10803 + (if _$e9394_ + ((lambda (_specializer9397_) + (let ((_proc9399_ + (_specializer9397_ _klass9384_)) + (_gid9400_ + (let ((__tmp10855 (let () (declare (not safe)) (##type-id - _klass9332_)))) + _klass9384_)))) (declare (not safe)) - (make-symbol - __tmp10803 + (make-symbol__1 + __tmp10855 '"::[" - _id9339_ + _id9391_ '"]")))) - (eval (let ((__tmp10804 - (let ((__tmp10805 - (let ((__tmp10806 + (eval (let ((__tmp10856 + (let ((__tmp10857 + (let ((__tmp10858 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp10807 + (let ((__tmp10859 (let () (declare (not safe)) - (cons _proc9347_ '())))) + (cons _proc9399_ '())))) (declare (not safe)) - (cons 'quote __tmp10807)))) + (cons 'quote __tmp10859)))) (declare (not safe)) - (cons __tmp10806 '())))) + (cons __tmp10858 '())))) (declare (not safe)) - (cons _gid9348_ __tmp10805)))) + (cons _gid9400_ __tmp10857)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons 'def __tmp10804))) + (cons 'def __tmp10856))) (let () (declare (not safe)) (table-set! - _vtab9336_ - _id9339_ - _proc9347_)))) - _$e9342_) + _vtab9388_ + _id9391_ + _proc9399_)))) + _$e9394_) (let () (declare (not safe)) (table-set! - _vtab9336_ - _id9339_ - _proc9340_))))))) + _vtab9388_ + _id9391_ + _proc9392_))))))) (declare (not safe)) - (table-for-each __tmp10802 _mtab9337_)) + (table-for-each __tmp10854 _mtab9389_)) (let () (declare (not safe)) - (type-descriptor-methods-set! _klass9332_ _vtab9336_)) + (type-descriptor-methods-set! _klass9384_ _vtab9388_)) (let () (declare (not safe)) - (type-descriptor-seal! _klass9332_))))) + (type-descriptor-seal! _klass9384_))))) '#!void)))) (define next-method - (lambda (_subklass9269_ _obj9270_ _id9271_) - (let ((_klass9273_ - (let () (declare (not safe)) (object-type _obj9270_))) - (_type-id9274_ - (let () (declare (not safe)) (##type-id _subklass9269_)))) - (if (let () (declare (not safe)) (type-descriptor? _klass9273_)) - (let ((_$e9276_ + (lambda (_subklass9321_ _obj9322_ _id9323_) + (let ((_klass9325_ + (let () (declare (not safe)) (object-type _obj9322_))) + (_type-id9326_ + (let () (declare (not safe)) (##type-id _subklass9321_)))) + (if (let () (declare (not safe)) (type-descriptor? _klass9325_)) + (let ((_$e9328_ (let () (declare (not safe)) - (type-descriptor-mixin _klass9273_)))) - (if _$e9276_ - ((lambda (_mixin9279_) - (let _lp9281_ ((_rest9283_ + (type-descriptor-mixin _klass9325_)))) + (if _$e9328_ + ((lambda (_mixin9331_) + (let _lp9333_ ((_rest9335_ (let () (declare (not safe)) - (cons _klass9273_ _mixin9279_)))) - (let* ((_rest92849292_ _rest9283_) - (_else92869300_ (lambda () '#f)) - (_K92889306_ - (lambda (_rest9303_ _klass9304_) - (if (let ((__tmp10812 + (cons _klass9325_ _mixin9331_)))) + (let* ((_rest93369344_ _rest9335_) + (_else93389352_ (lambda () '#f)) + (_K93409358_ + (lambda (_rest9355_ _klass9356_) + (if (let ((__tmp10864 (let () (declare (not safe)) - (##type-id _klass9304_)))) + (##type-id _klass9356_)))) (declare (not safe)) - (eq? _type-id9274_ __tmp10812)) + (eq? _type-id9326_ __tmp10864)) (let () (declare (not safe)) (mixin-find-method - _rest9303_ - _id9271_)) + _rest9355_ + _id9323_)) (let () (declare (not safe)) - (_lp9281_ _rest9303_)))))) + (_lp9333_ _rest9355_)))))) (if (let () (declare (not safe)) - (##pair? _rest92849292_)) - (let ((_hd92899309_ + (##pair? _rest93369344_)) + (let ((_hd93419361_ (let () (declare (not safe)) - (##car _rest92849292_))) - (_tl92909311_ + (##car _rest93369344_))) + (_tl93429363_ (let () (declare (not safe)) - (##cdr _rest92849292_)))) - (let* ((_klass9314_ _hd92899309_) - (_rest9316_ _tl92909311_)) + (##cdr _rest93369344_)))) + (let* ((_klass9366_ _hd93419361_) + (_rest9368_ _tl93429363_)) (declare (not safe)) - (_K92889306_ _rest9316_ _klass9314_))) + (_K93409358_ _rest9368_ _klass9366_))) (let () (declare (not safe)) - (_else92869300_)))))) - _$e9276_) - (let _lp9318_ ((_klass9320_ _klass9273_)) - (if (let ((__tmp10811 + (_else93389352_)))))) + _$e9328_) + (let _lp9370_ ((_klass9372_ _klass9325_)) + (if (let ((__tmp10863 (let () (declare (not safe)) - (##type-id _klass9320_)))) + (##type-id _klass9372_)))) (declare (not safe)) - (eq? _type-id9274_ __tmp10811)) - (let ((__tmp10810 + (eq? _type-id9326_ __tmp10863)) + (let ((__tmp10862 (let () (declare (not safe)) - (##type-super _klass9320_)))) + (##type-super _klass9372_)))) (declare (not safe)) - (struct-find-method __tmp10810 _id9271_)) - (let ((_$e9322_ + (struct-find-method __tmp10862 _id9323_)) + (let ((_$e9374_ (let () (declare (not safe)) - (##type-super _klass9320_)))) - (if _$e9322_ + (##type-super _klass9372_)))) + (if _$e9374_ (let () (declare (not safe)) - (_lp9318_ _$e9322_)) + (_lp9370_ _$e9374_)) '#f)))))) - (if (let () (declare (not safe)) (##type? _klass9273_)) - (let _lp9325_ ((_klass9327_ _klass9273_)) - (if (let ((__tmp10809 + (if (let () (declare (not safe)) (##type? _klass9325_)) + (let _lp9377_ ((_klass9379_ _klass9325_)) + (if (let ((__tmp10861 (let () (declare (not safe)) - (##type-id _klass9327_)))) + (##type-id _klass9379_)))) (declare (not safe)) - (eq? _type-id9274_ __tmp10809)) - (let ((__tmp10808 + (eq? _type-id9326_ __tmp10861)) + (let ((__tmp10860 (let () (declare (not safe)) - (##type-super _klass9327_)))) + (##type-super _klass9379_)))) (declare (not safe)) - (builtin-find-method __tmp10808 _id9271_)) - (let ((_$e9329_ + (builtin-find-method __tmp10860 _id9323_)) + (let ((_$e9381_ (let () (declare (not safe)) - (##type-super _klass9327_)))) - (if _$e9329_ - (let () (declare (not safe)) (_lp9325_ _$e9329_)) + (##type-super _klass9379_)))) + (if _$e9381_ + (let () (declare (not safe)) (_lp9377_ _$e9381_)) '#f)))) '#f))))) (define call-next-method - (lambda (_subklass9259_ _obj9260_ _id9261_ . _args9262_) - (let ((_$e9264_ + (lambda (_subklass9311_ _obj9312_ _id9313_ . _args9314_) + (let ((_$e9316_ (let () (declare (not safe)) - (next-method _subklass9259_ _obj9260_ _id9261_)))) - (if _$e9264_ - ((lambda (_methodf9267_) - (apply _methodf9267_ _obj9260_ _args9262_)) - _$e9264_) - (error '"Cannot find next method" _obj9260_ _id9261_))))) - (define write-style (lambda (_we9257_) (macro-writeenv-style _we9257_))) + (next-method _subklass9311_ _obj9312_ _id9313_)))) + (if _$e9316_ + ((lambda (_methodf9319_) + (apply _methodf9319_ _obj9312_ _args9314_)) + _$e9316_) + (error '"Cannot find next method" _obj9312_ _id9313_))))) + (define write-style (lambda (_we9309_) (macro-writeenv-style _we9309_))) (define write-object - (lambda (_we9249_ _obj9250_) - (let ((_$e9252_ - (let () (declare (not safe)) (method-ref _obj9250_ ':wr)))) - (if _$e9252_ - ((lambda (_method9255_) (_method9255_ _obj9250_ _we9249_)) - _$e9252_) + (lambda (_we9301_ _obj9302_) + (let ((_$e9304_ + (let () (declare (not safe)) (method-ref _obj9302_ ':wr)))) + (if _$e9304_ + ((lambda (_method9307_) (_method9307_ _obj9302_ _we9301_)) + _$e9304_) (let () (declare (not safe)) - (##default-wr _we9249_ _obj9250_)))))) + (##default-wr _we9301_ _obj9302_)))))) (let () (declare (not safe)) (##wr-set! write-object)))) diff --git a/src/bootstrap/gerbil/runtime/mop__1.scm b/src/bootstrap/gerbil/runtime/mop__1.scm index e4fe772d6..1031b9230 100644 --- a/src/bootstrap/gerbil/runtime/mop__1.scm +++ b/src/bootstrap/gerbil/runtime/mop__1.scm @@ -1,226 +1,226 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (define |[:0:]#__slot-e| - (lambda (_$stx9131_) - (let* ((_g91359161_ - (lambda (_g91369157_) - (gx#raise-syntax-error '#f '"Bad syntax" _g91369157_))) - (_g91349245_ - (lambda (_g91369165_) - (if (gx#stx-pair? _g91369165_) - (let ((_e91439168_ (gx#syntax-e _g91369165_))) - (let ((_hd91429172_ - (let () (declare (not safe)) (##car _e91439168_))) - (_tl91419175_ - (let () (declare (not safe)) (##cdr _e91439168_)))) - (if (gx#stx-pair? _tl91419175_) - (let ((_e91469178_ (gx#syntax-e _tl91419175_))) - (let ((_hd91459182_ + (lambda (_$stx9183_) + (let* ((_g91879213_ + (lambda (_g91889209_) + (gx#raise-syntax-error '#f '"Bad syntax" _g91889209_))) + (_g91869297_ + (lambda (_g91889217_) + (if (gx#stx-pair? _g91889217_) + (let ((_e91959220_ (gx#syntax-e _g91889217_))) + (let ((_hd91949224_ + (let () (declare (not safe)) (##car _e91959220_))) + (_tl91939227_ + (let () (declare (not safe)) (##cdr _e91959220_)))) + (if (gx#stx-pair? _tl91939227_) + (let ((_e91989230_ (gx#syntax-e _tl91939227_))) + (let ((_hd91979234_ (let () (declare (not safe)) - (##car _e91469178_))) - (_tl91449185_ + (##car _e91989230_))) + (_tl91969237_ (let () (declare (not safe)) - (##cdr _e91469178_)))) - (if (gx#stx-pair? _tl91449185_) - (let ((_e91499188_ - (gx#syntax-e _tl91449185_))) - (let ((_hd91489192_ + (##cdr _e91989230_)))) + (if (gx#stx-pair? _tl91969237_) + (let ((_e92019240_ + (gx#syntax-e _tl91969237_))) + (let ((_hd92009244_ (let () (declare (not safe)) - (##car _e91499188_))) - (_tl91479195_ + (##car _e92019240_))) + (_tl91999247_ (let () (declare (not safe)) - (##cdr _e91499188_)))) - (if (gx#stx-pair? _tl91479195_) - (let ((_e91529198_ - (gx#syntax-e _tl91479195_))) - (let ((_hd91519202_ + (##cdr _e92019240_)))) + (if (gx#stx-pair? _tl91999247_) + (let ((_e92049250_ + (gx#syntax-e _tl91999247_))) + (let ((_hd92039254_ (let () (declare (not safe)) - (##car _e91529198_))) - (_tl91509205_ + (##car _e92049250_))) + (_tl92029257_ (let () (declare (not safe)) - (##cdr _e91529198_)))) - (if (gx#stx-pair? _tl91509205_) - (let ((_e91559208_ + (##cdr _e92049250_)))) + (if (gx#stx-pair? _tl92029257_) + (let ((_e92079260_ (gx#syntax-e - _tl91509205_))) - (let ((_hd91549212_ + _tl92029257_))) + (let ((_hd92069264_ (let () (declare (not safe)) - (##car _e91559208_))) - (_tl91539215_ + (##car _e92079260_))) + (_tl92059267_ (let () (declare (not safe)) - (##cdr _e91559208_)))) + (##cdr _e92079260_)))) (if (gx#stx-null? - _tl91539215_) - ((lambda (_L9218_ + _tl92059267_) + ((lambda (_L9270_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _L9220_ - _L9221_ - _L9222_) - (let ((__tmp10859 (gx#datum->syntax '#f 'if)) - (__tmp10813 - (let ((__tmp10856 - (let ((__tmp10858 + _L9272_ + _L9273_ + _L9274_) + (let ((__tmp10911 (gx#datum->syntax '#f 'if)) + (__tmp10865 + (let ((__tmp10908 + (let ((__tmp10910 (gx#datum->syntax '#f 'object?)) - (__tmp10857 + (__tmp10909 (let () (declare (not safe)) - (cons _L9222_ '())))) + (cons _L9274_ '())))) (declare (not safe)) - (cons __tmp10858 __tmp10857))) - (__tmp10814 - (let ((__tmp10819 - (let ((__tmp10855 + (cons __tmp10910 __tmp10909))) + (__tmp10866 + (let ((__tmp10871 + (let ((__tmp10907 (gx#datum->syntax '#f 'let)) - (__tmp10820 - (let ((__tmp10849 - (let ((__tmp10854 + (__tmp10872 + (let ((__tmp10901 + (let ((__tmp10906 (gx#datum->syntax '#f 'klass)) - (__tmp10850 - (let ((__tmp10851 + (__tmp10902 + (let ((__tmp10903 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp10853 + (let ((__tmp10905 (gx#datum->syntax '#f 'object-type)) - (__tmp10852 + (__tmp10904 (let () (declare (not safe)) - (cons _L9222_ '())))) + (cons _L9274_ '())))) (declare (not safe)) - (cons __tmp10853 __tmp10852)))) + (cons __tmp10905 __tmp10904)))) (declare (not safe)) - (cons __tmp10851 '())))) + (cons __tmp10903 '())))) (declare (not safe)) - (cons __tmp10854 __tmp10850))) - (__tmp10821 - (let ((__tmp10822 - (let ((__tmp10848 (gx#datum->syntax '#f 'cond)) - (__tmp10823 - (let ((__tmp10831 - (let ((__tmp10835 - (let ((__tmp10847 + (cons __tmp10906 __tmp10902))) + (__tmp10873 + (let ((__tmp10874 + (let ((__tmp10900 (gx#datum->syntax '#f 'cond)) + (__tmp10875 + (let ((__tmp10883 + (let ((__tmp10887 + (let ((__tmp10899 (gx#datum->syntax '#f 'and)) - (__tmp10836 - (let ((__tmp10843 - (let ((__tmp10846 + (__tmp10888 + (let ((__tmp10895 + (let ((__tmp10898 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'type-descriptor?)) - (__tmp10844 - (let ((__tmp10845 (gx#datum->syntax '#f 'klass))) + (__tmp10896 + (let ((__tmp10897 (gx#datum->syntax '#f 'klass))) (declare (not safe)) - (cons __tmp10845 '())))) + (cons __tmp10897 '())))) (declare (not safe)) - (cons __tmp10846 __tmp10844))) - (__tmp10837 - (let ((__tmp10838 - (let ((__tmp10842 + (cons __tmp10898 __tmp10896))) + (__tmp10889 + (let ((__tmp10890 + (let ((__tmp10894 (gx#datum->syntax '#f 'class-slot-offset)) - (__tmp10839 - (let ((__tmp10841 + (__tmp10891 + (let ((__tmp10893 (gx#datum->syntax '#f 'klass)) - (__tmp10840 + (__tmp10892 (let () (declare (not safe)) - (cons _L9221_ '())))) + (cons _L9273_ '())))) (declare (not safe)) - (cons __tmp10841 __tmp10840)))) + (cons __tmp10893 __tmp10892)))) (declare (not safe)) - (cons __tmp10842 __tmp10839)))) + (cons __tmp10894 __tmp10891)))) (declare (not safe)) - (cons __tmp10838 '())))) + (cons __tmp10890 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp10843 - __tmp10837)))) + (cons __tmp10895 + __tmp10889)))) (declare (not safe)) - (cons __tmp10847 __tmp10836))) - (__tmp10832 - (let ((__tmp10834 + (cons __tmp10899 __tmp10888))) + (__tmp10884 + (let ((__tmp10886 (gx#datum->syntax '#f '=>)) - (__tmp10833 + (__tmp10885 (let () (declare (not safe)) - (cons _L9220_ '())))) + (cons _L9272_ '())))) (declare (not safe)) - (cons __tmp10834 __tmp10833)))) + (cons __tmp10886 __tmp10885)))) (declare (not safe)) - (cons __tmp10835 __tmp10832))) - (__tmp10824 - (let ((__tmp10825 - (let ((__tmp10830 + (cons __tmp10887 __tmp10884))) + (__tmp10876 + (let ((__tmp10877 + (let ((__tmp10882 (gx#datum->syntax '#f 'else)) - (__tmp10826 - (let ((__tmp10827 - (let ((__tmp10828 + (__tmp10878 + (let ((__tmp10879 + (let ((__tmp10880 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp10829 + (let ((__tmp10881 (let () (declare (not safe)) - (cons _L9221_ '())))) + (cons _L9273_ '())))) (declare (not safe)) - (cons _L9222_ __tmp10829)))) + (cons _L9274_ __tmp10881)))) (declare (not safe)) - (cons _L9218_ __tmp10828)))) + (cons _L9270_ __tmp10880)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp10827 '())))) + (cons __tmp10879 '())))) (declare (not safe)) - (cons __tmp10830 __tmp10826)))) + (cons __tmp10882 __tmp10878)))) (declare (not safe)) - (cons __tmp10825 '())))) + (cons __tmp10877 '())))) (declare (not safe)) - (cons __tmp10831 __tmp10824)))) + (cons __tmp10883 __tmp10876)))) (declare (not safe)) - (cons __tmp10848 __tmp10823)))) + (cons __tmp10900 __tmp10875)))) (declare (not safe)) - (cons __tmp10822 '())))) + (cons __tmp10874 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp10849 - __tmp10821)))) + (cons __tmp10901 + __tmp10873)))) (declare (not safe)) - (cons __tmp10855 __tmp10820))) - (__tmp10815 - (let ((__tmp10816 - (let ((__tmp10817 - (let ((__tmp10818 + (cons __tmp10907 __tmp10872))) + (__tmp10867 + (let ((__tmp10868 + (let ((__tmp10869 + (let ((__tmp10870 (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (cons _L9221_ '())))) + (cons _L9273_ '())))) (declare (not safe)) - (cons _L9222_ __tmp10818)))) + (cons _L9274_ __tmp10870)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L9218_ __tmp10817)))) + (cons _L9270_ __tmp10869)))) (declare (not safe)) - (cons __tmp10816 '())))) + (cons __tmp10868 '())))) (declare (not safe)) - (cons __tmp10819 __tmp10815)))) + (cons __tmp10871 __tmp10867)))) (declare (not safe)) - (cons __tmp10856 __tmp10814)))) + (cons __tmp10908 __tmp10866)))) (declare (not safe)) - (cons __tmp10859 __tmp10813))) - _hd91549212_ - _hd91519202_ - _hd91489192_ - _hd91459182_) - (_g91359161_ _g91369165_)))) + (cons __tmp10911 __tmp10865))) + _hd92069264_ + _hd92039254_ + _hd92009244_ + _hd91979234_) + (_g91879213_ _g91889217_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g91359161_ _g91369165_)))) - (_g91359161_ _g91369165_)))) - (_g91359161_ _g91369165_)))) - (_g91359161_ _g91369165_)))) - (_g91359161_ _g91369165_))))) - (_g91349245_ _$stx9131_)))) + (_g91879213_ _g91889217_)))) + (_g91879213_ _g91889217_)))) + (_g91879213_ _g91889217_)))) + (_g91879213_ _g91889217_)))) + (_g91879213_ _g91889217_))))) + (_g91869297_ _$stx9183_)))) diff --git a/src/bootstrap/gerbil/runtime/repl__0.scm b/src/bootstrap/gerbil/runtime/repl__0.scm index cafe9c422..6d2a29d3f 100644 --- a/src/bootstrap/gerbil/runtime/repl__0.scm +++ b/src/bootstrap/gerbil/runtime/repl__0.scm @@ -1,28 +1,28 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/repl::timestamp 1696542233) + (define gerbil/runtime/repl::timestamp 1697117311) (define replx (lambda () - (letrec ((_write-reason18166_ - (lambda (_exn18172_) - (lambda (_cont18174_ _port18175_) + (letrec ((_write-reason18218_ + (lambda (_exn18224_) + (lambda (_cont18226_ _port18227_) (let () (declare (not safe)) (##display-exception-in-context - _exn18172_ - _cont18174_ - _port18175_)) + _exn18224_ + _cont18226_ + _port18227_)) '#f)))) (with-exception-handler - (lambda (_exn18168_) - (let ((__tmp18176 - (lambda (_cont18170_) - (let ((__tmp18177 + (lambda (_exn18220_) + (let ((__tmp18228 + (lambda (_cont18222_) + (let ((__tmp18229 (let () (declare (not safe)) - (_write-reason18166_ _exn18168_)))) + (_write-reason18218_ _exn18220_)))) (declare (not safe)) - (##repl-within _cont18170_ __tmp18177 _exn18168_))))) + (##repl-within _cont18222_ __tmp18229 _exn18220_))))) (declare (not safe)) - (##continuation-capture __tmp18176))) + (##continuation-capture __tmp18228))) ##repl))))) diff --git a/src/bootstrap/gerbil/runtime/syntax__0.scm b/src/bootstrap/gerbil/runtime/syntax__0.scm index f02f06498..d0a8665eb 100644 --- a/src/bootstrap/gerbil/runtime/syntax__0.scm +++ b/src/bootstrap/gerbil/runtime/syntax__0.scm @@ -1,6 +1,6 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/syntax::timestamp 1696542233) + (define gerbil/runtime/syntax::timestamp 1697117311) (begin (declare (not safe)) (define SyntaxError::t @@ -13,8 +13,8 @@ '#f)) (define SyntaxError? (make-class-predicate SyntaxError::t)) (define make-SyntaxError - (lambda _$args14730_ - (apply make-class-instance SyntaxError::t _$args14730_))) + (lambda _$args14782_ + (apply make-class-instance SyntaxError::t _$args14782_))) (define SyntaxError-message (make-class-slot-accessor SyntaxError::t 'message)) (define SyntaxError-irritants @@ -60,79 +60,79 @@ (define &SyntaxError-marks-set! (make-class-slot-unchecked-mutator SyntaxError::t 'marks)) (define SyntaxError::display-exception - (lambda (_self14633_ _port14634_) - (letrec ((_location14636_ + (lambda (_self14685_ _port14686_) + (letrec ((_location14688_ (lambda () - (let _lp14690_ ((_rest14692_ - (slot-ref _self14633_ 'irritants))) - (let* ((_rest1469314701_ _rest14692_) - (_else1469514709_ (lambda () '#f)) - (_K1469714718_ - (lambda (_rest14712_ _hd14713_) - (let ((_$e14715_ (__AST-source _hd14713_))) - (if _$e14715_ - _$e14715_ - (_lp14690_ _rest14712_)))))) - (if (##pair? _rest1469314701_) - (let ((_hd1469814721_ (##car _rest1469314701_)) - (_tl1469914723_ (##cdr _rest1469314701_))) - (let* ((_hd14726_ _hd1469814721_) - (_rest14728_ _tl1469914723_)) - (_K1469714718_ _rest14728_ _hd14726_))) - (_else1469514709_))))))) + (let _lp14742_ ((_rest14744_ + (slot-ref _self14685_ 'irritants))) + (let* ((_rest1474514753_ _rest14744_) + (_else1474714761_ (lambda () '#f)) + (_K1474914770_ + (lambda (_rest14764_ _hd14765_) + (let ((_$e14767_ (__AST-source _hd14765_))) + (if _$e14767_ + _$e14767_ + (_lp14742_ _rest14764_)))))) + (if (##pair? _rest1474514753_) + (let ((_hd1475014773_ (##car _rest1474514753_)) + (_tl1475114775_ (##cdr _rest1474514753_))) + (let* ((_hd14778_ _hd1475014773_) + (_rest14780_ _tl1475114775_)) + (_K1474914770_ _rest14780_ _hd14778_))) + (_else1474714761_))))))) (call-with-parameters (lambda () (newline) (display '"*** ERROR IN ") - (let ((_$e14639_ (_location14636_))) - (if _$e14639_ - ((lambda (_where14642_) - (##display-locat _where14642_ '#t (current-output-port))) - _$e14639_) + (let ((_$e14691_ (_location14688_))) + (if _$e14691_ + ((lambda (_where14694_) + (##display-locat _where14694_ '#t (current-output-port))) + _$e14691_) (display '"?"))) (newline) (display '"--- Syntax Error") - (let ((_$e14644_ (slot-ref _self14633_ 'where))) - (if _$e14644_ - ((lambda (_where14647_) + (let ((_$e14696_ (slot-ref _self14685_ 'where))) + (if _$e14696_ + ((lambda (_where14699_) (displayln '" at " - _where14647_ + _where14699_ '": " - (slot-ref _self14633_ 'message))) - _$e14644_) - (displayln '": " (slot-ref _self14633_ 'message)))) - (let* ((_g1464814656_ (slot-ref _self14633_ 'irritants)) - (_else1465014664_ (lambda () '#!void)) - (_K1465214677_ - (lambda (_rest14667_ _stx14668_) + (slot-ref _self14685_ 'message))) + _$e14696_) + (displayln '": " (slot-ref _self14685_ 'message)))) + (let* ((_g1470014708_ (slot-ref _self14685_ 'irritants)) + (_else1470214716_ (lambda () '#!void)) + (_K1470414729_ + (lambda (_rest14719_ _stx14720_) (display '"... form: ") - (__pp-syntax _stx14668_) + (__pp-syntax _stx14720_) (for-each - (lambda (_detail14670_) + (lambda (_detail14722_) (display '"... detail: ") - (write (__AST->datum _detail14670_)) - (let ((_$e14672_ (__AST-source _detail14670_))) - (if _$e14672_ - ((lambda (_loc14675_) + (write (__AST->datum _detail14722_)) + (let ((_$e14724_ (__AST-source _detail14722_))) + (if _$e14724_ + ((lambda (_loc14727_) (display '" at ") (##display-locat - _loc14675_ + _loc14727_ '#t (current-output-port))) - _$e14672_) + _$e14724_) '#!void)) (newline)) - _rest14667_)))) - (if (##pair? _g1464814656_) - (let ((_hd1465314680_ (##car _g1464814656_)) - (_tl1465414682_ (##cdr _g1464814656_))) - (let* ((_stx14685_ _hd1465314680_) - (_rest14687_ _tl1465414682_)) - (_K1465214677_ _rest14687_ _stx14685_))) + _rest14719_)))) + (if (##pair? _g1470014708_) + (let ((_hd1470514732_ (##car _g1470014708_)) + (_tl1470614734_ (##cdr _g1470014708_))) + (let* ((_stx14737_ _hd1470514732_) + (_rest14739_ _tl1470614734_)) + (_K1470414729_ _rest14739_ _stx14737_))) '#!void))) current-output-port - _port14634_)))) + _port14686_)))) (bind-method! SyntaxError::t 'display-exception @@ -140,33 +140,33 @@ '#f) (seal-class! SyntaxError::t) (define make-syntax-error - (lambda (_message14504_ - _irritants14505_ - _where14506_ - _context14507_ - _marks14508_ - _phi14509_) + (lambda (_message14556_ + _irritants14557_ + _where14558_ + _context14559_ + _marks14560_ + _phi14561_) (make-class-instance SyntaxError::t 'message: - _message14504_ + _message14556_ 'irritants: - _irritants14505_ + _irritants14557_ 'where: - _where14506_ + _where14558_ 'context: - _context14507_ + _context14559_ 'marks: - _marks14508_ + _marks14560_ 'phi: - _phi14509_))) + _phi14561_))) (define syntax-error? SyntaxError?) (define __raise-syntax-error - (lambda (_where14499_ _message14500_ _stx14501_ . _details14502_) + (lambda (_where14551_ _message14552_ _stx14553_ . _details14554_) (raise (make-syntax-error - _message14500_ - (cons _stx14501_ _details14502_) - _where14499_ + _message14552_ + (cons _stx14553_ _details14554_) + _where14551_ (__current-context) '#f '#f)))) @@ -175,7 +175,7 @@ (make-struct-type 'gerbil#AST::t '#f '2 'syntax '() '#f '(e source))) (define AST? (make-struct-predicate AST::t)) (define make-AST - (lambda _$args14496_ (apply make-struct-instance AST::t _$args14496_))) + (lambda _$args14548_ (apply make-struct-instance AST::t _$args14548_))) (define AST-e (make-struct-field-accessor AST::t '0)) (define AST-source (make-struct-field-accessor AST::t '1)) (define AST-e-set! (make-struct-field-mutator AST::t '0)) @@ -185,169 +185,169 @@ (define &AST-e-set! (make-struct-field-unchecked-mutator AST::t '0)) (define &AST-source-set! (make-struct-field-unchecked-mutator AST::t '1)) (define __AST-e - (lambda (_stx14494_) - (if (##structure-instance-of? _stx14494_ 'gerbil#AST::t) - (##unchecked-structure-ref _stx14494_ '1 AST::t '#f) - _stx14494_))) + (lambda (_stx14546_) + (if (##structure-instance-of? _stx14546_ 'gerbil#AST::t) + (##unchecked-structure-ref _stx14546_ '1 AST::t '#f) + _stx14546_))) (define __AST-source - (lambda (_stx14488_) - (let _lp14490_ ((_src14492_ _stx14488_)) - (if (##structure-instance-of? _src14492_ 'gerbil#AST::t) - (_lp14490_ (##unchecked-structure-ref _src14492_ '2 AST::t '#f)) - (if (##locat? _src14492_) _src14492_ '#f))))) + (lambda (_stx14540_) + (let _lp14542_ ((_src14544_ _stx14540_)) + (if (##structure-instance-of? _src14544_ 'gerbil#AST::t) + (_lp14542_ (##unchecked-structure-ref _src14544_ '2 AST::t '#f)) + (if (##locat? _src14544_) _src14544_ '#f))))) (define __AST - (lambda (_e14480_ _src-stx14481_) - (let ((_src14483_ (__AST-source _src-stx14481_))) - (if (or (##structure-instance-of? _e14480_ 'gerbil#AST::t) - (not _src14483_)) - _e14480_ - (##structure AST::t _e14480_ _src14483_))))) + (lambda (_e14532_ _src-stx14533_) + (let ((_src14535_ (__AST-source _src-stx14533_))) + (if (or (##structure-instance-of? _e14532_ 'gerbil#AST::t) + (not _src14535_)) + _e14532_ + (##structure AST::t _e14532_ _src14535_))))) (define __AST-eq? - (lambda (_stx14477_ _obj14478_) (eq? (__AST-e _stx14477_) _obj14478_))) - (define __AST-pair? (lambda (_stx14475_) (pair? (__AST-e _stx14475_)))) - (define __AST-null? (lambda (_stx14473_) (null? (__AST-e _stx14473_)))) + (lambda (_stx14529_ _obj14530_) (eq? (__AST-e _stx14529_) _obj14530_))) + (define __AST-pair? (lambda (_stx14527_) (pair? (__AST-e _stx14527_)))) + (define __AST-null? (lambda (_stx14525_) (null? (__AST-e _stx14525_)))) (define __AST-datum? - (lambda (_stx14454_) - (let* ((_e14456_ (__AST-e _stx14454_)) (_$e14458_ (number? _e14456_))) - (if _$e14458_ - _$e14458_ - (let ((_$e14461_ (string? _e14456_))) - (if _$e14461_ - _$e14461_ - (let ((_$e14464_ (char? _e14456_))) - (if _$e14464_ - _$e14464_ - (let ((_$e14467_ (keyword? _e14456_))) - (if _$e14467_ - _$e14467_ - (let ((_$e14470_ (boolean? _e14456_))) - (if _$e14470_ - _$e14470_ - (eq? _e14456_ '#!void))))))))))))) - (define __AST-id? (lambda (_stx14452_) (symbol? (__AST-e _stx14452_)))) + (lambda (_stx14506_) + (let* ((_e14508_ (__AST-e _stx14506_)) (_$e14510_ (number? _e14508_))) + (if _$e14510_ + _$e14510_ + (let ((_$e14513_ (string? _e14508_))) + (if _$e14513_ + _$e14513_ + (let ((_$e14516_ (char? _e14508_))) + (if _$e14516_ + _$e14516_ + (let ((_$e14519_ (keyword? _e14508_))) + (if _$e14519_ + _$e14519_ + (let ((_$e14522_ (boolean? _e14508_))) + (if _$e14522_ + _$e14522_ + (eq? _e14508_ '#!void))))))))))))) + (define __AST-id? (lambda (_stx14504_) (symbol? (__AST-e _stx14504_)))) (define __AST-id-list?__% - (lambda (_stx14403_ _tail?14404_) - (let _lp14406_ ((_rest14408_ _stx14403_)) - (let* ((_$e14410_ _rest14408_) - (_$E1441214425_ + (lambda (_stx14455_ _tail?14456_) + (let _lp14458_ ((_rest14460_ _stx14455_)) + (let* ((_$e14462_ _rest14460_) + (_$E1446414477_ (lambda () - (let* ((_$E1441314420_ + (let* ((_$E1446514472_ (lambda () (__raise-syntax-error '#f '"Bad syntax" - _$e14410_))) - (_rest14423_ _$e14410_)) - (_tail?14404_ _rest14423_))))) - (if (__AST-pair? _$e14410_) - (let* ((_$tgt1441414428_ (__AST-e _$e14410_)) - (_$hd1441514431_ (##car _$tgt1441414428_)) - (_$tl1441614434_ (##cdr _$tgt1441414428_))) - (let* ((_hd14438_ _$hd1441514431_) - (_rest14440_ _$tl1441614434_)) - (if (__AST-id? _hd14438_) (_lp14406_ _rest14440_) '#f))) - (_$E1441214425_)))))) + _$e14462_))) + (_rest14475_ _$e14462_)) + (_tail?14456_ _rest14475_))))) + (if (__AST-pair? _$e14462_) + (let* ((_$tgt1446614480_ (__AST-e _$e14462_)) + (_$hd1446714483_ (##car _$tgt1446614480_)) + (_$tl1446814486_ (##cdr _$tgt1446614480_))) + (let* ((_hd14490_ _$hd1446714483_) + (_rest14492_ _$tl1446814486_)) + (if (__AST-id? _hd14490_) (_lp14458_ _rest14492_) '#f))) + (_$E1446414477_)))))) (define __AST-id-list?__0 - (lambda (_stx14445_) - (let ((_tail?14447_ __AST-null?)) - (__AST-id-list?__% _stx14445_ _tail?14447_)))) + (lambda (_stx14497_) + (let ((_tail?14499_ __AST-null?)) + (__AST-id-list?__% _stx14497_ _tail?14499_)))) (define __AST-id-list? - (lambda _g14825_ - (let ((_g14824_ (##length _g14825_))) - (cond ((##fx= _g14824_ 1) - (apply (lambda (_stx14445_) (__AST-id-list?__0 _stx14445_)) - _g14825_)) - ((##fx= _g14824_ 2) - (apply (lambda (_stx14449_ _tail?14450_) - (__AST-id-list?__% _stx14449_ _tail?14450_)) - _g14825_)) + (lambda _g14877_ + (let ((_g14876_ (##length _g14877_))) + (cond ((##fx= _g14876_ 1) + (apply (lambda (_stx14497_) (__AST-id-list?__0 _stx14497_)) + _g14877_)) + ((##fx= _g14876_ 2) + (apply (lambda (_stx14501_ _tail?14502_) + (__AST-id-list?__% _stx14501_ _tail?14502_)) + _g14877_)) (else (##raise-wrong-number-of-arguments-exception __AST-id-list? - _g14825_)))))) + _g14877_)))))) (define __AST-bind-list? - (lambda (_stx14395_) + (lambda (_stx14447_) (__AST-id-list?__% - _stx14395_ - (lambda (_e14397_) - (let ((_$e14399_ (__AST-null? _e14397_))) - (if _$e14399_ _$e14399_ (__AST-id? _e14397_))))))) + _stx14447_ + (lambda (_e14449_) + (let ((_$e14451_ (__AST-null? _e14449_))) + (if _$e14451_ _$e14451_ (__AST-id? _e14449_))))))) (define __AST-list?__% - (lambda (_stx14348_ _tail?14349_) - (let _lp14351_ ((_rest14353_ _stx14348_)) - (let* ((_$e14355_ _rest14353_) - (_$E1435714370_ + (lambda (_stx14400_ _tail?14401_) + (let _lp14403_ ((_rest14405_ _stx14400_)) + (let* ((_$e14407_ _rest14405_) + (_$E1440914422_ (lambda () - (let* ((_$E1435814365_ + (let* ((_$E1441014417_ (lambda () (__raise-syntax-error '#f '"Bad syntax" - _$e14355_))) - (_rest14368_ _$e14355_)) - (_tail?14349_ _rest14368_))))) - (if (__AST-pair? _$e14355_) - (let* ((_$tgt1435914373_ (__AST-e _$e14355_)) - (_$hd1436014376_ (##car _$tgt1435914373_)) - (_$tl1436114379_ (##cdr _$tgt1435914373_))) - (let ((_rest14383_ _$tl1436114379_)) - (_lp14351_ _rest14383_))) - (_$E1435714370_)))))) + _$e14407_))) + (_rest14420_ _$e14407_)) + (_tail?14401_ _rest14420_))))) + (if (__AST-pair? _$e14407_) + (let* ((_$tgt1441114425_ (__AST-e _$e14407_)) + (_$hd1441214428_ (##car _$tgt1441114425_)) + (_$tl1441314431_ (##cdr _$tgt1441114425_))) + (let ((_rest14435_ _$tl1441314431_)) + (_lp14403_ _rest14435_))) + (_$E1440914422_)))))) (define __AST-list?__0 - (lambda (_stx14388_) - (let ((_tail?14390_ __AST-null?)) - (__AST-list?__% _stx14388_ _tail?14390_)))) + (lambda (_stx14440_) + (let ((_tail?14442_ __AST-null?)) + (__AST-list?__% _stx14440_ _tail?14442_)))) (define __AST-list? - (lambda _g14827_ - (let ((_g14826_ (##length _g14827_))) - (cond ((##fx= _g14826_ 1) - (apply (lambda (_stx14388_) (__AST-list?__0 _stx14388_)) - _g14827_)) - ((##fx= _g14826_ 2) - (apply (lambda (_stx14392_ _tail?14393_) - (__AST-list?__% _stx14392_ _tail?14393_)) - _g14827_)) + (lambda _g14879_ + (let ((_g14878_ (##length _g14879_))) + (cond ((##fx= _g14878_ 1) + (apply (lambda (_stx14440_) (__AST-list?__0 _stx14440_)) + _g14879_)) + ((##fx= _g14878_ 2) + (apply (lambda (_stx14444_ _tail?14445_) + (__AST-list?__% _stx14444_ _tail?14445_)) + _g14879_)) (else (##raise-wrong-number-of-arguments-exception __AST-list? - _g14827_)))))) + _g14879_)))))) (define __AST->list - (lambda (_stx14313_) - (let* ((_$e14315_ _stx14313_) - (_$E1431714330_ + (lambda (_stx14365_) + (let* ((_$e14367_ _stx14365_) + (_$E1436914382_ (lambda () - (let* ((_$E1431814325_ + (let* ((_$E1437014377_ (lambda () (__raise-syntax-error '#f '"Bad syntax" - _$e14315_))) - (_rest14328_ _$e14315_)) - (__AST-e _rest14328_))))) - (if (__AST-pair? _$e14315_) - (let* ((_$tgt1431914333_ (__AST-e _$e14315_)) - (_$hd1432014336_ (##car _$tgt1431914333_)) - (_$tl1432114339_ (##cdr _$tgt1431914333_))) - (let* ((_hd14343_ _$hd1432014336_) - (_rest14345_ _$tl1432114339_)) - (cons _hd14343_ (__AST->list _rest14345_)))) - (_$E1431714330_))))) + _$e14367_))) + (_rest14380_ _$e14367_)) + (__AST-e _rest14380_))))) + (if (__AST-pair? _$e14367_) + (let* ((_$tgt1437114385_ (__AST-e _$e14367_)) + (_$hd1437214388_ (##car _$tgt1437114385_)) + (_$tl1437314391_ (##cdr _$tgt1437114385_))) + (let* ((_hd14395_ _$hd1437214388_) + (_rest14397_ _$tl1437314391_)) + (cons _hd14395_ (__AST->list _rest14397_)))) + (_$E1436914382_))))) (define __AST->datum - (lambda (_stx14311_) - (if (##structure-instance-of? _stx14311_ 'gerbil#AST::t) - (__AST->datum (__AST-e _stx14311_)) - (if (pair? _stx14311_) - (cons (__AST->datum (car _stx14311_)) - (__AST->datum (cdr _stx14311_))) - (if (vector? _stx14311_) - (vector-map __AST->datum _stx14311_) - (if (box? _stx14311_) - (box (__AST->datum (unbox _stx14311_))) - _stx14311_)))))) + (lambda (_stx14363_) + (if (##structure-instance-of? _stx14363_ 'gerbil#AST::t) + (__AST->datum (__AST-e _stx14363_)) + (if (pair? _stx14363_) + (cons (__AST->datum (car _stx14363_)) + (__AST->datum (cdr _stx14363_))) + (if (vector? _stx14363_) + (vector-map __AST->datum _stx14363_) + (if (box? _stx14363_) + (box (__AST->datum (unbox _stx14363_))) + _stx14363_)))))) (define get-readenv - (lambda (_port14309_) + (lambda (_port14361_) (##make-readenv - _port14309_ + _port14361_ (current-readtable) __wrap-syntax __unwrap-syntax @@ -355,83 +355,83 @@ '() '#f))) (define read-syntax__% - (lambda (_in14297_) - (let ((_e14299_ (##read-datum-or-eof (get-readenv _in14297_)))) - (if (eof-object? (__AST-e _e14299_)) (__AST-e _e14299_) _e14299_)))) + (lambda (_in14349_) + (let ((_e14351_ (##read-datum-or-eof (get-readenv _in14349_)))) + (if (eof-object? (__AST-e _e14351_)) (__AST-e _e14351_) _e14351_)))) (define read-syntax__0 (lambda () - (let ((_in14305_ (current-input-port))) (read-syntax__% _in14305_)))) + (let ((_in14357_ (current-input-port))) (read-syntax__% _in14357_)))) (define read-syntax - (lambda _g14829_ - (let ((_g14828_ (##length _g14829_))) - (cond ((##fx= _g14828_ 0) - (apply (lambda () (read-syntax__0)) _g14829_)) - ((##fx= _g14828_ 1) - (apply (lambda (_in14307_) (read-syntax__% _in14307_)) - _g14829_)) + (lambda _g14881_ + (let ((_g14880_ (##length _g14881_))) + (cond ((##fx= _g14880_ 0) + (apply (lambda () (read-syntax__0)) _g14881_)) + ((##fx= _g14880_ 1) + (apply (lambda (_in14359_) (read-syntax__% _in14359_)) + _g14881_)) (else (##raise-wrong-number-of-arguments-exception read-syntax - _g14829_)))))) + _g14881_)))))) (define read-syntax-from-file - (lambda (_path14292_) - (let ((_r14294_ + (lambda (_path14344_) + (let ((_r14346_ (##read-all-as-a-begin-expr-from-path - (path-normalize _path14292_) + (path-normalize _path14344_) (current-readtable) __wrap-syntax __unwrap-syntax))) - (if (vector? _r14294_) - (cdr (__AST-e (vector-ref _r14294_ '1))) - (error (err-code->string _r14294_) _path14292_))))) + (if (vector? _r14346_) + (cdr (__AST-e (vector-ref _r14346_ '1))) + (error (err-code->string _r14346_) _path14344_))))) (define __wrap-syntax - (lambda (_re14289_ _e14290_) - (if (eof-object? _e14290_) - _e14290_ - (##structure AST::t _e14290_ (##readenv->locat _re14289_))))) - (define __unwrap-syntax (lambda (_re14286_ _e14287_) (__AST-e _e14287_))) - (define __pp-syntax (lambda (_stx14284_) (pp (__AST->datum _stx14284_)))) + (lambda (_re14341_ _e14342_) + (if (eof-object? _e14342_) + _e14342_ + (##structure AST::t _e14342_ (##readenv->locat _re14341_))))) + (define __unwrap-syntax (lambda (_re14338_ _e14339_) (__AST-e _e14339_))) + (define __pp-syntax (lambda (_stx14336_) (pp (__AST->datum _stx14336_)))) (define __make-readtable (lambda () - (let ((_rt14282_ (##make-standard-readtable))) - (macro-readtable-write-extended-read-macros?-set! _rt14282_ '#t) - (macro-readtable-bracket-handler-set! _rt14282_ '@list) - (macro-readtable-brace-handler-set! _rt14282_ '@method) + (let ((_rt14334_ (##make-standard-readtable))) + (macro-readtable-write-extended-read-macros?-set! _rt14334_ '#t) + (macro-readtable-bracket-handler-set! _rt14334_ '@list) + (macro-readtable-brace-handler-set! _rt14334_ '@method) (##readtable-char-sharp-handler-set! - _rt14282_ + _rt14334_ '#\! __read-sharp-bang) - _rt14282_))) + _rt14334_))) (define __readtable-bracket-keyword-set! - (lambda (_rt14278_ _kw14279_) - (macro-readtable-bracket-handler-set! _rt14278_ _kw14279_))) + (lambda (_rt14330_ _kw14331_) + (macro-readtable-bracket-handler-set! _rt14330_ _kw14331_))) (define __readtable-brace-keyword-set! - (lambda (_rt14275_ _kw14276_) - (macro-readtable-brace-handler-set! _rt14275_ _kw14276_))) + (lambda (_rt14327_ _kw14328_) + (macro-readtable-brace-handler-set! _rt14327_ _kw14328_))) (define __read-sharp-bang - (lambda (_re14266_ _next14267_ _start-pos14268_) - (if (eq? _start-pos14268_ '0) - (let* ((_line14270_ + (lambda (_re14318_ _next14319_ _start-pos14320_) + (if (eq? _start-pos14320_ '0) + (let* ((_line14322_ (##read-line - (macro-readenv-port _re14266_) + (macro-readenv-port _re14318_) '#\newline '#f ##max-fixnum)) - (_script-line14272_ - (substring _line14270_ '1 (string-length _line14270_)))) - (macro-readenv-script-line-set! _re14266_ _script-line14272_) + (_script-line14324_ + (substring _line14322_ '1 (string-length _line14322_)))) + (macro-readenv-script-line-set! _re14318_ _script-line14324_) (##script-marker)) - (##read-sharp-bang _re14266_ _next14267_ _start-pos14268_)))) + (##read-sharp-bang _re14318_ _next14319_ _start-pos14320_)))) (set! ##readtable-setup-for-language! void) (define __*readtable* (__make-readtable)) (define source-location? ##locat?) (define source-location-path? - (lambda (_obj14264_) - (if (source-location? _obj14264_) - (string? (##locat-container _obj14264_)) + (lambda (_obj14316_) + (if (source-location? _obj14316_) + (string? (##locat-container _obj14316_)) '#f))) (define source-location-path - (lambda (_obj14262_) - (if (##locat? _obj14262_) - (##container->path (##locat-container _obj14262_)) + (lambda (_obj14314_) + (if (##locat? _obj14314_) + (##container->path (##locat-container _obj14314_)) '#f))))) diff --git a/src/bootstrap/gerbil/runtime/syntax__1.scm b/src/bootstrap/gerbil/runtime/syntax__1.scm index be30cc5b2..75d422d2c 100644 --- a/src/bootstrap/gerbil/runtime/syntax__1.scm +++ b/src/bootstrap/gerbil/runtime/syntax__1.scm @@ -1,174 +1,174 @@ (declare (block) (standard-bindings) (extended-bindings) (inlining-limit 200)) (begin - (define |[1]#_g14934_| + (define |[1]#_g14986_| (##structure gx#syntax-quote::t 'else #f (gx#current-expander-context) '())) - (define |[1]#_g14940_| + (define |[1]#_g14992_| (##structure gx#syntax-quote::t 'SyntaxError::t #f (gx#current-expander-context) '())) - (define |[1]#_g14953_| + (define |[1]#_g15005_| (##structure gx#syntax-quote::t 'SyntaxError-marks-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14955_| + (define |[1]#_g15007_| (##structure gx#syntax-quote::t 'SyntaxError-phi-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14957_| + (define |[1]#_g15009_| (##structure gx#syntax-quote::t 'SyntaxError-context-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14959_| + (define |[1]#_g15011_| (##structure gx#syntax-quote::t 'SyntaxError-where-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14961_| + (define |[1]#_g15013_| (##structure gx#syntax-quote::t 'SyntaxError-irritants-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14963_| + (define |[1]#_g15015_| (##structure gx#syntax-quote::t 'SyntaxError-message-set! #f (gx#current-expander-context) '())) - (define |[1]#_g14971_| + (define |[1]#_g15023_| (##structure gx#syntax-quote::t 'SyntaxError-marks #f (gx#current-expander-context) '())) - (define |[1]#_g14973_| + (define |[1]#_g15025_| (##structure gx#syntax-quote::t 'SyntaxError-phi #f (gx#current-expander-context) '())) - (define |[1]#_g14975_| + (define |[1]#_g15027_| (##structure gx#syntax-quote::t 'SyntaxError-context #f (gx#current-expander-context) '())) - (define |[1]#_g14977_| + (define |[1]#_g15029_| (##structure gx#syntax-quote::t 'SyntaxError-where #f (gx#current-expander-context) '())) - (define |[1]#_g14979_| + (define |[1]#_g15031_| (##structure gx#syntax-quote::t 'SyntaxError-irritants #f (gx#current-expander-context) '())) - (define |[1]#_g14981_| + (define |[1]#_g15033_| (##structure gx#syntax-quote::t 'SyntaxError-message #f (gx#current-expander-context) '())) - (define |[1]#_g14983_| + (define |[1]#_g15035_| (##structure gx#syntax-quote::t 'SyntaxError? #f (gx#current-expander-context) '())) - (define |[1]#_g14985_| + (define |[1]#_g15037_| (##structure gx#syntax-quote::t 'make-SyntaxError #f (gx#current-expander-context) '())) - (define |[1]#_g14989_| + (define |[1]#_g15041_| (##structure gx#syntax-quote::t 'Exception::t #f (gx#current-expander-context) '())) - (define |[1]#_g14990_| + (define |[1]#_g15042_| (##structure gx#syntax-quote::t 'Exception #f (gx#current-expander-context) '())) - (define |[1]#_g14991_| + (define |[1]#_g15043_| (##structure gx#syntax-quote::t 'AST::t #f (gx#current-expander-context) '())) - (define |[1]#_g15000_| + (define |[1]#_g15052_| (##structure gx#syntax-quote::t 'AST-source-set! #f (gx#current-expander-context) '())) - (define |[1]#_g15002_| + (define |[1]#_g15054_| (##structure gx#syntax-quote::t 'AST-e-set! #f (gx#current-expander-context) '())) - (define |[1]#_g15006_| + (define |[1]#_g15058_| (##structure gx#syntax-quote::t 'AST-source #f (gx#current-expander-context) '())) - (define |[1]#_g15008_| + (define |[1]#_g15060_| (##structure gx#syntax-quote::t 'AST-e #f (gx#current-expander-context) '())) - (define |[1]#_g15010_| + (define |[1]#_g15062_| (##structure gx#syntax-quote::t 'AST? #f (gx#current-expander-context) '())) - (define |[1]#_g15012_| + (define |[1]#_g15064_| (##structure gx#syntax-quote::t 'make-AST @@ -177,1247 +177,1247 @@ '())) (begin (define |[:0:]#core-ast-case| - (lambda (_$stx13151_) - (let* ((_g1315513179_ - (lambda (_g1315613175_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1315613175_))) - (_g1315413265_ - (lambda (_g1315613183_) - (if (gx#stx-pair? _g1315613183_) - (let ((_e1316113186_ (gx#syntax-e _g1315613183_))) - (let ((_hd1316013190_ + (lambda (_$stx13203_) + (let* ((_g1320713231_ + (lambda (_g1320813227_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1320813227_))) + (_g1320613317_ + (lambda (_g1320813235_) + (if (gx#stx-pair? _g1320813235_) + (let ((_e1321313238_ (gx#syntax-e _g1320813235_))) + (let ((_hd1321213242_ (let () (declare (not safe)) - (##car _e1316113186_))) - (_tl1315913193_ + (##car _e1321313238_))) + (_tl1321113245_ (let () (declare (not safe)) - (##cdr _e1316113186_)))) - (if (gx#stx-pair? _tl1315913193_) - (let ((_e1316413196_ - (gx#syntax-e _tl1315913193_))) - (let ((_hd1316313200_ + (##cdr _e1321313238_)))) + (if (gx#stx-pair? _tl1321113245_) + (let ((_e1321613248_ + (gx#syntax-e _tl1321113245_))) + (let ((_hd1321513252_ (let () (declare (not safe)) - (##car _e1316413196_))) - (_tl1316213203_ + (##car _e1321613248_))) + (_tl1321413255_ (let () (declare (not safe)) - (##cdr _e1316413196_)))) - (if (gx#stx-pair/null? _tl1316213203_) - (let ((_g14830_ + (##cdr _e1321613248_)))) + (if (gx#stx-pair/null? _tl1321413255_) + (let ((_g14882_ (gx#syntax-split-splice - _tl1316213203_ + _tl1321413255_ '0))) (begin - (let ((_g14831_ + (let ((_g14883_ (let () (declare (not safe)) - (if (##values? _g14830_) + (if (##values? _g14882_) (##vector-length - _g14830_) + _g14882_) 1)))) (if (not (let () (declare (not safe)) - (##fx= _g14831_ 2))) + (##fx= _g14883_ 2))) (error "Context expects 2 values" - _g14831_))) - (let ((_target1316513206_ + _g14883_))) + (let ((_target1321713258_ (let () (declare (not safe)) - (##vector-ref _g14830_ 0))) - (_tl1316713209_ + (##vector-ref _g14882_ 0))) + (_tl1321913261_ (let () (declare (not safe)) - (##vector-ref _g14830_ 1)))) - (if (gx#stx-null? _tl1316713209_) - (letrec ((_loop1316813212_ - (lambda (_hd1316613216_ + (##vector-ref _g14882_ 1)))) + (if (gx#stx-null? _tl1321913261_) + (letrec ((_loop1322013264_ + (lambda (_hd1321813268_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _body1317213219_) - (if (gx#stx-pair? _hd1316613216_) - (let ((_e1316913222_ (gx#syntax-e _hd1316613216_))) - (let ((_lp-hd1317013226_ + _body1322413271_) + (if (gx#stx-pair? _hd1321813268_) + (let ((_e1322113274_ (gx#syntax-e _hd1321813268_))) + (let ((_lp-hd1322213278_ (let () (declare (not safe)) - (##car _e1316913222_))) - (_lp-tl1317113229_ + (##car _e1322113274_))) + (_lp-tl1322313281_ (let () (declare (not safe)) - (##cdr _e1316913222_)))) - (_loop1316813212_ - _lp-tl1317113229_ + (##cdr _e1322113274_)))) + (_loop1322013264_ + _lp-tl1322313281_ (let () (declare (not safe)) - (cons _lp-hd1317013226_ _body1317213219_))))) - (let ((_body1317313232_ (reverse _body1317213219_))) - ((lambda (_L13236_ _L13238_) - (let ((__tmp14843 (gx#datum->syntax '#f 'let)) - (__tmp14832 - (let ((__tmp14840 - (let ((__tmp14842 + (cons _lp-hd1322213278_ _body1322413271_))))) + (let ((_body1322513284_ (reverse _body1322413271_))) + ((lambda (_L13288_ _L13290_) + (let ((__tmp14895 (gx#datum->syntax '#f 'let)) + (__tmp14884 + (let ((__tmp14892 + (let ((__tmp14894 (gx#datum->syntax '#f '$e)) - (__tmp14841 + (__tmp14893 (let () (declare (not safe)) - (cons _L13238_ '())))) + (cons _L13290_ '())))) (declare (not safe)) - (cons __tmp14842 __tmp14841))) - (__tmp14833 - (let ((__tmp14834 - (let ((__tmp14839 + (cons __tmp14894 __tmp14893))) + (__tmp14885 + (let ((__tmp14886 + (let ((__tmp14891 (gx#datum->syntax '#f 'core-ast-case%)) - (__tmp14835 - (let ((__tmp14838 + (__tmp14887 + (let ((__tmp14890 (gx#datum->syntax ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '#f '$e)) - (__tmp14836 - (let ((__tmp14837 - (lambda (_g1325613259_ _g1325713262_) + (__tmp14888 + (let ((__tmp14889 + (lambda (_g1330813311_ _g1330913314_) (let () (declare (not safe)) - (cons _g1325613259_ _g1325713262_))))) + (cons _g1330813311_ _g1330913314_))))) (declare (not safe)) - (foldr1 __tmp14837 '() _L13236_)))) + (foldr1 __tmp14889 '() _L13288_)))) (declare (not safe)) - (cons __tmp14838 __tmp14836)))) + (cons __tmp14890 __tmp14888)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14839 - __tmp14835)))) + (cons __tmp14891 + __tmp14887)))) (declare (not safe)) - (cons __tmp14834 '())))) + (cons __tmp14886 '())))) (declare (not safe)) - (cons __tmp14840 __tmp14833)))) + (cons __tmp14892 __tmp14885)))) (declare (not safe)) - (cons __tmp14843 __tmp14832))) - _body1317313232_ - _hd1316313200_)))))) + (cons __tmp14895 __tmp14884))) + _body1322513284_ + _hd1321513252_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_loop1316813212_ - _target1316513206_ + (_loop1322013264_ + _target1321713258_ '())) - (_g1315513179_ - _g1315613183_))))) - (_g1315513179_ _g1315613183_)))) - (_g1315513179_ _g1315613183_)))) - (_g1315513179_ _g1315613183_))))) - (_g1315413265_ _$stx13151_)))) + (_g1320713231_ + _g1320813235_))))) + (_g1320713231_ _g1320813235_)))) + (_g1320713231_ _g1320813235_)))) + (_g1320713231_ _g1320813235_))))) + (_g1320613317_ _$stx13203_)))) (define |[:0:]#core-ast-case%| - (lambda (_stx13270_) - (letrec ((_generate113273_ - (lambda (_hd13814_ _tgt13816_ _K13817_ _E13818_ _kws13819_) - (let* ((_g1382113829_ - (lambda (_g1382213825_) + (lambda (_stx13322_) + (letrec ((_generate113325_ + (lambda (_hd13866_ _tgt13868_ _K13869_ _E13870_ _kws13871_) + (let* ((_g1387313881_ + (lambda (_g1387413877_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1382213825_))) - (_g1382014256_ - (lambda (_g1382213833_) - ((lambda (_L13836_) + _g1387413877_))) + (_g1387214308_ + (lambda (_g1387413885_) + ((lambda (_L13888_) (let () - (let* ((___stx1473314734_ _hd13814_) - (_g1385013864_ + (let* ((___stx1478514786_ _hd13866_) + (_g1390213916_ (lambda () (gx#raise-syntax-error '#f '"Bad syntax" - ___stx1473314734_)))) - (let ((___kont1473614737_ - (lambda (_L14078_ _L14080_) - (let* ((_g1409114099_ - (lambda (_g1409214095_) + ___stx1478514786_)))) + (let ((___kont1478814789_ + (lambda (_L14130_ _L14132_) + (let* ((_g1414314151_ + (lambda (_g1414414147_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1409214095_))) - (_g1409014248_ - (lambda (_g1409214103_) - ((lambda (_L14106_) + _g1414414147_))) + (_g1414214300_ + (lambda (_g1414414155_) + ((lambda (_L14158_) (let () - (let* ((_g1411814126_ + (let* ((_g1417014178_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (lambda (_g1411914122_) + (lambda (_g1417114174_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1411914122_))) - (_g1411714244_ - (lambda (_g1411914130_) - ((lambda (_L14133_) + _g1417114174_))) + (_g1416914296_ + (lambda (_g1417114182_) + ((lambda (_L14185_) (let () - (let* ((_g1414614154_ - (lambda (_g1414714150_) + (let* ((_g1419814206_ + (lambda (_g1419914202_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1414714150_))) - (_g1414514240_ - (lambda (_g1414714158_) - ((lambda (_L14161_) + _g1419914202_))) + (_g1419714292_ + (lambda (_g1419914210_) + ((lambda (_L14213_) (let () - (let* ((_g1417414182_ - (lambda (_g1417514178_) + (let* ((_g1422614234_ + (lambda (_g1422714230_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1417514178_))) - (_g1417314236_ - (lambda (_g1417514186_) - ((lambda (_L14189_) + _g1422714230_))) + (_g1422514288_ + (lambda (_g1422714238_) + ((lambda (_L14241_) (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let* ((_g1420214210_ - (lambda (_g1420314206_) + (let* ((_g1425414262_ + (lambda (_g1425514258_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1420314206_))) - (_g1420114232_ - (lambda (_g1420314214_) - ((lambda (_L14217_) + _g1425514258_))) + (_g1425314284_ + (lambda (_g1425514266_) + ((lambda (_L14269_) (let () (let () - (let ((__tmp14872 + (let ((__tmp14924 (gx#datum->syntax '#f 'if)) - (__tmp14844 - (let ((__tmp14869 - (let ((__tmp14871 + (__tmp14896 + (let ((__tmp14921 + (let ((__tmp14923 (gx#datum->syntax ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '#f '__AST-pair?)) - (__tmp14870 - (let () (declare (not safe)) (cons _L13836_ '())))) + (__tmp14922 + (let () (declare (not safe)) (cons _L13888_ '())))) (declare (not safe)) - (cons __tmp14871 __tmp14870))) - (__tmp14845 - (let ((__tmp14847 - (let ((__tmp14868 (gx#datum->syntax '#f 'let*)) - (__tmp14848 - (let ((__tmp14850 - (let ((__tmp14863 - (let ((__tmp14864 - (let ((__tmp14865 - (let ((__tmp14867 + (cons __tmp14923 __tmp14922))) + (__tmp14897 + (let ((__tmp14899 + (let ((__tmp14920 (gx#datum->syntax '#f 'let*)) + (__tmp14900 + (let ((__tmp14902 + (let ((__tmp14915 + (let ((__tmp14916 + (let ((__tmp14917 + (let ((__tmp14919 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f '__AST-e)) - (__tmp14866 - (let () (declare (not safe)) (cons _L13836_ '())))) + (__tmp14918 + (let () (declare (not safe)) (cons _L13888_ '())))) (declare (not safe)) - (cons __tmp14867 __tmp14866)))) + (cons __tmp14919 __tmp14918)))) (declare (not safe)) - (cons __tmp14865 '())))) + (cons __tmp14917 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L14106_ __tmp14864))) - (__tmp14851 - (let ((__tmp14858 - (let ((__tmp14859 - (let ((__tmp14860 + (cons _L14158_ __tmp14916))) + (__tmp14903 + (let ((__tmp14910 + (let ((__tmp14911 + (let ((__tmp14912 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp14862 (gx#datum->syntax '#f '##car)) - (__tmp14861 + (let ((__tmp14914 (gx#datum->syntax '#f '##car)) + (__tmp14913 (let () (declare (not safe)) - (cons _L14106_ '())))) + (cons _L14158_ '())))) (declare (not safe)) - (cons __tmp14862 __tmp14861)))) + (cons __tmp14914 __tmp14913)))) (declare (not safe)) - (cons __tmp14860 '())))) + (cons __tmp14912 '())))) (declare (not safe)) - (cons _L14133_ __tmp14859))) + (cons _L14185_ __tmp14911))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (__tmp14852 - (let ((__tmp14853 - (let ((__tmp14854 + (__tmp14904 + (let ((__tmp14905 + (let ((__tmp14906 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp14855 - (let ((__tmp14857 + (let ((__tmp14907 + (let ((__tmp14909 (gx#datum->syntax '#f '##cdr)) - (__tmp14856 + (__tmp14908 (let () (declare (not safe)) - (cons _L14106_ '())))) + (cons _L14158_ '())))) (declare (not safe)) - (cons __tmp14857 __tmp14856)))) + (cons __tmp14909 __tmp14908)))) (declare (not safe)) - (cons __tmp14855 '())))) + (cons __tmp14907 '())))) (declare (not safe)) - (cons _L14161_ __tmp14854)))) + (cons _L14213_ __tmp14906)))) (declare (not safe)) - (cons __tmp14853 '())))) + (cons __tmp14905 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14858 __tmp14852)))) + (cons __tmp14910 __tmp14904)))) (declare (not safe)) - (cons __tmp14863 __tmp14851))) - (__tmp14849 + (cons __tmp14915 __tmp14903))) + (__tmp14901 (let () (declare (not safe)) - (cons _L14189_ '())))) + (cons _L14241_ '())))) (declare (not safe)) - (cons __tmp14850 __tmp14849)))) + (cons __tmp14902 __tmp14901)))) (declare (not safe)) - (cons __tmp14868 __tmp14848))) - (__tmp14846 - (let () (declare (not safe)) (cons _L14217_ '())))) + (cons __tmp14920 __tmp14900))) + (__tmp14898 + (let () (declare (not safe)) (cons _L14269_ '())))) (declare (not safe)) - (cons __tmp14847 __tmp14846)))) + (cons __tmp14899 __tmp14898)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14869 - __tmp14845)))) + (cons __tmp14921 + __tmp14897)))) (declare (not safe)) - (cons __tmp14872 __tmp14844))))) - _g1420314214_)))) - (_g1420114232_ _E13818_)))) - _g1417514186_)))) + (cons __tmp14924 __tmp14896))))) + _g1425514266_)))) + (_g1425314284_ _E13870_)))) + _g1422714238_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1417314236_ - (_generate113273_ - _L14080_ - _L14133_ - (_generate113273_ - _L14078_ - _L14161_ - _K13817_ - _E13818_ - _kws13819_) - _E13818_ - _kws13819_))))) - _g1414714158_)))) - (_g1414514240_ (gx#genident '$tl))))) - _g1411914130_)))) - (_g1411714244_ (gx#genident '$hd))))) - _g1409214103_)))) + (_g1422514288_ + (_generate113325_ + _L14132_ + _L14185_ + (_generate113325_ + _L14130_ + _L14213_ + _K13869_ + _E13870_ + _kws13871_) + _E13870_ + _kws13871_))))) + _g1419914210_)))) + (_g1419714292_ (gx#genident '$tl))))) + _g1417114182_)))) + (_g1416914296_ (gx#genident '$hd))))) + _g1414414155_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1409014248_ + (_g1414214300_ (gx#genident '$tgt))))) - (___kont1473814739_ - (lambda (_L13953_) - (if (gx#underscore? _L13953_) - _K13817_ - (if (let ((__tmp14901 - (lambda (_g1396113963_) + (___kont1479014791_ + (lambda (_L14005_) + (if (gx#underscore? _L14005_) + _K13869_ + (if (let ((__tmp14953 + (lambda (_g1401314015_) (gx#bound-identifier=? - _g1396113963_ - _L13953_))) - (__tmp14900 + _g1401314015_ + _L14005_))) + (__tmp14952 (gx#syntax->list - _kws13819_))) + _kws13871_))) (declare (not safe)) - (find __tmp14901 - __tmp14900)) - (let* ((_g1396713982_ - (lambda (_g1396813978_) + (find __tmp14953 + __tmp14952)) + (let* ((_g1401914034_ + (lambda (_g1402014030_) (gx#raise-syntax-error ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '#f '"Bad syntax" - _g1396813978_))) - (_g1396614027_ - (lambda (_g1396813986_) - (if (gx#stx-pair? _g1396813986_) - (let ((_e1397313989_ (gx#syntax-e _g1396813986_))) - (let ((_hd1397213993_ + _g1402014030_))) + (_g1401814079_ + (lambda (_g1402014038_) + (if (gx#stx-pair? _g1402014038_) + (let ((_e1402514041_ (gx#syntax-e _g1402014038_))) + (let ((_hd1402414045_ (let () (declare (not safe)) - (##car _e1397313989_))) - (_tl1397113996_ + (##car _e1402514041_))) + (_tl1402314048_ (let () (declare (not safe)) - (##cdr _e1397313989_)))) - (if (gx#stx-pair? _tl1397113996_) - (let ((_e1397613999_ - (gx#syntax-e _tl1397113996_))) - (let ((_hd1397514003_ + (##cdr _e1402514041_)))) + (if (gx#stx-pair? _tl1402314048_) + (let ((_e1402814051_ + (gx#syntax-e _tl1402314048_))) + (let ((_hd1402714055_ (let () (declare (not safe)) - (##car _e1397613999_))) - (_tl1397414006_ + (##car _e1402814051_))) + (_tl1402614058_ (let () (declare (not safe)) - (##cdr _e1397613999_)))) - (if (gx#stx-null? _tl1397414006_) - ((lambda (_L14009_ _L14011_) + (##cdr _e1402814051_)))) + (if (gx#stx-null? _tl1402614058_) + ((lambda (_L14061_ _L14063_) (let () - (let ((__tmp14899 + (let ((__tmp14951 (gx#datum->syntax '#f 'if)) - (__tmp14879 - (let ((__tmp14882 - (let ((__tmp14898 + (__tmp14931 + (let ((__tmp14934 + (let ((__tmp14950 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'and)) - (__tmp14883 - (let ((__tmp14895 - (let ((__tmp14897 + (__tmp14935 + (let ((__tmp14947 + (let ((__tmp14949 (gx#datum->syntax '#f '__AST-id?)) - (__tmp14896 + (__tmp14948 (let () (declare (not safe)) - (cons _L13836_ '())))) + (cons _L13888_ '())))) (declare (not safe)) - (cons __tmp14897 __tmp14896))) - (__tmp14884 - (let ((__tmp14885 - (let ((__tmp14894 + (cons __tmp14949 __tmp14948))) + (__tmp14936 + (let ((__tmp14937 + (let ((__tmp14946 (gx#datum->syntax '#f 'eq?)) - (__tmp14886 - (let ((__tmp14891 - (let ((__tmp14893 + (__tmp14938 + (let ((__tmp14943 + (let ((__tmp14945 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f '__AST-e)) - (__tmp14892 - (let () (declare (not safe)) (cons _L13836_ '())))) + (__tmp14944 + (let () (declare (not safe)) (cons _L13888_ '())))) (declare (not safe)) - (cons __tmp14893 __tmp14892))) - (__tmp14887 - (let ((__tmp14888 - (let ((__tmp14890 (gx#datum->syntax '#f 'quote)) - (__tmp14889 + (cons __tmp14945 __tmp14944))) + (__tmp14939 + (let ((__tmp14940 + (let ((__tmp14942 (gx#datum->syntax '#f 'quote)) + (__tmp14941 (let () (declare (not safe)) - (cons _L13953_ '())))) + (cons _L14005_ '())))) (declare (not safe)) - (cons __tmp14890 __tmp14889)))) + (cons __tmp14942 __tmp14941)))) (declare (not safe)) - (cons __tmp14888 '())))) + (cons __tmp14940 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14891 - __tmp14887)))) + (cons __tmp14943 + __tmp14939)))) (declare (not safe)) - (cons __tmp14894 __tmp14886)))) + (cons __tmp14946 __tmp14938)))) (declare (not safe)) - (cons __tmp14885 '())))) + (cons __tmp14937 '())))) (declare (not safe)) - (cons __tmp14895 __tmp14884)))) + (cons __tmp14947 __tmp14936)))) (declare (not safe)) - (cons __tmp14898 __tmp14883))) - (__tmp14880 - (let ((__tmp14881 + (cons __tmp14950 __tmp14935))) + (__tmp14932 + (let ((__tmp14933 (let () (declare (not safe)) - (cons _L14009_ '())))) + (cons _L14061_ '())))) (declare (not safe)) - (cons _L14011_ __tmp14881)))) + (cons _L14063_ __tmp14933)))) (declare (not safe)) - (cons __tmp14882 __tmp14880)))) + (cons __tmp14934 __tmp14932)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14899 - __tmp14879)))) - _hd1397514003_ - _hd1397213993_) - (_g1396713982_ _g1396813986_)))) - (_g1396713982_ _g1396813986_)))) - (_g1396713982_ _g1396813986_))))) - (_g1396614027_ (list _K13817_ _E13818_))) - (let* ((_g1403114039_ - (lambda (_g1403214035_) + (cons __tmp14951 + __tmp14931)))) + _hd1402714055_ + _hd1402414045_) + (_g1401914034_ _g1402014038_)))) + (_g1401914034_ _g1402014038_)))) + (_g1401914034_ _g1402014038_))))) + (_g1401814079_ (list _K13869_ _E13870_))) + (let* ((_g1408314091_ + (lambda (_g1408414087_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1403214035_))) - (_g1403014057_ - (lambda (_g1403214043_) - ((lambda (_L14046_) + _g1408414087_))) + (_g1408214109_ + (lambda (_g1408414095_) + ((lambda (_L14098_) (let () - (let ((__tmp14878 (gx#datum->syntax '#f 'let)) - (__tmp14873 - (let ((__tmp14875 - (let ((__tmp14876 - (let ((__tmp14877 + (let ((__tmp14930 (gx#datum->syntax '#f 'let)) + (__tmp14925 + (let ((__tmp14927 + (let ((__tmp14928 + (let ((__tmp14929 (let () (declare (not safe)) - (cons _L13836_ + (cons _L13888_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L13953_ - __tmp14877)))) + (cons _L14005_ + __tmp14929)))) (declare (not safe)) - (cons __tmp14876 '()))) - (__tmp14874 + (cons __tmp14928 '()))) + (__tmp14926 (let () (declare (not safe)) - (cons _L14046_ '())))) + (cons _L14098_ '())))) (declare (not safe)) - (cons __tmp14875 __tmp14874)))) + (cons __tmp14927 __tmp14926)))) (declare (not safe)) - (cons __tmp14878 __tmp14873)))) - _g1403214043_)))) - (_g1403014057_ _K13817_)))))) + (cons __tmp14930 __tmp14925)))) + _g1408414095_)))) + (_g1408214109_ _K13869_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (___kont1474014741_ - (lambda (_L13871_) - (let* ((_g1388213897_ - (lambda (_g1388313893_) + (___kont1479214793_ + (lambda (_L13923_) + (let* ((_g1393413949_ + (lambda (_g1393513945_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1388313893_))) - (_g1388113942_ - (lambda (_g1388313901_) + _g1393513945_))) + (_g1393313994_ + (lambda (_g1393513953_) (if (gx#stx-pair? - _g1388313901_) - (let ((_e1388813904_ + _g1393513953_) + (let ((_e1394013956_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#syntax-e _g1388313901_))) - (let ((_hd1388713908_ + (gx#syntax-e _g1393513953_))) + (let ((_hd1393913960_ (let () (declare (not safe)) - (##car _e1388813904_))) - (_tl1388613911_ + (##car _e1394013956_))) + (_tl1393813963_ (let () (declare (not safe)) - (##cdr _e1388813904_)))) - (if (gx#stx-pair? _tl1388613911_) - (let ((_e1389113914_ (gx#syntax-e _tl1388613911_))) - (let ((_hd1389013918_ + (##cdr _e1394013956_)))) + (if (gx#stx-pair? _tl1393813963_) + (let ((_e1394313966_ (gx#syntax-e _tl1393813963_))) + (let ((_hd1394213970_ (let () (declare (not safe)) - (##car _e1389113914_))) - (_tl1388913921_ + (##car _e1394313966_))) + (_tl1394113973_ (let () (declare (not safe)) - (##cdr _e1389113914_)))) - (if (gx#stx-null? _tl1388913921_) - ((lambda (_L13924_ _L13926_) + (##cdr _e1394313966_)))) + (if (gx#stx-null? _tl1394113973_) + ((lambda (_L13976_ _L13978_) (let () - (let ((__tmp14915 + (let ((__tmp14967 (gx#datum->syntax '#f 'if)) - (__tmp14902 - (let ((__tmp14905 - (let ((__tmp14914 + (__tmp14954 + (let ((__tmp14957 + (let ((__tmp14966 (gx#datum->syntax '#f 'equal?)) - (__tmp14906 - (let ((__tmp14911 + (__tmp14958 + (let ((__tmp14963 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp14913 (gx#datum->syntax '#f '__AST-e)) - (__tmp14912 + (let ((__tmp14965 (gx#datum->syntax '#f '__AST-e)) + (__tmp14964 (let () (declare (not safe)) - (cons _L13836_ '())))) + (cons _L13888_ '())))) (declare (not safe)) - (cons __tmp14913 __tmp14912))) - (__tmp14907 - (let ((__tmp14908 - (let ((__tmp14910 + (cons __tmp14965 __tmp14964))) + (__tmp14959 + (let ((__tmp14960 + (let ((__tmp14962 (gx#datum->syntax '#f 'quote)) - (__tmp14909 + (__tmp14961 (let () (declare (not safe)) - (cons _L13871_ '())))) + (cons _L13923_ '())))) (declare (not safe)) - (cons __tmp14910 __tmp14909)))) + (cons __tmp14962 __tmp14961)))) (declare (not safe)) - (cons __tmp14908 '())))) + (cons __tmp14960 '())))) (declare (not safe)) - (cons __tmp14911 __tmp14907)))) + (cons __tmp14963 __tmp14959)))) (declare (not safe)) - (cons __tmp14914 __tmp14906))) - (__tmp14903 - (let ((__tmp14904 - (let () (declare (not safe)) (cons _L13924_ '())))) + (cons __tmp14966 __tmp14958))) + (__tmp14955 + (let ((__tmp14956 + (let () (declare (not safe)) (cons _L13976_ '())))) (declare (not safe)) - (cons _L13926_ __tmp14904)))) + (cons _L13978_ __tmp14956)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14905 - __tmp14903)))) + (cons __tmp14957 + __tmp14955)))) (declare (not safe)) - (cons __tmp14915 __tmp14902)))) - _hd1389013918_ - _hd1388713908_) - (_g1388213897_ _g1388313901_)))) - (_g1388213897_ _g1388313901_)))) - (_g1388213897_ _g1388313901_))))) + (cons __tmp14967 __tmp14954)))) + _hd1394213970_ + _hd1393913960_) + (_g1393413949_ _g1393513953_)))) + (_g1393413949_ _g1393513953_)))) + (_g1393413949_ _g1393513953_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1388113942_ - (list _K13817_ _E13818_)))))) - (let ((_g1384814061_ + (_g1393313994_ + (list _K13869_ _E13870_)))))) + (let ((_g1390014113_ (lambda () - (let ((_L13953_ - ___stx1473314734_)) - (if (gx#identifier? _L13953_) - (___kont1473814739_ - _L13953_) - (___kont1474014741_ - ___stx1473314734_)))))) - (if (gx#stx-pair? ___stx1473314734_) - (let ((_e1385614068_ + (let ((_L14005_ + ___stx1478514786_)) + (if (gx#identifier? _L14005_) + (___kont1479014791_ + _L14005_) + (___kont1479214793_ + ___stx1478514786_)))))) + (if (gx#stx-pair? ___stx1478514786_) + (let ((_e1390814120_ (gx#syntax-e - ___stx1473314734_))) - (let ((_tl1385414075_ + ___stx1478514786_))) + (let ((_tl1390614127_ (let () (declare (not safe)) - (##cdr _e1385614068_))) - (_hd1385514072_ + (##cdr _e1390814120_))) + (_hd1390714124_ (let () (declare (not safe)) - (##car _e1385614068_)))) - (___kont1473614737_ - _tl1385414075_ - _hd1385514072_))) + (##car _e1390814120_)))) + (___kont1478814789_ + _tl1390614127_ + _hd1390714124_))) (let () (declare (not safe)) - (_g1384814061_)))))))) - _g1382213833_)))) - (_g1382014256_ _tgt13816_))))) - (let* ((_g1327613304_ - (lambda (_g1327713300_) - (gx#raise-syntax-error '#f '"Bad syntax" _g1327713300_))) - (_g1327513810_ - (lambda (_g1327713308_) - (if (gx#stx-pair? _g1327713308_) - (let ((_e1328313311_ (gx#syntax-e _g1327713308_))) - (let ((_hd1328213315_ + (_g1390014113_)))))))) + _g1387413885_)))) + (_g1387214308_ _tgt13868_))))) + (let* ((_g1332813356_ + (lambda (_g1332913352_) + (gx#raise-syntax-error '#f '"Bad syntax" _g1332913352_))) + (_g1332713862_ + (lambda (_g1332913360_) + (if (gx#stx-pair? _g1332913360_) + (let ((_e1333513363_ (gx#syntax-e _g1332913360_))) + (let ((_hd1333413367_ (let () (declare (not safe)) - (##car _e1328313311_))) - (_tl1328113318_ + (##car _e1333513363_))) + (_tl1333313370_ (let () (declare (not safe)) - (##cdr _e1328313311_)))) - (if (gx#stx-pair? _tl1328113318_) - (let ((_e1328613321_ - (gx#syntax-e _tl1328113318_))) - (let ((_hd1328513325_ + (##cdr _e1333513363_)))) + (if (gx#stx-pair? _tl1333313370_) + (let ((_e1333813373_ + (gx#syntax-e _tl1333313370_))) + (let ((_hd1333713377_ (let () (declare (not safe)) - (##car _e1328613321_))) - (_tl1328413328_ + (##car _e1333813373_))) + (_tl1333613380_ (let () (declare (not safe)) - (##cdr _e1328613321_)))) - (if (gx#stx-pair? _tl1328413328_) - (let ((_e1328913331_ - (gx#syntax-e _tl1328413328_))) - (let ((_hd1328813335_ + (##cdr _e1333813373_)))) + (if (gx#stx-pair? _tl1333613380_) + (let ((_e1334113383_ + (gx#syntax-e _tl1333613380_))) + (let ((_hd1334013387_ (let () (declare (not safe)) - (##car _e1328913331_))) - (_tl1328713338_ + (##car _e1334113383_))) + (_tl1333913390_ (let () (declare (not safe)) - (##cdr _e1328913331_)))) + (##cdr _e1334113383_)))) (if (gx#stx-pair/null? - _tl1328713338_) - (let ((_g14916_ + _tl1333913390_) + (let ((_g14968_ (gx#syntax-split-splice - _tl1328713338_ + _tl1333913390_ '0))) (begin - (let ((_g14917_ + (let ((_g14969_ (let () (declare (not safe)) (if (##values? ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - _g14916_) - (##vector-length _g14916_) + _g14968_) + (##vector-length _g14968_) 1)))) - (if (not (let () (declare (not safe)) (##fx= _g14917_ 2))) - (error "Context expects 2 values" _g14917_))) + (if (not (let () (declare (not safe)) (##fx= _g14969_ 2))) + (error "Context expects 2 values" _g14969_))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (let ((_target1329013341_ + (let ((_target1334213393_ (let () (declare (not safe)) (##vector-ref - _g14916_ + _g14968_ 0))) - (_tl1329213344_ + (_tl1334413396_ (let () (declare (not safe)) (##vector-ref - _g14916_ + _g14968_ 1)))) (if (gx#stx-null? - _tl1329213344_) - (letrec ((_loop1329313347_ + _tl1334413396_) + (letrec ((_loop1334513399_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (lambda (_hd1329113351_ _clause1329713354_) - (if (gx#stx-pair? _hd1329113351_) - (let ((_e1329413357_ - (gx#syntax-e _hd1329113351_))) - (let ((_lp-hd1329513361_ + (lambda (_hd1334313403_ _clause1334913406_) + (if (gx#stx-pair? _hd1334313403_) + (let ((_e1334613409_ + (gx#syntax-e _hd1334313403_))) + (let ((_lp-hd1334713413_ (let () (declare (not safe)) - (##car _e1329413357_))) - (_lp-tl1329613364_ + (##car _e1334613409_))) + (_lp-tl1334813416_ (let () (declare (not safe)) - (##cdr _e1329413357_)))) - (_loop1329313347_ - _lp-tl1329613364_ + (##cdr _e1334613409_)))) + (_loop1334513399_ + _lp-tl1334813416_ (let () (declare (not safe)) - (cons _lp-hd1329513361_ - _clause1329713354_))))) - (let ((_clause1329813367_ - (reverse _clause1329713354_))) - ((lambda (_L13371_ _L13373_ _L13374_) - (let _recur13396_ ((_rest13399_ - (let ((__tmp14939 + (cons _lp-hd1334713413_ + _clause1334913406_))))) + (let ((_clause1335013419_ + (reverse _clause1334913406_))) + ((lambda (_L13423_ _L13425_ _L13426_) + (let _recur13448_ ((_rest13451_ + (let ((__tmp14991 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (lambda (_g1380113804_ _g1380213807_) + (lambda (_g1385313856_ _g1385413859_) (let () (declare (not safe)) - (cons _g1380113804_ _g1380213807_))))) + (cons _g1385313856_ _g1385413859_))))) (declare (not safe)) - (foldr1 __tmp14939 '() _L13371_)))) + (foldr1 __tmp14991 '() _L13423_)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (let* ((_rest1340113410_ _rest13399_) - (_E1340413416_ + (let* ((_rest1345313462_ _rest13451_) + (_E1345613468_ (lambda () (error '"No clause matching" - _rest1340113410_)))) - (let ((_K1340613786_ - (lambda (_rest13432_ - _hd13434_) - (let* ((_g1343613444_ - (lambda (_g1343713440_) + _rest1345313462_)))) + (let ((_K1345813838_ + (lambda (_rest13484_ + _hd13486_) + (let* ((_g1348813496_ + (lambda (_g1348913492_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1343713440_))) - (_g1343513782_ - (lambda (_g1343713448_) - ((lambda (_L13451_) + _g1348913492_))) + (_g1348713834_ + (lambda (_g1348913500_) + ((lambda (_L13503_) ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (let () - (let* ((_g1346913477_ - (lambda (_g1347013473_) + (let* ((_g1352113529_ + (lambda (_g1352213525_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1347013473_))) - (_g1346813778_ - (lambda (_g1347013481_) - ((lambda (_L13484_) + _g1352213525_))) + (_g1352013830_ + (lambda (_g1352213533_) + ((lambda (_L13536_) (let () - (let* ((_g1349713505_ - (lambda (_g1349813501_) + (let* ((_g1354913557_ + (lambda (_g1355013553_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1349813501_))) - (_g1349613774_ - (lambda (_g1349813509_) - ((lambda (_L13512_) + _g1355013553_))) + (_g1354813826_ + (lambda (_g1355013561_) + ((lambda (_L13564_) (let () - (let* ((_g1352513533_ + (let* ((_g1357713585_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (lambda (_g1352613529_) + (lambda (_g1357813581_) (gx#raise-syntax-error '#f '"Bad syntax" - _g1352613529_))) - (_g1352413555_ - (lambda (_g1352613537_) - ((lambda (_L13540_) + _g1357813581_))) + (_g1357613607_ + (lambda (_g1357813589_) + ((lambda (_L13592_) (let () (let () - (let ((__tmp14926 + (let ((__tmp14978 (gx#datum->syntax '#f 'let)) - (__tmp14918 - (let ((__tmp14920 - (let ((__tmp14921 - (let ((__tmp14922 - (let ((__tmp14925 + (__tmp14970 + (let ((__tmp14972 + (let ((__tmp14973 + (let ((__tmp14974 + (let ((__tmp14977 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'lambda)) - (__tmp14923 - (let ((__tmp14924 + (__tmp14975 + (let ((__tmp14976 (let () (declare (not safe)) - (cons _L13512_ '())))) + (cons _L13564_ '())))) (declare (not safe)) - (cons '() __tmp14924)))) + (cons '() __tmp14976)))) (declare (not safe)) - (cons __tmp14925 __tmp14923)))) + (cons __tmp14977 __tmp14975)))) (declare (not safe)) - (cons __tmp14922 '())))) + (cons __tmp14974 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons _L13451_ __tmp14921))) - (__tmp14919 + (cons _L13503_ __tmp14973))) + (__tmp14971 (let () (declare (not safe)) - (cons _L13540_ '())))) + (cons _L13592_ '())))) (declare (not safe)) - (cons __tmp14920 __tmp14919)))) + (cons __tmp14972 __tmp14971)))) (declare (not safe)) - (cons __tmp14926 __tmp14918))))) - _g1352613537_)))) - (_g1352413555_ - (let* ((___stx1475114752_ _hd13434_) - (_g1356113601_ + (cons __tmp14978 __tmp14970))))) + _g1357813589_)))) + (_g1357613607_ + (let* ((___stx1480314804_ _hd13486_) + (_g1361313653_ (lambda () (gx#raise-syntax-error '#f '"Bad syntax" - ___stx1475114752_)))) - (let ((___kont1475414755_ - (lambda (_L13747_) - (let ((__tmp14929 (gx#datum->syntax '#f 'begin)) - (__tmp14927 - (let ((__tmp14928 - (lambda (_g1376113764_ - _g1376213767_) + ___stx1480314804_)))) + (let ((___kont1480614807_ + (lambda (_L13799_) + (let ((__tmp14981 (gx#datum->syntax '#f 'begin)) + (__tmp14979 + (let ((__tmp14980 + (lambda (_g1381313816_ + _g1381413819_) (let () (declare (not safe)) - (cons _g1376113764_ - _g1376213767_))))) + (cons _g1381313816_ + _g1381413819_))))) (declare (not safe)) - (foldr1 __tmp14928 '() _L13747_)))) + (foldr1 __tmp14980 '() _L13799_)))) (declare (not safe)) - (cons __tmp14929 __tmp14927)))) - (___kont1475814759_ - (lambda (_L13685_ _L13687_) - (_generate113273_ - _L13687_ - _L13374_ - _L13685_ - _L13484_ - _L13373_))) - (___kont1476014761_ - (lambda (_L13638_ _L13640_ _L13641_) - (_generate113273_ - _L13641_ - _L13374_ - (let ((__tmp14933 (gx#datum->syntax '#f 'if)) - (__tmp14930 - (let ((__tmp14931 - (let ((__tmp14932 + (cons __tmp14981 __tmp14979)))) + (___kont1481014811_ + (lambda (_L13737_ _L13739_) + (_generate113325_ + _L13739_ + _L13426_ + _L13737_ + _L13536_ + _L13425_))) + (___kont1481214813_ + (lambda (_L13690_ _L13692_ _L13693_) + (_generate113325_ + _L13693_ + _L13426_ + (let ((__tmp14985 (gx#datum->syntax '#f 'if)) + (__tmp14982 + (let ((__tmp14983 + (let ((__tmp14984 (let () (declare (not safe)) - (cons _L13484_ '())))) + (cons _L13536_ '())))) (declare (not safe)) - (cons _L13638_ __tmp14932)))) + (cons _L13690_ __tmp14984)))) (declare (not safe)) - (cons _L13640_ __tmp14931)))) + (cons _L13692_ __tmp14983)))) (declare (not safe)) - (cons __tmp14933 __tmp14930)) - _L13484_ - _L13373_)))) - (let ((___match1478014781_ - (lambda (_e1356613707_ - _hd1356513711_ - _tl1356413714_ - ___splice1475614757_ - _target1356713717_ - _tl1356913720_) - (letrec ((_loop1357013723_ - (lambda (_hd1356813727_ - _expr1357413730_) - (if (gx#stx-pair? _hd1356813727_) - (let ((_e1357113733_ + (cons __tmp14985 __tmp14982)) + _L13536_ + _L13425_)))) + (let ((___match1483214833_ + (lambda (_e1361813759_ + _hd1361713763_ + _tl1361613766_ + ___splice1480814809_ + _target1361913769_ + _tl1362113772_) + (letrec ((_loop1362213775_ + (lambda (_hd1362013779_ + _expr1362613782_) + (if (gx#stx-pair? _hd1362013779_) + (let ((_e1362313785_ (gx#syntax-e - _hd1356813727_))) - (let ((_lp-tl1357313740_ + _hd1362013779_))) + (let ((_lp-tl1362513792_ (let () (declare (not safe)) - (##cdr _e1357113733_))) - (_lp-hd1357213737_ + (##cdr _e1362313785_))) + (_lp-hd1362413789_ (let () (declare (not safe)) - (##car _e1357113733_)))) - (_loop1357013723_ - _lp-tl1357313740_ + (##car _e1362313785_)))) + (_loop1362213775_ + _lp-tl1362513792_ (let () (declare (not safe)) - (cons _lp-hd1357213737_ - _expr1357413730_))))) - (let ((_expr1357513743_ - (reverse _expr1357413730_))) - (___kont1475414755_ - _expr1357513743_)))))) - (_loop1357013723_ - _target1356713717_ + (cons _lp-hd1362413789_ + _expr1362613782_))))) + (let ((_expr1362713795_ + (reverse _expr1362613782_))) + (___kont1480614807_ + _expr1362713795_)))))) + (_loop1362213775_ + _target1361913769_ '()))))) - (if (gx#stx-pair? ___stx1475114752_) - (let ((_e1356613707_ - (gx#syntax-e ___stx1475114752_))) - (let ((_tl1356413714_ + (if (gx#stx-pair? ___stx1480314804_) + (let ((_e1361813759_ + (gx#syntax-e ___stx1480314804_))) + (let ((_tl1361613766_ (let () (declare (not safe)) - (##cdr _e1356613707_))) - (_hd1356513711_ + (##cdr _e1361813759_))) + (_hd1361713763_ (let () (declare (not safe)) - (##car _e1356613707_)))) - (if (gx#identifier? _hd1356513711_) + (##car _e1361813759_)))) + (if (gx#identifier? _hd1361713763_) (if (gx#free-identifier=? - |[1]#_g14934_| - _hd1356513711_) + |[1]#_g14986_| + _hd1361713763_) (if (gx#stx-pair/null? - _tl1356413714_) - (let ((___splice1475614757_ + _tl1361613766_) + (let ((___splice1480814809_ (gx#syntax-split-splice - _tl1356413714_ + _tl1361613766_ '0))) - (let ((_tl1356913720_ + (let ((_tl1362113772_ (let () (declare (not safe)) (##vector-ref - ___splice1475614757_ + ___splice1480814809_ '1))) - (_target1356713717_ + (_target1361913769_ (let () (declare (not safe)) (##vector-ref - ___splice1475614757_ + ___splice1480814809_ '0)))) (if (gx#stx-null? - _tl1356913720_) - (___match1478014781_ - _e1356613707_ - _hd1356513711_ - _tl1356413714_ - ___splice1475614757_ - _target1356713717_ - _tl1356913720_) + _tl1362113772_) + (___match1483214833_ + _e1361813759_ + _hd1361713763_ + _tl1361613766_ + ___splice1480814809_ + _target1361913769_ + _tl1362113772_) (if (gx#stx-pair? - _tl1356413714_) - (let ((_e1358313675_ + _tl1361613766_) + (let ((_e1363513727_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#syntax-e _tl1356413714_))) - (let ((_tl1358113682_ - (let () (declare (not safe)) (##cdr _e1358313675_))) - (_hd1358213679_ + (gx#syntax-e _tl1361613766_))) + (let ((_tl1363313734_ + (let () (declare (not safe)) (##cdr _e1363513727_))) + (_hd1363413731_ (let () (declare (not safe)) - (##car _e1358313675_)))) - (if (gx#stx-null? _tl1358113682_) - (___kont1475814759_ _hd1358213679_ _hd1356513711_) - (if (gx#stx-pair? _tl1358113682_) - (let ((_e1359513628_ - (gx#syntax-e _tl1358113682_))) - (let ((_tl1359313635_ + (##car _e1363513727_)))) + (if (gx#stx-null? _tl1363313734_) + (___kont1481014811_ _hd1363413731_ _hd1361713763_) + (if (gx#stx-pair? _tl1363313734_) + (let ((_e1364713680_ + (gx#syntax-e _tl1363313734_))) + (let ((_tl1364513687_ (let () (declare (not safe)) - (##cdr _e1359513628_))) - (_hd1359413632_ + (##cdr _e1364713680_))) + (_hd1364613684_ (let () (declare (not safe)) - (##car _e1359513628_)))) - (if (gx#stx-null? _tl1359313635_) - (___kont1476014761_ - _hd1359413632_ - _hd1358213679_ - _hd1356513711_) + (##car _e1364713680_)))) + (if (gx#stx-null? _tl1364513687_) + (___kont1481214813_ + _hd1364613684_ + _hd1363413731_ + _hd1361713763_) (let () (declare (not safe)) - (_g1356113601_))))) - (let () (declare (not safe)) (_g1356113601_)))))) - (let () (declare (not safe)) (_g1356113601_)))))) + (_g1361313653_))))) + (let () (declare (not safe)) (_g1361313653_)))))) + (let () (declare (not safe)) (_g1361313653_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (if (gx#stx-pair? _tl1356413714_) - (let ((_e1358313675_ + (if (gx#stx-pair? _tl1361613766_) + (let ((_e1363513727_ (gx#syntax-e - _tl1356413714_))) - (let ((_tl1358113682_ + _tl1361613766_))) + (let ((_tl1363313734_ (let () (declare (not safe)) - (##cdr _e1358313675_))) - (_hd1358213679_ + (##cdr _e1363513727_))) + (_hd1363413731_ (let () (declare (not safe)) - (##car _e1358313675_)))) + (##car _e1363513727_)))) (if (gx#stx-null? - _tl1358113682_) - (___kont1475814759_ - _hd1358213679_ - _hd1356513711_) + _tl1363313734_) + (___kont1481014811_ + _hd1363413731_ + _hd1361713763_) (if (gx#stx-pair? - _tl1358113682_) - (let ((_e1359513628_ + _tl1363313734_) + (let ((_e1364713680_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#syntax-e _tl1358113682_))) - (let ((_tl1359313635_ + (gx#syntax-e _tl1363313734_))) + (let ((_tl1364513687_ (let () (declare (not safe)) - (##cdr _e1359513628_))) - (_hd1359413632_ + (##cdr _e1364713680_))) + (_hd1364613684_ (let () (declare (not safe)) - (##car _e1359513628_)))) - (if (gx#stx-null? _tl1359313635_) - (___kont1476014761_ - _hd1359413632_ - _hd1358213679_ - _hd1356513711_) - (let () (declare (not safe)) (_g1356113601_))))) - (let () (declare (not safe)) (_g1356113601_)))))) + (##car _e1364713680_)))) + (if (gx#stx-null? _tl1364513687_) + (___kont1481214813_ + _hd1364613684_ + _hd1363413731_ + _hd1361713763_) + (let () (declare (not safe)) (_g1361313653_))))) + (let () (declare (not safe)) (_g1361313653_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let () (declare (not safe)) - (_g1356113601_)))) - (if (gx#stx-pair? _tl1356413714_) - (let ((_e1358313675_ + (_g1361313653_)))) + (if (gx#stx-pair? _tl1361613766_) + (let ((_e1363513727_ (gx#syntax-e - _tl1356413714_))) - (let ((_tl1358113682_ + _tl1361613766_))) + (let ((_tl1363313734_ (let () (declare (not safe)) - (##cdr _e1358313675_))) - (_hd1358213679_ + (##cdr _e1363513727_))) + (_hd1363413731_ (let () (declare (not safe)) - (##car _e1358313675_)))) + (##car _e1363513727_)))) (if (gx#stx-null? - _tl1358113682_) - (___kont1475814759_ - _hd1358213679_ - _hd1356513711_) + _tl1363313734_) + (___kont1481014811_ + _hd1363413731_ + _hd1361713763_) (if (gx#stx-pair? - _tl1358113682_) - (let ((_e1359513628_ + _tl1363313734_) + (let ((_e1364713680_ ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (gx#syntax-e _tl1358113682_))) - (let ((_tl1359313635_ - (let () (declare (not safe)) (##cdr _e1359513628_))) - (_hd1359413632_ + (gx#syntax-e _tl1363313734_))) + (let ((_tl1364513687_ + (let () (declare (not safe)) (##cdr _e1364713680_))) + (_hd1364613684_ (let () (declare (not safe)) - (##car _e1359513628_)))) - (if (gx#stx-null? _tl1359313635_) - (___kont1476014761_ - _hd1359413632_ - _hd1358213679_ - _hd1356513711_) - (let () (declare (not safe)) (_g1356113601_))))) - (let () (declare (not safe)) (_g1356113601_)))))) + (##car _e1364713680_)))) + (if (gx#stx-null? _tl1364513687_) + (___kont1481214813_ + _hd1364613684_ + _hd1363413731_ + _hd1361713763_) + (let () (declare (not safe)) (_g1361313653_))))) + (let () (declare (not safe)) (_g1361313653_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let () (declare (not safe)) - (_g1356113601_)))) - (if (gx#stx-pair? _tl1356413714_) - (let ((_e1358313675_ - (gx#syntax-e _tl1356413714_))) - (let ((_tl1358113682_ + (_g1361313653_)))) + (if (gx#stx-pair? _tl1361613766_) + (let ((_e1363513727_ + (gx#syntax-e _tl1361613766_))) + (let ((_tl1363313734_ (let () (declare (not safe)) - (##cdr _e1358313675_))) - (_hd1358213679_ + (##cdr _e1363513727_))) + (_hd1363413731_ (let () (declare (not safe)) - (##car _e1358313675_)))) - (if (gx#stx-null? _tl1358113682_) - (___kont1475814759_ - _hd1358213679_ - _hd1356513711_) + (##car _e1363513727_)))) + (if (gx#stx-null? _tl1363313734_) + (___kont1481014811_ + _hd1363413731_ + _hd1361713763_) (if (gx#stx-pair? - _tl1358113682_) - (let ((_e1359513628_ + _tl1363313734_) + (let ((_e1364713680_ (gx#syntax-e - _tl1358113682_))) - (let ((_tl1359313635_ + _tl1363313734_))) + (let ((_tl1364513687_ (let () ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (declare (not safe)) - (##cdr _e1359513628_))) - (_hd1359413632_ - (let () (declare (not safe)) (##car _e1359513628_)))) - (if (gx#stx-null? _tl1359313635_) - (___kont1476014761_ - _hd1359413632_ - _hd1358213679_ - _hd1356513711_) - (let () (declare (not safe)) (_g1356113601_))))) - (let () (declare (not safe)) (_g1356113601_)))))) + (##cdr _e1364713680_))) + (_hd1364613684_ + (let () (declare (not safe)) (##car _e1364713680_)))) + (if (gx#stx-null? _tl1364513687_) + (___kont1481214813_ + _hd1364613684_ + _hd1363413731_ + _hd1361713763_) + (let () (declare (not safe)) (_g1361313653_))))) + (let () (declare (not safe)) (_g1361313653_)))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (let () (declare (not safe)) - (_g1356113601_)))))) + (_g1361313653_)))))) (let () (declare (not safe)) - (_g1356113601_)))))))))) + (_g1361313653_)))))))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - _g1349813509_)))) - (_g1349613774_ - (_recur13396_ _rest13432_))))) - _g1347013481_)))) - (_g1346813778_ + _g1355013561_)))) + (_g1354813826_ + (_recur13448_ _rest13484_))))) + _g1352213533_)))) + (_g1352013830_ (let () (declare (not safe)) - (cons _L13451_ '())))))) - _g1343713448_)))) - (_g1343513782_ (gx#genident '$E))))) + (cons _L13503_ '())))))) + _g1348913500_)))) + (_g1348713834_ (gx#genident '$E))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_K1340513424_ + (_K1345713476_ (lambda () - (let ((__tmp14938 + (let ((__tmp14990 (gx#datum->syntax '#f '__raise-syntax-error)) - (__tmp14935 - (let ((__tmp14936 + (__tmp14987 + (let ((__tmp14988 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp14937 + (let ((__tmp14989 (let () (declare (not safe)) - (cons _L13374_ '())))) + (cons _L13426_ '())))) (declare (not safe)) - (cons '"Bad syntax" __tmp14937)))) + (cons '"Bad syntax" __tmp14989)))) (declare (not safe)) - (cons '#f __tmp14936)))) + (cons '#f __tmp14988)))) (declare (not safe)) - (cons __tmp14938 __tmp14935))))) + (cons __tmp14990 __tmp14987))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (let ((_try-match1340313428_ + (let ((_try-match1345513480_ (lambda () (if (let () (declare (not safe)) - (##null? _rest1340113410_)) - (_K1340513424_) - (_E1340413416_))))) + (##null? _rest1345313462_)) + (_K1345713476_) + (_E1345613468_))))) (if (let () (declare (not safe)) - (##pair? _rest1340113410_)) - (let ((_tl1340813793_ + (##pair? _rest1345313462_)) + (let ((_tl1346013845_ (let () (declare (not safe)) - (##cdr _rest1340113410_))) - (_hd1340713790_ + (##cdr _rest1345313462_))) + (_hd1345913842_ (let () (declare (not safe)) - (##car _rest1340113410_)))) - (let ((_hd13796_ - _hd1340713790_) - (_rest13799_ - _tl1340813793_)) - (_K1340613786_ - _rest13799_ - _hd13796_))) - (_try-match1340313428_))))))) - _clause1329813367_ - _hd1328813335_ - _hd1328513325_)))))) - (_loop1329313347_ _target1329013341_ '())) - (_g1327613304_ _g1327713308_))))) + (##car _rest1345313462_)))) + (let ((_hd13848_ + _hd1345913842_) + (_rest13851_ + _tl1346013845_)) + (_K1345813838_ + _rest13851_ + _hd13848_))) + (_try-match1345513480_))))))) + _clause1335013419_ + _hd1334013387_ + _hd1333713377_)))))) + (_loop1334513399_ _target1334213393_ '())) + (_g1332813356_ _g1332913360_))))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - (_g1327613304_ - _g1327713308_)))) - (_g1327613304_ _g1327713308_)))) - (_g1327613304_ _g1327713308_)))) - (_g1327613304_ _g1327713308_))))) - (_g1327513810_ _stx13270_))))) + (_g1332813356_ + _g1332913360_)))) + (_g1332813356_ _g1332913360_)))) + (_g1332813356_ _g1332913360_)))) + (_g1332813356_ _g1332913360_))))) + (_g1332713862_ _stx13322_))))) (define |[:0:]#SyntaxError| (|gerbil/core$$[1]#make-extended-class-info| 'runtime-identifier: - |[1]#_g14940_| + |[1]#_g14992_| 'expander-identifiers: - (let ((__tmp14987 - (let ((__tmp14988 |[1]#_g14989_|)) + (let ((__tmp15039 + (let ((__tmp15040 |[1]#_g15041_|)) (declare (not safe)) - (cons __tmp14988 '()))) - (__tmp14941 - (let ((__tmp14986 |[1]#_g14940_|) - (__tmp14942 - (let ((__tmp14984 |[1]#_g14985_|) - (__tmp14943 - (let ((__tmp14982 |[1]#_g14983_|) - (__tmp14944 - (let ((__tmp14964 - (let ((__tmp14980 |[1]#_g14981_|) - (__tmp14965 - (let ((__tmp14978 - |[1]#_g14979_|) - (__tmp14966 - (let ((__tmp14976 - |[1]#_g14977_|) - (__tmp14967 - (let ((__tmp14974 + (cons __tmp15040 '()))) + (__tmp14993 + (let ((__tmp15038 |[1]#_g14992_|) + (__tmp14994 + (let ((__tmp15036 |[1]#_g15037_|) + (__tmp14995 + (let ((__tmp15034 |[1]#_g15035_|) + (__tmp14996 + (let ((__tmp15016 + (let ((__tmp15032 |[1]#_g15033_|) + (__tmp15017 + (let ((__tmp15030 + |[1]#_g15031_|) + (__tmp15018 + (let ((__tmp15028 + |[1]#_g15029_|) + (__tmp15019 + (let ((__tmp15026 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g14975_|) - (__tmp14968 - (let ((__tmp14972 |[1]#_g14973_|) - (__tmp14969 - (let ((__tmp14970 |[1]#_g14971_|)) + |[1]#_g15027_|) + (__tmp15020 + (let ((__tmp15024 |[1]#_g15025_|) + (__tmp15021 + (let ((__tmp15022 |[1]#_g15023_|)) (declare (not safe)) - (cons __tmp14970 '())))) + (cons __tmp15022 '())))) (declare (not safe)) - (cons __tmp14972 __tmp14969)))) + (cons __tmp15024 __tmp15021)))) (declare (not safe)) - (cons __tmp14974 __tmp14968)))) + (cons __tmp15026 __tmp15020)))) (declare (not safe)) - (cons __tmp14976 __tmp14967)))) + (cons __tmp15028 __tmp15019)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14978 - __tmp14966)))) + (cons __tmp15030 + __tmp15018)))) (declare (not safe)) - (cons __tmp14980 __tmp14965))) - (__tmp14945 - (let ((__tmp14946 - (let ((__tmp14962 - |[1]#_g14963_|) - (__tmp14947 - (let ((__tmp14960 - |[1]#_g14961_|) - (__tmp14948 - (let ((__tmp14958 + (cons __tmp15032 __tmp15017))) + (__tmp14997 + (let ((__tmp14998 + (let ((__tmp15014 + |[1]#_g15015_|) + (__tmp14999 + (let ((__tmp15012 + |[1]#_g15013_|) + (__tmp15000 + (let ((__tmp15010 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - |[1]#_g14959_|) - (__tmp14949 - (let ((__tmp14956 |[1]#_g14957_|) - (__tmp14950 - (let ((__tmp14954 |[1]#_g14955_|) - (__tmp14951 - (let ((__tmp14952 |[1]#_g14953_|)) + |[1]#_g15011_|) + (__tmp15001 + (let ((__tmp15008 |[1]#_g15009_|) + (__tmp15002 + (let ((__tmp15006 |[1]#_g15007_|) + (__tmp15003 + (let ((__tmp15004 |[1]#_g15005_|)) (declare (not safe)) - (cons __tmp14952 '())))) + (cons __tmp15004 '())))) (declare (not safe)) - (cons __tmp14954 __tmp14951)))) + (cons __tmp15006 __tmp15003)))) (declare (not safe)) - (cons __tmp14956 __tmp14950)))) + (cons __tmp15008 __tmp15002)))) (declare (not safe)) - (cons __tmp14958 __tmp14949)))) + (cons __tmp15010 __tmp15001)))) (declare (not safe)) - (cons __tmp14960 __tmp14948)))) + (cons __tmp15012 __tmp15000)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp14962 - __tmp14947)))) + (cons __tmp15014 + __tmp14999)))) (declare (not safe)) - (cons __tmp14946 '())))) + (cons __tmp14998 '())))) (declare (not safe)) - (cons __tmp14964 __tmp14945)))) + (cons __tmp15016 __tmp14997)))) (declare (not safe)) - (cons __tmp14982 __tmp14944)))) + (cons __tmp15034 __tmp14996)))) (declare (not safe)) - (cons __tmp14984 __tmp14943)))) + (cons __tmp15036 __tmp14995)))) (declare (not safe)) - (cons __tmp14986 __tmp14942)))) + (cons __tmp15038 __tmp14994)))) (declare (not safe)) - (cons __tmp14987 __tmp14941)) + (cons __tmp15039 __tmp14993)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-class-exhibitor| '#f - (list |[1]#_g14990_|) + (list |[1]#_g15042_|) 'SyntaxError '#f '((final: . #t)) @@ -1425,49 +1425,49 @@ (define |[:0:]#AST| (|gerbil/core$$[1]#make-extended-struct-info| 'runtime-identifier: - |[1]#_g14991_| + |[1]#_g15043_| 'expander-identifiers: - (let ((__tmp14992 - (let ((__tmp15013 |[1]#_g14991_|) - (__tmp14993 - (let ((__tmp15011 |[1]#_g15012_|) - (__tmp14994 - (let ((__tmp15009 |[1]#_g15010_|) - (__tmp14995 - (let ((__tmp15003 - (let ((__tmp15007 |[1]#_g15008_|) - (__tmp15004 - (let ((__tmp15005 - |[1]#_g15006_|)) + (let ((__tmp15044 + (let ((__tmp15065 |[1]#_g15043_|) + (__tmp15045 + (let ((__tmp15063 |[1]#_g15064_|) + (__tmp15046 + (let ((__tmp15061 |[1]#_g15062_|) + (__tmp15047 + (let ((__tmp15055 + (let ((__tmp15059 |[1]#_g15060_|) + (__tmp15056 + (let ((__tmp15057 + |[1]#_g15058_|)) (declare (not safe)) - (cons __tmp15005 '())))) + (cons __tmp15057 '())))) (declare (not safe)) - (cons __tmp15007 __tmp15004))) - (__tmp14996 - (let ((__tmp14997 - (let ((__tmp15001 - |[1]#_g15002_|) - (__tmp14998 - (let ((__tmp14999 - |[1]#_g15000_|)) + (cons __tmp15059 __tmp15056))) + (__tmp15048 + (let ((__tmp15049 + (let ((__tmp15053 + |[1]#_g15054_|) + (__tmp15050 + (let ((__tmp15051 + |[1]#_g15052_|)) (declare (not safe)) - (cons __tmp14999 + (cons __tmp15051 '())))) (declare (not safe)) - (cons __tmp15001 - __tmp14998)))) + (cons __tmp15053 + __tmp15050)))) (declare (not safe)) - (cons __tmp14997 '())))) + (cons __tmp15049 '())))) (declare (not safe)) - (cons __tmp15003 __tmp14996)))) + (cons __tmp15055 __tmp15048)))) (declare (not safe)) - (cons __tmp15009 __tmp14995)))) + (cons __tmp15061 __tmp15047)))) (declare (not safe)) - (cons __tmp15011 __tmp14994)))) + (cons __tmp15063 __tmp15046)))) (declare (not safe)) - (cons __tmp15013 __tmp14993)))) + (cons __tmp15065 __tmp15045)))) (declare (not safe)) - (cons '#f __tmp14992)) + (cons '#f __tmp15044)) 'type-exhibitor: (|gerbil/core$$[1]#make-runtime-struct-exhibitor| 'gerbil#AST::t diff --git a/src/bootstrap/gerbil/runtime/system__0.scm b/src/bootstrap/gerbil/runtime/system__0.scm index 0ed828c3c..b0f460e25 100644 --- a/src/bootstrap/gerbil/runtime/system__0.scm +++ b/src/bootstrap/gerbil/runtime/system__0.scm @@ -1,8 +1,8 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/system::timestamp 1696542232) + (define gerbil/runtime/system::timestamp 1697117311) (begin - (define gerbil-version-string (lambda () '"0.17.0-343-g2bef30f6")) + (define gerbil-version-string (lambda () '"v0.18-rc1-10-g630d6fc3")) (define gerbil-system-version-string (lambda () (string-append @@ -18,11 +18,11 @@ (lambda () (getenv '"GERBIL_HOME" (path-expand '"~~")))) (define gerbil-path (lambda () - (let ((_$e6420_ (getenv '"GERBIL_PATH" '#f))) - (if _$e6420_ _$e6420_ (path-expand '"~/.gerbil"))))) + (let ((_$e6464_ (getenv '"GERBIL_PATH" '#f))) + (if _$e6464_ _$e6464_ (path-expand '"~/.gerbil"))))) (define gerbil-runtime-smp? (lambda () (member '"--enable-smp" - (let ((__tmp8515 (configure-command-string))) + (let ((__tmp8559 (configure-command-string))) (declare (not safe)) - (string-split __tmp8515 '#\'))))))) + (string-split __tmp8559 '#\'))))))) diff --git a/src/bootstrap/gerbil/runtime/thread__0.scm b/src/bootstrap/gerbil/runtime/thread__0.scm index 0a83706ec..efb12beca 100644 --- a/src/bootstrap/gerbil/runtime/thread__0.scm +++ b/src/bootstrap/gerbil/runtime/thread__0.scm @@ -1,13 +1,13 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/thread::timestamp 1696542233) + (define gerbil/runtime/thread::timestamp 1697117311) (begin (define spawn - (lambda (_f13130_ . _args13131_) - (if (let () (declare (not safe)) (procedure? _f13130_)) + (lambda (_f13182_ . _args13183_) + (if (let () (declare (not safe)) (procedure? _f13182_)) '#!void - (raise (let ((__tmp13132 - (let () (declare (not safe)) (cons _f13130_ '())))) + (raise (let ((__tmp13184 + (let () (declare (not safe)) (cons _f13182_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -15,16 +15,16 @@ 'where: 'spawn 'irritants: - __tmp13132)))) + __tmp13184)))) (let () (declare (not safe)) - (spawn-actor _f13130_ _args13131_ '#!void '#f)))) + (spawn-actor _f13182_ _args13183_ '#!void '#f)))) (define spawn/name - (lambda (_name13126_ _f13127_ . _args13128_) - (if (let () (declare (not safe)) (procedure? _f13127_)) + (lambda (_name13178_ _f13179_ . _args13180_) + (if (let () (declare (not safe)) (procedure? _f13179_)) '#!void - (raise (let ((__tmp13133 - (let () (declare (not safe)) (cons _f13127_ '())))) + (raise (let ((__tmp13185 + (let () (declare (not safe)) (cons _f13179_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -32,16 +32,16 @@ 'where: 'spawn/name 'irritants: - __tmp13133)))) + __tmp13185)))) (let () (declare (not safe)) - (spawn-actor _f13127_ _args13128_ _name13126_ '#f)))) + (spawn-actor _f13179_ _args13180_ _name13178_ '#f)))) (define spawn/group - (lambda (_name13120_ _f13121_ . _args13122_) - (if (let () (declare (not safe)) (procedure? _f13121_)) + (lambda (_name13172_ _f13173_ . _args13174_) + (if (let () (declare (not safe)) (procedure? _f13173_)) '#!void - (raise (let ((__tmp13134 - (let () (declare (not safe)) (cons _f13121_ '())))) + (raise (let ((__tmp13186 + (let () (declare (not safe)) (cons _f13173_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -49,174 +49,174 @@ 'where: 'spawn/group 'irritants: - __tmp13134)))) - (let ((_tgroup13124_ (make-thread-group _name13120_))) + __tmp13186)))) + (let ((_tgroup13176_ (make-thread-group _name13172_))) (declare (not safe)) - (spawn-actor _f13121_ _args13122_ _name13120_ _tgroup13124_)))) + (spawn-actor _f13173_ _args13174_ _name13172_ _tgroup13176_)))) (define spawn-actor - (lambda (_f13093_ _args13094_ _name13095_ _tgroup13096_) - (letrec ((_thread-main13098_ - (lambda (_thunk13112_) + (lambda (_f13145_ _args13146_ _name13147_ _tgroup13148_) + (letrec ((_thread-main13150_ + (lambda (_thunk13164_) (lambda () (with-exception-handler - (lambda (_exn13115_) - (let ((__tmp13135 - (lambda (_cont13117_) + (lambda (_exn13167_) + (let ((__tmp13187 + (lambda (_cont13169_) (if __unhandled-actor-exception-hook - (let ((__tmp13136 + (let ((__tmp13188 (lambda () (__unhandled-actor-exception-hook - _cont13117_ - _exn13115_)))) + _cont13169_ + _exn13167_)))) (declare (not safe)) - (with-catch void __tmp13136)) + (with-catch void __tmp13188)) '#!void) - (let ((__tmp13137 + (let ((__tmp13189 (let () (declare (not safe)) - (##continuation-last _cont13117_)))) + (##continuation-last _cont13169_)))) (declare (not safe)) (##continuation-graft - __tmp13137 + __tmp13189 ##primordial-exception-handler - _exn13115_))))) + _exn13167_))))) (declare (not safe)) - (##continuation-capture __tmp13135))) - _thunk13112_))))) - (let* ((_thunk13101_ - (if (let () (declare (not safe)) (null? _args13094_)) - _f13093_ - (lambda () (apply _f13093_ _args13094_)))) - (_thunk13104_ + (##continuation-capture __tmp13187))) + _thunk13164_))))) + (let* ((_thunk13153_ + (if (let () (declare (not safe)) (null? _args13146_)) + _f13145_ + (lambda () (apply _f13145_ _args13146_)))) + (_thunk13156_ (lambda () (let () (declare (not safe)) - (with-exception-stack-trace__0 _thunk13101_)))) - (_tgroup13109_ - (let ((_$e13106_ _tgroup13096_)) - (if _$e13106_ - _$e13106_ + (with-exception-stack-trace__0 _thunk13153_)))) + (_tgroup13161_ + (let ((_$e13158_ _tgroup13148_)) + (if _$e13158_ + _$e13158_ (let () (declare (not safe)) (current-thread-group)))))) (thread-start! (thread-init! (construct-actor-thread '#f '0) - (let () (declare (not safe)) (_thread-main13098_ _thunk13104_)) - _name13095_ - _tgroup13109_)))))) + (let () (declare (not safe)) (_thread-main13150_ _thunk13156_)) + _name13147_ + _tgroup13161_)))))) (define spawn-thread__% - (lambda (_thunk13071_ _name13072_ _tgroup13073_) - (thread-start! (make-thread _thunk13071_ _name13072_ _tgroup13073_)))) + (lambda (_thunk13123_ _name13124_ _tgroup13125_) + (thread-start! (make-thread _thunk13123_ _name13124_ _tgroup13125_)))) (define spawn-thread__0 - (lambda (_thunk13078_) - (let* ((_name13080_ absent-obj) (_tgroup13082_ absent-obj)) + (lambda (_thunk13130_) + (let* ((_name13132_ absent-obj) (_tgroup13134_ absent-obj)) (declare (not safe)) - (spawn-thread__% _thunk13078_ _name13080_ _tgroup13082_)))) + (spawn-thread__% _thunk13130_ _name13132_ _tgroup13134_)))) (define spawn-thread__1 - (lambda (_thunk13084_ _name13085_) - (let ((_tgroup13087_ absent-obj)) + (lambda (_thunk13136_ _name13137_) + (let ((_tgroup13139_ absent-obj)) (declare (not safe)) - (spawn-thread__% _thunk13084_ _name13085_ _tgroup13087_)))) + (spawn-thread__% _thunk13136_ _name13137_ _tgroup13139_)))) (define spawn-thread - (lambda _g13139_ - (let ((_g13138_ (let () (declare (not safe)) (##length _g13139_)))) - (cond ((let () (declare (not safe)) (##fx= _g13138_ 1)) - (apply (lambda (_thunk13078_) + (lambda _g13191_ + (let ((_g13190_ (let () (declare (not safe)) (##length _g13191_)))) + (cond ((let () (declare (not safe)) (##fx= _g13190_ 1)) + (apply (lambda (_thunk13130_) (let () (declare (not safe)) - (spawn-thread__0 _thunk13078_))) - _g13139_)) - ((let () (declare (not safe)) (##fx= _g13138_ 2)) - (apply (lambda (_thunk13084_ _name13085_) + (spawn-thread__0 _thunk13130_))) + _g13191_)) + ((let () (declare (not safe)) (##fx= _g13190_ 2)) + (apply (lambda (_thunk13136_ _name13137_) (let () (declare (not safe)) - (spawn-thread__1 _thunk13084_ _name13085_))) - _g13139_)) - ((let () (declare (not safe)) (##fx= _g13138_ 3)) - (apply (lambda (_thunk13089_ _name13090_ _tgroup13091_) + (spawn-thread__1 _thunk13136_ _name13137_))) + _g13191_)) + ((let () (declare (not safe)) (##fx= _g13190_ 3)) + (apply (lambda (_thunk13141_ _name13142_ _tgroup13143_) (let () (declare (not safe)) (spawn-thread__% - _thunk13089_ - _name13090_ - _tgroup13091_))) - _g13139_)) + _thunk13141_ + _name13142_ + _tgroup13143_))) + _g13191_)) (else (##raise-wrong-number-of-arguments-exception spawn-thread - _g13139_)))))) + _g13191_)))))) (define thread-local-ref__% - (lambda (_key13055_ _default13056_) - (let ((_tab13058_ (let () (declare (not safe)) (thread-local-table)))) + (lambda (_key13107_ _default13108_) + (let ((_tab13110_ (let () (declare (not safe)) (thread-local-table)))) (declare (not safe)) - (table-ref _tab13058_ _key13055_ _default13056_)))) + (table-ref _tab13110_ _key13107_ _default13108_)))) (define thread-local-ref__0 - (lambda (_key13063_) - (let ((_default13065_ absent-obj)) + (lambda (_key13115_) + (let ((_default13117_ absent-obj)) (declare (not safe)) - (thread-local-ref__% _key13063_ _default13065_)))) + (thread-local-ref__% _key13115_ _default13117_)))) (define thread-local-ref - (lambda _g13141_ - (let ((_g13140_ (let () (declare (not safe)) (##length _g13141_)))) - (cond ((let () (declare (not safe)) (##fx= _g13140_ 1)) - (apply (lambda (_key13063_) + (lambda _g13193_ + (let ((_g13192_ (let () (declare (not safe)) (##length _g13193_)))) + (cond ((let () (declare (not safe)) (##fx= _g13192_ 1)) + (apply (lambda (_key13115_) (let () (declare (not safe)) - (thread-local-ref__0 _key13063_))) - _g13141_)) - ((let () (declare (not safe)) (##fx= _g13140_ 2)) - (apply (lambda (_key13067_ _default13068_) + (thread-local-ref__0 _key13115_))) + _g13193_)) + ((let () (declare (not safe)) (##fx= _g13192_ 2)) + (apply (lambda (_key13119_ _default13120_) (let () (declare (not safe)) - (thread-local-ref__% _key13067_ _default13068_))) - _g13141_)) + (thread-local-ref__% _key13119_ _default13120_))) + _g13193_)) (else (##raise-wrong-number-of-arguments-exception thread-local-ref - _g13141_)))))) + _g13193_)))))) (define thread-local-get - (lambda (_key13052_) - (let () (declare (not safe)) (thread-local-ref _key13052_ '#f)))) + (lambda (_key13104_) + (let () (declare (not safe)) (thread-local-ref _key13104_ '#f)))) (define thread-local-set! - (lambda (_key13047_ _value13048_) - (let ((_tab13050_ (let () (declare (not safe)) (thread-local-table)))) + (lambda (_key13099_ _value13100_) + (let ((_tab13102_ (let () (declare (not safe)) (thread-local-table)))) (declare (not safe)) - (table-set! _tab13050_ _key13047_ _value13048_)))) + (table-set! _tab13102_ _key13099_ _value13100_)))) (define thread-local-clear! - (lambda (_key13043_) - (let ((_tab13045_ (let () (declare (not safe)) (thread-local-table)))) + (lambda (_key13095_) + (let ((_tab13097_ (let () (declare (not safe)) (thread-local-table)))) (declare (not safe)) - (table-set! _tab13045_ _key13043_)))) + (table-set! _tab13097_ _key13095_)))) (define thread-local-table (lambda () - (let ((_thr13029_ (current-thread))) - (if (let () (declare (not safe)) (actor-thread? _thr13029_)) - (let ((_$e13031_ (actor-thread-locals _thr13029_))) - (if _$e13031_ - (values _$e13031_) - (let ((_tab13034_ + (let ((_thr13081_ (current-thread))) + (if (let () (declare (not safe)) (actor-thread? _thr13081_)) + (let ((_$e13083_ (actor-thread-locals _thr13081_))) + (if _$e13083_ + (values _$e13083_) + (let ((_tab13086_ (let () (declare (not safe)) (make-table 'test: eq?)))) - (actor-thread-locals-set! _thr13029_ _tab13034_) - _tab13034_))) + (actor-thread-locals-set! _thr13081_ _tab13086_) + _tab13086_))) (if (let () (declare (not safe)) - (eq? _thr13029_ ##primordial-thread)) + (eq? _thr13081_ ##primordial-thread)) __primordial-thread-locals (begin (mutex-lock! __thread-locals-mutex) - (let ((_$e13036_ + (let ((_$e13088_ (let () (declare (not safe)) - (table-ref __thread-locals _thr13029_ '#f)))) - (if _$e13036_ - ((lambda (_tab13039_) + (table-ref __thread-locals _thr13081_ '#f)))) + (if _$e13088_ + ((lambda (_tab13091_) (mutex-unlock! __thread-locals-mutex) - _tab13039_) - _$e13036_) - (let ((_tab13041_ + _tab13091_) + _$e13088_) + (let ((_tab13093_ (let () (declare (not safe)) (make-table 'test: eq?)))) @@ -224,10 +224,10 @@ (declare (not safe)) (table-set! __thread-locals - _thr13029_ - _tab13041_)) + _thr13081_ + _tab13093_)) (mutex-unlock! __thread-locals-mutex) - _tab13041_))))))))) + _tab13093_))))))))) (define __primordial-thread-locals (let () (declare (not safe)) (make-table 'test: eq?))) (define __thread-locals @@ -235,13 +235,13 @@ (define __thread-locals-mutex (make-mutex 'thread-locals)) (define __unhandled-actor-exception-hook '#f) (define unhandled-actor-exception-hook-set! - (lambda (_proc13026_) - (if (let () (declare (not safe)) (procedure? _proc13026_)) + (lambda (_proc13078_) + (if (let () (declare (not safe)) (procedure? _proc13078_)) '#!void - (raise (let ((__tmp13142 + (raise (let ((__tmp13194 (let () (declare (not safe)) - (cons _proc13026_ '())))) + (cons _proc13078_ '())))) (declare (not safe)) (make-class-instance Error::t @@ -249,122 +249,122 @@ 'where: 'unhandler-actor-exception-hook-set! 'irritants: - __tmp13142)))) - (set! __unhandled-actor-exception-hook _proc13026_))) + __tmp13194)))) + (set! __unhandled-actor-exception-hook _proc13078_))) (define current-thread-group (lambda () (thread-thread-group (current-thread)))) (define with-lock - (lambda (_mx13014_ _proc13015_) - (let ((_handler13017_ (current-exception-handler))) + (lambda (_mx13066_ _proc13067_) + (let ((_handler13069_ (current-exception-handler))) (with-exception-handler - (lambda (_e13019_) - (let ((__tmp13143 + (lambda (_e13071_) + (let ((__tmp13195 (lambda () - (mutex-unlock! _mx13014_) - (_handler13017_ _e13019_)))) + (mutex-unlock! _mx13066_) + (_handler13069_ _e13071_)))) (declare (not safe)) - (with-catch void __tmp13143)) + (with-catch void __tmp13195)) (let () (declare (not safe)) - (##thread-end-with-uncaught-exception! _e13019_))) + (##thread-end-with-uncaught-exception! _e13071_))) (lambda () - (mutex-lock! _mx13014_) - (let ((_result13023_ (_proc13015_))) - (mutex-unlock! _mx13014_) - _result13023_)))))) + (mutex-lock! _mx13066_) + (let ((_result13075_ (_proc13067_))) + (mutex-unlock! _mx13066_) + _result13075_)))))) (define with-dynamic-lock - (lambda (_mx13009_ _proc13010_) + (lambda (_mx13061_ _proc13062_) (dynamic-wind - (lambda () (mutex-lock! _mx13009_)) - _proc13010_ - (lambda () (mutex-unlock! _mx13009_))))) + (lambda () (mutex-lock! _mx13061_)) + _proc13062_ + (lambda () (mutex-unlock! _mx13061_))))) (define with-exception-stack-trace__% - (lambda (_thunk12990_ _error-port12991_) + (lambda (_thunk13042_ _error-port13043_) (with-exception-handler - (let ((_E12993_ (current-exception-handler))) - (lambda (_exn12995_) + (let ((_E13045_ (current-exception-handler))) + (lambda (_exn13047_) (continuation-capture - (lambda (_cont12997_) + (lambda (_cont13049_) (let () (declare (not safe)) (dump-stack-trace!__% - _cont12997_ - _exn12995_ - _error-port12991_)) - (_E12993_ _exn12995_))))) - _thunk12990_))) + _cont13049_ + _exn13047_ + _error-port13043_)) + (_E13045_ _exn13047_))))) + _thunk13042_))) (define with-exception-stack-trace__0 - (lambda (_thunk13002_) - (let ((_error-port13004_ (current-error-port))) + (lambda (_thunk13054_) + (let ((_error-port13056_ (current-error-port))) (declare (not safe)) - (with-exception-stack-trace__% _thunk13002_ _error-port13004_)))) + (with-exception-stack-trace__% _thunk13054_ _error-port13056_)))) (define with-exception-stack-trace - (lambda _g13145_ - (let ((_g13144_ (let () (declare (not safe)) (##length _g13145_)))) - (cond ((let () (declare (not safe)) (##fx= _g13144_ 1)) - (apply (lambda (_thunk13002_) + (lambda _g13197_ + (let ((_g13196_ (let () (declare (not safe)) (##length _g13197_)))) + (cond ((let () (declare (not safe)) (##fx= _g13196_ 1)) + (apply (lambda (_thunk13054_) (let () (declare (not safe)) - (with-exception-stack-trace__0 _thunk13002_))) - _g13145_)) - ((let () (declare (not safe)) (##fx= _g13144_ 2)) - (apply (lambda (_thunk13006_ _error-port13007_) + (with-exception-stack-trace__0 _thunk13054_))) + _g13197_)) + ((let () (declare (not safe)) (##fx= _g13196_ 2)) + (apply (lambda (_thunk13058_ _error-port13059_) (let () (declare (not safe)) (with-exception-stack-trace__% - _thunk13006_ - _error-port13007_))) - _g13145_)) + _thunk13058_ + _error-port13059_))) + _g13197_)) (else (##raise-wrong-number-of-arguments-exception with-exception-stack-trace - _g13145_)))))) + _g13197_)))))) (define dump-stack-trace!__% - (lambda (_cont12971_ _exn12972_ _error-port12973_) - (let ((_out12975_ (open-output-string))) - (let () (declare (not safe)) (fix-port-width! _out12975_)) - (display '"*** Unhandled exception in " _out12975_) - (display (current-thread) _out12975_) - (newline _out12975_) - (display-exception _exn12972_ _out12975_) + (lambda (_cont13023_ _exn13024_ _error-port13025_) + (let ((_out13027_ (open-output-string))) + (let () (declare (not safe)) (fix-port-width! _out13027_)) + (display '"*** Unhandled exception in " _out13027_) + (display (current-thread) _out13027_) + (newline _out13027_) + (display-exception _exn13024_ _out13027_) (if (let () (declare (not safe)) - (class-instance? StackTrace::t _exn12972_)) + (class-instance? StackTrace::t _exn13024_)) '#!void (begin - (display '"Continuation backtrace: " _out12975_) - (newline _out12975_) - (display-continuation-backtrace _cont12971_ _out12975_))) - (let ((__tmp13146 (get-output-string _out12975_))) + (display '"Continuation backtrace: " _out13027_) + (newline _out13027_) + (display-continuation-backtrace _cont13023_ _out13027_))) + (let ((__tmp13198 (get-output-string _out13027_))) (declare (not safe)) - (##write-string __tmp13146 _error-port12973_))))) + (##write-string __tmp13198 _error-port13025_))))) (define dump-stack-trace!__0 - (lambda (_cont12980_ _exn12981_) - (let ((_error-port12983_ (current-error-port))) + (lambda (_cont13032_ _exn13033_) + (let ((_error-port13035_ (current-error-port))) (declare (not safe)) - (dump-stack-trace!__% _cont12980_ _exn12981_ _error-port12983_)))) + (dump-stack-trace!__% _cont13032_ _exn13033_ _error-port13035_)))) (define dump-stack-trace! - (lambda _g13148_ - (let ((_g13147_ (let () (declare (not safe)) (##length _g13148_)))) - (cond ((let () (declare (not safe)) (##fx= _g13147_ 2)) - (apply (lambda (_cont12980_ _exn12981_) + (lambda _g13200_ + (let ((_g13199_ (let () (declare (not safe)) (##length _g13200_)))) + (cond ((let () (declare (not safe)) (##fx= _g13199_ 2)) + (apply (lambda (_cont13032_ _exn13033_) (let () (declare (not safe)) - (dump-stack-trace!__0 _cont12980_ _exn12981_))) - _g13148_)) - ((let () (declare (not safe)) (##fx= _g13147_ 3)) - (apply (lambda (_cont12985_ _exn12986_ _error-port12987_) + (dump-stack-trace!__0 _cont13032_ _exn13033_))) + _g13200_)) + ((let () (declare (not safe)) (##fx= _g13199_ 3)) + (apply (lambda (_cont13037_ _exn13038_ _error-port13039_) (let () (declare (not safe)) (dump-stack-trace!__% - _cont12985_ - _exn12986_ - _error-port12987_))) - _g13148_)) + _cont13037_ + _exn13038_ + _error-port13039_))) + _g13200_)) (else (##raise-wrong-number-of-arguments-exception dump-stack-trace! - _g13148_)))))) + _g13200_)))))) (define-type-of-thread actor-thread constructor: diff --git a/src/bootstrap/gerbil/runtime/util.ssi b/src/bootstrap/gerbil/runtime/util.ssi index 6f4c1dc52..d0fb2cf6e 100644 --- a/src/bootstrap/gerbil/runtime/util.ssi +++ b/src/bootstrap/gerbil/runtime/util.ssi @@ -146,7 +146,16 @@ namespace: #f (%#define-runtime fxshift fxshift) (%#define-runtime fx/ fx/) (%#define-runtime interned-symbol? interned-symbol?) - (%#define-runtime make-symbol make-symbol) + (%#define-runtime display-as-string display-as-string) + (%#begin (%#define-runtime as-string__0 as-string__0) + (%#define-runtime as-string__1 as-string__1) + (%#define-runtime as-string as-string)) + (%#begin (%#define-runtime make-symbol__0 make-symbol__0) + (%#define-runtime make-symbol__1 make-symbol__1) + (%#define-runtime make-symbol make-symbol)) + (%#begin (%#define-runtime make-keyword__0 make-keyword__0) + (%#define-runtime make-keyword__1 make-keyword__1) + (%#define-runtime make-keyword make-keyword)) (%#define-runtime interned-keyword? interned-keyword?) (%#define-runtime symbol->keyword symbol->keyword) (%#define-runtime keyword->symbol keyword->symbol) diff --git a/src/bootstrap/gerbil/runtime/util.ssxi.ss b/src/bootstrap/gerbil/runtime/util.ssxi.ss index af548a0e6..05008c702 100644 --- a/src/bootstrap/gerbil/runtime/util.ssxi.ss +++ b/src/bootstrap/gerbil/runtime/util.ssxi.ss @@ -213,7 +213,20 @@ package: gerbil/runtime (declare-type fxshift (@lambda 2 fxarithmetic-shift)) (declare-type fx/ (@lambda 2 fxquotient)) (declare-type interned-symbol? (@lambda 1 #f)) - (declare-type make-symbol (@lambda (0) #f)) + (declare-type display-as-string (@lambda 2 #f)) + (declare-type as-string__0 (@lambda 1 #f)) + (declare-type as-string__1 (@lambda (0) #f)) + (declare-type as-string (@case-lambda (1 as-string__0) ((0) as-string__1))) + (declare-type make-symbol__0 (@lambda 1 #f)) + (declare-type make-symbol__1 (@lambda (0) #f)) + (declare-type + make-symbol + (@case-lambda (1 make-symbol__0) ((0) make-symbol__1))) + (declare-type make-keyword__0 (@lambda 1 #f)) + (declare-type make-keyword__1 (@lambda (0) #f)) + (declare-type + make-keyword + (@case-lambda (1 make-keyword__0) ((0) make-keyword__1))) (declare-type interned-keyword? (@lambda 1 #f)) (declare-type symbol->keyword (@lambda 1 #f)) (declare-type keyword->symbol (@lambda 1 #f)) diff --git a/src/bootstrap/gerbil/runtime/util__0.scm b/src/bootstrap/gerbil/runtime/util__0.scm index 95c535cfb..b5b451806 100644 --- a/src/bootstrap/gerbil/runtime/util__0.scm +++ b/src/bootstrap/gerbil/runtime/util__0.scm @@ -1,1578 +1,1667 @@ (declare (block) (standard-bindings) (extended-bindings)) (begin - (define gerbil/runtime/util::timestamp 1696542232) + (define gerbil/runtime/util::timestamp 1697117311) (begin (define displayln - (lambda _args6379_ - (let _lp6381_ ((_rest6383_ _args6379_)) - (let* ((_rest63846392_ _rest6383_) - (_else63866400_ (lambda () (newline))) - (_K63886406_ - (lambda (_rest6403_ _hd6404_) - (display _hd6404_) - (let () (declare (not safe)) (_lp6381_ _rest6403_))))) - (if (let () (declare (not safe)) (##pair? _rest63846392_)) - (let ((_hd63896409_ - (let () (declare (not safe)) (##car _rest63846392_))) - (_tl63906411_ - (let () (declare (not safe)) (##cdr _rest63846392_)))) - (let* ((_hd6414_ _hd63896409_) (_rest6416_ _tl63906411_)) + (lambda _args6423_ + (let _lp6425_ ((_rest6427_ _args6423_)) + (let* ((_rest64286436_ _rest6427_) + (_else64306444_ (lambda () (newline))) + (_K64326450_ + (lambda (_rest6447_ _hd6448_) + (display _hd6448_) + (let () (declare (not safe)) (_lp6425_ _rest6447_))))) + (if (let () (declare (not safe)) (##pair? _rest64286436_)) + (let ((_hd64336453_ + (let () (declare (not safe)) (##car _rest64286436_))) + (_tl64346455_ + (let () (declare (not safe)) (##cdr _rest64286436_)))) + (let* ((_hd6458_ _hd64336453_) (_rest6460_ _tl64346455_)) (declare (not safe)) - (_K63886406_ _rest6416_ _hd6414_))) + (_K64326450_ _rest6460_ _hd6458_))) (let () (declare (not safe)) (newline))))))) - (define display* (lambda _args6377_ (for-each display _args6377_))) + (define display* (lambda _args6421_ (for-each display _args6421_))) (define file-newer? - (lambda (_file16370_ _file26371_) - (letrec ((_modification-time6373_ - (lambda (_file6375_) - (let ((__tmp8527 + (lambda (_file16414_ _file26415_) + (letrec ((_modification-time6417_ + (lambda (_file6419_) + (let ((__tmp8571 (file-info-last-modification-time - (file-info _file6375_ '#t)))) + (file-info _file6419_ '#t)))) (declare (not safe)) - (##time->seconds __tmp8527))))) - (let ((__tmp8529 + (##time->seconds __tmp8571))))) + (let ((__tmp8573 (let () (declare (not safe)) - (_modification-time6373_ _file16370_))) - (__tmp8528 + (_modification-time6417_ _file16414_))) + (__tmp8572 (let () (declare (not safe)) - (_modification-time6373_ _file26371_)))) + (_modification-time6417_ _file26415_)))) (declare (not safe)) - (##fl> __tmp8529 __tmp8528))))) + (##fl> __tmp8573 __tmp8572))))) (define create-directory*__% - (lambda (_dir6344_ _perms6345_) - (letrec ((_create16347_ - (lambda (_path6358_) - (if (file-exists? _path6358_) - (if (let ((__tmp8530 (file-type _path6358_))) + (lambda (_dir6388_ _perms6389_) + (letrec ((_create16391_ + (lambda (_path6402_) + (if (file-exists? _path6402_) + (if (let ((__tmp8574 (file-type _path6402_))) (declare (not safe)) - (eq? __tmp8530 'directory)) + (eq? __tmp8574 'directory)) '#!void (error '"Path component is not a directory" - _path6358_)) - (if _perms6345_ + _path6402_)) + (if _perms6389_ (create-directory (list 'path: - _path6358_ + _path6402_ 'permissions: - _perms6345_)) - (create-directory _path6358_)))))) - (if (file-exists? _dir6344_) + _perms6389_)) + (create-directory _path6402_)))))) + (if (file-exists? _dir6388_) '#!void - (let _lp6349_ ((_start6351_ '0)) - (let ((_$e6353_ + (let _lp6393_ ((_start6395_ '0)) + (let ((_$e6397_ (let () (declare (not safe)) - (string-index _dir6344_ '#\/ _start6351_)))) - (if _$e6353_ - ((lambda (_x6356_) - (if (let () (declare (not safe)) (##fx> _x6356_ '0)) - (let ((__tmp8531 - (substring _dir6344_ '0 _x6356_))) + (string-index _dir6388_ '#\/ _start6395_)))) + (if _$e6397_ + ((lambda (_x6400_) + (if (let () (declare (not safe)) (##fx> _x6400_ '0)) + (let ((__tmp8575 + (substring _dir6388_ '0 _x6400_))) (declare (not safe)) - (_create16347_ __tmp8531)) + (_create16391_ __tmp8575)) '#!void) - (let ((__tmp8532 + (let ((__tmp8576 (let () (declare (not safe)) - (##fx+ _x6356_ '1)))) + (##fx+ _x6400_ '1)))) (declare (not safe)) - (_lp6349_ __tmp8532))) - _$e6353_) + (_lp6393_ __tmp8576))) + _$e6397_) (let () (declare (not safe)) - (_create16347_ _dir6344_))))))))) + (_create16391_ _dir6388_))))))))) (define create-directory*__0 - (lambda (_dir6363_) - (let ((_perms6365_ '493)) + (lambda (_dir6407_) + (let ((_perms6409_ '493)) (declare (not safe)) - (create-directory*__% _dir6363_ _perms6365_)))) + (create-directory*__% _dir6407_ _perms6409_)))) (define create-directory* - (lambda _g8534_ - (let ((_g8533_ (let () (declare (not safe)) (##length _g8534_)))) - (cond ((let () (declare (not safe)) (##fx= _g8533_ 1)) - (apply (lambda (_dir6363_) + (lambda _g8578_ + (let ((_g8577_ (let () (declare (not safe)) (##length _g8578_)))) + (cond ((let () (declare (not safe)) (##fx= _g8577_ 1)) + (apply (lambda (_dir6407_) (let () (declare (not safe)) - (create-directory*__0 _dir6363_))) - _g8534_)) - ((let () (declare (not safe)) (##fx= _g8533_ 2)) - (apply (lambda (_dir6367_ _perms6368_) + (create-directory*__0 _dir6407_))) + _g8578_)) + ((let () (declare (not safe)) (##fx= _g8577_ 2)) + (apply (lambda (_dir6411_ _perms6412_) (let () (declare (not safe)) - (create-directory*__% _dir6367_ _perms6368_))) - _g8534_)) + (create-directory*__% _dir6411_ _perms6412_))) + _g8578_)) (else (##raise-wrong-number-of-arguments-exception create-directory* - _g8534_)))))) + _g8578_)))))) (define absent-obj (let () (declare (not safe)) (##absent-object))) (define absent-value '#(#!void)) - (define true (lambda _g8535_ '#t)) + (define true (lambda _g8579_ '#t)) (define true? - (lambda (_obj6340_) (let () (declare (not safe)) (eq? _obj6340_ '#t)))) - (define false (lambda _g8536_ '#f)) - (define void (lambda _g8537_ '#!void)) + (lambda (_obj6384_) (let () (declare (not safe)) (eq? _obj6384_ '#t)))) + (define false (lambda _g8580_ '#f)) + (define void (lambda _g8581_ '#!void)) (define void? - (lambda (_obj6336_) - (let () (declare (not safe)) (eq? _obj6336_ '#!void)))) - (define eof-object (lambda _g8538_ '#!eof)) - (define identity (lambda (_obj6333_) _obj6333_)) + (lambda (_obj6380_) + (let () (declare (not safe)) (eq? _obj6380_ '#!void)))) + (define eof-object (lambda _g8582_ '#!eof)) + (define identity (lambda (_obj6377_) _obj6377_)) (define dssl-object? - (lambda (_obj6331_) - (if (memq _obj6331_ '(#!key #!rest #!optional)) '#t '#f))) + (lambda (_obj6375_) + (if (memq _obj6375_ '(#!key #!rest #!optional)) '#t '#f))) (define dssl-key-object? - (lambda (_obj6329_) - (let () (declare (not safe)) (eq? _obj6329_ '#!key)))) + (lambda (_obj6373_) + (let () (declare (not safe)) (eq? _obj6373_ '#!key)))) (define dssl-rest-object? - (lambda (_obj6327_) - (let () (declare (not safe)) (eq? _obj6327_ '#!rest)))) + (lambda (_obj6371_) + (let () (declare (not safe)) (eq? _obj6371_ '#!rest)))) (define dssl-optional-object? - (lambda (_obj6325_) - (let () (declare (not safe)) (eq? _obj6325_ '#!optional)))) + (lambda (_obj6369_) + (let () (declare (not safe)) (eq? _obj6369_ '#!optional)))) (define immediate? - (lambda (_obj6321_) - (let* ((_t6323_ (let () (declare (not safe)) (##type _obj6321_))) - (__tmp8539 (let () (declare (not safe)) (##fxand _t6323_ '1)))) + (lambda (_obj6365_) + (let* ((_t6367_ (let () (declare (not safe)) (##type _obj6365_))) + (__tmp8583 (let () (declare (not safe)) (##fxand _t6367_ '1)))) (declare (not safe)) - (##fxzero? __tmp8539)))) + (##fxzero? __tmp8583)))) (define nonnegative-fixnum? - (lambda (_obj6319_) - (if (fixnum? _obj6319_) - (let ((__tmp8540 (fxnegative? _obj6319_))) + (lambda (_obj6363_) + (if (fixnum? _obj6363_) + (let ((__tmp8584 (fxnegative? _obj6363_))) (declare (not safe)) - (not __tmp8540)) + (not __tmp8584)) '#f))) (define values-count - (lambda (_obj6317_) - (if (let () (declare (not safe)) (##values? _obj6317_)) - (let () (declare (not safe)) (##vector-length _obj6317_)) + (lambda (_obj6361_) + (if (let () (declare (not safe)) (##values? _obj6361_)) + (let () (declare (not safe)) (##vector-length _obj6361_)) '1))) (define values-ref - (lambda (_obj6314_ _k6315_) - (if (let () (declare (not safe)) (##values? _obj6314_)) - (let () (declare (not safe)) (##vector-ref _obj6314_ _k6315_)) - _obj6314_))) + (lambda (_obj6358_ _k6359_) + (if (let () (declare (not safe)) (##values? _obj6358_)) + (let () (declare (not safe)) (##vector-ref _obj6358_ _k6359_)) + _obj6358_))) (define values->list - (lambda (_obj6312_) - (if (let () (declare (not safe)) (##values? _obj6312_)) - (let () (declare (not safe)) (##vector->list _obj6312_)) - (list _obj6312_)))) + (lambda (_obj6356_) + (if (let () (declare (not safe)) (##values? _obj6356_)) + (let () (declare (not safe)) (##vector->list _obj6356_)) + (list _obj6356_)))) (define subvector->list__% - (lambda (_obj6297_ _start6298_) - (let ((_lst6300_ - (let () (declare (not safe)) (##vector->list _obj6297_)))) - (list-tail _lst6300_ _start6298_)))) + (lambda (_obj6341_ _start6342_) + (let ((_lst6344_ + (let () (declare (not safe)) (##vector->list _obj6341_)))) + (list-tail _lst6344_ _start6342_)))) (define subvector->list__0 - (lambda (_obj6305_) - (let ((_start6307_ '0)) + (lambda (_obj6349_) + (let ((_start6351_ '0)) (declare (not safe)) - (subvector->list__% _obj6305_ _start6307_)))) + (subvector->list__% _obj6349_ _start6351_)))) (define subvector->list - (lambda _g8542_ - (let ((_g8541_ (let () (declare (not safe)) (##length _g8542_)))) - (cond ((let () (declare (not safe)) (##fx= _g8541_ 1)) - (apply (lambda (_obj6305_) + (lambda _g8586_ + (let ((_g8585_ (let () (declare (not safe)) (##length _g8586_)))) + (cond ((let () (declare (not safe)) (##fx= _g8585_ 1)) + (apply (lambda (_obj6349_) (let () (declare (not safe)) - (subvector->list__0 _obj6305_))) - _g8542_)) - ((let () (declare (not safe)) (##fx= _g8541_ 2)) - (apply (lambda (_obj6309_ _start6310_) + (subvector->list__0 _obj6349_))) + _g8586_)) + ((let () (declare (not safe)) (##fx= _g8585_ 2)) + (apply (lambda (_obj6353_ _start6354_) (let () (declare (not safe)) - (subvector->list__% _obj6309_ _start6310_))) - _g8542_)) + (subvector->list__% _obj6353_ _start6354_))) + _g8586_)) (else (##raise-wrong-number-of-arguments-exception subvector->list - _g8542_)))))) + _g8586_)))))) (define make-hash-table make-table) (define make-hash-table-eq - (lambda _args6294_ (apply make-table 'test: eq? _args6294_))) + (lambda _args6338_ (apply make-table 'test: eq? _args6338_))) (define make-hash-table-eqv - (lambda _args6292_ (apply make-table 'test: eqv? _args6292_))) + (lambda _args6336_ (apply make-table 'test: eqv? _args6336_))) (define list->hash-table list->table) (define list->hash-table-eq - (lambda (_lst6289_ . _args6290_) - (apply list->table _lst6289_ 'test: eq? _args6290_))) + (lambda (_lst6333_ . _args6334_) + (apply list->table _lst6333_ 'test: eq? _args6334_))) (define list->hash-table-eqv - (lambda (_lst6286_ . _args6287_) - (apply list->table _lst6286_ 'test: eqv? _args6287_))) + (lambda (_lst6330_ . _args6331_) + (apply list->table _lst6330_ 'test: eqv? _args6331_))) (define hash? table?) (define hash-table? table?) (define hash-length table-length) (define hash-ref table-ref) (define hash-get - (lambda (_ht6283_ _k6284_) (table-ref _ht6283_ _k6284_ '#f))) + (lambda (_ht6327_ _k6328_) (table-ref _ht6327_ _k6328_ '#f))) (define hash-put! - (lambda (_ht6279_ _k6280_ _v6281_) - (table-set! _ht6279_ _k6280_ _v6281_))) + (lambda (_ht6323_ _k6324_ _v6325_) + (table-set! _ht6323_ _k6324_ _v6325_))) (define hash-update!__% - (lambda (_ht6258_ _k6259_ _update6260_ _default6261_) - (let* ((_value6263_ + (lambda (_ht6302_ _k6303_ _update6304_ _default6305_) + (let* ((_value6307_ (let () (declare (not safe)) - (table-ref _ht6258_ _k6259_ _default6261_))) - (__tmp8543 (_update6260_ _value6263_))) + (table-ref _ht6302_ _k6303_ _default6305_))) + (__tmp8587 (_update6304_ _value6307_))) (declare (not safe)) - (table-set! _ht6258_ _k6259_ __tmp8543)))) + (table-set! _ht6302_ _k6303_ __tmp8587)))) (define hash-update!__0 - (lambda (_ht6268_ _k6269_ _update6270_) - (let ((_default6272_ '#!void)) + (lambda (_ht6312_ _k6313_ _update6314_) + (let ((_default6316_ '#!void)) (declare (not safe)) - (hash-update!__% _ht6268_ _k6269_ _update6270_ _default6272_)))) + (hash-update!__% _ht6312_ _k6313_ _update6314_ _default6316_)))) (define hash-update! - (lambda _g8545_ - (let ((_g8544_ (let () (declare (not safe)) (##length _g8545_)))) - (cond ((let () (declare (not safe)) (##fx= _g8544_ 3)) - (apply (lambda (_ht6268_ _k6269_ _update6270_) + (lambda _g8589_ + (let ((_g8588_ (let () (declare (not safe)) (##length _g8589_)))) + (cond ((let () (declare (not safe)) (##fx= _g8588_ 3)) + (apply (lambda (_ht6312_ _k6313_ _update6314_) (let () (declare (not safe)) - (hash-update!__0 _ht6268_ _k6269_ _update6270_))) - _g8545_)) - ((let () (declare (not safe)) (##fx= _g8544_ 4)) - (apply (lambda (_ht6274_ _k6275_ _update6276_ _default6277_) + (hash-update!__0 _ht6312_ _k6313_ _update6314_))) + _g8589_)) + ((let () (declare (not safe)) (##fx= _g8588_ 4)) + (apply (lambda (_ht6318_ _k6319_ _update6320_ _default6321_) (let () (declare (not safe)) (hash-update!__% - _ht6274_ - _k6275_ - _update6276_ - _default6277_))) - _g8545_)) + _ht6318_ + _k6319_ + _update6320_ + _default6321_))) + _g8589_)) (else (##raise-wrong-number-of-arguments-exception hash-update! - _g8545_)))))) + _g8589_)))))) (define hash-remove! - (lambda (_ht6254_ _k6255_) (table-set! _ht6254_ _k6255_))) + (lambda (_ht6298_ _k6299_) (table-set! _ht6298_ _k6299_))) (define hash->list table->list) (define hash->plist - (lambda (_ht6252_) - (let () (declare (not safe)) (hash-fold cons* '() _ht6252_)))) + (lambda (_ht6296_) + (let () (declare (not safe)) (hash-fold cons* '() _ht6296_)))) (define plist->hash-table__% - (lambda (_plst6187_ _ht6188_) - (let _lp6190_ ((_rest6192_ _plst6187_)) - (let* ((_rest61936204_ _rest6192_) - (_E61966208_ - (lambda () (error '"No clause matching" _rest61936204_)))) - (let ((_K61986223_ - (lambda (_rest6219_ _v6220_ _k6221_) + (lambda (_plst6231_ _ht6232_) + (let _lp6234_ ((_rest6236_ _plst6231_)) + (let* ((_rest62376248_ _rest6236_) + (_E62406252_ + (lambda () (error '"No clause matching" _rest62376248_)))) + (let ((_K62426267_ + (lambda (_rest6263_ _v6264_ _k6265_) (let () (declare (not safe)) - (table-set! _ht6188_ _k6221_ _v6220_)) - (let () (declare (not safe)) (_lp6190_ _rest6219_)))) - (_K61976213_ (lambda () _ht6188_))) - (let ((_try-match61956216_ + (table-set! _ht6232_ _k6265_ _v6264_)) + (let () (declare (not safe)) (_lp6234_ _rest6263_)))) + (_K62416257_ (lambda () _ht6232_))) + (let ((_try-match62396260_ (lambda () (if (let () (declare (not safe)) - (##eq? _rest61936204_ '())) - (let () (declare (not safe)) (_K61976213_)) - (let () (declare (not safe)) (_E61966208_)))))) - (if (let () (declare (not safe)) (##pair? _rest61936204_)) - (let ((_tl62006228_ + (##eq? _rest62376248_ '())) + (let () (declare (not safe)) (_K62416257_)) + (let () (declare (not safe)) (_E62406252_)))))) + (if (let () (declare (not safe)) (##pair? _rest62376248_)) + (let ((_tl62446272_ (let () (declare (not safe)) - (##cdr _rest61936204_))) - (_hd61996226_ + (##cdr _rest62376248_))) + (_hd62436270_ (let () (declare (not safe)) - (##car _rest61936204_)))) - (if (let () (declare (not safe)) (##pair? _tl62006228_)) - (let ((_tl62026235_ + (##car _rest62376248_)))) + (if (let () (declare (not safe)) (##pair? _tl62446272_)) + (let ((_tl62466279_ (let () (declare (not safe)) - (##cdr _tl62006228_))) - (_hd62016233_ + (##cdr _tl62446272_))) + (_hd62456277_ (let () (declare (not safe)) - (##car _tl62006228_)))) - (let ((_k6231_ _hd61996226_) - (_v6238_ _hd62016233_) - (_rest6240_ _tl62026235_)) + (##car _tl62446272_)))) + (let ((_k6275_ _hd62436270_) + (_v6282_ _hd62456277_) + (_rest6284_ _tl62466279_)) (let () (declare (not safe)) - (_K61986223_ _rest6240_ _v6238_ _k6231_)))) - (let () (declare (not safe)) (_try-match61956216_)))) - (let () (declare (not safe)) (_try-match61956216_))))))))) + (_K62426267_ _rest6284_ _v6282_ _k6275_)))) + (let () (declare (not safe)) (_try-match62396260_)))) + (let () (declare (not safe)) (_try-match62396260_))))))))) (define plist->hash-table__0 - (lambda (_plst6245_) - (let ((_ht6247_ (let () (declare (not safe)) (make-table)))) + (lambda (_plst6289_) + (let ((_ht6291_ (let () (declare (not safe)) (make-table)))) (declare (not safe)) - (plist->hash-table__% _plst6245_ _ht6247_)))) + (plist->hash-table__% _plst6289_ _ht6291_)))) (define plist->hash-table - (lambda _g8547_ - (let ((_g8546_ (let () (declare (not safe)) (##length _g8547_)))) - (cond ((let () (declare (not safe)) (##fx= _g8546_ 1)) - (apply (lambda (_plst6245_) + (lambda _g8591_ + (let ((_g8590_ (let () (declare (not safe)) (##length _g8591_)))) + (cond ((let () (declare (not safe)) (##fx= _g8590_ 1)) + (apply (lambda (_plst6289_) (let () (declare (not safe)) - (plist->hash-table__0 _plst6245_))) - _g8547_)) - ((let () (declare (not safe)) (##fx= _g8546_ 2)) - (apply (lambda (_plst6249_ _ht6250_) + (plist->hash-table__0 _plst6289_))) + _g8591_)) + ((let () (declare (not safe)) (##fx= _g8590_ 2)) + (apply (lambda (_plst6293_ _ht6294_) (let () (declare (not safe)) - (plist->hash-table__% _plst6249_ _ht6250_))) - _g8547_)) + (plist->hash-table__% _plst6293_ _ht6294_))) + _g8591_)) (else (##raise-wrong-number-of-arguments-exception plist->hash-table - _g8547_)))))) + _g8591_)))))) (define plist->hash-table-eq - (lambda (_plst6184_) - (let ((__tmp8548 + (lambda (_plst6228_) + (let ((__tmp8592 (let () (declare (not safe)) (make-table 'test: eq?)))) (declare (not safe)) - (plist->hash-table _plst6184_ __tmp8548)))) + (plist->hash-table _plst6228_ __tmp8592)))) (define plist->hash-table-eqv - (lambda (_plst6182_) - (let ((__tmp8549 + (lambda (_plst6226_) + (let ((__tmp8593 (let () (declare (not safe)) (make-table 'test: eqv?)))) (declare (not safe)) - (plist->hash-table _plst6182_ __tmp8549)))) + (plist->hash-table _plst6226_ __tmp8593)))) (define hash-key? - (lambda (_ht6179_ _k6180_) - (let ((__tmp8550 - (let ((__tmp8551 + (lambda (_ht6223_ _k6224_) + (let ((__tmp8594 + (let ((__tmp8595 (let () (declare (not safe)) - (table-ref _ht6179_ _k6180_ absent-value)))) + (table-ref _ht6223_ _k6224_ absent-value)))) (declare (not safe)) - (eq? __tmp8551 absent-value)))) + (eq? __tmp8595 absent-value)))) (declare (not safe)) - (not __tmp8550)))) + (not __tmp8594)))) (define hash-for-each table-for-each) (define hash-map - (lambda (_fun6172_ _ht6173_) - (let ((__tmp8552 - (lambda (_k6175_ _v6176_ _r6177_) - (let ((__tmp8553 (_fun6172_ _k6175_ _v6176_))) + (lambda (_fun6216_ _ht6217_) + (let ((__tmp8596 + (lambda (_k6219_ _v6220_ _r6221_) + (let ((__tmp8597 (_fun6216_ _k6219_ _v6220_))) (declare (not safe)) - (cons __tmp8553 _r6177_))))) + (cons __tmp8597 _r6221_))))) (declare (not safe)) - (hash-fold __tmp8552 '() _ht6173_)))) + (hash-fold __tmp8596 '() _ht6217_)))) (define hash-fold - (lambda (_fun6163_ _iv6164_ _ht6165_) - (let ((_ret6167_ _iv6164_)) - (let ((__tmp8554 - (lambda (_k6169_ _v6170_) - (set! _ret6167_ (_fun6163_ _k6169_ _v6170_ _ret6167_))))) + (lambda (_fun6207_ _iv6208_ _ht6209_) + (let ((_ret6211_ _iv6208_)) + (let ((__tmp8598 + (lambda (_k6213_ _v6214_) + (set! _ret6211_ (_fun6207_ _k6213_ _v6214_ _ret6211_))))) (declare (not safe)) - (table-for-each __tmp8554 _ht6165_)) - _ret6167_))) + (table-for-each __tmp8598 _ht6209_)) + _ret6211_))) (define hash-find table-search) (define hash-keys - (lambda (_ht6158_) - (let ((__tmp8555 (lambda (_k6160_ _v6161_) _k6160_))) + (lambda (_ht6202_) + (let ((__tmp8599 (lambda (_k6204_ _v6205_) _k6204_))) (declare (not safe)) - (hash-map __tmp8555 _ht6158_)))) + (hash-map __tmp8599 _ht6202_)))) (define hash-values - (lambda (_ht6153_) - (let ((__tmp8556 (lambda (_k6155_ _v6156_) _v6156_))) + (lambda (_ht6197_) + (let ((__tmp8600 (lambda (_k6199_ _v6200_) _v6200_))) (declare (not safe)) - (hash-map __tmp8556 _ht6153_)))) + (hash-map __tmp8600 _ht6197_)))) (define hash-copy - (lambda (_hd6148_ . _rest6149_) - (let ((_hd6151_ (table-copy _hd6148_))) - (if (let () (declare (not safe)) (null? _rest6149_)) - _hd6151_ - (apply hash-copy! _hd6151_ _rest6149_))))) + (lambda (_hd6192_ . _rest6193_) + (let ((_hd6195_ (table-copy _hd6192_))) + (if (let () (declare (not safe)) (null? _rest6193_)) + _hd6195_ + (apply hash-copy! _hd6195_ _rest6193_))))) (define hash-copy! - (lambda (_hd6143_ . _rest6144_) + (lambda (_hd6187_ . _rest6188_) (for-each - (lambda (_r6146_) (table-merge! _hd6143_ _r6146_)) - _rest6144_) - _hd6143_)) + (lambda (_r6190_) (table-merge! _hd6187_ _r6190_)) + _rest6188_) + _hd6187_)) (define hash-merge - (lambda (_hd6137_ . _rest6138_) - (let ((__tmp8557 - (lambda (_tab6140_ _r6141_) (table-merge _r6141_ _tab6140_)))) + (lambda (_hd6181_ . _rest6182_) + (let ((__tmp8601 + (lambda (_tab6184_ _r6185_) (table-merge _r6185_ _tab6184_)))) (declare (not safe)) - (foldl1 __tmp8557 _hd6137_ _rest6138_)))) + (foldl1 __tmp8601 _hd6181_ _rest6182_)))) (define hash-merge! - (lambda (_hd6131_ . _rest6132_) - (let ((__tmp8558 - (lambda (_tab6134_ _r6135_) (table-merge! _r6135_ _tab6134_)))) + (lambda (_hd6175_ . _rest6176_) + (let ((__tmp8602 + (lambda (_tab6178_ _r6179_) (table-merge! _r6179_ _tab6178_)))) (declare (not safe)) - (foldl1 __tmp8558 _hd6131_ _rest6132_)))) + (foldl1 __tmp8602 _hd6175_ _rest6176_)))) (define hash-clear!__% - (lambda (_ht6116_ _size6117_) - (let ((_gcht6119_ - (let () (declare (not safe)) (##vector-ref _ht6116_ '5)))) - (if (let ((__tmp8559 (fixnum? _gcht6119_))) + (lambda (_ht6160_ _size6161_) + (let ((_gcht6163_ + (let () (declare (not safe)) (##vector-ref _ht6160_ '5)))) + (if (let ((__tmp8603 (fixnum? _gcht6163_))) (declare (not safe)) - (not __tmp8559)) + (not __tmp8603)) (let () (declare (not safe)) - (##vector-set! _ht6116_ '5 _size6117_)) + (##vector-set! _ht6160_ '5 _size6161_)) '#!void)))) (define hash-clear!__0 - (lambda (_ht6124_) - (let ((_size6126_ '0)) + (lambda (_ht6168_) + (let ((_size6170_ '0)) (declare (not safe)) - (hash-clear!__% _ht6124_ _size6126_)))) + (hash-clear!__% _ht6168_ _size6170_)))) (define hash-clear! - (lambda _g8561_ - (let ((_g8560_ (let () (declare (not safe)) (##length _g8561_)))) - (cond ((let () (declare (not safe)) (##fx= _g8560_ 1)) - (apply (lambda (_ht6124_) + (lambda _g8605_ + (let ((_g8604_ (let () (declare (not safe)) (##length _g8605_)))) + (cond ((let () (declare (not safe)) (##fx= _g8604_ 1)) + (apply (lambda (_ht6168_) (let () (declare (not safe)) - (hash-clear!__0 _ht6124_))) - _g8561_)) - ((let () (declare (not safe)) (##fx= _g8560_ 2)) - (apply (lambda (_ht6128_ _size6129_) + (hash-clear!__0 _ht6168_))) + _g8605_)) + ((let () (declare (not safe)) (##fx= _g8604_ 2)) + (apply (lambda (_ht6172_ _size6173_) (let () (declare (not safe)) - (hash-clear!__% _ht6128_ _size6129_))) - _g8561_)) + (hash-clear!__% _ht6172_ _size6173_))) + _g8605_)) (else (##raise-wrong-number-of-arguments-exception hash-clear! - _g8561_)))))) + _g8605_)))))) (define make-list__% - (lambda (_k6097_ _val6098_) - (if (fixnum? _k6097_) + (lambda (_k6141_ _val6142_) + (if (fixnum? _k6141_) '#!void - (error '"expected argument 1 to be fixnum" _k6097_)) - (let _lp6100_ ((_n6102_ '0) (_r6103_ '())) - (if (let () (declare (not safe)) (##fx< _n6102_ _k6097_)) - (let ((__tmp8563 - (let () (declare (not safe)) (##fx+ _n6102_ '1))) - (__tmp8562 - (let () (declare (not safe)) (cons _val6098_ _r6103_)))) + (error '"expected argument 1 to be fixnum" _k6141_)) + (let _lp6144_ ((_n6146_ '0) (_r6147_ '())) + (if (let () (declare (not safe)) (##fx< _n6146_ _k6141_)) + (let ((__tmp8607 + (let () (declare (not safe)) (##fx+ _n6146_ '1))) + (__tmp8606 + (let () (declare (not safe)) (cons _val6142_ _r6147_)))) (declare (not safe)) - (_lp6100_ __tmp8563 __tmp8562)) - _r6103_)))) + (_lp6144_ __tmp8607 __tmp8606)) + _r6147_)))) (define make-list__0 - (lambda (_k6108_) - (let ((_val6110_ '#f)) + (lambda (_k6152_) + (let ((_val6154_ '#f)) (declare (not safe)) - (make-list__% _k6108_ _val6110_)))) + (make-list__% _k6152_ _val6154_)))) (define make-list - (lambda _g8565_ - (let ((_g8564_ (let () (declare (not safe)) (##length _g8565_)))) - (cond ((let () (declare (not safe)) (##fx= _g8564_ 1)) - (apply (lambda (_k6108_) - (let () (declare (not safe)) (make-list__0 _k6108_))) - _g8565_)) - ((let () (declare (not safe)) (##fx= _g8564_ 2)) - (apply (lambda (_k6112_ _val6113_) + (lambda _g8609_ + (let ((_g8608_ (let () (declare (not safe)) (##length _g8609_)))) + (cond ((let () (declare (not safe)) (##fx= _g8608_ 1)) + (apply (lambda (_k6152_) + (let () (declare (not safe)) (make-list__0 _k6152_))) + _g8609_)) + ((let () (declare (not safe)) (##fx= _g8608_ 2)) + (apply (lambda (_k6156_ _val6157_) (let () (declare (not safe)) - (make-list__% _k6112_ _val6113_))) - _g8565_)) + (make-list__% _k6156_ _val6157_))) + _g8609_)) (else (##raise-wrong-number-of-arguments-exception make-list - _g8565_)))))) + _g8609_)))))) (define cons* - (lambda (_x6087_ _y6088_ . _rest6089_) - (letrec ((_recur6091_ - (lambda (_x6093_ _rest6094_) - (if (let () (declare (not safe)) (pair? _rest6094_)) - (let ((__tmp8566 - (let ((__tmp8568 + (lambda (_x6131_ _y6132_ . _rest6133_) + (letrec ((_recur6135_ + (lambda (_x6137_ _rest6138_) + (if (let () (declare (not safe)) (pair? _rest6138_)) + (let ((__tmp8610 + (let ((__tmp8612 (let () (declare (not safe)) - (##car _rest6094_))) - (__tmp8567 + (##car _rest6138_))) + (__tmp8611 (let () (declare (not safe)) - (##cdr _rest6094_)))) + (##cdr _rest6138_)))) (declare (not safe)) - (_recur6091_ __tmp8568 __tmp8567)))) + (_recur6135_ __tmp8612 __tmp8611)))) (declare (not safe)) - (cons _x6093_ __tmp8566)) - _x6093_)))) - (let ((__tmp8569 + (cons _x6137_ __tmp8610)) + _x6137_)))) + (let ((__tmp8613 (let () (declare (not safe)) - (_recur6091_ _y6088_ _rest6089_)))) + (_recur6135_ _y6132_ _rest6133_)))) (declare (not safe)) - (cons _x6087_ __tmp8569))))) + (cons _x6131_ __tmp8613))))) (define foldl1 - (lambda (_f6045_ _iv6046_ _lst6047_) - (let _lp6049_ ((_rest6051_ _lst6047_) (_r6052_ _iv6046_)) - (let* ((_rest60536061_ _rest6051_) - (_else60556069_ (lambda () _r6052_)) - (_K60576075_ - (lambda (_rest6072_ _x6073_) - (let ((__tmp8570 (_f6045_ _x6073_ _r6052_))) + (lambda (_f6089_ _iv6090_ _lst6091_) + (let _lp6093_ ((_rest6095_ _lst6091_) (_r6096_ _iv6090_)) + (let* ((_rest60976105_ _rest6095_) + (_else60996113_ (lambda () _r6096_)) + (_K61016119_ + (lambda (_rest6116_ _x6117_) + (let ((__tmp8614 (_f6089_ _x6117_ _r6096_))) (declare (not safe)) - (_lp6049_ _rest6072_ __tmp8570))))) - (if (let () (declare (not safe)) (##pair? _rest60536061_)) - (let ((_hd60586078_ - (let () (declare (not safe)) (##car _rest60536061_))) - (_tl60596080_ - (let () (declare (not safe)) (##cdr _rest60536061_)))) - (let* ((_x6083_ _hd60586078_) (_rest6085_ _tl60596080_)) + (_lp6093_ _rest6116_ __tmp8614))))) + (if (let () (declare (not safe)) (##pair? _rest60976105_)) + (let ((_hd61026122_ + (let () (declare (not safe)) (##car _rest60976105_))) + (_tl61036124_ + (let () (declare (not safe)) (##cdr _rest60976105_)))) + (let* ((_x6127_ _hd61026122_) (_rest6129_ _tl61036124_)) (declare (not safe)) - (_K60576075_ _rest6085_ _x6083_))) - (let () (declare (not safe)) (_else60556069_))))))) + (_K61016119_ _rest6129_ _x6127_))) + (let () (declare (not safe)) (_else60996113_))))))) (define foldl2 - (lambda (_f5968_ _iv5969_ _lst15970_ _lst25971_) - (let _lp5973_ ((_rest15975_ _lst15970_) - (_rest25976_ _lst25971_) - (_r5977_ _iv5969_)) - (let* ((_rest159785986_ _rest15975_) - (_else59805994_ (lambda () _r5977_)) - (_K59826033_ - (lambda (_rest15997_ _x15998_) - (let* ((_rest259996007_ _rest25976_) - (_else60016015_ (lambda () _r5977_)) - (_K60036021_ - (lambda (_rest26018_ _x26019_) - (let ((__tmp8571 - (_f5968_ _x15998_ _x26019_ _r5977_))) + (lambda (_f6012_ _iv6013_ _lst16014_ _lst26015_) + (let _lp6017_ ((_rest16019_ _lst16014_) + (_rest26020_ _lst26015_) + (_r6021_ _iv6013_)) + (let* ((_rest160226030_ _rest16019_) + (_else60246038_ (lambda () _r6021_)) + (_K60266077_ + (lambda (_rest16041_ _x16042_) + (let* ((_rest260436051_ _rest26020_) + (_else60456059_ (lambda () _r6021_)) + (_K60476065_ + (lambda (_rest26062_ _x26063_) + (let ((__tmp8615 + (_f6012_ _x16042_ _x26063_ _r6021_))) (declare (not safe)) - (_lp5973_ - _rest15997_ - _rest26018_ - __tmp8571))))) + (_lp6017_ + _rest16041_ + _rest26062_ + __tmp8615))))) (if (let () (declare (not safe)) - (##pair? _rest259996007_)) - (let ((_hd60046024_ + (##pair? _rest260436051_)) + (let ((_hd60486068_ (let () (declare (not safe)) - (##car _rest259996007_))) - (_tl60056026_ + (##car _rest260436051_))) + (_tl60496070_ (let () (declare (not safe)) - (##cdr _rest259996007_)))) - (let* ((_x26029_ _hd60046024_) - (_rest26031_ _tl60056026_)) + (##cdr _rest260436051_)))) + (let* ((_x26073_ _hd60486068_) + (_rest26075_ _tl60496070_)) (declare (not safe)) - (_K60036021_ _rest26031_ _x26029_))) - (let () (declare (not safe)) (_else60016015_))))))) - (if (let () (declare (not safe)) (##pair? _rest159785986_)) - (let ((_hd59836036_ - (let () (declare (not safe)) (##car _rest159785986_))) - (_tl59846038_ - (let () (declare (not safe)) (##cdr _rest159785986_)))) - (let* ((_x16041_ _hd59836036_) (_rest16043_ _tl59846038_)) + (_K60476065_ _rest26075_ _x26073_))) + (let () (declare (not safe)) (_else60456059_))))))) + (if (let () (declare (not safe)) (##pair? _rest160226030_)) + (let ((_hd60276080_ + (let () (declare (not safe)) (##car _rest160226030_))) + (_tl60286082_ + (let () (declare (not safe)) (##cdr _rest160226030_)))) + (let* ((_x16085_ _hd60276080_) (_rest16087_ _tl60286082_)) (declare (not safe)) - (_K59826033_ _rest16043_ _x16041_))) - (let () (declare (not safe)) (_else59805994_))))))) + (_K60266077_ _rest16087_ _x16085_))) + (let () (declare (not safe)) (_else60246038_))))))) (define foldl - (lambda _g8573_ - (let ((_g8572_ (let () (declare (not safe)) (##length _g8573_)))) - (cond ((let () (declare (not safe)) (##fx= _g8572_ 3)) - (apply (lambda (_f5953_ _iv5954_ _lst5955_) + (lambda _g8617_ + (let ((_g8616_ (let () (declare (not safe)) (##length _g8617_)))) + (cond ((let () (declare (not safe)) (##fx= _g8616_ 3)) + (apply (lambda (_f5997_ _iv5998_ _lst5999_) (let () (declare (not safe)) - (foldl1 _f5953_ _iv5954_ _lst5955_))) - _g8573_)) - ((let () (declare (not safe)) (##fx= _g8572_ 4)) - (apply (lambda (_f5957_ _iv5958_ _lst15959_ _lst25960_) + (foldl1 _f5997_ _iv5998_ _lst5999_))) + _g8617_)) + ((let () (declare (not safe)) (##fx= _g8616_ 4)) + (apply (lambda (_f6001_ _iv6002_ _lst16003_ _lst26004_) (let () (declare (not safe)) - (foldl2 _f5957_ _iv5958_ _lst15959_ _lst25960_))) - _g8573_)) - ((let () (declare (not safe)) (##fx>= _g8572_ 4)) - (apply foldl* _g8573_)) + (foldl2 _f6001_ _iv6002_ _lst16003_ _lst26004_))) + _g8617_)) + ((let () (declare (not safe)) (##fx>= _g8616_ 4)) + (apply foldl* _g8617_)) (else (##raise-wrong-number-of-arguments-exception foldl - _g8573_)))))) + _g8617_)))))) (define foldl* - (lambda (_f5941_ _iv5942_ . _rest5943_) - (let _recur5945_ ((_iv5947_ _iv5942_) (_rest5948_ _rest5943_)) - (if (let () (declare (not safe)) (andmap1 pair? _rest5948_)) - (let ((__tmp8575 - (apply _f5941_ - (let ((__tmp8577 - (lambda (_xs5950_ _r5951_) - (let ((__tmp8578 (car _xs5950_))) + (lambda (_f5985_ _iv5986_ . _rest5987_) + (let _recur5989_ ((_iv5991_ _iv5986_) (_rest5992_ _rest5987_)) + (if (let () (declare (not safe)) (andmap1 pair? _rest5992_)) + (let ((__tmp8619 + (apply _f5985_ + (let ((__tmp8621 + (lambda (_xs5994_ _r5995_) + (let ((__tmp8622 (car _xs5994_))) (declare (not safe)) - (cons __tmp8578 _r5951_)))) - (__tmp8576 (list _iv5947_))) + (cons __tmp8622 _r5995_)))) + (__tmp8620 (list _iv5991_))) (declare (not safe)) - (foldr1 __tmp8577 __tmp8576 _rest5948_)))) - (__tmp8574 (map cdr _rest5948_))) + (foldr1 __tmp8621 __tmp8620 _rest5992_)))) + (__tmp8618 (map cdr _rest5992_))) (declare (not safe)) - (_recur5945_ __tmp8575 __tmp8574)) - _iv5947_)))) + (_recur5989_ __tmp8619 __tmp8618)) + _iv5991_)))) (define foldr1 - (lambda (_f5900_ _iv5901_ _lst5902_) - (let _recur5904_ ((_rest5906_ _lst5902_)) - (let* ((_rest59075915_ _rest5906_) - (_else59095923_ (lambda () _iv5901_)) - (_K59115929_ - (lambda (_rest5926_ _x5927_) - (_f5900_ _x5927_ + (lambda (_f5944_ _iv5945_ _lst5946_) + (let _recur5948_ ((_rest5950_ _lst5946_)) + (let* ((_rest59515959_ _rest5950_) + (_else59535967_ (lambda () _iv5945_)) + (_K59555973_ + (lambda (_rest5970_ _x5971_) + (_f5944_ _x5971_ (let () (declare (not safe)) - (_recur5904_ _rest5926_)))))) - (if (let () (declare (not safe)) (##pair? _rest59075915_)) - (let ((_hd59125932_ - (let () (declare (not safe)) (##car _rest59075915_))) - (_tl59135934_ - (let () (declare (not safe)) (##cdr _rest59075915_)))) - (let* ((_x5937_ _hd59125932_) (_rest5939_ _tl59135934_)) + (_recur5948_ _rest5970_)))))) + (if (let () (declare (not safe)) (##pair? _rest59515959_)) + (let ((_hd59565976_ + (let () (declare (not safe)) (##car _rest59515959_))) + (_tl59575978_ + (let () (declare (not safe)) (##cdr _rest59515959_)))) + (let* ((_x5981_ _hd59565976_) (_rest5983_ _tl59575978_)) (declare (not safe)) - (_K59115929_ _rest5939_ _x5937_))) - (let () (declare (not safe)) (_else59095923_))))))) + (_K59555973_ _rest5983_ _x5981_))) + (let () (declare (not safe)) (_else59535967_))))))) (define foldr2 - (lambda (_f5824_ _iv5825_ _lst15826_ _lst25827_) - (let _recur5829_ ((_rest15831_ _lst15826_) (_rest25832_ _lst25827_)) - (let* ((_rest158335841_ _rest15831_) - (_else58355849_ (lambda () _iv5825_)) - (_K58375888_ - (lambda (_rest15852_ _x15853_) - (let* ((_rest258545862_ _rest25832_) - (_else58565870_ (lambda () _iv5825_)) - (_K58585876_ - (lambda (_rest25873_ _x25874_) - (_f5824_ _x15853_ - _x25874_ + (lambda (_f5868_ _iv5869_ _lst15870_ _lst25871_) + (let _recur5873_ ((_rest15875_ _lst15870_) (_rest25876_ _lst25871_)) + (let* ((_rest158775885_ _rest15875_) + (_else58795893_ (lambda () _iv5869_)) + (_K58815932_ + (lambda (_rest15896_ _x15897_) + (let* ((_rest258985906_ _rest25876_) + (_else59005914_ (lambda () _iv5869_)) + (_K59025920_ + (lambda (_rest25917_ _x25918_) + (_f5868_ _x15897_ + _x25918_ (let () (declare (not safe)) - (_recur5829_ - _rest15852_ - _rest25873_)))))) + (_recur5873_ + _rest15896_ + _rest25917_)))))) (if (let () (declare (not safe)) - (##pair? _rest258545862_)) - (let ((_hd58595879_ + (##pair? _rest258985906_)) + (let ((_hd59035923_ (let () (declare (not safe)) - (##car _rest258545862_))) - (_tl58605881_ + (##car _rest258985906_))) + (_tl59045925_ (let () (declare (not safe)) - (##cdr _rest258545862_)))) - (let* ((_x25884_ _hd58595879_) - (_rest25886_ _tl58605881_)) + (##cdr _rest258985906_)))) + (let* ((_x25928_ _hd59035923_) + (_rest25930_ _tl59045925_)) (declare (not safe)) - (_K58585876_ _rest25886_ _x25884_))) - (let () (declare (not safe)) (_else58565870_))))))) - (if (let () (declare (not safe)) (##pair? _rest158335841_)) - (let ((_hd58385891_ - (let () (declare (not safe)) (##car _rest158335841_))) - (_tl58395893_ - (let () (declare (not safe)) (##cdr _rest158335841_)))) - (let* ((_x15896_ _hd58385891_) (_rest15898_ _tl58395893_)) + (_K59025920_ _rest25930_ _x25928_))) + (let () (declare (not safe)) (_else59005914_))))))) + (if (let () (declare (not safe)) (##pair? _rest158775885_)) + (let ((_hd58825935_ + (let () (declare (not safe)) (##car _rest158775885_))) + (_tl58835937_ + (let () (declare (not safe)) (##cdr _rest158775885_)))) + (let* ((_x15940_ _hd58825935_) (_rest15942_ _tl58835937_)) (declare (not safe)) - (_K58375888_ _rest15898_ _x15896_))) - (let () (declare (not safe)) (_else58355849_))))))) + (_K58815932_ _rest15942_ _x15940_))) + (let () (declare (not safe)) (_else58795893_))))))) (define foldr - (lambda _g8580_ - (let ((_g8579_ (let () (declare (not safe)) (##length _g8580_)))) - (cond ((let () (declare (not safe)) (##fx= _g8579_ 3)) - (apply (lambda (_f5809_ _iv5810_ _lst5811_) + (lambda _g8624_ + (let ((_g8623_ (let () (declare (not safe)) (##length _g8624_)))) + (cond ((let () (declare (not safe)) (##fx= _g8623_ 3)) + (apply (lambda (_f5853_ _iv5854_ _lst5855_) (let () (declare (not safe)) - (foldr1 _f5809_ _iv5810_ _lst5811_))) - _g8580_)) - ((let () (declare (not safe)) (##fx= _g8579_ 4)) - (apply (lambda (_f5813_ _iv5814_ _lst15815_ _lst25816_) + (foldr1 _f5853_ _iv5854_ _lst5855_))) + _g8624_)) + ((let () (declare (not safe)) (##fx= _g8623_ 4)) + (apply (lambda (_f5857_ _iv5858_ _lst15859_ _lst25860_) (let () (declare (not safe)) - (foldr2 _f5813_ _iv5814_ _lst15815_ _lst25816_))) - _g8580_)) - ((let () (declare (not safe)) (##fx>= _g8579_ 4)) - (apply foldr* _g8580_)) + (foldr2 _f5857_ _iv5858_ _lst15859_ _lst25860_))) + _g8624_)) + ((let () (declare (not safe)) (##fx>= _g8623_ 4)) + (apply foldr* _g8624_)) (else (##raise-wrong-number-of-arguments-exception foldr - _g8580_)))))) + _g8624_)))))) (define foldr* - (lambda (_f5798_ _iv5799_ . _rest5800_) - (let _recur5802_ ((_rest5804_ _rest5800_)) - (if (let () (declare (not safe)) (andmap1 pair? _rest5804_)) - (apply _f5798_ - (let ((__tmp8583 - (lambda (_xs5806_ _r5807_) - (let ((__tmp8584 (car _xs5806_))) + (lambda (_f5842_ _iv5843_ . _rest5844_) + (let _recur5846_ ((_rest5848_ _rest5844_)) + (if (let () (declare (not safe)) (andmap1 pair? _rest5848_)) + (apply _f5842_ + (let ((__tmp8627 + (lambda (_xs5850_ _r5851_) + (let ((__tmp8628 (car _xs5850_))) (declare (not safe)) - (cons __tmp8584 _r5807_)))) - (__tmp8581 - (list (let ((__tmp8582 (map cdr _rest5804_))) + (cons __tmp8628 _r5851_)))) + (__tmp8625 + (list (let ((__tmp8626 (map cdr _rest5848_))) (declare (not safe)) - (_recur5802_ __tmp8582))))) + (_recur5846_ __tmp8626))))) (declare (not safe)) - (foldr1 __tmp8583 __tmp8581 _rest5804_))) - _iv5799_)))) + (foldr1 __tmp8627 __tmp8625 _rest5848_))) + _iv5843_)))) (define andmap1 - (lambda (_f5758_ _lst5759_) - (let _lp5761_ ((_rest5763_ _lst5759_)) - (let* ((_rest57645772_ _rest5763_) - (_else57665780_ (lambda () '#t)) - (_K57685786_ - (lambda (_rest5783_ _x5784_) - (if (_f5758_ _x5784_) - (let () (declare (not safe)) (_lp5761_ _rest5783_)) + (lambda (_f5802_ _lst5803_) + (let _lp5805_ ((_rest5807_ _lst5803_)) + (let* ((_rest58085816_ _rest5807_) + (_else58105824_ (lambda () '#t)) + (_K58125830_ + (lambda (_rest5827_ _x5828_) + (if (_f5802_ _x5828_) + (let () (declare (not safe)) (_lp5805_ _rest5827_)) '#f)))) - (if (let () (declare (not safe)) (##pair? _rest57645772_)) - (let ((_hd57695789_ - (let () (declare (not safe)) (##car _rest57645772_))) - (_tl57705791_ - (let () (declare (not safe)) (##cdr _rest57645772_)))) - (let* ((_x5794_ _hd57695789_) (_rest5796_ _tl57705791_)) + (if (let () (declare (not safe)) (##pair? _rest58085816_)) + (let ((_hd58135833_ + (let () (declare (not safe)) (##car _rest58085816_))) + (_tl58145835_ + (let () (declare (not safe)) (##cdr _rest58085816_)))) + (let* ((_x5838_ _hd58135833_) (_rest5840_ _tl58145835_)) (declare (not safe)) - (_K57685786_ _rest5796_ _x5794_))) - (let () (declare (not safe)) (_else57665780_))))))) + (_K58125830_ _rest5840_ _x5838_))) + (let () (declare (not safe)) (_else58105824_))))))) (define andmap2 - (lambda (_f5683_ _lst15684_ _lst25685_) - (let _lp5687_ ((_rest15689_ _lst15684_) (_rest25690_ _lst25685_)) - (let* ((_rest156915699_ _rest15689_) - (_else56935707_ (lambda () '#t)) - (_K56955746_ - (lambda (_rest15710_ _x15711_) - (let* ((_rest257125720_ _rest25690_) - (_else57145728_ (lambda () '#t)) - (_K57165734_ - (lambda (_rest25731_ _x25732_) - (if (_f5683_ _x15711_ _x25732_) + (lambda (_f5727_ _lst15728_ _lst25729_) + (let _lp5731_ ((_rest15733_ _lst15728_) (_rest25734_ _lst25729_)) + (let* ((_rest157355743_ _rest15733_) + (_else57375751_ (lambda () '#t)) + (_K57395790_ + (lambda (_rest15754_ _x15755_) + (let* ((_rest257565764_ _rest25734_) + (_else57585772_ (lambda () '#t)) + (_K57605778_ + (lambda (_rest25775_ _x25776_) + (if (_f5727_ _x15755_ _x25776_) (let () (declare (not safe)) - (_lp5687_ _rest15710_ _rest25731_)) + (_lp5731_ _rest15754_ _rest25775_)) '#f)))) (if (let () (declare (not safe)) - (##pair? _rest257125720_)) - (let ((_hd57175737_ + (##pair? _rest257565764_)) + (let ((_hd57615781_ (let () (declare (not safe)) - (##car _rest257125720_))) - (_tl57185739_ + (##car _rest257565764_))) + (_tl57625783_ (let () (declare (not safe)) - (##cdr _rest257125720_)))) - (let* ((_x25742_ _hd57175737_) - (_rest25744_ _tl57185739_)) + (##cdr _rest257565764_)))) + (let* ((_x25786_ _hd57615781_) + (_rest25788_ _tl57625783_)) (declare (not safe)) - (_K57165734_ _rest25744_ _x25742_))) - (let () (declare (not safe)) (_else57145728_))))))) - (if (let () (declare (not safe)) (##pair? _rest156915699_)) - (let ((_hd56965749_ - (let () (declare (not safe)) (##car _rest156915699_))) - (_tl56975751_ - (let () (declare (not safe)) (##cdr _rest156915699_)))) - (let* ((_x15754_ _hd56965749_) (_rest15756_ _tl56975751_)) + (_K57605778_ _rest25788_ _x25786_))) + (let () (declare (not safe)) (_else57585772_))))))) + (if (let () (declare (not safe)) (##pair? _rest157355743_)) + (let ((_hd57405793_ + (let () (declare (not safe)) (##car _rest157355743_))) + (_tl57415795_ + (let () (declare (not safe)) (##cdr _rest157355743_)))) + (let* ((_x15798_ _hd57405793_) (_rest15800_ _tl57415795_)) (declare (not safe)) - (_K56955746_ _rest15756_ _x15754_))) - (let () (declare (not safe)) (_else56935707_))))))) + (_K57395790_ _rest15800_ _x15798_))) + (let () (declare (not safe)) (_else57375751_))))))) (define andmap - (lambda _g8586_ - (let ((_g8585_ (let () (declare (not safe)) (##length _g8586_)))) - (cond ((let () (declare (not safe)) (##fx= _g8585_ 2)) - (apply (lambda (_f5671_ _lst5672_) + (lambda _g8630_ + (let ((_g8629_ (let () (declare (not safe)) (##length _g8630_)))) + (cond ((let () (declare (not safe)) (##fx= _g8629_ 2)) + (apply (lambda (_f5715_ _lst5716_) (let () (declare (not safe)) - (andmap1 _f5671_ _lst5672_))) - _g8586_)) - ((let () (declare (not safe)) (##fx= _g8585_ 3)) - (apply (lambda (_f5674_ _lst15675_ _lst25676_) + (andmap1 _f5715_ _lst5716_))) + _g8630_)) + ((let () (declare (not safe)) (##fx= _g8629_ 3)) + (apply (lambda (_f5718_ _lst15719_ _lst25720_) (let () (declare (not safe)) - (andmap2 _f5674_ _lst15675_ _lst25676_))) - _g8586_)) - ((let () (declare (not safe)) (##fx>= _g8585_ 3)) - (apply andmap* _g8586_)) + (andmap2 _f5718_ _lst15719_ _lst25720_))) + _g8630_)) + ((let () (declare (not safe)) (##fx>= _g8629_ 3)) + (apply andmap* _g8630_)) (else (##raise-wrong-number-of-arguments-exception andmap - _g8586_)))))) + _g8630_)))))) (define andmap* - (lambda (_f5664_ . _rest5665_) - (let _recur5667_ ((_rest5669_ _rest5665_)) - (if (let () (declare (not safe)) (andmap1 pair? _rest5669_)) - (if (apply _f5664_ (map car _rest5669_)) - (let ((__tmp8587 (map cdr _rest5669_))) + (lambda (_f5708_ . _rest5709_) + (let _recur5711_ ((_rest5713_ _rest5709_)) + (if (let () (declare (not safe)) (andmap1 pair? _rest5713_)) + (if (apply _f5708_ (map car _rest5713_)) + (let ((__tmp8631 (map cdr _rest5713_))) (declare (not safe)) - (_recur5667_ __tmp8587)) + (_recur5711_ __tmp8631)) '#f) '#t)))) (define ormap1 - (lambda (_f5621_ _lst5622_) - (let _lp5624_ ((_rest5626_ _lst5622_)) - (let* ((_rest56275635_ _rest5626_) - (_else56295643_ (lambda () '#f)) - (_K56315652_ - (lambda (_rest5646_ _x5647_) - (let ((_$e5649_ (_f5621_ _x5647_))) - (if _$e5649_ - _$e5649_ + (lambda (_f5665_ _lst5666_) + (let _lp5668_ ((_rest5670_ _lst5666_)) + (let* ((_rest56715679_ _rest5670_) + (_else56735687_ (lambda () '#f)) + (_K56755696_ + (lambda (_rest5690_ _x5691_) + (let ((_$e5693_ (_f5665_ _x5691_))) + (if _$e5693_ + _$e5693_ (let () (declare (not safe)) - (_lp5624_ _rest5646_))))))) - (if (let () (declare (not safe)) (##pair? _rest56275635_)) - (let ((_hd56325655_ - (let () (declare (not safe)) (##car _rest56275635_))) - (_tl56335657_ - (let () (declare (not safe)) (##cdr _rest56275635_)))) - (let* ((_x5660_ _hd56325655_) (_rest5662_ _tl56335657_)) + (_lp5668_ _rest5690_))))))) + (if (let () (declare (not safe)) (##pair? _rest56715679_)) + (let ((_hd56765699_ + (let () (declare (not safe)) (##car _rest56715679_))) + (_tl56775701_ + (let () (declare (not safe)) (##cdr _rest56715679_)))) + (let* ((_x5704_ _hd56765699_) (_rest5706_ _tl56775701_)) (declare (not safe)) - (_K56315652_ _rest5662_ _x5660_))) - (let () (declare (not safe)) (_else56295643_))))))) + (_K56755696_ _rest5706_ _x5704_))) + (let () (declare (not safe)) (_else56735687_))))))) (define ormap2 - (lambda (_f5543_ _lst15544_ _lst25545_) - (let _lp5547_ ((_rest15549_ _lst15544_) (_rest25550_ _lst25545_)) - (let* ((_rest155515559_ _rest15549_) - (_else55535567_ (lambda () '#f)) - (_K55555609_ - (lambda (_rest15570_ _x15571_) - (let* ((_rest255725580_ _rest25550_) - (_else55745588_ (lambda () '#f)) - (_K55765597_ - (lambda (_rest25591_ _x25592_) - (let ((_$e5594_ (_f5543_ _x15571_ _x25592_))) - (if _$e5594_ - _$e5594_ + (lambda (_f5587_ _lst15588_ _lst25589_) + (let _lp5591_ ((_rest15593_ _lst15588_) (_rest25594_ _lst25589_)) + (let* ((_rest155955603_ _rest15593_) + (_else55975611_ (lambda () '#f)) + (_K55995653_ + (lambda (_rest15614_ _x15615_) + (let* ((_rest256165624_ _rest25594_) + (_else56185632_ (lambda () '#f)) + (_K56205641_ + (lambda (_rest25635_ _x25636_) + (let ((_$e5638_ (_f5587_ _x15615_ _x25636_))) + (if _$e5638_ + _$e5638_ (let () (declare (not safe)) - (_lp5547_ _rest15570_ _rest25591_))))))) + (_lp5591_ _rest15614_ _rest25635_))))))) (if (let () (declare (not safe)) - (##pair? _rest255725580_)) - (let ((_hd55775600_ + (##pair? _rest256165624_)) + (let ((_hd56215644_ (let () (declare (not safe)) - (##car _rest255725580_))) - (_tl55785602_ + (##car _rest256165624_))) + (_tl56225646_ (let () (declare (not safe)) - (##cdr _rest255725580_)))) - (let* ((_x25605_ _hd55775600_) - (_rest25607_ _tl55785602_)) + (##cdr _rest256165624_)))) + (let* ((_x25649_ _hd56215644_) + (_rest25651_ _tl56225646_)) (declare (not safe)) - (_K55765597_ _rest25607_ _x25605_))) - (let () (declare (not safe)) (_else55745588_))))))) - (if (let () (declare (not safe)) (##pair? _rest155515559_)) - (let ((_hd55565612_ - (let () (declare (not safe)) (##car _rest155515559_))) - (_tl55575614_ - (let () (declare (not safe)) (##cdr _rest155515559_)))) - (let* ((_x15617_ _hd55565612_) (_rest15619_ _tl55575614_)) + (_K56205641_ _rest25651_ _x25649_))) + (let () (declare (not safe)) (_else56185632_))))))) + (if (let () (declare (not safe)) (##pair? _rest155955603_)) + (let ((_hd56005656_ + (let () (declare (not safe)) (##car _rest155955603_))) + (_tl56015658_ + (let () (declare (not safe)) (##cdr _rest155955603_)))) + (let* ((_x15661_ _hd56005656_) (_rest15663_ _tl56015658_)) (declare (not safe)) - (_K55555609_ _rest15619_ _x15617_))) - (let () (declare (not safe)) (_else55535567_))))))) + (_K55995653_ _rest15663_ _x15661_))) + (let () (declare (not safe)) (_else55975611_))))))) (define ormap - (lambda _g8589_ - (let ((_g8588_ (let () (declare (not safe)) (##length _g8589_)))) - (cond ((let () (declare (not safe)) (##fx= _g8588_ 2)) - (apply (lambda (_f5531_ _lst5532_) + (lambda _g8633_ + (let ((_g8632_ (let () (declare (not safe)) (##length _g8633_)))) + (cond ((let () (declare (not safe)) (##fx= _g8632_ 2)) + (apply (lambda (_f5575_ _lst5576_) (let () (declare (not safe)) - (ormap1 _f5531_ _lst5532_))) - _g8589_)) - ((let () (declare (not safe)) (##fx= _g8588_ 3)) - (apply (lambda (_f5534_ _lst15535_ _lst25536_) + (ormap1 _f5575_ _lst5576_))) + _g8633_)) + ((let () (declare (not safe)) (##fx= _g8632_ 3)) + (apply (lambda (_f5578_ _lst15579_ _lst25580_) (let () (declare (not safe)) - (ormap2 _f5534_ _lst15535_ _lst25536_))) - _g8589_)) - ((let () (declare (not safe)) (##fx>= _g8588_ 3)) - (apply ormap* _g8589_)) + (ormap2 _f5578_ _lst15579_ _lst25580_))) + _g8633_)) + ((let () (declare (not safe)) (##fx>= _g8632_ 3)) + (apply ormap* _g8633_)) (else (##raise-wrong-number-of-arguments-exception ormap - _g8589_)))))) + _g8633_)))))) (define ormap* - (lambda (_f5521_ . _rest5522_) - (let _recur5524_ ((_rest5526_ _rest5522_)) - (if (let () (declare (not safe)) (andmap1 pair? _rest5526_)) - (let ((_$e5528_ (apply _f5521_ (map car _rest5526_)))) - (if _$e5528_ - _$e5528_ - (let ((__tmp8590 (map cdr _rest5526_))) + (lambda (_f5565_ . _rest5566_) + (let _recur5568_ ((_rest5570_ _rest5566_)) + (if (let () (declare (not safe)) (andmap1 pair? _rest5570_)) + (let ((_$e5572_ (apply _f5565_ (map car _rest5570_)))) + (if _$e5572_ + _$e5572_ + (let ((__tmp8634 (map cdr _rest5570_))) (declare (not safe)) - (_recur5524_ __tmp8590)))) + (_recur5568_ __tmp8634)))) '#f)))) (define filter - (lambda (_f5479_ _lst5480_) - (let _recur5482_ ((_lst5484_ _lst5480_)) - (let* ((_lst54855493_ _lst5484_) - (_else54875501_ (lambda () '())) - (_K54895509_ - (lambda (_rest5504_ _hd5505_) - (if (_f5479_ _hd5505_) - (let ((_tail5507_ + (lambda (_f5523_ _lst5524_) + (let _recur5526_ ((_lst5528_ _lst5524_)) + (let* ((_lst55295537_ _lst5528_) + (_else55315545_ (lambda () '())) + (_K55335553_ + (lambda (_rest5548_ _hd5549_) + (if (_f5523_ _hd5549_) + (let ((_tail5551_ (let () (declare (not safe)) - (_recur5482_ _rest5504_)))) + (_recur5526_ _rest5548_)))) (if (let () (declare (not safe)) - (eq? _tail5507_ _rest5504_)) - _lst5484_ + (eq? _tail5551_ _rest5548_)) + _lst5528_ (let () (declare (not safe)) - (cons _hd5505_ _tail5507_)))) + (cons _hd5549_ _tail5551_)))) (let () (declare (not safe)) - (_recur5482_ _rest5504_)))))) - (if (let () (declare (not safe)) (##pair? _lst54855493_)) - (let ((_hd54905512_ - (let () (declare (not safe)) (##car _lst54855493_))) - (_tl54915514_ - (let () (declare (not safe)) (##cdr _lst54855493_)))) - (let* ((_hd5517_ _hd54905512_) (_rest5519_ _tl54915514_)) + (_recur5526_ _rest5548_)))))) + (if (let () (declare (not safe)) (##pair? _lst55295537_)) + (let ((_hd55345556_ + (let () (declare (not safe)) (##car _lst55295537_))) + (_tl55355558_ + (let () (declare (not safe)) (##cdr _lst55295537_)))) + (let* ((_hd5561_ _hd55345556_) (_rest5563_ _tl55355558_)) (declare (not safe)) - (_K54895509_ _rest5519_ _hd5517_))) - (let () (declare (not safe)) (_else54875501_))))))) + (_K55335553_ _rest5563_ _hd5561_))) + (let () (declare (not safe)) (_else55315545_))))))) (define filter-map1 - (lambda (_f5434_ _lst5435_) - (let _recur5437_ ((_rest5439_ _lst5435_)) - (let* ((_rest54405448_ _rest5439_) - (_else54425456_ (lambda () '())) - (_K54445467_ - (lambda (_rest5459_ _x5460_) - (let ((_$e5462_ (_f5434_ _x5460_))) - (if _$e5462_ - ((lambda (_r5465_) - (let ((__tmp8591 + (lambda (_f5478_ _lst5479_) + (let _recur5481_ ((_rest5483_ _lst5479_)) + (let* ((_rest54845492_ _rest5483_) + (_else54865500_ (lambda () '())) + (_K54885511_ + (lambda (_rest5503_ _x5504_) + (let ((_$e5506_ (_f5478_ _x5504_))) + (if _$e5506_ + ((lambda (_r5509_) + (let ((__tmp8635 (let () (declare (not safe)) - (_recur5437_ _rest5459_)))) + (_recur5481_ _rest5503_)))) (declare (not safe)) - (cons _r5465_ __tmp8591))) - _$e5462_) + (cons _r5509_ __tmp8635))) + _$e5506_) (let () (declare (not safe)) - (_recur5437_ _rest5459_))))))) - (if (let () (declare (not safe)) (##pair? _rest54405448_)) - (let ((_hd54455470_ - (let () (declare (not safe)) (##car _rest54405448_))) - (_tl54465472_ - (let () (declare (not safe)) (##cdr _rest54405448_)))) - (let* ((_x5475_ _hd54455470_) (_rest5477_ _tl54465472_)) + (_recur5481_ _rest5503_))))))) + (if (let () (declare (not safe)) (##pair? _rest54845492_)) + (let ((_hd54895514_ + (let () (declare (not safe)) (##car _rest54845492_))) + (_tl54905516_ + (let () (declare (not safe)) (##cdr _rest54845492_)))) + (let* ((_x5519_ _hd54895514_) (_rest5521_ _tl54905516_)) (declare (not safe)) - (_K54445467_ _rest5477_ _x5475_))) - (let () (declare (not safe)) (_else54425456_))))))) + (_K54885511_ _rest5521_ _x5519_))) + (let () (declare (not safe)) (_else54865500_))))))) (define filter-map2 - (lambda (_f5354_ _lst15355_ _lst25356_) - (let _recur5358_ ((_rest15360_ _lst15355_) (_rest25361_ _lst25356_)) - (let* ((_rest153625370_ _rest15360_) - (_else53645378_ (lambda () '())) - (_K53665422_ - (lambda (_rest15381_ _x15382_) - (let* ((_rest253835391_ _rest25361_) - (_else53855399_ (lambda () '())) - (_K53875410_ - (lambda (_rest25402_ _x25403_) - (let ((_$e5405_ (_f5354_ _x15382_ _x25403_))) - (if _$e5405_ - ((lambda (_r5408_) - (let ((__tmp8592 + (lambda (_f5398_ _lst15399_ _lst25400_) + (let _recur5402_ ((_rest15404_ _lst15399_) (_rest25405_ _lst25400_)) + (let* ((_rest154065414_ _rest15404_) + (_else54085422_ (lambda () '())) + (_K54105466_ + (lambda (_rest15425_ _x15426_) + (let* ((_rest254275435_ _rest25405_) + (_else54295443_ (lambda () '())) + (_K54315454_ + (lambda (_rest25446_ _x25447_) + (let ((_$e5449_ (_f5398_ _x15426_ _x25447_))) + (if _$e5449_ + ((lambda (_r5452_) + (let ((__tmp8636 (let () (declare (not safe)) - (_recur5358_ - _rest15381_ - _rest25402_)))) + (_recur5402_ + _rest15425_ + _rest25446_)))) (declare (not safe)) - (cons _r5408_ __tmp8592))) - _$e5405_) + (cons _r5452_ __tmp8636))) + _$e5449_) (let () (declare (not safe)) - (_recur5358_ - _rest15381_ - _rest25402_))))))) + (_recur5402_ + _rest15425_ + _rest25446_))))))) (if (let () (declare (not safe)) - (##pair? _rest253835391_)) - (let ((_hd53885413_ + (##pair? _rest254275435_)) + (let ((_hd54325457_ (let () (declare (not safe)) - (##car _rest253835391_))) - (_tl53895415_ + (##car _rest254275435_))) + (_tl54335459_ (let () (declare (not safe)) - (##cdr _rest253835391_)))) - (let* ((_x25418_ _hd53885413_) - (_rest25420_ _tl53895415_)) + (##cdr _rest254275435_)))) + (let* ((_x25462_ _hd54325457_) + (_rest25464_ _tl54335459_)) (declare (not safe)) - (_K53875410_ _rest25420_ _x25418_))) - (let () (declare (not safe)) (_else53855399_))))))) - (if (let () (declare (not safe)) (##pair? _rest153625370_)) - (let ((_hd53675425_ - (let () (declare (not safe)) (##car _rest153625370_))) - (_tl53685427_ - (let () (declare (not safe)) (##cdr _rest153625370_)))) - (let* ((_x15430_ _hd53675425_) (_rest15432_ _tl53685427_)) + (_K54315454_ _rest25464_ _x25462_))) + (let () (declare (not safe)) (_else54295443_))))))) + (if (let () (declare (not safe)) (##pair? _rest154065414_)) + (let ((_hd54115469_ + (let () (declare (not safe)) (##car _rest154065414_))) + (_tl54125471_ + (let () (declare (not safe)) (##cdr _rest154065414_)))) + (let* ((_x15474_ _hd54115469_) (_rest15476_ _tl54125471_)) (declare (not safe)) - (_K53665422_ _rest15432_ _x15430_))) - (let () (declare (not safe)) (_else53645378_))))))) + (_K54105466_ _rest15476_ _x15474_))) + (let () (declare (not safe)) (_else54085422_))))))) (define filter-map - (lambda _g8594_ - (let ((_g8593_ (let () (declare (not safe)) (##length _g8594_)))) - (cond ((let () (declare (not safe)) (##fx= _g8593_ 2)) - (apply (lambda (_f5342_ _lst5343_) + (lambda _g8638_ + (let ((_g8637_ (let () (declare (not safe)) (##length _g8638_)))) + (cond ((let () (declare (not safe)) (##fx= _g8637_ 2)) + (apply (lambda (_f5386_ _lst5387_) (let () (declare (not safe)) - (filter-map1 _f5342_ _lst5343_))) - _g8594_)) - ((let () (declare (not safe)) (##fx= _g8593_ 3)) - (apply (lambda (_f5345_ _lst15346_ _lst25347_) + (filter-map1 _f5386_ _lst5387_))) + _g8638_)) + ((let () (declare (not safe)) (##fx= _g8637_ 3)) + (apply (lambda (_f5389_ _lst15390_ _lst25391_) (let () (declare (not safe)) - (filter-map2 _f5345_ _lst15346_ _lst25347_))) - _g8594_)) - ((let () (declare (not safe)) (##fx>= _g8593_ 3)) - (apply filter-map* _g8594_)) + (filter-map2 _f5389_ _lst15390_ _lst25391_))) + _g8638_)) + ((let () (declare (not safe)) (##fx>= _g8637_ 3)) + (apply filter-map* _g8638_)) (else (##raise-wrong-number-of-arguments-exception filter-map - _g8594_)))))) + _g8638_)))))) (define filter-map* - (lambda (_f5330_ . _rest5331_) - (let _recur5333_ ((_rest5335_ _rest5331_)) - (if (let () (declare (not safe)) (andmap1 pair? _rest5335_)) - (let ((_$e5337_ (apply _f5330_ (map car _rest5335_)))) - (if _$e5337_ - ((lambda (_r5340_) - (let ((__tmp8596 - (let ((__tmp8597 (map cdr _rest5335_))) + (lambda (_f5374_ . _rest5375_) + (let _recur5377_ ((_rest5379_ _rest5375_)) + (if (let () (declare (not safe)) (andmap1 pair? _rest5379_)) + (let ((_$e5381_ (apply _f5374_ (map car _rest5379_)))) + (if _$e5381_ + ((lambda (_r5384_) + (let ((__tmp8640 + (let ((__tmp8641 (map cdr _rest5379_))) (declare (not safe)) - (_recur5333_ __tmp8597)))) + (_recur5377_ __tmp8641)))) (declare (not safe)) - (cons _r5340_ __tmp8596))) - _$e5337_) - (let ((__tmp8595 (map cdr _rest5335_))) + (cons _r5384_ __tmp8640))) + _$e5381_) + (let ((__tmp8639 (map cdr _rest5379_))) (declare (not safe)) - (_recur5333_ __tmp8595)))) + (_recur5377_ __tmp8639)))) '())))) (define iota__% - (lambda (_count5298_ _start5299_ _step5300_) - (if (fixnum? _count5298_) + (lambda (_count5342_ _start5343_ _step5344_) + (if (fixnum? _count5342_) '#!void - (error '"expected fixnum" _count5298_)) - (if (let () (declare (not safe)) (number? _start5299_)) + (error '"expected fixnum" _count5342_)) + (if (let () (declare (not safe)) (number? _start5343_)) '#!void - (error '"expected number" _start5299_)) - (if (let () (declare (not safe)) (number? _step5300_)) + (error '"expected number" _start5343_)) + (if (let () (declare (not safe)) (number? _step5344_)) '#!void - (error '"expected number" _step5300_)) - (let ((_root5302_ (let () (declare (not safe)) (cons '#f '())))) - (let _lp5304_ ((_i5306_ '0) - (_x5307_ _start5299_) - (_tl5308_ _root5302_)) - (if (let () (declare (not safe)) (##fx< _i5306_ _count5298_)) - (let ((_tl*5310_ - (let () (declare (not safe)) (cons _x5307_ '())))) - (let () (declare (not safe)) (##set-cdr! _tl5308_ _tl*5310_)) - (let ((__tmp8599 - (let () (declare (not safe)) (##fx+ _i5306_ '1))) - (__tmp8598 (+ _x5307_ _step5300_))) + (error '"expected number" _step5344_)) + (let ((_root5346_ (let () (declare (not safe)) (cons '#f '())))) + (let _lp5348_ ((_i5350_ '0) + (_x5351_ _start5343_) + (_tl5352_ _root5346_)) + (if (let () (declare (not safe)) (##fx< _i5350_ _count5342_)) + (let ((_tl*5354_ + (let () (declare (not safe)) (cons _x5351_ '())))) + (let () (declare (not safe)) (##set-cdr! _tl5352_ _tl*5354_)) + (let ((__tmp8643 + (let () (declare (not safe)) (##fx+ _i5350_ '1))) + (__tmp8642 (+ _x5351_ _step5344_))) (declare (not safe)) - (_lp5304_ __tmp8599 __tmp8598 _tl*5310_))) - (let () (declare (not safe)) (##cdr _root5302_))))))) + (_lp5348_ __tmp8643 __tmp8642 _tl*5354_))) + (let () (declare (not safe)) (##cdr _root5346_))))))) (define iota__0 - (lambda (_count5315_) - (let* ((_start5317_ '0) (_step5319_ '1)) + (lambda (_count5359_) + (let* ((_start5361_ '0) (_step5363_ '1)) (declare (not safe)) - (iota__% _count5315_ _start5317_ _step5319_)))) + (iota__% _count5359_ _start5361_ _step5363_)))) (define iota__1 - (lambda (_count5321_ _start5322_) - (let ((_step5324_ '1)) + (lambda (_count5365_ _start5366_) + (let ((_step5368_ '1)) (declare (not safe)) - (iota__% _count5321_ _start5322_ _step5324_)))) + (iota__% _count5365_ _start5366_ _step5368_)))) (define iota - (lambda _g8601_ - (let ((_g8600_ (let () (declare (not safe)) (##length _g8601_)))) - (cond ((let () (declare (not safe)) (##fx= _g8600_ 1)) - (apply (lambda (_count5315_) - (let () (declare (not safe)) (iota__0 _count5315_))) - _g8601_)) - ((let () (declare (not safe)) (##fx= _g8600_ 2)) - (apply (lambda (_count5321_ _start5322_) + (lambda _g8645_ + (let ((_g8644_ (let () (declare (not safe)) (##length _g8645_)))) + (cond ((let () (declare (not safe)) (##fx= _g8644_ 1)) + (apply (lambda (_count5359_) + (let () (declare (not safe)) (iota__0 _count5359_))) + _g8645_)) + ((let () (declare (not safe)) (##fx= _g8644_ 2)) + (apply (lambda (_count5365_ _start5366_) (let () (declare (not safe)) - (iota__1 _count5321_ _start5322_))) - _g8601_)) - ((let () (declare (not safe)) (##fx= _g8600_ 3)) - (apply (lambda (_count5326_ _start5327_ _step5328_) + (iota__1 _count5365_ _start5366_))) + _g8645_)) + ((let () (declare (not safe)) (##fx= _g8644_ 3)) + (apply (lambda (_count5370_ _start5371_ _step5372_) (let () (declare (not safe)) - (iota__% _count5326_ _start5327_ _step5328_))) - _g8601_)) + (iota__% _count5370_ _start5371_ _step5372_))) + _g8645_)) (else (##raise-wrong-number-of-arguments-exception iota - _g8601_)))))) + _g8645_)))))) (define last-pair - (lambda (_lst5272_) - (let* ((_lst52735280_ _lst5272_) - (_E52755284_ - (lambda () (error '"No clause matching" _lst52735280_))) - (_K52765289_ - (lambda (_rest5287_) - (if (let () (declare (not safe)) (pair? _rest5287_)) - (let () (declare (not safe)) (last-pair _rest5287_)) - _lst5272_)))) - (if (let () (declare (not safe)) (##pair? _lst52735280_)) - (let* ((_tl52785292_ - (let () (declare (not safe)) (##cdr _lst52735280_))) - (_rest5295_ _tl52785292_)) + (lambda (_lst5316_) + (let* ((_lst53175324_ _lst5316_) + (_E53195328_ + (lambda () (error '"No clause matching" _lst53175324_))) + (_K53205333_ + (lambda (_rest5331_) + (if (let () (declare (not safe)) (pair? _rest5331_)) + (let () (declare (not safe)) (last-pair _rest5331_)) + _lst5316_)))) + (if (let () (declare (not safe)) (##pair? _lst53175324_)) + (let* ((_tl53225336_ + (let () (declare (not safe)) (##cdr _lst53175324_))) + (_rest5339_ _tl53225336_)) (declare (not safe)) - (_K52765289_ _rest5295_)) - (let () (declare (not safe)) (_E52755284_)))))) + (_K53205333_ _rest5339_)) + (let () (declare (not safe)) (_E53195328_)))))) (define last - (lambda (_lst5270_) - (car (let () (declare (not safe)) (last-pair _lst5270_))))) + (lambda (_lst5314_) + (car (let () (declare (not safe)) (last-pair _lst5314_))))) (define assgetq__% - (lambda (_key5248_ _lst5250_ _default5252_) - (let ((_$e5255_ - (if (let () (declare (not safe)) (pair? _lst5250_)) - (assq _key5248_ _lst5250_) + (lambda (_key5292_ _lst5294_ _default5296_) + (let ((_$e5299_ + (if (let () (declare (not safe)) (pair? _lst5294_)) + (assq _key5292_ _lst5294_) '#f))) - (if _$e5255_ - (cdr _$e5255_) - (if (let () (declare (not safe)) (procedure? _default5252_)) - (_default5252_ _key5248_) - _default5252_))))) + (if _$e5299_ + (cdr _$e5299_) + (if (let () (declare (not safe)) (procedure? _default5296_)) + (_default5296_ _key5292_) + _default5296_))))) (define assgetq__0 - (lambda (_key5261_ _lst5262_) - (let ((_default5264_ '#f)) + (lambda (_key5305_ _lst5306_) + (let ((_default5308_ '#f)) (declare (not safe)) - (assgetq__% _key5261_ _lst5262_ _default5264_)))) + (assgetq__% _key5305_ _lst5306_ _default5308_)))) (define assgetq - (lambda _g8603_ - (let ((_g8602_ (let () (declare (not safe)) (##length _g8603_)))) - (cond ((let () (declare (not safe)) (##fx= _g8602_ 2)) - (apply (lambda (_key5261_ _lst5262_) + (lambda _g8647_ + (let ((_g8646_ (let () (declare (not safe)) (##length _g8647_)))) + (cond ((let () (declare (not safe)) (##fx= _g8646_ 2)) + (apply (lambda (_key5305_ _lst5306_) (let () (declare (not safe)) - (assgetq__0 _key5261_ _lst5262_))) - _g8603_)) - ((let () (declare (not safe)) (##fx= _g8602_ 3)) - (apply (lambda (_key5266_ _lst5267_ _default5268_) + (assgetq__0 _key5305_ _lst5306_))) + _g8647_)) + ((let () (declare (not safe)) (##fx= _g8646_ 3)) + (apply (lambda (_key5310_ _lst5311_ _default5312_) (let () (declare (not safe)) - (assgetq__% _key5266_ _lst5267_ _default5268_))) - _g8603_)) + (assgetq__% _key5310_ _lst5311_ _default5312_))) + _g8647_)) (else (##raise-wrong-number-of-arguments-exception assgetq - _g8603_)))))) + _g8647_)))))) (define assgetv__% - (lambda (_key5225_ _lst5227_ _default5229_) - (let ((_$e5232_ - (if (let () (declare (not safe)) (pair? _lst5227_)) - (assv _key5225_ _lst5227_) + (lambda (_key5269_ _lst5271_ _default5273_) + (let ((_$e5276_ + (if (let () (declare (not safe)) (pair? _lst5271_)) + (assv _key5269_ _lst5271_) '#f))) - (if _$e5232_ - (cdr _$e5232_) - (if (let () (declare (not safe)) (procedure? _default5229_)) - (_default5229_ _key5225_) - _default5229_))))) + (if _$e5276_ + (cdr _$e5276_) + (if (let () (declare (not safe)) (procedure? _default5273_)) + (_default5273_ _key5269_) + _default5273_))))) (define assgetv__0 - (lambda (_key5238_ _lst5239_) - (let ((_default5241_ '#f)) + (lambda (_key5282_ _lst5283_) + (let ((_default5285_ '#f)) (declare (not safe)) - (assgetv__% _key5238_ _lst5239_ _default5241_)))) + (assgetv__% _key5282_ _lst5283_ _default5285_)))) (define assgetv - (lambda _g8605_ - (let ((_g8604_ (let () (declare (not safe)) (##length _g8605_)))) - (cond ((let () (declare (not safe)) (##fx= _g8604_ 2)) - (apply (lambda (_key5238_ _lst5239_) + (lambda _g8649_ + (let ((_g8648_ (let () (declare (not safe)) (##length _g8649_)))) + (cond ((let () (declare (not safe)) (##fx= _g8648_ 2)) + (apply (lambda (_key5282_ _lst5283_) (let () (declare (not safe)) - (assgetv__0 _key5238_ _lst5239_))) - _g8605_)) - ((let () (declare (not safe)) (##fx= _g8604_ 3)) - (apply (lambda (_key5243_ _lst5244_ _default5245_) + (assgetv__0 _key5282_ _lst5283_))) + _g8649_)) + ((let () (declare (not safe)) (##fx= _g8648_ 3)) + (apply (lambda (_key5287_ _lst5288_ _default5289_) (let () (declare (not safe)) - (assgetv__% _key5243_ _lst5244_ _default5245_))) - _g8605_)) + (assgetv__% _key5287_ _lst5288_ _default5289_))) + _g8649_)) (else (##raise-wrong-number-of-arguments-exception assgetv - _g8605_)))))) + _g8649_)))))) (define assget__% - (lambda (_key5202_ _lst5204_ _default5206_) - (let ((_$e5209_ - (if (let () (declare (not safe)) (pair? _lst5204_)) - (assoc _key5202_ _lst5204_) + (lambda (_key5246_ _lst5248_ _default5250_) + (let ((_$e5253_ + (if (let () (declare (not safe)) (pair? _lst5248_)) + (assoc _key5246_ _lst5248_) '#f))) - (if _$e5209_ - (cdr _$e5209_) - (if (let () (declare (not safe)) (procedure? _default5206_)) - (_default5206_ _key5202_) - _default5206_))))) + (if _$e5253_ + (cdr _$e5253_) + (if (let () (declare (not safe)) (procedure? _default5250_)) + (_default5250_ _key5246_) + _default5250_))))) (define assget__0 - (lambda (_key5215_ _lst5216_) - (let ((_default5218_ '#f)) + (lambda (_key5259_ _lst5260_) + (let ((_default5262_ '#f)) (declare (not safe)) - (assget__% _key5215_ _lst5216_ _default5218_)))) + (assget__% _key5259_ _lst5260_ _default5262_)))) (define assget - (lambda _g8607_ - (let ((_g8606_ (let () (declare (not safe)) (##length _g8607_)))) - (cond ((let () (declare (not safe)) (##fx= _g8606_ 2)) - (apply (lambda (_key5215_ _lst5216_) + (lambda _g8651_ + (let ((_g8650_ (let () (declare (not safe)) (##length _g8651_)))) + (cond ((let () (declare (not safe)) (##fx= _g8650_ 2)) + (apply (lambda (_key5259_ _lst5260_) (let () (declare (not safe)) - (assget__0 _key5215_ _lst5216_))) - _g8607_)) - ((let () (declare (not safe)) (##fx= _g8606_ 3)) - (apply (lambda (_key5220_ _lst5221_ _default5222_) + (assget__0 _key5259_ _lst5260_))) + _g8651_)) + ((let () (declare (not safe)) (##fx= _g8650_ 3)) + (apply (lambda (_key5264_ _lst5265_ _default5266_) (let () (declare (not safe)) - (assget__% _key5220_ _lst5221_ _default5222_))) - _g8607_)) + (assget__% _key5264_ _lst5265_ _default5266_))) + _g8651_)) (else (##raise-wrong-number-of-arguments-exception assget - _g8607_)))))) + _g8651_)))))) (define pgetq__% - (lambda (_key5131_ _lst5133_ _default5135_) - (let _lp5138_ ((_rest5141_ _lst5133_)) - (let* ((_rest51435153_ _rest5141_) - (_else51455161_ + (lambda (_key5175_ _lst5177_ _default5179_) + (let _lp5182_ ((_rest5185_ _lst5177_)) + (let* ((_rest51875197_ _rest5185_) + (_else51895205_ (lambda () (if (let () (declare (not safe)) - (procedure? _default5135_)) - (_default5135_ _key5131_) - _default5135_))) - (_K51475170_ - (lambda (_rest5164_ _v5165_ _k5167_) - (if (let () (declare (not safe)) (eq? _k5167_ _key5131_)) - _v5165_ - (let () (declare (not safe)) (_lp5138_ _rest5164_)))))) - (if (let () (declare (not safe)) (##pair? _rest51435153_)) - (let ((_hd51485173_ - (let () (declare (not safe)) (##car _rest51435153_))) - (_tl51495175_ - (let () (declare (not safe)) (##cdr _rest51435153_)))) - (let ((_k5178_ _hd51485173_)) - (if (let () (declare (not safe)) (##pair? _tl51495175_)) - (let ((_hd51505180_ + (procedure? _default5179_)) + (_default5179_ _key5175_) + _default5179_))) + (_K51915214_ + (lambda (_rest5208_ _v5209_ _k5211_) + (if (let () (declare (not safe)) (eq? _k5211_ _key5175_)) + _v5209_ + (let () (declare (not safe)) (_lp5182_ _rest5208_)))))) + (if (let () (declare (not safe)) (##pair? _rest51875197_)) + (let ((_hd51925217_ + (let () (declare (not safe)) (##car _rest51875197_))) + (_tl51935219_ + (let () (declare (not safe)) (##cdr _rest51875197_)))) + (let ((_k5222_ _hd51925217_)) + (if (let () (declare (not safe)) (##pair? _tl51935219_)) + (let ((_hd51945224_ (let () (declare (not safe)) - (##car _tl51495175_))) - (_tl51515182_ + (##car _tl51935219_))) + (_tl51955226_ (let () (declare (not safe)) - (##cdr _tl51495175_)))) - (let* ((_v5185_ _hd51505180_) - (_rest5187_ _tl51515182_)) + (##cdr _tl51935219_)))) + (let* ((_v5229_ _hd51945224_) + (_rest5231_ _tl51955226_)) (declare (not safe)) - (_K51475170_ _rest5187_ _v5185_ _k5178_))) - (let () (declare (not safe)) (_else51455161_))))) - (let () (declare (not safe)) (_else51455161_))))))) + (_K51915214_ _rest5231_ _v5229_ _k5222_))) + (let () (declare (not safe)) (_else51895205_))))) + (let () (declare (not safe)) (_else51895205_))))))) (define pgetq__0 - (lambda (_key5192_ _lst5193_) - (let ((_default5195_ '#f)) + (lambda (_key5236_ _lst5237_) + (let ((_default5239_ '#f)) (declare (not safe)) - (pgetq__% _key5192_ _lst5193_ _default5195_)))) + (pgetq__% _key5236_ _lst5237_ _default5239_)))) (define pgetq - (lambda _g8609_ - (let ((_g8608_ (let () (declare (not safe)) (##length _g8609_)))) - (cond ((let () (declare (not safe)) (##fx= _g8608_ 2)) - (apply (lambda (_key5192_ _lst5193_) + (lambda _g8653_ + (let ((_g8652_ (let () (declare (not safe)) (##length _g8653_)))) + (cond ((let () (declare (not safe)) (##fx= _g8652_ 2)) + (apply (lambda (_key5236_ _lst5237_) (let () (declare (not safe)) - (pgetq__0 _key5192_ _lst5193_))) - _g8609_)) - ((let () (declare (not safe)) (##fx= _g8608_ 3)) - (apply (lambda (_key5197_ _lst5198_ _default5199_) + (pgetq__0 _key5236_ _lst5237_))) + _g8653_)) + ((let () (declare (not safe)) (##fx= _g8652_ 3)) + (apply (lambda (_key5241_ _lst5242_ _default5243_) (let () (declare (not safe)) - (pgetq__% _key5197_ _lst5198_ _default5199_))) - _g8609_)) + (pgetq__% _key5241_ _lst5242_ _default5243_))) + _g8653_)) (else (##raise-wrong-number-of-arguments-exception pgetq - _g8609_)))))) + _g8653_)))))) (define pgetv__% - (lambda (_key5060_ _lst5062_ _default5064_) - (let _lp5067_ ((_rest5070_ _lst5062_)) - (let* ((_rest50725082_ _rest5070_) - (_else50745090_ + (lambda (_key5104_ _lst5106_ _default5108_) + (let _lp5111_ ((_rest5114_ _lst5106_)) + (let* ((_rest51165126_ _rest5114_) + (_else51185134_ (lambda () (if (let () (declare (not safe)) - (procedure? _default5064_)) - (_default5064_ _key5060_) - _default5064_))) - (_K50765099_ - (lambda (_rest5093_ _v5094_ _k5096_) - (if (let () (declare (not safe)) (eqv? _k5096_ _key5060_)) - _v5094_ - (let () (declare (not safe)) (_lp5067_ _rest5093_)))))) - (if (let () (declare (not safe)) (##pair? _rest50725082_)) - (let ((_hd50775102_ - (let () (declare (not safe)) (##car _rest50725082_))) - (_tl50785104_ - (let () (declare (not safe)) (##cdr _rest50725082_)))) - (let ((_k5107_ _hd50775102_)) - (if (let () (declare (not safe)) (##pair? _tl50785104_)) - (let ((_hd50795109_ + (procedure? _default5108_)) + (_default5108_ _key5104_) + _default5108_))) + (_K51205143_ + (lambda (_rest5137_ _v5138_ _k5140_) + (if (let () (declare (not safe)) (eqv? _k5140_ _key5104_)) + _v5138_ + (let () (declare (not safe)) (_lp5111_ _rest5137_)))))) + (if (let () (declare (not safe)) (##pair? _rest51165126_)) + (let ((_hd51215146_ + (let () (declare (not safe)) (##car _rest51165126_))) + (_tl51225148_ + (let () (declare (not safe)) (##cdr _rest51165126_)))) + (let ((_k5151_ _hd51215146_)) + (if (let () (declare (not safe)) (##pair? _tl51225148_)) + (let ((_hd51235153_ (let () (declare (not safe)) - (##car _tl50785104_))) - (_tl50805111_ + (##car _tl51225148_))) + (_tl51245155_ (let () (declare (not safe)) - (##cdr _tl50785104_)))) - (let* ((_v5114_ _hd50795109_) - (_rest5116_ _tl50805111_)) + (##cdr _tl51225148_)))) + (let* ((_v5158_ _hd51235153_) + (_rest5160_ _tl51245155_)) (declare (not safe)) - (_K50765099_ _rest5116_ _v5114_ _k5107_))) - (let () (declare (not safe)) (_else50745090_))))) - (let () (declare (not safe)) (_else50745090_))))))) + (_K51205143_ _rest5160_ _v5158_ _k5151_))) + (let () (declare (not safe)) (_else51185134_))))) + (let () (declare (not safe)) (_else51185134_))))))) (define pgetv__0 - (lambda (_key5121_ _lst5122_) - (let ((_default5124_ '#f)) + (lambda (_key5165_ _lst5166_) + (let ((_default5168_ '#f)) (declare (not safe)) - (pgetv__% _key5121_ _lst5122_ _default5124_)))) + (pgetv__% _key5165_ _lst5166_ _default5168_)))) (define pgetv - (lambda _g8611_ - (let ((_g8610_ (let () (declare (not safe)) (##length _g8611_)))) - (cond ((let () (declare (not safe)) (##fx= _g8610_ 2)) - (apply (lambda (_key5121_ _lst5122_) + (lambda _g8655_ + (let ((_g8654_ (let () (declare (not safe)) (##length _g8655_)))) + (cond ((let () (declare (not safe)) (##fx= _g8654_ 2)) + (apply (lambda (_key5165_ _lst5166_) (let () (declare (not safe)) - (pgetv__0 _key5121_ _lst5122_))) - _g8611_)) - ((let () (declare (not safe)) (##fx= _g8610_ 3)) - (apply (lambda (_key5126_ _lst5127_ _default5128_) + (pgetv__0 _key5165_ _lst5166_))) + _g8655_)) + ((let () (declare (not safe)) (##fx= _g8654_ 3)) + (apply (lambda (_key5170_ _lst5171_ _default5172_) (let () (declare (not safe)) - (pgetv__% _key5126_ _lst5127_ _default5128_))) - _g8611_)) + (pgetv__% _key5170_ _lst5171_ _default5172_))) + _g8655_)) (else (##raise-wrong-number-of-arguments-exception pgetv - _g8611_)))))) + _g8655_)))))) (define pget__% - (lambda (_key4989_ _lst4991_ _default4993_) - (let _lp4996_ ((_rest4999_ _lst4991_)) - (let* ((_rest50015011_ _rest4999_) - (_else50035019_ + (lambda (_key5033_ _lst5035_ _default5037_) + (let _lp5040_ ((_rest5043_ _lst5035_)) + (let* ((_rest50455055_ _rest5043_) + (_else50475063_ (lambda () (if (let () (declare (not safe)) - (procedure? _default4993_)) - (_default4993_ _key4989_) - _default4993_))) - (_K50055028_ - (lambda (_rest5022_ _v5023_ _k5025_) + (procedure? _default5037_)) + (_default5037_ _key5033_) + _default5037_))) + (_K50495072_ + (lambda (_rest5066_ _v5067_ _k5069_) (if (let () (declare (not safe)) - (equal? _k5025_ _key4989_)) - _v5023_ - (let () (declare (not safe)) (_lp4996_ _rest5022_)))))) - (if (let () (declare (not safe)) (##pair? _rest50015011_)) - (let ((_hd50065031_ - (let () (declare (not safe)) (##car _rest50015011_))) - (_tl50075033_ - (let () (declare (not safe)) (##cdr _rest50015011_)))) - (let ((_k5036_ _hd50065031_)) - (if (let () (declare (not safe)) (##pair? _tl50075033_)) - (let ((_hd50085038_ + (equal? _k5069_ _key5033_)) + _v5067_ + (let () (declare (not safe)) (_lp5040_ _rest5066_)))))) + (if (let () (declare (not safe)) (##pair? _rest50455055_)) + (let ((_hd50505075_ + (let () (declare (not safe)) (##car _rest50455055_))) + (_tl50515077_ + (let () (declare (not safe)) (##cdr _rest50455055_)))) + (let ((_k5080_ _hd50505075_)) + (if (let () (declare (not safe)) (##pair? _tl50515077_)) + (let ((_hd50525082_ (let () (declare (not safe)) - (##car _tl50075033_))) - (_tl50095040_ + (##car _tl50515077_))) + (_tl50535084_ (let () (declare (not safe)) - (##cdr _tl50075033_)))) - (let* ((_v5043_ _hd50085038_) - (_rest5045_ _tl50095040_)) + (##cdr _tl50515077_)))) + (let* ((_v5087_ _hd50525082_) + (_rest5089_ _tl50535084_)) (declare (not safe)) - (_K50055028_ _rest5045_ _v5043_ _k5036_))) - (let () (declare (not safe)) (_else50035019_))))) - (let () (declare (not safe)) (_else50035019_))))))) + (_K50495072_ _rest5089_ _v5087_ _k5080_))) + (let () (declare (not safe)) (_else50475063_))))) + (let () (declare (not safe)) (_else50475063_))))))) (define pget__0 - (lambda (_key5050_ _lst5051_) - (let ((_default5053_ '#f)) + (lambda (_key5094_ _lst5095_) + (let ((_default5097_ '#f)) (declare (not safe)) - (pget__% _key5050_ _lst5051_ _default5053_)))) + (pget__% _key5094_ _lst5095_ _default5097_)))) (define pget - (lambda _g8613_ - (let ((_g8612_ (let () (declare (not safe)) (##length _g8613_)))) - (cond ((let () (declare (not safe)) (##fx= _g8612_ 2)) - (apply (lambda (_key5050_ _lst5051_) + (lambda _g8657_ + (let ((_g8656_ (let () (declare (not safe)) (##length _g8657_)))) + (cond ((let () (declare (not safe)) (##fx= _g8656_ 2)) + (apply (lambda (_key5094_ _lst5095_) (let () (declare (not safe)) - (pget__0 _key5050_ _lst5051_))) - _g8613_)) - ((let () (declare (not safe)) (##fx= _g8612_ 3)) - (apply (lambda (_key5055_ _lst5056_ _default5057_) + (pget__0 _key5094_ _lst5095_))) + _g8657_)) + ((let () (declare (not safe)) (##fx= _g8656_ 3)) + (apply (lambda (_key5099_ _lst5100_ _default5101_) (let () (declare (not safe)) - (pget__% _key5055_ _lst5056_ _default5057_))) - _g8613_)) + (pget__% _key5099_ _lst5100_ _default5101_))) + _g8657_)) (else (##raise-wrong-number-of-arguments-exception pget - _g8613_)))))) + _g8657_)))))) (define find - (lambda (_pred4982_ _lst4983_) - (let ((_$e4985_ - (let () (declare (not safe)) (memf _pred4982_ _lst4983_)))) - (if _$e4985_ (car _$e4985_) '#f)))) + (lambda (_pred5026_ _lst5027_) + (let ((_$e5029_ + (let () (declare (not safe)) (memf _pred5026_ _lst5027_)))) + (if _$e5029_ (car _$e5029_) '#f)))) (define memf - (lambda (_proc4942_ _lst4943_) - (let _lp4945_ ((_rest4947_ _lst4943_)) - (let* ((_rest49484956_ _rest4947_) - (_else49504964_ (lambda () '#f)) - (_K49524970_ - (lambda (_tl4967_ _hd4968_) - (if (_proc4942_ _hd4968_) - _rest4947_ - (let () (declare (not safe)) (_lp4945_ _tl4967_)))))) - (if (let () (declare (not safe)) (##pair? _rest49484956_)) - (let ((_hd49534973_ - (let () (declare (not safe)) (##car _rest49484956_))) - (_tl49544975_ - (let () (declare (not safe)) (##cdr _rest49484956_)))) - (let* ((_hd4978_ _hd49534973_) (_tl4980_ _tl49544975_)) + (lambda (_proc4986_ _lst4987_) + (let _lp4989_ ((_rest4991_ _lst4987_)) + (let* ((_rest49925000_ _rest4991_) + (_else49945008_ (lambda () '#f)) + (_K49965014_ + (lambda (_tl5011_ _hd5012_) + (if (_proc4986_ _hd5012_) + _rest4991_ + (let () (declare (not safe)) (_lp4989_ _tl5011_)))))) + (if (let () (declare (not safe)) (##pair? _rest49925000_)) + (let ((_hd49975017_ + (let () (declare (not safe)) (##car _rest49925000_))) + (_tl49985019_ + (let () (declare (not safe)) (##cdr _rest49925000_)))) + (let* ((_hd5022_ _hd49975017_) (_tl5024_ _tl49985019_)) (declare (not safe)) - (_K49524970_ _tl4980_ _hd4978_))) - (let () (declare (not safe)) (_else49504964_))))))) + (_K49965014_ _tl5024_ _hd5022_))) + (let () (declare (not safe)) (_else49945008_))))))) (define remove1 - (lambda (_el4895_ _lst4897_) - (let _lp4900_ ((_rest4903_ _lst4897_) (_r4905_ '())) - (let* ((_rest49074915_ _rest4903_) - (_else49094923_ (lambda () _lst4897_)) - (_K49114930_ - (lambda (_rest4926_ _hd4927_) + (lambda (_el4939_ _lst4941_) + (let _lp4944_ ((_rest4947_ _lst4941_) (_r4949_ '())) + (let* ((_rest49514959_ _rest4947_) + (_else49534967_ (lambda () _lst4941_)) + (_K49554974_ + (lambda (_rest4970_ _hd4971_) (if (let () (declare (not safe)) - (equal? _el4895_ _hd4927_)) + (equal? _el4939_ _hd4971_)) (let () (declare (not safe)) - (foldl1 cons _rest4926_ _r4905_)) - (let ((__tmp8614 + (foldl1 cons _rest4970_ _r4949_)) + (let ((__tmp8658 (let () (declare (not safe)) - (cons _hd4927_ _r4905_)))) + (cons _hd4971_ _r4949_)))) (declare (not safe)) - (_lp4900_ _rest4926_ __tmp8614)))))) - (if (let () (declare (not safe)) (##pair? _rest49074915_)) - (let ((_hd49124933_ - (let () (declare (not safe)) (##car _rest49074915_))) - (_tl49134935_ - (let () (declare (not safe)) (##cdr _rest49074915_)))) - (let* ((_hd4938_ _hd49124933_) (_rest4940_ _tl49134935_)) + (_lp4944_ _rest4970_ __tmp8658)))))) + (if (let () (declare (not safe)) (##pair? _rest49514959_)) + (let ((_hd49564977_ + (let () (declare (not safe)) (##car _rest49514959_))) + (_tl49574979_ + (let () (declare (not safe)) (##cdr _rest49514959_)))) + (let* ((_hd4982_ _hd49564977_) (_rest4984_ _tl49574979_)) (declare (not safe)) - (_K49114930_ _rest4940_ _hd4938_))) - (let () (declare (not safe)) (_else49094923_))))))) + (_K49554974_ _rest4984_ _hd4982_))) + (let () (declare (not safe)) (_else49534967_))))))) (define remv - (lambda (_el4848_ _lst4850_) - (let _lp4853_ ((_rest4856_ _lst4850_) (_r4858_ '())) - (let* ((_rest48604868_ _rest4856_) - (_else48624876_ (lambda () _lst4850_)) - (_K48644883_ - (lambda (_rest4879_ _hd4880_) - (if (let () (declare (not safe)) (eqv? _el4848_ _hd4880_)) + (lambda (_el4892_ _lst4894_) + (let _lp4897_ ((_rest4900_ _lst4894_) (_r4902_ '())) + (let* ((_rest49044912_ _rest4900_) + (_else49064920_ (lambda () _lst4894_)) + (_K49084927_ + (lambda (_rest4923_ _hd4924_) + (if (let () (declare (not safe)) (eqv? _el4892_ _hd4924_)) (let () (declare (not safe)) - (foldl1 cons _rest4879_ _r4858_)) - (let ((__tmp8615 + (foldl1 cons _rest4923_ _r4902_)) + (let ((__tmp8659 (let () (declare (not safe)) - (cons _hd4880_ _r4858_)))) + (cons _hd4924_ _r4902_)))) (declare (not safe)) - (_lp4853_ _rest4879_ __tmp8615)))))) - (if (let () (declare (not safe)) (##pair? _rest48604868_)) - (let ((_hd48654886_ - (let () (declare (not safe)) (##car _rest48604868_))) - (_tl48664888_ - (let () (declare (not safe)) (##cdr _rest48604868_)))) - (let* ((_hd4891_ _hd48654886_) (_rest4893_ _tl48664888_)) + (_lp4897_ _rest4923_ __tmp8659)))))) + (if (let () (declare (not safe)) (##pair? _rest49044912_)) + (let ((_hd49094930_ + (let () (declare (not safe)) (##car _rest49044912_))) + (_tl49104932_ + (let () (declare (not safe)) (##cdr _rest49044912_)))) + (let* ((_hd4935_ _hd49094930_) (_rest4937_ _tl49104932_)) (declare (not safe)) - (_K48644883_ _rest4893_ _hd4891_))) - (let () (declare (not safe)) (_else48624876_))))))) + (_K49084927_ _rest4937_ _hd4935_))) + (let () (declare (not safe)) (_else49064920_))))))) (define remq - (lambda (_el4801_ _lst4803_) - (let _lp4806_ ((_rest4809_ _lst4803_) (_r4811_ '())) - (let* ((_rest48134821_ _rest4809_) - (_else48154829_ (lambda () _lst4803_)) - (_K48174836_ - (lambda (_rest4832_ _hd4833_) - (if (let () (declare (not safe)) (eq? _el4801_ _hd4833_)) + (lambda (_el4845_ _lst4847_) + (let _lp4850_ ((_rest4853_ _lst4847_) (_r4855_ '())) + (let* ((_rest48574865_ _rest4853_) + (_else48594873_ (lambda () _lst4847_)) + (_K48614880_ + (lambda (_rest4876_ _hd4877_) + (if (let () (declare (not safe)) (eq? _el4845_ _hd4877_)) (let () (declare (not safe)) - (foldl1 cons _rest4832_ _r4811_)) - (let ((__tmp8616 + (foldl1 cons _rest4876_ _r4855_)) + (let ((__tmp8660 (let () (declare (not safe)) - (cons _hd4833_ _r4811_)))) + (cons _hd4877_ _r4855_)))) (declare (not safe)) - (_lp4806_ _rest4832_ __tmp8616)))))) - (if (let () (declare (not safe)) (##pair? _rest48134821_)) - (let ((_hd48184839_ - (let () (declare (not safe)) (##car _rest48134821_))) - (_tl48194841_ - (let () (declare (not safe)) (##cdr _rest48134821_)))) - (let* ((_hd4844_ _hd48184839_) (_rest4846_ _tl48194841_)) + (_lp4850_ _rest4876_ __tmp8660)))))) + (if (let () (declare (not safe)) (##pair? _rest48574865_)) + (let ((_hd48624883_ + (let () (declare (not safe)) (##car _rest48574865_))) + (_tl48634885_ + (let () (declare (not safe)) (##cdr _rest48574865_)))) + (let* ((_hd4888_ _hd48624883_) (_rest4890_ _tl48634885_)) (declare (not safe)) - (_K48174836_ _rest4846_ _hd4844_))) - (let () (declare (not safe)) (_else48154829_))))))) + (_K48614880_ _rest4890_ _hd4888_))) + (let () (declare (not safe)) (_else48594873_))))))) (define remf - (lambda (_proc4760_ _lst4761_) - (let _lp4763_ ((_rest4765_ _lst4761_) (_r4766_ '())) - (let* ((_rest47674775_ _rest4765_) - (_else47694783_ (lambda () _lst4761_)) - (_K47714789_ - (lambda (_rest4786_ _hd4787_) - (if (_proc4760_ _hd4787_) + (lambda (_proc4804_ _lst4805_) + (let _lp4807_ ((_rest4809_ _lst4805_) (_r4810_ '())) + (let* ((_rest48114819_ _rest4809_) + (_else48134827_ (lambda () _lst4805_)) + (_K48154833_ + (lambda (_rest4830_ _hd4831_) + (if (_proc4804_ _hd4831_) (let () (declare (not safe)) - (foldl1 cons _rest4786_ _r4766_)) - (let ((__tmp8617 + (foldl1 cons _rest4830_ _r4810_)) + (let ((__tmp8661 (let () (declare (not safe)) - (cons _hd4787_ _r4766_)))) + (cons _hd4831_ _r4810_)))) (declare (not safe)) - (_lp4763_ _rest4786_ __tmp8617)))))) - (if (let () (declare (not safe)) (##pair? _rest47674775_)) - (let ((_hd47724792_ - (let () (declare (not safe)) (##car _rest47674775_))) - (_tl47734794_ - (let () (declare (not safe)) (##cdr _rest47674775_)))) - (let* ((_hd4797_ _hd47724792_) (_rest4799_ _tl47734794_)) + (_lp4807_ _rest4830_ __tmp8661)))))) + (if (let () (declare (not safe)) (##pair? _rest48114819_)) + (let ((_hd48164836_ + (let () (declare (not safe)) (##car _rest48114819_))) + (_tl48174838_ + (let () (declare (not safe)) (##cdr _rest48114819_)))) + (let* ((_hd4841_ _hd48164836_) (_rest4843_ _tl48174838_)) (declare (not safe)) - (_K47714789_ _rest4799_ _hd4797_))) - (let () (declare (not safe)) (_else47694783_))))))) - (define 1+ (lambda (_x4758_) (+ _x4758_ '1))) - (define 1- (lambda (_x4756_) (- _x4756_ '1))) - (define fx1+ (lambda (_x4754_) (fx+ _x4754_ '1))) - (define fx1- (lambda (_x4752_) (fx- _x4752_ '1))) + (_K48154833_ _rest4843_ _hd4841_))) + (let () (declare (not safe)) (_else48134827_))))))) + (define 1+ (lambda (_x4802_) (+ _x4802_ '1))) + (define 1- (lambda (_x4800_) (- _x4800_ '1))) + (define fx1+ (lambda (_x4798_) (fx+ _x4798_ '1))) + (define fx1- (lambda (_x4796_) (fx- _x4796_ '1))) (define fxshift fxarithmetic-shift) (define fx/ fxquotient) (define interned-symbol? - (lambda (_x4750_) - (if (let () (declare (not safe)) (symbol? _x4750_)) - (let ((__tmp8618 (uninterned-symbol? _x4750_))) + (lambda (_x4794_) + (if (let () (declare (not safe)) (symbol? _x4794_)) + (let ((__tmp8662 (uninterned-symbol? _x4794_))) (declare (not safe)) - (not __tmp8618)) + (not __tmp8662)) '#f))) + (define display-as-string + (lambda (_x4766_ _port4767_) + (if (or (let () (declare (not safe)) (string? _x4766_)) + (let () (declare (not safe)) (symbol? _x4766_)) + (keyword? _x4766_) + (let () (declare (not safe)) (number? _x4766_)) + (let () (declare (not safe)) (char? _x4766_))) + (display _x4766_ _port4767_) + (if (let () (declare (not safe)) (pair? _x4766_)) + (begin + (let ((__tmp8663 (car _x4766_))) + (declare (not safe)) + (display-as-string __tmp8663 _port4767_)) + (let ((__tmp8664 (cdr _x4766_))) + (declare (not safe)) + (display-as-string __tmp8664 _port4767_))) + (if (let () (declare (not safe)) (vector? _x4766_)) + (vector-for-each + (lambda (_g47804782_) + (let () + (declare (not safe)) + (display-as-string _g47804782_ _port4767_))) + _x4766_) + (if (or (let () (declare (not safe)) (null? _x4766_)) + (let () (declare (not safe)) (eq? _x4766_ '#!void)) + (let () (declare (not safe)) (eof-object? _x4766_)) + (let () (declare (not safe)) (boolean? _x4766_))) + '#!void + (error '"cannot convert as string" _x4766_))))))) + (define as-string__0 + (lambda (_x4754_) + (if (let () (declare (not safe)) (string? _x4754_)) + _x4754_ + (if (let () (declare (not safe)) (symbol? _x4754_)) + (symbol->string _x4754_) + (if (keyword? _x4754_) + (keyword->string _x4754_) + (call-with-output-string + '() + (lambda (_g47554757_) + (let () + (declare (not safe)) + (display-as-string _x4754_ _g47554757_))))))))) + (define as-string__1 + (lambda _args4760_ + (call-with-output-string + '() + (lambda (_g47614763_) + (let () + (declare (not safe)) + (display-as-string _args4760_ _g47614763_)))))) + (define as-string + (lambda _g8666_ + (let ((_g8665_ (let () (declare (not safe)) (##length _g8666_)))) + (cond ((let () (declare (not safe)) (##fx= _g8665_ 1)) + (apply (lambda (_x4754_) + (let () (declare (not safe)) (as-string__0 _x4754_))) + _g8666_)) + (#t (apply as-string__1 _g8666_)) + (else + (##raise-wrong-number-of-arguments-exception + as-string + _g8666_)))))) + (define make-symbol__0 + (lambda (_x4750_) + (if (interned-symbol? _x4750_) + _x4750_ + (string->symbol + (let () (declare (not safe)) (as-string__0 _x4750_)))))) + (define make-symbol__1 + (lambda _args4752_ (string->symbol (apply as-string _args4752_)))) (define make-symbol - (lambda _args4746_ - (string->symbol - (apply string-append - (map (lambda (_x4748_) - (if (let () (declare (not safe)) (string? _x4748_)) - _x4748_ - (if (let () (declare (not safe)) (symbol? _x4748_)) - (symbol->string _x4748_) - (if (keyword? _x4748_) - (keyword->string _x4748_) - (if (let () - (declare (not safe)) - (number? _x4748_)) - (number->string _x4748_) - (error '"cannot convert to symbol" - _x4748_)))))) - _args4746_))))) + (lambda _g8668_ + (let ((_g8667_ (let () (declare (not safe)) (##length _g8668_)))) + (cond ((let () (declare (not safe)) (##fx= _g8667_ 1)) + (apply (lambda (_x4750_) + (let () + (declare (not safe)) + (make-symbol__0 _x4750_))) + _g8668_)) + (#t (apply make-symbol__1 _g8668_)) + (else + (##raise-wrong-number-of-arguments-exception + make-symbol + _g8668_)))))) + (define make-keyword__0 + (lambda (_x4746_) + (if (interned-keyword? _x4746_) + _x4746_ + (string->keyword + (let () (declare (not safe)) (as-string__0 _x4746_)))))) + (define make-keyword__1 + (lambda _args4748_ (string->keyword (apply as-string _args4748_)))) + (define make-keyword + (lambda _g8670_ + (let ((_g8669_ (let () (declare (not safe)) (##length _g8670_)))) + (cond ((let () (declare (not safe)) (##fx= _g8669_ 1)) + (apply (lambda (_x4746_) + (let () + (declare (not safe)) + (make-keyword__0 _x4746_))) + _g8670_)) + (#t (apply make-keyword__1 _g8670_)) + (else + (##raise-wrong-number-of-arguments-exception + make-keyword + _g8670_)))))) (define interned-keyword? (lambda (_x4744_) (if (keyword? _x4744_) - (let ((__tmp8619 (uninterned-keyword? _x4744_))) + (let ((__tmp8671 (uninterned-keyword? _x4744_))) (declare (not safe)) - (not __tmp8619)) + (not __tmp8671)) '#f))) (define symbol->keyword (lambda (_sym4742_) @@ -1592,18 +1681,18 @@ (utf8->string _bstr4718_) (let* ((_in4721_ (open-input-u8vector - (let ((__tmp8620 - (let ((__tmp8621 - (let ((__tmp8622 + (let ((__tmp8672 + (let ((__tmp8673 + (let ((__tmp8674 (let () (declare (not safe)) (cons _bstr4718_ '())))) (declare (not safe)) - (cons 'init: __tmp8622)))) + (cons 'init: __tmp8674)))) (declare (not safe)) - (cons _enc4719_ __tmp8621)))) + (cons _enc4719_ __tmp8673)))) (declare (not safe)) - (cons 'char-encoding: __tmp8620)))) + (cons 'char-encoding: __tmp8672)))) (_len4723_ (u8vector-length _bstr4718_)) (_out4725_ (make-string _len4723_)) (_n4727_ (read-substring _out4725_ '0 _len4723_ _in4721_))) @@ -1615,24 +1704,24 @@ (declare (not safe)) (bytes->string__% _bstr4733_ _enc4735_)))) (define bytes->string - (lambda _g8624_ - (let ((_g8623_ (let () (declare (not safe)) (##length _g8624_)))) - (cond ((let () (declare (not safe)) (##fx= _g8623_ 1)) + (lambda _g8676_ + (let ((_g8675_ (let () (declare (not safe)) (##length _g8676_)))) + (cond ((let () (declare (not safe)) (##fx= _g8675_ 1)) (apply (lambda (_bstr4733_) (let () (declare (not safe)) (bytes->string__0 _bstr4733_))) - _g8624_)) - ((let () (declare (not safe)) (##fx= _g8623_ 2)) + _g8676_)) + ((let () (declare (not safe)) (##fx= _g8675_ 2)) (apply (lambda (_bstr4737_ _enc4738_) (let () (declare (not safe)) (bytes->string__% _bstr4737_ _enc4738_))) - _g8624_)) + _g8676_)) (else (##raise-wrong-number-of-arguments-exception bytes->string - _g8624_)))))) + _g8676_)))))) (define string->bytes__% (lambda (_str4704_ _enc4705_) (if (let () (declare (not safe)) (eq? _enc4705_ 'UTF-8)) @@ -1648,34 +1737,34 @@ (declare (not safe)) (string->bytes__% _str4710_ _enc4712_)))) (define string->bytes - (lambda _g8626_ - (let ((_g8625_ (let () (declare (not safe)) (##length _g8626_)))) - (cond ((let () (declare (not safe)) (##fx= _g8625_ 1)) + (lambda _g8678_ + (let ((_g8677_ (let () (declare (not safe)) (##length _g8678_)))) + (cond ((let () (declare (not safe)) (##fx= _g8677_ 1)) (apply (lambda (_str4710_) (let () (declare (not safe)) (string->bytes__0 _str4710_))) - _g8626_)) - ((let () (declare (not safe)) (##fx= _g8625_ 2)) + _g8678_)) + ((let () (declare (not safe)) (##fx= _g8677_ 2)) (apply (lambda (_str4714_ _enc4715_) (let () (declare (not safe)) (string->bytes__% _str4714_ _enc4715_))) - _g8626_)) + _g8678_)) (else (##raise-wrong-number-of-arguments-exception string->bytes - _g8626_)))))) + _g8678_)))))) (define substring->bytes__% (lambda (_str4682_ _start4683_ _end4684_ _enc4685_) (if (let () (declare (not safe)) (eq? _enc4685_ 'UTF-8)) (string->utf8 _str4682_ _start4683_ _end4684_) (let ((_out4687_ (open-output-u8vector - (let ((__tmp8627 + (let ((__tmp8679 (let () (declare (not safe)) (cons _enc4685_ '())))) (declare (not safe)) - (cons 'char-encoding: __tmp8627))))) + (cons 'char-encoding: __tmp8679))))) (write-substring _str4682_ _start4683_ _end4684_ _out4687_) (get-output-u8vector _out4687_))))) (define substring->bytes__0 @@ -1684,9 +1773,9 @@ (declare (not safe)) (substring->bytes__% _str4692_ _start4693_ _end4694_ _enc4696_)))) (define substring->bytes - (lambda _g8629_ - (let ((_g8628_ (let () (declare (not safe)) (##length _g8629_)))) - (cond ((let () (declare (not safe)) (##fx= _g8628_ 3)) + (lambda _g8681_ + (let ((_g8680_ (let () (declare (not safe)) (##length _g8681_)))) + (cond ((let () (declare (not safe)) (##fx= _g8680_ 3)) (apply (lambda (_str4692_ _start4693_ _end4694_) (let () (declare (not safe)) @@ -1694,8 +1783,8 @@ _str4692_ _start4693_ _end4694_))) - _g8629_)) - ((let () (declare (not safe)) (##fx= _g8628_ 4)) + _g8681_)) + ((let () (declare (not safe)) (##fx= _g8680_ 4)) (apply (lambda (_str4698_ _start4699_ _end4700_ _enc4701_) (let () (declare (not safe)) @@ -1704,16 +1793,16 @@ _start4699_ _end4700_ _enc4701_))) - _g8629_)) + _g8681_)) (else (##raise-wrong-number-of-arguments-exception substring->bytes - _g8629_)))))) + _g8681_)))))) (define string-empty? (lambda (_str4679_) - (let ((__tmp8630 (string-length _str4679_))) + (let ((__tmp8682 (string-length _str4679_))) (declare (not safe)) - (##fxzero? __tmp8630)))) + (##fxzero? __tmp8682)))) (define string-prefix? (lambda (_prefix4669_ _str4670_) (let ((_str-len4672_ (string-length _str4670_)) @@ -1725,22 +1814,22 @@ (if (let () (declare (not safe)) (##fx< _i4677_ _prefix-len4673_)) - (if (let ((__tmp8633 + (if (let ((__tmp8685 (let () (declare (not safe)) (##string-ref _str4670_ _i4677_))) - (__tmp8632 + (__tmp8684 (let () (declare (not safe)) (##string-ref _prefix4669_ _i4677_)))) (declare (not safe)) - (eq? __tmp8633 __tmp8632)) - (let ((__tmp8631 + (eq? __tmp8685 __tmp8684)) + (let ((__tmp8683 (let () (declare (not safe)) (##fx+ _i4677_ '1)))) (declare (not safe)) - (_lp4675_ __tmp8631)) + (_lp4675_ __tmp8683)) '#f) '#t)) '#f)))) @@ -1749,17 +1838,17 @@ (let ((_len4651_ (string-length _str4647_))) (let _lp4653_ ((_k4655_ _start4649_)) (if (let () (declare (not safe)) (##fx< _k4655_ _len4651_)) - (if (let ((__tmp8635 + (if (let ((__tmp8687 (let () (declare (not safe)) (##string-ref _str4647_ _k4655_)))) (declare (not safe)) - (eq? _char4648_ __tmp8635)) + (eq? _char4648_ __tmp8687)) _k4655_ - (let ((__tmp8634 + (let ((__tmp8686 (let () (declare (not safe)) (##fx+ _k4655_ '1)))) (declare (not safe)) - (_lp4653_ __tmp8634))) + (_lp4653_ __tmp8686))) '#f))))) (define string-index__0 (lambda (_str4660_ _char4661_) @@ -1767,15 +1856,15 @@ (declare (not safe)) (string-index__% _str4660_ _char4661_ _start4663_)))) (define string-index - (lambda _g8637_ - (let ((_g8636_ (let () (declare (not safe)) (##length _g8637_)))) - (cond ((let () (declare (not safe)) (##fx= _g8636_ 2)) + (lambda _g8689_ + (let ((_g8688_ (let () (declare (not safe)) (##length _g8689_)))) + (cond ((let () (declare (not safe)) (##fx= _g8688_ 2)) (apply (lambda (_str4660_ _char4661_) (let () (declare (not safe)) (string-index__0 _str4660_ _char4661_))) - _g8637_)) - ((let () (declare (not safe)) (##fx= _g8636_ 3)) + _g8689_)) + ((let () (declare (not safe)) (##fx= _g8688_ 3)) (apply (lambda (_str4665_ _char4666_ _start4667_) (let () (declare (not safe)) @@ -1783,11 +1872,11 @@ _str4665_ _char4666_ _start4667_))) - _g8637_)) + _g8689_)) (else (##raise-wrong-number-of-arguments-exception string-index - _g8637_)))))) + _g8689_)))))) (define string-rindex__% (lambda (_str4618_ _char4619_ _start4620_) (let* ((_len4622_ (string-length _str4618_)) @@ -1798,17 +1887,17 @@ (let () (declare (not safe)) (##fx- _len4622_ '1)))))) (let _lp4630_ ((_k4632_ _start4627_)) (if (let () (declare (not safe)) (##fx>= _k4632_ '0)) - (if (let ((__tmp8639 + (if (let ((__tmp8691 (let () (declare (not safe)) (##string-ref _str4618_ _k4632_)))) (declare (not safe)) - (eq? _char4619_ __tmp8639)) + (eq? _char4619_ __tmp8691)) _k4632_ - (let ((__tmp8638 + (let ((__tmp8690 (let () (declare (not safe)) (##fx- _k4632_ '1)))) (declare (not safe)) - (_lp4630_ __tmp8638))) + (_lp4630_ __tmp8690))) '#f))))) (define string-rindex__0 (lambda (_str4637_ _char4638_) @@ -1816,15 +1905,15 @@ (declare (not safe)) (string-rindex__% _str4637_ _char4638_ _start4640_)))) (define string-rindex - (lambda _g8641_ - (let ((_g8640_ (let () (declare (not safe)) (##length _g8641_)))) - (cond ((let () (declare (not safe)) (##fx= _g8640_ 2)) + (lambda _g8693_ + (let ((_g8692_ (let () (declare (not safe)) (##length _g8693_)))) + (cond ((let () (declare (not safe)) (##fx= _g8692_ 2)) (apply (lambda (_str4637_ _char4638_) (let () (declare (not safe)) (string-rindex__0 _str4637_ _char4638_))) - _g8641_)) - ((let () (declare (not safe)) (##fx= _g8640_ 3)) + _g8693_)) + ((let () (declare (not safe)) (##fx= _g8692_ 3)) (apply (lambda (_str4642_ _char4643_ _start4644_) (let () (declare (not safe)) @@ -1832,11 +1921,11 @@ _str4642_ _char4643_ _start4644_))) - _g8641_)) + _g8693_)) (else (##raise-wrong-number-of-arguments-exception string-rindex - _g8641_)))))) + _g8693_)))))) (define string-split (lambda (_str4602_ _char4603_) (let ((_len4605_ (string-length _str4602_))) @@ -1847,10 +1936,10 @@ (string-index _str4602_ _char4603_ _start4609_)))) (if _$e4612_ ((lambda (_end4615_) - (let ((__tmp8645 + (let ((__tmp8697 (let () (declare (not safe)) (##fx+ _end4615_ '1))) - (__tmp8643 - (let ((__tmp8644 + (__tmp8695 + (let ((__tmp8696 (let () (declare (not safe)) (##substring @@ -1858,14 +1947,14 @@ _start4609_ _end4615_)))) (declare (not safe)) - (cons __tmp8644 _r4610_)))) + (cons __tmp8696 _r4610_)))) (declare (not safe)) - (_lp4607_ __tmp8645 __tmp8643))) + (_lp4607_ __tmp8697 __tmp8695))) _$e4612_) (if (let () (declare (not safe)) (##fx< _start4609_ _len4605_)) - (let ((__tmp8642 + (let ((__tmp8694 (list (let () (declare (not safe)) (##substring @@ -1873,7 +1962,7 @@ _start4609_ _len4605_))))) (declare (not safe)) - (foldl1 cons __tmp8642 _r4610_)) + (foldl1 cons __tmp8694 _r4610_)) (reverse _r4610_)))))))) (define string-join (lambda (_strs4507_ _join4508_) @@ -1890,24 +1979,24 @@ (if (let () (declare (not safe)) (pair? _rest4587_)) - (let ((__tmp8647 - (let ((__tmp8648 + (let ((__tmp8699 + (let ((__tmp8700 (let () (declare (not safe)) (##string-length _hd4588_)))) (declare (not safe)) - (##fx+ __tmp8648 + (##fx+ __tmp8700 _jlen4562_ _len4567_)))) (declare (not safe)) - (_lp4564_ _rest4587_ __tmp8647)) - (let ((__tmp8646 + (_lp4564_ _rest4587_ __tmp8699)) + (let ((__tmp8698 (let () (declare (not safe)) (##string-length _hd4588_)))) (declare (not safe)) - (##fx+ __tmp8646 _len4567_))) + (##fx+ __tmp8698 _len4567_))) (error '"expected string" _hd4588_))))) (if (let () (declare (not safe)) @@ -1959,7 +2048,7 @@ _hdlen4547_ _ostr4518_ _k4524_)) - (let ((__tmp8649 + (let ((__tmp8701 (let () (declare (not safe)) (##fx+ _k4524_ _hdlen4547_)))) @@ -1969,15 +2058,15 @@ '0 _jlen4514_ _ostr4518_ - __tmp8649)) - (let ((__tmp8650 + __tmp8701)) + (let ((__tmp8702 (let () (declare (not safe)) (##fx+ _k4524_ _hdlen4547_ _jlen4514_)))) (declare (not safe)) - (_lp4521_ _rest4544_ __tmp8650))) + (_lp4521_ _rest4544_ __tmp8702))) (begin (let () (declare (not safe)) diff --git a/src/bootstrap/gerbil/runtime/util__1.scm b/src/bootstrap/gerbil/runtime/util__1.scm index f573b9b3e..557a6a625 100644 --- a/src/bootstrap/gerbil/runtime/util__1.scm +++ b/src/bootstrap/gerbil/runtime/util__1.scm @@ -38,160 +38,160 @@ (##cdr _e42674300_)))) (if (gx#stx-null? _tl42654307_) ((lambda (_L4310_ _L4312_) - (let ((__tmp8699 + (let ((__tmp8751 (gx#datum->syntax '#f 'def)) - (__tmp8651 - (let ((__tmp8690 - (let ((__tmp8691 + (__tmp8703 + (let ((__tmp8742 + (let ((__tmp8743 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp8698 (gx#datum->syntax '#f 'key)) - (__tmp8692 - (let ((__tmp8697 + (let ((__tmp8750 (gx#datum->syntax '#f 'key)) + (__tmp8744 + (let ((__tmp8749 (gx#datum->syntax '#f 'lst)) - (__tmp8693 - (let ((__tmp8694 - (let ((__tmp8696 + (__tmp8745 + (let ((__tmp8746 + (let ((__tmp8748 (gx#datum->syntax '#f 'default)) - (__tmp8695 + (__tmp8747 (let () (declare (not safe)) (cons '#f '())))) (declare (not safe)) - (cons __tmp8696 - __tmp8695)))) + (cons __tmp8748 + __tmp8747)))) (declare (not safe)) - (cons __tmp8694 '())))) + (cons __tmp8746 '())))) (declare (not safe)) - (cons __tmp8697 __tmp8693)))) + (cons __tmp8749 __tmp8745)))) (declare (not safe)) - (cons __tmp8698 __tmp8692)))) + (cons __tmp8750 __tmp8744)))) (declare (not safe)) - (cons _L4312_ __tmp8691))) - (__tmp8652 - (let ((__tmp8653 - (let ((__tmp8689 (gx#datum->syntax '#f 'cond)) - (__tmp8654 - (let ((__tmp8671 - (let ((__tmp8676 - (let ((__tmp8688 + (cons _L4312_ __tmp8743))) + (__tmp8704 + (let ((__tmp8705 + (let ((__tmp8741 (gx#datum->syntax '#f 'cond)) + (__tmp8706 + (let ((__tmp8723 + (let ((__tmp8728 + (let ((__tmp8740 (gx#datum->syntax '#f 'and)) - (__tmp8677 - (let ((__tmp8684 - (let ((__tmp8687 + (__tmp8729 + (let ((__tmp8736 + (let ((__tmp8739 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'pair?)) - (__tmp8685 - (let ((__tmp8686 (gx#datum->syntax '#f 'lst))) + (__tmp8737 + (let ((__tmp8738 (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8686 '())))) + (cons __tmp8738 '())))) (declare (not safe)) - (cons __tmp8687 __tmp8685))) - (__tmp8678 - (let ((__tmp8679 - (let ((__tmp8680 - (let ((__tmp8683 + (cons __tmp8739 __tmp8737))) + (__tmp8730 + (let ((__tmp8731 + (let ((__tmp8732 + (let ((__tmp8735 (gx#datum->syntax '#f 'key)) - (__tmp8681 - (let ((__tmp8682 + (__tmp8733 + (let ((__tmp8734 (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8682 '())))) + (cons __tmp8734 '())))) (declare (not safe)) - (cons __tmp8683 __tmp8681)))) + (cons __tmp8735 __tmp8733)))) (declare (not safe)) - (cons _L4310_ __tmp8680)))) + (cons _L4310_ __tmp8732)))) (declare (not safe)) - (cons __tmp8679 '())))) + (cons __tmp8731 '())))) (declare (not safe)) - (cons __tmp8684 __tmp8678)))) + (cons __tmp8736 __tmp8730)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8688 __tmp8677))) - (__tmp8672 - (let ((__tmp8675 + (cons __tmp8740 __tmp8729))) + (__tmp8724 + (let ((__tmp8727 (gx#datum->syntax '#f '=>)) - (__tmp8673 - (let ((__tmp8674 + (__tmp8725 + (let ((__tmp8726 (gx#datum->syntax '#f 'cdr))) (declare (not safe)) - (cons __tmp8674 + (cons __tmp8726 '())))) (declare (not safe)) - (cons __tmp8675 - __tmp8673)))) + (cons __tmp8727 + __tmp8725)))) (declare (not safe)) - (cons __tmp8676 __tmp8672))) - (__tmp8655 - (let ((__tmp8661 - (let ((__tmp8667 - (let ((__tmp8670 + (cons __tmp8728 __tmp8724))) + (__tmp8707 + (let ((__tmp8713 + (let ((__tmp8719 + (let ((__tmp8722 (gx#datum->syntax '#f 'procedure?)) - (__tmp8668 - (let ((__tmp8669 + (__tmp8720 + (let ((__tmp8721 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'default))) (declare (not safe)) - (cons __tmp8669 '())))) + (cons __tmp8721 '())))) (declare (not safe)) - (cons __tmp8670 __tmp8668))) - (__tmp8662 - (let ((__tmp8663 - (let ((__tmp8666 (gx#datum->syntax '#f 'default)) - (__tmp8664 - (let ((__tmp8665 (gx#datum->syntax '#f 'key))) + (cons __tmp8722 __tmp8720))) + (__tmp8714 + (let ((__tmp8715 + (let ((__tmp8718 (gx#datum->syntax '#f 'default)) + (__tmp8716 + (let ((__tmp8717 (gx#datum->syntax '#f 'key))) (declare (not safe)) - (cons __tmp8665 '())))) + (cons __tmp8717 '())))) (declare (not safe)) - (cons __tmp8666 __tmp8664)))) + (cons __tmp8718 __tmp8716)))) (declare (not safe)) - (cons __tmp8663 '())))) + (cons __tmp8715 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8667 __tmp8662))) - (__tmp8656 - (let ((__tmp8657 - (let ((__tmp8660 + (cons __tmp8719 __tmp8714))) + (__tmp8708 + (let ((__tmp8709 + (let ((__tmp8712 (gx#datum->syntax '#f 'else)) - (__tmp8658 - (let ((__tmp8659 + (__tmp8710 + (let ((__tmp8711 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'default))) (declare (not safe)) - (cons __tmp8659 '())))) + (cons __tmp8711 '())))) (declare (not safe)) - (cons __tmp8660 __tmp8658)))) + (cons __tmp8712 __tmp8710)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8657 '())))) + (cons __tmp8709 '())))) (declare (not safe)) - (cons __tmp8661 __tmp8656)))) + (cons __tmp8713 __tmp8708)))) (declare (not safe)) - (cons __tmp8671 __tmp8655)))) + (cons __tmp8723 __tmp8707)))) (declare (not safe)) - (cons __tmp8689 __tmp8654)))) + (cons __tmp8741 __tmp8706)))) (declare (not safe)) - (cons __tmp8653 '())))) + (cons __tmp8705 '())))) (declare (not safe)) - (cons __tmp8690 __tmp8652)))) + (cons __tmp8742 __tmp8704)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8699 __tmp8651))) + (cons __tmp8751 __tmp8703))) _hd42664304_ _hd42634294_) (_g42554273_ _g42564277_)))) @@ -237,221 +237,221 @@ (##cdr _e43494382_)))) (if (gx#stx-null? _tl43474389_) ((lambda (_L4392_ _L4394_) - (let ((__tmp8769 + (let ((__tmp8821 (gx#datum->syntax '#f 'def)) - (__tmp8700 - (let ((__tmp8760 - (let ((__tmp8761 + (__tmp8752 + (let ((__tmp8812 + (let ((__tmp8813 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp8768 (gx#datum->syntax '#f 'key)) - (__tmp8762 - (let ((__tmp8767 + (let ((__tmp8820 (gx#datum->syntax '#f 'key)) + (__tmp8814 + (let ((__tmp8819 (gx#datum->syntax '#f 'lst)) - (__tmp8763 - (let ((__tmp8764 - (let ((__tmp8766 + (__tmp8815 + (let ((__tmp8816 + (let ((__tmp8818 (gx#datum->syntax '#f 'default)) - (__tmp8765 + (__tmp8817 (let () (declare (not safe)) (cons '#f '())))) (declare (not safe)) - (cons __tmp8766 - __tmp8765)))) + (cons __tmp8818 + __tmp8817)))) (declare (not safe)) - (cons __tmp8764 '())))) + (cons __tmp8816 '())))) (declare (not safe)) - (cons __tmp8767 __tmp8763)))) + (cons __tmp8819 __tmp8815)))) (declare (not safe)) - (cons __tmp8768 __tmp8762)))) + (cons __tmp8820 __tmp8814)))) (declare (not safe)) - (cons _L4394_ __tmp8761))) - (__tmp8701 - (let ((__tmp8702 - (let ((__tmp8759 (gx#datum->syntax '#f 'let)) - (__tmp8703 - (let ((__tmp8758 (gx#datum->syntax '#f 'lp)) - (__tmp8704 - (let ((__tmp8753 - (let ((__tmp8754 - (let ((__tmp8757 + (cons _L4394_ __tmp8813))) + (__tmp8753 + (let ((__tmp8754 + (let ((__tmp8811 (gx#datum->syntax '#f 'let)) + (__tmp8755 + (let ((__tmp8810 (gx#datum->syntax '#f 'lp)) + (__tmp8756 + (let ((__tmp8805 + (let ((__tmp8806 + (let ((__tmp8809 (gx#datum->syntax '#f 'rest)) - (__tmp8755 - (let ((__tmp8756 + (__tmp8807 + (let ((__tmp8808 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8756 '())))) + (cons __tmp8808 '())))) (declare (not safe)) - (cons __tmp8757 __tmp8755)))) + (cons __tmp8809 __tmp8807)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8754 '()))) - (__tmp8705 - (let ((__tmp8706 - (let ((__tmp8752 + (cons __tmp8806 '()))) + (__tmp8757 + (let ((__tmp8758 + (let ((__tmp8804 (gx#datum->syntax '#f 'match)) - (__tmp8707 - (let ((__tmp8751 + (__tmp8759 + (let ((__tmp8803 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'rest)) - (__tmp8708 - (let ((__tmp8727 - (let ((__tmp8744 - (let ((__tmp8750 + (__tmp8760 + (let ((__tmp8779 + (let ((__tmp8796 + (let ((__tmp8802 (gx#datum->syntax '#f '@list)) - (__tmp8745 - (let ((__tmp8749 + (__tmp8797 + (let ((__tmp8801 (gx#datum->syntax '#f 'k)) - (__tmp8746 - (let ((__tmp8748 + (__tmp8798 + (let ((__tmp8800 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'v)) - (__tmp8747 (gx#datum->syntax '#f 'rest))) + (__tmp8799 (gx#datum->syntax '#f 'rest))) (declare (not safe)) - (cons __tmp8748 __tmp8747)))) + (cons __tmp8800 __tmp8799)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8749 - __tmp8746)))) + (cons __tmp8801 + __tmp8798)))) (declare (not safe)) - (cons __tmp8750 __tmp8745))) - (__tmp8728 - (let ((__tmp8729 - (let ((__tmp8743 + (cons __tmp8802 __tmp8797))) + (__tmp8780 + (let ((__tmp8781 + (let ((__tmp8795 (gx#datum->syntax '#f 'if)) - (__tmp8730 - (let ((__tmp8738 + (__tmp8782 + (let ((__tmp8790 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp8739 - (let ((__tmp8742 (gx#datum->syntax '#f 'k)) - (__tmp8740 - (let ((__tmp8741 + (let ((__tmp8791 + (let ((__tmp8794 (gx#datum->syntax '#f 'k)) + (__tmp8792 + (let ((__tmp8793 (gx#datum->syntax '#f 'key))) (declare (not safe)) - (cons __tmp8741 '())))) + (cons __tmp8793 '())))) (declare (not safe)) - (cons __tmp8742 __tmp8740)))) + (cons __tmp8794 __tmp8792)))) (declare (not safe)) - (cons _L4392_ __tmp8739))) - (__tmp8731 - (let ((__tmp8737 (gx#datum->syntax '#f 'v)) - (__tmp8732 - (let ((__tmp8733 - (let ((__tmp8736 + (cons _L4392_ __tmp8791))) + (__tmp8783 + (let ((__tmp8789 (gx#datum->syntax '#f 'v)) + (__tmp8784 + (let ((__tmp8785 + (let ((__tmp8788 (gx#datum->syntax '#f 'lp)) - (__tmp8734 - (let ((__tmp8735 + (__tmp8786 + (let ((__tmp8787 (gx#datum->syntax '#f 'rest))) (declare (not safe)) - (cons __tmp8735 '())))) + (cons __tmp8787 '())))) (declare (not safe)) - (cons __tmp8736 __tmp8734)))) + (cons __tmp8788 __tmp8786)))) (declare (not safe)) - (cons __tmp8733 '())))) + (cons __tmp8785 '())))) (declare (not safe)) - (cons __tmp8737 __tmp8732)))) + (cons __tmp8789 __tmp8784)))) (declare (not safe)) - (cons __tmp8738 __tmp8731)))) + (cons __tmp8790 __tmp8783)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8743 - __tmp8730)))) + (cons __tmp8795 + __tmp8782)))) (declare (not safe)) - (cons __tmp8729 '())))) + (cons __tmp8781 '())))) (declare (not safe)) - (cons __tmp8744 __tmp8728))) - (__tmp8709 - (let ((__tmp8710 - (let ((__tmp8726 + (cons __tmp8796 __tmp8780))) + (__tmp8761 + (let ((__tmp8762 + (let ((__tmp8778 (gx#datum->syntax '#f 'else)) - (__tmp8711 - (let ((__tmp8712 - (let ((__tmp8725 + (__tmp8763 + (let ((__tmp8764 + (let ((__tmp8777 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'if)) - (__tmp8713 - (let ((__tmp8721 - (let ((__tmp8724 + (__tmp8765 + (let ((__tmp8773 + (let ((__tmp8776 (gx#datum->syntax '#f 'procedure?)) - (__tmp8722 - (let ((__tmp8723 + (__tmp8774 + (let ((__tmp8775 (gx#datum->syntax '#f 'default))) (declare (not safe)) - (cons __tmp8723 '())))) + (cons __tmp8775 '())))) (declare (not safe)) - (cons __tmp8724 __tmp8722))) - (__tmp8714 - (let ((__tmp8717 - (let ((__tmp8720 + (cons __tmp8776 __tmp8774))) + (__tmp8766 + (let ((__tmp8769 + (let ((__tmp8772 (gx#datum->syntax '#f 'default)) - (__tmp8718 - (let ((__tmp8719 + (__tmp8770 + (let ((__tmp8771 (gx#datum->syntax '#f 'key))) (declare (not safe)) - (cons __tmp8719 '())))) + (cons __tmp8771 '())))) (declare (not safe)) - (cons __tmp8720 __tmp8718))) - (__tmp8715 - (let ((__tmp8716 + (cons __tmp8772 __tmp8770))) + (__tmp8767 + (let ((__tmp8768 (gx#datum->syntax '#f 'default))) (declare (not safe)) - (cons __tmp8716 '())))) + (cons __tmp8768 '())))) (declare (not safe)) - (cons __tmp8717 __tmp8715)))) + (cons __tmp8769 __tmp8767)))) (declare (not safe)) - (cons __tmp8721 __tmp8714)))) + (cons __tmp8773 __tmp8766)))) (declare (not safe)) - (cons __tmp8725 __tmp8713)))) + (cons __tmp8777 __tmp8765)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8712 '())))) + (cons __tmp8764 '())))) (declare (not safe)) - (cons __tmp8726 __tmp8711)))) + (cons __tmp8778 __tmp8763)))) (declare (not safe)) - (cons __tmp8710 '())))) + (cons __tmp8762 '())))) (declare (not safe)) - (cons __tmp8727 __tmp8709)))) + (cons __tmp8779 __tmp8761)))) (declare (not safe)) - (cons __tmp8751 __tmp8708)))) + (cons __tmp8803 __tmp8760)))) (declare (not safe)) - (cons __tmp8752 __tmp8707)))) + (cons __tmp8804 __tmp8759)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8706 '())))) + (cons __tmp8758 '())))) (declare (not safe)) - (cons __tmp8753 __tmp8705)))) + (cons __tmp8805 __tmp8757)))) (declare (not safe)) - (cons __tmp8758 __tmp8704)))) + (cons __tmp8810 __tmp8756)))) (declare (not safe)) - (cons __tmp8759 __tmp8703)))) + (cons __tmp8811 __tmp8755)))) (declare (not safe)) - (cons __tmp8702 '())))) + (cons __tmp8754 '())))) (declare (not safe)) - (cons __tmp8760 __tmp8701)))) + (cons __tmp8812 __tmp8753)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8769 __tmp8700))) + (cons __tmp8821 __tmp8752))) _hd43484386_ _hd43454376_) (_g43374355_ _g43384359_)))) @@ -497,222 +497,222 @@ (##cdr _e44304463_)))) (if (gx#stx-null? _tl44284470_) ((lambda (_L4473_ _L4475_) - (let ((__tmp8840 + (let ((__tmp8892 (gx#datum->syntax '#f 'def)) - (__tmp8770 - (let ((__tmp8835 - (let ((__tmp8836 + (__tmp8822 + (let ((__tmp8887 + (let ((__tmp8888 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp8839 (gx#datum->syntax '#f 'el)) - (__tmp8837 - (let ((__tmp8838 + (let ((__tmp8891 (gx#datum->syntax '#f 'el)) + (__tmp8889 + (let ((__tmp8890 (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8838 '())))) + (cons __tmp8890 '())))) (declare (not safe)) - (cons __tmp8839 __tmp8837)))) + (cons __tmp8891 __tmp8889)))) (declare (not safe)) - (cons _L4475_ __tmp8836))) - (__tmp8771 - (let ((__tmp8772 - (let ((__tmp8834 (gx#datum->syntax '#f 'let)) - (__tmp8773 - (let ((__tmp8833 (gx#datum->syntax '#f 'lp)) - (__tmp8774 - (let ((__tmp8822 - (let ((__tmp8829 - (let ((__tmp8832 + (cons _L4475_ __tmp8888))) + (__tmp8823 + (let ((__tmp8824 + (let ((__tmp8886 (gx#datum->syntax '#f 'let)) + (__tmp8825 + (let ((__tmp8885 (gx#datum->syntax '#f 'lp)) + (__tmp8826 + (let ((__tmp8874 + (let ((__tmp8881 + (let ((__tmp8884 (gx#datum->syntax '#f 'rest)) - (__tmp8830 - (let ((__tmp8831 + (__tmp8882 + (let ((__tmp8883 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8831 '())))) + (cons __tmp8883 '())))) (declare (not safe)) - (cons __tmp8832 __tmp8830))) - (__tmp8823 - (let ((__tmp8824 - (let ((__tmp8828 (gx#datum->syntax '#f 'r)) - (__tmp8825 - (let ((__tmp8826 - (let ((__tmp8827 + (cons __tmp8884 __tmp8882))) + (__tmp8875 + (let ((__tmp8876 + (let ((__tmp8880 (gx#datum->syntax '#f 'r)) + (__tmp8877 + (let ((__tmp8878 + (let ((__tmp8879 (gx#datum->syntax '#f '@list))) (declare (not safe)) - (cons __tmp8827 '())))) + (cons __tmp8879 '())))) (declare (not safe)) - (cons __tmp8826 '())))) + (cons __tmp8878 '())))) (declare (not safe)) - (cons __tmp8828 __tmp8825)))) + (cons __tmp8880 __tmp8877)))) (declare (not safe)) - (cons __tmp8824 '())))) + (cons __tmp8876 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8829 __tmp8823))) - (__tmp8775 - (let ((__tmp8776 - (let ((__tmp8821 + (cons __tmp8881 __tmp8875))) + (__tmp8827 + (let ((__tmp8828 + (let ((__tmp8873 (gx#datum->syntax '#f 'match)) - (__tmp8777 - (let ((__tmp8820 + (__tmp8829 + (let ((__tmp8872 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'rest)) - (__tmp8778 - (let ((__tmp8784 - (let ((__tmp8815 - (let ((__tmp8819 + (__tmp8830 + (let ((__tmp8836 + (let ((__tmp8867 + (let ((__tmp8871 (gx#datum->syntax '#f '@list)) - (__tmp8816 - (let ((__tmp8818 + (__tmp8868 + (let ((__tmp8870 (gx#datum->syntax '#f 'hd)) - (__tmp8817 + (__tmp8869 (gx#datum->syntax '#f 'rest))) (declare (not safe)) - (cons __tmp8818 - __tmp8817)))) + (cons __tmp8870 + __tmp8869)))) (declare (not safe)) - (cons __tmp8819 __tmp8816))) - (__tmp8785 - (let ((__tmp8786 - (let ((__tmp8814 + (cons __tmp8871 __tmp8868))) + (__tmp8837 + (let ((__tmp8838 + (let ((__tmp8866 (gx#datum->syntax '#f 'if)) - (__tmp8787 - (let ((__tmp8809 + (__tmp8839 + (let ((__tmp8861 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - (let ((__tmp8810 - (let ((__tmp8813 (gx#datum->syntax '#f 'el)) - (__tmp8811 - (let ((__tmp8812 + (let ((__tmp8862 + (let ((__tmp8865 (gx#datum->syntax '#f 'el)) + (__tmp8863 + (let ((__tmp8864 (gx#datum->syntax '#f 'hd))) (declare (not safe)) - (cons __tmp8812 '())))) + (cons __tmp8864 '())))) (declare (not safe)) - (cons __tmp8813 __tmp8811)))) + (cons __tmp8865 __tmp8863)))) (declare (not safe)) - (cons _L4473_ __tmp8810))) - (__tmp8788 - (let ((__tmp8801 - (let ((__tmp8808 + (cons _L4473_ __tmp8862))) + (__tmp8840 + (let ((__tmp8853 + (let ((__tmp8860 (gx#datum->syntax '#f 'foldl1)) - (__tmp8802 - (let ((__tmp8807 + (__tmp8854 + (let ((__tmp8859 (gx#datum->syntax '#f 'cons)) - (__tmp8803 - (let ((__tmp8806 + (__tmp8855 + (let ((__tmp8858 (gx#datum->syntax '#f 'rest)) - (__tmp8804 - (let ((__tmp8805 + (__tmp8856 + (let ((__tmp8857 (gx#datum->syntax '#f 'r))) (declare (not safe)) - (cons __tmp8805 '())))) + (cons __tmp8857 '())))) (declare (not safe)) - (cons __tmp8806 __tmp8804)))) + (cons __tmp8858 __tmp8856)))) (declare (not safe)) - (cons __tmp8807 __tmp8803)))) + (cons __tmp8859 __tmp8855)))) (declare (not safe)) - (cons __tmp8808 __tmp8802))) - (__tmp8789 - (let ((__tmp8790 - (let ((__tmp8800 + (cons __tmp8860 __tmp8854))) + (__tmp8841 + (let ((__tmp8842 + (let ((__tmp8852 (gx#datum->syntax '#f 'lp)) - (__tmp8791 - (let ((__tmp8799 + (__tmp8843 + (let ((__tmp8851 (gx#datum->syntax '#f 'rest)) - (__tmp8792 - (let ((__tmp8793 - (let ((__tmp8798 + (__tmp8844 + (let ((__tmp8845 + (let ((__tmp8850 ;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< (gx#datum->syntax '#f 'cons)) - (__tmp8794 - (let ((__tmp8797 (gx#datum->syntax '#f 'hd)) - (__tmp8795 - (let ((__tmp8796 (gx#datum->syntax '#f 'r))) + (__tmp8846 + (let ((__tmp8849 (gx#datum->syntax '#f 'hd)) + (__tmp8847 + (let ((__tmp8848 (gx#datum->syntax '#f 'r))) (declare (not safe)) - (cons __tmp8796 '())))) + (cons __tmp8848 '())))) (declare (not safe)) - (cons __tmp8797 __tmp8795)))) + (cons __tmp8849 __tmp8847)))) (declare (not safe)) - (cons __tmp8798 __tmp8794)))) + (cons __tmp8850 __tmp8846)))) (declare (not safe)) - (cons __tmp8793 '())))) + (cons __tmp8845 '())))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8799 __tmp8792)))) + (cons __tmp8851 __tmp8844)))) (declare (not safe)) - (cons __tmp8800 __tmp8791)))) + (cons __tmp8852 __tmp8843)))) (declare (not safe)) - (cons __tmp8790 '())))) + (cons __tmp8842 '())))) (declare (not safe)) - (cons __tmp8801 __tmp8789)))) + (cons __tmp8853 __tmp8841)))) (declare (not safe)) - (cons __tmp8809 __tmp8788)))) + (cons __tmp8861 __tmp8840)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8814 - __tmp8787)))) + (cons __tmp8866 + __tmp8839)))) (declare (not safe)) - (cons __tmp8786 '())))) + (cons __tmp8838 '())))) (declare (not safe)) - (cons __tmp8815 __tmp8785))) - (__tmp8779 - (let ((__tmp8780 - (let ((__tmp8783 + (cons __tmp8867 __tmp8837))) + (__tmp8831 + (let ((__tmp8832 + (let ((__tmp8835 (gx#datum->syntax '#f 'else)) - (__tmp8781 - (let ((__tmp8782 + (__tmp8833 + (let ((__tmp8834 (gx#datum->syntax '#f 'lst))) (declare (not safe)) - (cons __tmp8782 '())))) + (cons __tmp8834 '())))) (declare (not safe)) - (cons __tmp8783 __tmp8781)))) + (cons __tmp8835 __tmp8833)))) (declare (not safe)) - (cons __tmp8780 '())))) + (cons __tmp8832 '())))) (declare (not safe)) - (cons __tmp8784 __tmp8779)))) + (cons __tmp8836 __tmp8831)))) (declare (not safe)) - (cons __tmp8820 __tmp8778)))) + (cons __tmp8872 __tmp8830)))) (declare (not safe)) - (cons __tmp8821 __tmp8777)))) + (cons __tmp8873 __tmp8829)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8776 '())))) + (cons __tmp8828 '())))) (declare (not safe)) - (cons __tmp8822 __tmp8775)))) + (cons __tmp8874 __tmp8827)))) (declare (not safe)) - (cons __tmp8833 __tmp8774)))) + (cons __tmp8885 __tmp8826)))) (declare (not safe)) - (cons __tmp8834 __tmp8773)))) + (cons __tmp8886 __tmp8825)))) (declare (not safe)) - (cons __tmp8772 '())))) + (cons __tmp8824 '())))) (declare (not safe)) - (cons __tmp8835 __tmp8771)))) + (cons __tmp8887 __tmp8823)))) ;;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (declare (not safe)) - (cons __tmp8840 __tmp8770))) + (cons __tmp8892 __tmp8822))) _hd44294467_ _hd44264457_) (_g44184436_ _g44194440_)))) diff --git a/src/bootstrap/gerbil/runtime__0.scm b/src/bootstrap/gerbil/runtime__0.scm index 30008c2d2..8bdca9eff 100644 --- a/src/bootstrap/gerbil/runtime__0.scm +++ b/src/bootstrap/gerbil/runtime__0.scm @@ -1,2 +1,2 @@ (declare (block) (standard-bindings) (extended-bindings)) -(begin (define gerbil/runtime::timestamp 1696542233) '#!void) +(begin (define gerbil/runtime::timestamp 1697117311) '#!void) From f5c3cce810b56f6823c5badc8723a9dbbb9cb804 Mon Sep 17 00:00:00 2001 From: vyzo Date: Thu, 12 Oct 2023 22:22:01 +0300 Subject: [PATCH 19/24] Release v0.18 (#1007) Waiting for some automation from @ober; other than that ready to go! --- .gitignore | 2 +- CHANGELOG.md | 2 +- README.md | 2 ++ doc/guide/README.md | 6 ++++++ homebrew/README.org | 13 +++++-------- homebrew/gerbil-scheme.rb | 6 ++---- src/gerbil/runtime/version.ss | 1 + 7 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 src/gerbil/runtime/version.ss diff --git a/.gitignore b/.gitignore index fc2aeda5e..c0f4d11a8 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ src/TAGS .build* doc/node_modules doc/.vuepress/dist -src/gerbil/runtime/version.ss +# src/gerbil/runtime/version.ss src/gerbil/boot-gxi src/bootstrap/static diff --git a/CHANGELOG.md b/CHANGELOG.md index 52271d690..1898b5fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Gerbil Release Notes ## Gerbil v0.18, Nimzowitsch -- Gerbil v0.18; to be released soon +- Gerbil v0.18; October 12, 2023 - Gerbil v0.18-rc1; October 6, 2023 **TL;DR** Gerbil v0.18 is a milestone release, which sets the diff --git a/README.md b/README.md index 458c8e572..20bd42b3e 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,8 @@ You can install them in ubuntu with: $ sudo apt install libssl-dev zlib1g-dev libsqlite3-dev ``` +**Note** If you want to install the latest release (v0.18), you can also use the precompiled binary packages for Ubuntu, Debian, Fedora, and CentOS. They are available in the [v0.18 release](https://github.com/mighty-gerbils/gerbil/releases/tag/v0.18) page. + **If you are on MacOS** you can install Gerbil using our [brew formula](https://github.com/mighty-gerbils/gerbil/blob/master/homebrew/gerbil-scheme.rb): ```shell $ wget https://raw.githubusercontent.com/mighty-gerbils/gerbil/master/homebrew/gerbil-scheme.rb diff --git a/doc/guide/README.md b/doc/guide/README.md index e8ab5712e..854b25364 100644 --- a/doc/guide/README.md +++ b/doc/guide/README.md @@ -78,6 +78,12 @@ Various features can be enabled or disabled by passing `--enable-FEATURE` or `--disable-FEATURE` to `./configure`. Use `./configure --help` to see which features are available. +## Installation using Binary Release Packages + +If you want to install the latest release (v0.18), you can also use +the precompiled binary packages for Ubuntu, Debian, Fedora, and CentOS. +They are available in the [v0.18 release](https://github.com/mighty-gerbils/gerbil/releases/tag/v0.18) page. + ## Installation on MacOS Gerbil is available via a homebrew recipe. If you are on MacOS, you can build using the brew formula. diff --git a/homebrew/README.org b/homebrew/README.org index 8354bfd77..36672c358 100644 --- a/homebrew/README.org +++ b/homebrew/README.org @@ -19,7 +19,7 @@ brew install --HEAD --formula -vd gerbil-scheme.rb #+end_src -* Documentation +* Documentation #+begin_export md