From: Andy Wingo Date: Mon, 30 Jan 2012 18:59:08 +0000 (+0100) Subject: Merge remote-tracking branch 'origin/stable-2.0' X-Git-Url: http://git.hcoop.net/bpt/guile.git/commitdiff_plain/dfadcf85cb3ae9133dece6bc39ed03dd25323d6e?hp=252acfe8e70ac4c7d325588ffea1905fcf6f86b2 Merge remote-tracking branch 'origin/stable-2.0' Conflicts: libguile/debug.h module/ice-9/psyntax-pp.scm module/ice-9/psyntax.scm module/language/tree-il/peval.scm module/language/tree-il/primitives.scm --- diff --git a/NEWS b/NEWS index 9d546f0f8..0edcef75c 100644 --- a/NEWS +++ b/NEWS @@ -25,6 +25,14 @@ different architecture. See the documentation for `--target' in the cross-compiler. See the "Cross building Guile" section of the README, for more on how to cross-compile Guile itself. +** The return of `local-eval'. + +Back by popular demand, `the-environment' and `local-eval' allow the +user to capture a lexical environment, and then evaluate arbitrary +expressions in that context. There is also a new `local-compile' +command. See "Local Evaluation" in the manual, for more. Special +thanks to Mark Weaver for an initial implementation of this feature. + ** Fluids can now have default values. Fluids are used for dynamic and thread-local binding. They have always @@ -77,7 +85,7 @@ default environment. See "Parameters" in the manual, for more information. `current-input-port', `current-output-port', and `current-error-port' are now parameters. -** Add `current-warning-port' +** Add `current-warning-port'. Guile now outputs warnings on a separate port, `current-warning-port', initialized to the value that `current-error-port' has on startup. @@ -97,51 +105,101 @@ locale. However for backwards compatibility with other 2.0.x releases, it does so without actually calling `setlocale'. Please report any bugs in this facility to bug-guile@gnu.org. +** One-armed conditionals: `when' and `unless' + +Guile finally has `when' and `unless' in the default environment. Use +them whenever you would use an `if' with only one branch. See +"Conditionals" in the manual, for more. + +** `current-filename', `add-to-load-path' + +There is a new form, `(current-filename)', which expands out to the +source file in which it occurs. Combined with the new +`add-to-load-path', this allows simple scripts to easily add nearby +directories to the load path. See "Load Paths" in the manual, for more. + +** `random-state-from-platform' + +This procedure initializes a random seed using good random sources +available on your platform, such as /dev/urandom. See "Random Number +Generation" in the manual, for more. + +** Manual updates + +Besides the sections already mentioned, the following manual sections +are new in this release: "Modules and the File System", "Module System +Reflection", "Syntax Transformer Helpers", and "Local Inclusion". + * New interfaces ** (ice-9 session): `apropos-hook' ** New print option: `escape-newlines', defaults to #t. ** (ice-9 ftw): `file-system-fold', `file-system-tree', `scandir' +** `scm_c_value_ref': access to multiple returned values from C +** scm_call (a varargs version), scm_call_7, scm_call_8, scm_call_9 +** Some new syntax helpers in (system syntax) + +Search the manual for these identifiers and modules, for more. + +* Build fixes + +** FreeBSD build fixes. +** OpenBSD compilation fixes. +** Solaris 2.10 test suite fixes. +** IA64 compilation fix. +** MinGW build fixes. +** Work around instruction reordering on SPARC and HPPA in the VM. +** Gnulib updates: added `dirfd', `setenv' modules. * Bug fixes -** Fix R6RS `fold-left' so the accumulator is the first argument. -** fix serialization. -** Fix bugs in the new `peval' optimizer. -** Allow values bound in non-tail let expressions to be collected. -** Fix bit-set*! bug from 2005. -** Fix bug in `make-repl' when `lang' is actually a language. -** Hack the port-column of current-output-port after printing a prompt. +** Add a deprecated alias for $expt. +** Add an exception printer for `getaddrinfo-error'. +** Add deprecated shim for `scm_display_error' with stack as first argument. +** Add warnings for unsupported `simple-format' options. +** Allow overlapping regions to be passed to `bytevector-copy!'. +** Avoid calling `u32_conv_from_encoding' on the null string. +** Better function prologue disassembly +** Compiler: fix miscompilation of (values foo ...) in some contexts. +** Compiler: fix serialization of #nil-terminated lists. +** Compiler: allow values bound in non-tail let expressions to be collected. +** Deprecate SCM_ASRTGO. +** Document invalidity of (begin) as expression; add back-compat shim. +** Don't leak file descriptors when mmaping objcode. +** Empty substrings no longer reference the original stringbuf. +** FFI: Fix `set-pointer-finalizer!' to leave the type cell unchanged. +** FFI: Fix signed/unsigned pointer mismatches in implementation. ** FFI: Hold a weak reference to the CIF made by `procedure->pointer'. ** FFI: Hold a weak reference to the procedure passed to `procedure->pointer'. ** FFI: Properly unpack small integer return values in closure call. -** Allow overlapping regions to be passed to `bytevector-copy!'. +** Fix R6RS `fold-left' so the accumulator is the first argument. ** Fix `validate-target' in (system base target). -** `,language' at REPL sets the current-language fluid. -** `primitive-load' returns the value(s) of the last expression. -** Add an exception printer for `getaddrinfo-error'. -** Add a deprecated alias for $expt. -** Document invalidity of (begin) as expression; add back-compat shim. -** Web: Allow URIs with empty authorities, like "file:///etc/hosts". -** HTTP: Fix validators for various list-style headers. +** Fix bit-set*! bug from 2005. +** Fix bug in `make-repl' when `lang' is actually a . +** Fix bugs related to mutation, the null string, and shared substrings. +** Fix serialization. +** Fix erroneous check in `set-procedure-properties!'. +** Fix generalized-vector-{ref,set!} for slices. +** Fix error messages involving definition forms. +** Fix primitive-eval to return # for definitions. ** HTTP: Extend handling of "Cache-Control" header. ** HTTP: Fix qstring writing of cache-extension values -** HTTP: `write-request-line' writes absolute paths, not absolute URIs. +** HTTP: Fix validators for various list-style headers. ** HTTP: Permit non-date values for Expires header. -** FreeBSD build fixes. -** Fix generalized-vector-{ref,set!} for slices. -** Fix erroneous check in `set-procedure-properties!'. -** Don't leak file descriptors when mmaping objcode. -** Fix bugs related to mutation, the null string, and shared substrings. -** Deprecate SCM_ASRTGO. -** Add deprecated shim for `scm_display_error' with stack as first argument. -** i18n: Fix gc_malloc/free mismatch on non-GNU systems. -** Make sure `regexp-quote' tests use Unicode-capable string ports. +** HTTP: `write-request-line' writes absolute paths, not absolute URIs. +** Hack the port-column of current-output-port after printing a prompt. ** Have `cpu-word-size' error out on unknown CPUs; add support for MIPSEL. +** Make sure `regexp-quote' tests use Unicode-capable string ports. +** Peval: Fix bugs in the new optimizer. +** Peval: fold (values FOO) to FOO in more cases +** Statistically unique marks and labels, for robust hygiene across sessions. +** Web: Allow URIs with empty authorities, like "file:///etc/hosts". +** `,language' at REPL sets the current-language fluid. +** `primitive-load' returns the value(s) of the last expression. ** `scm_from_stringn' always returns unique strings. -** Empty substrings no longer reference the original stringbuf. ** `scm_i_substring_copy' tries to narrow the substring. -** Avoid calling `u32_conv_from_encoding' on the null string. +** guile-readline: Clean `.go' files. +** i18n: Fix gc_malloc/free mismatch on non-GNU systems. Changes in 2.0.3 (since 2.0.2): diff --git a/configure.ac b/configure.ac index 5f9ead1e0..697761fc8 100644 --- a/configure.ac +++ b/configure.ac @@ -1527,9 +1527,14 @@ case "$GCC" in ## and it became equally exasperating (gcc 2.95 and/or glibc 2.1.2). ## -Wundef was removed because Gnulib prevented it (see ## .) + + ## Build with `-fno-strict-aliasing' to prevent miscompilation on + ## some platforms. See + ## . + POTENTIAL_GCC_CFLAGS="-Wall -Wmissing-prototypes \ -Wdeclaration-after-statement \ - -Wswitch-enum" + -Wswitch-enum -fno-strict-aliasing" # Do this here so we don't screw up any of the tests above that might # not be "warning free" if test "${GUILE_ERROR_ON_WARNING}" = yes diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi index ef3e602bb..8c41d1efd 100644 --- a/doc/ref/api-evaluation.texi +++ b/doc/ref/api-evaluation.texi @@ -20,6 +20,8 @@ loading, evaluating, and compiling Scheme code at run time. * Load Paths:: Where Guile looks for code. * Character Encoding of Source Files:: Loading non-ASCII Scheme code from file. * Delayed Evaluation:: Postponing evaluation until it is needed. +* Local Evaluation:: Evaluation in a local lexical environment. +* Local Inclusion:: Compile-time inclusion of one file in another. @end menu @@ -531,9 +533,24 @@ then there's no @var{arg1}@dots{}@var{argN} and @var{arg} is the @deffnx {C Function} scm_call_4 (proc, arg1, arg2, arg3, arg4) @deffnx {C Function} scm_call_5 (proc, arg1, arg2, arg3, arg4, arg5) @deffnx {C Function} scm_call_6 (proc, arg1, arg2, arg3, arg4, arg5, arg6) +@deffnx {C Function} scm_call_7 (proc, arg1, arg2, arg3, arg4, arg5, arg6, arg7) +@deffnx {C Function} scm_call_8 (proc, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) +@deffnx {C Function} scm_call_9 (proc, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) Call @var{proc} with the given arguments. @end deffn +@deffn {C Function} scm_call (proc, ...) +Call @var{proc} with any number of arguments. The argument list must be +terminated by @code{SCM_UNDEFINED}. For example: + +@example +scm_call (scm_c_public_ref ("guile", "+"), + scm_from_int (1), + scm_from_int (2), + SCM_UNDEFINED); +@end example +@end deffn + @deffn {C Function} scm_call_n (proc, argv, nargs) Call @var{proc} with the array of arguments @var{argv}, as a @code{SCM*}. The length of the arguments should be passed in @@ -807,7 +824,15 @@ The procedure in the previous section look for Scheme code in the file system at specific location. Guile also has some procedures to search the load path for code. -For more on the @code{%load-path} variable, @xref{Build Config}. +@cindex @env{GUILE_LOAD_PATH} +@defvar %load-path +List of directories which should be searched for Scheme modules and +libraries. @code{%load-path} is initialized when Guile starts up to +@code{(list (%site-dir) (%library-dir) (%package-data-dir))}, prepended +with the contents of the @env{GUILE_LOAD_PATH} environment variable, if +it is set. @xref{Build Config}, for more on @code{%site-dir} and +related procedures. +@end defvar @deffn {Scheme Procedure} load-from-path filename Similar to @code{load}, but searches for @var{filename} in the load @@ -819,6 +844,7 @@ A user can extend the load path by calling @code{add-to-load-path}. @deffn {Scheme Syntax} add-to-load-path dir Add @var{dir} to the load path. +@end deffn For example, a script might include this form to add the directory that it is in to the load path: @@ -826,7 +852,6 @@ it is in to the load path: @example (add-to-load-path (dirname (current-filename))) @end example -@end deffn It's better to use @code{add-to-load-path} than to modify @code{%load-path} directly, because @code{add-to-load-path} takes care @@ -850,12 +875,11 @@ the C function takes only one argument, which can be either a string @deffn {Scheme Procedure} %search-load-path filename @deffnx {C Function} scm_sys_search_load_path (filename) -Search @code{%load-path} for the file named @var{filename}, -which must be readable by the current user. If @var{filename} -is found in the list of paths to search or is an absolute -pathname, return its full pathname. Otherwise, return -@code{#f}. Filenames may have any of the optional extensions -in the @code{%load-extensions} list; @code{%search-load-path} +Search @code{%load-path} for the file named @var{filename}, which must +be readable by the current user. If @var{filename} is found in the list +of paths to search or is an absolute pathname, return its full pathname. +Otherwise, return @code{#f}. Filenames may have any of the optional +extensions in the @code{%load-extensions} list; @code{%search-load-path} will try each extension automatically. @end deffn @@ -866,6 +890,61 @@ a file to load. By default, @code{%load-extensions} is bound to the list @code{("" ".scm")}. @end defvar +As mentioned above, when Guile searches the @code{%load-path} for a +source file, it will also search the @code{%load-compiled-path} for a +corresponding compiled file. If the compiled file is as new or newer +than the source file, it will be loaded instead of the source file, +using @code{load-compiled}. + +@defvar %load-compiled-path +Like @code{%load-path}, but for compiled files. By default, this path +has two entries: one for compiled files from Guile itself, and one for +site packages. +@end defvar + +When @code{primitive-load-path} searches the @code{%load-compiled-path} +for a corresponding compiled file for a relative path it does so by +appending @code{.go} to the relative path. For example, searching for +@code{ice-9/popen} could find +@code{/usr/lib/guile/2.0/ccache/ice-9/popen.go}, and use it instead of +@code{/usr/share/guile/2.0/ice-9/popen.scm}. + +If @code{primitive-load-path} does not find a corresponding @code{.go} +file in the @code{%load-compiled-path}, or the @code{.go} file is out of +date, it will search for a corresponding auto-compiled file in the +fallback path, possibly creating one if one does not exist. + +@xref{Installing Site Packages}, for more on how to correctly install +site packages. @xref{Modules and the File System}, for more on the +relationship between load paths and modules. @xref{Compilation}, for +more on the fallback path and auto-compilation. + +Finally, there are a couple of helper procedures for general path +manipulation. + +@deffn {Scheme Procedure} parse-path path [tail] +@deffnx {C Function} scm_parse_path (path, tail) +Parse @var{path}, which is expected to be a colon-separated string, into +a list and return the resulting list with @var{tail} appended. If +@var{path} is @code{#f}, @var{tail} is returned. +@end deffn + +@deffn {Scheme Procedure} search-path path filename [extensions [require-exts?]] +@deffnx {C Function} scm_search_path (path, filename, rest) +Search @var{path} for a directory containing a file named +@var{filename}. The file must be readable, and not a directory. If we +find one, return its full filename; otherwise, return @code{#f}. If +@var{filename} is absolute, return it unchanged. If given, +@var{extensions} is a list of strings; for each directory in @var{path}, +we search for @var{filename} concatenated with each @var{extension}. If +@var{require-exts?} is true, require that the returned file name have +one of the given extensions; if @var{require-exts?} is not given, it +defaults to @code{#f}. + +For compatibility with Guile 1.8 and earlier, the C function takes only +three arguments. +@end deffn + @node Character Encoding of Source Files @subsection Character Encoding of Source Files @@ -980,6 +1059,125 @@ value. @end deffn +@node Local Evaluation +@subsection Local Evaluation + +Guile includes a facility to capture a lexical environment, and later +evaluate a new expression within that environment. This code is +implemented in a module. + +@example +(use-modules (ice-9 local-eval)) +@end example + +@deffn syntax the-environment +Captures and returns a lexical environment for use with +@code{local-eval} or @code{local-compile}. +@end deffn + +@deffn {Scheme Procedure} local-eval exp env +@deffnx {C Function} scm_local_eval (exp, env) +@deffnx {Scheme Procedure} local-compile exp env [opts=()] +Evaluate or compile the expression @var{exp} in the lexical environment +@var{env}. +@end deffn + +Here is a simple example, illustrating that it is the variable +that gets captured, not just its value at one point in time. + +@example +(define e (let ((x 100)) (the-environment))) +(define fetch-x (local-eval '(lambda () x) e)) +(fetch-x) +@result{} 100 +(local-eval '(set! x 42) e) +(fetch-x) +@result{} 42 +@end example + +While @var{exp} is evaluated within the lexical environment of +@code{(the-environment)}, it has the dynamic environment of the call to +@code{local-eval}. + +@code{local-eval} and @code{local-compile} can only evaluate +expressions, not definitions. + +@example +(local-eval '(define foo 42) + (let ((x 100)) (the-environment))) +@result{} syntax error: definition in expression context +@end example + +Note that the current implementation of @code{(the-environment)} only +captures ``normal'' lexical bindings, and pattern variables bound by +@code{syntax-case}. It does not currently capture local syntax +transformers bound by @code{let-syntax}, @code{letrec-syntax} or +non-top-level @code{define-syntax} forms. Any attempt to reference such +captured syntactic keywords via @code{local-eval} or +@code{local-compile} produces an error. + + +@node Local Inclusion +@subsection Local Inclusion + +This section has discussed various means of linking Scheme code +together: fundamentally, loading up files at run-time using @code{load} +and @code{load-compiled}. Guile provides another option to compose +parts of programs together at expansion-time instead of at run-time. + +@deffn {Scheme Syntax} include file-name +Open @var{file-name}, at expansion-time, and read the Scheme forms that +it contains, splicing them into the location of the @code{include}, +within a @code{begin}. +@end deffn + +If you are a C programmer, if @code{load} in Scheme is like +@code{dlopen} in C, consider @code{include} to be like the C +preprocessor's @code{#include}. When you use @code{include}, it is as +if the contents of the included file were typed in instead of the +@code{include} form. + +Because the code is included at compile-time, it is available to the +macroexpander. Syntax definitions in the included file are available to +later code in the form in which the @code{include} appears, without the +need for @code{eval-when}. (@xref{Eval When}.) + +For the same reason, compiling a form that uses @code{include} results +in one compilation unit, composed of multiple files. Loading the +compiled file is one @code{stat} operation for the compilation unit, +instead of @code{2*@var{n}} in the case of @code{load} (once for each +loaded source file, and once each corresponding compiled file, in the +best case). + +Unlike @code{load}, @code{include} also works within nested lexical +contexts. It so happens that the optimizer works best within a lexical +context, because all of the uses of bindings in a lexical context are +visible, so composing files by including them within a @code{(let () +...)} can sometimes lead to important speed improvements. + +On the other hand, @code{include} does have all the disadvantages of +early binding: once the code with the @code{include} is compiled, no +change to the included file is reflected in the future behavior of the +including form. + +Also, the particular form of @code{include}, which requires an absolute +path, or a path relative to the current directory at compile-time, is +not very amenable to compiling the source in one place, but then +installing the source to another place. For this reason, Guile provides +another form, @code{include-from-path}, which looks for the source file +to include within a load path. + +@deffn {Scheme Syntax} include-from-path file-name +Like @code{include}, but instead of expecting @code{file-name} to be an +absolute file name, it is expected to be a relative path to search in +the @code{%load-path}. +@end deffn + +@code{include-from-path} is more useful when you want to install all of +the source files for a package (as you should!). It makes it possible +to evaluate an installed file from source, instead of relying on the +@code{.go} file being up to date. + @c Local Variables: @c TeX-master: "guile.texi" @c End: diff --git a/doc/ref/api-foreign.texi b/doc/ref/api-foreign.texi index 82925e68d..6ece7f8ed 100644 --- a/doc/ref/api-foreign.texi +++ b/doc/ref/api-foreign.texi @@ -425,11 +425,11 @@ its own @code{gettext} message catalogue (@pxref{Internationalization}). It will be noted all of the above requires that the Scheme code to be -found in @code{%load-path} (@pxref{Build Config}). Presently it's -left up to the system administrator or each user to augment that path -when installing Guile modules in non-default locations. But having -reached the Scheme code, that code should take care of hitting any of -its own private files etc. +found in @code{%load-path} (@pxref{Load Paths}). Presently it's left up +to the system administrator or each user to augment that path when +installing Guile modules in non-default locations. But having reached +the Scheme code, that code should take care of hitting any of its own +private files etc. @node Foreign Pointers diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi index 02b5d5c8a..f6a03bc32 100644 --- a/doc/ref/api-macros.texi +++ b/doc/ref/api-macros.texi @@ -706,6 +706,23 @@ Return the source properties that correspond to the syntax object @var{x}. @xref{Source Properties}, for more information. @end deffn +Guile also offers some more experimental interfaces in a separate +module. As was the case with the Large Hadron Collider, it is unclear +to our senior macrologists whether adding these interfaces will result +in awesomeness or in the destruction of Guile via the creation of a +singularity. We will preserve their functionality through the 2.0 +series, but we reserve the right to modify them in a future stable +series, to a more than usual degree. + +@example +(use-modules (system syntax)) +@end example + +@deffn {Scheme Procedure} syntax-module id +Return the name of the module whose source contains the identifier +@var{id}. +@end deffn + @deffn {Scheme Procedure} syntax-local-binding id Resolve the identifer @var{id}, a syntax object, within the current lexical environment, and return two values, the binding type and a diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi index 3c96c2a55..b9f975864 100644 --- a/doc/ref/api-modules.texi +++ b/doc/ref/api-modules.texi @@ -98,8 +98,8 @@ types of access are handled by the syntactic form @code{use-modules}, which accepts one or more interface specifications and, upon evaluation, arranges for those interfaces to be available to the current module. This process may include locating and loading code for a given module if -that code has not yet been loaded, following @code{%load-path} (@pxref{Build -Config}). +that code has not yet been loaded, following @code{%load-path} +(@pxref{Modules and the File System}). An @dfn{interface specification} has one of two forms. The first variation is simply to name the module, in which case its public @@ -464,7 +464,7 @@ from in the @dfn{load path}. In this case, loading @code{(ice-9 popen)} will eventually cause Guile to run @code{(primitive-load-path "ice-9/popen")}. @code{primitive-load-path} will search for a file @file{ice-9/popen} in -the @code{%load-path} (@pxref{Build Config}). For each directory in +the @code{%load-path} (@pxref{Load Paths}). For each directory in @code{%load-path}, Guile will try to find the file name, concatenated with the extensions from @code{%load-extensions}. By default, this will cause Guile to @code{stat} @file{ice-9/popen.scm}, and then diff --git a/doc/ref/api-options.texi b/doc/ref/api-options.texi index 6f7568bee..f63597824 100644 --- a/doc/ref/api-options.texi +++ b/doc/ref/api-options.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011 +@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -59,14 +59,14 @@ The @code{effective-version} function returns the version name that should remain unchanged during a stable series. Currently that means that it omits the micro version. The effective version should be used for items like the versioned share directory name -i.e.@: @file{/usr/share/guile/1.6/} +i.e.@: @file{/usr/share/guile/2.0/} @lisp -(version) @result{} "1.6.0" -(effective-version) @result{} "1.6" -(major-version) @result{} "1" -(minor-version) @result{} "6" -(micro-version) @result{} "0" +(version) @result{} "2.0.4" +(effective-version) @result{} "2.0" +(major-version) @result{} "2" +(minor-version) @result{} "0" +(micro-version) @result{} "4" @end lisp @end deffn @@ -86,7 +86,7 @@ party package) are installed. On Unix-like systems this is usually @file{/usr/share/guile/@var{GUILE_EFFECTIVE_VERSION}}; @noindent -for example @file{/usr/local/share/guile/1.6}. +for example @file{/usr/local/share/guile/2.0}. @end deffn @deffn {Scheme Procedure} %site-dir @@ -96,40 +96,6 @@ your site should be installed. On Unix-like systems, this is usually @file{/usr/local/share/guile/site} or @file{/usr/share/guile/site}. @end deffn -@cindex @env{GUILE_LOAD_PATH} -@defvar %load-path -List of directories which should be searched for Scheme modules and -libraries. @code{%load-path} is initialized when Guile starts up to -@code{(list (%site-dir) (%library-dir) (%package-data-dir))}, -prepended with the contents of the @env{GUILE_LOAD_PATH} environment variable, -if it is set. -@end defvar - -@deffn {Scheme Procedure} parse-path path [tail] -@deffnx {C Function} scm_parse_path (path, tail) -Parse @var{path}, which is expected to be a colon-separated -string, into a list and return the resulting list with -@var{tail} appended. If @var{path} is @code{#f}, @var{tail} -is returned. -@end deffn - -@deffn {Scheme Procedure} search-path path filename [extensions [require-exts?]] -@deffnx {C Function} scm_search_path (path, filename, rest) -Search @var{path} for a directory containing a file named -@var{filename}. The file must be readable, and not a directory. -If we find one, return its full filename; otherwise, return -@code{#f}. If @var{filename} is absolute, return it unchanged. -If given, @var{extensions} is a list of strings; for each -directory in @var{path}, we search for @var{filename} -concatenated with each @var{extension}. If @var{require-exts?} -is true, require that the returned file name have one of the -given extensions; if @var{require-exts?} is not given, it -defaults to @code{#f}. - -For compatibility with Guile 1.8 and earlier, the C function takes only -three arguments -@end deffn - @defvar %guile-build-info Alist of information collected during the building of a particular Guile. Entries can be grouped into one of several categories: diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi index 9c6deb667..c3da0c36d 100644 --- a/doc/ref/guile.texi +++ b/doc/ref/guile.texi @@ -14,7 +14,7 @@ This manual documents Guile version @value{VERSION}. Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2009, -2010, 2011 Free Software Foundation. +2010, 2011, 2012 Free Software Foundation. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi index 07096bb41..ae608d70a 100644 --- a/doc/ref/scheme-using.texi +++ b/doc/ref/scheme-using.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 2006, 2010, 2011 +@c Copyright (C) 2006, 2010, 2011, 2012 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -780,7 +780,8 @@ site packages will be Note that a @code{.go} file will only be loaded in preference to a @code{.scm} file if it is newer. For that reason, you should install -your Scheme files first, and your compiled files second. +your Scheme files first, and your compiled files second. @code{Load +Paths}, for more on the loading process. Finally, although this section is only about Scheme, sometimes you need to install C extensions too. Shared libraries should be installed in diff --git a/lib/Makefile.am b/lib/Makefile.am index 3b9c07e1f..a4a996039 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -21,7 +21,7 @@ # the same distribution terms as the rest of that program. # # Generated by gnulib-tool. -# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale environ extensions flock floor fpieee frexp full-read full-write func gendocs getaddrinfo getpeername getsockname getsockopt git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc verify vsnprintf warnings wchar +# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale environ extensions flock floor fpieee frexp full-read full-write func gendocs getaddrinfo getpeername getsockname getsockopt git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc verify vsnprintf warnings wchar AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects @@ -1343,6 +1343,15 @@ EXTRA_libgnu_la_SOURCES += sendto.c ## end gnulib module sendto +## begin gnulib module setenv + + +EXTRA_DIST += setenv.c + +EXTRA_libgnu_la_SOURCES += setenv.c + +## end gnulib module setenv + ## begin gnulib module setsockopt diff --git a/lib/setenv.c b/lib/setenv.c new file mode 100644 index 000000000..75f423f49 --- /dev/null +++ b/lib/setenv.c @@ -0,0 +1,390 @@ +/* Copyright (C) 1992, 1995-2003, 2005-2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +#if !_LIBC +# define _GL_USE_STDLIB_ALLOC 1 +# include +#endif + +/* Don't use __attribute__ __nonnull__ in this compilation unit. Otherwise gcc + optimizes away the name == NULL test below. */ +#define _GL_ARG_NONNULL(params) + +#include + +/* Specification. */ +#include + +#include +#ifndef __set_errno +# define __set_errno(ev) ((errno) = (ev)) +#endif + +#include +#if _LIBC || HAVE_UNISTD_H +# include +#endif + +#if !_LIBC +# include "malloca.h" +#endif + +#if _LIBC || !HAVE_SETENV + +#if !_LIBC +# define __environ environ +#endif + +#if _LIBC +/* This lock protects against simultaneous modifications of 'environ'. */ +# include +__libc_lock_define_initialized (static, envlock) +# define LOCK __libc_lock_lock (envlock) +# define UNLOCK __libc_lock_unlock (envlock) +#else +# define LOCK +# define UNLOCK +#endif + +/* In the GNU C library we must keep the namespace clean. */ +#ifdef _LIBC +# define setenv __setenv +# define clearenv __clearenv +# define tfind __tfind +# define tsearch __tsearch +#endif + +/* In the GNU C library implementation we try to be more clever and + allow arbitrarily many changes of the environment given that the used + values are from a small set. Outside glibc this will eat up all + memory after a while. */ +#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ + && defined __GNUC__) +# define USE_TSEARCH 1 +# include +typedef int (*compar_fn_t) (const void *, const void *); + +/* This is a pointer to the root of the search tree with the known + values. */ +static void *known_values; + +# define KNOWN_VALUE(Str) \ + ({ \ + void *value = tfind (Str, &known_values, (compar_fn_t) strcmp); \ + value != NULL ? *(char **) value : NULL; \ + }) +# define STORE_VALUE(Str) \ + tsearch (Str, &known_values, (compar_fn_t) strcmp) + +#else +# undef USE_TSEARCH + +# define KNOWN_VALUE(Str) NULL +# define STORE_VALUE(Str) do { } while (0) + +#endif + + +/* If this variable is not a null pointer we allocated the current + environment. */ +static char **last_environ; + + +/* This function is used by 'setenv' and 'putenv'. The difference between + the two functions is that for the former must create a new string which + is then placed in the environment, while the argument of 'putenv' + must be used directly. This is all complicated by the fact that we try + to reuse values once generated for a 'setenv' call since we can never + free the strings. */ +int +__add_to_environ (const char *name, const char *value, const char *combined, + int replace) +{ + char **ep; + size_t size; + const size_t namelen = strlen (name); + const size_t vallen = value != NULL ? strlen (value) + 1 : 0; + + LOCK; + + /* We have to get the pointer now that we have the lock and not earlier + since another thread might have created a new environment. */ + ep = __environ; + + size = 0; + if (ep != NULL) + { + for (; *ep != NULL; ++ep) + if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=') + break; + else + ++size; + } + + if (ep == NULL || *ep == NULL) + { + char **new_environ; +#ifdef USE_TSEARCH + char *new_value; +#endif + + /* We allocated this space; we can extend it. */ + new_environ = + (char **) (last_environ == NULL + ? malloc ((size + 2) * sizeof (char *)) + : realloc (last_environ, (size + 2) * sizeof (char *))); + if (new_environ == NULL) + { + /* It's easier to set errno to ENOMEM than to rely on the + 'malloc-posix' and 'realloc-posix' gnulib modules. */ + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + + /* If the whole entry is given add it. */ + if (combined != NULL) + /* We must not add the string to the search tree since it belongs + to the user. */ + new_environ[size] = (char *) combined; + else + { + /* See whether the value is already known. */ +#ifdef USE_TSEARCH +# ifdef _LIBC + new_value = (char *) alloca (namelen + 1 + vallen); + __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), + value, vallen); +# else + new_value = (char *) malloca (namelen + 1 + vallen); + if (new_value == NULL) + { + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + memcpy (new_value, name, namelen); + new_value[namelen] = '='; + memcpy (&new_value[namelen + 1], value, vallen); +# endif + + new_environ[size] = KNOWN_VALUE (new_value); + if (new_environ[size] == NULL) +#endif + { + new_environ[size] = (char *) malloc (namelen + 1 + vallen); + if (new_environ[size] == NULL) + { +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + +#ifdef USE_TSEARCH + memcpy (new_environ[size], new_value, namelen + 1 + vallen); +#else + memcpy (new_environ[size], name, namelen); + new_environ[size][namelen] = '='; + memcpy (&new_environ[size][namelen + 1], value, vallen); +#endif + /* And save the value now. We cannot do this when we remove + the string since then we cannot decide whether it is a + user string or not. */ + STORE_VALUE (new_environ[size]); + } +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + } + + if (__environ != last_environ) + memcpy ((char *) new_environ, (char *) __environ, + size * sizeof (char *)); + + new_environ[size + 1] = NULL; + + last_environ = __environ = new_environ; + } + else if (replace) + { + char *np; + + /* Use the user string if given. */ + if (combined != NULL) + np = (char *) combined; + else + { +#ifdef USE_TSEARCH + char *new_value; +# ifdef _LIBC + new_value = alloca (namelen + 1 + vallen); + __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1), + value, vallen); +# else + new_value = malloca (namelen + 1 + vallen); + if (new_value == NULL) + { + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + memcpy (new_value, name, namelen); + new_value[namelen] = '='; + memcpy (&new_value[namelen + 1], value, vallen); +# endif + + np = KNOWN_VALUE (new_value); + if (np == NULL) +#endif + { + np = (char *) malloc (namelen + 1 + vallen); + if (np == NULL) + { +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + __set_errno (ENOMEM); + UNLOCK; + return -1; + } + +#ifdef USE_TSEARCH + memcpy (np, new_value, namelen + 1 + vallen); +#else + memcpy (np, name, namelen); + np[namelen] = '='; + memcpy (&np[namelen + 1], value, vallen); +#endif + /* And remember the value. */ + STORE_VALUE (np); + } +#if defined USE_TSEARCH && !defined _LIBC + freea (new_value); +#endif + } + + *ep = np; + } + + UNLOCK; + + return 0; +} + +int +setenv (const char *name, const char *value, int replace) +{ + if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) + { + __set_errno (EINVAL); + return -1; + } + + return __add_to_environ (name, value, NULL, replace); +} + +/* The 'clearenv' was planned to be added to POSIX.1 but probably + never made it. Nevertheless the POSIX.9 standard (POSIX bindings + for Fortran 77) requires this function. */ +int +clearenv (void) +{ + LOCK; + + if (__environ == last_environ && __environ != NULL) + { + /* We allocated this environment so we can free it. */ + free (__environ); + last_environ = NULL; + } + + /* Clear the environment pointer removes the whole environment. */ + __environ = NULL; + + UNLOCK; + + return 0; +} + +#ifdef _LIBC +static void +free_mem (void) +{ + /* Remove all traces. */ + clearenv (); + + /* Now remove the search tree. */ + __tdestroy (known_values, free); + known_values = NULL; +} +text_set_element (__libc_subfreeres, free_mem); + + +# undef setenv +# undef clearenv +weak_alias (__setenv, setenv) +weak_alias (__clearenv, clearenv) +#endif + +#endif /* _LIBC || !HAVE_SETENV */ + +/* The rest of this file is called into use when replacing an existing + but buggy setenv. Known bugs include failure to diagnose invalid + name, and consuming a leading '=' from value. */ +#if HAVE_SETENV + +# undef setenv +# if !HAVE_DECL_SETENV +extern int setenv (const char *, const char *, int); +# endif +# define STREQ(a, b) (strcmp (a, b) == 0) + +int +rpl_setenv (const char *name, const char *value, int replace) +{ + int result; + if (!name || !*name || strchr (name, '=')) + { + errno = EINVAL; + return -1; + } + /* Call the real setenv even if replace is 0, in case implementation + has underlying data to update, such as when environ changes. */ + result = setenv (name, value, replace); + if (result == 0 && replace && *value == '=') + { + char *tmp = getenv (name); + if (!STREQ (tmp, value)) + { + int saved_errno; + size_t len = strlen (value); + tmp = malloca (len + 2); + /* Since leading '=' is eaten, double it up. */ + *tmp = '='; + memcpy (tmp + 1, value, len + 1); + result = setenv (name, tmp, replace); + saved_errno = errno; + freea (tmp); + errno = saved_errno; + } + } + return result; +} + +#endif /* HAVE_SETENV */ diff --git a/libguile/debug.c b/libguile/debug.c index c6ce99e7c..87513bf48 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -1,5 +1,5 @@ /* Debugging extensions for Guile - * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008, 2009, 2010, 2011 Free Software Foundation + * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008, 2009, 2010, 2011, 2012 Free Software Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -199,6 +199,17 @@ SCM_DEFINE (scm_debug_hang, "debug-hang", 0, 1, 0, #undef FUNC_NAME #endif +SCM +scm_local_eval (SCM exp, SCM env) +{ + static SCM local_eval_var = SCM_BOOL_F; + + if (scm_is_false (local_eval_var)) + local_eval_var = scm_c_public_variable ("ice-9 local-eval", "local-eval"); + + return scm_call_2 (SCM_VARIABLE_REF (local_eval_var), exp, env); +} + static void init_stack_limit (void) { diff --git a/libguile/debug.h b/libguile/debug.h index 0749d283c..362d9b7e2 100644 --- a/libguile/debug.h +++ b/libguile/debug.h @@ -3,7 +3,7 @@ #ifndef SCM_DEBUG_H #define SCM_DEBUG_H -/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011 +/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011,2012 * Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or @@ -41,6 +41,8 @@ typedef union scm_t_debug_info +SCM_API SCM scm_local_eval (SCM exp, SCM env); + SCM_API SCM scm_reverse_lookup (SCM env, SCM data); SCM_API SCM scm_procedure_source (SCM proc); SCM_API SCM scm_procedure_name (SCM proc); diff --git a/libguile/eval.c b/libguile/eval.c index ad0a84a58..5a42b1ead 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -24,6 +24,7 @@ #endif #include +#include #include "libguile/__scm.h" @@ -520,12 +521,57 @@ scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5, return scm_c_vm_run (scm_the_vm (), proc, args, 6); } +SCM +scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5, + SCM arg6, SCM arg7) +{ + SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 }; + return scm_c_vm_run (scm_the_vm (), proc, args, 7); +} + +SCM +scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5, + SCM arg6, SCM arg7, SCM arg8) +{ + SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 }; + return scm_c_vm_run (scm_the_vm (), proc, args, 8); +} + +SCM +scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5, + SCM arg6, SCM arg7, SCM arg8, SCM arg9) +{ + SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 }; + return scm_c_vm_run (scm_the_vm (), proc, args, 9); +} + SCM scm_call_n (SCM proc, SCM *argv, size_t nargs) { return scm_c_vm_run (scm_the_vm (), proc, argv, nargs); } +SCM +scm_call (SCM proc, ...) +{ + va_list argp; + SCM *argv = NULL; + size_t i, nargs = 0; + + va_start (argp, proc); + while (!SCM_UNBNDP (va_arg (argp, SCM))) + nargs++; + va_end (argp); + + argv = alloca (nargs * sizeof (SCM)); + va_start (argp, proc); + for (i = 0; i < nargs; i++) + argv[i] = va_arg (argp, SCM); + va_end (argp); + + return scm_c_vm_run (scm_the_vm (), proc, argv, nargs); +} + /* Simple procedure applies */ diff --git a/libguile/eval.h b/libguile/eval.h index f193ad64e..014f0dec5 100644 --- a/libguile/eval.h +++ b/libguile/eval.h @@ -72,7 +72,14 @@ SCM_API SCM scm_call_5 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5); SCM_API SCM scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5, SCM arg6); +SCM_API SCM scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, + SCM arg5, SCM arg6, SCM arg7); +SCM_API SCM scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, + SCM arg5, SCM arg6, SCM arg7, SCM arg8); +SCM_API SCM scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, + SCM arg5, SCM arg6, SCM arg7, SCM arg8, SCM arg9); SCM_API SCM scm_call_n (SCM proc, SCM *argv, size_t nargs); +SCM_API SCM scm_call (SCM proc, ...); SCM_API SCM scm_apply_0 (SCM proc, SCM args); SCM_API SCM scm_apply_1 (SCM proc, SCM arg1, SCM args); SCM_API SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args); diff --git a/libguile/gc.c b/libguile/gc.c index 5f61a1de8..6d44f5e38 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -227,6 +227,10 @@ scm_t_c_hook scm_after_gc_c_hook; static void run_before_gc_c_hook (void) { + if (!SCM_I_CURRENT_THREAD) + /* GC while a thread is spinning up; punt. */ + return; + scm_c_hook_run (&scm_before_gc_c_hook, NULL); } diff --git a/libguile/i18n.c b/libguile/i18n.c index 4bb9e2137..5a53bfae5 100644 --- a/libguile/i18n.c +++ b/libguile/i18n.c @@ -645,6 +645,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0, c_locale = newlocale (c_category_mask, c_locale_name, c_base_locale); free (c_locale_name); + c_locale_name = NULL; if (c_locale == (locale_t) 0) { @@ -662,6 +663,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0, c_locale->category_mask = c_category_mask; c_locale->locale_name = scm_gc_strdup (c_locale_name, "locale"); free (c_locale_name); + c_locale_name = NULL; if (scm_is_eq (base_locale, SCM_VARIABLE_REF (scm_global_locale))) { @@ -1652,6 +1654,7 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0, default: result = scm_from_latin1_symbol ("unspecified"); } + free (c_result); break; #endif diff --git a/libguile/macros.c b/libguile/macros.c index 7423e9758..34aa60c83 100644 --- a/libguile/macros.c +++ b/libguile/macros.c @@ -177,12 +177,46 @@ SCM_DEFINE (scm_macro_binding, "macro-binding", 1, 0, 0, #undef FUNC_NAME +static SCM syntax_session_id; + +#define SESSION_ID_LENGTH 22 /* bytes */ +#define BASE64_RADIX_BITS 6 +#define BASE64_RADIX (1 << (BASE64_RADIX_BITS)) +#define BASE64_MASK (BASE64_RADIX - 1) + +static SCM +fresh_syntax_session_id (void) +{ + static const char base64[BASE64_RADIX] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$@"; + + unsigned char digit_buf[SESSION_ID_LENGTH]; + char char_buf[SESSION_ID_LENGTH]; + size_t i; + + scm_i_random_bytes_from_platform (digit_buf, SESSION_ID_LENGTH); + for (i = 0; i < SESSION_ID_LENGTH; ++i) + char_buf[i] = base64[digit_buf[i] & BASE64_MASK]; + + return scm_from_latin1_stringn (char_buf, SESSION_ID_LENGTH); +} + +static SCM +scm_syntax_session_id (void) +{ + return syntax_session_id; +} + + void scm_init_macros () { scm_tc16_macro = scm_make_smob_type ("macro", 0); scm_set_smob_print (scm_tc16_macro, macro_print); #include "libguile/macros.x" + + syntax_session_id = fresh_syntax_session_id(); + scm_c_define_gsubr ("syntax-session-id", 0, 0, 0, scm_syntax_session_id); } /* diff --git a/libguile/symbols.c b/libguile/symbols.c index 9dd204478..9cb300ab0 100644 --- a/libguile/symbols.c +++ b/libguile/symbols.c @@ -33,7 +33,6 @@ #include "libguile/variable.h" #include "libguile/alist.h" #include "libguile/fluids.h" -#include "libguile/threads.h" #include "libguile/strings.h" #include "libguile/vectors.h" #include "libguile/weak-set.h" @@ -379,9 +378,7 @@ SCM_DEFINE (scm_string_ci_to_symbol, "string-ci->symbol", 1, 0, 0, /* The default prefix for `gensym'd symbols. */ static SCM default_gensym_prefix; -#define GENSYM_LENGTH 22 /* bytes */ -#define GENSYM_RADIX_BITS 6 -#define GENSYM_RADIX (1 << (GENSYM_RADIX_BITS)) +#define MAX_PREFIX_LENGTH 30 SCM_DEFINE (scm_gensym, "gensym", 0, 1, 0, (SCM prefix), @@ -392,47 +389,22 @@ SCM_DEFINE (scm_gensym, "gensym", 0, 1, 0, "resetting the counter.") #define FUNC_NAME s_scm_gensym { - static const char base64[GENSYM_RADIX] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$@"; - static const char base4[4] = "_.-~"; - - unsigned char *digit_buf = SCM_I_CURRENT_THREAD->gensym_counter; - char char_buf[GENSYM_LENGTH]; + static int gensym_counter = 0; + SCM suffix, name; - int i; + int n, n_digits; + char buf[SCM_INTBUFLEN]; if (SCM_UNBNDP (prefix)) prefix = default_gensym_prefix; - if (SCM_UNLIKELY (digit_buf == NULL)) - { - /* This is the first time gensym has been called in this thread. - Allocate and randomize our new thread-local gensym counter */ - digit_buf = (unsigned char *) - scm_gc_malloc_pointerless (GENSYM_LENGTH, "gensym-counter"); - scm_i_random_bytes_from_platform (digit_buf, GENSYM_LENGTH); - for (i = (GENSYM_LENGTH - 1); i >= 0; --i) - digit_buf[i] &= (GENSYM_RADIX - 1); - SCM_I_CURRENT_THREAD->gensym_counter = digit_buf; - } - - /* Increment our thread-local gensym_counter. */ - for (i = (GENSYM_LENGTH - 1); i >= 0; --i) - { - if (SCM_LIKELY (++(digit_buf[i]) < GENSYM_RADIX)) - break; - else - digit_buf[i] = 0; - } - - /* Encode digit_buf as base64, except for the first character where we - use the sparse glyphs "_.-~" (base 4) to provide some visual - separation between the prefix and the dense base64 block. */ - for (i = (GENSYM_LENGTH - 1); i > 0; --i) - char_buf[i] = base64[digit_buf[i]]; - char_buf[0] = base4[digit_buf[0] & 3]; + /* mutex in case another thread looks and incs at the exact same moment */ + scm_i_scm_pthread_mutex_lock (&scm_i_misc_mutex); + n = gensym_counter++; + scm_i_pthread_mutex_unlock (&scm_i_misc_mutex); - suffix = scm_from_latin1_stringn (char_buf, GENSYM_LENGTH); + n_digits = scm_iint2str (n, 10, buf); + suffix = scm_from_latin1_stringn (buf, n_digits); name = scm_string_append (scm_list_2 (prefix, suffix)); return scm_string_to_symbol (name); } diff --git a/libguile/threads.c b/libguile/threads.c index df287b1ac..463414f4a 100644 --- a/libguile/threads.c +++ b/libguile/threads.c @@ -544,7 +544,6 @@ guilify_self_1 (struct GC_stack_base *base) t.join_queue = SCM_EOL; t.dynamic_state = SCM_BOOL_F; t.dynwinds = SCM_EOL; - t.gensym_counter = NULL; t.active_asyncs = SCM_EOL; t.block_asyncs = 1; t.pending_asyncs = 1; diff --git a/libguile/threads.h b/libguile/threads.h index 2d2348bde..54d64141b 100644 --- a/libguile/threads.h +++ b/libguile/threads.h @@ -81,10 +81,6 @@ typedef struct scm_i_thread { SCM dynamic_state; SCM dynwinds; - /* Thread-local gensym counter. - */ - unsigned char *gensym_counter; - /* For system asyncs. */ SCM active_asyncs; /* The thunks to be run at the next diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index 0804bad5d..8981042f8 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -1,6 +1,5 @@ -/* Copyright (C) 2001, 2008, 2009, 2010, 2011, - * 2012 Free Software Foundation, Inc. - * +/* Copyright (C) 2001,2008,2009,2010,2011 Free Software Foundation, Inc. + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 3 of @@ -20,17 +19,6 @@ /* This file is included in vm_engine.c */ -/* Compiler barrier, to prevent instruction reordering, apparently due - to a bug in GCC 4.3.2 on sparc-linux-gnu and on hppa2.0-linux-gnu. - See , for details. */ - -#ifdef __GNUC__ -# define COMPILER_BARRIER __asm__ __volatile__ ("") -#else -# define COMPILER_BARRIER do { } while (0) -#endif - - /* * Basic operations @@ -67,7 +55,6 @@ VM_DEFINE_INSTRUCTION (1, halt, "halt", 0, 0, 0) stack */ ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; NULLSTACK (old_sp - sp); } @@ -1280,7 +1267,6 @@ VM_DEFINE_INSTRUCTION (67, return, "return", 0, 1, 1) sp = SCM_FRAME_LOWER_ADDRESS (fp); ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; #ifdef VM_ENABLE_STACK_NULLING NULLSTACK (old_sp - sp); @@ -1316,8 +1302,7 @@ VM_DEFINE_INSTRUCTION (68, return_values, "return/values", 1, -1, -1) sp = SCM_FRAME_LOWER_ADDRESS (fp) - 1; ip = SCM_FRAME_MV_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; - + /* Push return values, and the number of values */ for (i = 0; i < nvalues; i++) *++sp = vals[i+1]; @@ -1337,8 +1322,7 @@ VM_DEFINE_INSTRUCTION (68, return_values, "return/values", 1, -1, -1) sp = SCM_FRAME_LOWER_ADDRESS (fp) - 1; ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; - + /* Push first value */ *++sp = vals[1]; @@ -1729,7 +1713,6 @@ VM_DEFINE_INSTRUCTION (93, assert_nargs_ee_locals, "assert-nargs-ee/locals", 1, NEXT; } -#undef COMPILER_BARRIER /* (defun renumber-ops () diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4 index ea7feade6..8065a0553 100644 --- a/m4/gnulib-cache.m4 +++ b/m4/gnulib-cache.m4 @@ -27,7 +27,7 @@ # Specification in the form of a command-line invocation: -# gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale environ extensions flock floor fpieee frexp full-read full-write func gendocs getaddrinfo getpeername getsockname getsockopt git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc verify vsnprintf warnings wchar +# gnulib-tool --import --dir=. --local-dir=gnulib-local --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --lgpl=3 --no-conditional-dependencies --libtool --macro-prefix=gl --no-vc-files accept alignof alloca-opt announce-gen autobuild bind byteswap canonicalize-lgpl ceil close connect dirfd duplocale environ extensions flock floor fpieee frexp full-read full-write func gendocs getaddrinfo getpeername getsockname getsockopt git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf isnan ldexp lib-symbol-versions lib-symbol-visibility libunistring listen localcharset locale log1p maintainer-makefile malloc-gnu malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat trunc verify vsnprintf warnings wchar # Specification in the form of a few gnulib-tool.m4 macro invocations: gl_LOCAL_DIR([gnulib-local]) @@ -90,6 +90,7 @@ gl_MODULES([ rename send sendto + setenv setsockopt shutdown socket diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index 07f2ac3cf..9ec19f03d 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -149,6 +149,7 @@ AC_DEFUN([gl_EARLY], # Code from module send: # Code from module sendto: # Code from module servent: + # Code from module setenv: # Code from module setsockopt: # Code from module shutdown: # Code from module signal-h: @@ -523,6 +524,11 @@ if test "$ac_cv_header_winsock2_h" = yes; then fi gl_SYS_SOCKET_MODULE_INDICATOR([sendto]) gl_SERVENT +gl_FUNC_SETENV +if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then + AC_LIBOBJ([setenv]) +fi +gl_STDLIB_MODULE_INDICATOR([setenv]) AC_REQUIRE([gl_HEADER_SYS_SOCKET]) if test "$ac_cv_header_winsock2_h" = yes; then AC_LIBOBJ([setsockopt]) @@ -886,6 +892,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/same-inode.h lib/send.c lib/sendto.c + lib/setenv.c lib/setsockopt.c lib/shutdown.c lib/signal.in.h @@ -1027,6 +1034,7 @@ AC_DEFUN([gl_FILE_LIST], [ m4/safe-read.m4 m4/safe-write.m4 m4/servent.m4 + m4/setenv.m4 m4/signal_h.m4 m4/size_max.m4 m4/snprintf.m4 diff --git a/m4/setenv.m4 b/m4/setenv.m4 new file mode 100644 index 000000000..a1f30bc47 --- /dev/null +++ b/m4/setenv.m4 @@ -0,0 +1,140 @@ +# setenv.m4 serial 25 +dnl Copyright (C) 2001-2004, 2006-2012 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SETENV], +[ + AC_REQUIRE([gl_FUNC_SETENV_SEPARATE]) + if test $ac_cv_func_setenv = no; then + HAVE_SETENV=0 + else + AC_CACHE_CHECK([whether setenv validates arguments], + [gl_cv_func_setenv_works], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ + #include + #include + #include + ]], [[ + int result = 0; + { + if (setenv ("", "", 0) != -1) + result |= 1; + else if (errno != EINVAL) + result |= 2; + } + { + if (setenv ("a", "=", 1) != 0) + result |= 4; + else if (strcmp (getenv ("a"), "=") != 0) + result |= 8; + } + return result; + ]])], + [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no], + [gl_cv_func_setenv_works="guessing no"])]) + if test "$gl_cv_func_setenv_works" != yes; then + REPLACE_SETENV=1 + fi + fi +]) + +# Like gl_FUNC_SETENV, except prepare for separate compilation +# (no REPLACE_SETENV, no AC_LIBOBJ). +AC_DEFUN([gl_FUNC_SETENV_SEPARATE], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([setenv]) + if test $ac_cv_have_decl_setenv = no; then + HAVE_DECL_SETENV=0 + fi + AC_CHECK_FUNCS_ONCE([setenv]) + gl_PREREQ_SETENV +]) + +AC_DEFUN([gl_FUNC_UNSETENV], +[ + AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) + AC_CHECK_DECLS_ONCE([unsetenv]) + if test $ac_cv_have_decl_unsetenv = no; then + HAVE_DECL_UNSETENV=0 + fi + AC_CHECK_FUNCS([unsetenv]) + if test $ac_cv_func_unsetenv = no; then + HAVE_UNSETENV=0 + else + HAVE_UNSETENV=1 + dnl Some BSDs return void, failing to do error checking. + AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#undef _BSD +#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 */ +#include +extern +#ifdef __cplusplus +"C" +#endif +int unsetenv (const char *name); + ]], + [[]])], + [gt_cv_func_unsetenv_ret='int'], + [gt_cv_func_unsetenv_ret='void'])]) + if test $gt_cv_func_unsetenv_ret = 'void'; then + AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void + instead of int.]) + REPLACE_UNSETENV=1 + fi + + dnl Solaris 10 unsetenv does not remove all copies of a name. + dnl Haiku alpha 2 unsetenv gets confused by assignment to environ. + dnl OpenBSD 4.7 unsetenv("") does not fail. + AC_CACHE_CHECK([whether unsetenv obeys POSIX], + [gl_cv_func_unsetenv_works], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ + #include + #include + extern char **environ; + ]], [[ + char entry1[] = "a=1"; + char entry2[] = "b=2"; + char *env[] = { entry1, entry2, NULL }; + if (putenv ((char *) "a=1")) return 1; + if (putenv (entry2)) return 2; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 3; + if (!unsetenv ("") || errno != EINVAL) return 4; + entry2[0] = 'b'; + environ = env; + if (!getenv ("a")) return 5; + entry2[0] = 'a'; + unsetenv ("a"); + if (getenv ("a")) return 6; + ]])], + [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no], + [gl_cv_func_unsetenv_works="guessing no"])]) + if test "$gl_cv_func_unsetenv_works" != yes; then + REPLACE_UNSETENV=1 + fi + fi +]) + +# Prerequisites of lib/setenv.c. +AC_DEFUN([gl_PREREQ_SETENV], +[ + AC_REQUIRE([AC_FUNC_ALLOCA]) + AC_REQUIRE([gl_ENVIRON]) + AC_CHECK_HEADERS_ONCE([unistd.h]) + AC_CHECK_HEADERS([search.h]) + AC_CHECK_FUNCS([tsearch]) +]) + +# Prerequisites of lib/unsetenv.c. +AC_DEFUN([gl_PREREQ_UNSETENV], +[ + AC_REQUIRE([gl_ENVIRON]) + AC_CHECK_HEADERS_ONCE([unistd.h]) +]) diff --git a/meta/guile-2.2.pc.in b/meta/guile-2.2.pc.in index ecca778e1..1bda73449 100644 --- a/meta/guile-2.2.pc.in +++ b/meta/guile-2.2.pc.in @@ -15,5 +15,8 @@ Name: GNU Guile Description: GNU's Ubiquitous Intelligent Language for Extension Version: @GUILE_VERSION@ Libs: -L${libdir} -lguile-@GUILE_EFFECTIVE_VERSION@ @BDW_GC_LIBS@ -Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ @GUILE_LIBS@ +Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ \ + @LIBUNISTRING@ @GUILE_LIBS@ @LIBICONV@ @LIBINTL@ @LIBSOCKET@ \ + @SERVENT_LIB@ @HOSTENT_LIB@ @GETADDRINFO_LIB@ @INET_NTOP_LIB@ \ + @INET_PTON_LIB@ Cflags: -I${pkgincludedir}/@GUILE_EFFECTIVE_VERSION@ @GUILE_CFLAGS@ @BDW_GC_CFLAGS@ diff --git a/module/Makefile.am b/module/Makefile.am index 56fa48d99..9c9d8ed36 100644 --- a/module/Makefile.am +++ b/module/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in. ## -## Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +## Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ## ## This file is part of GUILE. ## @@ -243,7 +243,8 @@ ICE_9_SOURCES = \ ice-9/weak-vector.scm \ ice-9/list.scm \ ice-9/serialize.scm \ - ice-9/vlist.scm + ice-9/vlist.scm \ + ice-9/local-eval.scm SRFI_SOURCES = \ srfi/srfi-1.scm \ diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index fb030b993..1780b843c 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -389,8 +389,6 @@ If there is no handler at all, Guile prints an error and then exits." (define generate-temporaries #f) (define bound-identifier=? #f) (define free-identifier=? #f) -(define syntax-local-binding #f) -(define syntax-locally-bound-identifiers #f) ;; $sc-dispatch is an implementation detail of psyntax. It is used by ;; expanded macros, to dispatch an input against a set of patterns. @@ -3821,12 +3819,44 @@ module '(ice-9 q) '(make-q q-length))}." -;;; Place the user in the guile-user module. +;;; SRFI-4 in the default environment. FIXME: we should figure out how +;;; to deprecate this. ;;; ;; FIXME: (module-use! the-scm-module (resolve-interface '(srfi srfi-4))) + + +;;; A few identifiers that need to be defined in this file are really +;;; internal implementation details. We shove them off into internal +;;; modules, removing them from the (guile) module. +;;; + +(define-module (system syntax)) + +(let () + (define (steal-bindings! from to ids) + (for-each + (lambda (sym) + (let ((v (module-local-variable from sym))) + (module-remove! from sym) + (module-add! to sym v))) + ids) + (module-export! to ids)) + + (steal-bindings! the-root-module (resolve-module '(system syntax)) + '(syntax-local-binding + syntax-module + syntax-locally-bound-identifiers + syntax-session-id))) + + + + +;;; Place the user in the guile-user module. +;;; + ;; Set filename to #f to prevent reload. (define-module (guile-user) #:autoload (system base compile) (compile compile-file) diff --git a/module/ice-9/compile-psyntax.scm b/module/ice-9/compile-psyntax.scm index 48bab9236..3d803e9c7 100644 --- a/module/ice-9/compile-psyntax.scm +++ b/module/ice-9/compile-psyntax.scm @@ -1,6 +1,6 @@ ;;; -*- mode: scheme; coding: utf-8; -*- ;;; -;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;; ;;; This library is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,12 @@ (use-modules (language tree-il) (language tree-il optimize) (language tree-il canonicalize) - (ice-9 pretty-print)) + (ice-9 pretty-print) + (system syntax)) + +;; Avoid gratuitous churn in psyntax-pp.scm due to the marks and labels +;; changing session identifiers. +(set! syntax-session-id (lambda () "*")) (let ((source (list-ref (command-line) 1)) (target (list-ref (command-line) 2))) diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm index 5b2937147..d993db0c7 100644 --- a/module/ice-9/eval.scm +++ b/module/ice-9/eval.scm @@ -425,7 +425,8 @@ (let ((x (eval x env))) (if (and (procedure? x) (not (procedure-property x 'name))) (set-procedure-property! x 'name name)) - (define! name x))) + (define! name x) + (if #f #f))) (('toplevel-set! (var-or-sym . x)) (variable-set! diff --git a/module/ice-9/local-eval.scm b/module/ice-9/local-eval.scm new file mode 100644 index 000000000..28f30b991 --- /dev/null +++ b/module/ice-9/local-eval.scm @@ -0,0 +1,251 @@ +;;; -*- mode: scheme; coding: utf-8; -*- +;;; +;;; Copyright (C) 2012 Free Software Foundation, Inc. +;;; +;;; This library is free software; you can redistribute it and/or +;;; modify it under the terms of the GNU Lesser General Public +;;; License as published by the Free Software Foundation; either +;;; version 3 of the License, or (at your option) any later version. +;;; +;;; This library is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; Lesser General Public License for more details. +;;; +;;; You should have received a copy of the GNU Lesser General Public +;;; License along with this library; if not, write to the Free Software +;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +(define-module (ice-9 local-eval) + #:use-module (ice-9 format) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-9 gnu) + #:use-module (system base compile) + #:use-module (system syntax) + #:export (the-environment local-eval local-compile)) + +(define-record-type lexical-environment-type + (make-lexical-environment scope wrapper boxes patterns) + lexical-environment? + (scope lexenv-scope) + (wrapper lexenv-wrapper) + (boxes lexenv-boxes) + (patterns lexenv-patterns)) + +(set-record-type-printer! + lexical-environment-type + (lambda (e port) + (format port "#" + (syntax-module (lexenv-scope e)) + (+ (length (lexenv-boxes e)) (length (lexenv-patterns e)))))) + +(define-syntax syntax-object-of + (lambda (form) + (syntax-case form () + ((_ x) #`(quote #,(datum->syntax #'x #'x)))))) + +(define-syntax-rule (make-box v) + (case-lambda + (() v) + ((x) (set! v x)))) + +(define (make-transformer-from-box id trans) + (set-procedure-property! trans 'identifier-syntax-box id) + trans) + +(define-syntax-rule (identifier-syntax-from-box box) + (make-transformer-from-box + (syntax-object-of box) + (identifier-syntax (id (box)) + ((set! id x) (box x))))) + +(define (unsupported-binding name) + (make-variable-transformer + (lambda (x) + (syntax-violation + 'local-eval + "unsupported binding captured by (the-environment)" + x)))) + +(define (within-nested-ellipses id lvl) + (let loop ((s id) (n lvl)) + (if (zero? n) + s + (loop #`(#,s (... ...)) (- n 1))))) + +;; Analyze the set of bound identifiers IDS. Return four values: +;; +;; capture: A list of forms that will be emitted in the expansion of +;; `the-environment' to capture lexical variables. +;; +;; formals: Corresponding formal parameters for use in the lambda that +;; re-introduces those variables. These are temporary identifiers, and +;; as such if we have a nested `the-environment', there is no need to +;; capture them. (See the notes on nested `the-environment' and +;; proxies, below.) +;; +;; wrappers: A list of procedures of type SYNTAX -> SYNTAX, used to wrap +;; the expression to be evaluated in forms that re-introduce the +;; variable. The forms will be nested so that the variable shadowing +;; semantics of the original form are maintained. +;; +;; patterns: A terrible hack. The issue is that for pattern variables, +;; we can't emit lexically nested with-syntax forms, like: +;; +;; (with-syntax ((foo 1)) (the-environment)) +;; => (with-syntax ((foo 1)) +;; ... #'(with-syntax ((foo ...)) ... exp) ...) +;; +;; The reason is that the outer "foo" substitutes into the inner "foo", +;; yielding something like: +;; +;; (with-syntax ((foo 1)) +;; ... (with-syntax ((1 ...)) ...) +;; +;; Which ain't what we want. So we hide the information needed to +;; re-make the inner pattern binding form in the lexical environment +;; object, and then introduce those identifiers via another with-syntax. +;; +;; +;; There are four different kinds of lexical bindings: normal lexicals, +;; macros, displaced lexicals, and pattern variables. See the +;; documentation of syntax-local-binding for more info on these. +;; +;; We capture normal lexicals via `make-box', which creates a +;; case-lambda that can reference or set a variable. These get +;; re-introduced with an identifier-syntax. +;; +;; We can't capture macros currently. However we do recognize our own +;; macros that are actually proxying lexicals, so that nested +;; `the-environment' forms are possible. In that case we drill down to +;; the identifier for the already-existing box, and just capture that +;; box. +;; +;; And that's it: we skip displaced lexicals, and the pattern variables +;; are discussed above. +;; +(define (analyze-identifiers ids) + (define (mktmp) + (datum->syntax #'here (gensym "t "))) + (let lp ((ids ids) (capture '()) (formals '()) (wrappers '()) (patterns '())) + (cond + ((null? ids) + (values capture formals wrappers patterns)) + (else + (let ((id (car ids)) (ids (cdr ids))) + (call-with-values (lambda () (syntax-local-binding id)) + (lambda (type val) + (case type + ((lexical) + (if (or-map (lambda (x) (bound-identifier=? x id)) formals) + (lp ids capture formals wrappers patterns) + (let ((t (mktmp))) + (lp ids + (cons #`(make-box #,id) capture) + (cons t formals) + (cons (lambda (x) + #`(let-syntax ((#,id (identifier-syntax-from-box #,t))) + #,x)) + wrappers) + patterns)))) + ((displaced-lexical) + (lp ids capture formals wrappers patterns)) + ((macro) + (let ((b (procedure-property val 'identifier-syntax-box))) + (if b + (lp ids (cons b capture) (cons b formals) + (cons (lambda (x) + #`(let-syntax ((#,id (identifier-syntax-from-box #,b))) + #,x)) + wrappers) + patterns) + (lp ids capture formals + (cons (lambda (x) + #`(let-syntax ((#,id (unsupported-binding '#,id))) + #,x)) + wrappers) + patterns)))) + ((pattern-variable) + (let ((t (datum->syntax id (gensym "p "))) + (nested (within-nested-ellipses id (cdr val)))) + (lp ids capture formals + (cons (lambda (x) + #`(with-syntax ((#,t '#,nested)) + #,x)) + wrappers) + ;; This dance is to hide these pattern variables + ;; from the expander. + (cons (list (datum->syntax #'here (syntax->datum id)) + (cdr val) + t) + patterns)))) + (else + (error "what" type val)))))))))) + +(define-syntax the-environment + (lambda (x) + (syntax-case x () + ((the-environment) + #'(the-environment the-environment)) + ((the-environment scope) + (call-with-values (lambda () + (analyze-identifiers + (syntax-locally-bound-identifiers #'scope))) + (lambda (capture formals wrappers patterns) + (define (wrap-expression x) + (let lp ((x x) (wrappers wrappers)) + (if (null? wrappers) + x + (lp ((car wrappers) x) (cdr wrappers))))) + (with-syntax (((f ...) formals) + ((c ...) capture) + (((pname plvl pformal) ...) patterns) + (wrapped (wrap-expression #'(begin #f exp)))) + #'(make-lexical-environment + #'scope + (lambda (exp pformal ...) + (with-syntax ((exp exp) + (pformal pformal) + ...) + #'(lambda (f ...) + wrapped))) + (list c ...) + (list (list 'pname plvl #'pformal) ...))))))))) + +(define (env-module e) + (cond + ((lexical-environment? e) (resolve-module (syntax-module (lexenv-scope e)))) + ((module? e) e) + (else (error "invalid lexical environment" e)))) + +(define (env-boxes e) + (cond + ((lexical-environment? e) (lexenv-boxes e)) + ((module? e) '()) + (else (error "invalid lexical environment" e)))) + +(define (local-wrap x e) + (cond + ((lexical-environment? e) + (apply (lexenv-wrapper e) + (datum->syntax (lexenv-scope e) x) + (map (lambda (l) + (let ((name (car l)) + (lvl (cadr l)) + (scope (caddr l))) + (within-nested-ellipses (datum->syntax scope name) lvl))) + (lexenv-patterns e)))) + ((module? e) #`(lambda () #f #,x)) + (else (error "invalid lexical environment" e)))) + +(define (local-eval x e) + "Evaluate the expression @var{x} within the lexical environment @var{e}." + (apply (eval (local-wrap x e) (env-module e)) + (env-boxes e))) + +(define* (local-compile x e #:key (opts '())) + "Compile and evaluate the expression @var{x} within the lexical +environment @var{e}." + (apply (compile (local-wrap x e) #:env (env-module e) + #:from 'scheme #:opts opts) + (env-boxes e))) diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index 43a2cf567..847a25b3f 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -1,14463 +1,7334 @@ (eval-when (compile) (set-current-module (resolve-module (quote (guile))))) (if #f #f) -(letrec* - ((#{top-level-eval-hook 28198}# - (lambda (#{x 58998}# #{mod 58999}#) - (primitive-eval #{x 58998}#))) - (#{maybe-name-value! 28203}# - (lambda (#{name 42551}# #{val 42552}#) - (if (if (struct? #{val 42552}#) - (eq? (struct-vtable #{val 42552}#) - (vector-ref %expanded-vtables 14)) - #f) - (let ((#{meta 42559}# (struct-ref #{val 42552}# 1))) - (if (not (assq 'name #{meta 42559}#)) - (let ((#{v 42564}# - (cons (cons 'name #{name 42551}#) #{meta 42559}#))) - (struct-set! #{val 42552}# 1 #{v 42564}#))))))) - (#{build-call 28205}# - (lambda (#{source 42296}# - #{fun-exp 42297}# - #{arg-exps 42298}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #{source 42296}# - #{fun-exp 42297}# - #{arg-exps 42298}#))) - (#{build-conditional 28206}# - (lambda (#{source 42304}# - #{test-exp 42305}# - #{then-exp 42306}# - #{else-exp 42307}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 10) - #{source 42304}# - #{test-exp 42305}# - #{then-exp 42306}# - #{else-exp 42307}#))) - (#{build-dynlet 28207}# - (lambda (#{source 42314}# - #{fluids 42315}# - #{vals 42316}# - #{body 42317}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 18) - #{source 42314}# - #{fluids 42315}# - #{vals 42316}# - #{body 42317}#))) - (#{build-lexical-reference 28208}# - (lambda (#{type 59000}# - #{source 59001}# - #{name 59002}# - #{var 59003}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{source 59001}# - #{name 59002}# - #{var 59003}#))) - (#{build-lexical-assignment 28209}# - (lambda (#{source 42324}# - #{name 42325}# - #{var 42326}# - #{exp 42327}#) - (begin - (if (if (struct? #{exp 42327}#) - (eq? (struct-vtable #{exp 42327}#) +(let ((session-id-4511 (if #f #f)) + (transformer-environment-4572 (if #f #f))) + (letrec* + ((top-level-eval-hook-4509 + (lambda (x-36254 mod-36255) + (primitive-eval x-36254))) + (maybe-name-value!-4515 + (lambda (name-19069 val-19070) + (if (if (struct? val-19070) + (eq? (struct-vtable val-19070) (vector-ref %expanded-vtables 14)) #f) - (let ((#{meta 42343}# (struct-ref #{exp 42327}# 1))) - (if (not (assq 'name #{meta 42343}#)) - (let ((#{v 42350}# - (cons (cons 'name #{name 42325}#) #{meta 42343}#))) - (struct-set! #{exp 42327}# 1 #{v 42350}#))))) + (let ((meta-19077 (struct-ref val-19070 1))) + (if (not (assq 'name meta-19077)) + (let ((v-19082 + (cons (cons 'name name-19069) meta-19077))) + (struct-set! val-19070 1 v-19082))))))) + (build-call-4517 + (lambda (source-18814 fun-exp-18815 arg-exps-18816) (make-struct/no-tail - (vector-ref %expanded-vtables 4) - #{source 42324}# - #{name 42325}# - #{var 42326}# - #{exp 42327}#)))) - (#{analyze-variable 28210}# - (lambda (#{mod 59009}# - #{var 59010}# - #{modref-cont 59011}# - #{bare-cont 59012}#) - (if (not #{mod 59009}#) - (#{bare-cont 59012}# #{var 59010}#) - (let ((#{kind 59013}# (car #{mod 59009}#)) - (#{mod 59014}# (cdr #{mod 59009}#))) - (if (eqv? #{kind 59013}# 'public) - (#{modref-cont 59011}# - #{mod 59014}# - #{var 59010}# - #t) - (if (eqv? #{kind 59013}# 'private) - (if (not (equal? - #{mod 59014}# - (module-name (current-module)))) - (#{modref-cont 59011}# - #{mod 59014}# - #{var 59010}# - #f) - (#{bare-cont 59012}# #{var 59010}#)) - (if (eqv? #{kind 59013}# 'bare) - (#{bare-cont 59012}# #{var 59010}#) - (if (eqv? #{kind 59013}# 'hygiene) - (if (if (not (equal? - #{mod 59014}# - (module-name (current-module)))) - (module-variable - (resolve-module #{mod 59014}#) - #{var 59010}#) - #f) - (#{modref-cont 59011}# - #{mod 59014}# - #{var 59010}# - #f) - (#{bare-cont 59012}# #{var 59010}#)) - (syntax-violation - #f - "bad module kind" - #{var 59010}# - #{mod 59014}#))))))))) - (#{build-global-reference 28211}# - (lambda (#{source 59029}# #{var 59030}# #{mod 59031}#) - (#{analyze-variable 28210}# - #{mod 59031}# - #{var 59030}# - (lambda (#{mod 59034}# #{var 59035}# #{public? 59036}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 5) - #{source 59029}# - #{mod 59034}# - #{var 59035}# - #{public? 59036}#)) - (lambda (#{var 59043}#) + (vector-ref %expanded-vtables 11) + source-18814 + fun-exp-18815 + arg-exps-18816))) + (build-conditional-4518 + (lambda (source-18822 + test-exp-18823 + then-exp-18824 + else-exp-18825) + (make-struct/no-tail + (vector-ref %expanded-vtables 10) + source-18822 + test-exp-18823 + then-exp-18824 + else-exp-18825))) + (build-dynlet-4519 + (lambda (source-18832 fluids-18833 vals-18834 body-18835) + (make-struct/no-tail + (vector-ref %expanded-vtables 18) + source-18832 + fluids-18833 + vals-18834 + body-18835))) + (build-lexical-reference-4520 + (lambda (type-36256 source-36257 name-36258 var-36259) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + source-36257 + name-36258 + var-36259))) + (build-lexical-assignment-4521 + (lambda (source-18842 name-18843 var-18844 exp-18845) + (begin + (if (if (struct? exp-18845) + (eq? (struct-vtable exp-18845) + (vector-ref %expanded-vtables 14)) + #f) + (let ((meta-18861 (struct-ref exp-18845 1))) + (if (not (assq 'name meta-18861)) + (let ((v-18868 + (cons (cons 'name name-18843) meta-18861))) + (struct-set! exp-18845 1 v-18868))))) (make-struct/no-tail - (vector-ref %expanded-vtables 7) - #{source 59029}# - #{var 59043}#))))) - (#{build-global-assignment 28212}# - (lambda (#{source 42359}# - #{var 42360}# - #{exp 42361}# - #{mod 42362}#) - (begin - (if (if (struct? #{exp 42361}#) - (eq? (struct-vtable #{exp 42361}#) - (vector-ref %expanded-vtables 14)) - #f) - (let ((#{meta 42378}# (struct-ref #{exp 42361}# 1))) - (if (not (assq 'name #{meta 42378}#)) - (let ((#{v 42385}# - (cons (cons 'name #{var 42360}#) #{meta 42378}#))) - (struct-set! #{exp 42361}# 1 #{v 42385}#))))) - (#{analyze-variable 28210}# - #{mod 42362}# - #{var 42360}# - (lambda (#{mod 42390}# #{var 42391}# #{public? 42392}#) + (vector-ref %expanded-vtables 4) + source-18842 + name-18843 + var-18844 + exp-18845)))) + (analyze-variable-4522 + (lambda (mod-36265 + var-36266 + modref-cont-36267 + bare-cont-36268) + (if (not mod-36265) + (bare-cont-36268 var-36266) + (let ((kind-36269 (car mod-36265)) + (mod-36270 (cdr mod-36265))) + (if (eqv? kind-36269 'public) + (modref-cont-36267 mod-36270 var-36266 #t) + (if (eqv? kind-36269 'private) + (if (not (equal? mod-36270 (module-name (current-module)))) + (modref-cont-36267 mod-36270 var-36266 #f) + (bare-cont-36268 var-36266)) + (if (eqv? kind-36269 'bare) + (bare-cont-36268 var-36266) + (if (eqv? kind-36269 'hygiene) + (if (if (not (equal? + mod-36270 + (module-name (current-module)))) + (module-variable + (resolve-module mod-36270) + var-36266) + #f) + (modref-cont-36267 mod-36270 var-36266 #f) + (bare-cont-36268 var-36266)) + (syntax-violation + #f + "bad module kind" + var-36266 + mod-36270))))))))) + (build-global-reference-4523 + (lambda (source-36285 var-36286 mod-36287) + (analyze-variable-4522 + mod-36287 + var-36286 + (lambda (mod-36290 var-36291 public?-36292) (make-struct/no-tail - (vector-ref %expanded-vtables 6) - #{source 42359}# - #{mod 42390}# - #{var 42391}# - #{public? 42392}# - #{exp 42361}#)) - (lambda (#{var 42400}#) + (vector-ref %expanded-vtables 5) + source-36285 + mod-36290 + var-36291 + public?-36292)) + (lambda (var-36299) (make-struct/no-tail - (vector-ref %expanded-vtables 8) - #{source 42359}# - #{var 42400}# - #{exp 42361}#)))))) - (#{build-global-definition 28213}# - (lambda (#{source 59048}# #{var 59049}# #{exp 59050}#) - (begin - (if (if (struct? #{exp 59050}#) - (eq? (struct-vtable #{exp 59050}#) - (vector-ref %expanded-vtables 14)) - #f) - (let ((#{meta 59066}# (struct-ref #{exp 59050}# 1))) - (if (not (assq 'name #{meta 59066}#)) - (let ((#{v 59073}# - (cons (cons 'name #{var 59049}#) #{meta 59066}#))) - (struct-set! #{exp 59050}# 1 #{v 59073}#))))) - (make-struct/no-tail - (vector-ref %expanded-vtables 9) - #{source 59048}# - #{var 59049}# - #{exp 59050}#)))) - (#{build-simple-lambda 28214}# - (lambda (#{src 42406}# - #{req 42407}# - #{rest 42408}# - #{vars 42409}# - #{meta 42410}# - #{exp 42411}#) - (let ((#{body 42417}# + (vector-ref %expanded-vtables 7) + source-36285 + var-36299))))) + (build-global-assignment-4524 + (lambda (source-18877 var-18878 exp-18879 mod-18880) + (begin + (if (if (struct? exp-18879) + (eq? (struct-vtable exp-18879) + (vector-ref %expanded-vtables 14)) + #f) + (let ((meta-18896 (struct-ref exp-18879 1))) + (if (not (assq 'name meta-18896)) + (let ((v-18903 + (cons (cons 'name var-18878) meta-18896))) + (struct-set! exp-18879 1 v-18903))))) + (analyze-variable-4522 + mod-18880 + var-18878 + (lambda (mod-18908 var-18909 public?-18910) (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{src 42406}# - #{req 42407}# - #f - #{rest 42408}# - #f - '() - #{vars 42409}# - #{exp 42411}# - #f))) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{src 42406}# - #{meta 42410}# - #{body 42417}#)))) - (#{build-primcall 28217}# - (lambda (#{src 42429}# #{name 42430}# #{args 42431}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #{src 42429}# - #{name 42430}# - #{args 42431}#))) - (#{build-sequence 28220}# - (lambda (#{src 59081}# #{exps 59082}#) - (if (null? (cdr #{exps 59082}#)) - (car #{exps 59082}#) - (let ((#{head 59086}# (car #{exps 59082}#)) - (#{tail 59087}# - (#{build-sequence 28220}# + (vector-ref %expanded-vtables 6) + source-18877 + mod-18908 + var-18909 + public?-18910 + exp-18879)) + (lambda (var-18918) + (make-struct/no-tail + (vector-ref %expanded-vtables 8) + source-18877 + var-18918 + exp-18879)))))) + (build-global-definition-4525 + (lambda (source-36304 var-36305 exp-36306) + (begin + (if (if (struct? exp-36306) + (eq? (struct-vtable exp-36306) + (vector-ref %expanded-vtables 14)) + #f) + (let ((meta-36322 (struct-ref exp-36306 1))) + (if (not (assq 'name meta-36322)) + (let ((v-36329 + (cons (cons 'name var-36305) meta-36322))) + (struct-set! exp-36306 1 v-36329))))) + (make-struct/no-tail + (vector-ref %expanded-vtables 9) + source-36304 + var-36305 + exp-36306)))) + (build-simple-lambda-4526 + (lambda (src-18924 + req-18925 + rest-18926 + vars-18927 + meta-18928 + exp-18929) + (let ((body-18935 + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + src-18924 + req-18925 #f - (cdr #{exps 59082}#)))) + rest-18926 + #f + '() + vars-18927 + exp-18929 + #f))) (make-struct/no-tail - (vector-ref %expanded-vtables 13) - #{src 59081}# - #{head 59086}# - #{tail 59087}#))))) - (#{build-named-let 28222}# - (lambda (#{src 42437}# - #{ids 42438}# - #{vars 42439}# - #{val-exps 42440}# - #{body-exp 42441}#) - (let ((#{f 42442}# (car #{vars 42439}#)) - (#{f-name 42443}# (car #{ids 42438}#)) - (#{vars 42444}# (cdr #{vars 42439}#)) - (#{ids 42445}# (cdr #{ids 42438}#))) - (let ((#{proc 42446}# - (let ((#{body 42466}# + (vector-ref %expanded-vtables 14) + src-18924 + meta-18928 + body-18935)))) + (build-primcall-4529 + (lambda (src-18947 name-18948 args-18949) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + src-18947 + name-18948 + args-18949))) + (build-sequence-4532 + (lambda (src-36337 exps-36338) + (if (null? (cdr exps-36338)) + (car exps-36338) + (let ((head-36342 (car exps-36338)) + (tail-36343 + (build-sequence-4532 #f (cdr exps-36338)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 13) + src-36337 + head-36342 + tail-36343))))) + (build-named-let-4534 + (lambda (src-18955 + ids-18956 + vars-18957 + val-exps-18958 + body-exp-18959) + (let ((f-18960 (car vars-18957)) + (f-name-18961 (car ids-18956)) + (vars-18962 (cdr vars-18957)) + (ids-18963 (cdr ids-18956))) + (let ((proc-18964 + (let ((body-18984 + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + src-18955 + ids-18963 + #f + #f + #f + '() + vars-18962 + body-exp-18959 + #f))) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + src-18955 + '() + body-18984)))) + (begin + (if (if (struct? proc-18964) + (eq? (struct-vtable proc-18964) + (vector-ref %expanded-vtables 14)) + #f) + (let ((meta-19008 (struct-ref proc-18964 1))) + (if (not (assq 'name meta-19008)) + (let ((v-19015 + (cons (cons 'name f-name-18961) meta-19008))) + (struct-set! proc-18964 1 v-19015))))) + (for-each + maybe-name-value!-4515 + ids-18963 + val-exps-18958) + (let ((names-19039 (list f-name-18961)) + (gensyms-19040 (list f-18960)) + (vals-19041 (list proc-18964)) + (body-19042 + (let ((fun-exp-19046 + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + src-18955 + f-name-18961 + f-18960))) (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{src 42437}# - #{ids 42445}# - #f - #f - #f - '() - #{vars 42444}# - #{body-exp 42441}# - #f))) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{src 42437}# - '() - #{body 42466}#)))) + (vector-ref %expanded-vtables 11) + src-18955 + fun-exp-19046 + val-exps-18958)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 17) + src-18955 + #f + names-19039 + gensyms-19040 + vals-19041 + body-19042))))))) + (build-letrec-4535 + (lambda (src-19062 + in-order?-19063 + ids-19064 + vars-19065 + val-exps-19066 + body-exp-19067) + (if (null? vars-19065) + body-exp-19067 (begin - (if (if (struct? #{proc 42446}#) - (eq? (struct-vtable #{proc 42446}#) - (vector-ref %expanded-vtables 14)) - #f) - (let ((#{meta 42490}# (struct-ref #{proc 42446}# 1))) - (if (not (assq 'name #{meta 42490}#)) - (let ((#{v 42497}# - (cons (cons 'name #{f-name 42443}#) - #{meta 42490}#))) - (struct-set! #{proc 42446}# 1 #{v 42497}#))))) (for-each - #{maybe-name-value! 28203}# - #{ids 42445}# - #{val-exps 42440}#) - (let ((#{names 42521}# (list #{f-name 42443}#)) - (#{gensyms 42522}# (list #{f 42442}#)) - (#{vals 42523}# (list #{proc 42446}#)) - (#{body 42524}# - (let ((#{fun-exp 42528}# - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{src 42437}# - #{f-name 42443}# - #{f 42442}#))) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #{src 42437}# - #{fun-exp 42528}# - #{val-exps 42440}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 17) - #{src 42437}# - #f - #{names 42521}# - #{gensyms 42522}# - #{vals 42523}# - #{body 42524}#))))))) - (#{build-letrec 28223}# - (lambda (#{src 42544}# - #{in-order? 42545}# - #{ids 42546}# - #{vars 42547}# - #{val-exps 42548}# - #{body-exp 42549}#) - (if (null? #{vars 42547}#) - #{body-exp 42549}# - (begin - (for-each - #{maybe-name-value! 28203}# - #{ids 42546}# - #{val-exps 42548}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 17) - #{src 42544}# - #{in-order? 42545}# - #{ids 42546}# - #{vars 42547}# - #{val-exps 42548}# - #{body-exp 42549}#))))) - (#{source-annotation 28232}# - (lambda (#{x 42575}#) - (if (if (vector? #{x 42575}#) - (if (= (vector-length #{x 42575}#) 4) - (eq? (vector-ref #{x 42575}# 0) 'syntax-object) - #f) - #f) - (#{source-annotation 28232}# - (vector-ref #{x 42575}# 1)) - (if (pair? #{x 42575}#) - (let ((#{props 42590}# (source-properties #{x 42575}#))) - (if (pair? #{props 42590}#) #{props 42590}# #f)) - #f)))) - (#{extend-env 28233}# - (lambda (#{labels 42592}# #{bindings 42593}# #{r 42594}#) - (if (null? #{labels 42592}#) - #{r 42594}# - (#{extend-env 28233}# - (cdr #{labels 42592}#) - (cdr #{bindings 42593}#) - (cons (cons (car #{labels 42592}#) - (car #{bindings 42593}#)) - #{r 42594}#))))) - (#{extend-var-env 28234}# - (lambda (#{labels 42595}# #{vars 42596}# #{r 42597}#) - (if (null? #{labels 42595}#) - #{r 42597}# - (#{extend-var-env 28234}# - (cdr #{labels 42595}#) - (cdr #{vars 42596}#) - (cons (cons (car #{labels 42595}#) - (cons 'lexical (car #{vars 42596}#))) - #{r 42597}#))))) - (#{macros-only-env 28235}# - (lambda (#{r 42598}#) - (if (null? #{r 42598}#) - '() - (let ((#{a 42599}# (car #{r 42598}#))) - (if (let ((#{t 42602}# (car (cdr #{a 42599}#)))) - (if (eq? #{t 42602}# 'macro) - #t - (eq? #{t 42602}# 'syntax-parameter))) - (cons #{a 42599}# - (#{macros-only-env 28235}# (cdr #{r 42598}#))) - (#{macros-only-env 28235}# (cdr #{r 42598}#))))))) - (#{global-extend 28236}# - (lambda (#{type 42604}# #{sym 42605}# #{val 42606}#) - (module-define! - (current-module) - #{sym 42605}# - (make-syntax-transformer - #{sym 42605}# - #{type 42604}# - #{val 42606}#)))) - (#{id? 28238}# - (lambda (#{x 35679}#) - (if (symbol? #{x 35679}#) - #t - (if (if (vector? #{x 35679}#) - (if (= (vector-length #{x 35679}#) 4) - (eq? (vector-ref #{x 35679}# 0) 'syntax-object) + maybe-name-value!-4515 + ids-19064 + val-exps-19066) + (make-struct/no-tail + (vector-ref %expanded-vtables 17) + src-19062 + in-order?-19063 + ids-19064 + vars-19065 + val-exps-19066 + body-exp-19067))))) + (source-annotation-4544 + (lambda (x-19093) + (if (if (vector? x-19093) + (if (= (vector-length x-19093) 4) + (eq? (vector-ref x-19093 0) 'syntax-object) #f) #f) - (symbol? (vector-ref #{x 35679}# 1)) - #f)))) - (#{gen-labels 28241}# - (lambda (#{ls 42616}#) - (if (null? #{ls 42616}#) - '() - (cons (symbol->string (gensym "i")) - (#{gen-labels 28241}# (cdr #{ls 42616}#)))))) - (#{make-binding-wrap 28252}# - (lambda (#{ids 42620}# #{labels 42621}# #{w 42622}#) - (if (null? #{ids 42620}#) - #{w 42622}# - (cons (car #{w 42622}#) - (cons (let ((#{labelvec 42623}# - (list->vector #{labels 42621}#))) - (let ((#{n 42624}# (vector-length #{labelvec 42623}#))) - (let ((#{symnamevec 42625}# (make-vector #{n 42624}#)) - (#{marksvec 42626}# (make-vector #{n 42624}#))) - (begin - (letrec* - ((#{f 42627}# - (lambda (#{ids 42824}# #{i 42825}#) - (if (not (null? #{ids 42824}#)) - (call-with-values - (lambda () - (let ((#{x 42828}# - (car #{ids 42824}#))) - (if (if (vector? #{x 42828}#) - (if (= (vector-length - #{x 42828}#) - 4) - (eq? (vector-ref - #{x 42828}# - 0) - 'syntax-object) + (source-annotation-4544 (vector-ref x-19093 1)) + (if (pair? x-19093) + (let ((props-19108 (source-properties x-19093))) + (if (pair? props-19108) props-19108 #f)) + #f)))) + (extend-env-4545 + (lambda (labels-19110 bindings-19111 r-19112) + (if (null? labels-19110) + r-19112 + (extend-env-4545 + (cdr labels-19110) + (cdr bindings-19111) + (cons (cons (car labels-19110) (car bindings-19111)) + r-19112))))) + (extend-var-env-4546 + (lambda (labels-19113 vars-19114 r-19115) + (if (null? labels-19113) + r-19115 + (extend-var-env-4546 + (cdr labels-19113) + (cdr vars-19114) + (cons (cons (car labels-19113) + (cons 'lexical (car vars-19114))) + r-19115))))) + (macros-only-env-4547 + (lambda (r-19116) + (if (null? r-19116) + '() + (let ((a-19117 (car r-19116))) + (if (let ((t-19120 (car (cdr a-19117)))) + (if (eq? t-19120 'macro) + #t + (eq? t-19120 'syntax-parameter))) + (cons a-19117 + (macros-only-env-4547 (cdr r-19116))) + (macros-only-env-4547 (cdr r-19116))))))) + (global-extend-4548 + (lambda (type-19122 sym-19123 val-19124) + (module-define! + (current-module) + sym-19123 + (make-syntax-transformer + sym-19123 + type-19122 + val-19124)))) + (id?-4550 + (lambda (x-11889) + (if (symbol? x-11889) + #t + (if (if (vector? x-11889) + (if (= (vector-length x-11889) 4) + (eq? (vector-ref x-11889 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref x-11889 1)) + #f)))) + (gen-labels-4553 + (lambda (ls-19134) + (if (null? ls-19134) + '() + (cons (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))) + (gen-labels-4553 (cdr ls-19134)))))) + (make-binding-wrap-4564 + (lambda (ids-19138 labels-19139 w-19140) + (if (null? ids-19138) + w-19140 + (cons (car w-19140) + (cons (let ((labelvec-19141 (list->vector labels-19139))) + (let ((n-19142 (vector-length labelvec-19141))) + (let ((symnamevec-19143 (make-vector n-19142)) + (marksvec-19144 (make-vector n-19142))) + (begin + (letrec* + ((f-19145 + (lambda (ids-19342 i-19343) + (if (not (null? ids-19342)) + (call-with-values + (lambda () + (let ((x-19346 (car ids-19342))) + (if (if (vector? x-19346) + (if (= (vector-length + x-19346) + 4) + (eq? (vector-ref + x-19346 + 0) + 'syntax-object) + #f) #f) - #f) - (values - (vector-ref #{x 42828}# 1) - (let ((#{m1 42844}# - (car #{w 42622}#)) - (#{m2 42845}# - (car (vector-ref - #{x 42828}# - 2)))) - (if (null? #{m2 42845}#) - #{m1 42844}# - (append - #{m1 42844}# - #{m2 42845}#)))) - (values - #{x 42828}# - (car #{w 42622}#))))) - (lambda (#{symname 42865}# - #{marks 42866}#) - (begin - (vector-set! - #{symnamevec 42625}# - #{i 42825}# - #{symname 42865}#) - (vector-set! - #{marksvec 42626}# - #{i 42825}# - #{marks 42866}#) - (#{f 42627}# - (cdr #{ids 42824}#) - (#{1+}# #{i 42825}#))))))))) - (#{f 42627}# #{ids 42620}# 0)) - (vector - 'ribcage - #{symnamevec 42625}# - #{marksvec 42626}# - #{labelvec 42623}#))))) - (cdr #{w 42622}#)))))) - (#{same-marks? 28256}# - (lambda (#{x 59088}# #{y 59089}#) - (if (eq? #{x 59088}# #{y 59089}#) - (eq? #{x 59088}# #{y 59089}#) - (if (not (null? #{x 59088}#)) - (if (not (null? #{y 59089}#)) - (if (eq? (car #{x 59088}#) (car #{y 59089}#)) - (#{same-marks? 28256}# - (cdr #{x 59088}#) - (cdr #{y 59089}#)) + (values + (vector-ref x-19346 1) + (let ((m1-19362 + (car w-19140)) + (m2-19363 + (car (vector-ref + x-19346 + 2)))) + (if (null? m2-19363) + m1-19362 + (append + m1-19362 + m2-19363)))) + (values + x-19346 + (car w-19140))))) + (lambda (symname-19383 marks-19384) + (begin + (vector-set! + symnamevec-19143 + i-19343 + symname-19383) + (vector-set! + marksvec-19144 + i-19343 + marks-19384) + (f-19145 + (cdr ids-19342) + (#{1+}# i-19343))))))))) + (f-19145 ids-19138 0)) + (vector + 'ribcage + symnamevec-19143 + marksvec-19144 + labelvec-19141))))) + (cdr w-19140)))))) + (same-marks?-4568 + (lambda (x-36344 y-36345) + (if (eq? x-36344 y-36345) + (eq? x-36344 y-36345) + (if (not (null? x-36344)) + (if (not (null? y-36345)) + (if (eq? (car x-36344) (car y-36345)) + (same-marks?-4568 (cdr x-36344) (cdr y-36345)) + #f) #f) - #f) - #f)))) - (#{id-var-name 28257}# - (lambda (#{id 59097}# #{w 59098}# #{mod 59099}#) - (letrec* - ((#{search 59100}# - (lambda (#{sym 59166}# - #{subst 59167}# - #{marks 59168}# - #{mod 59169}#) - (if (null? #{subst 59167}#) - (values #f #{marks 59168}#) - (let ((#{fst 59170}# (car #{subst 59167}#))) - (if (eq? #{fst 59170}# 'shift) - (#{search 59100}# - #{sym 59166}# - (cdr #{subst 59167}#) - (cdr #{marks 59168}#) - #{mod 59169}#) - (let ((#{symnames 59172}# (vector-ref #{fst 59170}# 1))) - (if (vector? #{symnames 59172}#) - (#{search-vector-rib 59102}# - #{sym 59166}# - #{subst 59167}# - #{marks 59168}# - #{symnames 59172}# - #{fst 59170}# - #{mod 59169}#) - (#{search-list-rib 59101}# - #{sym 59166}# - #{subst 59167}# - #{marks 59168}# - #{symnames 59172}# - #{fst 59170}# - #{mod 59169}#)))))))) - (#{search-list-rib 59101}# - (lambda (#{sym 59347}# - #{subst 59348}# - #{marks 59349}# - #{symnames 59350}# - #{ribcage 59351}# - #{mod 59352}#) - (letrec* - ((#{f 59353}# - (lambda (#{symnames 59356}# #{i 59357}#) - (if (null? #{symnames 59356}#) - (#{search 59100}# - #{sym 59347}# - (cdr #{subst 59348}#) - #{marks 59349}# - #{mod 59352}#) - (if (if (eq? (car #{symnames 59356}#) #{sym 59347}#) - (#{same-marks? 28256}# - #{marks 59349}# - (list-ref - (vector-ref #{ribcage 59351}# 2) - #{i 59357}#)) - #f) - (let ((#{n 59503}# - (list-ref - (vector-ref #{ribcage 59351}# 3) - #{i 59357}#))) - (if (pair? #{n 59503}#) - (if (equal? #{mod 59352}# (car #{n 59503}#)) - (values (cdr #{n 59503}#) #{marks 59349}#) - (#{f 59353}# - (cdr #{symnames 59356}#) - (#{1+}# #{i 59357}#))) - (values #{n 59503}# #{marks 59349}#))) - (#{f 59353}# - (cdr #{symnames 59356}#) - (#{1+}# #{i 59357}#))))))) - (#{f 59353}# #{symnames 59350}# 0)))) - (#{search-vector-rib 59102}# - (lambda (#{sym 59508}# - #{subst 59509}# - #{marks 59510}# - #{symnames 59511}# - #{ribcage 59512}# - #{mod 59513}#) - (let ((#{n 59514}# (vector-length #{symnames 59511}#))) + #f)))) + (id-var-name-4569 + (lambda (id-36353 w-36354 mod-36355) + (letrec* + ((search-36356 + (lambda (sym-36422 subst-36423 marks-36424 mod-36425) + (if (null? subst-36423) + (values #f marks-36424) + (let ((fst-36426 (car subst-36423))) + (if (eq? fst-36426 'shift) + (search-36356 + sym-36422 + (cdr subst-36423) + (cdr marks-36424) + mod-36425) + (let ((symnames-36428 (vector-ref fst-36426 1))) + (if (vector? symnames-36428) + (search-vector-rib-36358 + sym-36422 + subst-36423 + marks-36424 + symnames-36428 + fst-36426 + mod-36425) + (search-list-rib-36357 + sym-36422 + subst-36423 + marks-36424 + symnames-36428 + fst-36426 + mod-36425)))))))) + (search-list-rib-36357 + (lambda (sym-36603 + subst-36604 + marks-36605 + symnames-36606 + ribcage-36607 + mod-36608) (letrec* - ((#{f 59515}# - (lambda (#{i 59518}#) - (if (= #{i 59518}# #{n 59514}#) - (#{search 59100}# - #{sym 59508}# - (cdr #{subst 59509}#) - #{marks 59510}# - #{mod 59513}#) - (if (if (eq? (vector-ref - #{symnames 59511}# - #{i 59518}#) - #{sym 59508}#) - (#{same-marks? 28256}# - #{marks 59510}# - (vector-ref - (vector-ref #{ribcage 59512}# 2) - #{i 59518}#)) + ((f-36609 + (lambda (symnames-36612 i-36613) + (if (null? symnames-36612) + (search-36356 + sym-36603 + (cdr subst-36604) + marks-36605 + mod-36608) + (if (if (eq? (car symnames-36612) sym-36603) + (same-marks?-4568 + marks-36605 + (list-ref + (vector-ref ribcage-36607 2) + i-36613)) #f) - (let ((#{n 59665}# + (let ((n-36759 + (list-ref + (vector-ref ribcage-36607 3) + i-36613))) + (if (pair? n-36759) + (if (equal? mod-36608 (car n-36759)) + (values (cdr n-36759) marks-36605) + (f-36609 + (cdr symnames-36612) + (#{1+}# i-36613))) + (values n-36759 marks-36605))) + (f-36609 (cdr symnames-36612) (#{1+}# i-36613))))))) + (f-36609 symnames-36606 0)))) + (search-vector-rib-36358 + (lambda (sym-36764 + subst-36765 + marks-36766 + symnames-36767 + ribcage-36768 + mod-36769) + (let ((n-36770 (vector-length symnames-36767))) + (letrec* + ((f-36771 + (lambda (i-36774) + (if (= i-36774 n-36770) + (search-36356 + sym-36764 + (cdr subst-36765) + marks-36766 + mod-36769) + (if (if (eq? (vector-ref symnames-36767 i-36774) + sym-36764) + (same-marks?-4568 + marks-36766 (vector-ref - (vector-ref #{ribcage 59512}# 3) - #{i 59518}#))) - (if (pair? #{n 59665}#) - (if (equal? #{mod 59513}# (car #{n 59665}#)) - (values (cdr #{n 59665}#) #{marks 59510}#) - (#{f 59515}# (#{1+}# #{i 59518}#))) - (values #{n 59665}# #{marks 59510}#))) - (#{f 59515}# (#{1+}# #{i 59518}#))))))) - (#{f 59515}# 0)))))) - (if (symbol? #{id 59097}#) - (let ((#{t 59103}# - (#{search 59100}# - #{id 59097}# - (cdr #{w 59098}#) - (car #{w 59098}#) - #{mod 59099}#))) - (if #{t 59103}# #{t 59103}# #{id 59097}#)) - (if (if (vector? #{id 59097}#) - (if (= (vector-length #{id 59097}#) 4) - (eq? (vector-ref #{id 59097}# 0) 'syntax-object) + (vector-ref ribcage-36768 2) + i-36774)) + #f) + (let ((n-36921 + (vector-ref + (vector-ref ribcage-36768 3) + i-36774))) + (if (pair? n-36921) + (if (equal? mod-36769 (car n-36921)) + (values (cdr n-36921) marks-36766) + (f-36771 (#{1+}# i-36774))) + (values n-36921 marks-36766))) + (f-36771 (#{1+}# i-36774))))))) + (f-36771 0)))))) + (if (symbol? id-36353) + (let ((t-36359 + (search-36356 + id-36353 + (cdr w-36354) + (car w-36354) + mod-36355))) + (if t-36359 t-36359 id-36353)) + (if (if (vector? id-36353) + (if (= (vector-length id-36353) 4) + (eq? (vector-ref id-36353 0) 'syntax-object) + #f) #f) - #f) - (let ((#{id 59118}# (vector-ref #{id 59097}# 1)) - (#{w1 59119}# (vector-ref #{id 59097}# 2)) - (#{mod 59120}# (vector-ref #{id 59097}# 3))) - (let ((#{marks 59121}# - (let ((#{m1 59131}# (car #{w 59098}#)) - (#{m2 59132}# (car #{w1 59119}#))) - (if (null? #{m2 59132}#) - #{m1 59131}# - (append #{m1 59131}# #{m2 59132}#))))) - (call-with-values - (lambda () - (#{search 59100}# - #{id 59118}# - (cdr #{w 59098}#) - #{marks 59121}# - #{mod 59120}#)) - (lambda (#{new-id 59152}# #{marks 59153}#) - (if #{new-id 59152}# - #{new-id 59152}# - (let ((#{t 59161}# - (#{search 59100}# - #{id 59118}# - (cdr #{w1 59119}#) - #{marks 59153}# - #{mod 59120}#))) - (if #{t 59161}# #{t 59161}# #{id 59118}#))))))) - (syntax-violation - 'id-var-name - "invalid id" - #{id 59097}#)))))) - (#{resolve-identifier 28258}# - (lambda (#{id 42873}# - #{w 42874}# - #{r 42875}# - #{mod 42876}# - #{resolve-syntax-parameters? 42877}#) - (let ((#{n 42881}# - (#{id-var-name 28257}# - #{id 42873}# - #{w 42874}# - #{mod 42876}#))) - (if (if (vector? #{n 42881}#) - (if (= (vector-length #{n 42881}#) 4) - (eq? (vector-ref #{n 42881}# 0) 'syntax-object) - #f) - #f) - (#{resolve-identifier 28258}# - #{n 42881}# - #{w 42874}# - #{r 42875}# - #{mod 42876}# - #{resolve-syntax-parameters? 42877}#) - (if (symbol? #{n 42881}#) - (let ((#{mod 42896}# - (if (if (vector? #{id 42873}#) - (if (= (vector-length #{id 42873}#) 4) - (eq? (vector-ref #{id 42873}# 0) 'syntax-object) - #f) - #f) - (vector-ref #{id 42873}# 3) - #{mod 42876}#))) - (let ((#{b 42897}# - (let ((#{b 42900}# - (let ((#{t 42901}# - (begin - (if (if (not #{mod 42896}#) - (current-module) - #f) - (warn "module system is booted, we should have a module" - #{n 42881}#)) - (let ((#{v 42950}# - (module-variable - (if #{mod 42896}# - (resolve-module - (cdr #{mod 42896}#)) - (current-module)) - #{n 42881}#))) - (if #{v 42950}# - (if (variable-bound? #{v 42950}#) - (let ((#{val 42959}# - (variable-ref - #{v 42950}#))) - (if (macro? #{val 42959}#) - (if (macro-type - #{val 42959}#) - (cons (macro-type - #{val 42959}#) - (macro-binding - #{val 42959}#)) - #f) - #f)) + (let ((id-36374 (vector-ref id-36353 1)) + (w1-36375 (vector-ref id-36353 2)) + (mod-36376 (vector-ref id-36353 3))) + (let ((marks-36377 + (let ((m1-36387 (car w-36354)) + (m2-36388 (car w1-36375))) + (if (null? m2-36388) + m1-36387 + (append m1-36387 m2-36388))))) + (call-with-values + (lambda () + (search-36356 + id-36374 + (cdr w-36354) + marks-36377 + mod-36376)) + (lambda (new-id-36408 marks-36409) + (if new-id-36408 + new-id-36408 + (let ((t-36417 + (search-36356 + id-36374 + (cdr w1-36375) + marks-36409 + mod-36376))) + (if t-36417 t-36417 id-36374))))))) + (syntax-violation + 'id-var-name + "invalid id" + id-36353)))))) + (locally-bound-identifiers-4570 + (lambda (w-19391 mod-19392) + (letrec* + ((scan-19393 + (lambda (subst-19398 results-19399) + (if (null? subst-19398) + results-19399 + (let ((fst-19400 (car subst-19398))) + (if (eq? fst-19400 'shift) + (scan-19393 (cdr subst-19398) results-19399) + (let ((symnames-19402 (vector-ref fst-19400 1)) + (marks-19403 (vector-ref fst-19400 2))) + (if (vector? symnames-19402) + (scan-vector-rib-19395 + subst-19398 + symnames-19402 + marks-19403 + results-19399) + (scan-list-rib-19394 + subst-19398 + symnames-19402 + marks-19403 + results-19399)))))))) + (scan-list-rib-19394 + (lambda (subst-19520 + symnames-19521 + marks-19522 + results-19523) + (letrec* + ((f-19524 + (lambda (symnames-19709 marks-19710 results-19711) + (if (null? symnames-19709) + (scan-19393 (cdr subst-19520) results-19711) + (f-19524 + (cdr symnames-19709) + (cdr marks-19710) + (cons (let ((x-19717 (car symnames-19709)) + (w-19718 + (let ((w-19722 + (cons (car marks-19710) + subst-19520))) + (cons (cons #f (car w-19722)) + (cons 'shift + (cdr w-19722)))))) + (if (if (null? (car w-19718)) + (null? (cdr w-19718)) + #f) + x-19717 + (if (if (vector? x-19717) + (if (= (vector-length x-19717) 4) + (eq? (vector-ref x-19717 0) + 'syntax-object) + #f) + #f) + (let ((expression-19734 + (vector-ref x-19717 1)) + (wrap-19735 + (let ((w2-19743 + (vector-ref x-19717 2))) + (let ((m1-19744 (car w-19718)) + (s1-19745 + (cdr w-19718))) + (if (null? m1-19744) + (if (null? s1-19745) + w2-19743 + (cons (car w2-19743) + (let ((m2-19756 + (cdr w2-19743))) + (if (null? m2-19756) + s1-19745 + (append + s1-19745 + m2-19756))))) + (cons (let ((m2-19764 + (car w2-19743))) + (if (null? m2-19764) + m1-19744 + (append + m1-19744 + m2-19764))) + (let ((m2-19772 + (cdr w2-19743))) + (if (null? m2-19772) + s1-19745 + (append + s1-19745 + m2-19772)))))))) + (module-19736 + (vector-ref x-19717 3))) + (vector + 'syntax-object + expression-19734 + wrap-19735 + module-19736)) + (if (null? x-19717) + x-19717 + (vector + 'syntax-object + x-19717 + w-19718 + mod-19392))))) + results-19711)))))) + (f-19524 + symnames-19521 + marks-19522 + results-19523)))) + (scan-vector-rib-19395 + (lambda (subst-19785 + symnames-19786 + marks-19787 + results-19788) + (let ((n-19789 (vector-length symnames-19786))) + (letrec* + ((f-19790 + (lambda (i-19961 results-19962) + (if (= i-19961 n-19789) + (scan-19393 (cdr subst-19785) results-19962) + (f-19790 + (#{1+}# i-19961) + (cons (let ((x-19968 + (vector-ref symnames-19786 i-19961)) + (w-19969 + (let ((w-19973 + (cons (vector-ref + marks-19787 + i-19961) + subst-19785))) + (cons (cons #f (car w-19973)) + (cons 'shift + (cdr w-19973)))))) + (if (if (null? (car w-19969)) + (null? (cdr w-19969)) + #f) + x-19968 + (if (if (vector? x-19968) + (if (= (vector-length x-19968) 4) + (eq? (vector-ref x-19968 0) + 'syntax-object) #f) - #f))))) - (if #{t 42901}# #{t 42901}# '(global))))) - (if (if #{resolve-syntax-parameters? 42877}# - (eq? (car #{b 42900}#) 'syntax-parameter) - #f) - (let ((#{t 42968}# - (assq-ref #{r 42875}# (cdr #{b 42900}#)))) - (if #{t 42968}# - #{t 42968}# - (cons 'macro (car (cdr #{b 42900}#))))) - #{b 42900}#)))) - (if (eq? (car #{b 42897}#) 'global) - (values 'global #{n 42881}# #{mod 42896}#) - (values - (car #{b 42897}#) - (cdr #{b 42897}#) - #{mod 42896}#)))) - (if (string? #{n 42881}#) - (let ((#{mod 42974}# - (if (if (vector? #{id 42873}#) - (if (= (vector-length #{id 42873}#) 4) - (eq? (vector-ref #{id 42873}# 0) 'syntax-object) + #f) + (let ((expression-19985 + (vector-ref x-19968 1)) + (wrap-19986 + (let ((w2-19994 + (vector-ref + x-19968 + 2))) + (let ((m1-19995 + (car w-19969)) + (s1-19996 + (cdr w-19969))) + (if (null? m1-19995) + (if (null? s1-19996) + w2-19994 + (cons (car w2-19994) + (let ((m2-20007 + (cdr w2-19994))) + (if (null? m2-20007) + s1-19996 + (append + s1-19996 + m2-20007))))) + (cons (let ((m2-20015 + (car w2-19994))) + (if (null? m2-20015) + m1-19995 + (append + m1-19995 + m2-20015))) + (let ((m2-20023 + (cdr w2-19994))) + (if (null? m2-20023) + s1-19996 + (append + s1-19996 + m2-20023)))))))) + (module-19987 + (vector-ref x-19968 3))) + (vector + 'syntax-object + expression-19985 + wrap-19986 + module-19987)) + (if (null? x-19968) + x-19968 + (vector + 'syntax-object + x-19968 + w-19969 + mod-19392))))) + results-19962)))))) + (f-19790 0 results-19788)))))) + (scan-19393 (cdr w-19391) '())))) + (resolve-identifier-4571 + (lambda (id-20036 + w-20037 + r-20038 + mod-20039 + resolve-syntax-parameters?-20040) + (let ((n-20044 + (id-var-name-4569 id-20036 w-20037 mod-20039))) + (if (if (vector? n-20044) + (if (= (vector-length n-20044) 4) + (eq? (vector-ref n-20044 0) 'syntax-object) + #f) + #f) + (resolve-identifier-4571 + n-20044 + w-20037 + r-20038 + mod-20039 + resolve-syntax-parameters?-20040) + (if (symbol? n-20044) + (let ((mod-20059 + (if (if (vector? id-20036) + (if (= (vector-length id-20036) 4) + (eq? (vector-ref id-20036 0) 'syntax-object) #f) #f) - (vector-ref #{id 42873}# 3) - #{mod 42876}#))) - (let ((#{b 42975}# - (let ((#{b 42978}# - (let ((#{t 42979}# - (assq-ref #{r 42875}# #{n 42881}#))) - (if #{t 42979}# - #{t 42979}# - '(displaced-lexical))))) - (if (if #{resolve-syntax-parameters? 42877}# - (eq? (car #{b 42978}#) 'syntax-parameter) + (vector-ref id-20036 3) + mod-20039))) + (let ((b-20060 + (let ((b-20063 + (let ((t-20064 + (begin + (if (if (not mod-20059) + (current-module) + #f) + (warn "module system is booted, we should have a module" + n-20044)) + (let ((v-20113 + (module-variable + (if mod-20059 + (resolve-module + (cdr mod-20059)) + (current-module)) + n-20044))) + (if v-20113 + (if (variable-bound? v-20113) + (let ((val-20122 + (variable-ref + v-20113))) + (if (macro? val-20122) + (if (macro-type val-20122) + (cons (macro-type + val-20122) + (macro-binding + val-20122)) + #f) + #f)) + #f) + #f))))) + (if t-20064 t-20064 '(global))))) + (if (if resolve-syntax-parameters?-20040 + (eq? (car b-20063) 'syntax-parameter) #f) - (let ((#{t 42980}# - (assq-ref #{r 42875}# (cdr #{b 42978}#)))) - (if #{t 42980}# - #{t 42980}# - (cons 'macro (car (cdr #{b 42978}#))))) - #{b 42978}#)))) - (values - (car #{b 42975}#) - (cdr #{b 42975}#) - #{mod 42974}#))) - (error "unexpected id-var-name" - #{id 42873}# - #{w 42874}# - #{n 42881}#))))))) - (#{free-id=? 28259}# - (lambda (#{i 42993}# #{j 42994}#) - (let ((#{mi 42995}# - (if (if (vector? #{i 42993}#) - (if (= (vector-length #{i 42993}#) 4) - (eq? (vector-ref #{i 42993}# 0) 'syntax-object) - #f) - #f) - (vector-ref #{i 42993}# 3) - #f))) - (let ((#{mj 42996}# - (if (if (vector? #{j 42994}#) - (if (= (vector-length #{j 42994}#) 4) - (eq? (vector-ref #{j 42994}# 0) 'syntax-object) + (let ((t-20131 (assq-ref r-20038 (cdr b-20063)))) + (if t-20131 + t-20131 + (cons 'macro (car (cdr b-20063))))) + b-20063)))) + (if (eq? (car b-20060) 'global) + (values 'global n-20044 mod-20059) + (values (car b-20060) (cdr b-20060) mod-20059)))) + (if (string? n-20044) + (let ((mod-20137 + (if (if (vector? id-20036) + (if (= (vector-length id-20036) 4) + (eq? (vector-ref id-20036 0) 'syntax-object) + #f) + #f) + (vector-ref id-20036 3) + mod-20039))) + (let ((b-20138 + (let ((b-20141 + (let ((t-20142 (assq-ref r-20038 n-20044))) + (if t-20142 + t-20142 + '(displaced-lexical))))) + (if (if resolve-syntax-parameters?-20040 + (eq? (car b-20141) 'syntax-parameter) + #f) + (let ((t-20143 + (assq-ref r-20038 (cdr b-20141)))) + (if t-20143 + t-20143 + (cons 'macro (car (cdr b-20141))))) + b-20141)))) + (values (car b-20138) (cdr b-20138) mod-20137))) + (error "unexpected id-var-name" + id-20036 + w-20037 + n-20044))))))) + (free-id=?-4574 + (lambda (i-20156 j-20157) + (let ((mi-20158 + (if (if (vector? i-20156) + (if (= (vector-length i-20156) 4) + (eq? (vector-ref i-20156 0) 'syntax-object) #f) #f) - (vector-ref #{j 42994}# 3) + (vector-ref i-20156 3) #f))) - (let ((#{ni 42997}# - (#{id-var-name 28257}# - #{i 42993}# - '(()) - #{mi 42995}#))) - (let ((#{nj 42998}# - (#{id-var-name 28257}# - #{j 42994}# - '(()) - #{mj 42996}#))) - (if (if (vector? #{ni 42997}#) - (if (= (vector-length #{ni 42997}#) 4) - (eq? (vector-ref #{ni 42997}# 0) 'syntax-object) - #f) - #f) - (#{free-id=? 28259}# #{ni 42997}# #{j 42994}#) - (if (if (vector? #{nj 42998}#) - (if (= (vector-length #{nj 42998}#) 4) - (eq? (vector-ref #{nj 42998}# 0) 'syntax-object) + (let ((mj-20159 + (if (if (vector? j-20157) + (if (= (vector-length j-20157) 4) + (eq? (vector-ref j-20157 0) 'syntax-object) + #f) + #f) + (vector-ref j-20157 3) + #f))) + (let ((ni-20160 + (id-var-name-4569 i-20156 '(()) mi-20158))) + (let ((nj-20161 + (id-var-name-4569 j-20157 '(()) mj-20159))) + (if (if (vector? ni-20160) + (if (= (vector-length ni-20160) 4) + (eq? (vector-ref ni-20160 0) 'syntax-object) #f) #f) - (#{free-id=? 28259}# #{i 42993}# #{nj 42998}#) - (if (symbol? #{ni 42997}#) - (if (eq? #{nj 42998}# - (if (if (vector? #{j 42994}#) - (if (= (vector-length #{j 42994}#) 4) - (eq? (vector-ref #{j 42994}# 0) - 'syntax-object) + (free-id=?-4574 ni-20160 j-20157) + (if (if (vector? nj-20161) + (if (= (vector-length nj-20161) 4) + (eq? (vector-ref nj-20161 0) 'syntax-object) + #f) + #f) + (free-id=?-4574 i-20156 nj-20161) + (if (symbol? ni-20160) + (if (eq? nj-20161 + (if (if (vector? j-20157) + (if (= (vector-length j-20157) 4) + (eq? (vector-ref j-20157 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{j 42994}# 1) - #{j 42994}#)) - (if (let ((#{bi 43070}# - (module-variable - (if #{mi 42995}# - (resolve-module (cdr #{mi 42995}#)) - (current-module)) - (if (if (vector? #{i 42993}#) - (if (= (vector-length #{i 42993}#) - 4) - (eq? (vector-ref #{i 42993}# 0) - 'syntax-object) + (vector-ref j-20157 1) + j-20157)) + (if (let ((bi-20233 + (module-variable + (if mi-20158 + (resolve-module (cdr mi-20158)) + (current-module)) + (if (if (vector? i-20156) + (if (= (vector-length i-20156) 4) + (eq? (vector-ref i-20156 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{i 42993}# 1) - #{i 42993}#)))) - (if #{bi 43070}# - (eq? #{bi 43070}# - (module-variable - (if #{mj 42996}# - (resolve-module (cdr #{mj 42996}#)) - (current-module)) - (if (if (vector? #{j 42994}#) - (if (= (vector-length #{j 42994}#) - 4) - (eq? (vector-ref #{j 42994}# 0) - 'syntax-object) + (vector-ref i-20156 1) + i-20156)))) + (if bi-20233 + (eq? bi-20233 + (module-variable + (if mj-20159 + (resolve-module (cdr mj-20159)) + (current-module)) + (if (if (vector? j-20157) + (if (= (vector-length j-20157) 4) + (eq? (vector-ref j-20157 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{j 42994}# 1) - #{j 42994}#))) - (if (not (module-variable - (if #{mj 42996}# - (resolve-module (cdr #{mj 42996}#)) - (current-module)) - (if (if (vector? #{j 42994}#) - (if (= (vector-length - #{j 42994}#) - 4) - (eq? (vector-ref - #{j 42994}# - 0) - 'syntax-object) + (vector-ref j-20157 1) + j-20157))) + (if (not (module-variable + (if mj-20159 + (resolve-module (cdr mj-20159)) + (current-module)) + (if (if (vector? j-20157) + (if (= (vector-length + j-20157) + 4) + (eq? (vector-ref j-20157 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{j 42994}# 1) - #{j 42994}#))) - (eq? #{ni 42997}# #{nj 42998}#) - #f))) - (eq? (module-variable - (if #{mi 42995}# - (resolve-module (cdr #{mi 42995}#)) - (current-module)) - (if (if (vector? #{i 42993}#) - (if (= (vector-length #{i 42993}#) 4) - (eq? (vector-ref #{i 42993}# 0) - 'syntax-object) + (vector-ref j-20157 1) + j-20157))) + (eq? ni-20160 nj-20161) + #f))) + (eq? (module-variable + (if mi-20158 + (resolve-module (cdr mi-20158)) + (current-module)) + (if (if (vector? i-20156) + (if (= (vector-length i-20156) 4) + (eq? (vector-ref i-20156 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{i 42993}# 1) - #{i 42993}#)) - (module-variable - (if #{mj 42996}# - (resolve-module (cdr #{mj 42996}#)) - (current-module)) - (if (if (vector? #{j 42994}#) - (if (= (vector-length #{j 42994}#) 4) - (eq? (vector-ref #{j 42994}# 0) - 'syntax-object) + (vector-ref i-20156 1) + i-20156)) + (module-variable + (if mj-20159 + (resolve-module (cdr mj-20159)) + (current-module)) + (if (if (vector? j-20157) + (if (= (vector-length j-20157) 4) + (eq? (vector-ref j-20157 0) + 'syntax-object) + #f) #f) - #f) - (vector-ref #{j 42994}# 1) - #{j 42994}#))) + (vector-ref j-20157 1) + j-20157))) + #f) #f) - #f) - (equal? #{ni 42997}# #{nj 42998}#)))))))))) - (#{bound-id=? 28260}# - (lambda (#{i 43263}# #{j 43264}#) - (if (if (if (vector? #{i 43263}#) - (if (= (vector-length #{i 43263}#) 4) - (eq? (vector-ref #{i 43263}# 0) 'syntax-object) + (equal? ni-20160 nj-20161)))))))))) + (bound-id=?-4575 + (lambda (i-20426 j-20427) + (if (if (if (vector? i-20426) + (if (= (vector-length i-20426) 4) + (eq? (vector-ref i-20426 0) 'syntax-object) + #f) + #f) + (if (vector? j-20427) + (if (= (vector-length j-20427) 4) + (eq? (vector-ref j-20427 0) 'syntax-object) #f) - #f) - (if (vector? #{j 43264}#) - (if (= (vector-length #{j 43264}#) 4) - (eq? (vector-ref #{j 43264}# 0) 'syntax-object) #f) #f) + (if (eq? (vector-ref i-20426 1) + (vector-ref j-20427 1)) + (same-marks?-4568 + (car (vector-ref i-20426 2)) + (car (vector-ref j-20427 2))) #f) - (if (eq? (vector-ref #{i 43263}# 1) - (vector-ref #{j 43264}# 1)) - (#{same-marks? 28256}# - (car (vector-ref #{i 43263}# 2)) - (car (vector-ref #{j 43264}# 2))) - #f) - (eq? #{i 43263}# #{j 43264}#)))) - (#{valid-bound-ids? 28261}# - (lambda (#{ids 43433}#) - (if (letrec* - ((#{all-ids? 43434}# - (lambda (#{ids 43631}#) - (if (null? #{ids 43631}#) - (null? #{ids 43631}#) - (if (let ((#{x 43642}# (car #{ids 43631}#))) - (if (symbol? #{x 43642}#) - #t - (if (if (vector? #{x 43642}#) - (if (= (vector-length #{x 43642}#) 4) - (eq? (vector-ref #{x 43642}# 0) - 'syntax-object) + (eq? i-20426 j-20427)))) + (valid-bound-ids?-4576 + (lambda (ids-20596) + (if (letrec* + ((all-ids?-20597 + (lambda (ids-20794) + (if (null? ids-20794) + (null? ids-20794) + (if (let ((x-20805 (car ids-20794))) + (if (symbol? x-20805) + #t + (if (if (vector? x-20805) + (if (= (vector-length x-20805) 4) + (eq? (vector-ref x-20805 0) + 'syntax-object) + #f) #f) - #f) - (symbol? (vector-ref #{x 43642}# 1)) - #f))) - (#{all-ids? 43434}# (cdr #{ids 43631}#)) - #f))))) - (#{all-ids? 43434}# #{ids 43433}#)) - (#{distinct-bound-ids? 28262}# #{ids 43433}#) - #f))) - (#{distinct-bound-ids? 28262}# - (lambda (#{ids 43763}#) - (letrec* - ((#{distinct? 43764}# - (lambda (#{ids 43869}#) - (if (null? #{ids 43869}#) - (null? #{ids 43869}#) - (if (not (#{bound-id-member? 28263}# - (car #{ids 43869}#) - (cdr #{ids 43869}#))) - (#{distinct? 43764}# (cdr #{ids 43869}#)) - #f))))) - (#{distinct? 43764}# #{ids 43763}#)))) - (#{bound-id-member? 28263}# - (lambda (#{x 43965}# #{list 43966}#) - (if (not (null? #{list 43966}#)) - (let ((#{t 43967}# - (#{bound-id=? 28260}# - #{x 43965}# - (car #{list 43966}#)))) - (if #{t 43967}# - #{t 43967}# - (#{bound-id-member? 28263}# - #{x 43965}# - (cdr #{list 43966}#)))) - #f))) - (#{source-wrap 28265}# - (lambda (#{x 44145}# - #{w 44146}# - #{s 44147}# - #{defmod 44148}#) - (let ((#{x 44152}# - (begin - (if (if (pair? #{x 44145}#) #{s 44147}# #f) - (set-source-properties! #{x 44145}# #{s 44147}#)) - #{x 44145}#))) - (if (if (null? (car #{w 44146}#)) - (null? (cdr #{w 44146}#)) - #f) - #{x 44152}# - (if (if (vector? #{x 44152}#) - (if (= (vector-length #{x 44152}#) 4) - (eq? (vector-ref #{x 44152}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 44184}# (vector-ref #{x 44152}# 1)) - (#{wrap 44185}# - (let ((#{w2 44193}# (vector-ref #{x 44152}# 2))) - (let ((#{m1 44194}# (car #{w 44146}#)) - (#{s1 44195}# (cdr #{w 44146}#))) - (if (null? #{m1 44194}#) - (if (null? #{s1 44195}#) - #{w2 44193}# - (cons (car #{w2 44193}#) - (let ((#{m2 44210}# (cdr #{w2 44193}#))) - (if (null? #{m2 44210}#) - #{s1 44195}# - (append #{s1 44195}# #{m2 44210}#))))) - (cons (let ((#{m2 44218}# (car #{w2 44193}#))) - (if (null? #{m2 44218}#) - #{m1 44194}# - (append #{m1 44194}# #{m2 44218}#))) - (let ((#{m2 44226}# (cdr #{w2 44193}#))) - (if (null? #{m2 44226}#) - #{s1 44195}# - (append #{s1 44195}# #{m2 44226}#)))))))) - (#{module 44186}# (vector-ref #{x 44152}# 3))) - (vector - 'syntax-object - #{expression 44184}# - #{wrap 44185}# - #{module 44186}#)) - (if (null? #{x 44152}#) - #{x 44152}# - (vector - 'syntax-object - #{x 44152}# - #{w 44146}# - #{defmod 44148}#))))))) - (#{expand-sequence 28266}# - (lambda (#{body 59670}# - #{r 59671}# - #{w 59672}# - #{s 59673}# - #{mod 59674}#) - (#{build-sequence 28220}# - #{s 59673}# + (symbol? (vector-ref x-20805 1)) + #f))) + (all-ids?-20597 (cdr ids-20794)) + #f))))) + (all-ids?-20597 ids-20596)) + (distinct-bound-ids?-4577 ids-20596) + #f))) + (distinct-bound-ids?-4577 + (lambda (ids-20926) (letrec* - ((#{dobody 59762}# - (lambda (#{body 59845}# - #{r 59846}# - #{w 59847}# - #{mod 59848}#) - (if (null? #{body 59845}#) - '() - (let ((#{first 59849}# - (#{expand 28271}# - (car #{body 59845}#) - #{r 59846}# - #{w 59847}# - #{mod 59848}#))) - (cons #{first 59849}# - (#{dobody 59762}# - (cdr #{body 59845}#) - #{r 59846}# - #{w 59847}# - #{mod 59848}#))))))) - (#{dobody 59762}# - #{body 59670}# - #{r 59671}# - #{w 59672}# - #{mod 59674}#))))) - (#{expand-top-sequence 28267}# - (lambda (#{body 44255}# - #{r 44256}# - #{w 44257}# - #{s 44258}# - #{m 44259}# - #{esew 44260}# - #{mod 44261}#) - (let ((#{r 44262}# - (cons '("placeholder" placeholder) #{r 44256}#))) - (let ((#{ribcage 44263}# (vector 'ribcage '() '() '()))) - (let ((#{w 44264}# - (cons (car #{w 44257}#) - (cons #{ribcage 44263}# (cdr #{w 44257}#))))) - (letrec* - ((#{record-definition! 44265}# - (lambda (#{id 47641}# #{var 47642}#) - (let ((#{mod 47643}# - (cons 'hygiene (module-name (current-module))))) - (let ((#{label 47649}# - (cons (vector-ref #{id 47641}# 3) - (if (if (vector? #{var 47642}#) - (if (= (vector-length #{var 47642}#) - 4) - (eq? (vector-ref #{var 47642}# 0) - 'syntax-object) + ((distinct?-20927 + (lambda (ids-21032) + (if (null? ids-21032) + (null? ids-21032) + (if (not (bound-id-member?-4578 + (car ids-21032) + (cdr ids-21032))) + (distinct?-20927 (cdr ids-21032)) + #f))))) + (distinct?-20927 ids-20926)))) + (bound-id-member?-4578 + (lambda (x-21128 list-21129) + (if (not (null? list-21129)) + (let ((t-21130 + (bound-id=?-4575 x-21128 (car list-21129)))) + (if t-21130 + t-21130 + (bound-id-member?-4578 x-21128 (cdr list-21129)))) + #f))) + (source-wrap-4580 + (lambda (x-21308 w-21309 s-21310 defmod-21311) + (let ((x-21315 + (begin + (if (if (pair? x-21308) s-21310 #f) + (set-source-properties! x-21308 s-21310)) + x-21308))) + (if (if (null? (car w-21309)) + (null? (cdr w-21309)) + #f) + x-21315 + (if (if (vector? x-21315) + (if (= (vector-length x-21315) 4) + (eq? (vector-ref x-21315 0) 'syntax-object) + #f) + #f) + (let ((expression-21347 (vector-ref x-21315 1)) + (wrap-21348 + (let ((w2-21356 (vector-ref x-21315 2))) + (let ((m1-21357 (car w-21309)) + (s1-21358 (cdr w-21309))) + (if (null? m1-21357) + (if (null? s1-21358) + w2-21356 + (cons (car w2-21356) + (let ((m2-21373 (cdr w2-21356))) + (if (null? m2-21373) + s1-21358 + (append s1-21358 m2-21373))))) + (cons (let ((m2-21381 (car w2-21356))) + (if (null? m2-21381) + m1-21357 + (append m1-21357 m2-21381))) + (let ((m2-21389 (cdr w2-21356))) + (if (null? m2-21389) + s1-21358 + (append s1-21358 m2-21389)))))))) + (module-21349 (vector-ref x-21315 3))) + (vector + 'syntax-object + expression-21347 + wrap-21348 + module-21349)) + (if (null? x-21315) + x-21315 + (vector + 'syntax-object + x-21315 + w-21309 + defmod-21311))))))) + (expand-sequence-4581 + (lambda (body-36926 r-36927 w-36928 s-36929 mod-36930) + (build-sequence-4532 + s-36929 + (letrec* + ((dobody-37018 + (lambda (body-37101 r-37102 w-37103 mod-37104) + (if (null? body-37101) + '() + (let ((first-37105 + (expand-4586 + (car body-37101) + r-37102 + w-37103 + mod-37104))) + (cons first-37105 + (dobody-37018 + (cdr body-37101) + r-37102 + w-37103 + mod-37104))))))) + (dobody-37018 + body-36926 + r-36927 + w-36928 + mod-36930))))) + (expand-top-sequence-4582 + (lambda (body-21418 + r-21419 + w-21420 + s-21421 + m-21422 + esew-21423 + mod-21424) + (let ((r-21425 + (cons '("placeholder" placeholder) r-21419))) + (let ((ribcage-21426 (vector 'ribcage '() '() '()))) + (let ((w-21427 + (cons (car w-21420) + (cons ribcage-21426 (cdr w-21420))))) + (letrec* + ((record-definition!-21428 + (lambda (id-24805 var-24806) + (let ((mod-24807 + (cons 'hygiene (module-name (current-module))))) + (let ((label-24813 + (cons (vector-ref id-24805 3) + (if (if (vector? var-24806) + (if (= (vector-length var-24806) 4) + (eq? (vector-ref var-24806 0) + 'syntax-object) + #f) #f) - #f) - (let ((#{expression 47711}# - (vector-ref #{var 47642}# 1)) - (#{wrap 47712}# - (let ((#{w2 47722}# - (vector-ref - #{var 47642}# - 2))) - (cons (let ((#{m2 47729}# - (car #{w2 47722}#))) - (if (null? #{m2 47729}#) - '(top) - (append + (let ((expression-24875 + (vector-ref var-24806 1)) + (wrap-24876 + (let ((w2-24886 + (vector-ref + var-24806 + 2))) + (cons (let ((m2-24893 + (car w2-24886))) + (if (null? m2-24893) '(top) - #{m2 47729}#))) - (let ((#{m2 47738}# - (cdr #{w2 47722}#))) - (if (null? #{m2 47738}#) - '() - (append + (append + '(top) + m2-24893))) + (let ((m2-24902 + (cdr w2-24886))) + (if (null? m2-24902) '() - #{m2 47738}#)))))) - (#{module 47713}# - (vector-ref #{var 47642}# 3))) - (vector - 'syntax-object - #{expression 47711}# - #{wrap 47712}# - #{module 47713}#)) - (if (null? #{var 47642}#) - #{var 47642}# - (vector - 'syntax-object - #{var 47642}# - '((top)) - #{mod 47643}#)))))) - (begin - (let ((#{update 47652}# - (cons (vector-ref #{id 47641}# 1) - (vector-ref #{ribcage 44263}# 1)))) - (vector-set! - #{ribcage 44263}# - 1 - #{update 47652}#)) - (let ((#{update 47667}# - (cons (car (vector-ref #{id 47641}# 2)) - (vector-ref #{ribcage 44263}# 2)))) - (vector-set! - #{ribcage 44263}# - 2 - #{update 47667}#)) - (let ((#{update 47682}# - (cons #{label 47649}# - (vector-ref #{ribcage 44263}# 3)))) - (vector-set! - #{ribcage 44263}# - 3 - #{update 47682}#))))))) - (#{parse 44268}# - (lambda (#{body 44463}# - #{r 44464}# - #{w 44465}# - #{s 44466}# - #{m 44467}# - #{esew 44468}# - #{mod 44469}#) - (letrec* - ((#{lp 44470}# - (lambda (#{body 44553}# #{exps 44554}#) - (if (null? #{body 44553}#) - #{exps 44554}# - (#{lp 44470}# - (cdr #{body 44553}#) - (append - (#{parse1 44269}# - (car #{body 44553}#) - #{r 44464}# - #{w 44465}# - #{s 44466}# - #{m 44467}# - #{esew 44468}# - #{mod 44469}#) - #{exps 44554}#)))))) - (#{lp 44470}# #{body 44463}# '())))) - (#{parse1 44269}# - (lambda (#{x 44624}# - #{r 44625}# - #{w 44626}# - #{s 44627}# - #{m 44628}# - #{esew 44629}# - #{mod 44630}#) - (call-with-values - (lambda () - (#{syntax-type 28270}# - #{x 44624}# - #{r 44625}# - #{w 44626}# - (#{source-annotation 28232}# #{x 44624}#) - #{ribcage 44263}# - #{mod 44630}# - #f)) - (lambda (#{type 44816}# - #{value 44817}# - #{e 44818}# - #{w 44819}# - #{s 44820}# - #{mod 44821}#) - (if (eqv? #{type 44816}# 'define-form) - (let ((#{id 44825}# - (if (if (null? (car #{w 44819}#)) - (null? (cdr #{w 44819}#)) - #f) - #{value 44817}# - (if (if (vector? #{value 44817}#) - (if (= (vector-length - #{value 44817}#) - 4) - (eq? (vector-ref #{value 44817}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 44875}# - (vector-ref #{value 44817}# 1)) - (#{wrap 44876}# - (let ((#{w2 44886}# - (vector-ref - #{value 44817}# - 2))) - (let ((#{m1 44887}# - (car #{w 44819}#)) - (#{s1 44888}# - (cdr #{w 44819}#))) - (if (null? #{m1 44887}#) - (if (null? #{s1 44888}#) - #{w2 44886}# - (cons (car #{w2 44886}#) - (let ((#{m2 44905}# - (cdr #{w2 44886}#))) - (if (null? #{m2 44905}#) - #{s1 44888}# - (append - #{s1 44888}# - #{m2 44905}#))))) - (cons (let ((#{m2 44913}# - (car #{w2 44886}#))) - (if (null? #{m2 44913}#) - #{m1 44887}# - (append - #{m1 44887}# - #{m2 44913}#))) - (let ((#{m2 44921}# - (cdr #{w2 44886}#))) - (if (null? #{m2 44921}#) - #{s1 44888}# - (append - #{s1 44888}# - #{m2 44921}#)))))))) - (#{module 44877}# - (vector-ref #{value 44817}# 3))) - (vector - 'syntax-object - #{expression 44875}# - #{wrap 44876}# - #{module 44877}#)) - (if (null? #{value 44817}#) - #{value 44817}# - (vector - 'syntax-object - #{value 44817}# - #{w 44819}# - #{mod 44821}#)))))) - (begin - (symbol->string (gensym "i")) - (let ((#{var 44827}# - (if (not (equal? - (car (vector-ref - #{id 44825}# - 2)) - '(top))) - (symbol-append - (vector-ref #{id 44825}# 1) - '- - (string->symbol - (number->string - (hash (syntax->datum #{x 44624}#) - most-positive-fixnum) - 16))) - (vector-ref #{id 44825}# 1)))) - (begin - (#{record-definition! 44265}# - #{id 44825}# - #{var 44827}#) - (list (if (eq? #{m 44628}# 'c&e) - (let ((#{x 45047}# - (#{build-global-definition 28213}# - #{s 44820}# - #{var 44827}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#)))) - (begin - (#{top-level-eval-hook 28198}# - #{x 45047}# - #{mod 44821}#) - (lambda () #{x 45047}#))) - (lambda () - (#{build-global-definition 28213}# - #{s 44820}# - #{var 44827}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#))))))))) - (if (if (eqv? #{type 44816}# 'define-syntax-form) - #t - (eqv? #{type 44816}# - 'define-syntax-parameter-form)) - (let ((#{id 45541}# - (if (if (null? (car #{w 44819}#)) - (null? (cdr #{w 44819}#)) + (append + '() + m2-24902)))))) + (module-24877 + (vector-ref var-24806 3))) + (vector + 'syntax-object + expression-24875 + wrap-24876 + module-24877)) + (if (null? var-24806) + var-24806 + (vector + 'syntax-object + var-24806 + '((top)) + mod-24807)))))) + (begin + (let ((update-24816 + (cons (vector-ref id-24805 1) + (vector-ref ribcage-21426 1)))) + (vector-set! ribcage-21426 1 update-24816)) + (let ((update-24831 + (cons (car (vector-ref id-24805 2)) + (vector-ref ribcage-21426 2)))) + (vector-set! ribcage-21426 2 update-24831)) + (let ((update-24846 + (cons label-24813 + (vector-ref ribcage-21426 3)))) + (vector-set! ribcage-21426 3 update-24846))))))) + (parse-21431 + (lambda (body-21626 + r-21627 + w-21628 + s-21629 + m-21630 + esew-21631 + mod-21632) + (letrec* + ((lp-21633 + (lambda (body-21716 exps-21717) + (if (null? body-21716) + exps-21717 + (lp-21633 + (cdr body-21716) + (append + (parse1-21432 + (car body-21716) + r-21627 + w-21628 + s-21629 + m-21630 + esew-21631 + mod-21632) + exps-21717)))))) + (lp-21633 body-21626 '())))) + (parse1-21432 + (lambda (x-21787 + r-21788 + w-21789 + s-21790 + m-21791 + esew-21792 + mod-21793) + (call-with-values + (lambda () + (syntax-type-4585 + x-21787 + r-21788 + w-21789 + (source-annotation-4544 x-21787) + ribcage-21426 + mod-21793 + #f)) + (lambda (type-21979 + value-21980 + form-21981 + e-21982 + w-21983 + s-21984 + mod-21985) + (if (eqv? type-21979 'define-form) + (let ((id-21989 + (if (if (null? (car w-21983)) + (null? (cdr w-21983)) #f) - #{value 44817}# - (if (if (vector? #{value 44817}#) - (if (= (vector-length - #{value 44817}#) + value-21980 + (if (if (vector? value-21980) + (if (= (vector-length value-21980) 4) - (eq? (vector-ref - #{value 44817}# - 0) + (eq? (vector-ref value-21980 0) 'syntax-object) #f) #f) - (let ((#{expression 45591}# - (vector-ref #{value 44817}# 1)) - (#{wrap 45592}# - (let ((#{w2 45602}# + (let ((expression-22039 + (vector-ref value-21980 1)) + (wrap-22040 + (let ((w2-22050 (vector-ref - #{value 44817}# + value-21980 2))) - (let ((#{m1 45603}# - (car #{w 44819}#)) - (#{s1 45604}# - (cdr #{w 44819}#))) - (if (null? #{m1 45603}#) - (if (null? #{s1 45604}#) - #{w2 45602}# - (cons (car #{w2 45602}#) - (let ((#{m2 45621}# - (cdr #{w2 45602}#))) - (if (null? #{m2 45621}#) - #{s1 45604}# + (let ((m1-22051 + (car w-21983)) + (s1-22052 + (cdr w-21983))) + (if (null? m1-22051) + (if (null? s1-22052) + w2-22050 + (cons (car w2-22050) + (let ((m2-22069 + (cdr w2-22050))) + (if (null? m2-22069) + s1-22052 (append - #{s1 45604}# - #{m2 45621}#))))) - (cons (let ((#{m2 45629}# - (car #{w2 45602}#))) - (if (null? #{m2 45629}#) - #{m1 45603}# + s1-22052 + m2-22069))))) + (cons (let ((m2-22077 + (car w2-22050))) + (if (null? m2-22077) + m1-22051 (append - #{m1 45603}# - #{m2 45629}#))) - (let ((#{m2 45637}# - (cdr #{w2 45602}#))) - (if (null? #{m2 45637}#) - #{s1 45604}# + m1-22051 + m2-22077))) + (let ((m2-22085 + (cdr w2-22050))) + (if (null? m2-22085) + s1-22052 (append - #{s1 45604}# - #{m2 45637}#)))))))) - (#{module 45593}# - (vector-ref - #{value 44817}# - 3))) + s1-22052 + m2-22085)))))))) + (module-22041 + (vector-ref value-21980 3))) (vector 'syntax-object - #{expression 45591}# - #{wrap 45592}# - #{module 45593}#)) - (if (null? #{value 44817}#) - #{value 44817}# + expression-22039 + wrap-22040 + module-22041)) + (if (null? value-21980) + value-21980 (vector 'syntax-object - #{value 44817}# - #{w 44819}# - #{mod 44821}#)))))) + value-21980 + w-21983 + mod-21985)))))) (begin - (symbol->string (gensym "i")) - (let ((#{var 45543}# + (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))) + (let ((var-21991 (if (not (equal? (car (vector-ref - #{id 45541}# + id-21989 2)) '(top))) (symbol-append - (vector-ref #{id 45541}# 1) + (vector-ref id-21989 1) '- (string->symbol (number->string - (hash (syntax->datum - #{x 44624}#) + (hash (syntax->datum x-21787) most-positive-fixnum) 16))) - (vector-ref #{id 45541}# 1)))) + (vector-ref id-21989 1)))) (begin - (#{record-definition! 44265}# - #{id 45541}# - #{var 45543}#) - (if (eqv? #{m 44628}# 'c) - (if (memq 'compile #{esew 44629}#) - (let ((#{e 45766}# - (#{expand-install-global 28268}# - #{var 45543}# - #{type 44816}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#)))) - (begin - (#{top-level-eval-hook 28198}# - #{e 45766}# - #{mod 44821}#) - (if (memq 'load #{esew 44629}#) - (list (lambda () #{e 45766}#)) - '()))) - (if (memq 'load #{esew 44629}#) - (list (lambda () - (#{expand-install-global 28268}# - #{var 45543}# - #{type 44816}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#)))) - '())) - (if (eqv? #{m 44628}# 'c&e) - (let ((#{e 46269}# - (#{expand-install-global 28268}# - #{var 45543}# - #{type 44816}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#)))) - (begin - (#{top-level-eval-hook 28198}# - #{e 46269}# - #{mod 44821}#) - (list (lambda () #{e 46269}#)))) - (begin - (if (memq 'eval #{esew 44629}#) - (#{top-level-eval-hook 28198}# - (#{expand-install-global 28268}# - #{var 45543}# - #{type 44816}# - (#{expand 28271}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{mod 44821}#)) - #{mod 44821}#)) - '()))))))) - (if (eqv? #{type 44816}# 'begin-form) - (let ((#{tmp 46879}# - ($sc-dispatch - #{e 44818}# - '(_ . each-any)))) - (if #{tmp 46879}# - (@apply - (lambda (#{e1 46883}#) - (#{parse 44268}# - #{e1 46883}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - #{m 44628}# - #{esew 44629}# - #{mod 44821}#)) - #{tmp 46879}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 44818}#))) - (if (eqv? #{type 44816}# 'local-syntax-form) - (#{expand-local-syntax 28276}# - #{value 44817}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - #{mod 44821}# - (lambda (#{forms 46926}# - #{r 46927}# - #{w 46928}# - #{s 46929}# - #{mod 46930}#) - (#{parse 44268}# - #{forms 46926}# - #{r 46927}# - #{w 46928}# - #{s 46929}# - #{m 44628}# - #{esew 44629}# - #{mod 46930}#))) - (if (eqv? #{type 44816}# 'eval-when-form) - (let ((#{tmp 46966}# - ($sc-dispatch - #{e 44818}# - '(_ each-any any . each-any)))) - (if #{tmp 46966}# - (@apply - (lambda (#{x 46970}# - #{e1 46971}# - #{e2 46972}#) - (let ((#{when-list 46973}# - (#{parse-when-list 28269}# - #{e 44818}# - #{x 46970}#)) - (#{body 46974}# - (cons #{e1 46971}# - #{e2 46972}#))) - (letrec* - ((#{recurse 46975}# - (lambda (#{m 47561}# - #{esew 47562}#) - (#{parse 44268}# - #{body 46974}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - #{m 47561}# - #{esew 47562}# - #{mod 44821}#)))) - (if (eq? #{m 44628}# 'e) - (if (memq 'eval - #{when-list 46973}#) - (#{recurse 46975}# - (if (memq 'expand - #{when-list 46973}#) - 'c&e - 'e) - '(eval)) - (begin - (if (memq 'expand - #{when-list 46973}#) - (let ((#{x 47082}# - (#{expand-top-sequence 28267}# - #{body 46974}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - 'e - '(eval) - #{mod 44821}#))) - (primitive-eval - #{x 47082}#))) - '())) - (if (memq 'load - #{when-list 46973}#) - (if (let ((#{t 47110}# - (memq 'compile - #{when-list 46973}#))) - (if #{t 47110}# - #{t 47110}# - (let ((#{t 47163}# - (memq 'expand - #{when-list 46973}#))) - (if #{t 47163}# - #{t 47163}# - (if (eq? #{m 44628}# - 'c&e) - (memq 'eval - #{when-list 46973}#) - #f))))) - (#{recurse 46975}# - 'c&e - '(compile load)) - (if (if (eq? #{m 44628}# - 'c) - #t - (eq? #{m 44628}# - 'c&e)) - (#{recurse 46975}# - 'c - '(load)) - '())) - (if (let ((#{t 47372}# - (memq 'compile - #{when-list 46973}#))) - (if #{t 47372}# - #{t 47372}# - (let ((#{t 47425}# - (memq 'expand - #{when-list 46973}#))) - (if #{t 47425}# - #{t 47425}# - (if (eq? #{m 44628}# - 'c&e) - (memq 'eval - #{when-list 46973}#) - #f))))) - (begin - (let ((#{x 47559}# - (#{expand-top-sequence 28267}# - #{body 46974}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - 'e - '(eval) - #{mod 44821}#))) - (primitive-eval - #{x 47559}#)) - '()) - '())))))) - #{tmp 46966}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 44818}#))) - (list (if (eq? #{m 44628}# 'c&e) - (let ((#{x 47632}# - (#{expand-expr 28272}# - #{type 44816}# - #{value 44817}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - #{mod 44821}#))) + (record-definition!-21428 + id-21989 + var-21991) + (list (if (eq? m-21791 'c&e) + (let ((x-22211 + (build-global-definition-4525 + s-21984 + var-21991 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985)))) + (begin + (top-level-eval-hook-4509 + x-22211 + mod-21985) + (lambda () x-22211))) + (lambda () + (build-global-definition-4525 + s-21984 + var-21991 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985))))))))) + (if (if (eqv? type-21979 'define-syntax-form) + #t + (eqv? type-21979 + 'define-syntax-parameter-form)) + (let ((id-22705 + (if (if (null? (car w-21983)) + (null? (cdr w-21983)) + #f) + value-21980 + (if (if (vector? value-21980) + (if (= (vector-length + value-21980) + 4) + (eq? (vector-ref value-21980 0) + 'syntax-object) + #f) + #f) + (let ((expression-22755 + (vector-ref value-21980 1)) + (wrap-22756 + (let ((w2-22766 + (vector-ref + value-21980 + 2))) + (let ((m1-22767 + (car w-21983)) + (s1-22768 + (cdr w-21983))) + (if (null? m1-22767) + (if (null? s1-22768) + w2-22766 + (cons (car w2-22766) + (let ((m2-22785 + (cdr w2-22766))) + (if (null? m2-22785) + s1-22768 + (append + s1-22768 + m2-22785))))) + (cons (let ((m2-22793 + (car w2-22766))) + (if (null? m2-22793) + m1-22767 + (append + m1-22767 + m2-22793))) + (let ((m2-22801 + (cdr w2-22766))) + (if (null? m2-22801) + s1-22768 + (append + s1-22768 + m2-22801)))))))) + (module-22757 + (vector-ref value-21980 3))) + (vector + 'syntax-object + expression-22755 + wrap-22756 + module-22757)) + (if (null? value-21980) + value-21980 + (vector + 'syntax-object + value-21980 + w-21983 + mod-21985)))))) + (begin + (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))) + (let ((var-22707 + (if (not (equal? + (car (vector-ref + id-22705 + 2)) + '(top))) + (symbol-append + (vector-ref id-22705 1) + '- + (string->symbol + (number->string + (hash (syntax->datum x-21787) + most-positive-fixnum) + 16))) + (vector-ref id-22705 1)))) + (begin + (record-definition!-21428 + id-22705 + var-22707) + (if (eqv? m-21791 'c) + (if (memq 'compile esew-21792) + (let ((e-22930 + (expand-install-global-4583 + var-22707 + type-21979 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985)))) (begin - (primitive-eval #{x 47632}#) - (lambda () #{x 47632}#))) - (lambda () - (#{expand-expr 28272}# - #{type 44816}# - #{value 44817}# - #{e 44818}# - #{r 44625}# - #{w 44819}# - #{s 44820}# - #{mod 44821}#)))))))))))))) - (let ((#{exps 44270}# - (map (lambda (#{x 44393}#) (#{x 44393}#)) - (reverse - (#{parse 44268}# - #{body 44255}# - #{r 44262}# - #{w 44264}# - #{s 44258}# - #{m 44259}# - #{esew 44260}# - #{mod 44261}#))))) - (if (null? #{exps 44270}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #{s 44258}#) - (#{build-sequence 28220}# - #{s 44258}# - #{exps 44270}#))))))))) - (#{expand-install-global 28268}# - (lambda (#{name 47760}# #{type 47761}# #{e 47762}#) - (let ((#{exp 47768}# - (let ((#{args 47779}# - (if (eq? #{type 47761}# - 'define-syntax-parameter-form) - (list (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - #{name 47760}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - 'syntax-parameter) - (let ((#{args 47802}# (list #{e 47762}#))) + (top-level-eval-hook-4509 + e-22930 + mod-21985) + (if (memq 'load esew-21792) + (list (lambda () e-22930)) + '()))) + (if (memq 'load esew-21792) + (list (lambda () + (expand-install-global-4583 + var-22707 + type-21979 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985)))) + '())) + (if (eqv? m-21791 'c&e) + (let ((e-23433 + (expand-install-global-4583 + var-22707 + type-21979 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985)))) + (begin + (top-level-eval-hook-4509 + e-23433 + mod-21985) + (list (lambda () e-23433)))) + (begin + (if (memq 'eval esew-21792) + (top-level-eval-hook-4509 + (expand-install-global-4583 + var-22707 + type-21979 + (expand-4586 + e-21982 + r-21788 + w-21983 + mod-21985)) + mod-21985)) + '()))))))) + (if (eqv? type-21979 'begin-form) + (let ((tmp-24043 + ($sc-dispatch + e-21982 + '(_ . each-any)))) + (if tmp-24043 + (@apply + (lambda (e1-24047) + (parse-21431 + e1-24047 + r-21788 + w-21983 + s-21984 + m-21791 + esew-21792 + mod-21985)) + tmp-24043) + (syntax-violation + #f + "source expression failed to match any pattern" + e-21982))) + (if (eqv? type-21979 'local-syntax-form) + (expand-local-syntax-4591 + value-21980 + e-21982 + r-21788 + w-21983 + s-21984 + mod-21985 + (lambda (forms-24090 + r-24091 + w-24092 + s-24093 + mod-24094) + (parse-21431 + forms-24090 + r-24091 + w-24092 + s-24093 + m-21791 + esew-21792 + mod-24094))) + (if (eqv? type-21979 'eval-when-form) + (let ((tmp-24130 + ($sc-dispatch + e-21982 + '(_ each-any any . each-any)))) + (if tmp-24130 + (@apply + (lambda (x-24134 e1-24135 e2-24136) + (let ((when-list-24137 + (parse-when-list-4584 + e-21982 + x-24134)) + (body-24138 + (cons e1-24135 e2-24136))) + (letrec* + ((recurse-24139 + (lambda (m-24725 esew-24726) + (parse-21431 + body-24138 + r-21788 + w-21983 + s-21984 + m-24725 + esew-24726 + mod-21985)))) + (if (eq? m-21791 'e) + (if (memq 'eval + when-list-24137) + (recurse-24139 + (if (memq 'expand + when-list-24137) + 'c&e + 'e) + '(eval)) + (begin + (if (memq 'expand + when-list-24137) + (let ((x-24246 + (expand-top-sequence-4582 + body-24138 + r-21788 + w-21983 + s-21984 + 'e + '(eval) + mod-21985))) + (primitive-eval + x-24246))) + '())) + (if (memq 'load + when-list-24137) + (if (let ((t-24274 + (memq 'compile + when-list-24137))) + (if t-24274 + t-24274 + (let ((t-24327 + (memq 'expand + when-list-24137))) + (if t-24327 + t-24327 + (if (eq? m-21791 + 'c&e) + (memq 'eval + when-list-24137) + #f))))) + (recurse-24139 + 'c&e + '(compile load)) + (if (if (eq? m-21791 'c) + #t + (eq? m-21791 'c&e)) + (recurse-24139 + 'c + '(load)) + '())) + (if (let ((t-24536 + (memq 'compile + when-list-24137))) + (if t-24536 + t-24536 + (let ((t-24589 + (memq 'expand + when-list-24137))) + (if t-24589 + t-24589 + (if (eq? m-21791 + 'c&e) + (memq 'eval + when-list-24137) + #f))))) + (begin + (let ((x-24723 + (expand-top-sequence-4582 + body-24138 + r-21788 + w-21983 + s-21984 + 'e + '(eval) + mod-21985))) + (primitive-eval + x-24723)) + '()) + '())))))) + tmp-24130) + (syntax-violation + #f + "source expression failed to match any pattern" + e-21982))) + (list (if (eq? m-21791 'c&e) + (let ((x-24796 + (expand-expr-4587 + type-21979 + value-21980 + form-21981 + e-21982 + r-21788 + w-21983 + s-21984 + mod-21985))) + (begin + (primitive-eval x-24796) + (lambda () x-24796))) + (lambda () + (expand-expr-4587 + type-21979 + value-21980 + form-21981 + e-21982 + r-21788 + w-21983 + s-21984 + mod-21985)))))))))))))) + (let ((exps-21433 + (map (lambda (x-21556) (x-21556)) + (reverse + (parse-21431 + body-21418 + r-21425 + w-21427 + s-21421 + m-21422 + esew-21423 + mod-21424))))) + (if (null? exps-21433) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + s-21421) + (build-sequence-4532 s-21421 exps-21433))))))))) + (expand-install-global-4583 + (lambda (name-24924 type-24925 e-24926) + (let ((exp-24932 + (let ((args-24943 + (if (eq? type-24925 'define-syntax-parameter-form) + (list (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + name-24924) (make-struct/no-tail - (vector-ref %expanded-vtables 12) + (vector-ref %expanded-vtables 1) #f - 'list - #{args 47802}#))) - (list (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - #{name 47760}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - 'macro) - #{e 47762}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #f - 'make-syntax-transformer - #{args 47779}#)))) - (begin - (if (if (struct? #{exp 47768}#) - (eq? (struct-vtable #{exp 47768}#) - (vector-ref %expanded-vtables 14)) - #f) - (let ((#{meta 47829}# (struct-ref #{exp 47768}# 1))) - (if (not (assq 'name #{meta 47829}#)) - (let ((#{v 47836}# - (cons (cons 'name #{name 47760}#) #{meta 47829}#))) - (struct-set! #{exp 47768}# 1 #{v 47836}#))))) - (make-struct/no-tail - (vector-ref %expanded-vtables 9) - #f - #{name 47760}# - #{exp 47768}#))))) - (#{parse-when-list 28269}# - (lambda (#{e 47847}# #{when-list 47848}#) - (let ((#{result 47849}# - (#{strip 28284}# #{when-list 47848}# '(())))) - (letrec* - ((#{lp 47850}# - (lambda (#{l 47916}#) - (if (null? #{l 47916}#) - #{result 47849}# - (if (let ((#{t 47918}# (car #{l 47916}#))) - (if (eq? #{t 47918}# 'compile) - #t - (if (eq? #{t 47918}# 'load) + 'syntax-parameter) + (let ((args-24966 (list e-24926))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + 'list + args-24966))) + (list (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + name-24924) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + 'macro) + e-24926)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + 'make-syntax-transformer + args-24943)))) + (begin + (if (if (struct? exp-24932) + (eq? (struct-vtable exp-24932) + (vector-ref %expanded-vtables 14)) + #f) + (let ((meta-24993 (struct-ref exp-24932 1))) + (if (not (assq 'name meta-24993)) + (let ((v-25000 + (cons (cons 'name name-24924) meta-24993))) + (struct-set! exp-24932 1 v-25000))))) + (make-struct/no-tail + (vector-ref %expanded-vtables 9) + #f + name-24924 + exp-24932))))) + (parse-when-list-4584 + (lambda (e-25011 when-list-25012) + (let ((result-25013 (strip-4599 when-list-25012 '(())))) + (letrec* + ((lp-25014 + (lambda (l-25080) + (if (null? l-25080) + result-25013 + (if (let ((t-25082 (car l-25080))) + (if (eq? t-25082 'compile) #t - (if (eq? #{t 47918}# 'eval) + (if (eq? t-25082 'load) #t - (eq? #{t 47918}# 'expand))))) - (#{lp 47850}# (cdr #{l 47916}#)) - (syntax-violation - 'eval-when - "invalid situation" - #{e 47847}# - (car #{l 47916}#))))))) - (#{lp 47850}# #{result 47849}#))))) - (#{syntax-type 28270}# - (lambda (#{e 47920}# - #{r 47921}# - #{w 47922}# - #{s 47923}# - #{rib 47924}# - #{mod 47925}# - #{for-car? 47926}#) - (if (symbol? #{e 47920}#) - (call-with-values - (lambda () - (#{resolve-identifier 28258}# - #{e 47920}# - #{w 47922}# - #{r 47921}# - #{mod 47925}# - #t)) - (lambda (#{type 47929}# #{value 47930}# #{mod* 47931}#) - (if (eqv? #{type 47929}# 'macro) - (if #{for-car? 47926}# - (values - #{type 47929}# - #{value 47930}# - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (#{syntax-type 28270}# - (#{expand-macro 28274}# - #{value 47930}# - #{e 47920}# - #{r 47921}# - #{w 47922}# - #{s 47923}# - #{rib 47924}# - #{mod 47925}#) - #{r 47921}# - '(()) - #{s 47923}# - #{rib 47924}# - #{mod 47925}# - #f)) - (if (eqv? #{type 47929}# 'global) - (values - #{type 47929}# - #{value 47930}# - #{value 47930}# - #{w 47922}# - #{s 47923}# - #{mod* 47931}#) - (values - #{type 47929}# - #{value 47930}# - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#))))) - (if (pair? #{e 47920}#) - (let ((#{first 47940}# (car #{e 47920}#))) - (call-with-values - (lambda () - (#{syntax-type 28270}# - #{first 47940}# - #{r 47921}# - #{w 47922}# - #{s 47923}# - #{rib 47924}# - #{mod 47925}# - #t)) - (lambda (#{ftype 47942}# - #{fval 47943}# - #{fe 47944}# - #{fw 47945}# - #{fs 47946}# - #{fmod 47947}#) - (if (eqv? #{ftype 47942}# 'lexical) + (if (eq? t-25082 'eval) + #t + (eq? t-25082 'expand))))) + (lp-25014 (cdr l-25080)) + (syntax-violation + 'eval-when + "invalid situation" + e-25011 + (car l-25080))))))) + (lp-25014 result-25013))))) + (syntax-type-4585 + (lambda (e-25084 + r-25085 + w-25086 + s-25087 + rib-25088 + mod-25089 + for-car?-25090) + (if (symbol? e-25084) + (call-with-values + (lambda () + (resolve-identifier-4571 + e-25084 + w-25086 + r-25085 + mod-25089 + #t)) + (lambda (type-25093 value-25094 mod*-25095) + (if (eqv? type-25093 'macro) + (if for-car?-25090 + (values + type-25093 + value-25094 + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (syntax-type-4585 + (expand-macro-4589 + value-25094 + e-25084 + r-25085 + w-25086 + s-25087 + rib-25088 + mod-25089) + r-25085 + '(()) + s-25087 + rib-25088 + mod-25089 + #f)) + (if (eqv? type-25093 'global) (values - 'lexical-call - #{fval 47943}# - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'global) + type-25093 + value-25094 + e-25084 + value-25094 + w-25086 + s-25087 + mod*-25095) + (values + type-25093 + value-25094 + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089))))) + (if (pair? e-25084) + (let ((first-25104 (car e-25084))) + (call-with-values + (lambda () + (syntax-type-4585 + first-25104 + r-25085 + w-25086 + s-25087 + rib-25088 + mod-25089 + #t)) + (lambda (ftype-25106 + fval-25107 + fform-25108 + fe-25109 + fw-25110 + fs-25111 + fmod-25112) + (if (eqv? ftype-25106 'lexical) (values - 'global-call - (vector - 'syntax-object - #{fval 47943}# - #{w 47922}# - #{fmod 47947}#) - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'macro) - (#{syntax-type 28270}# - (#{expand-macro 28274}# - #{fval 47943}# - #{e 47920}# - #{r 47921}# - #{w 47922}# - #{s 47923}# - #{rib 47924}# - #{mod 47925}#) - #{r 47921}# - '(()) - #{s 47923}# - #{rib 47924}# - #{mod 47925}# - #{for-car? 47926}#) - (if (eqv? #{ftype 47942}# 'module-ref) - (call-with-values - (lambda () - (#{fval 47943}# - #{e 47920}# - #{r 47921}# - #{w 47922}#)) - (lambda (#{e 47968}# - #{r 47969}# - #{w 47970}# - #{s 47971}# - #{mod 47972}#) - (#{syntax-type 28270}# - #{e 47968}# - #{r 47969}# - #{w 47970}# - #{s 47971}# - #{rib 47924}# - #{mod 47972}# - #{for-car? 47926}#))) - (if (eqv? #{ftype 47942}# 'core) - (values - 'core-form - #{fval 47943}# - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'local-syntax) + 'lexical-call + fval-25107 + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'global) + (values + 'global-call + (vector + 'syntax-object + fval-25107 + w-25086 + fmod-25112) + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'macro) + (syntax-type-4585 + (expand-macro-4589 + fval-25107 + e-25084 + r-25085 + w-25086 + s-25087 + rib-25088 + mod-25089) + r-25085 + '(()) + s-25087 + rib-25088 + mod-25089 + for-car?-25090) + (if (eqv? ftype-25106 'module-ref) + (call-with-values + (lambda () (fval-25107 e-25084 r-25085 w-25086)) + (lambda (e-25133 + r-25134 + w-25135 + s-25136 + mod-25137) + (syntax-type-4585 + e-25133 + r-25134 + w-25135 + s-25136 + rib-25088 + mod-25137 + for-car?-25090))) + (if (eqv? ftype-25106 'core) (values - 'local-syntax-form - #{fval 47943}# - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'begin) + 'core-form + fval-25107 + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'local-syntax) (values - 'begin-form - #f - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'eval-when) + 'local-syntax-form + fval-25107 + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'begin) (values - 'eval-when-form + 'begin-form #f - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (if (eqv? #{ftype 47942}# 'define) - (let ((#{tmp 47989}# - ($sc-dispatch - #{e 47920}# - '(_ any any)))) - (if (if #{tmp 47989}# - (@apply - (lambda (#{name 47993}# - #{val 47994}#) - (if (symbol? #{name 47993}#) - #t - (if (if (vector? - #{name 47993}#) - (if (= (vector-length - #{name 47993}#) - 4) - (eq? (vector-ref - #{name 47993}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref - #{name 47993}# - 1)) - #f))) - #{tmp 47989}#) - #f) - (@apply - (lambda (#{name 48021}# #{val 48022}#) - (values - 'define-form - #{name 48021}# - #{val 48022}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#)) - #{tmp 47989}#) - (let ((#{tmp 48023}# - ($sc-dispatch - #{e 47920}# - '(_ (any . any) - any - . - each-any)))) - (if (if #{tmp 48023}# - (@apply - (lambda (#{name 48027}# - #{args 48028}# - #{e1 48029}# - #{e2 48030}#) - (if (if (symbol? - #{name 48027}#) - #t - (if (if (vector? - #{name 48027}#) - (if (= (vector-length - #{name 48027}#) - 4) - (eq? (vector-ref - #{name 48027}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref - #{name 48027}# - 1)) - #f)) - (#{valid-bound-ids? 28261}# - (#{lambda-var-list 28286}# - #{args 48028}#)) - #f)) - #{tmp 48023}#) - #f) - (@apply - (lambda (#{name 48493}# - #{args 48494}# - #{e1 48495}# - #{e2 48496}#) - (values - 'define-form - (if (if (null? (car #{w 47922}#)) - (null? (cdr #{w 47922}#)) - #f) - #{name 48493}# - (if (if (vector? - #{name 48493}#) + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'eval-when) + (values + 'eval-when-form + #f + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (if (eqv? ftype-25106 'define) + (let ((tmp-25154 + ($sc-dispatch + e-25084 + '(_ any any)))) + (if (if tmp-25154 + (@apply + (lambda (name-25158 val-25159) + (if (symbol? name-25158) + #t + (if (if (vector? name-25158) (if (= (vector-length - #{name 48493}#) + name-25158) 4) (eq? (vector-ref - #{name 48493}# + name-25158 0) 'syntax-object) #f) #f) - (let ((#{expression 48526}# - (vector-ref - #{name 48493}# - 1)) - (#{wrap 48527}# - (let ((#{w2 48537}# - (vector-ref - #{name 48493}# - 2))) - (let ((#{m1 48538}# - (car #{w 47922}#)) - (#{s1 48539}# - (cdr #{w 47922}#))) - (if (null? #{m1 48538}#) - (if (null? #{s1 48539}#) - #{w2 48537}# - (cons (car #{w2 48537}#) - (let ((#{m2 48556}# - (cdr #{w2 48537}#))) - (if (null? #{m2 48556}#) - #{s1 48539}# + (symbol? + (vector-ref + name-25158 + 1)) + #f))) + tmp-25154) + #f) + (@apply + (lambda (name-25186 val-25187) + (values + 'define-form + name-25186 + e-25084 + val-25187 + w-25086 + s-25087 + mod-25089)) + tmp-25154) + (let ((tmp-25188 + ($sc-dispatch + e-25084 + '(_ (any . any) + any + . + each-any)))) + (if (if tmp-25188 + (@apply + (lambda (name-25192 + args-25193 + e1-25194 + e2-25195) + (if (if (symbol? + name-25192) + #t + (if (if (vector? + name-25192) + (if (= (vector-length + name-25192) + 4) + (eq? (vector-ref + name-25192 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + name-25192 + 1)) + #f)) + (valid-bound-ids?-4576 + (lambda-var-list-4601 + args-25193)) + #f)) + tmp-25188) + #f) + (@apply + (lambda (name-25658 + args-25659 + e1-25660 + e2-25661) + (values + 'define-form + (if (if (null? (car w-25086)) + (null? (cdr w-25086)) + #f) + name-25658 + (if (if (vector? + name-25658) + (if (= (vector-length + name-25658) + 4) + (eq? (vector-ref + name-25658 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-25691 + (vector-ref + name-25658 + 1)) + (wrap-25692 + (let ((w2-25702 + (vector-ref + name-25658 + 2))) + (let ((m1-25703 + (car w-25086)) + (s1-25704 + (cdr w-25086))) + (if (null? m1-25703) + (if (null? s1-25704) + w2-25702 + (cons (car w2-25702) + (let ((m2-25721 + (cdr w2-25702))) + (if (null? m2-25721) + s1-25704 + (append + s1-25704 + m2-25721))))) + (cons (let ((m2-25729 + (car w2-25702))) + (if (null? m2-25729) + m1-25703 (append - #{s1 48539}# - #{m2 48556}#))))) - (cons (let ((#{m2 48564}# - (car #{w2 48537}#))) - (if (null? #{m2 48564}#) - #{m1 48538}# - (append - #{m1 48538}# - #{m2 48564}#))) - (let ((#{m2 48572}# - (cdr #{w2 48537}#))) - (if (null? #{m2 48572}#) - #{s1 48539}# - (append - #{s1 48539}# - #{m2 48572}#)))))))) - (#{module 48528}# - (vector-ref - #{name 48493}# - 3))) - (vector - 'syntax-object - #{expression 48526}# - #{wrap 48527}# - #{module 48528}#)) - (if (null? #{name 48493}#) - #{name 48493}# - (vector - 'syntax-object - #{name 48493}# - #{w 47922}# - #{mod 47925}#)))) - (let ((#{e 48598}# - (cons '#(syntax-object - lambda - ((top) - #(ribcage - #(name - args - e1 - e2) - #((top) - (top) - (top) - (top)) - #("i25779" - "i25780" - "i25781" - "i25782")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i25732" - "i25733" - "i25734" - "i25735" - "i25736" - "i25737")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i25724")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i25703" - "i25704" - "i25705" - "i25706" - "i25707" - "i25708" - "i25709")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) - (top) - (top)) - ("i23873" - "i23872" - "i23871")) - #(ribcage - () - () - ())) - (hygiene - guile)) - (let ((#{x 48602}# - (cons #{args 48494}# - (cons #{e1 48495}# - #{e2 48496}#)))) - (if (if (null? (car #{w 47922}#)) - (null? (cdr #{w 47922}#)) - #f) - #{x 48602}# - (if (if (vector? - #{x 48602}#) - (if (= (vector-length - #{x 48602}#) - 4) - (eq? (vector-ref - #{x 48602}# - 0) - 'syntax-object) - #f) + m1-25703 + m2-25729))) + (let ((m2-25737 + (cdr w2-25702))) + (if (null? m2-25737) + s1-25704 + (append + s1-25704 + m2-25737)))))))) + (module-25693 + (vector-ref + name-25658 + 3))) + (vector + 'syntax-object + expression-25691 + wrap-25692 + module-25693)) + (if (null? name-25658) + name-25658 + (vector + 'syntax-object + name-25658 + w-25086 + mod-25089)))) + (if (if (null? (car w-25086)) + (null? (cdr w-25086)) + #f) + e-25084 + (if (if (vector? e-25084) + (if (= (vector-length + e-25084) + 4) + (eq? (vector-ref + e-25084 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-25789 + (vector-ref + e-25084 + 1)) + (wrap-25790 + (let ((w2-25800 + (vector-ref + e-25084 + 2))) + (let ((m1-25801 + (car w-25086)) + (s1-25802 + (cdr w-25086))) + (if (null? m1-25801) + (if (null? s1-25802) + w2-25800 + (cons (car w2-25800) + (let ((m2-25819 + (cdr w2-25800))) + (if (null? m2-25819) + s1-25802 + (append + s1-25802 + m2-25819))))) + (cons (let ((m2-25827 + (car w2-25800))) + (if (null? m2-25827) + m1-25801 + (append + m1-25801 + m2-25827))) + (let ((m2-25835 + (cdr w2-25800))) + (if (null? m2-25835) + s1-25802 + (append + s1-25802 + m2-25835)))))))) + (module-25791 + (vector-ref + e-25084 + 3))) + (vector + 'syntax-object + expression-25789 + wrap-25790 + module-25791)) + (if (null? e-25084) + e-25084 + (vector + 'syntax-object + e-25084 + w-25086 + mod-25089)))) + (let ((e-25861 + (cons '#(syntax-object + lambda + ((top) + #(ribcage + #(name + args + e1 + e2) + #((top) + (top) + (top) + (top)) + #("l-*-2021" + "l-*-2022" + "l-*-2023" + "l-*-2024")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fform + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1973" + "l-*-1974" + "l-*-1975" + "l-*-1976" + "l-*-1977" + "l-*-1978" + "l-*-1979")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("l-*-1964")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1943" + "l-*-1944" + "l-*-1945" + "l-*-1946" + "l-*-1947" + "l-*-1948" + "l-*-1949")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage + () + () + ())) + (hygiene + guile)) + (let ((x-25865 + (cons args-25659 + (cons e1-25660 + e2-25661)))) + (if (if (null? (car w-25086)) + (null? (cdr w-25086)) #f) - (let ((#{expression 48620}# - (vector-ref - #{x 48602}# - 1)) - (#{wrap 48621}# - (let ((#{w2 48629}# - (vector-ref - #{x 48602}# - 2))) - (let ((#{m1 48630}# - (car #{w 47922}#)) - (#{s1 48631}# - (cdr #{w 47922}#))) - (if (null? #{m1 48630}#) - (if (null? #{s1 48631}#) - #{w2 48629}# - (cons (car #{w2 48629}#) - (let ((#{m2 48646}# - (cdr #{w2 48629}#))) - (if (null? #{m2 48646}#) - #{s1 48631}# + x-25865 + (if (if (vector? + x-25865) + (if (= (vector-length + x-25865) + 4) + (eq? (vector-ref + x-25865 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-25883 + (vector-ref + x-25865 + 1)) + (wrap-25884 + (let ((w2-25892 + (vector-ref + x-25865 + 2))) + (let ((m1-25893 + (car w-25086)) + (s1-25894 + (cdr w-25086))) + (if (null? m1-25893) + (if (null? s1-25894) + w2-25892 + (cons (car w2-25892) + (let ((m2-25909 + (cdr w2-25892))) + (if (null? m2-25909) + s1-25894 + (append + s1-25894 + m2-25909))))) + (cons (let ((m2-25917 + (car w2-25892))) + (if (null? m2-25917) + m1-25893 (append - #{s1 48631}# - #{m2 48646}#))))) - (cons (let ((#{m2 48654}# - (car #{w2 48629}#))) - (if (null? #{m2 48654}#) - #{m1 48630}# - (append - #{m1 48630}# - #{m2 48654}#))) - (let ((#{m2 48662}# - (cdr #{w2 48629}#))) - (if (null? #{m2 48662}#) - #{s1 48631}# - (append - #{s1 48631}# - #{m2 48662}#)))))))) - (#{module 48622}# - (vector-ref - #{x 48602}# - 3))) - (vector - 'syntax-object - #{expression 48620}# - #{wrap 48621}# - #{module 48622}#)) - (if (null? #{x 48602}#) - #{x 48602}# - (vector - 'syntax-object - #{x 48602}# - #{w 47922}# - #{mod 47925}#)))))))) - (begin - (if (if (pair? #{e 48598}#) - #{s 47923}# - #f) - (set-source-properties! - #{e 48598}# - #{s 47923}#)) - #{e 48598}#)) - '(()) - #{s 47923}# - #{mod 47925}#)) - #{tmp 48023}#) - (let ((#{tmp 48681}# - ($sc-dispatch - #{e 47920}# - '(_ any)))) - (if (if #{tmp 48681}# - (@apply - (lambda (#{name 48685}#) - (if (symbol? - #{name 48685}#) - #t + m1-25893 + m2-25917))) + (let ((m2-25925 + (cdr w2-25892))) + (if (null? m2-25925) + s1-25894 + (append + s1-25894 + m2-25925)))))))) + (module-25885 + (vector-ref + x-25865 + 3))) + (vector + 'syntax-object + expression-25883 + wrap-25884 + module-25885)) + (if (null? x-25865) + x-25865 + (vector + 'syntax-object + x-25865 + w-25086 + mod-25089)))))))) + (begin + (if (if (pair? e-25861) + s-25087 + #f) + (set-source-properties! + e-25861 + s-25087)) + e-25861)) + '(()) + s-25087 + mod-25089)) + tmp-25188) + (let ((tmp-25944 + ($sc-dispatch + e-25084 + '(_ any)))) + (if (if tmp-25944 + (@apply + (lambda (name-25948) + (if (symbol? + name-25948) + #t + (if (if (vector? + name-25948) + (if (= (vector-length + name-25948) + 4) + (eq? (vector-ref + name-25948 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + name-25948 + 1)) + #f))) + tmp-25944) + #f) + (@apply + (lambda (name-25975) + (values + 'define-form + (if (if (null? (car w-25086)) + (null? (cdr w-25086)) + #f) + name-25975 (if (if (vector? - #{name 48685}#) + name-25975) (if (= (vector-length - #{name 48685}#) + name-25975) 4) (eq? (vector-ref - #{name 48685}# + name-25975 0) 'syntax-object) #f) #f) - (symbol? - (vector-ref - #{name 48685}# - 1)) - #f))) - #{tmp 48681}#) - #f) - (@apply - (lambda (#{name 48712}#) - (values - 'define-form - (if (if (null? (car #{w 47922}#)) - (null? (cdr #{w 47922}#)) - #f) - #{name 48712}# - (if (if (vector? - #{name 48712}#) - (if (= (vector-length - #{name 48712}#) - 4) - (eq? (vector-ref - #{name 48712}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 48742}# - (vector-ref - #{name 48712}# - 1)) - (#{wrap 48743}# - (let ((#{w2 48753}# - (vector-ref - #{name 48712}# - 2))) - (let ((#{m1 48754}# - (car #{w 47922}#)) - (#{s1 48755}# - (cdr #{w 47922}#))) - (if (null? #{m1 48754}#) - (if (null? #{s1 48755}#) - #{w2 48753}# - (cons (car #{w2 48753}#) - (let ((#{m2 48772}# - (cdr #{w2 48753}#))) - (if (null? #{m2 48772}#) - #{s1 48755}# + (let ((expression-26005 + (vector-ref + name-25975 + 1)) + (wrap-26006 + (let ((w2-26016 + (vector-ref + name-25975 + 2))) + (let ((m1-26017 + (car w-25086)) + (s1-26018 + (cdr w-25086))) + (if (null? m1-26017) + (if (null? s1-26018) + w2-26016 + (cons (car w2-26016) + (let ((m2-26035 + (cdr w2-26016))) + (if (null? m2-26035) + s1-26018 + (append + s1-26018 + m2-26035))))) + (cons (let ((m2-26043 + (car w2-26016))) + (if (null? m2-26043) + m1-26017 (append - #{s1 48755}# - #{m2 48772}#))))) - (cons (let ((#{m2 48780}# - (car #{w2 48753}#))) - (if (null? #{m2 48780}#) - #{m1 48754}# - (append - #{m1 48754}# - #{m2 48780}#))) - (let ((#{m2 48788}# - (cdr #{w2 48753}#))) - (if (null? #{m2 48788}#) - #{s1 48755}# - (append - #{s1 48755}# - #{m2 48788}#)))))))) - (#{module 48744}# - (vector-ref - #{name 48712}# - 3))) - (vector - 'syntax-object - #{expression 48742}# - #{wrap 48743}# - #{module 48744}#)) - (if (null? #{name 48712}#) - #{name 48712}# - (vector - 'syntax-object - #{name 48712}# - #{w 47922}# - #{mod 47925}#)))) - '(#(syntax-object - if - ((top) - #(ribcage - #(name) - #((top)) - #("i25792")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i25732" - "i25733" - "i25734" - "i25735" - "i25736" - "i25737")) - #(ribcage () () ()) - #(ribcage - #(first) - #((top)) - #("i25724")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i25703" - "i25704" - "i25705" - "i25706" - "i25707" - "i25708" - "i25709")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" - "i23872" - "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i25792")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i25732" - "i25733" - "i25734" - "i25735" - "i25736" - "i25737")) - #(ribcage () () ()) - #(ribcage - #(first) - #((top)) - #("i25724")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i25703" - "i25704" - "i25705" - "i25706" - "i25707" - "i25708" - "i25709")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" - "i23872" - "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i25792")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i25732" - "i25733" - "i25734" - "i25735" - "i25736" - "i25737")) - #(ribcage () () ()) - #(ribcage - #(first) - #((top)) - #("i25724")) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i25703" - "i25704" - "i25705" - "i25706" - "i25707" - "i25708" - "i25709")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" - "i23872" - "i23871")) - #(ribcage () () ())) - (hygiene guile))) - '(()) - #{s 47923}# - #{mod 47925}#)) - #{tmp 48681}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 47920}#))))))) - (if (eqv? #{ftype 47942}# 'define-syntax) - (let ((#{tmp 48827}# - ($sc-dispatch - #{e 47920}# - '(_ any any)))) - (if (if #{tmp 48827}# - (@apply - (lambda (#{name 48831}# - #{val 48832}#) - (if (symbol? #{name 48831}#) - #t - (if (if (vector? - #{name 48831}#) - (if (= (vector-length - #{name 48831}#) - 4) - (eq? (vector-ref - #{name 48831}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref - #{name 48831}# - 1)) - #f))) - #{tmp 48827}#) - #f) - (@apply - (lambda (#{name 48859}# - #{val 48860}#) - (values - 'define-syntax-form - #{name 48859}# - #{val 48860}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#)) - #{tmp 48827}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 47920}#))) - (if (eqv? #{ftype 47942}# - 'define-syntax-parameter) - (let ((#{tmp 48871}# - ($sc-dispatch - #{e 47920}# - '(_ any any)))) - (if (if #{tmp 48871}# - (@apply - (lambda (#{name 48875}# - #{val 48876}#) - (if (symbol? #{name 48875}#) - #t - (if (if (vector? - #{name 48875}#) - (if (= (vector-length - #{name 48875}#) - 4) - (eq? (vector-ref - #{name 48875}# - 0) - 'syntax-object) + m1-26017 + m2-26043))) + (let ((m2-26051 + (cdr w2-26016))) + (if (null? m2-26051) + s1-26018 + (append + s1-26018 + m2-26051)))))))) + (module-26007 + (vector-ref + name-25975 + 3))) + (vector + 'syntax-object + expression-26005 + wrap-26006 + module-26007)) + (if (null? name-25975) + name-25975 + (vector + 'syntax-object + name-25975 + w-25086 + mod-25089)))) + (if (if (null? (car w-25086)) + (null? (cdr w-25086)) #f) - #f) - (symbol? - (vector-ref - #{name 48875}# - 1)) - #f))) - #{tmp 48871}#) - #f) - (@apply - (lambda (#{name 48903}# - #{val 48904}#) - (values - 'define-syntax-parameter-form - #{name 48903}# - #{val 48904}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#)) - #{tmp 48871}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 47920}#))) - (values - 'call - #f - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#))))))))))))))) - (if (if (vector? #{e 47920}#) - (if (= (vector-length #{e 47920}#) 4) - (eq? (vector-ref #{e 47920}# 0) 'syntax-object) - #f) - #f) - (#{syntax-type 28270}# - (vector-ref #{e 47920}# 1) - #{r 47921}# - (let ((#{w2 48929}# (vector-ref #{e 47920}# 2))) - (let ((#{m1 48930}# (car #{w 47922}#)) - (#{s1 48931}# (cdr #{w 47922}#))) - (if (null? #{m1 48930}#) - (if (null? #{s1 48931}#) - #{w2 48929}# - (cons (car #{w2 48929}#) - (let ((#{m2 48942}# (cdr #{w2 48929}#))) - (if (null? #{m2 48942}#) - #{s1 48931}# - (append #{s1 48931}# #{m2 48942}#))))) - (cons (let ((#{m2 48950}# (car #{w2 48929}#))) - (if (null? #{m2 48950}#) - #{m1 48930}# - (append #{m1 48930}# #{m2 48950}#))) - (let ((#{m2 48958}# (cdr #{w2 48929}#))) - (if (null? #{m2 48958}#) - #{s1 48931}# - (append #{s1 48931}# #{m2 48958}#))))))) - (let ((#{t 48963}# - (#{source-annotation 28232}# #{e 47920}#))) - (if #{t 48963}# #{t 48963}# #{s 47923}#)) - #{rib 47924}# - (let ((#{t 49239}# (vector-ref #{e 47920}# 3))) - (if #{t 49239}# #{t 49239}# #{mod 47925}#)) - #{for-car? 47926}#) - (if (self-evaluating? #{e 47920}#) - (values - 'constant - #f - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#) - (values - 'other - #f - #{e 47920}# - #{w 47922}# - #{s 47923}# - #{mod 47925}#))))))) - (#{expand 28271}# - (lambda (#{e 49248}# - #{r 49249}# - #{w 49250}# - #{mod 49251}#) - (call-with-values - (lambda () - (#{syntax-type 28270}# - #{e 49248}# - #{r 49249}# - #{w 49250}# - (#{source-annotation 28232}# #{e 49248}#) - #f - #{mod 49251}# - #f)) - (lambda (#{type 49437}# - #{value 49438}# - #{e 49439}# - #{w 49440}# - #{s 49441}# - #{mod 49442}#) - (#{expand-expr 28272}# - #{type 49437}# - #{value 49438}# - #{e 49439}# - #{r 49249}# - #{w 49440}# - #{s 49441}# - #{mod 49442}#))))) - (#{expand-expr 28272}# - (lambda (#{type 49445}# - #{value 49446}# - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (if (eqv? #{type 49445}# 'lexical) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{s 49450}# - #{e 49447}# - #{value 49446}#) - (if (if (eqv? #{type 49445}# 'core) - #t - (eqv? #{type 49445}# 'core-form)) - (#{value 49446}# - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (if (eqv? #{type 49445}# 'module-ref) - (call-with-values - (lambda () - (#{value 49446}# - #{e 49447}# - #{r 49448}# - #{w 49449}#)) - (lambda (#{e 49477}# - #{r 49478}# - #{w 49479}# - #{s 49480}# - #{mod 49481}#) - (#{expand 28271}# - #{e 49477}# - #{r 49478}# - #{w 49479}# - #{mod 49481}#))) - (if (eqv? #{type 49445}# 'lexical-call) - (#{expand-call 28273}# - (let ((#{id 49654}# (car #{e 49447}#))) - (#{build-lexical-reference 28208}# - 'fun - (#{source-annotation 28232}# #{id 49654}#) - (if (if (vector? #{id 49654}#) - (if (= (vector-length #{id 49654}#) 4) - (eq? (vector-ref #{id 49654}# 0) 'syntax-object) - #f) - #f) - (syntax->datum #{id 49654}#) - #{id 49654}#) - #{value 49446}#)) - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (if (eqv? #{type 49445}# 'global-call) - (#{expand-call 28273}# - (#{build-global-reference 28211}# - (#{source-annotation 28232}# (car #{e 49447}#)) - (if (if (vector? #{value 49446}#) - (if (= (vector-length #{value 49446}#) 4) - (eq? (vector-ref #{value 49446}# 0) - 'syntax-object) - #f) - #f) - (vector-ref #{value 49446}# 1) - #{value 49446}#) - (if (if (vector? #{value 49446}#) - (if (= (vector-length #{value 49446}#) 4) - (eq? (vector-ref #{value 49446}# 0) - 'syntax-object) - #f) - #f) - (vector-ref #{value 49446}# 3) - #{mod 49451}#)) - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (if (eqv? #{type 49445}# 'constant) - (let ((#{exp 50328}# - (#{strip 28284}# - (let ((#{x 50341}# - (begin - (if (if (pair? #{e 49447}#) - #{s 49450}# - #f) - (set-source-properties! - #{e 49447}# - #{s 49450}#)) - #{e 49447}#))) - (if (if (null? (car #{w 49449}#)) - (null? (cdr #{w 49449}#)) - #f) - #{x 50341}# - (if (if (vector? #{x 50341}#) - (if (= (vector-length #{x 50341}#) 4) - (eq? (vector-ref #{x 50341}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 50373}# - (vector-ref #{x 50341}# 1)) - (#{wrap 50374}# - (let ((#{w2 50382}# - (vector-ref #{x 50341}# 2))) - (let ((#{m1 50383}# - (car #{w 49449}#)) - (#{s1 50384}# - (cdr #{w 49449}#))) - (if (null? #{m1 50383}#) - (if (null? #{s1 50384}#) - #{w2 50382}# - (cons (car #{w2 50382}#) - (let ((#{m2 50399}# - (cdr #{w2 50382}#))) - (if (null? #{m2 50399}#) - #{s1 50384}# - (append - #{s1 50384}# - #{m2 50399}#))))) - (cons (let ((#{m2 50407}# - (car #{w2 50382}#))) - (if (null? #{m2 50407}#) - #{m1 50383}# - (append - #{m1 50383}# - #{m2 50407}#))) - (let ((#{m2 50415}# - (cdr #{w2 50382}#))) - (if (null? #{m2 50415}#) - #{s1 50384}# - (append - #{s1 50384}# - #{m2 50415}#)))))))) - (#{module 50375}# - (vector-ref #{x 50341}# 3))) - (vector - 'syntax-object - #{expression 50373}# - #{wrap 50374}# - #{module 50375}#)) - (if (null? #{x 50341}#) - #{x 50341}# - (vector - 'syntax-object - #{x 50341}# - #{w 49449}# - #{mod 49451}#))))) - '(())))) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #{s 49450}# - #{exp 50328}#)) - (if (eqv? #{type 49445}# 'global) - (#{analyze-variable 28210}# - #{mod 49451}# - #{value 49446}# - (lambda (#{mod 50440}# #{var 50441}# #{public? 50442}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 5) - #{s 49450}# - #{mod 50440}# - #{var 50441}# - #{public? 50442}#)) - (lambda (#{var 50450}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 7) - #{s 49450}# - #{var 50450}#))) - (if (eqv? #{type 49445}# 'call) - (#{expand-call 28273}# - (#{expand 28271}# - (car #{e 49447}#) - #{r 49448}# - #{w 49449}# - #{mod 49451}#) - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (if (eqv? #{type 49445}# 'begin-form) - (let ((#{tmp 50620}# - ($sc-dispatch - #{e 49447}# - '(_ any . each-any)))) - (if #{tmp 50620}# - (@apply - (lambda (#{e1 50624}# #{e2 50625}#) - (#{expand-sequence 28266}# - (cons #{e1 50624}# #{e2 50625}#) - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#)) - #{tmp 50620}#) - (let ((#{tmp 50720}# - ($sc-dispatch #{e 49447}# '(_)))) - (if #{tmp 50720}# - (@apply - (lambda () - (begin - (issue-deprecation-warning - "Sequences of zero expressions are deprecated. Use *unspecified*.") - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #f))) - #{tmp 50720}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 49447}#))))) - (if (eqv? #{type 49445}# 'local-syntax-form) - (#{expand-local-syntax 28276}# - #{value 49446}# - #{e 49447}# - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}# - #{expand-sequence 28266}#) - (if (eqv? #{type 49445}# 'eval-when-form) - (let ((#{tmp 50812}# - ($sc-dispatch - #{e 49447}# - '(_ each-any any . each-any)))) - (if #{tmp 50812}# - (@apply - (lambda (#{x 50816}# - #{e1 50817}# - #{e2 50818}#) - (let ((#{when-list 50819}# - (#{parse-when-list 28269}# - #{e 49447}# - #{x 50816}#))) - (if (memq 'eval #{when-list 50819}#) - (#{expand-sequence 28266}# - (cons #{e1 50817}# #{e2 50818}#) - #{r 49448}# - #{w 49449}# - #{s 49450}# - #{mod 49451}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #f)))) - #{tmp 50812}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 49447}#))) - (if (if (eqv? #{type 49445}# 'define-form) - #t - (if (eqv? #{type 49445}# - 'define-syntax-form) - #t - (eqv? #{type 49445}# - 'define-syntax-parameter-form))) - (syntax-violation - #f - "definition in expression context" - #{e 49447}# - (if (if (null? (car #{w 49449}#)) - (null? (cdr #{w 49449}#)) - #f) - #{value 49446}# - (if (if (vector? #{value 49446}#) - (if (= (vector-length #{value 49446}#) - 4) - (eq? (vector-ref #{value 49446}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51026}# - (vector-ref #{value 49446}# 1)) - (#{wrap 51027}# - (let ((#{w2 51037}# - (vector-ref - #{value 49446}# - 2))) - (let ((#{m1 51038}# - (car #{w 49449}#)) - (#{s1 51039}# - (cdr #{w 49449}#))) - (if (null? #{m1 51038}#) - (if (null? #{s1 51039}#) - #{w2 51037}# - (cons (car #{w2 51037}#) - (let ((#{m2 51056}# - (cdr #{w2 51037}#))) - (if (null? #{m2 51056}#) - #{s1 51039}# - (append - #{s1 51039}# - #{m2 51056}#))))) - (cons (let ((#{m2 51064}# - (car #{w2 51037}#))) - (if (null? #{m2 51064}#) - #{m1 51038}# - (append - #{m1 51038}# - #{m2 51064}#))) - (let ((#{m2 51072}# - (cdr #{w2 51037}#))) - (if (null? #{m2 51072}#) - #{s1 51039}# - (append - #{s1 51039}# - #{m2 51072}#)))))))) - (#{module 51028}# - (vector-ref #{value 49446}# 3))) - (vector - 'syntax-object - #{expression 51026}# - #{wrap 51027}# - #{module 51028}#)) - (if (null? #{value 49446}#) - #{value 49446}# - (vector - 'syntax-object - #{value 49446}# - #{w 49449}# - #{mod 49451}#))))) - (if (eqv? #{type 49445}# 'syntax) - (syntax-violation - #f - "reference to pattern variable outside syntax form" - (let ((#{x 51107}# - (begin - (if (if (pair? #{e 49447}#) - #{s 49450}# - #f) - (set-source-properties! - #{e 49447}# - #{s 49450}#)) - #{e 49447}#))) - (if (if (null? (car #{w 49449}#)) - (null? (cdr #{w 49449}#)) - #f) - #{x 51107}# - (if (if (vector? #{x 51107}#) - (if (= (vector-length #{x 51107}#) - 4) - (eq? (vector-ref #{x 51107}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51139}# - (vector-ref #{x 51107}# 1)) - (#{wrap 51140}# - (let ((#{w2 51148}# - (vector-ref - #{x 51107}# - 2))) - (let ((#{m1 51149}# - (car #{w 49449}#)) - (#{s1 51150}# - (cdr #{w 49449}#))) - (if (null? #{m1 51149}#) - (if (null? #{s1 51150}#) - #{w2 51148}# - (cons (car #{w2 51148}#) - (let ((#{m2 51165}# - (cdr #{w2 51148}#))) - (if (null? #{m2 51165}#) - #{s1 51150}# - (append - #{s1 51150}# - #{m2 51165}#))))) - (cons (let ((#{m2 51173}# - (car #{w2 51148}#))) - (if (null? #{m2 51173}#) - #{m1 51149}# - (append - #{m1 51149}# - #{m2 51173}#))) - (let ((#{m2 51181}# - (cdr #{w2 51148}#))) - (if (null? #{m2 51181}#) - #{s1 51150}# - (append - #{s1 51150}# - #{m2 51181}#)))))))) - (#{module 51141}# - (vector-ref #{x 51107}# 3))) - (vector - 'syntax-object - #{expression 51139}# - #{wrap 51140}# - #{module 51141}#)) - (if (null? #{x 51107}#) - #{x 51107}# - (vector - 'syntax-object - #{x 51107}# - #{w 49449}# - #{mod 49451}#)))))) - (if (eqv? #{type 49445}# 'displaced-lexical) - (syntax-violation - #f - "reference to identifier outside its scope" - (let ((#{x 51208}# - (begin - (if (if (pair? #{e 49447}#) - #{s 49450}# - #f) - (set-source-properties! - #{e 49447}# - #{s 49450}#)) - #{e 49447}#))) - (if (if (null? (car #{w 49449}#)) - (null? (cdr #{w 49449}#)) - #f) - #{x 51208}# - (if (if (vector? #{x 51208}#) - (if (= (vector-length - #{x 51208}#) - 4) - (eq? (vector-ref - #{x 51208}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51240}# - (vector-ref #{x 51208}# 1)) - (#{wrap 51241}# - (let ((#{w2 51249}# - (vector-ref - #{x 51208}# - 2))) - (let ((#{m1 51250}# - (car #{w 49449}#)) - (#{s1 51251}# - (cdr #{w 49449}#))) - (if (null? #{m1 51250}#) - (if (null? #{s1 51251}#) - #{w2 51249}# - (cons (car #{w2 51249}#) - (let ((#{m2 51266}# - (cdr #{w2 51249}#))) - (if (null? #{m2 51266}#) - #{s1 51251}# - (append - #{s1 51251}# - #{m2 51266}#))))) - (cons (let ((#{m2 51274}# - (car #{w2 51249}#))) - (if (null? #{m2 51274}#) - #{m1 51250}# - (append - #{m1 51250}# - #{m2 51274}#))) - (let ((#{m2 51282}# - (cdr #{w2 51249}#))) - (if (null? #{m2 51282}#) - #{s1 51251}# - (append - #{s1 51251}# - #{m2 51282}#)))))))) - (#{module 51242}# - (vector-ref #{x 51208}# 3))) - (vector - 'syntax-object - #{expression 51240}# - #{wrap 51241}# - #{module 51242}#)) - (if (null? #{x 51208}#) - #{x 51208}# - (vector - 'syntax-object - #{x 51208}# - #{w 49449}# - #{mod 49451}#)))))) - (syntax-violation - #f - "unexpected syntax" - (let ((#{x 51306}# - (begin - (if (if (pair? #{e 49447}#) - #{s 49450}# - #f) - (set-source-properties! - #{e 49447}# - #{s 49450}#)) - #{e 49447}#))) - (if (if (null? (car #{w 49449}#)) - (null? (cdr #{w 49449}#)) - #f) - #{x 51306}# - (if (if (vector? #{x 51306}#) - (if (= (vector-length - #{x 51306}#) - 4) - (eq? (vector-ref - #{x 51306}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51338}# - (vector-ref #{x 51306}# 1)) - (#{wrap 51339}# - (let ((#{w2 51347}# - (vector-ref - #{x 51306}# - 2))) - (let ((#{m1 51348}# - (car #{w 49449}#)) - (#{s1 51349}# - (cdr #{w 49449}#))) - (if (null? #{m1 51348}#) - (if (null? #{s1 51349}#) - #{w2 51347}# - (cons (car #{w2 51347}#) - (let ((#{m2 51364}# - (cdr #{w2 51347}#))) - (if (null? #{m2 51364}#) - #{s1 51349}# - (append - #{s1 51349}# - #{m2 51364}#))))) - (cons (let ((#{m2 51372}# - (car #{w2 51347}#))) - (if (null? #{m2 51372}#) - #{m1 51348}# - (append - #{m1 51348}# - #{m2 51372}#))) - (let ((#{m2 51380}# - (cdr #{w2 51347}#))) - (if (null? #{m2 51380}#) - #{s1 51349}# - (append - #{s1 51349}# - #{m2 51380}#)))))))) - (#{module 51340}# - (vector-ref #{x 51306}# 3))) - (vector - 'syntax-object - #{expression 51338}# - #{wrap 51339}# - #{module 51340}#)) - (if (null? #{x 51306}#) - #{x 51306}# - (vector - 'syntax-object - #{x 51306}# - #{w 49449}# - #{mod 49451}#)))))))))))))))))))))) - (#{expand-call 28273}# - (lambda (#{x 51395}# - #{e 51396}# - #{r 51397}# - #{w 51398}# - #{s 51399}# - #{mod 51400}#) - (let ((#{tmp 51402}# - ($sc-dispatch #{e 51396}# '(any . each-any)))) - (if #{tmp 51402}# - (@apply - (lambda (#{e0 51406}# #{e1 51407}#) - (#{build-call 28205}# - #{s 51399}# - #{x 51395}# - (map (lambda (#{e 51495}#) - (#{expand 28271}# - #{e 51495}# - #{r 51397}# - #{w 51398}# - #{mod 51400}#)) - #{e1 51407}#))) - #{tmp 51402}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 51396}#))))) - (#{expand-macro 28274}# - (lambda (#{p 51579}# - #{e 51580}# - #{r 51581}# - #{w 51582}# - #{s 51583}# - #{rib 51584}# - #{mod 51585}#) - (letrec* - ((#{rebuild-macro-output 51586}# - (lambda (#{x 51693}# #{m 51694}#) - (if (pair? #{x 51693}#) - (let ((#{e 51698}# - (cons (#{rebuild-macro-output 51586}# - (car #{x 51693}#) - #{m 51694}#) - (#{rebuild-macro-output 51586}# - (cdr #{x 51693}#) - #{m 51694}#)))) - (begin - (if (if (pair? #{e 51698}#) #{s 51583}# #f) - (set-source-properties! #{e 51698}# #{s 51583}#)) - #{e 51698}#)) - (if (if (vector? #{x 51693}#) - (if (= (vector-length #{x 51693}#) 4) - (eq? (vector-ref #{x 51693}# 0) 'syntax-object) - #f) - #f) - (let ((#{w 51714}# (vector-ref #{x 51693}# 2))) - (let ((#{ms 51715}# (car #{w 51714}#)) - (#{s 51716}# (cdr #{w 51714}#))) - (if (if (pair? #{ms 51715}#) - (eq? (car #{ms 51715}#) #f) - #f) - (let ((#{expression 51724}# (vector-ref #{x 51693}# 1)) - (#{wrap 51725}# - (cons (cdr #{ms 51715}#) - (if #{rib 51584}# - (cons #{rib 51584}# (cdr #{s 51716}#)) - (cdr #{s 51716}#)))) - (#{module 51726}# (vector-ref #{x 51693}# 3))) - (vector - 'syntax-object - #{expression 51724}# - #{wrap 51725}# - #{module 51726}#)) - (let ((#{expression 51736}# - (let ((#{e 51741}# (vector-ref #{x 51693}# 1))) - (begin - (if (if (pair? #{e 51741}#) #{s 51716}# #f) - (set-source-properties! - #{e 51741}# - #{s 51716}#)) - #{e 51741}#))) - (#{wrap 51737}# - (cons (cons #{m 51694}# #{ms 51715}#) - (if #{rib 51584}# - (cons #{rib 51584}# - (cons 'shift #{s 51716}#)) - (cons 'shift #{s 51716}#)))) - (#{module 51738}# (vector-ref #{x 51693}# 3))) - (vector - 'syntax-object - #{expression 51736}# - #{wrap 51737}# - #{module 51738}#))))) - (if (vector? #{x 51693}#) - (let ((#{n 51753}# (vector-length #{x 51693}#))) - (let ((#{v 51754}# - (let ((#{e 51820}# (make-vector #{n 51753}#))) - (begin - (if (if (pair? #{e 51820}#) #{x 51693}# #f) - (set-source-properties! - #{e 51820}# - #{x 51693}#)) - #{e 51820}#)))) - (letrec* - ((#{loop 51755}# - (lambda (#{i 51816}#) - (if (= #{i 51816}# #{n 51753}#) - #{v 51754}# - (begin - (vector-set! - #{v 51754}# - #{i 51816}# - (#{rebuild-macro-output 51586}# - (vector-ref #{x 51693}# #{i 51816}#) - #{m 51694}#)) - (#{loop 51755}# (#{1+}# #{i 51816}#))))))) - (#{loop 51755}# 0)))) - (if (symbol? #{x 51693}#) - (syntax-violation - #f - "encountered raw symbol in macro output" - (let ((#{s 51831}# (cdr #{w 51582}#))) - (let ((#{x 51835}# - (begin - (if (if (pair? #{e 51580}#) #{s 51831}# #f) - (set-source-properties! - #{e 51580}# - #{s 51831}#)) - #{e 51580}#))) - (if (if (null? (car #{w 51582}#)) - (null? (cdr #{w 51582}#)) - #f) - #{x 51835}# - (if (if (vector? #{x 51835}#) - (if (= (vector-length #{x 51835}#) 4) - (eq? (vector-ref #{x 51835}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51867}# - (vector-ref #{x 51835}# 1)) - (#{wrap 51868}# - (let ((#{w2 51876}# - (vector-ref #{x 51835}# 2))) - (let ((#{m1 51877}# - (car #{w 51582}#)) - (#{s1 51878}# - (cdr #{w 51582}#))) - (if (null? #{m1 51877}#) - (if (null? #{s1 51878}#) - #{w2 51876}# - (cons (car #{w2 51876}#) - (let ((#{m2 51893}# - (cdr #{w2 51876}#))) - (if (null? #{m2 51893}#) - #{s1 51878}# - (append - #{s1 51878}# - #{m2 51893}#))))) - (cons (let ((#{m2 51901}# - (car #{w2 51876}#))) - (if (null? #{m2 51901}#) - #{m1 51877}# - (append - #{m1 51877}# - #{m2 51901}#))) - (let ((#{m2 51909}# - (cdr #{w2 51876}#))) - (if (null? #{m2 51909}#) - #{s1 51878}# - (append - #{s1 51878}# - #{m2 51909}#)))))))) - (#{module 51869}# - (vector-ref #{x 51835}# 3))) - (vector - 'syntax-object - #{expression 51867}# - #{wrap 51868}# - #{module 51869}#)) - (if (null? #{x 51835}#) - #{x 51835}# - (vector - 'syntax-object - #{x 51835}# - #{w 51582}# - #{mod 51585}#)))))) - #{x 51693}#) - (begin - (if (if (pair? #{x 51693}#) #{s 51583}# #f) - (set-source-properties! #{x 51693}# #{s 51583}#)) - #{x 51693}#)))))))) - (#{rebuild-macro-output 51586}# - (#{p 51579}# - (let ((#{w 51593}# - (cons (cons #f (car #{w 51582}#)) - (cons 'shift (cdr #{w 51582}#))))) - (let ((#{x 51598}# - (begin - (if (if (pair? #{e 51580}#) #{s 51583}# #f) - (set-source-properties! #{e 51580}# #{s 51583}#)) - #{e 51580}#))) - (if (if (null? (car #{w 51593}#)) - (null? (cdr #{w 51593}#)) - #f) - #{x 51598}# - (if (if (vector? #{x 51598}#) - (if (= (vector-length #{x 51598}#) 4) - (eq? (vector-ref #{x 51598}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 51636}# (vector-ref #{x 51598}# 1)) - (#{wrap 51637}# - (let ((#{w2 51645}# (vector-ref #{x 51598}# 2))) - (let ((#{m1 51646}# (car #{w 51593}#)) - (#{s1 51647}# (cdr #{w 51593}#))) - (if (null? #{m1 51646}#) - (if (null? #{s1 51647}#) - #{w2 51645}# - (cons (car #{w2 51645}#) - (let ((#{m2 51662}# - (cdr #{w2 51645}#))) - (if (null? #{m2 51662}#) - #{s1 51647}# - (append - #{s1 51647}# - #{m2 51662}#))))) - (cons (let ((#{m2 51670}# - (car #{w2 51645}#))) - (if (null? #{m2 51670}#) - #{m1 51646}# - (append - #{m1 51646}# - #{m2 51670}#))) - (let ((#{m2 51678}# - (cdr #{w2 51645}#))) - (if (null? #{m2 51678}#) - #{s1 51647}# - (append - #{s1 51647}# - #{m2 51678}#)))))))) - (#{module 51638}# (vector-ref #{x 51598}# 3))) - (vector - 'syntax-object - #{expression 51636}# - #{wrap 51637}# - #{module 51638}#)) - (if (null? #{x 51598}#) - #{x 51598}# - (vector - 'syntax-object - #{x 51598}# - #{w 51593}# - #{mod 51585}#))))))) - (gensym "m"))))) - (#{expand-body 28275}# - (lambda (#{body 51939}# - #{outer-form 51940}# - #{r 51941}# - #{w 51942}# - #{mod 51943}#) - (let ((#{r 51944}# - (cons '("placeholder" placeholder) #{r 51941}#))) - (let ((#{ribcage 51945}# (vector 'ribcage '() '() '()))) - (let ((#{w 51946}# - (cons (car #{w 51942}#) - (cons #{ribcage 51945}# (cdr #{w 51942}#))))) - (letrec* - ((#{parse 51947}# - (lambda (#{body 52055}# - #{ids 52056}# - #{labels 52057}# - #{var-ids 52058}# - #{vars 52059}# - #{vals 52060}# - #{bindings 52061}#) - (if (null? #{body 52055}#) - (syntax-violation - #f - "no expressions in body" - #{outer-form 51940}#) - (let ((#{e 52062}# (cdr (car #{body 52055}#))) - (#{er 52063}# (car (car #{body 52055}#)))) - (call-with-values - (lambda () - (#{syntax-type 28270}# - #{e 52062}# - #{er 52063}# - '(()) - (#{source-annotation 28232}# #{er 52063}#) - #{ribcage 51945}# - #{mod 51943}# - #f)) - (lambda (#{type 52251}# - #{value 52252}# - #{e 52253}# - #{w 52254}# - #{s 52255}# - #{mod 52256}#) - (if (eqv? #{type 52251}# 'define-form) - (let ((#{id 52260}# - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{value 52252}# - (if (if (vector? #{value 52252}#) - (if (= (vector-length - #{value 52252}#) - 4) - (eq? (vector-ref - #{value 52252}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 52305}# - (vector-ref - #{value 52252}# - 1)) - (#{wrap 52306}# - (let ((#{w2 52316}# - (vector-ref - #{value 52252}# - 2))) - (let ((#{m1 52317}# - (car #{w 52254}#)) - (#{s1 52318}# - (cdr #{w 52254}#))) - (if (null? #{m1 52317}#) - (if (null? #{s1 52318}#) - #{w2 52316}# - (cons (car #{w2 52316}#) - (let ((#{m2 52335}# - (cdr #{w2 52316}#))) - (if (null? #{m2 52335}#) - #{s1 52318}# - (append - #{s1 52318}# - #{m2 52335}#))))) - (cons (let ((#{m2 52343}# - (car #{w2 52316}#))) - (if (null? #{m2 52343}#) - #{m1 52317}# - (append - #{m1 52317}# - #{m2 52343}#))) - (let ((#{m2 52351}# - (cdr #{w2 52316}#))) - (if (null? #{m2 52351}#) - #{s1 52318}# - (append - #{s1 52318}# - #{m2 52351}#)))))))) - (#{module 52307}# - (vector-ref - #{value 52252}# - 3))) - (vector - 'syntax-object - #{expression 52305}# - #{wrap 52306}# - #{module 52307}#)) - (if (null? #{value 52252}#) - #{value 52252}# - (vector - 'syntax-object - #{value 52252}# - #{w 52254}# - #{mod 52256}#))))) - (#{label 52261}# - (symbol->string (gensym "i")))) - (let ((#{var 52262}# - (let ((#{id 52412}# - (if (if (vector? #{id 52260}#) - (if (= (vector-length - #{id 52260}#) - 4) - (eq? (vector-ref - #{id 52260}# - 0) - 'syntax-object) - #f) - #f) - (vector-ref #{id 52260}# 1) - #{id 52260}#))) - (gensym - (string-append - (symbol->string #{id 52412}#) - " "))))) - (begin - (begin - (let ((#{update 52271}# - (cons (vector-ref #{id 52260}# 1) - (vector-ref - #{ribcage 51945}# - 1)))) - (vector-set! - #{ribcage 51945}# - 1 - #{update 52271}#)) - (let ((#{update 52383}# - (cons (car (vector-ref - #{id 52260}# - 2)) - (vector-ref - #{ribcage 51945}# - 2)))) - (vector-set! - #{ribcage 51945}# - 2 - #{update 52383}#)) - (let ((#{update 52398}# - (cons #{label 52261}# - (vector-ref - #{ribcage 51945}# - 3)))) - (vector-set! - #{ribcage 51945}# - 3 - #{update 52398}#))) - (#{parse 51947}# - (cdr #{body 52055}#) - (cons #{id 52260}# #{ids 52056}#) - (cons #{label 52261}# #{labels 52057}#) - (cons #{id 52260}# #{var-ids 52058}#) - (cons #{var 52262}# #{vars 52059}#) - (cons (cons #{er 52063}# - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{e 52253}# - (if (if (vector? - #{e 52253}#) - (if (= (vector-length - #{e 52253}#) - 4) - (eq? (vector-ref - #{e 52253}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 52464}# - (vector-ref - #{e 52253}# - 1)) - (#{wrap 52465}# - (let ((#{w2 52475}# - (vector-ref - #{e 52253}# - 2))) - (let ((#{m1 52476}# - (car #{w 52254}#)) - (#{s1 52477}# - (cdr #{w 52254}#))) - (if (null? #{m1 52476}#) - (if (null? #{s1 52477}#) - #{w2 52475}# - (cons (car #{w2 52475}#) - (let ((#{m2 52494}# - (cdr #{w2 52475}#))) - (if (null? #{m2 52494}#) - #{s1 52477}# - (append - #{s1 52477}# - #{m2 52494}#))))) - (cons (let ((#{m2 52502}# - (car #{w2 52475}#))) - (if (null? #{m2 52502}#) - #{m1 52476}# - (append - #{m1 52476}# - #{m2 52502}#))) - (let ((#{m2 52510}# - (cdr #{w2 52475}#))) - (if (null? #{m2 52510}#) - #{s1 52477}# - (append - #{s1 52477}# - #{m2 52510}#)))))))) - (#{module 52466}# - (vector-ref - #{e 52253}# - 3))) - (vector - 'syntax-object - #{expression 52464}# - #{wrap 52465}# - #{module 52466}#)) - (if (null? #{e 52253}#) - #{e 52253}# - (vector - 'syntax-object - #{e 52253}# - #{w 52254}# - #{mod 52256}#))))) - #{vals 52060}#) - (cons (cons 'lexical #{var 52262}#) - #{bindings 52061}#))))) - (if (if (eqv? #{type 52251}# 'define-syntax-form) - #t - (eqv? #{type 52251}# - 'define-syntax-parameter-form)) - (let ((#{id 52541}# - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{value 52252}# - (if (if (vector? #{value 52252}#) - (if (= (vector-length - #{value 52252}#) - 4) - (eq? (vector-ref - #{value 52252}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 52585}# - (vector-ref - #{value 52252}# - 1)) - (#{wrap 52586}# - (let ((#{w2 52596}# - (vector-ref - #{value 52252}# - 2))) - (let ((#{m1 52597}# - (car #{w 52254}#)) - (#{s1 52598}# - (cdr #{w 52254}#))) - (if (null? #{m1 52597}#) - (if (null? #{s1 52598}#) - #{w2 52596}# - (cons (car #{w2 52596}#) - (let ((#{m2 52615}# - (cdr #{w2 52596}#))) - (if (null? #{m2 52615}#) - #{s1 52598}# - (append - #{s1 52598}# - #{m2 52615}#))))) - (cons (let ((#{m2 52623}# - (car #{w2 52596}#))) - (if (null? #{m2 52623}#) - #{m1 52597}# - (append - #{m1 52597}# - #{m2 52623}#))) - (let ((#{m2 52631}# - (cdr #{w2 52596}#))) - (if (null? #{m2 52631}#) - #{s1 52598}# - (append - #{s1 52598}# - #{m2 52631}#)))))))) - (#{module 52587}# - (vector-ref - #{value 52252}# - 3))) - (vector - 'syntax-object - #{expression 52585}# - #{wrap 52586}# - #{module 52587}#)) - (if (null? #{value 52252}#) - #{value 52252}# - (vector - 'syntax-object - #{value 52252}# - #{w 52254}# - #{mod 52256}#))))) - (#{label 52542}# - (symbol->string (gensym "i")))) - (begin - (begin - (let ((#{update 52551}# - (cons (vector-ref #{id 52541}# 1) - (vector-ref - #{ribcage 51945}# - 1)))) - (vector-set! - #{ribcage 51945}# - 1 - #{update 52551}#)) - (let ((#{update 52663}# - (cons (car (vector-ref - #{id 52541}# - 2)) - (vector-ref - #{ribcage 51945}# - 2)))) - (vector-set! - #{ribcage 51945}# - 2 - #{update 52663}#)) - (let ((#{update 52678}# - (cons #{label 52542}# - (vector-ref - #{ribcage 51945}# - 3)))) - (vector-set! - #{ribcage 51945}# - 3 - #{update 52678}#))) - (#{parse 51947}# - (cdr #{body 52055}#) - (cons #{id 52541}# #{ids 52056}#) - (cons #{label 52542}# #{labels 52057}#) - #{var-ids 52058}# - #{vars 52059}# - #{vals 52060}# - (cons (cons (if (eq? #{type 52251}# - 'define-syntax-parameter-form) - 'syntax-parameter - 'macro) - (cons #{er 52063}# - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{e 52253}# - (if (if (vector? - #{e 52253}#) - (if (= (vector-length - #{e 52253}#) - 4) - (eq? (vector-ref - #{e 52253}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 52717}# - (vector-ref - #{e 52253}# - 1)) - (#{wrap 52718}# - (let ((#{w2 52728}# - (vector-ref - #{e 52253}# - 2))) - (let ((#{m1 52729}# - (car #{w 52254}#)) - (#{s1 52730}# - (cdr #{w 52254}#))) - (if (null? #{m1 52729}#) - (if (null? #{s1 52730}#) - #{w2 52728}# - (cons (car #{w2 52728}#) - (let ((#{m2 52747}# - (cdr #{w2 52728}#))) - (if (null? #{m2 52747}#) - #{s1 52730}# - (append - #{s1 52730}# - #{m2 52747}#))))) - (cons (let ((#{m2 52755}# - (car #{w2 52728}#))) - (if (null? #{m2 52755}#) - #{m1 52729}# - (append - #{m1 52729}# - #{m2 52755}#))) - (let ((#{m2 52763}# - (cdr #{w2 52728}#))) - (if (null? #{m2 52763}#) - #{s1 52730}# - (append - #{s1 52730}# - #{m2 52763}#)))))))) - (#{module 52719}# - (vector-ref - #{e 52253}# - 3))) - (vector - 'syntax-object - #{expression 52717}# - #{wrap 52718}# - #{module 52719}#)) - (if (null? #{e 52253}#) - #{e 52253}# - (vector - 'syntax-object - #{e 52253}# - #{w 52254}# - #{mod 52256}#)))))) - #{bindings 52061}#)))) - (if (eqv? #{type 52251}# 'begin-form) - (let ((#{tmp 52790}# - ($sc-dispatch - #{e 52253}# - '(_ . each-any)))) - (if #{tmp 52790}# - (@apply - (lambda (#{e1 52794}#) - (#{parse 51947}# - (letrec* - ((#{f 52795}# - (lambda (#{forms 52996}#) - (if (null? #{forms 52996}#) - (cdr #{body 52055}#) - (cons (cons #{er 52063}# - (let ((#{x 53000}# - (car #{forms 52996}#))) - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{x 53000}# - (if (if (vector? - #{x 53000}#) - (if (= (vector-length - #{x 53000}#) - 4) - (eq? (vector-ref - #{x 53000}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 53018}# - (vector-ref - #{x 53000}# - 1)) - (#{wrap 53019}# - (let ((#{w2 53027}# - (vector-ref - #{x 53000}# - 2))) - (let ((#{m1 53028}# - (car #{w 52254}#)) - (#{s1 53029}# - (cdr #{w 52254}#))) - (if (null? #{m1 53028}#) - (if (null? #{s1 53029}#) - #{w2 53027}# - (cons (car #{w2 53027}#) - (let ((#{m2 53044}# - (cdr #{w2 53027}#))) - (if (null? #{m2 53044}#) - #{s1 53029}# - (append - #{s1 53029}# - #{m2 53044}#))))) - (cons (let ((#{m2 53052}# - (car #{w2 53027}#))) - (if (null? #{m2 53052}#) - #{m1 53028}# - (append - #{m1 53028}# - #{m2 53052}#))) - (let ((#{m2 53060}# - (cdr #{w2 53027}#))) - (if (null? #{m2 53060}#) - #{s1 53029}# - (append - #{s1 53029}# - #{m2 53060}#)))))))) - (#{module 53020}# - (vector-ref - #{x 53000}# - 3))) - (vector - 'syntax-object - #{expression 53018}# - #{wrap 53019}# - #{module 53020}#)) - (if (null? #{x 53000}#) - #{x 53000}# - (vector - 'syntax-object - #{x 53000}# - #{w 52254}# - #{mod 52256}#)))))) - (#{f 52795}# - (cdr #{forms 52996}#))))))) - (#{f 52795}# #{e1 52794}#)) - #{ids 52056}# - #{labels 52057}# - #{var-ids 52058}# - #{vars 52059}# - #{vals 52060}# - #{bindings 52061}#)) - #{tmp 52790}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 52253}#))) - (if (eqv? #{type 52251}# 'local-syntax-form) - (#{expand-local-syntax 28276}# - #{value 52252}# - #{e 52253}# - #{er 52063}# - #{w 52254}# - #{s 52255}# - #{mod 52256}# - (lambda (#{forms 53086}# - #{er 53087}# - #{w 53088}# - #{s 53089}# - #{mod 53090}#) - (#{parse 51947}# - (letrec* - ((#{f 53091}# - (lambda (#{forms 53292}#) - (if (null? #{forms 53292}#) - (cdr #{body 52055}#) - (cons (cons #{er 53087}# - (let ((#{x 53296}# - (car #{forms 53292}#))) - (if (if (null? (car #{w 53088}#)) - (null? (cdr #{w 53088}#)) - #f) - #{x 53296}# - (if (if (vector? - #{x 53296}#) - (if (= (vector-length - #{x 53296}#) - 4) - (eq? (vector-ref - #{x 53296}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 53314}# - (vector-ref - #{x 53296}# - 1)) - (#{wrap 53315}# - (let ((#{w2 53323}# - (vector-ref - #{x 53296}# - 2))) - (let ((#{m1 53324}# - (car #{w 53088}#)) - (#{s1 53325}# - (cdr #{w 53088}#))) - (if (null? #{m1 53324}#) - (if (null? #{s1 53325}#) - #{w2 53323}# - (cons (car #{w2 53323}#) - (let ((#{m2 53340}# - (cdr #{w2 53323}#))) - (if (null? #{m2 53340}#) - #{s1 53325}# - (append - #{s1 53325}# - #{m2 53340}#))))) - (cons (let ((#{m2 53348}# - (car #{w2 53323}#))) - (if (null? #{m2 53348}#) - #{m1 53324}# - (append - #{m1 53324}# - #{m2 53348}#))) - (let ((#{m2 53356}# - (cdr #{w2 53323}#))) - (if (null? #{m2 53356}#) - #{s1 53325}# - (append - #{s1 53325}# - #{m2 53356}#)))))))) - (#{module 53316}# - (vector-ref - #{x 53296}# - 3))) - (vector - 'syntax-object - #{expression 53314}# - #{wrap 53315}# - #{module 53316}#)) - (if (null? #{x 53296}#) - #{x 53296}# - (vector - 'syntax-object - #{x 53296}# - #{w 53088}# - #{mod 53090}#)))))) - (#{f 53091}# - (cdr #{forms 53292}#))))))) - (#{f 53091}# #{forms 53086}#)) - #{ids 52056}# - #{labels 52057}# - #{var-ids 52058}# - #{vars 52059}# - #{vals 52060}# - #{bindings 52061}#))) - (if (null? #{ids 52056}#) - (#{build-sequence 28220}# - #f - (map (lambda (#{x 53441}#) - (#{expand 28271}# - (cdr #{x 53441}#) - (car #{x 53441}#) - '(()) - #{mod 52256}#)) - (cons (cons #{er 52063}# - (let ((#{x 53516}# - (begin - (if (if (pair? #{e 52253}#) - #{s 52255}# - #f) - (set-source-properties! - #{e 52253}# - #{s 52255}#)) - #{e 52253}#))) - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) + e-25084 + (if (if (vector? + e-25084) + (if (= (vector-length + e-25084) + 4) + (eq? (vector-ref + e-25084 + 0) + 'syntax-object) #f) - #{x 53516}# - (if (if (vector? - #{x 53516}#) - (if (= (vector-length - #{x 53516}#) - 4) - (eq? (vector-ref - #{x 53516}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 53548}# - (vector-ref - #{x 53516}# - 1)) - (#{wrap 53549}# - (let ((#{w2 53557}# - (vector-ref - #{x 53516}# - 2))) - (let ((#{m1 53558}# - (car #{w 52254}#)) - (#{s1 53559}# - (cdr #{w 52254}#))) - (if (null? #{m1 53558}#) - (if (null? #{s1 53559}#) - #{w2 53557}# - (cons (car #{w2 53557}#) - (let ((#{m2 53574}# - (cdr #{w2 53557}#))) - (if (null? #{m2 53574}#) - #{s1 53559}# - (append - #{s1 53559}# - #{m2 53574}#))))) - (cons (let ((#{m2 53582}# - (car #{w2 53557}#))) - (if (null? #{m2 53582}#) - #{m1 53558}# - (append - #{m1 53558}# - #{m2 53582}#))) - (let ((#{m2 53590}# - (cdr #{w2 53557}#))) - (if (null? #{m2 53590}#) - #{s1 53559}# - (append - #{s1 53559}# - #{m2 53590}#)))))))) - (#{module 53550}# - (vector-ref - #{x 53516}# - 3))) - (vector - 'syntax-object - #{expression 53548}# - #{wrap 53549}# - #{module 53550}#)) - (if (null? #{x 53516}#) - #{x 53516}# - (vector - 'syntax-object - #{x 53516}# - #{w 52254}# - #{mod 52256}#)))))) - (cdr #{body 52055}#)))) - (begin - (if (not (#{valid-bound-ids? 28261}# - #{ids 52056}#)) - (syntax-violation - #f - "invalid or duplicate identifier in definition" - #{outer-form 51940}#)) - (letrec* - ((#{loop 53689}# - (lambda (#{bs 53692}# - #{er-cache 53693}# - #{r-cache 53694}#) - (if (not (null? #{bs 53692}#)) - (let ((#{b 53695}# - (car #{bs 53692}#))) - (if (let ((#{t 53698}# - (car #{b 53695}#))) - (if (eq? #{t 53698}# - 'macro) - #t - (eq? #{t 53698}# - 'syntax-parameter))) - (let ((#{er 53700}# - (car (cdr #{b 53695}#)))) - (let ((#{r-cache 53701}# - (if (eq? #{er 53700}# - #{er-cache 53693}#) - #{r-cache 53694}# - (#{macros-only-env 28235}# - #{er 53700}#)))) - (begin - (set-cdr! - #{b 53695}# - (#{eval-local-transformer 28277}# - (#{expand 28271}# - (cdr (cdr #{b 53695}#)) - #{r-cache 53701}# - '(()) - #{mod 52256}#) - #{mod 52256}#)) - (if (eq? (car #{b 53695}#) - 'syntax-parameter) - (set-cdr! - #{b 53695}# - (list (cdr #{b 53695}#)))) - (#{loop 53689}# - (cdr #{bs 53692}#) - #{er 53700}# - #{r-cache 53701}#)))) - (#{loop 53689}# - (cdr #{bs 53692}#) - #{er-cache 53693}# - #{r-cache 53694}#))))))) - (#{loop 53689}# - #{bindings 52061}# - #f - #f)) - (set-cdr! - #{r 51944}# - (#{extend-env 28233}# - #{labels 52057}# - #{bindings 52061}# - (cdr #{r 51944}#))) - (#{build-letrec 28223}# - #f - #t - (reverse - (map syntax->datum - #{var-ids 52058}#)) - (reverse #{vars 52059}#) - (map (lambda (#{x 54121}#) - (#{expand 28271}# - (cdr #{x 54121}#) - (car #{x 54121}#) - '(()) - #{mod 52256}#)) - (reverse #{vals 52060}#)) - (#{build-sequence 28220}# - #f - (map (lambda (#{x 54257}#) - (#{expand 28271}# - (cdr #{x 54257}#) - (car #{x 54257}#) - '(()) - #{mod 52256}#)) - (cons (cons #{er 52063}# - (let ((#{x 54332}# - (begin - (if (if (pair? #{e 52253}#) - #{s 52255}# - #f) - (set-source-properties! - #{e 52253}# - #{s 52255}#)) - #{e 52253}#))) - (if (if (null? (car #{w 52254}#)) - (null? (cdr #{w 52254}#)) - #f) - #{x 54332}# - (if (if (vector? - #{x 54332}#) - (if (= (vector-length - #{x 54332}#) - 4) - (eq? (vector-ref - #{x 54332}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 54364}# - (vector-ref - #{x 54332}# - 1)) - (#{wrap 54365}# - (let ((#{w2 54373}# - (vector-ref - #{x 54332}# - 2))) - (let ((#{m1 54374}# - (car #{w 52254}#)) - (#{s1 54375}# - (cdr #{w 52254}#))) - (if (null? #{m1 54374}#) - (if (null? #{s1 54375}#) - #{w2 54373}# - (cons (car #{w2 54373}#) - (let ((#{m2 54390}# - (cdr #{w2 54373}#))) - (if (null? #{m2 54390}#) - #{s1 54375}# - (append - #{s1 54375}# - #{m2 54390}#))))) - (cons (let ((#{m2 54398}# - (car #{w2 54373}#))) - (if (null? #{m2 54398}#) - #{m1 54374}# - (append - #{m1 54374}# - #{m2 54398}#))) - (let ((#{m2 54406}# - (cdr #{w2 54373}#))) - (if (null? #{m2 54406}#) - #{s1 54375}# - (append - #{s1 54375}# - #{m2 54406}#)))))))) - (#{module 54366}# + #f) + (let ((expression-26103 + (vector-ref + e-25084 + 1)) + (wrap-26104 + (let ((w2-26114 (vector-ref - #{x 54332}# - 3))) - (vector - 'syntax-object - #{expression 54364}# - #{wrap 54365}# - #{module 54366}#)) - (if (null? #{x 54332}#) - #{x 54332}# - (vector - 'syntax-object - #{x 54332}# - #{w 52254}# - #{mod 52256}#)))))) - (cdr #{body 52055}#)))))))))))))))))) - (#{parse 51947}# - (map (lambda (#{x 51950}#) - (cons #{r 51944}# - (if (if (null? (car #{w 51946}#)) - (null? (cdr #{w 51946}#)) - #f) - #{x 51950}# - (if (if (vector? #{x 51950}#) - (if (= (vector-length #{x 51950}#) 4) - (eq? (vector-ref #{x 51950}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 51986}# - (vector-ref #{x 51950}# 1)) - (#{wrap 51987}# - (let ((#{w2 51997}# - (vector-ref #{x 51950}# 2))) - (let ((#{m1 51998}# - (car #{w 51946}#)) - (#{s1 51999}# - (cdr #{w 51946}#))) - (if (null? #{m1 51998}#) - (if (null? #{s1 51999}#) - #{w2 51997}# - (cons (car #{w2 51997}#) - (let ((#{m2 52016}# - (cdr #{w2 51997}#))) - (if (null? #{m2 52016}#) - #{s1 51999}# - (append - #{s1 51999}# - #{m2 52016}#))))) - (cons (let ((#{m2 52024}# - (car #{w2 51997}#))) - (if (null? #{m2 52024}#) - #{m1 51998}# - (append - #{m1 51998}# - #{m2 52024}#))) - (let ((#{m2 52032}# - (cdr #{w2 51997}#))) - (if (null? #{m2 52032}#) - #{s1 51999}# - (append - #{s1 51999}# - #{m2 52032}#)))))))) - (#{module 51988}# - (vector-ref #{x 51950}# 3))) - (vector - 'syntax-object - #{expression 51986}# - #{wrap 51987}# - #{module 51988}#)) - (if (null? #{x 51950}#) - #{x 51950}# - (vector - 'syntax-object - #{x 51950}# - #{w 51946}# - #{mod 51943}#)))))) - #{body 51939}#) - '() - '() - '() - '() - '() - '()))))))) - (#{expand-local-syntax 28276}# - (lambda (#{rec? 54421}# - #{e 54422}# - #{r 54423}# - #{w 54424}# - #{s 54425}# - #{mod 54426}# - #{k 54427}#) - (let ((#{tmp 54429}# - ($sc-dispatch - #{e 54422}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp 54429}# - (@apply - (lambda (#{id 54433}# - #{val 54434}# - #{e1 54435}# - #{e2 54436}#) - (if (not (#{valid-bound-ids? 28261}# #{id 54433}#)) - (syntax-violation - #f - "duplicate bound keyword" - #{e 54422}#) - (let ((#{labels 54533}# - (#{gen-labels 28241}# #{id 54433}#))) - (let ((#{new-w 54534}# - (#{make-binding-wrap 28252}# - #{id 54433}# - #{labels 54533}# - #{w 54424}#))) - (#{k 54427}# - (cons #{e1 54435}# #{e2 54436}#) - (#{extend-env 28233}# - #{labels 54533}# - (let ((#{trans-r 54574}# - (#{macros-only-env 28235}# #{r 54423}#))) - (begin - (if #{rec? 54421}# #{new-w 54534}# #{w 54424}#) - (map (lambda (#{x 54575}#) - (cons 'macro - (#{eval-local-transformer 28277}# - (#{expand 28271}# - #{x 54575}# - #{trans-r 54574}# - (values - (if #{rec? 54421}# - #{new-w 54534}# - #{w 54424}#)) - #{mod 54426}#) - #{mod 54426}#))) - #{val 54434}#))) - #{r 54423}#) - #{new-w 54534}# - #{s 54425}# - #{mod 54426}#))))) - #{tmp 54429}#) - (syntax-violation - #f - "bad local syntax definition" - (let ((#{x 54904}# - (begin - (if (if (pair? #{e 54422}#) #{s 54425}# #f) - (set-source-properties! #{e 54422}# #{s 54425}#)) - #{e 54422}#))) - (if (if (null? (car #{w 54424}#)) - (null? (cdr #{w 54424}#)) - #f) - #{x 54904}# - (if (if (vector? #{x 54904}#) - (if (= (vector-length #{x 54904}#) 4) - (eq? (vector-ref #{x 54904}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 54936}# (vector-ref #{x 54904}# 1)) - (#{wrap 54937}# - (let ((#{w2 54945}# (vector-ref #{x 54904}# 2))) - (let ((#{m1 54946}# (car #{w 54424}#)) - (#{s1 54947}# (cdr #{w 54424}#))) - (if (null? #{m1 54946}#) - (if (null? #{s1 54947}#) - #{w2 54945}# - (cons (car #{w2 54945}#) - (let ((#{m2 54962}# - (cdr #{w2 54945}#))) - (if (null? #{m2 54962}#) - #{s1 54947}# - (append - #{s1 54947}# - #{m2 54962}#))))) - (cons (let ((#{m2 54970}# (car #{w2 54945}#))) - (if (null? #{m2 54970}#) - #{m1 54946}# - (append #{m1 54946}# #{m2 54970}#))) - (let ((#{m2 54978}# (cdr #{w2 54945}#))) - (if (null? #{m2 54978}#) - #{s1 54947}# - (append - #{s1 54947}# - #{m2 54978}#)))))))) - (#{module 54938}# (vector-ref #{x 54904}# 3))) - (vector - 'syntax-object - #{expression 54936}# - #{wrap 54937}# - #{module 54938}#)) - (if (null? #{x 54904}#) - #{x 54904}# - (vector - 'syntax-object - #{x 54904}# - #{w 54424}# - #{mod 54426}#)))))))))) - (#{eval-local-transformer 28277}# - (lambda (#{expanded 54996}# #{mod 54997}#) - (let ((#{p 54998}# (primitive-eval #{expanded 54996}#))) - (if (procedure? #{p 54998}#) - #{p 54998}# - (syntax-violation - #f - "nonprocedure transformer" - #{p 54998}#))))) - (#{ellipsis? 28279}# - (lambda (#{x 29819}#) - (if (if (if (vector? #{x 29819}#) - (if (= (vector-length #{x 29819}#) 4) - (eq? (vector-ref #{x 29819}# 0) 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{x 29819}# 1)) - #f) - (#{free-id=? 28259}# - #{x 29819}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i26166")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile))) - #f))) - (#{lambda-formals 28280}# - (lambda (#{orig-args 55003}#) - (letrec* - ((#{req 55004}# - (lambda (#{args 55008}# #{rreq 55009}#) - (let ((#{tmp 55011}# ($sc-dispatch #{args 55008}# '()))) - (if #{tmp 55011}# - (@apply - (lambda () - (#{check 55005}# (reverse #{rreq 55009}#) #f)) - #{tmp 55011}#) - (let ((#{tmp 55127}# - ($sc-dispatch #{args 55008}# '(any . any)))) - (if (if #{tmp 55127}# - (@apply - (lambda (#{a 55131}# #{b 55132}#) - (if (symbol? #{a 55131}#) - #t - (if (if (vector? #{a 55131}#) - (if (= (vector-length #{a 55131}#) 4) - (eq? (vector-ref #{a 55131}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 55131}# 1)) - #f))) - #{tmp 55127}#) - #f) - (@apply - (lambda (#{a 55159}# #{b 55160}#) - (#{req 55004}# - #{b 55160}# - (cons #{a 55159}# #{rreq 55009}#))) - #{tmp 55127}#) - (let ((#{tmp 55161}# (list #{args 55008}#))) - (if (@apply - (lambda (#{r 55163}#) - (if (symbol? #{r 55163}#) - #t - (if (if (vector? #{r 55163}#) - (if (= (vector-length #{r 55163}#) 4) - (eq? (vector-ref #{r 55163}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{r 55163}# 1)) - #f))) - #{tmp 55161}#) - (@apply - (lambda (#{r 55193}#) - (#{check 55005}# - (reverse #{rreq 55009}#) - #{r 55193}#)) - #{tmp 55161}#) - (syntax-violation - 'lambda - "invalid argument list" - #{orig-args 55003}# - #{args 55008}#))))))))) - (#{check 55005}# - (lambda (#{req 55317}# #{rest 55318}#) - (if (#{distinct-bound-ids? 28262}# - (if #{rest 55318}# - (cons #{rest 55318}# #{req 55317}#) - #{req 55317}#)) - (values #{req 55317}# #f #{rest 55318}# #f) - (syntax-violation - 'lambda - "duplicate identifier in argument list" - #{orig-args 55003}#))))) - (#{req 55004}# #{orig-args 55003}# '())))) - (#{expand-simple-lambda 28281}# - (lambda (#{e 55427}# - #{r 55428}# - #{w 55429}# - #{s 55430}# - #{mod 55431}# - #{req 55432}# - #{rest 55433}# - #{meta 55434}# - #{body 55435}#) - (let ((#{ids 55436}# - (if #{rest 55433}# - (append #{req 55432}# (list #{rest 55433}#)) - #{req 55432}#))) - (let ((#{vars 55437}# - (map #{gen-var 28285}# #{ids 55436}#))) - (let ((#{labels 55438}# - (#{gen-labels 28241}# #{ids 55436}#))) - (#{build-simple-lambda 28214}# - #{s 55430}# - (map syntax->datum #{req 55432}#) - (if #{rest 55433}# - (syntax->datum #{rest 55433}#) - #f) - #{vars 55437}# - #{meta 55434}# - (#{expand-body 28275}# - #{body 55435}# - (let ((#{x 55627}# - (begin - (if (if (pair? #{e 55427}#) #{s 55430}# #f) - (set-source-properties! #{e 55427}# #{s 55430}#)) - #{e 55427}#))) - (if (if (null? (car #{w 55429}#)) - (null? (cdr #{w 55429}#)) - #f) - #{x 55627}# - (if (if (vector? #{x 55627}#) - (if (= (vector-length #{x 55627}#) 4) - (eq? (vector-ref #{x 55627}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 55659}# (vector-ref #{x 55627}# 1)) - (#{wrap 55660}# - (let ((#{w2 55668}# (vector-ref #{x 55627}# 2))) - (let ((#{m1 55669}# (car #{w 55429}#)) - (#{s1 55670}# (cdr #{w 55429}#))) - (if (null? #{m1 55669}#) - (if (null? #{s1 55670}#) - #{w2 55668}# - (cons (car #{w2 55668}#) - (let ((#{m2 55685}# - (cdr #{w2 55668}#))) - (if (null? #{m2 55685}#) - #{s1 55670}# - (append - #{s1 55670}# - #{m2 55685}#))))) - (cons (let ((#{m2 55693}# - (car #{w2 55668}#))) - (if (null? #{m2 55693}#) - #{m1 55669}# - (append - #{m1 55669}# - #{m2 55693}#))) - (let ((#{m2 55701}# - (cdr #{w2 55668}#))) - (if (null? #{m2 55701}#) - #{s1 55670}# - (append - #{s1 55670}# - #{m2 55701}#)))))))) - (#{module 55661}# (vector-ref #{x 55627}# 3))) - (vector - 'syntax-object - #{expression 55659}# - #{wrap 55660}# - #{module 55661}#)) - (if (null? #{x 55627}#) - #{x 55627}# - (vector - 'syntax-object - #{x 55627}# - #{w 55429}# - #{mod 55431}#))))) - (#{extend-var-env 28234}# - #{labels 55438}# - #{vars 55437}# - #{r 55428}#) - (#{make-binding-wrap 28252}# - #{ids 55436}# - #{labels 55438}# - #{w 55429}#) - #{mod 55431}#))))))) - (#{lambda*-formals 28282}# - (lambda (#{orig-args 55932}#) - (letrec* - ((#{req 55933}# - (lambda (#{args 55940}# #{rreq 55941}#) - (let ((#{tmp 55943}# ($sc-dispatch #{args 55940}# '()))) - (if #{tmp 55943}# - (@apply - (lambda () - (#{check 55937}# - (reverse #{rreq 55941}#) - '() - #f - '())) - #{tmp 55943}#) - (let ((#{tmp 56062}# - ($sc-dispatch #{args 55940}# '(any . any)))) - (if (if #{tmp 56062}# - (@apply - (lambda (#{a 56066}# #{b 56067}#) - (if (symbol? #{a 56066}#) - #t - (if (if (vector? #{a 56066}#) - (if (= (vector-length #{a 56066}#) 4) - (eq? (vector-ref #{a 56066}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 56066}# 1)) - #f))) - #{tmp 56062}#) - #f) - (@apply - (lambda (#{a 56094}# #{b 56095}#) - (#{req 55933}# - #{b 56095}# - (cons #{a 56094}# #{rreq 55941}#))) - #{tmp 56062}#) - (let ((#{tmp 56096}# - ($sc-dispatch #{args 55940}# '(any . any)))) - (if (if #{tmp 56096}# - (@apply - (lambda (#{a 56100}# #{b 56101}#) - (eq? (syntax->datum #{a 56100}#) #:optional)) - #{tmp 56096}#) - #f) - (@apply - (lambda (#{a 56102}# #{b 56103}#) - (#{opt 55934}# - #{b 56103}# - (reverse #{rreq 55941}#) - '())) - #{tmp 56096}#) - (let ((#{tmp 56106}# - ($sc-dispatch #{args 55940}# '(any . any)))) - (if (if #{tmp 56106}# - (@apply - (lambda (#{a 56110}# #{b 56111}#) - (eq? (syntax->datum #{a 56110}#) #:key)) - #{tmp 56106}#) - #f) - (@apply - (lambda (#{a 56112}# #{b 56113}#) - (#{key 55935}# - #{b 56113}# - (reverse #{rreq 55941}#) - '() - '())) - #{tmp 56106}#) - (let ((#{tmp 56116}# - ($sc-dispatch - #{args 55940}# - '(any any)))) - (if (if #{tmp 56116}# - (@apply - (lambda (#{a 56120}# #{b 56121}#) - (eq? (syntax->datum #{a 56120}#) - #:rest)) - #{tmp 56116}#) - #f) - (@apply - (lambda (#{a 56122}# #{b 56123}#) - (#{rest 55936}# - #{b 56123}# - (reverse #{rreq 55941}#) - '() - '())) - #{tmp 56116}#) - (let ((#{tmp 56126}# (list #{args 55940}#))) - (if (@apply - (lambda (#{r 56128}#) - (if (symbol? #{r 56128}#) - #t - (if (if (vector? #{r 56128}#) - (if (= (vector-length - #{r 56128}#) - 4) - (eq? (vector-ref - #{r 56128}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{r 56128}# 1)) - #f))) - #{tmp 56126}#) - (@apply - (lambda (#{r 56158}#) - (#{rest 55936}# - #{r 56158}# - (reverse #{rreq 55941}#) - '() - '())) - #{tmp 56126}#) - (syntax-violation - 'lambda* - "invalid argument list" - #{orig-args 55932}# - #{args 55940}#))))))))))))))) - (#{opt 55934}# - (lambda (#{args 56177}# #{req 56178}# #{ropt 56179}#) - (let ((#{tmp 56181}# ($sc-dispatch #{args 56177}# '()))) - (if #{tmp 56181}# - (@apply - (lambda () - (#{check 55937}# - #{req 56178}# - (reverse #{ropt 56179}#) - #f - '())) - #{tmp 56181}#) - (let ((#{tmp 56302}# - ($sc-dispatch #{args 56177}# '(any . any)))) - (if (if #{tmp 56302}# - (@apply - (lambda (#{a 56306}# #{b 56307}#) - (if (symbol? #{a 56306}#) - #t - (if (if (vector? #{a 56306}#) - (if (= (vector-length #{a 56306}#) 4) - (eq? (vector-ref #{a 56306}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 56306}# 1)) - #f))) - #{tmp 56302}#) - #f) - (@apply - (lambda (#{a 56334}# #{b 56335}#) - (#{opt 55934}# - #{b 56335}# - #{req 56178}# - (cons (cons #{a 56334}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(a b) - #((top) (top)) - #("i26305" "i26306")) - #(ribcage () () ()) - #(ribcage - #(args req ropt) - #((top) (top) (top)) - #("i26295" "i26296" "i26297")) - #(ribcage - (check rest key opt req) - ((top) (top) (top) (top) (top)) - ("i26241" - "i26239" - "i26237" - "i26235" - "i26233")) - #(ribcage - #(orig-args) - #((top)) - #("i26232")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)))) - #{ropt 56179}#))) - #{tmp 56302}#) - (let ((#{tmp 56336}# - ($sc-dispatch - #{args 56177}# - '((any any) . any)))) - (if (if #{tmp 56336}# - (@apply - (lambda (#{a 56340}# - #{init 56341}# - #{b 56342}#) - (if (symbol? #{a 56340}#) - #t - (if (if (vector? #{a 56340}#) - (if (= (vector-length #{a 56340}#) 4) - (eq? (vector-ref #{a 56340}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 56340}# 1)) - #f))) - #{tmp 56336}#) - #f) - (@apply - (lambda (#{a 56369}# #{init 56370}# #{b 56371}#) - (#{opt 55934}# - #{b 56371}# - #{req 56178}# - (cons (list #{a 56369}# #{init 56370}#) - #{ropt 56179}#))) - #{tmp 56336}#) - (let ((#{tmp 56372}# - ($sc-dispatch #{args 56177}# '(any . any)))) - (if (if #{tmp 56372}# - (@apply - (lambda (#{a 56376}# #{b 56377}#) - (eq? (syntax->datum #{a 56376}#) #:key)) - #{tmp 56372}#) - #f) - (@apply - (lambda (#{a 56378}# #{b 56379}#) - (#{key 55935}# - #{b 56379}# - #{req 56178}# - (reverse #{ropt 56179}#) - '())) - #{tmp 56372}#) - (let ((#{tmp 56382}# - ($sc-dispatch - #{args 56177}# - '(any any)))) - (if (if #{tmp 56382}# - (@apply - (lambda (#{a 56386}# #{b 56387}#) - (eq? (syntax->datum #{a 56386}#) - #:rest)) - #{tmp 56382}#) - #f) - (@apply - (lambda (#{a 56388}# #{b 56389}#) - (#{rest 55936}# - #{b 56389}# - #{req 56178}# - (reverse #{ropt 56179}#) - '())) - #{tmp 56382}#) - (let ((#{tmp 56392}# (list #{args 56177}#))) - (if (@apply - (lambda (#{r 56394}#) - (if (symbol? #{r 56394}#) - #t - (if (if (vector? #{r 56394}#) - (if (= (vector-length - #{r 56394}#) - 4) - (eq? (vector-ref - #{r 56394}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{r 56394}# 1)) - #f))) - #{tmp 56392}#) - (@apply - (lambda (#{r 56424}#) - (#{rest 55936}# - #{r 56424}# - #{req 56178}# - (reverse #{ropt 56179}#) - '())) - #{tmp 56392}#) - (syntax-violation - 'lambda* - "invalid optional argument list" - #{orig-args 55932}# - #{args 56177}#))))))))))))))) - (#{key 55935}# - (lambda (#{args 56443}# - #{req 56444}# - #{opt 56445}# - #{rkey 56446}#) - (let ((#{tmp 56448}# ($sc-dispatch #{args 56443}# '()))) - (if #{tmp 56448}# - (@apply - (lambda () - (#{check 55937}# - #{req 56444}# - #{opt 56445}# - #f - (cons #f (reverse #{rkey 56446}#)))) - #{tmp 56448}#) - (let ((#{tmp 56570}# - ($sc-dispatch #{args 56443}# '(any . any)))) - (if (if #{tmp 56570}# - (@apply - (lambda (#{a 56574}# #{b 56575}#) - (if (symbol? #{a 56574}#) - #t - (if (if (vector? #{a 56574}#) - (if (= (vector-length #{a 56574}#) 4) - (eq? (vector-ref #{a 56574}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 56574}# 1)) - #f))) - #{tmp 56570}#) - #f) - (@apply - (lambda (#{a 56602}# #{b 56603}#) - (let ((#{tmp 56604}# - (symbol->keyword - (syntax->datum #{a 56602}#)))) - (#{key 55935}# - #{b 56603}# - #{req 56444}# - #{opt 56445}# - (cons (cons #{tmp 56604}# - (cons #{a 56602}# - '(#(syntax-object - #f - ((top) - #(ribcage () () ()) - #(ribcage - #(k) - #((top)) - #("i26368")) - #(ribcage - #(a b) - #((top) (top)) - #("i26362" "i26363")) - #(ribcage () () ()) - #(ribcage - #(args req opt rkey) - #((top) - (top) - (top) - (top)) - #("i26351" - "i26352" - "i26353" - "i26354")) - #(ribcage - (check rest key opt req) - ((top) - (top) - (top) - (top) - (top)) - ("i26241" - "i26239" - "i26237" - "i26235" - "i26233")) - #(ribcage - #(orig-args) - #((top)) - #("i26232")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" - "i23872" - "i23871")) - #(ribcage () () ())) - (hygiene guile))))) - #{rkey 56446}#)))) - #{tmp 56570}#) - (let ((#{tmp 56607}# - ($sc-dispatch - #{args 56443}# - '((any any) . any)))) - (if (if #{tmp 56607}# - (@apply - (lambda (#{a 56611}# - #{init 56612}# - #{b 56613}#) - (if (symbol? #{a 56611}#) - #t - (if (if (vector? #{a 56611}#) - (if (= (vector-length #{a 56611}#) 4) - (eq? (vector-ref #{a 56611}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{a 56611}# 1)) - #f))) - #{tmp 56607}#) - #f) - (@apply - (lambda (#{a 56640}# #{init 56641}# #{b 56642}#) - (let ((#{tmp 56643}# - (symbol->keyword - (syntax->datum #{a 56640}#)))) - (#{key 55935}# - #{b 56642}# - #{req 56444}# - #{opt 56445}# - (cons (list #{tmp 56643}# - #{a 56640}# - #{init 56641}#) - #{rkey 56446}#)))) - #{tmp 56607}#) - (let ((#{tmp 56646}# - ($sc-dispatch - #{args 56443}# - '((any any any) . any)))) - (if (if #{tmp 56646}# - (@apply - (lambda (#{a 56650}# - #{init 56651}# - #{k 56652}# - #{b 56653}#) - (if (if (symbol? #{a 56650}#) - #t - (if (if (vector? #{a 56650}#) - (if (= (vector-length - #{a 56650}#) - 4) - (eq? (vector-ref - #{a 56650}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{a 56650}# 1)) - #f)) - (keyword? (syntax->datum #{k 56652}#)) - #f)) - #{tmp 56646}#) - #f) - (@apply - (lambda (#{a 56680}# - #{init 56681}# - #{k 56682}# - #{b 56683}#) - (#{key 55935}# - #{b 56683}# - #{req 56444}# - #{opt 56445}# - (cons (list #{k 56682}# - #{a 56680}# - #{init 56681}#) - #{rkey 56446}#))) - #{tmp 56646}#) - (let ((#{tmp 56684}# - ($sc-dispatch #{args 56443}# '(any)))) - (if (if #{tmp 56684}# - (@apply - (lambda (#{aok 56688}#) - (eq? (syntax->datum #{aok 56688}#) - #:allow-other-keys)) - #{tmp 56684}#) - #f) - (@apply - (lambda (#{aok 56689}#) - (#{check 55937}# - #{req 56444}# - #{opt 56445}# - #f - (cons #t (reverse #{rkey 56446}#)))) - #{tmp 56684}#) - (let ((#{tmp 56808}# - ($sc-dispatch - #{args 56443}# - '(any any any)))) - (if (if #{tmp 56808}# - (@apply - (lambda (#{aok 56812}# - #{a 56813}# - #{b 56814}#) - (if (eq? (syntax->datum - #{aok 56812}#) - #:allow-other-keys) - (eq? (syntax->datum - #{a 56813}#) - #:rest) - #f)) - #{tmp 56808}#) - #f) - (@apply - (lambda (#{aok 56815}# - #{a 56816}# - #{b 56817}#) - (#{rest 55936}# - #{b 56817}# - #{req 56444}# - #{opt 56445}# - (cons #t - (reverse #{rkey 56446}#)))) - #{tmp 56808}#) - (let ((#{tmp 56820}# - ($sc-dispatch - #{args 56443}# - '(any . any)))) - (if (if #{tmp 56820}# - (@apply - (lambda (#{aok 56824}# - #{r 56825}#) - (if (eq? (syntax->datum - #{aok 56824}#) - #:allow-other-keys) - (if (symbol? #{r 56825}#) - #t - (if (if (vector? - #{r 56825}#) - (if (= (vector-length - #{r 56825}#) - 4) - (eq? (vector-ref - #{r 56825}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref - #{r 56825}# - 1)) - #f)) - #f)) - #{tmp 56820}#) - #f) - (@apply - (lambda (#{aok 56852}# #{r 56853}#) - (#{rest 55936}# - #{r 56853}# - #{req 56444}# - #{opt 56445}# - (cons #t - (reverse - #{rkey 56446}#)))) - #{tmp 56820}#) - (let ((#{tmp 56856}# - ($sc-dispatch - #{args 56443}# - '(any any)))) - (if (if #{tmp 56856}# - (@apply - (lambda (#{a 56860}# - #{b 56861}#) - (eq? (syntax->datum - #{a 56860}#) - #:rest)) - #{tmp 56856}#) - #f) - (@apply - (lambda (#{a 56862}# - #{b 56863}#) - (#{rest 55936}# - #{b 56863}# - #{req 56444}# - #{opt 56445}# - (cons #f - (reverse - #{rkey 56446}#)))) - #{tmp 56856}#) - (let ((#{tmp 56866}# - (list #{args 56443}#))) - (if (@apply - (lambda (#{r 56868}#) - (if (symbol? - #{r 56868}#) - #t - (if (if (vector? - #{r 56868}#) - (if (= (vector-length - #{r 56868}#) - 4) - (eq? (vector-ref - #{r 56868}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref - #{r 56868}# - 1)) - #f))) - #{tmp 56866}#) - (@apply - (lambda (#{r 56898}#) - (#{rest 55936}# - #{r 56898}# - #{req 56444}# - #{opt 56445}# - (cons #f - (reverse - #{rkey 56446}#)))) - #{tmp 56866}#) - (syntax-violation - 'lambda* - "invalid keyword argument list" - #{orig-args 55932}# - #{args 56443}#))))))))))))))))))))) - (#{rest 55936}# - (lambda (#{args 56926}# - #{req 56927}# - #{opt 56928}# - #{kw 56929}#) - (let ((#{tmp 56931}# (list #{args 56926}#))) - (if (@apply - (lambda (#{r 56933}#) - (if (symbol? #{r 56933}#) - #t - (if (if (vector? #{r 56933}#) - (if (= (vector-length #{r 56933}#) 4) - (eq? (vector-ref #{r 56933}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{r 56933}# 1)) - #f))) - #{tmp 56931}#) - (@apply - (lambda (#{r 56963}#) - (#{check 55937}# - #{req 56927}# - #{opt 56928}# - #{r 56963}# - #{kw 56929}#)) - #{tmp 56931}#) - (syntax-violation - 'lambda* - "invalid rest argument" - #{orig-args 55932}# - #{args 56926}#))))) - (#{check 55937}# - (lambda (#{req 57091}# - #{opt 57092}# - #{rest 57093}# - #{kw 57094}#) - (if (#{distinct-bound-ids? 28262}# - (append - #{req 57091}# - (map car #{opt 57092}#) - (if #{rest 57093}# (list #{rest 57093}#) '()) - (if (pair? #{kw 57094}#) - (map cadr (cdr #{kw 57094}#)) - '()))) - (values - #{req 57091}# - #{opt 57092}# - #{rest 57093}# - #{kw 57094}#) - (syntax-violation - 'lambda* - "duplicate identifier in argument list" - #{orig-args 55932}#))))) - (#{req 55933}# #{orig-args 55932}# '())))) - (#{expand-lambda-case 28283}# - (lambda (#{e 57203}# - #{r 57204}# - #{w 57205}# - #{s 57206}# - #{mod 57207}# - #{get-formals 57208}# - #{clauses 57209}#) - (letrec* - ((#{parse-req 57210}# - (lambda (#{req 57345}# - #{opt 57346}# - #{rest 57347}# - #{kw 57348}# - #{body 57349}#) - (let ((#{vars 57350}# - (map #{gen-var 28285}# #{req 57345}#)) - (#{labels 57351}# - (#{gen-labels 28241}# #{req 57345}#))) - (let ((#{r* 57352}# - (#{extend-var-env 28234}# - #{labels 57351}# - #{vars 57350}# - #{r 57204}#)) - (#{w* 57353}# - (#{make-binding-wrap 28252}# - #{req 57345}# - #{labels 57351}# - #{w 57205}#))) - (#{parse-opt 57211}# - (map syntax->datum #{req 57345}#) - #{opt 57346}# - #{rest 57347}# - #{kw 57348}# - #{body 57349}# - (reverse #{vars 57350}#) - #{r* 57352}# - #{w* 57353}# - '() - '()))))) - (#{parse-opt 57211}# - (lambda (#{req 57587}# - #{opt 57588}# - #{rest 57589}# - #{kw 57590}# - #{body 57591}# - #{vars 57592}# - #{r* 57593}# - #{w* 57594}# - #{out 57595}# - #{inits 57596}#) - (if (pair? #{opt 57588}#) - (let ((#{tmp 57597}# (car #{opt 57588}#))) - (let ((#{tmp 57598}# - ($sc-dispatch #{tmp 57597}# '(any any)))) - (if #{tmp 57598}# - (@apply - (lambda (#{id 57600}# #{i 57601}#) - (let ((#{v 57602}# - (let ((#{id 57610}# - (if (if (vector? #{id 57600}#) - (if (= (vector-length - #{id 57600}#) - 4) - (eq? (vector-ref - #{id 57600}# - 0) - 'syntax-object) - #f) - #f) - (vector-ref #{id 57600}# 1) - #{id 57600}#))) - (gensym - (string-append - (symbol->string #{id 57610}#) - " "))))) - (let ((#{l 57603}# - (#{gen-labels 28241}# (list #{v 57602}#)))) - (let ((#{r** 57604}# - (#{extend-var-env 28234}# - #{l 57603}# - (list #{v 57602}#) - #{r* 57593}#))) - (let ((#{w** 57605}# - (#{make-binding-wrap 28252}# - (list #{id 57600}#) - #{l 57603}# - #{w* 57594}#))) - (#{parse-opt 57211}# - #{req 57587}# - (cdr #{opt 57588}#) - #{rest 57589}# - #{kw 57590}# - #{body 57591}# - (cons #{v 57602}# #{vars 57592}#) - #{r** 57604}# - #{w** 57605}# - (cons (syntax->datum #{id 57600}#) - #{out 57595}#) - (cons (#{expand 28271}# - #{i 57601}# - #{r* 57593}# - #{w* 57594}# - #{mod 57207}#) - #{inits 57596}#))))))) - #{tmp 57598}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 57597}#)))) - (if #{rest 57589}# - (let ((#{v 57904}# - (let ((#{id 57914}# - (if (if (vector? #{rest 57589}#) - (if (= (vector-length #{rest 57589}#) - 4) - (eq? (vector-ref #{rest 57589}# 0) - 'syntax-object) - #f) - #f) - (vector-ref #{rest 57589}# 1) - #{rest 57589}#))) - (gensym - (string-append - (symbol->string #{id 57914}#) - " "))))) - (let ((#{l 57905}# - (#{gen-labels 28241}# (list #{v 57904}#)))) - (let ((#{r* 57906}# - (#{extend-var-env 28234}# - #{l 57905}# - (list #{v 57904}#) - #{r* 57593}#))) - (let ((#{w* 57907}# - (#{make-binding-wrap 28252}# - (list #{rest 57589}#) - #{l 57905}# - #{w* 57594}#))) - (#{parse-kw 57212}# - #{req 57587}# - (if (pair? #{out 57595}#) - (reverse #{out 57595}#) - #f) - (syntax->datum #{rest 57589}#) - (if (pair? #{kw 57590}#) - (cdr #{kw 57590}#) - #{kw 57590}#) - #{body 57591}# - (cons #{v 57904}# #{vars 57592}#) - #{r* 57906}# - #{w* 57907}# - (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f) - '() - #{inits 57596}#))))) - (#{parse-kw 57212}# - #{req 57587}# - (if (pair? #{out 57595}#) - (reverse #{out 57595}#) - #f) - #f - (if (pair? #{kw 57590}#) - (cdr #{kw 57590}#) - #{kw 57590}#) - #{body 57591}# - #{vars 57592}# - #{r* 57593}# - #{w* 57594}# - (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f) - '() - #{inits 57596}#))))) - (#{parse-kw 57212}# - (lambda (#{req 58133}# - #{opt 58134}# - #{rest 58135}# - #{kw 58136}# - #{body 58137}# - #{vars 58138}# - #{r* 58139}# - #{w* 58140}# - #{aok 58141}# - #{out 58142}# - #{inits 58143}#) - (if (pair? #{kw 58136}#) - (let ((#{tmp 58144}# (car #{kw 58136}#))) - (let ((#{tmp 58145}# - ($sc-dispatch #{tmp 58144}# '(any any any)))) - (if #{tmp 58145}# - (@apply - (lambda (#{k 58147}# #{id 58148}# #{i 58149}#) - (let ((#{v 58150}# - (let ((#{id 58158}# - (if (if (vector? #{id 58148}#) - (if (= (vector-length - #{id 58148}#) - 4) - (eq? (vector-ref - #{id 58148}# - 0) - 'syntax-object) - #f) - #f) - (vector-ref #{id 58148}# 1) - #{id 58148}#))) - (gensym - (string-append - (symbol->string #{id 58158}#) - " "))))) - (let ((#{l 58151}# - (#{gen-labels 28241}# (list #{v 58150}#)))) - (let ((#{r** 58152}# - (#{extend-var-env 28234}# - #{l 58151}# - (list #{v 58150}#) - #{r* 58139}#))) - (let ((#{w** 58153}# - (#{make-binding-wrap 28252}# - (list #{id 58148}#) - #{l 58151}# - #{w* 58140}#))) - (#{parse-kw 57212}# - #{req 58133}# - #{opt 58134}# - #{rest 58135}# - (cdr #{kw 58136}#) - #{body 58137}# - (cons #{v 58150}# #{vars 58138}#) - #{r** 58152}# - #{w** 58153}# - #{aok 58141}# - (cons (list (syntax->datum #{k 58147}#) - (syntax->datum #{id 58148}#) - #{v 58150}#) - #{out 58142}#) - (cons (#{expand 28271}# - #{i 58149}# - #{r* 58139}# - #{w* 58140}# - #{mod 57207}#) - #{inits 58143}#))))))) - #{tmp 58145}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 58144}#)))) - (#{parse-body 57213}# - #{req 58133}# - #{opt 58134}# - #{rest 58135}# - (if (if #{aok 58141}# - #{aok 58141}# - (pair? #{out 58142}#)) - (cons #{aok 58141}# (reverse #{out 58142}#)) - #f) - #{body 58137}# - (reverse #{vars 58138}#) - #{r* 58139}# - #{w* 58140}# - (reverse #{inits 58143}#) - '())))) - (#{parse-body 57213}# - (lambda (#{req 58461}# - #{opt 58462}# - #{rest 58463}# - #{kw 58464}# - #{body 58465}# - #{vars 58466}# - #{r* 58467}# - #{w* 58468}# - #{inits 58469}# - #{meta 58470}#) - (let ((#{tmp 58472}# - ($sc-dispatch - #{body 58465}# - '(any any . each-any)))) - (if (if #{tmp 58472}# - (@apply - (lambda (#{docstring 58476}# #{e1 58477}# #{e2 58478}#) - (string? (syntax->datum #{docstring 58476}#))) - #{tmp 58472}#) - #f) - (@apply - (lambda (#{docstring 58479}# #{e1 58480}# #{e2 58481}#) - (#{parse-body 57213}# - #{req 58461}# - #{opt 58462}# - #{rest 58463}# - #{kw 58464}# - (cons #{e1 58480}# #{e2 58481}#) - #{vars 58466}# - #{r* 58467}# - #{w* 58468}# - #{inits 58469}# - (append - #{meta 58470}# - (list (cons 'documentation - (syntax->datum #{docstring 58479}#)))))) - #{tmp 58472}#) - (let ((#{tmp 58482}# - ($sc-dispatch - #{body 58465}# - '(#(vector #(each (any . any))) any . each-any)))) - (if #{tmp 58482}# - (@apply - (lambda (#{k 58486}# - #{v 58487}# - #{e1 58488}# - #{e2 58489}#) - (#{parse-body 57213}# - #{req 58461}# - #{opt 58462}# - #{rest 58463}# - #{kw 58464}# - (cons #{e1 58488}# #{e2 58489}#) - #{vars 58466}# - #{r* 58467}# - #{w* 58468}# - #{inits 58469}# - (append - #{meta 58470}# - (syntax->datum - (map cons #{k 58486}# #{v 58487}#))))) - #{tmp 58482}#) - (let ((#{tmp 58490}# - ($sc-dispatch #{body 58465}# '(any . each-any)))) - (if #{tmp 58490}# - (@apply - (lambda (#{e1 58494}# #{e2 58495}#) - (values - #{meta 58470}# - #{req 58461}# - #{opt 58462}# - #{rest 58463}# - #{kw 58464}# - #{inits 58469}# - #{vars 58466}# - (#{expand-body 28275}# - (cons #{e1 58494}# #{e2 58495}#) - (let ((#{x 58507}# - (begin - (if (if (pair? #{e 57203}#) - #{s 57206}# - #f) - (set-source-properties! - #{e 57203}# - #{s 57206}#)) - #{e 57203}#))) - (if (if (null? (car #{w 57205}#)) - (null? (cdr #{w 57205}#)) - #f) - #{x 58507}# - (if (if (vector? #{x 58507}#) - (if (= (vector-length #{x 58507}#) - 4) - (eq? (vector-ref #{x 58507}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 58539}# - (vector-ref #{x 58507}# 1)) - (#{wrap 58540}# - (let ((#{w2 58548}# - (vector-ref - #{x 58507}# - 2))) - (let ((#{m1 58549}# - (car #{w 57205}#)) - (#{s1 58550}# - (cdr #{w 57205}#))) - (if (null? #{m1 58549}#) - (if (null? #{s1 58550}#) - #{w2 58548}# - (cons (car #{w2 58548}#) - (let ((#{m2 58565}# - (cdr #{w2 58548}#))) - (if (null? #{m2 58565}#) - #{s1 58550}# - (append - #{s1 58550}# - #{m2 58565}#))))) - (cons (let ((#{m2 58573}# - (car #{w2 58548}#))) - (if (null? #{m2 58573}#) - #{m1 58549}# - (append - #{m1 58549}# - #{m2 58573}#))) - (let ((#{m2 58581}# - (cdr #{w2 58548}#))) - (if (null? #{m2 58581}#) - #{s1 58550}# - (append - #{s1 58550}# - #{m2 58581}#)))))))) - (#{module 58541}# - (vector-ref #{x 58507}# 3))) - (vector - 'syntax-object - #{expression 58539}# - #{wrap 58540}# - #{module 58541}#)) - (if (null? #{x 58507}#) - #{x 58507}# - (vector - 'syntax-object - #{x 58507}# - #{w 57205}# - #{mod 57207}#))))) - #{r* 58467}# - #{w* 58468}# - #{mod 57207}#))) - #{tmp 58490}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{body 58465}#)))))))))) - (let ((#{tmp 57215}# - ($sc-dispatch #{clauses 57209}# '()))) - (if #{tmp 57215}# - (@apply - (lambda () (values '() #f)) - #{tmp 57215}#) - (let ((#{tmp 57219}# - ($sc-dispatch - #{clauses 57209}# - '((any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 57219}# - (@apply - (lambda (#{args 57223}# - #{e1 57224}# - #{e2 57225}# - #{args* 57226}# - #{e1* 57227}# - #{e2* 57228}#) - (call-with-values - (lambda () - (#{get-formals 57208}# #{args 57223}#)) - (lambda (#{req 57229}# - #{opt 57230}# - #{rest 57231}# - #{kw 57232}#) - (call-with-values - (lambda () - (#{parse-req 57210}# - #{req 57229}# - #{opt 57230}# - #{rest 57231}# - #{kw 57232}# - (cons #{e1 57224}# #{e2 57225}#))) - (lambda (#{meta 57301}# - #{req 57302}# - #{opt 57303}# - #{rest 57304}# - #{kw 57305}# - #{inits 57306}# - #{vars 57307}# - #{body 57308}#) - (call-with-values - (lambda () - (#{expand-lambda-case 28283}# - #{e 57203}# - #{r 57204}# - #{w 57205}# - #{s 57206}# - #{mod 57207}# - #{get-formals 57208}# - (map (lambda (#{tmp 26711 57309}# - #{tmp 26710 57310}# - #{tmp 26709 57311}#) - (cons #{tmp 26709 57311}# - (cons #{tmp 26710 57310}# - #{tmp 26711 57309}#))) - #{e2* 57228}# - #{e1* 57227}# - #{args* 57226}#))) - (lambda (#{meta* 57312}# #{else* 57313}#) - (values - (append #{meta 57301}# #{meta* 57312}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{s 57206}# - #{req 57302}# - #{opt 57303}# - #{rest 57304}# - #{kw 57305}# - #{inits 57306}# - #{vars 57307}# - #{body 57308}# - #{else* 57313}#))))))))) - #{tmp 57219}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{clauses 57209}#)))))))) - (#{strip 28284}# - (lambda (#{x 58608}# #{w 58609}#) - (if (memq 'top (car #{w 58609}#)) - #{x 58608}# - (letrec* - ((#{f 58610}# - (lambda (#{x 58613}#) - (if (if (vector? #{x 58613}#) - (if (= (vector-length #{x 58613}#) 4) - (eq? (vector-ref #{x 58613}# 0) 'syntax-object) - #f) - #f) - (#{strip 28284}# - (vector-ref #{x 58613}# 1) - (vector-ref #{x 58613}# 2)) - (if (pair? #{x 58613}#) - (let ((#{a 58632}# (#{f 58610}# (car #{x 58613}#))) - (#{d 58633}# (#{f 58610}# (cdr #{x 58613}#)))) - (if (if (eq? #{a 58632}# (car #{x 58613}#)) - (eq? #{d 58633}# (cdr #{x 58613}#)) - #f) - #{x 58613}# - (cons #{a 58632}# #{d 58633}#))) - (if (vector? #{x 58613}#) - (let ((#{old 58636}# (vector->list #{x 58613}#))) - (let ((#{new 58637}# (map #{f 58610}# #{old 58636}#))) - (letrec* - ((#{lp 58638}# - (lambda (#{l1 58735}# #{l2 58736}#) - (if (null? #{l1 58735}#) - #{x 58613}# - (if (eq? (car #{l1 58735}#) - (car #{l2 58736}#)) - (#{lp 58638}# - (cdr #{l1 58735}#) - (cdr #{l2 58736}#)) - (list->vector #{new 58637}#)))))) - (#{lp 58638}# #{old 58636}# #{new 58637}#)))) - #{x 58613}#)))))) - (#{f 58610}# #{x 58608}#))))) - (#{gen-var 28285}# - (lambda (#{id 57357}#) - (let ((#{id 57358}# - (if (if (vector? #{id 57357}#) - (if (= (vector-length #{id 57357}#) 4) - (eq? (vector-ref #{id 57357}# 0) 'syntax-object) - #f) - #f) - (vector-ref #{id 57357}# 1) - #{id 57357}#))) - (gensym - (string-append (symbol->string #{id 57358}#) " "))))) - (#{lambda-var-list 28286}# - (lambda (#{vars 58737}#) - (letrec* - ((#{lvl 58738}# - (lambda (#{vars 58741}# #{ls 58742}# #{w 58743}#) - (if (pair? #{vars 58741}#) - (#{lvl 58738}# - (cdr #{vars 58741}#) - (cons (let ((#{x 58747}# (car #{vars 58741}#))) - (if (if (null? (car #{w 58743}#)) - (null? (cdr #{w 58743}#)) - #f) - #{x 58747}# - (if (if (vector? #{x 58747}#) - (if (= (vector-length #{x 58747}#) 4) - (eq? (vector-ref #{x 58747}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 58765}# - (vector-ref #{x 58747}# 1)) - (#{wrap 58766}# - (let ((#{w2 58774}# - (vector-ref #{x 58747}# 2))) - (let ((#{m1 58775}# (car #{w 58743}#)) - (#{s1 58776}# (cdr #{w 58743}#))) - (if (null? #{m1 58775}#) - (if (null? #{s1 58776}#) - #{w2 58774}# - (cons (car #{w2 58774}#) - (let ((#{m2 58791}# - (cdr #{w2 58774}#))) - (if (null? #{m2 58791}#) - #{s1 58776}# - (append - #{s1 58776}# - #{m2 58791}#))))) - (cons (let ((#{m2 58799}# - (car #{w2 58774}#))) - (if (null? #{m2 58799}#) - #{m1 58775}# - (append - #{m1 58775}# - #{m2 58799}#))) - (let ((#{m2 58807}# - (cdr #{w2 58774}#))) - (if (null? #{m2 58807}#) - #{s1 58776}# - (append - #{s1 58776}# - #{m2 58807}#)))))))) - (#{module 58767}# - (vector-ref #{x 58747}# 3))) - (vector - 'syntax-object - #{expression 58765}# - #{wrap 58766}# - #{module 58767}#)) - (if (null? #{x 58747}#) - #{x 58747}# - (vector - 'syntax-object - #{x 58747}# - #{w 58743}# - #f))))) - #{ls 58742}#) - #{w 58743}#) - (if (if (symbol? #{vars 58741}#) - #t - (if (if (vector? #{vars 58741}#) - (if (= (vector-length #{vars 58741}#) 4) - (eq? (vector-ref #{vars 58741}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{vars 58741}# 1)) - #f)) - (cons (if (if (null? (car #{w 58743}#)) - (null? (cdr #{w 58743}#)) - #f) - #{vars 58741}# - (if (if (vector? #{vars 58741}#) - (if (= (vector-length #{vars 58741}#) 4) - (eq? (vector-ref #{vars 58741}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 58877}# - (vector-ref #{vars 58741}# 1)) - (#{wrap 58878}# - (let ((#{w2 58888}# - (vector-ref #{vars 58741}# 2))) - (let ((#{m1 58889}# (car #{w 58743}#)) - (#{s1 58890}# (cdr #{w 58743}#))) - (if (null? #{m1 58889}#) - (if (null? #{s1 58890}#) - #{w2 58888}# - (cons (car #{w2 58888}#) - (let ((#{m2 58907}# - (cdr #{w2 58888}#))) - (if (null? #{m2 58907}#) - #{s1 58890}# - (append - #{s1 58890}# - #{m2 58907}#))))) - (cons (let ((#{m2 58915}# - (car #{w2 58888}#))) - (if (null? #{m2 58915}#) - #{m1 58889}# - (append - #{m1 58889}# - #{m2 58915}#))) - (let ((#{m2 58923}# - (cdr #{w2 58888}#))) - (if (null? #{m2 58923}#) - #{s1 58890}# - (append - #{s1 58890}# - #{m2 58923}#)))))))) - (#{module 58879}# - (vector-ref #{vars 58741}# 3))) - (vector - 'syntax-object - #{expression 58877}# - #{wrap 58878}# - #{module 58879}#)) - (if (null? #{vars 58741}#) - #{vars 58741}# - (vector - 'syntax-object - #{vars 58741}# - #{w 58743}# - #f)))) - #{ls 58742}#) - (if (null? #{vars 58741}#) - #{ls 58742}# - (if (if (vector? #{vars 58741}#) - (if (= (vector-length #{vars 58741}#) 4) - (eq? (vector-ref #{vars 58741}# 0) - 'syntax-object) - #f) - #f) - (#{lvl 58738}# - (vector-ref #{vars 58741}# 1) - #{ls 58742}# - (let ((#{w2 58964}# (vector-ref #{vars 58741}# 2))) - (let ((#{m1 58965}# (car #{w 58743}#)) - (#{s1 58966}# (cdr #{w 58743}#))) - (if (null? #{m1 58965}#) - (if (null? #{s1 58966}#) - #{w2 58964}# - (cons (car #{w2 58964}#) - (let ((#{m2 58977}# (cdr #{w2 58964}#))) - (if (null? #{m2 58977}#) - #{s1 58966}# - (append - #{s1 58966}# - #{m2 58977}#))))) - (cons (let ((#{m2 58985}# (car #{w2 58964}#))) - (if (null? #{m2 58985}#) - #{m1 58965}# - (append #{m1 58965}# #{m2 58985}#))) - (let ((#{m2 58993}# (cdr #{w2 58964}#))) - (if (null? #{m2 58993}#) - #{s1 58966}# - (append - #{s1 58966}# - #{m2 58993}#)))))))) - (cons #{vars 58741}# #{ls 58742}#)))))))) - (#{lvl 58738}# #{vars 58737}# '() '(())))))) - (begin - (module-define! - (current-module) - 'letrec-syntax - (make-syntax-transformer - 'letrec-syntax - 'local-syntax - #t)) - (module-define! - (current-module) - 'let-syntax - (make-syntax-transformer - 'let-syntax - 'local-syntax - #f)) - (#{global-extend 28236}# - 'core - 'syntax-parameterize - (lambda (#{e 28413}# - #{r 28414}# - #{w 28415}# - #{s 28416}# - #{mod 28417}#) - (let ((#{tmp 28419}# - ($sc-dispatch - #{e 28413}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 28419}# - (@apply - (lambda (#{var 28423}# - #{val 28424}# - #{e1 28425}# - #{e2 28426}#) - (#{valid-bound-ids? 28261}# #{var 28423}#)) - #{tmp 28419}#) - #f) - (@apply - (lambda (#{var 28511}# - #{val 28512}# - #{e1 28513}# - #{e2 28514}#) - (let ((#{names 28515}# - (map (lambda (#{x 28855}#) - (call-with-values - (lambda () - (#{resolve-identifier 28258}# - #{x 28855}# - #{w 28415}# - #{r 28414}# - #{mod 28417}# - #f)) - (lambda (#{type 28858}# - #{value 28859}# - #{mod 28860}#) - (if (eqv? #{type 28858}# 'displaced-lexical) - (syntax-violation - 'syntax-parameterize - "identifier out of context" - #{e 28413}# - (let ((#{x 28873}# - (begin - (if (if (pair? #{x 28855}#) - #{s 28416}# - #f) - (set-source-properties! - #{x 28855}# - #{s 28416}#)) - #{x 28855}#))) - (if (if (null? (car #{w 28415}#)) - (null? (cdr #{w 28415}#)) - #f) - #{x 28873}# - (if (if (vector? #{x 28873}#) - (if (= (vector-length - #{x 28873}#) - 4) - (eq? (vector-ref - #{x 28873}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 28905}# - (vector-ref - #{x 28873}# - 1)) - (#{wrap 28906}# - (let ((#{w2 28914}# - (vector-ref - #{x 28873}# - 2))) - (let ((#{m1 28915}# - (car #{w 28415}#)) - (#{s1 28916}# - (cdr #{w 28415}#))) - (if (null? #{m1 28915}#) - (if (null? #{s1 28916}#) - #{w2 28914}# - (cons (car #{w2 28914}#) - (let ((#{m2 28931}# - (cdr #{w2 28914}#))) - (if (null? #{m2 28931}#) - #{s1 28916}# - (append - #{s1 28916}# - #{m2 28931}#))))) - (cons (let ((#{m2 28939}# - (car #{w2 28914}#))) - (if (null? #{m2 28939}#) - #{m1 28915}# - (append - #{m1 28915}# - #{m2 28939}#))) - (let ((#{m2 28947}# - (cdr #{w2 28914}#))) - (if (null? #{m2 28947}#) - #{s1 28916}# - (append - #{s1 28916}# - #{m2 28947}#)))))))) - (#{module 28907}# - (vector-ref - #{x 28873}# - 3))) - (vector - 'syntax-object - #{expression 28905}# - #{wrap 28906}# - #{module 28907}#)) - (if (null? #{x 28873}#) - #{x 28873}# - (vector - 'syntax-object - #{x 28873}# - #{w 28415}# - #{mod 28860}#)))))) - (if (eqv? #{type 28858}# - 'syntax-parameter) - #{value 28859}# - (syntax-violation - 'syntax-parameterize - "invalid syntax parameter" - #{e 28413}# - (let ((#{x 28974}# - (begin - (if (if (pair? #{x 28855}#) - #{s 28416}# - #f) - (set-source-properties! - #{x 28855}# - #{s 28416}#)) - #{x 28855}#))) - (if (if (null? (car #{w 28415}#)) - (null? (cdr #{w 28415}#)) - #f) - #{x 28974}# - (if (if (vector? #{x 28974}#) - (if (= (vector-length - #{x 28974}#) - 4) - (eq? (vector-ref - #{x 28974}# - 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 29006}# - (vector-ref - #{x 28974}# - 1)) - (#{wrap 29007}# - (let ((#{w2 29015}# - (vector-ref - #{x 28974}# - 2))) - (let ((#{m1 29016}# - (car #{w 28415}#)) - (#{s1 29017}# - (cdr #{w 28415}#))) - (if (null? #{m1 29016}#) - (if (null? #{s1 29017}#) - #{w2 29015}# - (cons (car #{w2 29015}#) - (let ((#{m2 29032}# - (cdr #{w2 29015}#))) - (if (null? #{m2 29032}#) - #{s1 29017}# - (append - #{s1 29017}# - #{m2 29032}#))))) - (cons (let ((#{m2 29040}# - (car #{w2 29015}#))) - (if (null? #{m2 29040}#) - #{m1 29016}# - (append - #{m1 29016}# - #{m2 29040}#))) - (let ((#{m2 29048}# - (cdr #{w2 29015}#))) - (if (null? #{m2 29048}#) - #{s1 29017}# - (append - #{s1 29017}# - #{m2 29048}#)))))))) - (#{module 29008}# - (vector-ref - #{x 28974}# - 3))) - (vector - 'syntax-object - #{expression 29006}# - #{wrap 29007}# - #{module 29008}#)) - (if (null? #{x 28974}#) - #{x 28974}# - (vector - 'syntax-object - #{x 28974}# - #{w 28415}# - #{mod 28860}#))))))))))) - #{var 28511}#)) - (#{bindings 28516}# - (let ((#{trans-r 29063}# - (#{macros-only-env 28235}# #{r 28414}#))) - (map (lambda (#{x 29064}#) - (cons 'macro - (#{eval-local-transformer 28277}# - (#{expand 28271}# - #{x 29064}# - #{trans-r 29063}# - #{w 28415}# - #{mod 28417}#) - #{mod 28417}#))) - #{val 28512}#)))) - (#{expand-body 28275}# - (cons #{e1 28513}# #{e2 28514}#) - (let ((#{x 28528}# - (begin - (if (if (pair? #{e 28413}#) #{s 28416}# #f) - (set-source-properties! - #{e 28413}# - #{s 28416}#)) - #{e 28413}#))) - (if (if (null? (car #{w 28415}#)) - (null? (cdr #{w 28415}#)) - #f) - #{x 28528}# - (if (if (vector? #{x 28528}#) - (if (= (vector-length #{x 28528}#) 4) - (eq? (vector-ref #{x 28528}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 28560}# - (vector-ref #{x 28528}# 1)) - (#{wrap 28561}# - (let ((#{w2 28569}# - (vector-ref #{x 28528}# 2))) - (let ((#{m1 28570}# (car #{w 28415}#)) - (#{s1 28571}# (cdr #{w 28415}#))) - (if (null? #{m1 28570}#) - (if (null? #{s1 28571}#) - #{w2 28569}# - (cons (car #{w2 28569}#) - (let ((#{m2 28586}# - (cdr #{w2 28569}#))) - (if (null? #{m2 28586}#) - #{s1 28571}# - (append - #{s1 28571}# - #{m2 28586}#))))) - (cons (let ((#{m2 28594}# - (car #{w2 28569}#))) - (if (null? #{m2 28594}#) - #{m1 28570}# - (append - #{m1 28570}# - #{m2 28594}#))) - (let ((#{m2 28602}# - (cdr #{w2 28569}#))) - (if (null? #{m2 28602}#) - #{s1 28571}# - (append - #{s1 28571}# - #{m2 28602}#)))))))) - (#{module 28562}# (vector-ref #{x 28528}# 3))) - (vector - 'syntax-object - #{expression 28560}# - #{wrap 28561}# - #{module 28562}#)) - (if (null? #{x 28528}#) - #{x 28528}# - (vector - 'syntax-object - #{x 28528}# - #{w 28415}# - #{mod 28417}#))))) - (#{extend-env 28233}# - #{names 28515}# - #{bindings 28516}# - #{r 28414}#) - #{w 28415}# - #{mod 28417}#))) - #{tmp 28419}#) - (syntax-violation - 'syntax-parameterize - "bad syntax" - (let ((#{x 29284}# - (begin - (if (if (pair? #{e 28413}#) #{s 28416}# #f) - (set-source-properties! #{e 28413}# #{s 28416}#)) - #{e 28413}#))) - (if (if (null? (car #{w 28415}#)) - (null? (cdr #{w 28415}#)) - #f) - #{x 29284}# - (if (if (vector? #{x 29284}#) - (if (= (vector-length #{x 29284}#) 4) - (eq? (vector-ref #{x 29284}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 29316}# (vector-ref #{x 29284}# 1)) - (#{wrap 29317}# - (let ((#{w2 29325}# (vector-ref #{x 29284}# 2))) - (let ((#{m1 29326}# (car #{w 28415}#)) - (#{s1 29327}# (cdr #{w 28415}#))) - (if (null? #{m1 29326}#) - (if (null? #{s1 29327}#) - #{w2 29325}# - (cons (car #{w2 29325}#) - (let ((#{m2 29342}# - (cdr #{w2 29325}#))) - (if (null? #{m2 29342}#) - #{s1 29327}# - (append - #{s1 29327}# - #{m2 29342}#))))) - (cons (let ((#{m2 29350}# - (car #{w2 29325}#))) - (if (null? #{m2 29350}#) - #{m1 29326}# - (append - #{m1 29326}# - #{m2 29350}#))) - (let ((#{m2 29358}# - (cdr #{w2 29325}#))) - (if (null? #{m2 29358}#) - #{s1 29327}# - (append - #{s1 29327}# - #{m2 29358}#)))))))) - (#{module 29318}# (vector-ref #{x 29284}# 3))) - (vector - 'syntax-object - #{expression 29316}# - #{wrap 29317}# - #{module 29318}#)) - (if (null? #{x 29284}#) - #{x 29284}# - (vector - 'syntax-object - #{x 29284}# - #{w 28415}# - #{mod 28417}#)))))))))) - (module-define! - (current-module) - 'quote - (make-syntax-transformer - 'quote - 'core - (lambda (#{e 29386}# - #{r 29387}# - #{w 29388}# - #{s 29389}# - #{mod 29390}#) - (let ((#{tmp 29392}# - ($sc-dispatch #{e 29386}# '(_ any)))) - (if #{tmp 29392}# - (@apply - (lambda (#{e 29395}#) - (let ((#{exp 29399}# - (#{strip 28284}# #{e 29395}# #{w 29388}#))) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #{s 29389}# - #{exp 29399}#))) - #{tmp 29392}#) - (syntax-violation - 'quote - "bad syntax" - (let ((#{x 29413}# - (begin - (if (if (pair? #{e 29386}#) #{s 29389}# #f) - (set-source-properties! #{e 29386}# #{s 29389}#)) - #{e 29386}#))) - (if (if (null? (car #{w 29388}#)) - (null? (cdr #{w 29388}#)) - #f) - #{x 29413}# - (if (if (vector? #{x 29413}#) - (if (= (vector-length #{x 29413}#) 4) - (eq? (vector-ref #{x 29413}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 29445}# (vector-ref #{x 29413}# 1)) - (#{wrap 29446}# - (let ((#{w2 29454}# (vector-ref #{x 29413}# 2))) - (let ((#{m1 29455}# (car #{w 29388}#)) - (#{s1 29456}# (cdr #{w 29388}#))) - (if (null? #{m1 29455}#) - (if (null? #{s1 29456}#) - #{w2 29454}# - (cons (car #{w2 29454}#) - (let ((#{m2 29471}# - (cdr #{w2 29454}#))) - (if (null? #{m2 29471}#) - #{s1 29456}# - (append - #{s1 29456}# - #{m2 29471}#))))) - (cons (let ((#{m2 29479}# - (car #{w2 29454}#))) - (if (null? #{m2 29479}#) - #{m1 29455}# - (append - #{m1 29455}# - #{m2 29479}#))) - (let ((#{m2 29487}# - (cdr #{w2 29454}#))) - (if (null? #{m2 29487}#) - #{s1 29456}# - (append - #{s1 29456}# - #{m2 29487}#)))))))) - (#{module 29447}# (vector-ref #{x 29413}# 3))) - (vector - 'syntax-object - #{expression 29445}# - #{wrap 29446}# - #{module 29447}#)) - (if (null? #{x 29413}#) - #{x 29413}# - (vector - 'syntax-object - #{x 29413}# - #{w 29388}# - #{mod 29390}#))))))))))) - (#{global-extend 28236}# - 'core - 'syntax - (letrec* - ((#{gen-syntax 29705}# - (lambda (#{src 30136}# - #{e 30137}# - #{r 30138}# - #{maps 30139}# - #{ellipsis? 30140}# - #{mod 30141}#) - (if (if (symbol? #{e 30137}#) - #t - (if (if (vector? #{e 30137}#) - (if (= (vector-length #{e 30137}#) 4) - (eq? (vector-ref #{e 30137}# 0) 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{e 30137}# 1)) - #f)) - (call-with-values - (lambda () - (#{resolve-identifier 28258}# - #{e 30137}# - '(()) - #{r 30138}# - #{mod 30141}# - #f)) - (lambda (#{type 30170}# #{value 30171}# #{mod 30172}#) - (if (eqv? #{type 30170}# 'syntax) - (call-with-values - (lambda () - (#{gen-ref 29706}# - #{src 30136}# - (car #{value 30171}#) - (cdr #{value 30171}#) - #{maps 30139}#)) - (lambda (#{var 30178}# #{maps 30179}#) - (values (list 'ref #{var 30178}#) #{maps 30179}#))) - (if (#{ellipsis? 30140}# #{e 30137}#) - (syntax-violation - 'syntax - "misplaced ellipsis" - #{src 30136}#) - (values (list 'quote #{e 30137}#) #{maps 30139}#))))) - (let ((#{tmp 30181}# - ($sc-dispatch #{e 30137}# '(any any)))) - (if (if #{tmp 30181}# - (@apply - (lambda (#{dots 30185}# #{e 30186}#) - (#{ellipsis? 30140}# #{dots 30185}#)) - #{tmp 30181}#) - #f) - (@apply - (lambda (#{dots 30187}# #{e 30188}#) - (#{gen-syntax 29705}# - #{src 30136}# - #{e 30188}# - #{r 30138}# - #{maps 30139}# - (lambda (#{x 30189}#) #f) - #{mod 30141}#)) - #{tmp 30181}#) - (let ((#{tmp 30190}# - ($sc-dispatch #{e 30137}# '(any any . any)))) - (if (if #{tmp 30190}# - (@apply - (lambda (#{x 30194}# #{dots 30195}# #{y 30196}#) - (#{ellipsis? 30140}# #{dots 30195}#)) - #{tmp 30190}#) - #f) - (@apply - (lambda (#{x 30197}# #{dots 30198}# #{y 30199}#) - (letrec* - ((#{f 30200}# - (lambda (#{y 30208}# #{k 30209}#) - (let ((#{tmp 30211}# - ($sc-dispatch - #{y 30208}# - '(any . any)))) - (if (if #{tmp 30211}# - (@apply - (lambda (#{dots 30215}# - #{y 30216}#) - (#{ellipsis? 30140}# - #{dots 30215}#)) - #{tmp 30211}#) - #f) - (@apply - (lambda (#{dots 30217}# #{y 30218}#) - (#{f 30200}# - #{y 30218}# - (lambda (#{maps 30219}#) - (call-with-values - (lambda () - (#{k 30209}# - (cons '() #{maps 30219}#))) - (lambda (#{x 30220}# - #{maps 30221}#) - (if (null? (car #{maps 30221}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src 30136}#) - (values - (let ((#{map-env 30225}# - (car #{maps 30221}#))) - (list 'apply - '(primitive - append) - (#{gen-map 29708}# - #{x 30220}# - #{map-env 30225}#))) - (cdr #{maps 30221}#)))))))) - #{tmp 30211}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{src 30136}# - #{y 30208}# - #{r 30138}# - #{maps 30139}# - #{ellipsis? 30140}# - #{mod 30141}#)) - (lambda (#{y 30228}# #{maps 30229}#) - (call-with-values - (lambda () - (#{k 30209}# #{maps 30229}#)) - (lambda (#{x 30230}# - #{maps 30231}#) - (values - (if (equal? #{y 30228}# ''()) - #{x 30230}# - (list 'append - #{x 30230}# - #{y 30228}#)) - #{maps 30231}#)))))))))) - (#{f 30200}# - #{y 30199}# - (lambda (#{maps 30203}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{src 30136}# - #{x 30197}# - #{r 30138}# - (cons '() #{maps 30203}#) - #{ellipsis? 30140}# - #{mod 30141}#)) - (lambda (#{x 30204}# #{maps 30205}#) - (if (null? (car #{maps 30205}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src 30136}#) - (values - (#{gen-map 29708}# - #{x 30204}# - (car #{maps 30205}#)) - (cdr #{maps 30205}#))))))))) - #{tmp 30190}#) - (let ((#{tmp 30247}# - ($sc-dispatch #{e 30137}# '(any . any)))) - (if #{tmp 30247}# - (@apply - (lambda (#{x 30251}# #{y 30252}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{src 30136}# - #{x 30251}# - #{r 30138}# - #{maps 30139}# - #{ellipsis? 30140}# - #{mod 30141}#)) - (lambda (#{x 30253}# #{maps 30254}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{src 30136}# - #{y 30252}# - #{r 30138}# - #{maps 30254}# - #{ellipsis? 30140}# - #{mod 30141}#)) - (lambda (#{y 30255}# #{maps 30256}#) - (values - (let ((#{atom-key 30261}# - (car #{y 30255}#))) - (if (eqv? #{atom-key 30261}# 'quote) - (if (eq? (car #{x 30253}#) 'quote) - (list 'quote - (cons (car (cdr #{x 30253}#)) - (car (cdr #{y 30255}#)))) - (if (eq? (car (cdr #{y 30255}#)) - '()) - (list 'list #{x 30253}#) - (list 'cons - #{x 30253}# - #{y 30255}#))) - (if (eqv? #{atom-key 30261}# - 'list) - (cons 'list - (cons #{x 30253}# - (cdr #{y 30255}#))) - (list 'cons - #{x 30253}# - #{y 30255}#)))) - #{maps 30256}#)))))) - #{tmp 30247}#) - (let ((#{tmp 30290}# - ($sc-dispatch - #{e 30137}# - '#(vector (any . each-any))))) - (if #{tmp 30290}# - (@apply - (lambda (#{e1 30294}# #{e2 30295}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{src 30136}# - (cons #{e1 30294}# #{e2 30295}#) - #{r 30138}# - #{maps 30139}# - #{ellipsis? 30140}# - #{mod 30141}#)) - (lambda (#{e 30296}# #{maps 30297}#) - (values - (if (eq? (car #{e 30296}#) 'list) - (cons 'vector (cdr #{e 30296}#)) - (if (eq? (car #{e 30296}#) 'quote) - (list 'quote - (list->vector - (car (cdr #{e 30296}#)))) - (list 'list->vector #{e 30296}#))) - #{maps 30297}#)))) - #{tmp 30290}#) - (values - (list 'quote #{e 30137}#) - #{maps 30139}#)))))))))))) - (#{gen-ref 29706}# - (lambda (#{src 30324}# - #{var 30325}# - #{level 30326}# - #{maps 30327}#) - (if (= #{level 30326}# 0) - (values #{var 30325}# #{maps 30327}#) - (if (null? #{maps 30327}#) - (syntax-violation - 'syntax - "missing ellipsis" - #{src 30324}#) - (call-with-values - (lambda () - (#{gen-ref 29706}# - #{src 30324}# - #{var 30325}# - (#{1-}# #{level 30326}#) - (cdr #{maps 30327}#))) - (lambda (#{outer-var 30328}# #{outer-maps 30329}#) - (let ((#{b 30330}# - (assq #{outer-var 30328}# (car #{maps 30327}#)))) - (if #{b 30330}# - (values (cdr #{b 30330}#) #{maps 30327}#) - (let ((#{inner-var 30332}# - (gensym - (string-append (symbol->string 'tmp) " ")))) - (values - #{inner-var 30332}# - (cons (cons (cons #{outer-var 30328}# - #{inner-var 30332}#) - (car #{maps 30327}#)) - #{outer-maps 30329}#))))))))))) - (#{gen-map 29708}# - (lambda (#{e 30346}# #{map-env 30347}#) - (let ((#{formals 30348}# (map cdr #{map-env 30347}#)) - (#{actuals 30349}# - (map (lambda (#{x 30351}#) - (list 'ref (car #{x 30351}#))) - #{map-env 30347}#))) - (if (eq? (car #{e 30346}#) 'ref) - (car #{actuals 30349}#) - (if (and-map - (lambda (#{x 30352}#) - (if (eq? (car #{x 30352}#) 'ref) - (memq (car (cdr #{x 30352}#)) #{formals 30348}#) - #f)) - (cdr #{e 30346}#)) - (cons 'map - (cons (list 'primitive (car #{e 30346}#)) - (map (let ((#{r 30354}# - (map cons - #{formals 30348}# - #{actuals 30349}#))) - (lambda (#{x 30355}#) - (cdr (assq (car (cdr #{x 30355}#)) - #{r 30354}#)))) - (cdr #{e 30346}#)))) - (cons 'map - (cons (list 'lambda #{formals 30348}# #{e 30346}#) - #{actuals 30349}#))))))) - (#{regen 29712}# - (lambda (#{x 30357}#) - (let ((#{atom-key 30358}# (car #{x 30357}#))) - (if (eqv? #{atom-key 30358}# 'ref) - (let ((#{name 30368}# (car (cdr #{x 30357}#))) - (#{var 30369}# (car (cdr #{x 30357}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #f - #{name 30368}# - #{var 30369}#)) - (if (eqv? #{atom-key 30358}# 'primitive) - (let ((#{name 30380}# (car (cdr #{x 30357}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 2) - #f - #{name 30380}#)) - (if (eqv? #{atom-key 30358}# 'quote) - (let ((#{exp 30391}# (car (cdr #{x 30357}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - #{exp 30391}#)) - (if (eqv? #{atom-key 30358}# 'lambda) - (if (list? (car (cdr #{x 30357}#))) - (let ((#{req 30402}# (car (cdr #{x 30357}#))) - (#{vars 30404}# (car (cdr #{x 30357}#))) - (#{exp 30406}# - (#{regen 29712}# - (car (cdr (cdr #{x 30357}#)))))) - (let ((#{body 30411}# - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #f - #{req 30402}# - #f - #f - #f - '() - #{vars 30404}# - #{exp 30406}# - #f))) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #f - '() - #{body 30411}#))) - (error "how did we get here" #{x 30357}#)) - (let ((#{name 30427}# (car #{x 30357}#)) - (#{args 30428}# - (map #{regen 29712}# (cdr #{x 30357}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #f - #{name 30427}# - #{args 30428}#)))))))))) - (lambda (#{e 29713}# - #{r 29714}# - #{w 29715}# - #{s 29716}# - #{mod 29717}#) - (let ((#{e 29718}# - (let ((#{x 30047}# - (begin - (if (if (pair? #{e 29713}#) #{s 29716}# #f) - (set-source-properties! #{e 29713}# #{s 29716}#)) - #{e 29713}#))) - (if (if (null? (car #{w 29715}#)) - (null? (cdr #{w 29715}#)) - #f) - #{x 30047}# - (if (if (vector? #{x 30047}#) - (if (= (vector-length #{x 30047}#) 4) - (eq? (vector-ref #{x 30047}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 30079}# (vector-ref #{x 30047}# 1)) - (#{wrap 30080}# - (let ((#{w2 30088}# - (vector-ref #{x 30047}# 2))) - (let ((#{m1 30089}# (car #{w 29715}#)) - (#{s1 30090}# (cdr #{w 29715}#))) - (if (null? #{m1 30089}#) - (if (null? #{s1 30090}#) - #{w2 30088}# - (cons (car #{w2 30088}#) - (let ((#{m2 30105}# - (cdr #{w2 30088}#))) - (if (null? #{m2 30105}#) - #{s1 30090}# - (append - #{s1 30090}# - #{m2 30105}#))))) - (cons (let ((#{m2 30113}# - (car #{w2 30088}#))) - (if (null? #{m2 30113}#) - #{m1 30089}# - (append - #{m1 30089}# - #{m2 30113}#))) - (let ((#{m2 30121}# - (cdr #{w2 30088}#))) - (if (null? #{m2 30121}#) - #{s1 30090}# - (append - #{s1 30090}# - #{m2 30121}#)))))))) - (#{module 30081}# (vector-ref #{x 30047}# 3))) - (vector - 'syntax-object - #{expression 30079}# - #{wrap 30080}# - #{module 30081}#)) - (if (null? #{x 30047}#) - #{x 30047}# - (vector - 'syntax-object - #{x 30047}# - #{w 29715}# - #{mod 29717}#))))))) - (let ((#{tmp 29719}# #{e 29718}#)) - (let ((#{tmp 29720}# - ($sc-dispatch #{tmp 29719}# '(_ any)))) - (if #{tmp 29720}# - (@apply - (lambda (#{x 29768}#) - (call-with-values - (lambda () - (#{gen-syntax 29705}# - #{e 29718}# - #{x 29768}# - #{r 29714}# - '() - #{ellipsis? 28279}# - #{mod 29717}#)) - (lambda (#{e 29845}# #{maps 29846}#) - (#{regen 29712}# #{e 29845}#)))) - #{tmp 29720}#) - (syntax-violation - 'syntax - "bad `syntax' form" - #{e 29718}#)))))))) - (#{global-extend 28236}# - 'core - 'lambda - (lambda (#{e 30659}# - #{r 30660}# - #{w 30661}# - #{s 30662}# - #{mod 30663}#) - (let ((#{tmp 30665}# - ($sc-dispatch - #{e 30659}# - '(_ any any . each-any)))) - (if #{tmp 30665}# - (@apply - (lambda (#{args 30669}# #{e1 30670}# #{e2 30671}#) - (call-with-values - (lambda () - (#{lambda-formals 28280}# #{args 30669}#)) - (lambda (#{req 30674}# - #{opt 30675}# - #{rest 30676}# - #{kw 30677}#) - (letrec* - ((#{lp 30678}# - (lambda (#{body 30681}# #{meta 30682}#) - (let ((#{tmp 30684}# - ($sc-dispatch - #{body 30681}# - '(any any . each-any)))) - (if (if #{tmp 30684}# - (@apply - (lambda (#{docstring 30688}# - #{e1 30689}# - #{e2 30690}#) - (string? - (syntax->datum #{docstring 30688}#))) - #{tmp 30684}#) - #f) - (@apply - (lambda (#{docstring 30691}# - #{e1 30692}# - #{e2 30693}#) - (#{lp 30678}# - (cons #{e1 30692}# #{e2 30693}#) - (append - #{meta 30682}# - (list (cons 'documentation - (syntax->datum - #{docstring 30691}#)))))) - #{tmp 30684}#) - (let ((#{tmp 30694}# - ($sc-dispatch - #{body 30681}# - '(#(vector #(each (any . any))) - any - . - each-any)))) - (if #{tmp 30694}# - (@apply - (lambda (#{k 30698}# - #{v 30699}# - #{e1 30700}# - #{e2 30701}#) - (#{lp 30678}# - (cons #{e1 30700}# #{e2 30701}#) - (append - #{meta 30682}# - (syntax->datum - (map cons - #{k 30698}# - #{v 30699}#))))) - #{tmp 30694}#) - (#{expand-simple-lambda 28281}# - #{e 30659}# - #{r 30660}# - #{w 30661}# - #{s 30662}# - #{mod 30663}# - #{req 30674}# - #{rest 30676}# - #{meta 30682}# - #{body 30681}#)))))))) - (#{lp 30678}# - (cons #{e1 30670}# #{e2 30671}#) - '()))))) - #{tmp 30665}#) - (syntax-violation - 'lambda - "bad lambda" - #{e 30659}#))))) - (#{global-extend 28236}# - 'core - 'lambda* - (lambda (#{e 31081}# - #{r 31082}# - #{w 31083}# - #{s 31084}# - #{mod 31085}#) - (let ((#{tmp 31087}# - ($sc-dispatch - #{e 31081}# - '(_ any any . each-any)))) - (if #{tmp 31087}# - (@apply - (lambda (#{args 31091}# #{e1 31092}# #{e2 31093}#) - (call-with-values - (lambda () - (#{expand-lambda-case 28283}# - #{e 31081}# - #{r 31082}# - #{w 31083}# - #{s 31084}# - #{mod 31085}# - #{lambda*-formals 28282}# - (list (cons #{args 31091}# - (cons #{e1 31092}# #{e2 31093}#))))) - (lambda (#{meta 31096}# #{lcase 31097}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{s 31084}# - #{meta 31096}# - #{lcase 31097}#)))) - #{tmp 31087}#) - (syntax-violation - 'lambda - "bad lambda*" - #{e 31081}#))))) - (#{global-extend 28236}# - 'core - 'case-lambda - (lambda (#{e 31260}# - #{r 31261}# - #{w 31262}# - #{s 31263}# - #{mod 31264}#) - (let ((#{tmp 31266}# - ($sc-dispatch - #{e 31260}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 31266}# - (@apply - (lambda (#{args 31270}# - #{e1 31271}# - #{e2 31272}# - #{args* 31273}# - #{e1* 31274}# - #{e2* 31275}#) - (call-with-values - (lambda () - (#{expand-lambda-case 28283}# - #{e 31260}# - #{r 31261}# - #{w 31262}# - #{s 31263}# - #{mod 31264}# - #{lambda-formals 28280}# - (cons (cons #{args 31270}# - (cons #{e1 31271}# #{e2 31272}#)) - (map (lambda (#{tmp 27210 31278}# - #{tmp 27209 31279}# - #{tmp 27208 31280}#) - (cons #{tmp 27208 31280}# - (cons #{tmp 27209 31279}# - #{tmp 27210 31278}#))) - #{e2* 31275}# - #{e1* 31274}# - #{args* 31273}#)))) - (lambda (#{meta 31281}# #{lcase 31282}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{s 31263}# - #{meta 31281}# - #{lcase 31282}#)))) - #{tmp 31266}#) - (syntax-violation - 'case-lambda - "bad case-lambda" - #{e 31260}#))))) - (#{global-extend 28236}# - 'core - 'case-lambda* - (lambda (#{e 31451}# - #{r 31452}# - #{w 31453}# - #{s 31454}# - #{mod 31455}#) - (let ((#{tmp 31457}# - ($sc-dispatch - #{e 31451}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 31457}# - (@apply - (lambda (#{args 31461}# - #{e1 31462}# - #{e2 31463}# - #{args* 31464}# - #{e1* 31465}# - #{e2* 31466}#) - (call-with-values - (lambda () - (#{expand-lambda-case 28283}# - #{e 31451}# - #{r 31452}# - #{w 31453}# - #{s 31454}# - #{mod 31455}# - #{lambda*-formals 28282}# - (cons (cons #{args 31461}# - (cons #{e1 31462}# #{e2 31463}#)) - (map (lambda (#{tmp 27245 31469}# - #{tmp 27244 31470}# - #{tmp 27243 31471}#) - (cons #{tmp 27243 31471}# - (cons #{tmp 27244 31470}# - #{tmp 27245 31469}#))) - #{e2* 31466}# - #{e1* 31465}# - #{args* 31464}#)))) - (lambda (#{meta 31472}# #{lcase 31473}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{s 31454}# - #{meta 31472}# - #{lcase 31473}#)))) - #{tmp 31457}#) - (syntax-violation - 'case-lambda - "bad case-lambda*" - #{e 31451}#))))) - (#{global-extend 28236}# - 'core - 'let - (letrec* - ((#{expand-let 31681}# - (lambda (#{e 31891}# - #{r 31892}# - #{w 31893}# - #{s 31894}# - #{mod 31895}# - #{constructor 31896}# - #{ids 31897}# - #{vals 31898}# - #{exps 31899}#) - (if (not (#{valid-bound-ids? 28261}# #{ids 31897}#)) - (syntax-violation - 'let - "duplicate bound variable" - #{e 31891}#) - (let ((#{labels 31984}# - (#{gen-labels 28241}# #{ids 31897}#)) - (#{new-vars 31985}# - (map #{gen-var 28285}# #{ids 31897}#))) - (let ((#{nw 31986}# - (#{make-binding-wrap 28252}# - #{ids 31897}# - #{labels 31984}# - #{w 31893}#)) - (#{nr 31987}# - (#{extend-var-env 28234}# - #{labels 31984}# - #{new-vars 31985}# - #{r 31892}#))) - (#{constructor 31896}# - #{s 31894}# - (map syntax->datum #{ids 31897}#) - #{new-vars 31985}# - (map (lambda (#{x 32004}#) - (#{expand 28271}# - #{x 32004}# - #{r 31892}# - #{w 31893}# - #{mod 31895}#)) - #{vals 31898}#) - (#{expand-body 28275}# - #{exps 31899}# - (#{source-wrap 28265}# - #{e 31891}# - #{nw 31986}# - #{s 31894}# - #{mod 31895}#) - #{nr 31987}# - #{nw 31986}# - #{mod 31895}#)))))))) - (lambda (#{e 31682}# - #{r 31683}# - #{w 31684}# - #{s 31685}# - #{mod 31686}#) - (let ((#{tmp 31688}# - ($sc-dispatch - #{e 31682}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 31688}# - (@apply - (lambda (#{id 31692}# - #{val 31693}# - #{e1 31694}# - #{e2 31695}#) - (and-map #{id? 28238}# #{id 31692}#)) - #{tmp 31688}#) - #f) - (@apply - (lambda (#{id 31711}# - #{val 31712}# - #{e1 31713}# - #{e2 31714}#) - (#{expand-let 31681}# - #{e 31682}# - #{r 31683}# - #{w 31684}# - #{s 31685}# - #{mod 31686}# - (lambda (#{src 31718}# - #{ids 31719}# - #{vars 31720}# - #{val-exps 31721}# - #{body-exp 31722}#) - (begin - (for-each - #{maybe-name-value! 28203}# - #{ids 31719}# - #{val-exps 31721}#) - (if (null? #{vars 31720}#) - #{body-exp 31722}# - (make-struct/no-tail - (vector-ref %expanded-vtables 16) - #{src 31718}# - #{ids 31719}# - #{vars 31720}# - #{val-exps 31721}# - #{body-exp 31722}#)))) - #{id 31711}# - #{val 31712}# - (cons #{e1 31713}# #{e2 31714}#))) - #{tmp 31688}#) - (let ((#{tmp 31729}# - ($sc-dispatch - #{e 31682}# - '(_ any #(each (any any)) any . each-any)))) - (if (if #{tmp 31729}# - (@apply - (lambda (#{f 31733}# - #{id 31734}# - #{val 31735}# - #{e1 31736}# - #{e2 31737}#) - (if (if (symbol? #{f 31733}#) - #t - (if (if (vector? #{f 31733}#) - (if (= (vector-length #{f 31733}#) 4) - (eq? (vector-ref #{f 31733}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{f 31733}# 1)) - #f)) - (and-map #{id? 28238}# #{id 31734}#) - #f)) - #{tmp 31729}#) - #f) - (@apply - (lambda (#{f 31779}# - #{id 31780}# - #{val 31781}# - #{e1 31782}# - #{e2 31783}#) - (#{expand-let 31681}# - #{e 31682}# - #{r 31683}# - #{w 31684}# - #{s 31685}# - #{mod 31686}# - #{build-named-let 28222}# - (cons #{f 31779}# #{id 31780}#) - #{val 31781}# - (cons #{e1 31782}# #{e2 31783}#))) - #{tmp 31729}#) - (syntax-violation - 'let - "bad let" - (let ((#{x 31796}# - (begin - (if (if (pair? #{e 31682}#) #{s 31685}# #f) - (set-source-properties! - #{e 31682}# - #{s 31685}#)) - #{e 31682}#))) - (if (if (null? (car #{w 31684}#)) - (null? (cdr #{w 31684}#)) - #f) - #{x 31796}# - (if (if (vector? #{x 31796}#) - (if (= (vector-length #{x 31796}#) 4) - (eq? (vector-ref #{x 31796}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 31828}# - (vector-ref #{x 31796}# 1)) - (#{wrap 31829}# - (let ((#{w2 31837}# - (vector-ref #{x 31796}# 2))) - (let ((#{m1 31838}# (car #{w 31684}#)) - (#{s1 31839}# (cdr #{w 31684}#))) - (if (null? #{m1 31838}#) - (if (null? #{s1 31839}#) - #{w2 31837}# - (cons (car #{w2 31837}#) - (let ((#{m2 31854}# - (cdr #{w2 31837}#))) - (if (null? #{m2 31854}#) - #{s1 31839}# - (append - #{s1 31839}# - #{m2 31854}#))))) - (cons (let ((#{m2 31862}# - (car #{w2 31837}#))) - (if (null? #{m2 31862}#) - #{m1 31838}# - (append - #{m1 31838}# - #{m2 31862}#))) - (let ((#{m2 31870}# - (cdr #{w2 31837}#))) - (if (null? #{m2 31870}#) - #{s1 31839}# - (append - #{s1 31839}# - #{m2 31870}#)))))))) - (#{module 31830}# (vector-ref #{x 31796}# 3))) - (vector - 'syntax-object - #{expression 31828}# - #{wrap 31829}# - #{module 31830}#)) - (if (null? #{x 31796}#) - #{x 31796}# - (vector - 'syntax-object - #{x 31796}# - #{w 31684}# - #{mod 31686}#))))))))))))) - (#{global-extend 28236}# - 'core - 'letrec - (lambda (#{e 32475}# - #{r 32476}# - #{w 32477}# - #{s 32478}# - #{mod 32479}#) - (let ((#{tmp 32481}# - ($sc-dispatch - #{e 32475}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 32481}# - (@apply - (lambda (#{id 32485}# - #{val 32486}# - #{e1 32487}# - #{e2 32488}#) - (and-map #{id? 28238}# #{id 32485}#)) - #{tmp 32481}#) - #f) - (@apply - (lambda (#{id 32504}# - #{val 32505}# - #{e1 32506}# - #{e2 32507}#) - (if (not (#{valid-bound-ids? 28261}# #{id 32504}#)) - (syntax-violation - 'letrec - "duplicate bound variable" - #{e 32475}#) - (let ((#{labels 32604}# - (#{gen-labels 28241}# #{id 32504}#)) - (#{new-vars 32605}# - (map #{gen-var 28285}# #{id 32504}#))) - (let ((#{w 32606}# - (#{make-binding-wrap 28252}# - #{id 32504}# - #{labels 32604}# - #{w 32477}#)) - (#{r 32607}# - (#{extend-var-env 28234}# - #{labels 32604}# - #{new-vars 32605}# - #{r 32476}#))) - (#{build-letrec 28223}# - #{s 32478}# - #f - (map syntax->datum #{id 32504}#) - #{new-vars 32605}# - (map (lambda (#{x 32686}#) - (#{expand 28271}# - #{x 32686}# - #{r 32607}# - #{w 32606}# - #{mod 32479}#)) - #{val 32505}#) - (#{expand-body 28275}# - (cons #{e1 32506}# #{e2 32507}#) - (let ((#{x 32748}# - (begin - (if (if (pair? #{e 32475}#) #{s 32478}# #f) - (set-source-properties! - #{e 32475}# - #{s 32478}#)) - #{e 32475}#))) - (if (if (null? (car #{w 32606}#)) - (null? (cdr #{w 32606}#)) - #f) - #{x 32748}# - (if (if (vector? #{x 32748}#) - (if (= (vector-length #{x 32748}#) 4) - (eq? (vector-ref #{x 32748}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 32780}# - (vector-ref #{x 32748}# 1)) - (#{wrap 32781}# - (let ((#{w2 32789}# - (vector-ref #{x 32748}# 2))) - (let ((#{m1 32790}# - (car #{w 32606}#)) - (#{s1 32791}# - (cdr #{w 32606}#))) - (if (null? #{m1 32790}#) - (if (null? #{s1 32791}#) - #{w2 32789}# - (cons (car #{w2 32789}#) - (let ((#{m2 32806}# - (cdr #{w2 32789}#))) - (if (null? #{m2 32806}#) - #{s1 32791}# - (append - #{s1 32791}# - #{m2 32806}#))))) - (cons (let ((#{m2 32814}# - (car #{w2 32789}#))) - (if (null? #{m2 32814}#) - #{m1 32790}# - (append - #{m1 32790}# - #{m2 32814}#))) - (let ((#{m2 32822}# - (cdr #{w2 32789}#))) - (if (null? #{m2 32822}#) - #{s1 32791}# - (append - #{s1 32791}# - #{m2 32822}#)))))))) - (#{module 32782}# - (vector-ref #{x 32748}# 3))) - (vector - 'syntax-object - #{expression 32780}# - #{wrap 32781}# - #{module 32782}#)) - (if (null? #{x 32748}#) - #{x 32748}# - (vector - 'syntax-object - #{x 32748}# - #{w 32606}# - #{mod 32479}#))))) - #{r 32607}# - #{w 32606}# - #{mod 32479}#)))))) - #{tmp 32481}#) - (syntax-violation - 'letrec - "bad letrec" - (let ((#{x 33061}# - (begin - (if (if (pair? #{e 32475}#) #{s 32478}# #f) - (set-source-properties! #{e 32475}# #{s 32478}#)) - #{e 32475}#))) - (if (if (null? (car #{w 32477}#)) - (null? (cdr #{w 32477}#)) - #f) - #{x 33061}# - (if (if (vector? #{x 33061}#) - (if (= (vector-length #{x 33061}#) 4) - (eq? (vector-ref #{x 33061}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 33093}# (vector-ref #{x 33061}# 1)) - (#{wrap 33094}# - (let ((#{w2 33102}# (vector-ref #{x 33061}# 2))) - (let ((#{m1 33103}# (car #{w 32477}#)) - (#{s1 33104}# (cdr #{w 32477}#))) - (if (null? #{m1 33103}#) - (if (null? #{s1 33104}#) - #{w2 33102}# - (cons (car #{w2 33102}#) - (let ((#{m2 33119}# - (cdr #{w2 33102}#))) - (if (null? #{m2 33119}#) - #{s1 33104}# - (append - #{s1 33104}# - #{m2 33119}#))))) - (cons (let ((#{m2 33127}# - (car #{w2 33102}#))) - (if (null? #{m2 33127}#) - #{m1 33103}# - (append - #{m1 33103}# - #{m2 33127}#))) - (let ((#{m2 33135}# - (cdr #{w2 33102}#))) - (if (null? #{m2 33135}#) - #{s1 33104}# - (append - #{s1 33104}# - #{m2 33135}#)))))))) - (#{module 33095}# (vector-ref #{x 33061}# 3))) - (vector - 'syntax-object - #{expression 33093}# - #{wrap 33094}# - #{module 33095}#)) - (if (null? #{x 33061}#) - #{x 33061}# - (vector - 'syntax-object - #{x 33061}# - #{w 32477}# - #{mod 32479}#)))))))))) - (#{global-extend 28236}# - 'core - 'letrec* - (lambda (#{e 33286}# - #{r 33287}# - #{w 33288}# - #{s 33289}# - #{mod 33290}#) - (let ((#{tmp 33292}# - ($sc-dispatch - #{e 33286}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 33292}# - (@apply - (lambda (#{id 33296}# - #{val 33297}# - #{e1 33298}# - #{e2 33299}#) - (and-map #{id? 28238}# #{id 33296}#)) - #{tmp 33292}#) - #f) - (@apply - (lambda (#{id 33315}# - #{val 33316}# - #{e1 33317}# - #{e2 33318}#) - (if (not (#{valid-bound-ids? 28261}# #{id 33315}#)) - (syntax-violation - 'letrec* - "duplicate bound variable" - #{e 33286}#) - (let ((#{labels 33415}# - (#{gen-labels 28241}# #{id 33315}#)) - (#{new-vars 33416}# - (map #{gen-var 28285}# #{id 33315}#))) - (let ((#{w 33417}# - (#{make-binding-wrap 28252}# - #{id 33315}# - #{labels 33415}# - #{w 33288}#)) - (#{r 33418}# - (#{extend-var-env 28234}# - #{labels 33415}# - #{new-vars 33416}# - #{r 33287}#))) - (#{build-letrec 28223}# - #{s 33289}# - #t - (map syntax->datum #{id 33315}#) - #{new-vars 33416}# - (map (lambda (#{x 33497}#) - (#{expand 28271}# - #{x 33497}# - #{r 33418}# - #{w 33417}# - #{mod 33290}#)) - #{val 33316}#) - (#{expand-body 28275}# - (cons #{e1 33317}# #{e2 33318}#) - (let ((#{x 33559}# - (begin - (if (if (pair? #{e 33286}#) #{s 33289}# #f) - (set-source-properties! - #{e 33286}# - #{s 33289}#)) - #{e 33286}#))) - (if (if (null? (car #{w 33417}#)) - (null? (cdr #{w 33417}#)) - #f) - #{x 33559}# - (if (if (vector? #{x 33559}#) - (if (= (vector-length #{x 33559}#) 4) - (eq? (vector-ref #{x 33559}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 33591}# - (vector-ref #{x 33559}# 1)) - (#{wrap 33592}# - (let ((#{w2 33600}# - (vector-ref #{x 33559}# 2))) - (let ((#{m1 33601}# - (car #{w 33417}#)) - (#{s1 33602}# - (cdr #{w 33417}#))) - (if (null? #{m1 33601}#) - (if (null? #{s1 33602}#) - #{w2 33600}# - (cons (car #{w2 33600}#) - (let ((#{m2 33617}# - (cdr #{w2 33600}#))) - (if (null? #{m2 33617}#) - #{s1 33602}# - (append - #{s1 33602}# - #{m2 33617}#))))) - (cons (let ((#{m2 33625}# - (car #{w2 33600}#))) - (if (null? #{m2 33625}#) - #{m1 33601}# - (append - #{m1 33601}# - #{m2 33625}#))) - (let ((#{m2 33633}# - (cdr #{w2 33600}#))) - (if (null? #{m2 33633}#) - #{s1 33602}# - (append - #{s1 33602}# - #{m2 33633}#)))))))) - (#{module 33593}# - (vector-ref #{x 33559}# 3))) - (vector - 'syntax-object - #{expression 33591}# - #{wrap 33592}# - #{module 33593}#)) - (if (null? #{x 33559}#) - #{x 33559}# - (vector - 'syntax-object - #{x 33559}# - #{w 33417}# - #{mod 33290}#))))) - #{r 33418}# - #{w 33417}# - #{mod 33290}#)))))) - #{tmp 33292}#) - (syntax-violation - 'letrec* - "bad letrec*" - (let ((#{x 33872}# - (begin - (if (if (pair? #{e 33286}#) #{s 33289}# #f) - (set-source-properties! #{e 33286}# #{s 33289}#)) - #{e 33286}#))) - (if (if (null? (car #{w 33288}#)) - (null? (cdr #{w 33288}#)) - #f) - #{x 33872}# - (if (if (vector? #{x 33872}#) - (if (= (vector-length #{x 33872}#) 4) - (eq? (vector-ref #{x 33872}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 33904}# (vector-ref #{x 33872}# 1)) - (#{wrap 33905}# - (let ((#{w2 33913}# (vector-ref #{x 33872}# 2))) - (let ((#{m1 33914}# (car #{w 33288}#)) - (#{s1 33915}# (cdr #{w 33288}#))) - (if (null? #{m1 33914}#) - (if (null? #{s1 33915}#) - #{w2 33913}# - (cons (car #{w2 33913}#) - (let ((#{m2 33930}# - (cdr #{w2 33913}#))) - (if (null? #{m2 33930}#) - #{s1 33915}# - (append - #{s1 33915}# - #{m2 33930}#))))) - (cons (let ((#{m2 33938}# - (car #{w2 33913}#))) - (if (null? #{m2 33938}#) - #{m1 33914}# - (append - #{m1 33914}# - #{m2 33938}#))) - (let ((#{m2 33946}# - (cdr #{w2 33913}#))) - (if (null? #{m2 33946}#) - #{s1 33915}# - (append - #{s1 33915}# - #{m2 33946}#)))))))) - (#{module 33906}# (vector-ref #{x 33872}# 3))) - (vector - 'syntax-object - #{expression 33904}# - #{wrap 33905}# - #{module 33906}#)) - (if (null? #{x 33872}#) - #{x 33872}# - (vector - 'syntax-object - #{x 33872}# - #{w 33288}# - #{mod 33290}#)))))))))) - (#{global-extend 28236}# - 'core - 'set! - (lambda (#{e 34105}# - #{r 34106}# - #{w 34107}# - #{s 34108}# - #{mod 34109}#) - (let ((#{tmp 34111}# - ($sc-dispatch #{e 34105}# '(_ any any)))) - (if (if #{tmp 34111}# - (@apply - (lambda (#{id 34115}# #{val 34116}#) - (if (symbol? #{id 34115}#) - #t - (if (if (vector? #{id 34115}#) - (if (= (vector-length #{id 34115}#) 4) - (eq? (vector-ref #{id 34115}# 0) 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{id 34115}# 1)) - #f))) - #{tmp 34111}#) - #f) - (@apply - (lambda (#{id 34143}# #{val 34144}#) - (call-with-values - (lambda () - (#{resolve-identifier 28258}# - #{id 34143}# - #{w 34107}# - #{r 34106}# - #{mod 34109}# - #t)) - (lambda (#{type 34147}# #{value 34148}# #{id-mod 34149}#) - (if (eqv? #{type 34147}# 'lexical) - (#{build-lexical-assignment 28209}# - #{s 34108}# - (syntax->datum #{id 34143}#) - #{value 34148}# - (#{expand 28271}# - #{val 34144}# - #{r 34106}# - #{w 34107}# - #{mod 34109}#)) - (if (eqv? #{type 34147}# 'global) - (#{build-global-assignment 28212}# - #{s 34108}# - #{value 34148}# - (#{expand 28271}# - #{val 34144}# - #{r 34106}# - #{w 34107}# - #{mod 34109}#) - #{id-mod 34149}#) - (if (eqv? #{type 34147}# 'macro) - (if (procedure-property - #{value 34148}# - 'variable-transformer) - (#{expand 28271}# - (#{expand-macro 28274}# - #{value 34148}# - #{e 34105}# - #{r 34106}# - #{w 34107}# - #{s 34108}# - #f - #{mod 34109}#) - #{r 34106}# - '(()) - #{mod 34109}#) - (syntax-violation - 'set! - "not a variable transformer" - (if (if (null? (car #{w 34107}#)) - (null? (cdr #{w 34107}#)) - #f) - #{e 34105}# - (if (if (vector? #{e 34105}#) - (if (= (vector-length #{e 34105}#) 4) - (eq? (vector-ref #{e 34105}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 34589}# - (vector-ref #{e 34105}# 1)) - (#{wrap 34590}# - (let ((#{w2 34600}# - (vector-ref #{e 34105}# 2))) - (let ((#{m1 34601}# - (car #{w 34107}#)) - (#{s1 34602}# - (cdr #{w 34107}#))) - (if (null? #{m1 34601}#) - (if (null? #{s1 34602}#) - #{w2 34600}# - (cons (car #{w2 34600}#) - (let ((#{m2 34619}# - (cdr #{w2 34600}#))) - (if (null? #{m2 34619}#) - #{s1 34602}# - (append - #{s1 34602}# - #{m2 34619}#))))) - (cons (let ((#{m2 34627}# - (car #{w2 34600}#))) - (if (null? #{m2 34627}#) - #{m1 34601}# - (append - #{m1 34601}# - #{m2 34627}#))) - (let ((#{m2 34635}# - (cdr #{w2 34600}#))) - (if (null? #{m2 34635}#) - #{s1 34602}# - (append - #{s1 34602}# - #{m2 34635}#)))))))) - (#{module 34591}# - (vector-ref #{e 34105}# 3))) - (vector - 'syntax-object - #{expression 34589}# - #{wrap 34590}# - #{module 34591}#)) - (if (null? #{e 34105}#) - #{e 34105}# - (vector - 'syntax-object - #{e 34105}# - #{w 34107}# - #{mod 34109}#)))) - (if (if (null? (car #{w 34107}#)) - (null? (cdr #{w 34107}#)) - #f) - #{id 34143}# - (if (if (vector? #{id 34143}#) - (if (= (vector-length #{id 34143}#) 4) - (eq? (vector-ref #{id 34143}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 34687}# - (vector-ref #{id 34143}# 1)) - (#{wrap 34688}# - (let ((#{w2 34698}# - (vector-ref #{id 34143}# 2))) - (let ((#{m1 34699}# - (car #{w 34107}#)) - (#{s1 34700}# - (cdr #{w 34107}#))) - (if (null? #{m1 34699}#) - (if (null? #{s1 34700}#) - #{w2 34698}# - (cons (car #{w2 34698}#) - (let ((#{m2 34717}# - (cdr #{w2 34698}#))) - (if (null? #{m2 34717}#) - #{s1 34700}# - (append - #{s1 34700}# - #{m2 34717}#))))) - (cons (let ((#{m2 34725}# - (car #{w2 34698}#))) - (if (null? #{m2 34725}#) - #{m1 34699}# - (append - #{m1 34699}# - #{m2 34725}#))) - (let ((#{m2 34733}# - (cdr #{w2 34698}#))) - (if (null? #{m2 34733}#) - #{s1 34700}# - (append - #{s1 34700}# - #{m2 34733}#)))))))) - (#{module 34689}# - (vector-ref #{id 34143}# 3))) - (vector - 'syntax-object - #{expression 34687}# - #{wrap 34688}# - #{module 34689}#)) - (if (null? #{id 34143}#) - #{id 34143}# - (vector - 'syntax-object - #{id 34143}# - #{w 34107}# - #{id-mod 34149}#)))))) - (if (eqv? #{type 34147}# 'displaced-lexical) - (syntax-violation - 'set! - "identifier out of context" - (if (if (null? (car #{w 34107}#)) - (null? (cdr #{w 34107}#)) - #f) - #{id 34143}# - (if (if (vector? #{id 34143}#) - (if (= (vector-length #{id 34143}#) 4) - (eq? (vector-ref #{id 34143}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 34788}# - (vector-ref #{id 34143}# 1)) - (#{wrap 34789}# - (let ((#{w2 34799}# - (vector-ref #{id 34143}# 2))) - (let ((#{m1 34800}# - (car #{w 34107}#)) - (#{s1 34801}# - (cdr #{w 34107}#))) - (if (null? #{m1 34800}#) - (if (null? #{s1 34801}#) - #{w2 34799}# - (cons (car #{w2 34799}#) - (let ((#{m2 34818}# - (cdr #{w2 34799}#))) - (if (null? #{m2 34818}#) - #{s1 34801}# - (append - #{s1 34801}# - #{m2 34818}#))))) - (cons (let ((#{m2 34826}# - (car #{w2 34799}#))) - (if (null? #{m2 34826}#) - #{m1 34800}# - (append - #{m1 34800}# - #{m2 34826}#))) - (let ((#{m2 34834}# - (cdr #{w2 34799}#))) - (if (null? #{m2 34834}#) - #{s1 34801}# - (append - #{s1 34801}# - #{m2 34834}#)))))))) - (#{module 34790}# - (vector-ref #{id 34143}# 3))) - (vector - 'syntax-object - #{expression 34788}# - #{wrap 34789}# - #{module 34790}#)) - (if (null? #{id 34143}#) - #{id 34143}# - (vector - 'syntax-object - #{id 34143}# - #{w 34107}# - #{mod 34109}#))))) - (syntax-violation - 'set! - "bad set!" - (let ((#{x 34866}# - (begin - (if (if (pair? #{e 34105}#) - #{s 34108}# - #f) - (set-source-properties! - #{e 34105}# - #{s 34108}#)) - #{e 34105}#))) - (if (if (null? (car #{w 34107}#)) - (null? (cdr #{w 34107}#)) - #f) - #{x 34866}# - (if (if (vector? #{x 34866}#) - (if (= (vector-length #{x 34866}#) 4) - (eq? (vector-ref #{x 34866}# 0) - 'syntax-object) - #f) - #f) - (let ((#{expression 34898}# - (vector-ref #{x 34866}# 1)) - (#{wrap 34899}# - (let ((#{w2 34907}# - (vector-ref - #{x 34866}# - 2))) - (let ((#{m1 34908}# - (car #{w 34107}#)) - (#{s1 34909}# - (cdr #{w 34107}#))) - (if (null? #{m1 34908}#) - (if (null? #{s1 34909}#) - #{w2 34907}# - (cons (car #{w2 34907}#) - (let ((#{m2 34924}# - (cdr #{w2 34907}#))) - (if (null? #{m2 34924}#) - #{s1 34909}# - (append - #{s1 34909}# - #{m2 34924}#))))) - (cons (let ((#{m2 34932}# - (car #{w2 34907}#))) - (if (null? #{m2 34932}#) - #{m1 34908}# - (append - #{m1 34908}# - #{m2 34932}#))) - (let ((#{m2 34940}# - (cdr #{w2 34907}#))) - (if (null? #{m2 34940}#) - #{s1 34909}# - (append - #{s1 34909}# - #{m2 34940}#)))))))) - (#{module 34900}# - (vector-ref #{x 34866}# 3))) - (vector - 'syntax-object - #{expression 34898}# - #{wrap 34899}# - #{module 34900}#)) - (if (null? #{x 34866}#) - #{x 34866}# - (vector - 'syntax-object - #{x 34866}# - #{w 34107}# - #{mod 34109}#))))))))))))) - #{tmp 34111}#) - (let ((#{tmp 34955}# - ($sc-dispatch - #{e 34105}# - '(_ (any . each-any) any)))) - (if #{tmp 34955}# - (@apply - (lambda (#{head 34959}# #{tail 34960}# #{val 34961}#) - (call-with-values - (lambda () - (#{syntax-type 28270}# - #{head 34959}# - #{r 34106}# - '(()) - #f - #f - #{mod 34109}# - #t)) - (lambda (#{type 34964}# - #{value 34965}# - #{ee 34966}# - #{ww 34967}# - #{ss 34968}# - #{modmod 34969}#) - (if (eqv? #{type 34964}# 'module-ref) - (let ((#{val 34973}# - (#{expand 28271}# - #{val 34961}# - #{r 34106}# - #{w 34107}# - #{mod 34109}#))) - (call-with-values - (lambda () - (#{value 34965}# - (cons #{head 34959}# #{tail 34960}#) - #{r 34106}# - #{w 34107}#)) - (lambda (#{e 34974}# - #{r 34975}# - #{w 34976}# - #{s* 34977}# - #{mod 34978}#) - (let ((#{tmp 34980}# (list #{e 34974}#))) - (if (@apply - (lambda (#{e 34982}#) - (if (symbol? #{e 34982}#) - #t - (if (if (vector? #{e 34982}#) - (if (= (vector-length - #{e 34982}#) - 4) - (eq? (vector-ref - #{e 34982}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{e 34982}# 1)) - #f))) - #{tmp 34980}#) - (@apply - (lambda (#{e 35012}#) - (#{build-global-assignment 28212}# - #{s 34108}# - (syntax->datum #{e 35012}#) - #{val 34973}# - #{mod 34978}#)) - #{tmp 34980}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 34974}#)))))) - (#{build-call 28205}# - #{s 34108}# - (#{expand 28271}# - (list '#(syntax-object - setter - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(type value ee ww ss modmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i27483" - "i27484" - "i27485" - "i27486" - "i27487" - "i27488")) - #(ribcage - #(head tail val) - #((top) (top) (top)) - #("i27469" "i27470" "i27471")) - #(ribcage () () ()) - #(ribcage - #(e r w s mod) - #((top) (top) (top) (top) (top)) - #("i27441" - "i27442" - "i27443" - "i27444" - "i27445")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #{head 34959}#) - #{r 34106}# - #{w 34107}# - #{mod 34109}#) - (map (lambda (#{e 35325}#) - (#{expand 28271}# - #{e 35325}# - #{r 34106}# - #{w 34107}# - #{mod 34109}#)) - (append - #{tail 34960}# - (list #{val 34961}#)))))))) - #{tmp 34955}#) - (syntax-violation - 'set! - "bad set!" - (let ((#{x 35413}# - (begin - (if (if (pair? #{e 34105}#) #{s 34108}# #f) - (set-source-properties! #{e 34105}# #{s 34108}#)) - #{e 34105}#))) - (if (if (null? (car #{w 34107}#)) - (null? (cdr #{w 34107}#)) - #f) - #{x 35413}# - (if (if (vector? #{x 35413}#) - (if (= (vector-length #{x 35413}#) 4) - (eq? (vector-ref #{x 35413}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 35445}# (vector-ref #{x 35413}# 1)) - (#{wrap 35446}# - (let ((#{w2 35454}# - (vector-ref #{x 35413}# 2))) - (let ((#{m1 35455}# (car #{w 34107}#)) - (#{s1 35456}# (cdr #{w 34107}#))) - (if (null? #{m1 35455}#) - (if (null? #{s1 35456}#) - #{w2 35454}# - (cons (car #{w2 35454}#) - (let ((#{m2 35471}# - (cdr #{w2 35454}#))) - (if (null? #{m2 35471}#) - #{s1 35456}# - (append - #{s1 35456}# - #{m2 35471}#))))) - (cons (let ((#{m2 35479}# - (car #{w2 35454}#))) - (if (null? #{m2 35479}#) - #{m1 35455}# - (append - #{m1 35455}# - #{m2 35479}#))) - (let ((#{m2 35487}# - (cdr #{w2 35454}#))) - (if (null? #{m2 35487}#) - #{s1 35456}# - (append - #{s1 35456}# - #{m2 35487}#)))))))) - (#{module 35447}# (vector-ref #{x 35413}# 3))) - (vector - 'syntax-object - #{expression 35445}# - #{wrap 35446}# - #{module 35447}#)) - (if (null? #{x 35413}#) - #{x 35413}# - (vector - 'syntax-object - #{x 35413}# - #{w 34107}# - #{mod 34109}#)))))))))))) - (module-define! - (current-module) - '@ - (make-syntax-transformer - '@ - 'module-ref - (lambda (#{e 35518}# #{r 35519}# #{w 35520}#) - (let ((#{tmp 35522}# - ($sc-dispatch #{e 35518}# '(_ each-any any)))) - (if (if #{tmp 35522}# - (@apply - (lambda (#{mod 35525}# #{id 35526}#) - (if (and-map #{id? 28238}# #{mod 35525}#) - (if (symbol? #{id 35526}#) - #t - (if (if (vector? #{id 35526}#) - (if (= (vector-length #{id 35526}#) 4) - (eq? (vector-ref #{id 35526}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{id 35526}# 1)) - #f)) - #f)) - #{tmp 35522}#) - #f) - (@apply - (lambda (#{mod 35566}# #{id 35567}#) - (values - (syntax->datum #{id 35567}#) - #{r 35519}# - #{w 35520}# - #f - (syntax->datum - (cons '#(syntax-object - public - ((top) - #(ribcage - #(mod id) - #((top) (top)) - #("i27530" "i27531")) - #(ribcage () () ()) - #(ribcage - #(e r w) - #((top) (top) (top)) - #("i27518" "i27519" "i27520")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #{mod 35566}#)))) - #{tmp 35522}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 35518}#)))))) - (#{global-extend 28236}# - 'module-ref - '@@ - (lambda (#{e 35667}# #{r 35668}# #{w 35669}#) - (letrec* - ((#{remodulate 35670}# - (lambda (#{x 35888}# #{mod 35889}#) - (if (pair? #{x 35888}#) - (cons (#{remodulate 35670}# - (car #{x 35888}#) - #{mod 35889}#) - (#{remodulate 35670}# - (cdr #{x 35888}#) - #{mod 35889}#)) - (if (if (vector? #{x 35888}#) - (if (= (vector-length #{x 35888}#) 4) - (eq? (vector-ref #{x 35888}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 35903}# - (#{remodulate 35670}# - (vector-ref #{x 35888}# 1) - #{mod 35889}#)) - (#{wrap 35904}# (vector-ref #{x 35888}# 2))) - (vector - 'syntax-object - #{expression 35903}# - #{wrap 35904}# - #{mod 35889}#)) - (if (vector? #{x 35888}#) - (let ((#{n 35912}# (vector-length #{x 35888}#))) - (let ((#{v 35913}# (make-vector #{n 35912}#))) - (letrec* - ((#{loop 35914}# - (lambda (#{i 35969}#) - (if (= #{i 35969}# #{n 35912}#) - #{v 35913}# - (begin - (vector-set! - #{v 35913}# - #{i 35969}# - (#{remodulate 35670}# - (vector-ref #{x 35888}# #{i 35969}#) - #{mod 35889}#)) - (#{loop 35914}# (#{1+}# #{i 35969}#))))))) - (#{loop 35914}# 0)))) - #{x 35888}#)))))) - (let ((#{tmp 35672}# - ($sc-dispatch #{e 35667}# '(_ each-any any)))) - (if (if #{tmp 35672}# - (@apply - (lambda (#{mod 35676}# #{exp 35677}#) - (and-map #{id? 28238}# #{mod 35676}#)) - #{tmp 35672}#) - #f) - (@apply - (lambda (#{mod 35693}# #{exp 35694}#) - (let ((#{mod 35695}# - (syntax->datum - (cons '#(syntax-object - private - ((top) - #(ribcage - #(mod exp) - #((top) (top)) - #("i27574" "i27575")) - #(ribcage - (remodulate) - ((top)) - ("i27541")) - #(ribcage - #(e r w) - #((top) (top) (top)) - #("i27538" "i27539" "i27540")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #{mod 35693}#)))) - (values - (#{remodulate 35670}# - #{exp 35694}# - #{mod 35695}#) - #{r 35668}# - #{w 35669}# - (#{source-annotation 28232}# #{exp 35694}#) - #{mod 35695}#))) - #{tmp 35672}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 35667}#)))))) - (#{global-extend 28236}# - 'core - 'if - (lambda (#{e 36078}# - #{r 36079}# - #{w 36080}# - #{s 36081}# - #{mod 36082}#) - (let ((#{tmp 36084}# - ($sc-dispatch #{e 36078}# '(_ any any)))) - (if #{tmp 36084}# - (@apply - (lambda (#{test 36088}# #{then 36089}#) - (#{build-conditional 28206}# - #{s 36081}# - (#{expand 28271}# - #{test 36088}# - #{r 36079}# - #{w 36080}# - #{mod 36082}#) - (#{expand 28271}# - #{then 36089}# - #{r 36079}# - #{w 36080}# - #{mod 36082}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #f))) - #{tmp 36084}#) - (let ((#{tmp 36338}# - ($sc-dispatch #{e 36078}# '(_ any any any)))) - (if #{tmp 36338}# - (@apply - (lambda (#{test 36342}# #{then 36343}# #{else 36344}#) - (#{build-conditional 28206}# - #{s 36081}# - (#{expand 28271}# - #{test 36342}# - #{r 36079}# - #{w 36080}# - #{mod 36082}#) - (#{expand 28271}# - #{then 36343}# - #{r 36079}# - #{w 36080}# - #{mod 36082}#) - (#{expand 28271}# - #{else 36344}# - #{r 36079}# - #{w 36080}# - #{mod 36082}#))) - #{tmp 36338}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 36078}#))))))) - (#{global-extend 28236}# - 'core - 'with-fluids - (lambda (#{e 36783}# - #{r 36784}# - #{w 36785}# - #{s 36786}# - #{mod 36787}#) - (let ((#{tmp 36789}# - ($sc-dispatch - #{e 36783}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp 36789}# - (@apply - (lambda (#{fluid 36793}# - #{val 36794}# - #{b 36795}# - #{b* 36796}#) - (#{build-dynlet 28207}# - #{s 36786}# - (map (lambda (#{x 36885}#) - (#{expand 28271}# - #{x 36885}# - #{r 36784}# - #{w 36785}# - #{mod 36787}#)) - #{fluid 36793}#) - (map (lambda (#{x 36963}#) - (#{expand 28271}# - #{x 36963}# - #{r 36784}# - #{w 36785}# - #{mod 36787}#)) - #{val 36794}#) - (#{expand-body 28275}# - (cons #{b 36795}# #{b* 36796}#) - (let ((#{x 37052}# - (begin - (if (if (pair? #{e 36783}#) #{s 36786}# #f) - (set-source-properties! - #{e 36783}# - #{s 36786}#)) - #{e 36783}#))) - (if (if (null? (car #{w 36785}#)) - (null? (cdr #{w 36785}#)) - #f) - #{x 37052}# - (if (if (vector? #{x 37052}#) - (if (= (vector-length #{x 37052}#) 4) - (eq? (vector-ref #{x 37052}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 37084}# - (vector-ref #{x 37052}# 1)) - (#{wrap 37085}# - (let ((#{w2 37093}# - (vector-ref #{x 37052}# 2))) - (let ((#{m1 37094}# (car #{w 36785}#)) - (#{s1 37095}# (cdr #{w 36785}#))) - (if (null? #{m1 37094}#) - (if (null? #{s1 37095}#) - #{w2 37093}# - (cons (car #{w2 37093}#) - (let ((#{m2 37110}# - (cdr #{w2 37093}#))) - (if (null? #{m2 37110}#) - #{s1 37095}# - (append - #{s1 37095}# - #{m2 37110}#))))) - (cons (let ((#{m2 37118}# - (car #{w2 37093}#))) - (if (null? #{m2 37118}#) - #{m1 37094}# - (append - #{m1 37094}# - #{m2 37118}#))) - (let ((#{m2 37126}# - (cdr #{w2 37093}#))) - (if (null? #{m2 37126}#) - #{s1 37095}# - (append - #{s1 37095}# - #{m2 37126}#)))))))) - (#{module 37086}# (vector-ref #{x 37052}# 3))) - (vector - 'syntax-object - #{expression 37084}# - #{wrap 37085}# - #{module 37086}#)) - (if (null? #{x 37052}#) - #{x 37052}# - (vector - 'syntax-object - #{x 37052}# - #{w 36785}# - #{mod 36787}#))))) - #{r 36784}# - #{w 36785}# - #{mod 36787}#))) - #{tmp 36789}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{e 36783}#))))) - (module-define! - (current-module) - 'begin - (make-syntax-transformer 'begin 'begin '())) - (module-define! - (current-module) - 'define - (make-syntax-transformer 'define 'define '())) - (module-define! - (current-module) - 'define-syntax - (make-syntax-transformer - 'define-syntax - 'define-syntax - '())) - (module-define! - (current-module) - 'define-syntax-parameter - (make-syntax-transformer - 'define-syntax-parameter - 'define-syntax-parameter - '())) - (module-define! - (current-module) - 'eval-when - (make-syntax-transformer - 'eval-when - 'eval-when - '())) - (#{global-extend 28236}# - 'core - 'syntax-case - (letrec* - ((#{convert-pattern 37426}# - (lambda (#{pattern 39048}# #{keys 39049}#) - (letrec* - ((#{cvt* 39050}# - (lambda (#{p* 39849}# #{n 39850}# #{ids 39851}#) - (if (not (pair? #{p* 39849}#)) - (#{cvt 39052}# - #{p* 39849}# - #{n 39850}# - #{ids 39851}#) - (call-with-values - (lambda () - (#{cvt* 39050}# - (cdr #{p* 39849}#) - #{n 39850}# - #{ids 39851}#)) - (lambda (#{y 39854}# #{ids 39855}#) - (call-with-values - (lambda () - (#{cvt 39052}# - (car #{p* 39849}#) - #{n 39850}# - #{ids 39855}#)) - (lambda (#{x 39858}# #{ids 39859}#) - (values - (cons #{x 39858}# #{y 39854}#) - #{ids 39859}#)))))))) - (#{v-reverse 39051}# - (lambda (#{x 39860}#) - (letrec* - ((#{loop 39861}# - (lambda (#{r 39962}# #{x 39963}#) - (if (not (pair? #{x 39963}#)) - (values #{r 39962}# #{x 39963}#) - (#{loop 39861}# - (cons (car #{x 39963}#) #{r 39962}#) - (cdr #{x 39963}#)))))) - (#{loop 39861}# '() #{x 39860}#)))) - (#{cvt 39052}# - (lambda (#{p 39055}# #{n 39056}# #{ids 39057}#) - (if (if (symbol? #{p 39055}#) - #t - (if (if (vector? #{p 39055}#) - (if (= (vector-length #{p 39055}#) 4) - (eq? (vector-ref #{p 39055}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{p 39055}# 1)) - #f)) - (if (#{bound-id-member? 28263}# - #{p 39055}# - #{keys 39049}#) - (values - (vector 'free-id #{p 39055}#) - #{ids 39057}#) - (if (#{free-id=? 28259}# - #{p 39055}# - '#(syntax-object - _ - ((top) - #(ribcage () () ()) - #(ribcage - #(p n ids) - #((top) (top) (top)) - #("i27675" "i27676" "i27677")) - #(ribcage - (cvt v-reverse cvt*) - ((top) (top) (top)) - ("i27648" "i27646" "i27644")) - #(ribcage - #(pattern keys) - #((top) (top)) - #("i27642" "i27643")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i27638" "i27636" "i27634" "i27632")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile))) - (values '_ #{ids 39057}#) - (values - 'any - (cons (cons #{p 39055}# #{n 39056}#) - #{ids 39057}#)))) - (let ((#{tmp 39189}# - ($sc-dispatch #{p 39055}# '(any any)))) - (if (if #{tmp 39189}# - (@apply - (lambda (#{x 39193}# #{dots 39194}#) - (if (if (if (vector? #{dots 39194}#) - (if (= (vector-length - #{dots 39194}#) - 4) - (eq? (vector-ref - #{dots 39194}# - 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{dots 39194}# 1)) - #f) - (#{free-id=? 28259}# - #{dots 39194}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i26166")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile))) - #f)) - #{tmp 39189}#) - #f) - (@apply - (lambda (#{x 39233}# #{dots 39234}#) - (call-with-values - (lambda () - (#{cvt 39052}# - #{x 39233}# - (#{1+}# #{n 39056}#) - #{ids 39057}#)) - (lambda (#{p 39235}# #{ids 39236}#) - (values - (if (eq? #{p 39235}# 'any) - 'each-any - (vector 'each #{p 39235}#)) - #{ids 39236}#)))) - #{tmp 39189}#) - (let ((#{tmp 39237}# - ($sc-dispatch #{p 39055}# '(any any . any)))) - (if (if #{tmp 39237}# - (@apply - (lambda (#{x 39241}# - #{dots 39242}# - #{ys 39243}#) - (if (if (if (vector? #{dots 39242}#) - (if (= (vector-length - #{dots 39242}#) - 4) - (eq? (vector-ref - #{dots 39242}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{dots 39242}# 1)) - #f) - (#{free-id=? 28259}# - #{dots 39242}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i26166")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile))) - #f)) - #{tmp 39237}#) - #f) - (@apply - (lambda (#{x 39282}# - #{dots 39283}# - #{ys 39284}#) - (call-with-values - (lambda () - (#{cvt* 39050}# - #{ys 39284}# - #{n 39056}# - #{ids 39057}#)) - (lambda (#{ys 39769}# #{ids 39770}#) - (call-with-values - (lambda () - (#{cvt 39052}# - #{x 39282}# - (#{1+}# #{n 39056}#) - #{ids 39770}#)) - (lambda (#{x 39771}# #{ids 39772}#) - (call-with-values - (lambda () - (#{v-reverse 39051}# - #{ys 39769}#)) - (lambda (#{ys 39808}# #{e 39809}#) - (values + e-25084 + 2))) + (let ((m1-26115 + (car w-25086)) + (s1-26116 + (cdr w-25086))) + (if (null? m1-26115) + (if (null? s1-26116) + w2-26114 + (cons (car w2-26114) + (let ((m2-26133 + (cdr w2-26114))) + (if (null? m2-26133) + s1-26116 + (append + s1-26116 + m2-26133))))) + (cons (let ((m2-26141 + (car w2-26114))) + (if (null? m2-26141) + m1-26115 + (append + m1-26115 + m2-26141))) + (let ((m2-26149 + (cdr w2-26114))) + (if (null? m2-26149) + s1-26116 + (append + s1-26116 + m2-26149)))))))) + (module-26105 + (vector-ref + e-25084 + 3))) + (vector + 'syntax-object + expression-26103 + wrap-26104 + module-26105)) + (if (null? e-25084) + e-25084 + (vector + 'syntax-object + e-25084 + w-25086 + mod-25089)))) + '(#(syntax-object + if + ((top) + #(ribcage + #(name) + #((top)) + #("l-*-2034")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(ftype + fval + fform + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1973" + "l-*-1974" + "l-*-1975" + "l-*-1976" + "l-*-1977" + "l-*-1978" + "l-*-1979")) + #(ribcage () () ()) + #(ribcage + #(first) + #((top)) + #("l-*-1964")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1943" + "l-*-1944" + "l-*-1945" + "l-*-1946" + "l-*-1947" + "l-*-1948" + "l-*-1949")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage + () + () + ())) + (hygiene guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("l-*-2034")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(ftype + fval + fform + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1973" + "l-*-1974" + "l-*-1975" + "l-*-1976" + "l-*-1977" + "l-*-1978" + "l-*-1979")) + #(ribcage () () ()) + #(ribcage + #(first) + #((top)) + #("l-*-1964")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1943" + "l-*-1944" + "l-*-1945" + "l-*-1946" + "l-*-1947" + "l-*-1948" + "l-*-1949")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage + () + () + ())) + (hygiene guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("l-*-2034")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(ftype + fval + fform + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1973" + "l-*-1974" + "l-*-1975" + "l-*-1976" + "l-*-1977" + "l-*-1978" + "l-*-1979")) + #(ribcage () () ()) + #(ribcage + #(first) + #((top)) + #("l-*-1964")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("l-*-1943" + "l-*-1944" + "l-*-1945" + "l-*-1946" + "l-*-1947" + "l-*-1948" + "l-*-1949")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage + () + () + ())) + (hygiene guile))) + '(()) + s-25087 + mod-25089)) + tmp-25944) + (syntax-violation + #f + "source expression failed to match any pattern" + e-25084))))))) + (if (eqv? ftype-25106 'define-syntax) + (let ((tmp-26188 + ($sc-dispatch + e-25084 + '(_ any any)))) + (if (if tmp-26188 + (@apply + (lambda (name-26192 val-26193) + (if (symbol? name-26192) + #t + (if (if (vector? + name-26192) + (if (= (vector-length + name-26192) + 4) + (eq? (vector-ref + name-26192 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + name-26192 + 1)) + #f))) + tmp-26188) + #f) + (@apply + (lambda (name-26220 val-26221) + (values + 'define-syntax-form + name-26220 + e-25084 + val-26221 + w-25086 + s-25087 + mod-25089)) + tmp-26188) + (syntax-violation + #f + "source expression failed to match any pattern" + e-25084))) + (if (eqv? ftype-25106 + 'define-syntax-parameter) + (let ((tmp-26232 + ($sc-dispatch + e-25084 + '(_ any any)))) + (if (if tmp-26232 + (@apply + (lambda (name-26236 + val-26237) + (if (symbol? name-26236) + #t + (if (if (vector? + name-26236) + (if (= (vector-length + name-26236) + 4) + (eq? (vector-ref + name-26236 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + name-26236 + 1)) + #f))) + tmp-26232) + #f) + (@apply + (lambda (name-26264 val-26265) + (values + 'define-syntax-parameter-form + name-26264 + e-25084 + val-26265 + w-25086 + s-25087 + mod-25089)) + tmp-26232) + (syntax-violation + #f + "source expression failed to match any pattern" + e-25084))) + (values + 'call + #f + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089))))))))))))))) + (if (if (vector? e-25084) + (if (= (vector-length e-25084) 4) + (eq? (vector-ref e-25084 0) 'syntax-object) + #f) + #f) + (syntax-type-4585 + (vector-ref e-25084 1) + r-25085 + (let ((w2-26290 (vector-ref e-25084 2))) + (let ((m1-26291 (car w-25086)) + (s1-26292 (cdr w-25086))) + (if (null? m1-26291) + (if (null? s1-26292) + w2-26290 + (cons (car w2-26290) + (let ((m2-26303 (cdr w2-26290))) + (if (null? m2-26303) + s1-26292 + (append s1-26292 m2-26303))))) + (cons (let ((m2-26311 (car w2-26290))) + (if (null? m2-26311) + m1-26291 + (append m1-26291 m2-26311))) + (let ((m2-26319 (cdr w2-26290))) + (if (null? m2-26319) + s1-26292 + (append s1-26292 m2-26319))))))) + (let ((t-26324 (source-annotation-4544 e-25084))) + (if t-26324 t-26324 s-25087)) + rib-25088 + (let ((t-26600 (vector-ref e-25084 3))) + (if t-26600 t-26600 mod-25089)) + for-car?-25090) + (if (self-evaluating? e-25084) + (values + 'constant + #f + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089) + (values + 'other + #f + e-25084 + e-25084 + w-25086 + s-25087 + mod-25089))))))) + (expand-4586 + (lambda (e-26609 r-26610 w-26611 mod-26612) + (call-with-values + (lambda () + (syntax-type-4585 + e-26609 + r-26610 + w-26611 + (source-annotation-4544 e-26609) + #f + mod-26612 + #f)) + (lambda (type-26798 + value-26799 + form-26800 + e-26801 + w-26802 + s-26803 + mod-26804) + (expand-expr-4587 + type-26798 + value-26799 + form-26800 + e-26801 + r-26610 + w-26802 + s-26803 + mod-26804))))) + (expand-expr-4587 + (lambda (type-26807 + value-26808 + form-26809 + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814) + (if (eqv? type-26807 'lexical) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + s-26813 + e-26810 + value-26808) + (if (if (eqv? type-26807 'core) + #t + (eqv? type-26807 'core-form)) + (value-26808 + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814) + (if (eqv? type-26807 'module-ref) + (call-with-values + (lambda () (value-26808 e-26810 r-26811 w-26812)) + (lambda (e-26840 r-26841 w-26842 s-26843 mod-26844) + (expand-4586 e-26840 r-26841 w-26842 mod-26844))) + (if (eqv? type-26807 'lexical-call) + (expand-call-4588 + (let ((id-27017 (car e-26810))) + (build-lexical-reference-4520 + 'fun + (source-annotation-4544 id-27017) + (if (if (vector? id-27017) + (if (= (vector-length id-27017) 4) + (eq? (vector-ref id-27017 0) 'syntax-object) + #f) + #f) + (syntax->datum id-27017) + id-27017) + value-26808)) + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814) + (if (eqv? type-26807 'global-call) + (expand-call-4588 + (build-global-reference-4523 + (source-annotation-4544 (car e-26810)) + (if (if (vector? value-26808) + (if (= (vector-length value-26808) 4) + (eq? (vector-ref value-26808 0) 'syntax-object) + #f) + #f) + (vector-ref value-26808 1) + value-26808) + (if (if (vector? value-26808) + (if (= (vector-length value-26808) 4) + (eq? (vector-ref value-26808 0) 'syntax-object) + #f) + #f) + (vector-ref value-26808 3) + mod-26814)) + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814) + (if (eqv? type-26807 'constant) + (let ((exp-27691 + (strip-4599 + (let ((x-27704 + (begin + (if (if (pair? e-26810) s-26813 #f) + (set-source-properties! + e-26810 + s-26813)) + e-26810))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-27704 + (if (if (vector? x-27704) + (if (= (vector-length x-27704) 4) + (eq? (vector-ref x-27704 0) + 'syntax-object) + #f) + #f) + (let ((expression-27736 + (vector-ref x-27704 1)) + (wrap-27737 + (let ((w2-27745 + (vector-ref x-27704 2))) + (let ((m1-27746 (car w-26812)) + (s1-27747 (cdr w-26812))) + (if (null? m1-27746) + (if (null? s1-27747) + w2-27745 + (cons (car w2-27745) + (let ((m2-27762 + (cdr w2-27745))) + (if (null? m2-27762) + s1-27747 + (append + s1-27747 + m2-27762))))) + (cons (let ((m2-27770 + (car w2-27745))) + (if (null? m2-27770) + m1-27746 + (append + m1-27746 + m2-27770))) + (let ((m2-27778 + (cdr w2-27745))) + (if (null? m2-27778) + s1-27747 + (append + s1-27747 + m2-27778)))))))) + (module-27738 + (vector-ref x-27704 3))) + (vector + 'syntax-object + expression-27736 + wrap-27737 + module-27738)) + (if (null? x-27704) + x-27704 + (vector + 'syntax-object + x-27704 + w-26812 + mod-26814))))) + '(())))) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + s-26813 + exp-27691)) + (if (eqv? type-26807 'global) + (analyze-variable-4522 + mod-26814 + value-26808 + (lambda (mod-27803 var-27804 public?-27805) + (make-struct/no-tail + (vector-ref %expanded-vtables 5) + s-26813 + mod-27803 + var-27804 + public?-27805)) + (lambda (var-27813) + (make-struct/no-tail + (vector-ref %expanded-vtables 7) + s-26813 + var-27813))) + (if (eqv? type-26807 'call) + (expand-call-4588 + (expand-4586 + (car e-26810) + r-26811 + w-26812 + mod-26814) + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814) + (if (eqv? type-26807 'begin-form) + (let ((tmp-27983 + ($sc-dispatch e-26810 '(_ any . each-any)))) + (if tmp-27983 + (@apply + (lambda (e1-27987 e2-27988) + (expand-sequence-4581 + (cons e1-27987 e2-27988) + r-26811 + w-26812 + s-26813 + mod-26814)) + tmp-27983) + (let ((tmp-28083 ($sc-dispatch e-26810 '(_)))) + (if tmp-28083 + (@apply + (lambda () + (syntax-violation + #f + "sequence of zero expressions" + (let ((x-28096 + (begin + (if (if (pair? e-26810) + s-26813 + #f) + (set-source-properties! + e-26810 + s-26813)) + e-26810))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-28096 + (if (if (vector? x-28096) + (if (= (vector-length + x-28096) + 4) + (eq? (vector-ref + x-28096 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-28128 + (vector-ref x-28096 1)) + (wrap-28129 + (let ((w2-28137 + (vector-ref + x-28096 + 2))) + (let ((m1-28138 + (car w-26812)) + (s1-28139 + (cdr w-26812))) + (if (null? m1-28138) + (if (null? s1-28139) + w2-28137 + (cons (car w2-28137) + (let ((m2-28154 + (cdr w2-28137))) + (if (null? m2-28154) + s1-28139 + (append + s1-28139 + m2-28154))))) + (cons (let ((m2-28162 + (car w2-28137))) + (if (null? m2-28162) + m1-28138 + (append + m1-28138 + m2-28162))) + (let ((m2-28170 + (cdr w2-28137))) + (if (null? m2-28170) + s1-28139 + (append + s1-28139 + m2-28170)))))))) + (module-28130 + (vector-ref x-28096 3))) + (vector + 'syntax-object + expression-28128 + wrap-28129 + module-28130)) + (if (null? x-28096) + x-28096 + (vector + 'syntax-object + x-28096 + w-26812 + mod-26814))))))) + tmp-28083) + (syntax-violation + #f + "source expression failed to match any pattern" + e-26810))))) + (if (eqv? type-26807 'local-syntax-form) + (expand-local-syntax-4591 + value-26808 + e-26810 + r-26811 + w-26812 + s-26813 + mod-26814 + expand-sequence-4581) + (if (eqv? type-26807 'eval-when-form) + (let ((tmp-28265 + ($sc-dispatch + e-26810 + '(_ each-any any . each-any)))) + (if tmp-28265 + (@apply + (lambda (x-28269 e1-28270 e2-28271) + (let ((when-list-28272 + (parse-when-list-4584 + e-26810 + x-28269))) + (if (memq 'eval when-list-28272) + (expand-sequence-4581 + (cons e1-28270 e2-28271) + r-26811 + w-26812 + s-26813 + mod-26814) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + #f)))) + tmp-28265) + (syntax-violation + #f + "source expression failed to match any pattern" + e-26810))) + (if (if (eqv? type-26807 'define-form) + #t + (if (eqv? type-26807 'define-syntax-form) + #t + (eqv? type-26807 + 'define-syntax-parameter-form))) + (syntax-violation + #f + "definition in expression context, where definitions are not allowed," + (let ((x-28458 + (begin + (if (if (pair? form-26809) + s-26813 + #f) + (set-source-properties! + form-26809 + s-26813)) + form-26809))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-28458 + (if (if (vector? x-28458) + (if (= (vector-length x-28458) 4) + (eq? (vector-ref x-28458 0) + 'syntax-object) + #f) + #f) + (let ((expression-28490 + (vector-ref x-28458 1)) + (wrap-28491 + (let ((w2-28499 + (vector-ref + x-28458 + 2))) + (let ((m1-28500 + (car w-26812)) + (s1-28501 + (cdr w-26812))) + (if (null? m1-28500) + (if (null? s1-28501) + w2-28499 + (cons (car w2-28499) + (let ((m2-28516 + (cdr w2-28499))) + (if (null? m2-28516) + s1-28501 + (append + s1-28501 + m2-28516))))) + (cons (let ((m2-28524 + (car w2-28499))) + (if (null? m2-28524) + m1-28500 + (append + m1-28500 + m2-28524))) + (let ((m2-28532 + (cdr w2-28499))) + (if (null? m2-28532) + s1-28501 + (append + s1-28501 + m2-28532)))))))) + (module-28492 + (vector-ref x-28458 3))) + (vector + 'syntax-object + expression-28490 + wrap-28491 + module-28492)) + (if (null? x-28458) + x-28458 + (vector + 'syntax-object + x-28458 + w-26812 + mod-26814)))))) + (if (eqv? type-26807 'syntax) + (syntax-violation + #f + "reference to pattern variable outside syntax form" + (let ((x-28559 + (begin + (if (if (pair? e-26810) + s-26813 + #f) + (set-source-properties! + e-26810 + s-26813)) + e-26810))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-28559 + (if (if (vector? x-28559) + (if (= (vector-length x-28559) + 4) + (eq? (vector-ref x-28559 0) + 'syntax-object) + #f) + #f) + (let ((expression-28591 + (vector-ref x-28559 1)) + (wrap-28592 + (let ((w2-28600 + (vector-ref + x-28559 + 2))) + (let ((m1-28601 + (car w-26812)) + (s1-28602 + (cdr w-26812))) + (if (null? m1-28601) + (if (null? s1-28602) + w2-28600 + (cons (car w2-28600) + (let ((m2-28617 + (cdr w2-28600))) + (if (null? m2-28617) + s1-28602 + (append + s1-28602 + m2-28617))))) + (cons (let ((m2-28625 + (car w2-28600))) + (if (null? m2-28625) + m1-28601 + (append + m1-28601 + m2-28625))) + (let ((m2-28633 + (cdr w2-28600))) + (if (null? m2-28633) + s1-28602 + (append + s1-28602 + m2-28633)))))))) + (module-28593 + (vector-ref x-28559 3))) + (vector + 'syntax-object + expression-28591 + wrap-28592 + module-28593)) + (if (null? x-28559) + x-28559 + (vector + 'syntax-object + x-28559 + w-26812 + mod-26814)))))) + (if (eqv? type-26807 'displaced-lexical) + (syntax-violation + #f + "reference to identifier outside its scope" + (let ((x-28660 + (begin + (if (if (pair? e-26810) + s-26813 + #f) + (set-source-properties! + e-26810 + s-26813)) + e-26810))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-28660 + (if (if (vector? x-28660) + (if (= (vector-length x-28660) + 4) + (eq? (vector-ref x-28660 0) + 'syntax-object) + #f) + #f) + (let ((expression-28692 + (vector-ref x-28660 1)) + (wrap-28693 + (let ((w2-28701 + (vector-ref + x-28660 + 2))) + (let ((m1-28702 + (car w-26812)) + (s1-28703 + (cdr w-26812))) + (if (null? m1-28702) + (if (null? s1-28703) + w2-28701 + (cons (car w2-28701) + (let ((m2-28718 + (cdr w2-28701))) + (if (null? m2-28718) + s1-28703 + (append + s1-28703 + m2-28718))))) + (cons (let ((m2-28726 + (car w2-28701))) + (if (null? m2-28726) + m1-28702 + (append + m1-28702 + m2-28726))) + (let ((m2-28734 + (cdr w2-28701))) + (if (null? m2-28734) + s1-28703 + (append + s1-28703 + m2-28734)))))))) + (module-28694 + (vector-ref x-28660 3))) + (vector + 'syntax-object + expression-28692 + wrap-28693 + module-28694)) + (if (null? x-28660) + x-28660 + (vector + 'syntax-object + x-28660 + w-26812 + mod-26814)))))) + (syntax-violation + #f + "unexpected syntax" + (let ((x-28758 + (begin + (if (if (pair? e-26810) + s-26813 + #f) + (set-source-properties! + e-26810 + s-26813)) + e-26810))) + (if (if (null? (car w-26812)) + (null? (cdr w-26812)) + #f) + x-28758 + (if (if (vector? x-28758) + (if (= (vector-length x-28758) + 4) + (eq? (vector-ref x-28758 0) + 'syntax-object) + #f) + #f) + (let ((expression-28790 + (vector-ref x-28758 1)) + (wrap-28791 + (let ((w2-28799 + (vector-ref + x-28758 + 2))) + (let ((m1-28800 + (car w-26812)) + (s1-28801 + (cdr w-26812))) + (if (null? m1-28800) + (if (null? s1-28801) + w2-28799 + (cons (car w2-28799) + (let ((m2-28816 + (cdr w2-28799))) + (if (null? m2-28816) + s1-28801 + (append + s1-28801 + m2-28816))))) + (cons (let ((m2-28824 + (car w2-28799))) + (if (null? m2-28824) + m1-28800 + (append + m1-28800 + m2-28824))) + (let ((m2-28832 + (cdr w2-28799))) + (if (null? m2-28832) + s1-28801 + (append + s1-28801 + m2-28832)))))))) + (module-28792 + (vector-ref x-28758 3))) + (vector + 'syntax-object + expression-28790 + wrap-28791 + module-28792)) + (if (null? x-28758) + x-28758 + (vector + 'syntax-object + x-28758 + w-26812 + mod-26814)))))))))))))))))))))) + (expand-call-4588 + (lambda (x-28847 + e-28848 + r-28849 + w-28850 + s-28851 + mod-28852) + (let ((tmp-28854 + ($sc-dispatch e-28848 '(any . each-any)))) + (if tmp-28854 + (@apply + (lambda (e0-28858 e1-28859) + (build-call-4517 + s-28851 + x-28847 + (map (lambda (e-28947) + (expand-4586 e-28947 r-28849 w-28850 mod-28852)) + e1-28859))) + tmp-28854) + (syntax-violation + #f + "source expression failed to match any pattern" + e-28848))))) + (expand-macro-4589 + (lambda (p-29031 + e-29032 + r-29033 + w-29034 + s-29035 + rib-29036 + mod-29037) + (letrec* + ((rebuild-macro-output-29038 + (lambda (x-29147 m-29148) + (if (pair? x-29147) + (let ((e-29152 + (cons (rebuild-macro-output-29038 + (car x-29147) + m-29148) + (rebuild-macro-output-29038 + (cdr x-29147) + m-29148)))) + (begin + (if (if (pair? e-29152) s-29035 #f) + (set-source-properties! e-29152 s-29035)) + e-29152)) + (if (if (vector? x-29147) + (if (= (vector-length x-29147) 4) + (eq? (vector-ref x-29147 0) 'syntax-object) + #f) + #f) + (let ((w-29168 (vector-ref x-29147 2))) + (let ((ms-29169 (car w-29168)) + (s-29170 (cdr w-29168))) + (if (if (pair? ms-29169) (eq? (car ms-29169) #f) #f) + (let ((expression-29178 (vector-ref x-29147 1)) + (wrap-29179 + (cons (cdr ms-29169) + (if rib-29036 + (cons rib-29036 (cdr s-29170)) + (cdr s-29170)))) + (module-29180 (vector-ref x-29147 3))) + (vector + 'syntax-object + expression-29178 + wrap-29179 + module-29180)) + (let ((expression-29190 + (let ((e-29195 (vector-ref x-29147 1))) + (begin + (if (if (pair? e-29195) s-29170 #f) + (set-source-properties! + e-29195 + s-29170)) + e-29195))) + (wrap-29191 + (cons (cons m-29148 ms-29169) + (if rib-29036 + (cons rib-29036 + (cons 'shift s-29170)) + (cons 'shift s-29170)))) + (module-29192 (vector-ref x-29147 3))) + (vector + 'syntax-object + expression-29190 + wrap-29191 + module-29192))))) + (if (vector? x-29147) + (let ((n-29207 (vector-length x-29147))) + (let ((v-29208 + (let ((e-29274 (make-vector n-29207))) + (begin + (if (if (pair? e-29274) x-29147 #f) + (set-source-properties! e-29274 x-29147)) + e-29274)))) + (letrec* + ((loop-29209 + (lambda (i-29270) + (if (= i-29270 n-29207) + v-29208 + (begin + (vector-set! + v-29208 + i-29270 + (rebuild-macro-output-29038 + (vector-ref x-29147 i-29270) + m-29148)) + (loop-29209 (#{1+}# i-29270))))))) + (loop-29209 0)))) + (if (symbol? x-29147) + (syntax-violation + #f + "encountered raw symbol in macro output" + (let ((s-29285 (cdr w-29034))) + (let ((x-29289 + (begin + (if (if (pair? e-29032) s-29285 #f) + (set-source-properties! + e-29032 + s-29285)) + e-29032))) + (if (if (null? (car w-29034)) + (null? (cdr w-29034)) + #f) + x-29289 + (if (if (vector? x-29289) + (if (= (vector-length x-29289) 4) + (eq? (vector-ref x-29289 0) + 'syntax-object) + #f) + #f) + (let ((expression-29321 + (vector-ref x-29289 1)) + (wrap-29322 + (let ((w2-29330 + (vector-ref x-29289 2))) + (let ((m1-29331 (car w-29034)) + (s1-29332 (cdr w-29034))) + (if (null? m1-29331) + (if (null? s1-29332) + w2-29330 + (cons (car w2-29330) + (let ((m2-29347 + (cdr w2-29330))) + (if (null? m2-29347) + s1-29332 + (append + s1-29332 + m2-29347))))) + (cons (let ((m2-29355 + (car w2-29330))) + (if (null? m2-29355) + m1-29331 + (append + m1-29331 + m2-29355))) + (let ((m2-29363 + (cdr w2-29330))) + (if (null? m2-29363) + s1-29332 + (append + s1-29332 + m2-29363)))))))) + (module-29323 (vector-ref x-29289 3))) + (vector + 'syntax-object + expression-29321 + wrap-29322 + module-29323)) + (if (null? x-29289) + x-29289 + (vector + 'syntax-object + x-29289 + w-29034 + mod-29037)))))) + x-29147) + (begin + (if (if (pair? x-29147) s-29035 #f) + (set-source-properties! x-29147 s-29035)) + x-29147)))))))) + (with-fluids + ((transformer-environment-4572 + (lambda (k-29039) + (k-29039 + e-29032 + r-29033 + w-29034 + s-29035 + rib-29036 + mod-29037)))) + (rebuild-macro-output-29038 + (p-29031 + (let ((w-29046 + (cons (cons #f (car w-29034)) + (cons 'shift (cdr w-29034))))) + (let ((x-29051 + (begin + (if (if (pair? e-29032) s-29035 #f) + (set-source-properties! e-29032 s-29035)) + e-29032))) + (if (if (null? (car w-29046)) + (null? (cdr w-29046)) + #f) + x-29051 + (if (if (vector? x-29051) + (if (= (vector-length x-29051) 4) + (eq? (vector-ref x-29051 0) 'syntax-object) + #f) + #f) + (let ((expression-29090 (vector-ref x-29051 1)) + (wrap-29091 + (let ((w2-29099 (vector-ref x-29051 2))) + (let ((m1-29100 (car w-29046)) + (s1-29101 (cdr w-29046))) + (if (null? m1-29100) + (if (null? s1-29101) + w2-29099 + (cons (car w2-29099) + (let ((m2-29116 (cdr w2-29099))) + (if (null? m2-29116) + s1-29101 + (append + s1-29101 + m2-29116))))) + (cons (let ((m2-29124 (car w2-29099))) + (if (null? m2-29124) + m1-29100 + (append m1-29100 m2-29124))) + (let ((m2-29132 (cdr w2-29099))) + (if (null? m2-29132) + s1-29101 + (append + s1-29101 + m2-29132)))))))) + (module-29092 (vector-ref x-29051 3))) + (vector + 'syntax-object + expression-29090 + wrap-29091 + module-29092)) + (if (null? x-29051) + x-29051 + (vector + 'syntax-object + x-29051 + w-29046 + mod-29037))))))) + (gensym + (string-append "m-" (session-id-4511) "-"))))))) + (expand-body-4590 + (lambda (body-29393 + outer-form-29394 + r-29395 + w-29396 + mod-29397) + (let ((r-29398 + (cons '("placeholder" placeholder) r-29395))) + (let ((ribcage-29399 (vector 'ribcage '() '() '()))) + (let ((w-29400 + (cons (car w-29396) + (cons ribcage-29399 (cdr w-29396))))) + (letrec* + ((parse-29401 + (lambda (body-29509 + ids-29510 + labels-29511 + var-ids-29512 + vars-29513 + vals-29514 + bindings-29515) + (if (null? body-29509) + (syntax-violation + #f + "no expressions in body" + outer-form-29394) + (let ((e-29516 (cdr (car body-29509))) + (er-29517 (car (car body-29509)))) + (call-with-values + (lambda () + (syntax-type-4585 + e-29516 + er-29517 + '(()) + (source-annotation-4544 er-29517) + ribcage-29399 + mod-29397 + #f)) + (lambda (type-29705 + value-29706 + form-29707 + e-29708 + w-29709 + s-29710 + mod-29711) + (if (eqv? type-29705 'define-form) + (let ((id-29715 + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + value-29706 + (if (if (vector? value-29706) + (if (= (vector-length + value-29706) + 4) + (eq? (vector-ref + value-29706 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-29760 + (vector-ref value-29706 1)) + (wrap-29761 + (let ((w2-29771 + (vector-ref + value-29706 + 2))) + (let ((m1-29772 + (car w-29709)) + (s1-29773 + (cdr w-29709))) + (if (null? m1-29772) + (if (null? s1-29773) + w2-29771 + (cons (car w2-29771) + (let ((m2-29790 + (cdr w2-29771))) + (if (null? m2-29790) + s1-29773 + (append + s1-29773 + m2-29790))))) + (cons (let ((m2-29798 + (car w2-29771))) + (if (null? m2-29798) + m1-29772 + (append + m1-29772 + m2-29798))) + (let ((m2-29806 + (cdr w2-29771))) + (if (null? m2-29806) + s1-29773 + (append + s1-29773 + m2-29806)))))))) + (module-29762 + (vector-ref + value-29706 + 3))) + (vector + 'syntax-object + expression-29760 + wrap-29761 + module-29762)) + (if (null? value-29706) + value-29706 + (vector + 'syntax-object + value-29706 + w-29709 + mod-29711))))) + (label-29716 + (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))))) + (let ((var-29717 + (let ((id-29867 + (if (if (vector? id-29715) + (if (= (vector-length + id-29715) + 4) + (eq? (vector-ref + id-29715 + 0) + 'syntax-object) + #f) + #f) + (vector-ref id-29715 1) + id-29715))) + (gensym + (string-append + (symbol->string id-29867) + "-"))))) + (begin + (begin + (let ((update-29726 + (cons (vector-ref id-29715 1) + (vector-ref + ribcage-29399 + 1)))) + (vector-set! + ribcage-29399 + 1 + update-29726)) + (let ((update-29838 + (cons (car (vector-ref + id-29715 + 2)) + (vector-ref + ribcage-29399 + 2)))) + (vector-set! + ribcage-29399 + 2 + update-29838)) + (let ((update-29853 + (cons label-29716 + (vector-ref + ribcage-29399 + 3)))) + (vector-set! + ribcage-29399 + 3 + update-29853))) + (parse-29401 + (cdr body-29509) + (cons id-29715 ids-29510) + (cons label-29716 labels-29511) + (cons id-29715 var-ids-29512) + (cons var-29717 vars-29513) + (cons (cons er-29517 + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + e-29708 + (if (if (vector? e-29708) + (if (= (vector-length + e-29708) + 4) + (eq? (vector-ref + e-29708 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-29919 + (vector-ref + e-29708 + 1)) + (wrap-29920 + (let ((w2-29930 + (vector-ref + e-29708 + 2))) + (let ((m1-29931 + (car w-29709)) + (s1-29932 + (cdr w-29709))) + (if (null? m1-29931) + (if (null? s1-29932) + w2-29930 + (cons (car w2-29930) + (let ((m2-29949 + (cdr w2-29930))) + (if (null? m2-29949) + s1-29932 + (append + s1-29932 + m2-29949))))) + (cons (let ((m2-29957 + (car w2-29930))) + (if (null? m2-29957) + m1-29931 + (append + m1-29931 + m2-29957))) + (let ((m2-29965 + (cdr w2-29930))) + (if (null? m2-29965) + s1-29932 + (append + s1-29932 + m2-29965)))))))) + (module-29921 + (vector-ref + e-29708 + 3))) + (vector + 'syntax-object + expression-29919 + wrap-29920 + module-29921)) + (if (null? e-29708) + e-29708 + (vector + 'syntax-object + e-29708 + w-29709 + mod-29711))))) + vals-29514) + (cons (cons 'lexical var-29717) + bindings-29515))))) + (if (if (eqv? type-29705 'define-syntax-form) + #t + (eqv? type-29705 + 'define-syntax-parameter-form)) + (let ((id-29996 + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + value-29706 + (if (if (vector? value-29706) + (if (= (vector-length + value-29706) + 4) + (eq? (vector-ref + value-29706 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-30040 + (vector-ref + value-29706 + 1)) + (wrap-30041 + (let ((w2-30051 + (vector-ref + value-29706 + 2))) + (let ((m1-30052 + (car w-29709)) + (s1-30053 + (cdr w-29709))) + (if (null? m1-30052) + (if (null? s1-30053) + w2-30051 + (cons (car w2-30051) + (let ((m2-30070 + (cdr w2-30051))) + (if (null? m2-30070) + s1-30053 + (append + s1-30053 + m2-30070))))) + (cons (let ((m2-30078 + (car w2-30051))) + (if (null? m2-30078) + m1-30052 + (append + m1-30052 + m2-30078))) + (let ((m2-30086 + (cdr w2-30051))) + (if (null? m2-30086) + s1-30053 + (append + s1-30053 + m2-30086)))))))) + (module-30042 + (vector-ref + value-29706 + 3))) (vector - 'each+ - #{x 39771}# - #{ys 39808}# - #{e 39809}#) - #{ids 39772}#)))))))) - #{tmp 39237}#) - (let ((#{tmp 39810}# - ($sc-dispatch #{p 39055}# '(any . any)))) - (if #{tmp 39810}# - (@apply - (lambda (#{x 39814}# #{y 39815}#) - (call-with-values - (lambda () - (#{cvt 39052}# - #{y 39815}# - #{n 39056}# - #{ids 39057}#)) - (lambda (#{y 39816}# #{ids 39817}#) - (call-with-values - (lambda () - (#{cvt 39052}# - #{x 39814}# - #{n 39056}# - #{ids 39817}#)) - (lambda (#{x 39818}# #{ids 39819}#) - (values - (cons #{x 39818}# #{y 39816}#) - #{ids 39819}#)))))) - #{tmp 39810}#) - (let ((#{tmp 39820}# - ($sc-dispatch #{p 39055}# '()))) - (if #{tmp 39820}# - (@apply - (lambda () (values '() #{ids 39057}#)) - #{tmp 39820}#) - (let ((#{tmp 39824}# - ($sc-dispatch - #{p 39055}# - '#(vector each-any)))) - (if #{tmp 39824}# - (@apply - (lambda (#{x 39828}#) - (call-with-values - (lambda () - (#{cvt 39052}# - #{x 39828}# - #{n 39056}# - #{ids 39057}#)) - (lambda (#{p 39829}# - #{ids 39830}#) - (values - (vector - 'vector - #{p 39829}#) - #{ids 39830}#)))) - #{tmp 39824}#) - (values - (vector - 'atom - (#{strip 28284}# - #{p 39055}# - '(()))) - #{ids 39057}#))))))))))))))) - (#{cvt 39052}# #{pattern 39048}# 0 '())))) - (#{build-dispatch-call 37427}# - (lambda (#{pvars 39964}# - #{exp 39965}# - #{y 39966}# - #{r 39967}# - #{mod 39968}#) - (let ((#{ids 39969}# (map car #{pvars 39964}#))) - (begin - (map cdr #{pvars 39964}#) - (let ((#{labels 39971}# - (#{gen-labels 28241}# #{ids 39969}#)) - (#{new-vars 39972}# - (map #{gen-var 28285}# #{ids 39969}#))) - (#{build-primcall 28217}# - #f - 'apply - (list (#{build-simple-lambda 28214}# - #f - (map syntax->datum #{ids 39969}#) - #f - #{new-vars 39972}# - '() - (#{expand 28271}# - #{exp 39965}# - (#{extend-env 28233}# - #{labels 39971}# - (map (lambda (#{var 40304}# #{level 40305}#) - (cons 'syntax - (cons #{var 40304}# - #{level 40305}#))) - #{new-vars 39972}# - (map cdr #{pvars 39964}#)) - #{r 39967}#) - (#{make-binding-wrap 28252}# - #{ids 39969}# - #{labels 39971}# - '(())) - #{mod 39968}#)) - #{y 39966}#))))))) - (#{gen-clause 37428}# - (lambda (#{x 38632}# - #{keys 38633}# - #{clauses 38634}# - #{r 38635}# - #{pat 38636}# - #{fender 38637}# - #{exp 38638}# - #{mod 38639}#) - (call-with-values - (lambda () - (#{convert-pattern 37426}# - #{pat 38636}# - #{keys 38633}#)) - (lambda (#{p 38777}# #{pvars 38778}#) - (if (not (#{distinct-bound-ids? 28262}# - (map car #{pvars 38778}#))) + 'syntax-object + expression-30040 + wrap-30041 + module-30042)) + (if (null? value-29706) + value-29706 + (vector + 'syntax-object + value-29706 + w-29709 + mod-29711))))) + (label-29997 + (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))))) + (begin + (begin + (let ((update-30006 + (cons (vector-ref id-29996 1) + (vector-ref + ribcage-29399 + 1)))) + (vector-set! + ribcage-29399 + 1 + update-30006)) + (let ((update-30118 + (cons (car (vector-ref + id-29996 + 2)) + (vector-ref + ribcage-29399 + 2)))) + (vector-set! + ribcage-29399 + 2 + update-30118)) + (let ((update-30133 + (cons label-29997 + (vector-ref + ribcage-29399 + 3)))) + (vector-set! + ribcage-29399 + 3 + update-30133))) + (parse-29401 + (cdr body-29509) + (cons id-29996 ids-29510) + (cons label-29997 labels-29511) + var-ids-29512 + vars-29513 + vals-29514 + (cons (cons (if (eq? type-29705 + 'define-syntax-parameter-form) + 'syntax-parameter + 'macro) + (cons er-29517 + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + e-29708 + (if (if (vector? + e-29708) + (if (= (vector-length + e-29708) + 4) + (eq? (vector-ref + e-29708 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-30172 + (vector-ref + e-29708 + 1)) + (wrap-30173 + (let ((w2-30183 + (vector-ref + e-29708 + 2))) + (let ((m1-30184 + (car w-29709)) + (s1-30185 + (cdr w-29709))) + (if (null? m1-30184) + (if (null? s1-30185) + w2-30183 + (cons (car w2-30183) + (let ((m2-30202 + (cdr w2-30183))) + (if (null? m2-30202) + s1-30185 + (append + s1-30185 + m2-30202))))) + (cons (let ((m2-30210 + (car w2-30183))) + (if (null? m2-30210) + m1-30184 + (append + m1-30184 + m2-30210))) + (let ((m2-30218 + (cdr w2-30183))) + (if (null? m2-30218) + s1-30185 + (append + s1-30185 + m2-30218)))))))) + (module-30174 + (vector-ref + e-29708 + 3))) + (vector + 'syntax-object + expression-30172 + wrap-30173 + module-30174)) + (if (null? e-29708) + e-29708 + (vector + 'syntax-object + e-29708 + w-29709 + mod-29711)))))) + bindings-29515)))) + (if (eqv? type-29705 'begin-form) + (let ((tmp-30245 + ($sc-dispatch + e-29708 + '(_ . each-any)))) + (if tmp-30245 + (@apply + (lambda (e1-30249) + (parse-29401 + (letrec* + ((f-30250 + (lambda (forms-30451) + (if (null? forms-30451) + (cdr body-29509) + (cons (cons er-29517 + (let ((x-30455 + (car forms-30451))) + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + x-30455 + (if (if (vector? + x-30455) + (if (= (vector-length + x-30455) + 4) + (eq? (vector-ref + x-30455 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-30473 + (vector-ref + x-30455 + 1)) + (wrap-30474 + (let ((w2-30482 + (vector-ref + x-30455 + 2))) + (let ((m1-30483 + (car w-29709)) + (s1-30484 + (cdr w-29709))) + (if (null? m1-30483) + (if (null? s1-30484) + w2-30482 + (cons (car w2-30482) + (let ((m2-30499 + (cdr w2-30482))) + (if (null? m2-30499) + s1-30484 + (append + s1-30484 + m2-30499))))) + (cons (let ((m2-30507 + (car w2-30482))) + (if (null? m2-30507) + m1-30483 + (append + m1-30483 + m2-30507))) + (let ((m2-30515 + (cdr w2-30482))) + (if (null? m2-30515) + s1-30484 + (append + s1-30484 + m2-30515)))))))) + (module-30475 + (vector-ref + x-30455 + 3))) + (vector + 'syntax-object + expression-30473 + wrap-30474 + module-30475)) + (if (null? x-30455) + x-30455 + (vector + 'syntax-object + x-30455 + w-29709 + mod-29711)))))) + (f-30250 + (cdr forms-30451))))))) + (f-30250 e1-30249)) + ids-29510 + labels-29511 + var-ids-29512 + vars-29513 + vals-29514 + bindings-29515)) + tmp-30245) + (syntax-violation + #f + "source expression failed to match any pattern" + e-29708))) + (if (eqv? type-29705 'local-syntax-form) + (expand-local-syntax-4591 + value-29706 + e-29708 + er-29517 + w-29709 + s-29710 + mod-29711 + (lambda (forms-30541 + er-30542 + w-30543 + s-30544 + mod-30545) + (parse-29401 + (letrec* + ((f-30546 + (lambda (forms-30747) + (if (null? forms-30747) + (cdr body-29509) + (cons (cons er-30542 + (let ((x-30751 + (car forms-30747))) + (if (if (null? (car w-30543)) + (null? (cdr w-30543)) + #f) + x-30751 + (if (if (vector? + x-30751) + (if (= (vector-length + x-30751) + 4) + (eq? (vector-ref + x-30751 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-30769 + (vector-ref + x-30751 + 1)) + (wrap-30770 + (let ((w2-30778 + (vector-ref + x-30751 + 2))) + (let ((m1-30779 + (car w-30543)) + (s1-30780 + (cdr w-30543))) + (if (null? m1-30779) + (if (null? s1-30780) + w2-30778 + (cons (car w2-30778) + (let ((m2-30795 + (cdr w2-30778))) + (if (null? m2-30795) + s1-30780 + (append + s1-30780 + m2-30795))))) + (cons (let ((m2-30803 + (car w2-30778))) + (if (null? m2-30803) + m1-30779 + (append + m1-30779 + m2-30803))) + (let ((m2-30811 + (cdr w2-30778))) + (if (null? m2-30811) + s1-30780 + (append + s1-30780 + m2-30811)))))))) + (module-30771 + (vector-ref + x-30751 + 3))) + (vector + 'syntax-object + expression-30769 + wrap-30770 + module-30771)) + (if (null? x-30751) + x-30751 + (vector + 'syntax-object + x-30751 + w-30543 + mod-30545)))))) + (f-30546 + (cdr forms-30747))))))) + (f-30546 forms-30541)) + ids-29510 + labels-29511 + var-ids-29512 + vars-29513 + vals-29514 + bindings-29515))) + (if (null? ids-29510) + (build-sequence-4532 + #f + (map (lambda (x-30896) + (expand-4586 + (cdr x-30896) + (car x-30896) + '(()) + mod-29711)) + (cons (cons er-29517 + (let ((x-30971 + (begin + (if (if (pair? e-29708) + s-29710 + #f) + (set-source-properties! + e-29708 + s-29710)) + e-29708))) + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + x-30971 + (if (if (vector? + x-30971) + (if (= (vector-length + x-30971) + 4) + (eq? (vector-ref + x-30971 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-31003 + (vector-ref + x-30971 + 1)) + (wrap-31004 + (let ((w2-31012 + (vector-ref + x-30971 + 2))) + (let ((m1-31013 + (car w-29709)) + (s1-31014 + (cdr w-29709))) + (if (null? m1-31013) + (if (null? s1-31014) + w2-31012 + (cons (car w2-31012) + (let ((m2-31029 + (cdr w2-31012))) + (if (null? m2-31029) + s1-31014 + (append + s1-31014 + m2-31029))))) + (cons (let ((m2-31037 + (car w2-31012))) + (if (null? m2-31037) + m1-31013 + (append + m1-31013 + m2-31037))) + (let ((m2-31045 + (cdr w2-31012))) + (if (null? m2-31045) + s1-31014 + (append + s1-31014 + m2-31045)))))))) + (module-31005 + (vector-ref + x-30971 + 3))) + (vector + 'syntax-object + expression-31003 + wrap-31004 + module-31005)) + (if (null? x-30971) + x-30971 + (vector + 'syntax-object + x-30971 + w-29709 + mod-29711)))))) + (cdr body-29509)))) + (begin + (if (not (valid-bound-ids?-4576 + ids-29510)) + (syntax-violation + #f + "invalid or duplicate identifier in definition" + outer-form-29394)) + (letrec* + ((loop-31144 + (lambda (bs-31147 + er-cache-31148 + r-cache-31149) + (if (not (null? bs-31147)) + (let ((b-31150 + (car bs-31147))) + (if (let ((t-31153 + (car b-31150))) + (if (eq? t-31153 + 'macro) + #t + (eq? t-31153 + 'syntax-parameter))) + (let ((er-31155 + (car (cdr b-31150)))) + (let ((r-cache-31156 + (if (eq? er-31155 + er-cache-31148) + r-cache-31149 + (macros-only-env-4547 + er-31155)))) + (begin + (set-cdr! + b-31150 + (eval-local-transformer-4592 + (expand-4586 + (cdr (cdr b-31150)) + r-cache-31156 + '(()) + mod-29711) + mod-29711)) + (if (eq? (car b-31150) + 'syntax-parameter) + (set-cdr! + b-31150 + (list (cdr b-31150)))) + (loop-31144 + (cdr bs-31147) + er-31155 + r-cache-31156)))) + (loop-31144 + (cdr bs-31147) + er-cache-31148 + r-cache-31149))))))) + (loop-31144 bindings-29515 #f #f)) + (set-cdr! + r-29398 + (extend-env-4545 + labels-29511 + bindings-29515 + (cdr r-29398))) + (build-letrec-4535 + #f + #t + (reverse + (map syntax->datum + var-ids-29512)) + (reverse vars-29513) + (map (lambda (x-31576) + (expand-4586 + (cdr x-31576) + (car x-31576) + '(()) + mod-29711)) + (reverse vals-29514)) + (build-sequence-4532 + #f + (map (lambda (x-31712) + (expand-4586 + (cdr x-31712) + (car x-31712) + '(()) + mod-29711)) + (cons (cons er-29517 + (let ((x-31787 + (begin + (if (if (pair? e-29708) + s-29710 + #f) + (set-source-properties! + e-29708 + s-29710)) + e-29708))) + (if (if (null? (car w-29709)) + (null? (cdr w-29709)) + #f) + x-31787 + (if (if (vector? + x-31787) + (if (= (vector-length + x-31787) + 4) + (eq? (vector-ref + x-31787 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-31819 + (vector-ref + x-31787 + 1)) + (wrap-31820 + (let ((w2-31828 + (vector-ref + x-31787 + 2))) + (let ((m1-31829 + (car w-29709)) + (s1-31830 + (cdr w-29709))) + (if (null? m1-31829) + (if (null? s1-31830) + w2-31828 + (cons (car w2-31828) + (let ((m2-31845 + (cdr w2-31828))) + (if (null? m2-31845) + s1-31830 + (append + s1-31830 + m2-31845))))) + (cons (let ((m2-31853 + (car w2-31828))) + (if (null? m2-31853) + m1-31829 + (append + m1-31829 + m2-31853))) + (let ((m2-31861 + (cdr w2-31828))) + (if (null? m2-31861) + s1-31830 + (append + s1-31830 + m2-31861)))))))) + (module-31821 + (vector-ref + x-31787 + 3))) + (vector + 'syntax-object + expression-31819 + wrap-31820 + module-31821)) + (if (null? x-31787) + x-31787 + (vector + 'syntax-object + x-31787 + w-29709 + mod-29711)))))) + (cdr body-29509)))))))))))))))))) + (parse-29401 + (map (lambda (x-29404) + (cons r-29398 + (if (if (null? (car w-29400)) + (null? (cdr w-29400)) + #f) + x-29404 + (if (if (vector? x-29404) + (if (= (vector-length x-29404) 4) + (eq? (vector-ref x-29404 0) + 'syntax-object) + #f) + #f) + (let ((expression-29440 + (vector-ref x-29404 1)) + (wrap-29441 + (let ((w2-29451 + (vector-ref x-29404 2))) + (let ((m1-29452 (car w-29400)) + (s1-29453 (cdr w-29400))) + (if (null? m1-29452) + (if (null? s1-29453) + w2-29451 + (cons (car w2-29451) + (let ((m2-29470 + (cdr w2-29451))) + (if (null? m2-29470) + s1-29453 + (append + s1-29453 + m2-29470))))) + (cons (let ((m2-29478 + (car w2-29451))) + (if (null? m2-29478) + m1-29452 + (append + m1-29452 + m2-29478))) + (let ((m2-29486 + (cdr w2-29451))) + (if (null? m2-29486) + s1-29453 + (append + s1-29453 + m2-29486)))))))) + (module-29442 + (vector-ref x-29404 3))) + (vector + 'syntax-object + expression-29440 + wrap-29441 + module-29442)) + (if (null? x-29404) + x-29404 + (vector + 'syntax-object + x-29404 + w-29400 + mod-29397)))))) + body-29393) + '() + '() + '() + '() + '() + '()))))))) + (expand-local-syntax-4591 + (lambda (rec?-31876 + e-31877 + r-31878 + w-31879 + s-31880 + mod-31881 + k-31882) + (let ((tmp-31884 + ($sc-dispatch + e-31877 + '(_ #(each (any any)) any . each-any)))) + (if tmp-31884 + (@apply + (lambda (id-31888 val-31889 e1-31890 e2-31891) + (if (not (valid-bound-ids?-4576 id-31888)) (syntax-violation - 'syntax-case - "duplicate pattern variable" - #{pat 38636}#) - (if (not (and-map - (lambda (#{x 38887}#) - (not (let ((#{x 38891}# (car #{x 38887}#))) - (if (if (if (vector? #{x 38891}#) - (if (= (vector-length - #{x 38891}#) - 4) - (eq? (vector-ref - #{x 38891}# - 0) - 'syntax-object) - #f) - #f) - (symbol? - (vector-ref #{x 38891}# 1)) - #f) - (#{free-id=? 28259}# - #{x 38891}# - '#(syntax-object - ... + #f + "duplicate bound keyword" + e-31877) + (let ((labels-31988 (gen-labels-4553 id-31888))) + (let ((new-w-31989 + (make-binding-wrap-4564 + id-31888 + labels-31988 + w-31879))) + (k-31882 + (cons e1-31890 e2-31891) + (extend-env-4545 + labels-31988 + (let ((trans-r-32027 + (macros-only-env-4547 r-31878))) + (begin + (if rec?-31876 new-w-31989 w-31879) + (map (lambda (x-32028) + (cons 'macro + (eval-local-transformer-4592 + (expand-4586 + x-32028 + trans-r-32027 + (values + (if rec?-31876 + new-w-31989 + w-31879)) + mod-31881) + mod-31881))) + val-31889))) + r-31878) + new-w-31989 + s-31880 + mod-31881))))) + tmp-31884) + (syntax-violation + #f + "bad local syntax definition" + (let ((x-32335 + (begin + (if (if (pair? e-31877) s-31880 #f) + (set-source-properties! e-31877 s-31880)) + e-31877))) + (if (if (null? (car w-31879)) + (null? (cdr w-31879)) + #f) + x-32335 + (if (if (vector? x-32335) + (if (= (vector-length x-32335) 4) + (eq? (vector-ref x-32335 0) 'syntax-object) + #f) + #f) + (let ((expression-32367 (vector-ref x-32335 1)) + (wrap-32368 + (let ((w2-32376 (vector-ref x-32335 2))) + (let ((m1-32377 (car w-31879)) + (s1-32378 (cdr w-31879))) + (if (null? m1-32377) + (if (null? s1-32378) + w2-32376 + (cons (car w2-32376) + (let ((m2-32393 (cdr w2-32376))) + (if (null? m2-32393) + s1-32378 + (append s1-32378 m2-32393))))) + (cons (let ((m2-32401 (car w2-32376))) + (if (null? m2-32401) + m1-32377 + (append m1-32377 m2-32401))) + (let ((m2-32409 (cdr w2-32376))) + (if (null? m2-32409) + s1-32378 + (append s1-32378 m2-32409)))))))) + (module-32369 (vector-ref x-32335 3))) + (vector + 'syntax-object + expression-32367 + wrap-32368 + module-32369)) + (if (null? x-32335) + x-32335 + (vector + 'syntax-object + x-32335 + w-31879 + mod-31881)))))))))) + (eval-local-transformer-4592 + (lambda (expanded-32427 mod-32428) + (let ((p-32429 (primitive-eval expanded-32427))) + (if (procedure? p-32429) + p-32429 + (syntax-violation + #f + "nonprocedure transformer" + p-32429))))) + (ellipsis?-4594 + (lambda (x-6134) + (if (if (if (vector? x-6134) + (if (= (vector-length x-6134) 4) + (eq? (vector-ref x-6134 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref x-6134 1)) + #f) + (free-id=?-4574 + x-6134 + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("l-*-2416")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + #f))) + (lambda-formals-4595 + (lambda (orig-args-32434) + (letrec* + ((req-32435 + (lambda (args-32439 rreq-32440) + (let ((tmp-32442 ($sc-dispatch args-32439 '()))) + (if tmp-32442 + (@apply + (lambda () (check-32436 (reverse rreq-32440) #f)) + tmp-32442) + (let ((tmp-32558 + ($sc-dispatch args-32439 '(any . any)))) + (if (if tmp-32558 + (@apply + (lambda (a-32562 b-32563) + (if (symbol? a-32562) + #t + (if (if (vector? a-32562) + (if (= (vector-length a-32562) 4) + (eq? (vector-ref a-32562 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-32562 1)) + #f))) + tmp-32558) + #f) + (@apply + (lambda (a-32590 b-32591) + (req-32435 b-32591 (cons a-32590 rreq-32440))) + tmp-32558) + (let ((tmp-32592 (list args-32439))) + (if (@apply + (lambda (r-32594) + (if (symbol? r-32594) + #t + (if (if (vector? r-32594) + (if (= (vector-length r-32594) 4) + (eq? (vector-ref r-32594 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref r-32594 1)) + #f))) + tmp-32592) + (@apply + (lambda (r-32624) + (check-32436 (reverse rreq-32440) r-32624)) + tmp-32592) + (syntax-violation + 'lambda + "invalid argument list" + orig-args-32434 + args-32439))))))))) + (check-32436 + (lambda (req-32748 rest-32749) + (if (distinct-bound-ids?-4577 + (if rest-32749 + (cons rest-32749 req-32748) + req-32748)) + (values req-32748 #f rest-32749 #f) + (syntax-violation + 'lambda + "duplicate identifier in argument list" + orig-args-32434))))) + (req-32435 orig-args-32434 '())))) + (expand-simple-lambda-4596 + (lambda (e-32858 + r-32859 + w-32860 + s-32861 + mod-32862 + req-32863 + rest-32864 + meta-32865 + body-32866) + (let ((ids-32867 + (if rest-32864 + (append req-32863 (list rest-32864)) + req-32863))) + (let ((vars-32868 (map gen-var-4600 ids-32867))) + (let ((labels-32869 (gen-labels-4553 ids-32867))) + (build-simple-lambda-4526 + s-32861 + (map syntax->datum req-32863) + (if rest-32864 (syntax->datum rest-32864) #f) + vars-32868 + meta-32865 + (expand-body-4590 + body-32866 + (let ((x-33052 + (begin + (if (if (pair? e-32858) s-32861 #f) + (set-source-properties! e-32858 s-32861)) + e-32858))) + (if (if (null? (car w-32860)) + (null? (cdr w-32860)) + #f) + x-33052 + (if (if (vector? x-33052) + (if (= (vector-length x-33052) 4) + (eq? (vector-ref x-33052 0) 'syntax-object) + #f) + #f) + (let ((expression-33084 (vector-ref x-33052 1)) + (wrap-33085 + (let ((w2-33093 (vector-ref x-33052 2))) + (let ((m1-33094 (car w-32860)) + (s1-33095 (cdr w-32860))) + (if (null? m1-33094) + (if (null? s1-33095) + w2-33093 + (cons (car w2-33093) + (let ((m2-33110 (cdr w2-33093))) + (if (null? m2-33110) + s1-33095 + (append + s1-33095 + m2-33110))))) + (cons (let ((m2-33118 (car w2-33093))) + (if (null? m2-33118) + m1-33094 + (append m1-33094 m2-33118))) + (let ((m2-33126 (cdr w2-33093))) + (if (null? m2-33126) + s1-33095 + (append + s1-33095 + m2-33126)))))))) + (module-33086 (vector-ref x-33052 3))) + (vector + 'syntax-object + expression-33084 + wrap-33085 + module-33086)) + (if (null? x-33052) + x-33052 + (vector + 'syntax-object + x-33052 + w-32860 + mod-32862))))) + (extend-var-env-4546 + labels-32869 + vars-32868 + r-32859) + (make-binding-wrap-4564 + ids-32867 + labels-32869 + w-32860) + mod-32862))))))) + (lambda*-formals-4597 + (lambda (orig-args-33335) + (letrec* + ((req-33336 + (lambda (args-33343 rreq-33344) + (let ((tmp-33346 ($sc-dispatch args-33343 '()))) + (if tmp-33346 + (@apply + (lambda () + (check-33340 (reverse rreq-33344) '() #f '())) + tmp-33346) + (let ((tmp-33465 + ($sc-dispatch args-33343 '(any . any)))) + (if (if tmp-33465 + (@apply + (lambda (a-33469 b-33470) + (if (symbol? a-33469) + #t + (if (if (vector? a-33469) + (if (= (vector-length a-33469) 4) + (eq? (vector-ref a-33469 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-33469 1)) + #f))) + tmp-33465) + #f) + (@apply + (lambda (a-33497 b-33498) + (req-33336 b-33498 (cons a-33497 rreq-33344))) + tmp-33465) + (let ((tmp-33499 + ($sc-dispatch args-33343 '(any . any)))) + (if (if tmp-33499 + (@apply + (lambda (a-33503 b-33504) + (eq? (syntax->datum a-33503) #:optional)) + tmp-33499) + #f) + (@apply + (lambda (a-33505 b-33506) + (opt-33337 b-33506 (reverse rreq-33344) '())) + tmp-33499) + (let ((tmp-33509 + ($sc-dispatch args-33343 '(any . any)))) + (if (if tmp-33509 + (@apply + (lambda (a-33513 b-33514) + (eq? (syntax->datum a-33513) #:key)) + tmp-33509) + #f) + (@apply + (lambda (a-33515 b-33516) + (key-33338 + b-33516 + (reverse rreq-33344) + '() + '())) + tmp-33509) + (let ((tmp-33519 + ($sc-dispatch args-33343 '(any any)))) + (if (if tmp-33519 + (@apply + (lambda (a-33523 b-33524) + (eq? (syntax->datum a-33523) + #:rest)) + tmp-33519) + #f) + (@apply + (lambda (a-33525 b-33526) + (rest-33339 + b-33526 + (reverse rreq-33344) + '() + '())) + tmp-33519) + (let ((tmp-33529 (list args-33343))) + (if (@apply + (lambda (r-33531) + (if (symbol? r-33531) + #t + (if (if (vector? r-33531) + (if (= (vector-length + r-33531) + 4) + (eq? (vector-ref + r-33531 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref r-33531 1)) + #f))) + tmp-33529) + (@apply + (lambda (r-33561) + (rest-33339 + r-33561 + (reverse rreq-33344) + '() + '())) + tmp-33529) + (syntax-violation + 'lambda* + "invalid argument list" + orig-args-33335 + args-33343))))))))))))))) + (opt-33337 + (lambda (args-33580 req-33581 ropt-33582) + (let ((tmp-33584 ($sc-dispatch args-33580 '()))) + (if tmp-33584 + (@apply + (lambda () + (check-33340 + req-33581 + (reverse ropt-33582) + #f + '())) + tmp-33584) + (let ((tmp-33705 + ($sc-dispatch args-33580 '(any . any)))) + (if (if tmp-33705 + (@apply + (lambda (a-33709 b-33710) + (if (symbol? a-33709) + #t + (if (if (vector? a-33709) + (if (= (vector-length a-33709) 4) + (eq? (vector-ref a-33709 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-33709 1)) + #f))) + tmp-33705) + #f) + (@apply + (lambda (a-33737 b-33738) + (opt-33337 + b-33738 + req-33581 + (cons (cons a-33737 + '(#(syntax-object + #f ((top) - #(ribcage () () ()) + #(ribcage + #(a b) + #((top) (top)) + #("l-*-2555" "l-*-2556")) #(ribcage () () ()) #(ribcage - #(x) + #(args req ropt) + #((top) (top) (top)) + #("l-*-2545" + "l-*-2546" + "l-*-2547")) + #(ribcage + (check rest key opt req) + ((top) + (top) + (top) + (top) + (top)) + ("l-*-2491" + "l-*-2489" + "l-*-2487" + "l-*-2485" + "l-*-2483")) + #(ribcage + #(orig-args) #((top)) - #("i26166")) + #("l-*-2482")) #(ribcage (lambda-var-list gen-var @@ -14487,7 +7358,10 @@ valid-bound-ids? bound-id=? free-id=? + with-transformer-environment + transformer-environment resolve-identifier + locally-bound-identifiers id-var-name same-marks? join-marks @@ -14568,7 +7442,7 @@ decorate-source get-global-definition-hook put-global-definition-hook - gensym-hook + session-id local-eval-hook top-level-eval-hook fx< @@ -14734,1841 +7608,7459 @@ (top) (top) (top) + (top) + (top) + (top) (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) - ("i23873" "i23872" "i23871")) + ("l-*-47" "l-*-46" "l-*-45")) #(ribcage () () ())) - (hygiene guile))) - #f)))) - #{pvars 38778}#)) - (syntax-violation - 'syntax-case - "misplaced ellipsis" - #{pat 38636}#) - (let ((#{y 38916}# - (gensym - (string-append (symbol->string 'tmp) " ")))) - (let ((#{fun-exp 38921}# - (let ((#{req 38930}# (list 'tmp)) - (#{vars 38932}# (list #{y 38916}#)) - (#{exp 38934}# - (let ((#{y 38963}# - (make-struct/no-tail - (vector-ref - %expanded-vtables - 3) - #f - 'tmp - #{y 38916}#))) - (let ((#{test-exp 38967}# - (let ((#{tmp 38976}# - ($sc-dispatch - #{fender 38637}# - '#(atom #t)))) - (if #{tmp 38976}# - (@apply - (lambda () #{y 38963}#) - #{tmp 38976}#) - (let ((#{then-exp 38994}# - (#{build-dispatch-call 37427}# - #{pvars 38778}# - #{fender 38637}# - #{y 38963}# - #{r 38635}# - #{mod 38639}#)) - (#{else-exp 38995}# - (make-struct/no-tail - (vector-ref - %expanded-vtables - 1) - #f - #f))) - (make-struct/no-tail - (vector-ref - %expanded-vtables - 10) - #f - #{y 38963}# - #{then-exp 38994}# - #{else-exp 38995}#))))) - (#{then-exp 38968}# - (#{build-dispatch-call 37427}# - #{pvars 38778}# - #{exp 38638}# - #{y 38963}# - #{r 38635}# - #{mod 38639}#)) - (#{else-exp 38969}# - (#{gen-syntax-case 37429}# - #{x 38632}# - #{keys 38633}# - #{clauses 38634}# - #{r 38635}# - #{mod 38639}#))) - (make-struct/no-tail - (vector-ref %expanded-vtables 10) - #f - #{test-exp 38967}# - #{then-exp 38968}# - #{else-exp 38969}#))))) - (let ((#{body 38939}# - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #f - #{req 38930}# - #f - #f - #f - '() - #{vars 38932}# - #{exp 38934}# - #f))) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #f - '() - #{body 38939}#)))) - (#{arg-exps 38922}# - (list (if (eq? #{p 38777}# 'any) - (let ((#{args 39027}# - (list #{x 38632}#))) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #f - 'list - #{args 39027}#)) - (let ((#{args 39036}# - (list #{x 38632}# - (make-struct/no-tail - (vector-ref - %expanded-vtables - 1) - #f - #{p 38777}#)))) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #f - '$sc-dispatch - #{args 39036}#)))))) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #f - #{fun-exp 38921}# - #{arg-exps 38922}#))))))))) - (#{gen-syntax-case 37429}# - (lambda (#{x 38133}# - #{keys 38134}# - #{clauses 38135}# - #{r 38136}# - #{mod 38137}#) - (if (null? #{clauses 38135}#) - (let ((#{args 38143}# - (list (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - #f) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #f - "source expression failed to match any pattern") - #{x 38133}#))) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #f - 'syntax-violation - #{args 38143}#)) - (let ((#{tmp 38162}# (car #{clauses 38135}#))) - (let ((#{tmp 38163}# - ($sc-dispatch #{tmp 38162}# '(any any)))) - (if #{tmp 38163}# - (@apply - (lambda (#{pat 38165}# #{exp 38166}#) - (if (if (if (symbol? #{pat 38165}#) - #t - (if (if (vector? #{pat 38165}#) - (if (= (vector-length #{pat 38165}#) - 4) - (eq? (vector-ref #{pat 38165}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{pat 38165}# 1)) - #f)) - (and-map - (lambda (#{x 38193}#) - (not (#{free-id=? 28259}# - #{pat 38165}# - #{x 38193}#))) - (cons '#(syntax-object - ... - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i27835" "i27836")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i27825" - "i27826" - "i27827" - "i27828" - "i27829")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i27638" - "i27636" - "i27634" - "i27632")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) + (hygiene guile)))) + ropt-33582))) + tmp-33705) + (let ((tmp-33739 + ($sc-dispatch args-33580 '((any any) . any)))) + (if (if tmp-33739 + (@apply + (lambda (a-33743 init-33744 b-33745) + (if (symbol? a-33743) + #t + (if (if (vector? a-33743) + (if (= (vector-length a-33743) 4) + (eq? (vector-ref a-33743 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-33743 1)) + #f))) + tmp-33739) + #f) + (@apply + (lambda (a-33772 init-33773 b-33774) + (opt-33337 + b-33774 + req-33581 + (cons (list a-33772 init-33773) ropt-33582))) + tmp-33739) + (let ((tmp-33775 + ($sc-dispatch args-33580 '(any . any)))) + (if (if tmp-33775 + (@apply + (lambda (a-33779 b-33780) + (eq? (syntax->datum a-33779) #:key)) + tmp-33775) + #f) + (@apply + (lambda (a-33781 b-33782) + (key-33338 + b-33782 + req-33581 + (reverse ropt-33582) + '())) + tmp-33775) + (let ((tmp-33785 + ($sc-dispatch args-33580 '(any any)))) + (if (if tmp-33785 + (@apply + (lambda (a-33789 b-33790) + (eq? (syntax->datum a-33789) + #:rest)) + tmp-33785) + #f) + (@apply + (lambda (a-33791 b-33792) + (rest-33339 + b-33792 + req-33581 + (reverse ropt-33582) + '())) + tmp-33785) + (let ((tmp-33795 (list args-33580))) + (if (@apply + (lambda (r-33797) + (if (symbol? r-33797) + #t + (if (if (vector? r-33797) + (if (= (vector-length + r-33797) + 4) + (eq? (vector-ref + r-33797 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref r-33797 1)) + #f))) + tmp-33795) + (@apply + (lambda (r-33827) + (rest-33339 + r-33827 + req-33581 + (reverse ropt-33582) + '())) + tmp-33795) + (syntax-violation + 'lambda* + "invalid optional argument list" + orig-args-33335 + args-33580))))))))))))))) + (key-33338 + (lambda (args-33846 req-33847 opt-33848 rkey-33849) + (let ((tmp-33851 ($sc-dispatch args-33846 '()))) + (if tmp-33851 + (@apply + (lambda () + (check-33340 + req-33847 + opt-33848 + #f + (cons #f (reverse rkey-33849)))) + tmp-33851) + (let ((tmp-33973 + ($sc-dispatch args-33846 '(any . any)))) + (if (if tmp-33973 + (@apply + (lambda (a-33977 b-33978) + (if (symbol? a-33977) + #t + (if (if (vector? a-33977) + (if (= (vector-length a-33977) 4) + (eq? (vector-ref a-33977 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-33977 1)) + #f))) + tmp-33973) + #f) + (@apply + (lambda (a-34005 b-34006) + (let ((tmp-34007 + (symbol->keyword (syntax->datum a-34005)))) + (key-33338 + b-34006 + req-33847 + opt-33848 + (cons (cons tmp-34007 + (cons a-34005 + '(#(syntax-object + #f + ((top) + #(ribcage () () ()) + #(ribcage + #(k) + #((top)) + #("l-*-2618")) + #(ribcage + #(a b) + #((top) (top)) + #("l-*-2612" + "l-*-2613")) + #(ribcage () () ()) + #(ribcage + #(args req opt rkey) + #((top) + (top) + (top) + (top)) + #("l-*-2601" + "l-*-2602" + "l-*-2603" + "l-*-2604")) + #(ribcage + (check rest + key + opt + req) + ((top) + (top) + (top) + (top) + (top)) + ("l-*-2491" + "l-*-2489" + "l-*-2487" + "l-*-2485" + "l-*-2483")) + #(ribcage + #(orig-args) + #((top)) + #("l-*-2482")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage () () ())) + (hygiene guile))))) + rkey-33849)))) + tmp-33973) + (let ((tmp-34010 + ($sc-dispatch args-33846 '((any any) . any)))) + (if (if tmp-34010 + (@apply + (lambda (a-34014 init-34015 b-34016) + (if (symbol? a-34014) + #t + (if (if (vector? a-34014) + (if (= (vector-length a-34014) 4) + (eq? (vector-ref a-34014 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref a-34014 1)) + #f))) + tmp-34010) + #f) + (@apply + (lambda (a-34043 init-34044 b-34045) + (let ((tmp-34046 + (symbol->keyword + (syntax->datum a-34043)))) + (key-33338 + b-34045 + req-33847 + opt-33848 + (cons (list tmp-34046 a-34043 init-34044) + rkey-33849)))) + tmp-34010) + (let ((tmp-34049 + ($sc-dispatch + args-33846 + '((any any any) . any)))) + (if (if tmp-34049 + (@apply + (lambda (a-34053 + init-34054 + k-34055 + b-34056) + (if (if (symbol? a-34053) + #t + (if (if (vector? a-34053) + (if (= (vector-length + a-34053) + 4) + (eq? (vector-ref + a-34053 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref a-34053 1)) + #f)) + (keyword? (syntax->datum k-34055)) + #f)) + tmp-34049) + #f) + (@apply + (lambda (a-34083 init-34084 k-34085 b-34086) + (key-33338 + b-34086 + req-33847 + opt-33848 + (cons (list k-34085 a-34083 init-34084) + rkey-33849))) + tmp-34049) + (let ((tmp-34087 + ($sc-dispatch args-33846 '(any)))) + (if (if tmp-34087 + (@apply + (lambda (aok-34091) + (eq? (syntax->datum aok-34091) + #:allow-other-keys)) + tmp-34087) + #f) + (@apply + (lambda (aok-34092) + (check-33340 + req-33847 + opt-33848 + #f + (cons #t (reverse rkey-33849)))) + tmp-34087) + (let ((tmp-34211 + ($sc-dispatch + args-33846 + '(any any any)))) + (if (if tmp-34211 + (@apply + (lambda (aok-34215 + a-34216 + b-34217) + (if (eq? (syntax->datum + aok-34215) + #:allow-other-keys) + (eq? (syntax->datum a-34216) + #:rest) + #f)) + tmp-34211) + #f) + (@apply + (lambda (aok-34218 a-34219 b-34220) + (rest-33339 + b-34220 + req-33847 + opt-33848 + (cons #t (reverse rkey-33849)))) + tmp-34211) + (let ((tmp-34223 + ($sc-dispatch + args-33846 + '(any . any)))) + (if (if tmp-34223 + (@apply + (lambda (aok-34227 r-34228) + (if (eq? (syntax->datum + aok-34227) + #:allow-other-keys) + (if (symbol? r-34228) + #t + (if (if (vector? + r-34228) + (if (= (vector-length + r-34228) + 4) + (eq? (vector-ref + r-34228 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + r-34228 + 1)) + #f)) + #f)) + tmp-34223) + #f) + (@apply + (lambda (aok-34255 r-34256) + (rest-33339 + r-34256 + req-33847 + opt-33848 + (cons #t + (reverse rkey-33849)))) + tmp-34223) + (let ((tmp-34259 + ($sc-dispatch + args-33846 + '(any any)))) + (if (if tmp-34259 + (@apply + (lambda (a-34263 b-34264) + (eq? (syntax->datum + a-34263) + #:rest)) + tmp-34259) + #f) + (@apply + (lambda (a-34265 b-34266) + (rest-33339 + b-34266 + req-33847 + opt-33848 + (cons #f + (reverse + rkey-33849)))) + tmp-34259) + (let ((tmp-34269 + (list args-33846))) + (if (@apply + (lambda (r-34271) + (if (symbol? r-34271) + #t + (if (if (vector? + r-34271) + (if (= (vector-length + r-34271) + 4) + (eq? (vector-ref + r-34271 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref + r-34271 + 1)) + #f))) + tmp-34269) + (@apply + (lambda (r-34301) + (rest-33339 + r-34301 + req-33847 + opt-33848 + (cons #f + (reverse + rkey-33849)))) + tmp-34269) + (syntax-violation + 'lambda* + "invalid keyword argument list" + orig-args-33335 + args-33846))))))))))))))))))))) + (rest-33339 + (lambda (args-34329 req-34330 opt-34331 kw-34332) + (let ((tmp-34334 (list args-34329))) + (if (@apply + (lambda (r-34336) + (if (symbol? r-34336) + #t + (if (if (vector? r-34336) + (if (= (vector-length r-34336) 4) + (eq? (vector-ref r-34336 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref r-34336 1)) + #f))) + tmp-34334) + (@apply + (lambda (r-34366) + (check-33340 + req-34330 + opt-34331 + r-34366 + kw-34332)) + tmp-34334) + (syntax-violation + 'lambda* + "invalid rest argument" + orig-args-33335 + args-34329))))) + (check-33340 + (lambda (req-34494 opt-34495 rest-34496 kw-34497) + (if (distinct-bound-ids?-4577 + (append + req-34494 + (map car opt-34495) + (if rest-34496 (list rest-34496) '()) + (if (pair? kw-34497) + (map cadr (cdr kw-34497)) + '()))) + (values req-34494 opt-34495 rest-34496 kw-34497) + (syntax-violation + 'lambda* + "duplicate identifier in argument list" + orig-args-33335))))) + (req-33336 orig-args-33335 '())))) + (expand-lambda-case-4598 + (lambda (e-34606 + r-34607 + w-34608 + s-34609 + mod-34610 + get-formals-34611 + clauses-34612) + (letrec* + ((parse-req-34613 + (lambda (req-34746 + opt-34747 + rest-34748 + kw-34749 + body-34750) + (let ((vars-34751 (map gen-var-4600 req-34746)) + (labels-34752 (gen-labels-4553 req-34746))) + (let ((r*-34753 + (extend-var-env-4546 + labels-34752 + vars-34751 + r-34607)) + (w*-34754 + (make-binding-wrap-4564 + req-34746 + labels-34752 + w-34608))) + (parse-opt-34614 + (map syntax->datum req-34746) + opt-34747 + rest-34748 + kw-34749 + body-34750 + (reverse vars-34751) + r*-34753 + w*-34754 + '() + '()))))) + (parse-opt-34614 + (lambda (req-34951 + opt-34952 + rest-34953 + kw-34954 + body-34955 + vars-34956 + r*-34957 + w*-34958 + out-34959 + inits-34960) + (if (pair? opt-34952) + (let ((tmp-34961 (car opt-34952))) + (let ((tmp-34962 ($sc-dispatch tmp-34961 '(any any)))) + (if tmp-34962 + (@apply + (lambda (id-34964 i-34965) + (let ((v-34966 + (let ((id-34974 + (if (if (vector? id-34964) + (if (= (vector-length + id-34964) + 4) + (eq? (vector-ref + id-34964 + 0) + 'syntax-object) + #f) + #f) + (vector-ref id-34964 1) + id-34964))) + (gensym + (string-append + (symbol->string id-34974) + "-"))))) + (let ((l-34967 (gen-labels-4553 (list v-34966)))) + (let ((r**-34968 + (extend-var-env-4546 + l-34967 + (list v-34966) + r*-34957))) + (let ((w**-34969 + (make-binding-wrap-4564 + (list id-34964) + l-34967 + w*-34958))) + (parse-opt-34614 + req-34951 + (cdr opt-34952) + rest-34953 + kw-34954 + body-34955 + (cons v-34966 vars-34956) + r**-34968 + w**-34969 + (cons (syntax->datum id-34964) out-34959) + (cons (expand-4586 + i-34965 + r*-34957 + w*-34958 + mod-34610) + inits-34960))))))) + tmp-34962) + (syntax-violation + #f + "source expression failed to match any pattern" + tmp-34961)))) + (if rest-34953 + (let ((v-35232 + (let ((id-35242 + (if (if (vector? rest-34953) + (if (= (vector-length rest-34953) 4) + (eq? (vector-ref rest-34953 0) + 'syntax-object) + #f) + #f) + (vector-ref rest-34953 1) + rest-34953))) + (gensym + (string-append + (symbol->string id-35242) + "-"))))) + (let ((l-35233 (gen-labels-4553 (list v-35232)))) + (let ((r*-35234 + (extend-var-env-4546 + l-35233 + (list v-35232) + r*-34957))) + (let ((w*-35235 + (make-binding-wrap-4564 + (list rest-34953) + l-35233 + w*-34958))) + (parse-kw-34615 + req-34951 + (if (pair? out-34959) (reverse out-34959) #f) + (syntax->datum rest-34953) + (if (pair? kw-34954) (cdr kw-34954) kw-34954) + body-34955 + (cons v-35232 vars-34956) + r*-35234 + w*-35235 + (if (pair? kw-34954) (car kw-34954) #f) + '() + inits-34960))))) + (parse-kw-34615 + req-34951 + (if (pair? out-34959) (reverse out-34959) #f) + #f + (if (pair? kw-34954) (cdr kw-34954) kw-34954) + body-34955 + vars-34956 + r*-34957 + w*-34958 + (if (pair? kw-34954) (car kw-34954) #f) + '() + inits-34960))))) + (parse-kw-34615 + (lambda (req-35425 + opt-35426 + rest-35427 + kw-35428 + body-35429 + vars-35430 + r*-35431 + w*-35432 + aok-35433 + out-35434 + inits-35435) + (if (pair? kw-35428) + (let ((tmp-35436 (car kw-35428))) + (let ((tmp-35437 + ($sc-dispatch tmp-35436 '(any any any)))) + (if tmp-35437 + (@apply + (lambda (k-35439 id-35440 i-35441) + (let ((v-35442 + (let ((id-35450 + (if (if (vector? id-35440) + (if (= (vector-length + id-35440) + 4) + (eq? (vector-ref + id-35440 + 0) + 'syntax-object) + #f) + #f) + (vector-ref id-35440 1) + id-35440))) + (gensym + (string-append + (symbol->string id-35450) + "-"))))) + (let ((l-35443 (gen-labels-4553 (list v-35442)))) + (let ((r**-35444 + (extend-var-env-4546 + l-35443 + (list v-35442) + r*-35431))) + (let ((w**-35445 + (make-binding-wrap-4564 + (list id-35440) + l-35443 + w*-35432))) + (parse-kw-34615 + req-35425 + opt-35426 + rest-35427 + (cdr kw-35428) + body-35429 + (cons v-35442 vars-35430) + r**-35444 + w**-35445 + aok-35433 + (cons (list (syntax->datum k-35439) + (syntax->datum id-35440) + v-35442) + out-35434) + (cons (expand-4586 + i-35441 + r*-35431 + w*-35432 + mod-34610) + inits-35435))))))) + tmp-35437) + (syntax-violation + #f + "source expression failed to match any pattern" + tmp-35436)))) + (parse-body-34616 + req-35425 + opt-35426 + rest-35427 + (if (if aok-35433 aok-35433 (pair? out-35434)) + (cons aok-35433 (reverse out-35434)) + #f) + body-35429 + (reverse vars-35430) + r*-35431 + w*-35432 + (reverse inits-35435) + '())))) + (parse-body-34616 + (lambda (req-35717 + opt-35718 + rest-35719 + kw-35720 + body-35721 + vars-35722 + r*-35723 + w*-35724 + inits-35725 + meta-35726) + (let ((tmp-35728 + ($sc-dispatch body-35721 '(any any . each-any)))) + (if (if tmp-35728 + (@apply + (lambda (docstring-35732 e1-35733 e2-35734) + (string? (syntax->datum docstring-35732))) + tmp-35728) + #f) + (@apply + (lambda (docstring-35735 e1-35736 e2-35737) + (parse-body-34616 + req-35717 + opt-35718 + rest-35719 + kw-35720 + (cons e1-35736 e2-35737) + vars-35722 + r*-35723 + w*-35724 + inits-35725 + (append + meta-35726 + (list (cons 'documentation + (syntax->datum docstring-35735)))))) + tmp-35728) + (let ((tmp-35738 + ($sc-dispatch + body-35721 + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if tmp-35738 + (@apply + (lambda (k-35742 v-35743 e1-35744 e2-35745) + (parse-body-34616 + req-35717 + opt-35718 + rest-35719 + kw-35720 + (cons e1-35744 e2-35745) + vars-35722 + r*-35723 + w*-35724 + inits-35725 + (append + meta-35726 + (syntax->datum (map cons k-35742 v-35743))))) + tmp-35738) + (let ((tmp-35746 + ($sc-dispatch body-35721 '(any . each-any)))) + (if tmp-35746 + (@apply + (lambda (e1-35750 e2-35751) + (values + meta-35726 + req-35717 + opt-35718 + rest-35719 + kw-35720 + inits-35725 + vars-35722 + (expand-body-4590 + (cons e1-35750 e2-35751) + (let ((x-35763 + (begin + (if (if (pair? e-34606) + s-34609 + #f) + (set-source-properties! + e-34606 + s-34609)) + e-34606))) + (if (if (null? (car w-34608)) + (null? (cdr w-34608)) + #f) + x-35763 + (if (if (vector? x-35763) + (if (= (vector-length x-35763) 4) + (eq? (vector-ref x-35763 0) + 'syntax-object) + #f) + #f) + (let ((expression-35795 + (vector-ref x-35763 1)) + (wrap-35796 + (let ((w2-35804 + (vector-ref + x-35763 + 2))) + (let ((m1-35805 + (car w-34608)) + (s1-35806 + (cdr w-34608))) + (if (null? m1-35805) + (if (null? s1-35806) + w2-35804 + (cons (car w2-35804) + (let ((m2-35821 + (cdr w2-35804))) + (if (null? m2-35821) + s1-35806 + (append + s1-35806 + m2-35821))))) + (cons (let ((m2-35829 + (car w2-35804))) + (if (null? m2-35829) + m1-35805 + (append + m1-35805 + m2-35829))) + (let ((m2-35837 + (cdr w2-35804))) + (if (null? m2-35837) + s1-35806 + (append + s1-35806 + m2-35837)))))))) + (module-35797 + (vector-ref x-35763 3))) + (vector + 'syntax-object + expression-35795 + wrap-35796 + module-35797)) + (if (null? x-35763) + x-35763 + (vector + 'syntax-object + x-35763 + w-34608 + mod-34610))))) + r*-35723 + w*-35724 + mod-34610))) + tmp-35746) + (syntax-violation + #f + "source expression failed to match any pattern" + body-35721)))))))))) + (let ((tmp-34618 ($sc-dispatch clauses-34612 '()))) + (if tmp-34618 + (@apply (lambda () (values '() #f)) tmp-34618) + (let ((tmp-34622 + ($sc-dispatch + clauses-34612 + '((any any . each-any) + . + #(each (any any . each-any)))))) + (if tmp-34622 + (@apply + (lambda (args-34626 + e1-34627 + e2-34628 + args*-34629 + e1*-34630 + e2*-34631) + (call-with-values + (lambda () (get-formals-34611 args-34626)) + (lambda (req-34632 opt-34633 rest-34634 kw-34635) + (call-with-values + (lambda () + (parse-req-34613 + req-34632 + opt-34633 + rest-34634 + kw-34635 + (cons e1-34627 e2-34628))) + (lambda (meta-34702 + req-34703 + opt-34704 + rest-34705 + kw-34706 + inits-34707 + vars-34708 + body-34709) + (call-with-values + (lambda () + (expand-lambda-case-4598 + e-34606 + r-34607 + w-34608 + s-34609 + mod-34610 + get-formals-34611 + (map (lambda (tmp-2961-34710 + tmp-2960-34711 + tmp-2959-34712) + (cons tmp-2959-34712 + (cons tmp-2960-34711 + tmp-2961-34710))) + e2*-34631 + e1*-34630 + args*-34629))) + (lambda (meta*-34713 else*-34714) + (values + (append meta-34702 meta*-34713) + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + s-34609 + req-34703 + opt-34704 + rest-34705 + kw-34706 + inits-34707 + vars-34708 + body-34709 + else*-34714))))))))) + tmp-34622) + (syntax-violation + #f + "source expression failed to match any pattern" + clauses-34612)))))))) + (strip-4599 + (lambda (x-35864 w-35865) + (if (memq 'top (car w-35865)) + x-35864 + (letrec* + ((f-35866 + (lambda (x-35869) + (if (if (vector? x-35869) + (if (= (vector-length x-35869) 4) + (eq? (vector-ref x-35869 0) 'syntax-object) + #f) + #f) + (strip-4599 + (vector-ref x-35869 1) + (vector-ref x-35869 2)) + (if (pair? x-35869) + (let ((a-35888 (f-35866 (car x-35869))) + (d-35889 (f-35866 (cdr x-35869)))) + (if (if (eq? a-35888 (car x-35869)) + (eq? d-35889 (cdr x-35869)) + #f) + x-35869 + (cons a-35888 d-35889))) + (if (vector? x-35869) + (let ((old-35892 (vector->list x-35869))) + (let ((new-35893 (map f-35866 old-35892))) + (letrec* + ((lp-35894 + (lambda (l1-35991 l2-35992) + (if (null? l1-35991) + x-35869 + (if (eq? (car l1-35991) (car l2-35992)) + (lp-35894 (cdr l1-35991) (cdr l2-35992)) + (list->vector new-35893)))))) + (lp-35894 old-35892 new-35893)))) + x-35869)))))) + (f-35866 x-35864))))) + (gen-var-4600 + (lambda (id-34758) + (let ((id-34759 + (if (if (vector? id-34758) + (if (= (vector-length id-34758) 4) + (eq? (vector-ref id-34758 0) 'syntax-object) + #f) + #f) + (vector-ref id-34758 1) + id-34758))) + (gensym + (string-append (symbol->string id-34759) "-"))))) + (lambda-var-list-4601 + (lambda (vars-35993) + (letrec* + ((lvl-35994 + (lambda (vars-35997 ls-35998 w-35999) + (if (pair? vars-35997) + (lvl-35994 + (cdr vars-35997) + (cons (let ((x-36003 (car vars-35997))) + (if (if (null? (car w-35999)) + (null? (cdr w-35999)) + #f) + x-36003 + (if (if (vector? x-36003) + (if (= (vector-length x-36003) 4) + (eq? (vector-ref x-36003 0) + 'syntax-object) + #f) + #f) + (let ((expression-36021 (vector-ref x-36003 1)) + (wrap-36022 + (let ((w2-36030 + (vector-ref x-36003 2))) + (let ((m1-36031 (car w-35999)) + (s1-36032 (cdr w-35999))) + (if (null? m1-36031) + (if (null? s1-36032) + w2-36030 + (cons (car w2-36030) + (let ((m2-36047 + (cdr w2-36030))) + (if (null? m2-36047) + s1-36032 + (append + s1-36032 + m2-36047))))) + (cons (let ((m2-36055 + (car w2-36030))) + (if (null? m2-36055) + m1-36031 + (append + m1-36031 + m2-36055))) + (let ((m2-36063 + (cdr w2-36030))) + (if (null? m2-36063) + s1-36032 + (append + s1-36032 + m2-36063)))))))) + (module-36023 (vector-ref x-36003 3))) + (vector + 'syntax-object + expression-36021 + wrap-36022 + module-36023)) + (if (null? x-36003) + x-36003 + (vector + 'syntax-object + x-36003 + w-35999 + #f))))) + ls-35998) + w-35999) + (if (if (symbol? vars-35997) + #t + (if (if (vector? vars-35997) + (if (= (vector-length vars-35997) 4) + (eq? (vector-ref vars-35997 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref vars-35997 1)) + #f)) + (cons (if (if (null? (car w-35999)) + (null? (cdr w-35999)) + #f) + vars-35997 + (if (if (vector? vars-35997) + (if (= (vector-length vars-35997) 4) + (eq? (vector-ref vars-35997 0) + 'syntax-object) + #f) + #f) + (let ((expression-36133 + (vector-ref vars-35997 1)) + (wrap-36134 + (let ((w2-36144 + (vector-ref vars-35997 2))) + (let ((m1-36145 (car w-35999)) + (s1-36146 (cdr w-35999))) + (if (null? m1-36145) + (if (null? s1-36146) + w2-36144 + (cons (car w2-36144) + (let ((m2-36163 + (cdr w2-36144))) + (if (null? m2-36163) + s1-36146 + (append + s1-36146 + m2-36163))))) + (cons (let ((m2-36171 + (car w2-36144))) + (if (null? m2-36171) + m1-36145 + (append + m1-36145 + m2-36171))) + (let ((m2-36179 + (cdr w2-36144))) + (if (null? m2-36179) + s1-36146 + (append + s1-36146 + m2-36179)))))))) + (module-36135 (vector-ref vars-35997 3))) + (vector + 'syntax-object + expression-36133 + wrap-36134 + module-36135)) + (if (null? vars-35997) + vars-35997 + (vector + 'syntax-object + vars-35997 + w-35999 + #f)))) + ls-35998) + (if (null? vars-35997) + ls-35998 + (if (if (vector? vars-35997) + (if (= (vector-length vars-35997) 4) + (eq? (vector-ref vars-35997 0) 'syntax-object) + #f) + #f) + (lvl-35994 + (vector-ref vars-35997 1) + ls-35998 + (let ((w2-36220 (vector-ref vars-35997 2))) + (let ((m1-36221 (car w-35999)) + (s1-36222 (cdr w-35999))) + (if (null? m1-36221) + (if (null? s1-36222) + w2-36220 + (cons (car w2-36220) + (let ((m2-36233 (cdr w2-36220))) + (if (null? m2-36233) + s1-36222 + (append s1-36222 m2-36233))))) + (cons (let ((m2-36241 (car w2-36220))) + (if (null? m2-36241) + m1-36221 + (append m1-36221 m2-36241))) + (let ((m2-36249 (cdr w2-36220))) + (if (null? m2-36249) + s1-36222 + (append s1-36222 m2-36249)))))))) + (cons vars-35997 ls-35998)))))))) + (lvl-35994 vars-35993 '() '(())))))) + (begin + (set! session-id-4511 + (let ((v-18812 + (module-variable + (current-module) + 'syntax-session-id))) + (lambda () ((variable-ref v-18812))))) + (set! transformer-environment-4572 + (make-fluid + (lambda (k-17456) + (error "called outside the dynamic extent of a syntax transformer")))) + (module-define! + (current-module) + 'letrec-syntax + (make-syntax-transformer + 'letrec-syntax + 'local-syntax + #t)) + (module-define! + (current-module) + 'let-syntax + (make-syntax-transformer + 'let-syntax + 'local-syntax + #f)) + (global-extend-4548 + 'core + 'syntax-parameterize + (lambda (e-4728 r-4729 w-4730 s-4731 mod-4732) + (let ((tmp-4734 + ($sc-dispatch + e-4728 + '(_ #(each (any any)) any . each-any)))) + (if (if tmp-4734 + (@apply + (lambda (var-4738 val-4739 e1-4740 e2-4741) + (valid-bound-ids?-4576 var-4738)) + tmp-4734) + #f) + (@apply + (lambda (var-4826 val-4827 e1-4828 e2-4829) + (let ((names-4830 + (map (lambda (x-5170) + (call-with-values + (lambda () + (resolve-identifier-4571 + x-5170 + w-4730 + r-4729 + mod-4732 + #f)) + (lambda (type-5173 value-5174 mod-5175) + (if (eqv? type-5173 'displaced-lexical) + (syntax-violation + 'syntax-parameterize + "identifier out of context" + e-4728 + (let ((x-5188 + (begin + (if (if (pair? x-5170) + s-4731 + #f) + (set-source-properties! + x-5170 + s-4731)) + x-5170))) + (if (if (null? (car w-4730)) + (null? (cdr w-4730)) + #f) + x-5188 + (if (if (vector? x-5188) + (if (= (vector-length + x-5188) + 4) + (eq? (vector-ref x-5188 0) + 'syntax-object) + #f) + #f) + (let ((expression-5220 + (vector-ref x-5188 1)) + (wrap-5221 + (let ((w2-5229 + (vector-ref + x-5188 + 2))) + (let ((m1-5230 + (car w-4730)) + (s1-5231 + (cdr w-4730))) + (if (null? m1-5230) + (if (null? s1-5231) + w2-5229 + (cons (car w2-5229) + (let ((m2-5246 + (cdr w2-5229))) + (if (null? m2-5246) + s1-5231 + (append + s1-5231 + m2-5246))))) + (cons (let ((m2-5254 + (car w2-5229))) + (if (null? m2-5254) + m1-5230 + (append + m1-5230 + m2-5254))) + (let ((m2-5262 + (cdr w2-5229))) + (if (null? m2-5262) + s1-5231 + (append + s1-5231 + m2-5262)))))))) + (module-5222 + (vector-ref x-5188 3))) + (vector + 'syntax-object + expression-5220 + wrap-5221 + module-5222)) + (if (null? x-5188) + x-5188 + (vector + 'syntax-object + x-5188 + w-4730 + mod-5175)))))) + (if (eqv? type-5173 'syntax-parameter) + value-5174 + (syntax-violation + 'syntax-parameterize + "invalid syntax parameter" + e-4728 + (let ((x-5289 + (begin + (if (if (pair? x-5170) + s-4731 + #f) + (set-source-properties! + x-5170 + s-4731)) + x-5170))) + (if (if (null? (car w-4730)) + (null? (cdr w-4730)) + #f) + x-5289 + (if (if (vector? x-5289) + (if (= (vector-length + x-5289) + 4) + (eq? (vector-ref + x-5289 + 0) + 'syntax-object) + #f) + #f) + (let ((expression-5321 + (vector-ref x-5289 1)) + (wrap-5322 + (let ((w2-5330 + (vector-ref + x-5289 + 2))) + (let ((m1-5331 + (car w-4730)) + (s1-5332 + (cdr w-4730))) + (if (null? m1-5331) + (if (null? s1-5332) + w2-5330 + (cons (car w2-5330) + (let ((m2-5347 + (cdr w2-5330))) + (if (null? m2-5347) + s1-5332 + (append + s1-5332 + m2-5347))))) + (cons (let ((m2-5355 + (car w2-5330))) + (if (null? m2-5355) + m1-5331 + (append + m1-5331 + m2-5355))) + (let ((m2-5363 + (cdr w2-5330))) + (if (null? m2-5363) + s1-5332 + (append + s1-5332 + m2-5363)))))))) + (module-5323 + (vector-ref + x-5289 + 3))) + (vector + 'syntax-object + expression-5321 + wrap-5322 + module-5323)) + (if (null? x-5289) + x-5289 + (vector + 'syntax-object + x-5289 + w-4730 + mod-5175))))))))))) + var-4826)) + (bindings-4831 + (let ((trans-r-5378 (macros-only-env-4547 r-4729))) + (map (lambda (x-5379) + (cons 'macro + (eval-local-transformer-4592 + (expand-4586 + x-5379 + trans-r-5378 + w-4730 + mod-4732) + mod-4732))) + val-4827)))) + (expand-body-4590 + (cons e1-4828 e2-4829) + (let ((x-4843 + (begin + (if (if (pair? e-4728) s-4731 #f) + (set-source-properties! e-4728 s-4731)) + e-4728))) + (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f) + x-4843 + (if (if (vector? x-4843) + (if (= (vector-length x-4843) 4) + (eq? (vector-ref x-4843 0) 'syntax-object) + #f) + #f) + (let ((expression-4875 (vector-ref x-4843 1)) + (wrap-4876 + (let ((w2-4884 (vector-ref x-4843 2))) + (let ((m1-4885 (car w-4730)) + (s1-4886 (cdr w-4730))) + (if (null? m1-4885) + (if (null? s1-4886) + w2-4884 + (cons (car w2-4884) + (let ((m2-4901 + (cdr w2-4884))) + (if (null? m2-4901) + s1-4886 + (append + s1-4886 + m2-4901))))) + (cons (let ((m2-4909 (car w2-4884))) + (if (null? m2-4909) + m1-4885 + (append m1-4885 m2-4909))) + (let ((m2-4917 (cdr w2-4884))) + (if (null? m2-4917) + s1-4886 + (append + s1-4886 + m2-4917)))))))) + (module-4877 (vector-ref x-4843 3))) + (vector + 'syntax-object + expression-4875 + wrap-4876 + module-4877)) + (if (null? x-4843) + x-4843 + (vector + 'syntax-object + x-4843 + w-4730 + mod-4732))))) + (extend-env-4545 names-4830 bindings-4831 r-4729) + w-4730 + mod-4732))) + tmp-4734) + (syntax-violation + 'syntax-parameterize + "bad syntax" + (let ((x-5599 + (begin + (if (if (pair? e-4728) s-4731 #f) + (set-source-properties! e-4728 s-4731)) + e-4728))) + (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f) + x-5599 + (if (if (vector? x-5599) + (if (= (vector-length x-5599) 4) + (eq? (vector-ref x-5599 0) 'syntax-object) + #f) + #f) + (let ((expression-5631 (vector-ref x-5599 1)) + (wrap-5632 + (let ((w2-5640 (vector-ref x-5599 2))) + (let ((m1-5641 (car w-4730)) + (s1-5642 (cdr w-4730))) + (if (null? m1-5641) + (if (null? s1-5642) + w2-5640 + (cons (car w2-5640) + (let ((m2-5657 (cdr w2-5640))) + (if (null? m2-5657) + s1-5642 + (append s1-5642 m2-5657))))) + (cons (let ((m2-5665 (car w2-5640))) + (if (null? m2-5665) + m1-5641 + (append m1-5641 m2-5665))) + (let ((m2-5673 (cdr w2-5640))) + (if (null? m2-5673) + s1-5642 + (append s1-5642 m2-5673)))))))) + (module-5633 (vector-ref x-5599 3))) + (vector + 'syntax-object + expression-5631 + wrap-5632 + module-5633)) + (if (null? x-5599) + x-5599 + (vector 'syntax-object x-5599 w-4730 mod-4732)))))))))) + (module-define! + (current-module) + 'quote + (make-syntax-transformer + 'quote + 'core + (lambda (e-5701 r-5702 w-5703 s-5704 mod-5705) + (let ((tmp-5707 ($sc-dispatch e-5701 '(_ any)))) + (if tmp-5707 + (@apply + (lambda (e-5710) + (let ((exp-5714 (strip-4599 e-5710 w-5703))) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + s-5704 + exp-5714))) + tmp-5707) + (syntax-violation + 'quote + "bad syntax" + (let ((x-5728 + (begin + (if (if (pair? e-5701) s-5704 #f) + (set-source-properties! e-5701 s-5704)) + e-5701))) + (if (if (null? (car w-5703)) (null? (cdr w-5703)) #f) + x-5728 + (if (if (vector? x-5728) + (if (= (vector-length x-5728) 4) + (eq? (vector-ref x-5728 0) 'syntax-object) + #f) + #f) + (let ((expression-5760 (vector-ref x-5728 1)) + (wrap-5761 + (let ((w2-5769 (vector-ref x-5728 2))) + (let ((m1-5770 (car w-5703)) + (s1-5771 (cdr w-5703))) + (if (null? m1-5770) + (if (null? s1-5771) + w2-5769 + (cons (car w2-5769) + (let ((m2-5786 (cdr w2-5769))) + (if (null? m2-5786) + s1-5771 + (append s1-5771 m2-5786))))) + (cons (let ((m2-5794 (car w2-5769))) + (if (null? m2-5794) + m1-5770 + (append m1-5770 m2-5794))) + (let ((m2-5802 (cdr w2-5769))) + (if (null? m2-5802) + s1-5771 + (append s1-5771 m2-5802)))))))) + (module-5762 (vector-ref x-5728 3))) + (vector + 'syntax-object + expression-5760 + wrap-5761 + module-5762)) + (if (null? x-5728) + x-5728 + (vector + 'syntax-object + x-5728 + w-5703 + mod-5705))))))))))) + (global-extend-4548 + 'core + 'syntax + (letrec* + ((gen-syntax-6020 + (lambda (src-6451 + e-6452 + r-6453 + maps-6454 + ellipsis?-6455 + mod-6456) + (if (if (symbol? e-6452) + #t + (if (if (vector? e-6452) + (if (= (vector-length e-6452) 4) + (eq? (vector-ref e-6452 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref e-6452 1)) + #f)) + (call-with-values + (lambda () + (resolve-identifier-4571 + e-6452 + '(()) + r-6453 + mod-6456 + #f)) + (lambda (type-6485 value-6486 mod-6487) + (if (eqv? type-6485 'syntax) + (call-with-values + (lambda () + (gen-ref-6021 + src-6451 + (car value-6486) + (cdr value-6486) + maps-6454)) + (lambda (var-6493 maps-6494) + (values (list 'ref var-6493) maps-6494))) + (if (ellipsis?-6455 e-6452) + (syntax-violation + 'syntax + "misplaced ellipsis" + src-6451) + (values (list 'quote e-6452) maps-6454))))) + (let ((tmp-6496 ($sc-dispatch e-6452 '(any any)))) + (if (if tmp-6496 + (@apply + (lambda (dots-6500 e-6501) + (ellipsis?-6455 dots-6500)) + tmp-6496) + #f) + (@apply + (lambda (dots-6502 e-6503) + (gen-syntax-6020 + src-6451 + e-6503 + r-6453 + maps-6454 + (lambda (x-6504) #f) + mod-6456)) + tmp-6496) + (let ((tmp-6505 ($sc-dispatch e-6452 '(any any . any)))) + (if (if tmp-6505 + (@apply + (lambda (x-6509 dots-6510 y-6511) + (ellipsis?-6455 dots-6510)) + tmp-6505) + #f) + (@apply + (lambda (x-6512 dots-6513 y-6514) + (letrec* + ((f-6515 + (lambda (y-6523 k-6524) + (let ((tmp-6526 + ($sc-dispatch + y-6523 + '(any . any)))) + (if (if tmp-6526 + (@apply + (lambda (dots-6530 y-6531) + (ellipsis?-6455 dots-6530)) + tmp-6526) + #f) + (@apply + (lambda (dots-6532 y-6533) + (f-6515 + y-6533 + (lambda (maps-6534) + (call-with-values + (lambda () + (k-6524 + (cons '() maps-6534))) + (lambda (x-6535 maps-6536) + (if (null? (car maps-6536)) + (syntax-violation + 'syntax + "extra ellipsis" + src-6451) + (values + (let ((map-env-6540 + (car maps-6536))) + (list 'apply + '(primitive + append) + (gen-map-6023 + x-6535 + map-env-6540))) + (cdr maps-6536)))))))) + tmp-6526) + (call-with-values + (lambda () + (gen-syntax-6020 + src-6451 + y-6523 + r-6453 + maps-6454 + ellipsis?-6455 + mod-6456)) + (lambda (y-6543 maps-6544) + (call-with-values + (lambda () (k-6524 maps-6544)) + (lambda (x-6545 maps-6546) + (values + (if (equal? y-6543 ''()) + x-6545 + (list 'append + x-6545 + y-6543)) + maps-6546)))))))))) + (f-6515 + y-6514 + (lambda (maps-6518) + (call-with-values + (lambda () + (gen-syntax-6020 + src-6451 + x-6512 + r-6453 + (cons '() maps-6518) + ellipsis?-6455 + mod-6456)) + (lambda (x-6519 maps-6520) + (if (null? (car maps-6520)) + (syntax-violation + 'syntax + "extra ellipsis" + src-6451) + (values + (gen-map-6023 + x-6519 + (car maps-6520)) + (cdr maps-6520))))))))) + tmp-6505) + (let ((tmp-6562 ($sc-dispatch e-6452 '(any . any)))) + (if tmp-6562 + (@apply + (lambda (x-6566 y-6567) + (call-with-values + (lambda () + (gen-syntax-6020 + src-6451 + x-6566 + r-6453 + maps-6454 + ellipsis?-6455 + mod-6456)) + (lambda (x-6568 maps-6569) + (call-with-values + (lambda () + (gen-syntax-6020 + src-6451 + y-6567 + r-6453 + maps-6569 + ellipsis?-6455 + mod-6456)) + (lambda (y-6570 maps-6571) + (values + (let ((atom-key-6576 (car y-6570))) + (if (eqv? atom-key-6576 'quote) + (if (eq? (car x-6568) 'quote) + (list 'quote + (cons (car (cdr x-6568)) + (car (cdr y-6570)))) + (if (eq? (car (cdr y-6570)) + '()) + (list 'list x-6568) + (list 'cons x-6568 y-6570))) + (if (eqv? atom-key-6576 'list) + (cons 'list + (cons x-6568 + (cdr y-6570))) + (list 'cons x-6568 y-6570)))) + maps-6571)))))) + tmp-6562) + (let ((tmp-6605 + ($sc-dispatch + e-6452 + '#(vector (any . each-any))))) + (if tmp-6605 + (@apply + (lambda (e1-6609 e2-6610) + (call-with-values + (lambda () + (gen-syntax-6020 + src-6451 + (cons e1-6609 e2-6610) + r-6453 + maps-6454 + ellipsis?-6455 + mod-6456)) + (lambda (e-6611 maps-6612) + (values + (if (eq? (car e-6611) 'list) + (cons 'vector (cdr e-6611)) + (if (eq? (car e-6611) 'quote) + (list 'quote + (list->vector + (car (cdr e-6611)))) + (list 'list->vector e-6611))) + maps-6612)))) + tmp-6605) + (values + (list 'quote e-6452) + maps-6454)))))))))))) + (gen-ref-6021 + (lambda (src-6639 var-6640 level-6641 maps-6642) + (if (= level-6641 0) + (values var-6640 maps-6642) + (if (null? maps-6642) + (syntax-violation + 'syntax + "missing ellipsis" + src-6639) + (call-with-values + (lambda () + (gen-ref-6021 + src-6639 + var-6640 + (#{1-}# level-6641) + (cdr maps-6642))) + (lambda (outer-var-6643 outer-maps-6644) + (let ((b-6645 (assq outer-var-6643 (car maps-6642)))) + (if b-6645 + (values (cdr b-6645) maps-6642) + (let ((inner-var-6647 + (gensym + (string-append + (symbol->string 'tmp) + "-")))) + (values + inner-var-6647 + (cons (cons (cons outer-var-6643 inner-var-6647) + (car maps-6642)) + outer-maps-6644))))))))))) + (gen-map-6023 + (lambda (e-6661 map-env-6662) + (let ((formals-6663 (map cdr map-env-6662)) + (actuals-6664 + (map (lambda (x-6666) (list 'ref (car x-6666))) + map-env-6662))) + (if (eq? (car e-6661) 'ref) + (car actuals-6664) + (if (and-map + (lambda (x-6667) + (if (eq? (car x-6667) 'ref) + (memq (car (cdr x-6667)) formals-6663) + #f)) + (cdr e-6661)) + (cons 'map + (cons (list 'primitive (car e-6661)) + (map (let ((r-6669 + (map cons + formals-6663 + actuals-6664))) + (lambda (x-6670) + (cdr (assq (car (cdr x-6670)) + r-6669)))) + (cdr e-6661)))) + (cons 'map + (cons (list 'lambda formals-6663 e-6661) + actuals-6664))))))) + (regen-6027 + (lambda (x-6672) + (let ((atom-key-6673 (car x-6672))) + (if (eqv? atom-key-6673 'ref) + (let ((name-6683 (car (cdr x-6672))) + (var-6684 (car (cdr x-6672)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + #f + name-6683 + var-6684)) + (if (eqv? atom-key-6673 'primitive) + (let ((name-6695 (car (cdr x-6672)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 2) + #f + name-6695)) + (if (eqv? atom-key-6673 'quote) + (let ((exp-6706 (car (cdr x-6672)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + exp-6706)) + (if (eqv? atom-key-6673 'lambda) + (if (list? (car (cdr x-6672))) + (let ((req-6717 (car (cdr x-6672))) + (vars-6719 (car (cdr x-6672))) + (exp-6721 + (regen-6027 (car (cdr (cdr x-6672)))))) + (let ((body-6726 + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #f + req-6717 + #f + #f + #f + '() + vars-6719 + exp-6721 + #f))) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + #f + '() + body-6726))) + (error "how did we get here" x-6672)) + (let ((name-6742 (car x-6672)) + (args-6743 (map regen-6027 (cdr x-6672)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + name-6742 + args-6743)))))))))) + (lambda (e-6028 r-6029 w-6030 s-6031 mod-6032) + (let ((e-6033 + (let ((x-6362 + (begin + (if (if (pair? e-6028) s-6031 #f) + (set-source-properties! e-6028 s-6031)) + e-6028))) + (if (if (null? (car w-6030)) (null? (cdr w-6030)) #f) + x-6362 + (if (if (vector? x-6362) + (if (= (vector-length x-6362) 4) + (eq? (vector-ref x-6362 0) 'syntax-object) + #f) + #f) + (let ((expression-6394 (vector-ref x-6362 1)) + (wrap-6395 + (let ((w2-6403 (vector-ref x-6362 2))) + (let ((m1-6404 (car w-6030)) + (s1-6405 (cdr w-6030))) + (if (null? m1-6404) + (if (null? s1-6405) + w2-6403 + (cons (car w2-6403) + (let ((m2-6420 (cdr w2-6403))) + (if (null? m2-6420) + s1-6405 + (append + s1-6405 + m2-6420))))) + (cons (let ((m2-6428 (car w2-6403))) + (if (null? m2-6428) + m1-6404 + (append m1-6404 m2-6428))) + (let ((m2-6436 (cdr w2-6403))) + (if (null? m2-6436) + s1-6405 + (append + s1-6405 + m2-6436)))))))) + (module-6396 (vector-ref x-6362 3))) + (vector + 'syntax-object + expression-6394 + wrap-6395 + module-6396)) + (if (null? x-6362) + x-6362 + (vector + 'syntax-object + x-6362 + w-6030 + mod-6032))))))) + (let ((tmp-6034 e-6033)) + (let ((tmp-6035 ($sc-dispatch tmp-6034 '(_ any)))) + (if tmp-6035 + (@apply + (lambda (x-6083) + (call-with-values + (lambda () + (gen-syntax-6020 + e-6033 + x-6083 + r-6029 + '() + ellipsis?-4594 + mod-6032)) + (lambda (e-6160 maps-6161) (regen-6027 e-6160)))) + tmp-6035) + (syntax-violation + 'syntax + "bad `syntax' form" + e-6033)))))))) + (global-extend-4548 + 'core + 'lambda + (lambda (e-6974 r-6975 w-6976 s-6977 mod-6978) + (let ((tmp-6980 + ($sc-dispatch e-6974 '(_ any any . each-any)))) + (if tmp-6980 + (@apply + (lambda (args-6984 e1-6985 e2-6986) + (call-with-values + (lambda () (lambda-formals-4595 args-6984)) + (lambda (req-6989 opt-6990 rest-6991 kw-6992) + (letrec* + ((lp-6993 + (lambda (body-6996 meta-6997) + (let ((tmp-6999 + ($sc-dispatch + body-6996 + '(any any . each-any)))) + (if (if tmp-6999 + (@apply + (lambda (docstring-7003 e1-7004 e2-7005) + (string? + (syntax->datum docstring-7003))) + tmp-6999) + #f) + (@apply + (lambda (docstring-7006 e1-7007 e2-7008) + (lp-6993 + (cons e1-7007 e2-7008) + (append + meta-6997 + (list (cons 'documentation + (syntax->datum + docstring-7006)))))) + tmp-6999) + (let ((tmp-7009 + ($sc-dispatch + body-6996 + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if tmp-7009 + (@apply + (lambda (k-7013 v-7014 e1-7015 e2-7016) + (lp-6993 + (cons e1-7015 e2-7016) + (append + meta-6997 + (syntax->datum + (map cons k-7013 v-7014))))) + tmp-7009) + (expand-simple-lambda-4596 + e-6974 + r-6975 + w-6976 + s-6977 + mod-6978 + req-6989 + rest-6991 + meta-6997 + body-6996)))))))) + (lp-6993 (cons e1-6985 e2-6986) '()))))) + tmp-6980) + (syntax-violation 'lambda "bad lambda" e-6974))))) + (global-extend-4548 + 'core + 'lambda* + (lambda (e-7391 r-7392 w-7393 s-7394 mod-7395) + (let ((tmp-7397 + ($sc-dispatch e-7391 '(_ any any . each-any)))) + (if tmp-7397 + (@apply + (lambda (args-7401 e1-7402 e2-7403) + (call-with-values + (lambda () + (expand-lambda-case-4598 + e-7391 + r-7392 + w-7393 + s-7394 + mod-7395 + lambda*-formals-4597 + (list (cons args-7401 (cons e1-7402 e2-7403))))) + (lambda (meta-7406 lcase-7407) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + s-7394 + meta-7406 + lcase-7407)))) + tmp-7397) + (syntax-violation 'lambda "bad lambda*" e-7391))))) + (global-extend-4548 + 'core + 'case-lambda + (lambda (e-7570 r-7571 w-7572 s-7573 mod-7574) + (let ((tmp-7576 + ($sc-dispatch + e-7570 + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if tmp-7576 + (@apply + (lambda (args-7580 + e1-7581 + e2-7582 + args*-7583 + e1*-7584 + e2*-7585) + (call-with-values + (lambda () + (expand-lambda-case-4598 + e-7570 + r-7571 + w-7572 + s-7573 + mod-7574 + lambda-formals-4595 + (cons (cons args-7580 (cons e1-7581 e2-7582)) + (map (lambda (tmp-3460-7588 + tmp-3459-7589 + tmp-3458-7590) + (cons tmp-3458-7590 + (cons tmp-3459-7589 tmp-3460-7588))) + e2*-7585 + e1*-7584 + args*-7583)))) + (lambda (meta-7591 lcase-7592) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + s-7573 + meta-7591 + lcase-7592)))) + tmp-7576) + (syntax-violation + 'case-lambda + "bad case-lambda" + e-7570))))) + (global-extend-4548 + 'core + 'case-lambda* + (lambda (e-7761 r-7762 w-7763 s-7764 mod-7765) + (let ((tmp-7767 + ($sc-dispatch + e-7761 + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if tmp-7767 + (@apply + (lambda (args-7771 + e1-7772 + e2-7773 + args*-7774 + e1*-7775 + e2*-7776) + (call-with-values + (lambda () + (expand-lambda-case-4598 + e-7761 + r-7762 + w-7763 + s-7764 + mod-7765 + lambda*-formals-4597 + (cons (cons args-7771 (cons e1-7772 e2-7773)) + (map (lambda (tmp-3495-7779 + tmp-3494-7780 + tmp-3493-7781) + (cons tmp-3493-7781 + (cons tmp-3494-7780 tmp-3495-7779))) + e2*-7776 + e1*-7775 + args*-7774)))) + (lambda (meta-7782 lcase-7783) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + s-7764 + meta-7782 + lcase-7783)))) + tmp-7767) + (syntax-violation + 'case-lambda + "bad case-lambda*" + e-7761))))) + (global-extend-4548 + 'core + 'let + (letrec* + ((expand-let-7991 + (lambda (e-8201 + r-8202 + w-8203 + s-8204 + mod-8205 + constructor-8206 + ids-8207 + vals-8208 + exps-8209) + (if (not (valid-bound-ids?-4576 ids-8207)) + (syntax-violation + 'let + "duplicate bound variable" + e-8201) + (let ((labels-8294 (gen-labels-4553 ids-8207)) + (new-vars-8295 (map gen-var-4600 ids-8207))) + (let ((nw-8296 + (make-binding-wrap-4564 + ids-8207 + labels-8294 + w-8203)) + (nr-8297 + (extend-var-env-4546 + labels-8294 + new-vars-8295 + r-8202))) + (constructor-8206 + s-8204 + (map syntax->datum ids-8207) + new-vars-8295 + (map (lambda (x-8314) + (expand-4586 x-8314 r-8202 w-8203 mod-8205)) + vals-8208) + (expand-body-4590 + exps-8209 + (source-wrap-4580 e-8201 nw-8296 s-8204 mod-8205) + nr-8297 + nw-8296 + mod-8205)))))))) + (lambda (e-7992 r-7993 w-7994 s-7995 mod-7996) + (let ((tmp-7998 + ($sc-dispatch + e-7992 + '(_ #(each (any any)) any . each-any)))) + (if (if tmp-7998 + (@apply + (lambda (id-8002 val-8003 e1-8004 e2-8005) + (and-map id?-4550 id-8002)) + tmp-7998) + #f) + (@apply + (lambda (id-8021 val-8022 e1-8023 e2-8024) + (expand-let-7991 + e-7992 + r-7993 + w-7994 + s-7995 + mod-7996 + (lambda (src-8028 + ids-8029 + vars-8030 + val-exps-8031 + body-exp-8032) + (begin + (for-each + maybe-name-value!-4515 + ids-8029 + val-exps-8031) + (if (null? vars-8030) + body-exp-8032 + (make-struct/no-tail + (vector-ref %expanded-vtables 16) + src-8028 + ids-8029 + vars-8030 + val-exps-8031 + body-exp-8032)))) + id-8021 + val-8022 + (cons e1-8023 e2-8024))) + tmp-7998) + (let ((tmp-8039 + ($sc-dispatch + e-7992 + '(_ any #(each (any any)) any . each-any)))) + (if (if tmp-8039 + (@apply + (lambda (f-8043 id-8044 val-8045 e1-8046 e2-8047) + (if (if (symbol? f-8043) + #t + (if (if (vector? f-8043) + (if (= (vector-length f-8043) 4) + (eq? (vector-ref f-8043 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref f-8043 1)) + #f)) + (and-map id?-4550 id-8044) + #f)) + tmp-8039) + #f) + (@apply + (lambda (f-8089 id-8090 val-8091 e1-8092 e2-8093) + (expand-let-7991 + e-7992 + r-7993 + w-7994 + s-7995 + mod-7996 + build-named-let-4534 + (cons f-8089 id-8090) + val-8091 + (cons e1-8092 e2-8093))) + tmp-8039) + (syntax-violation + 'let + "bad let" + (let ((x-8106 + (begin + (if (if (pair? e-7992) s-7995 #f) + (set-source-properties! e-7992 s-7995)) + e-7992))) + (if (if (null? (car w-7994)) (null? (cdr w-7994)) #f) + x-8106 + (if (if (vector? x-8106) + (if (= (vector-length x-8106) 4) + (eq? (vector-ref x-8106 0) 'syntax-object) + #f) + #f) + (let ((expression-8138 (vector-ref x-8106 1)) + (wrap-8139 + (let ((w2-8147 (vector-ref x-8106 2))) + (let ((m1-8148 (car w-7994)) + (s1-8149 (cdr w-7994))) + (if (null? m1-8148) + (if (null? s1-8149) + w2-8147 + (cons (car w2-8147) + (let ((m2-8164 + (cdr w2-8147))) + (if (null? m2-8164) + s1-8149 + (append + s1-8149 + m2-8164))))) + (cons (let ((m2-8172 (car w2-8147))) + (if (null? m2-8172) + m1-8148 + (append m1-8148 m2-8172))) + (let ((m2-8180 (cdr w2-8147))) + (if (null? m2-8180) + s1-8149 + (append + s1-8149 + m2-8180)))))))) + (module-8140 (vector-ref x-8106 3))) + (vector + 'syntax-object + expression-8138 + wrap-8139 + module-8140)) + (if (null? x-8106) + x-8106 + (vector + 'syntax-object + x-8106 + w-7994 + mod-7996))))))))))))) + (global-extend-4548 + 'core + 'letrec + (lambda (e-8744 r-8745 w-8746 s-8747 mod-8748) + (let ((tmp-8750 + ($sc-dispatch + e-8744 + '(_ #(each (any any)) any . each-any)))) + (if (if tmp-8750 + (@apply + (lambda (id-8754 val-8755 e1-8756 e2-8757) + (and-map id?-4550 id-8754)) + tmp-8750) + #f) + (@apply + (lambda (id-8773 val-8774 e1-8775 e2-8776) + (if (not (valid-bound-ids?-4576 id-8773)) + (syntax-violation + 'letrec + "duplicate bound variable" + e-8744) + (let ((labels-8873 (gen-labels-4553 id-8773)) + (new-vars-8874 (map gen-var-4600 id-8773))) + (let ((w-8875 + (make-binding-wrap-4564 + id-8773 + labels-8873 + w-8746)) + (r-8876 + (extend-var-env-4546 + labels-8873 + new-vars-8874 + r-8745))) + (build-letrec-4535 + s-8747 + #f + (map syntax->datum id-8773) + new-vars-8874 + (map (lambda (x-8953) + (expand-4586 x-8953 r-8876 w-8875 mod-8748)) + val-8774) + (expand-body-4590 + (cons e1-8775 e2-8776) + (let ((x-9015 + (begin + (if (if (pair? e-8744) s-8747 #f) + (set-source-properties! e-8744 s-8747)) + e-8744))) + (if (if (null? (car w-8875)) + (null? (cdr w-8875)) + #f) + x-9015 + (if (if (vector? x-9015) + (if (= (vector-length x-9015) 4) + (eq? (vector-ref x-9015 0) + 'syntax-object) + #f) + #f) + (let ((expression-9047 (vector-ref x-9015 1)) + (wrap-9048 + (let ((w2-9056 + (vector-ref x-9015 2))) + (let ((m1-9057 (car w-8875)) + (s1-9058 (cdr w-8875))) + (if (null? m1-9057) + (if (null? s1-9058) + w2-9056 + (cons (car w2-9056) + (let ((m2-9073 + (cdr w2-9056))) + (if (null? m2-9073) + s1-9058 + (append + s1-9058 + m2-9073))))) + (cons (let ((m2-9081 + (car w2-9056))) + (if (null? m2-9081) + m1-9057 + (append + m1-9057 + m2-9081))) + (let ((m2-9089 + (cdr w2-9056))) + (if (null? m2-9089) + s1-9058 + (append + s1-9058 + m2-9089)))))))) + (module-9049 (vector-ref x-9015 3))) + (vector + 'syntax-object + expression-9047 + wrap-9048 + module-9049)) + (if (null? x-9015) + x-9015 + (vector + 'syntax-object + x-9015 + w-8875 + mod-8748))))) + r-8876 + w-8875 + mod-8748)))))) + tmp-8750) + (syntax-violation + 'letrec + "bad letrec" + (let ((x-9300 + (begin + (if (if (pair? e-8744) s-8747 #f) + (set-source-properties! e-8744 s-8747)) + e-8744))) + (if (if (null? (car w-8746)) (null? (cdr w-8746)) #f) + x-9300 + (if (if (vector? x-9300) + (if (= (vector-length x-9300) 4) + (eq? (vector-ref x-9300 0) 'syntax-object) + #f) + #f) + (let ((expression-9332 (vector-ref x-9300 1)) + (wrap-9333 + (let ((w2-9341 (vector-ref x-9300 2))) + (let ((m1-9342 (car w-8746)) + (s1-9343 (cdr w-8746))) + (if (null? m1-9342) + (if (null? s1-9343) + w2-9341 + (cons (car w2-9341) + (let ((m2-9358 (cdr w2-9341))) + (if (null? m2-9358) + s1-9343 + (append s1-9343 m2-9358))))) + (cons (let ((m2-9366 (car w2-9341))) + (if (null? m2-9366) + m1-9342 + (append m1-9342 m2-9366))) + (let ((m2-9374 (cdr w2-9341))) + (if (null? m2-9374) + s1-9343 + (append s1-9343 m2-9374)))))))) + (module-9334 (vector-ref x-9300 3))) + (vector + 'syntax-object + expression-9332 + wrap-9333 + module-9334)) + (if (null? x-9300) + x-9300 + (vector 'syntax-object x-9300 w-8746 mod-8748)))))))))) + (global-extend-4548 + 'core + 'letrec* + (lambda (e-9525 r-9526 w-9527 s-9528 mod-9529) + (let ((tmp-9531 + ($sc-dispatch + e-9525 + '(_ #(each (any any)) any . each-any)))) + (if (if tmp-9531 + (@apply + (lambda (id-9535 val-9536 e1-9537 e2-9538) + (and-map id?-4550 id-9535)) + tmp-9531) + #f) + (@apply + (lambda (id-9554 val-9555 e1-9556 e2-9557) + (if (not (valid-bound-ids?-4576 id-9554)) + (syntax-violation + 'letrec* + "duplicate bound variable" + e-9525) + (let ((labels-9654 (gen-labels-4553 id-9554)) + (new-vars-9655 (map gen-var-4600 id-9554))) + (let ((w-9656 + (make-binding-wrap-4564 + id-9554 + labels-9654 + w-9527)) + (r-9657 + (extend-var-env-4546 + labels-9654 + new-vars-9655 + r-9526))) + (build-letrec-4535 + s-9528 + #t + (map syntax->datum id-9554) + new-vars-9655 + (map (lambda (x-9734) + (expand-4586 x-9734 r-9657 w-9656 mod-9529)) + val-9555) + (expand-body-4590 + (cons e1-9556 e2-9557) + (let ((x-9796 + (begin + (if (if (pair? e-9525) s-9528 #f) + (set-source-properties! e-9525 s-9528)) + e-9525))) + (if (if (null? (car w-9656)) + (null? (cdr w-9656)) + #f) + x-9796 + (if (if (vector? x-9796) + (if (= (vector-length x-9796) 4) + (eq? (vector-ref x-9796 0) + 'syntax-object) + #f) + #f) + (let ((expression-9828 (vector-ref x-9796 1)) + (wrap-9829 + (let ((w2-9837 + (vector-ref x-9796 2))) + (let ((m1-9838 (car w-9656)) + (s1-9839 (cdr w-9656))) + (if (null? m1-9838) + (if (null? s1-9839) + w2-9837 + (cons (car w2-9837) + (let ((m2-9854 + (cdr w2-9837))) + (if (null? m2-9854) + s1-9839 + (append + s1-9839 + m2-9854))))) + (cons (let ((m2-9862 + (car w2-9837))) + (if (null? m2-9862) + m1-9838 + (append + m1-9838 + m2-9862))) + (let ((m2-9870 + (cdr w2-9837))) + (if (null? m2-9870) + s1-9839 + (append + s1-9839 + m2-9870)))))))) + (module-9830 (vector-ref x-9796 3))) + (vector + 'syntax-object + expression-9828 + wrap-9829 + module-9830)) + (if (null? x-9796) + x-9796 + (vector + 'syntax-object + x-9796 + w-9656 + mod-9529))))) + r-9657 + w-9656 + mod-9529)))))) + tmp-9531) + (syntax-violation + 'letrec* + "bad letrec*" + (let ((x-10081 + (begin + (if (if (pair? e-9525) s-9528 #f) + (set-source-properties! e-9525 s-9528)) + e-9525))) + (if (if (null? (car w-9527)) (null? (cdr w-9527)) #f) + x-10081 + (if (if (vector? x-10081) + (if (= (vector-length x-10081) 4) + (eq? (vector-ref x-10081 0) 'syntax-object) + #f) + #f) + (let ((expression-10113 (vector-ref x-10081 1)) + (wrap-10114 + (let ((w2-10122 (vector-ref x-10081 2))) + (let ((m1-10123 (car w-9527)) + (s1-10124 (cdr w-9527))) + (if (null? m1-10123) + (if (null? s1-10124) + w2-10122 + (cons (car w2-10122) + (let ((m2-10139 (cdr w2-10122))) + (if (null? m2-10139) + s1-10124 + (append s1-10124 m2-10139))))) + (cons (let ((m2-10147 (car w2-10122))) + (if (null? m2-10147) + m1-10123 + (append m1-10123 m2-10147))) + (let ((m2-10155 (cdr w2-10122))) + (if (null? m2-10155) + s1-10124 + (append s1-10124 m2-10155)))))))) + (module-10115 (vector-ref x-10081 3))) + (vector + 'syntax-object + expression-10113 + wrap-10114 + module-10115)) + (if (null? x-10081) + x-10081 + (vector + 'syntax-object + x-10081 + w-9527 + mod-9529)))))))))) + (global-extend-4548 + 'core + 'set! + (lambda (e-10314 r-10315 w-10316 s-10317 mod-10318) + (let ((tmp-10320 ($sc-dispatch e-10314 '(_ any any)))) + (if (if tmp-10320 + (@apply + (lambda (id-10324 val-10325) + (if (symbol? id-10324) + #t + (if (if (vector? id-10324) + (if (= (vector-length id-10324) 4) + (eq? (vector-ref id-10324 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref id-10324 1)) + #f))) + tmp-10320) + #f) + (@apply + (lambda (id-10352 val-10353) + (call-with-values + (lambda () + (resolve-identifier-4571 + id-10352 + w-10316 + r-10315 + mod-10318 + #t)) + (lambda (type-10356 value-10357 id-mod-10358) + (if (eqv? type-10356 'lexical) + (build-lexical-assignment-4521 + s-10317 + (syntax->datum id-10352) + value-10357 + (expand-4586 val-10353 r-10315 w-10316 mod-10318)) + (if (eqv? type-10356 'global) + (build-global-assignment-4524 + s-10317 + value-10357 + (expand-4586 val-10353 r-10315 w-10316 mod-10318) + id-mod-10358) + (if (eqv? type-10356 'macro) + (if (procedure-property + value-10357 + 'variable-transformer) + (expand-4586 + (expand-macro-4589 + value-10357 + e-10314 + r-10315 + w-10316 + s-10317 + #f + mod-10318) + r-10315 + '(()) + mod-10318) + (syntax-violation + 'set! + "not a variable transformer" + (if (if (null? (car w-10316)) + (null? (cdr w-10316)) + #f) + e-10314 + (if (if (vector? e-10314) + (if (= (vector-length e-10314) 4) + (eq? (vector-ref e-10314 0) + 'syntax-object) + #f) + #f) + (let ((expression-10798 + (vector-ref e-10314 1)) + (wrap-10799 + (let ((w2-10809 + (vector-ref e-10314 2))) + (let ((m1-10810 (car w-10316)) + (s1-10811 (cdr w-10316))) + (if (null? m1-10810) + (if (null? s1-10811) + w2-10809 + (cons (car w2-10809) + (let ((m2-10828 + (cdr w2-10809))) + (if (null? m2-10828) + s1-10811 + (append + s1-10811 + m2-10828))))) + (cons (let ((m2-10836 + (car w2-10809))) + (if (null? m2-10836) + m1-10810 + (append + m1-10810 + m2-10836))) + (let ((m2-10844 + (cdr w2-10809))) + (if (null? m2-10844) + s1-10811 + (append + s1-10811 + m2-10844)))))))) + (module-10800 + (vector-ref e-10314 3))) + (vector + 'syntax-object + expression-10798 + wrap-10799 + module-10800)) + (if (null? e-10314) + e-10314 + (vector + 'syntax-object + e-10314 + w-10316 + mod-10318)))) + (if (if (null? (car w-10316)) + (null? (cdr w-10316)) + #f) + id-10352 + (if (if (vector? id-10352) + (if (= (vector-length id-10352) 4) + (eq? (vector-ref id-10352 0) + 'syntax-object) + #f) + #f) + (let ((expression-10896 + (vector-ref id-10352 1)) + (wrap-10897 + (let ((w2-10907 + (vector-ref id-10352 2))) + (let ((m1-10908 (car w-10316)) + (s1-10909 (cdr w-10316))) + (if (null? m1-10908) + (if (null? s1-10909) + w2-10907 + (cons (car w2-10907) + (let ((m2-10926 + (cdr w2-10907))) + (if (null? m2-10926) + s1-10909 + (append + s1-10909 + m2-10926))))) + (cons (let ((m2-10934 + (car w2-10907))) + (if (null? m2-10934) + m1-10908 + (append + m1-10908 + m2-10934))) + (let ((m2-10942 + (cdr w2-10907))) + (if (null? m2-10942) + s1-10909 + (append + s1-10909 + m2-10942)))))))) + (module-10898 + (vector-ref id-10352 3))) + (vector + 'syntax-object + expression-10896 + wrap-10897 + module-10898)) + (if (null? id-10352) + id-10352 + (vector + 'syntax-object + id-10352 + w-10316 + id-mod-10358)))))) + (if (eqv? type-10356 'displaced-lexical) + (syntax-violation + 'set! + "identifier out of context" + (if (if (null? (car w-10316)) + (null? (cdr w-10316)) + #f) + id-10352 + (if (if (vector? id-10352) + (if (= (vector-length id-10352) 4) + (eq? (vector-ref id-10352 0) + 'syntax-object) + #f) + #f) + (let ((expression-10997 + (vector-ref id-10352 1)) + (wrap-10998 + (let ((w2-11008 + (vector-ref id-10352 2))) + (let ((m1-11009 (car w-10316)) + (s1-11010 (cdr w-10316))) + (if (null? m1-11009) + (if (null? s1-11010) + w2-11008 + (cons (car w2-11008) + (let ((m2-11027 + (cdr w2-11008))) + (if (null? m2-11027) + s1-11010 + (append + s1-11010 + m2-11027))))) + (cons (let ((m2-11035 + (car w2-11008))) + (if (null? m2-11035) + m1-11009 + (append + m1-11009 + m2-11035))) + (let ((m2-11043 + (cdr w2-11008))) + (if (null? m2-11043) + s1-11010 + (append + s1-11010 + m2-11043)))))))) + (module-10999 + (vector-ref id-10352 3))) + (vector + 'syntax-object + expression-10997 + wrap-10998 + module-10999)) + (if (null? id-10352) + id-10352 + (vector + 'syntax-object + id-10352 + w-10316 + mod-10318))))) + (syntax-violation + 'set! + "bad set!" + (let ((x-11075 + (begin + (if (if (pair? e-10314) s-10317 #f) + (set-source-properties! + e-10314 + s-10317)) + e-10314))) + (if (if (null? (car w-10316)) + (null? (cdr w-10316)) + #f) + x-11075 + (if (if (vector? x-11075) + (if (= (vector-length x-11075) 4) + (eq? (vector-ref x-11075 0) + 'syntax-object) + #f) + #f) + (let ((expression-11107 + (vector-ref x-11075 1)) + (wrap-11108 + (let ((w2-11116 + (vector-ref x-11075 2))) + (let ((m1-11117 (car w-10316)) + (s1-11118 (cdr w-10316))) + (if (null? m1-11117) + (if (null? s1-11118) + w2-11116 + (cons (car w2-11116) + (let ((m2-11133 + (cdr w2-11116))) + (if (null? m2-11133) + s1-11118 + (append + s1-11118 + m2-11133))))) + (cons (let ((m2-11141 + (car w2-11116))) + (if (null? m2-11141) + m1-11117 + (append + m1-11117 + m2-11141))) + (let ((m2-11149 + (cdr w2-11116))) + (if (null? m2-11149) + s1-11118 + (append + s1-11118 + m2-11149)))))))) + (module-11109 + (vector-ref x-11075 3))) + (vector + 'syntax-object + expression-11107 + wrap-11108 + module-11109)) + (if (null? x-11075) + x-11075 + (vector + 'syntax-object + x-11075 + w-10316 + mod-10318))))))))))))) + tmp-10320) + (let ((tmp-11164 + ($sc-dispatch e-10314 '(_ (any . each-any) any)))) + (if tmp-11164 + (@apply + (lambda (head-11168 tail-11169 val-11170) + (call-with-values + (lambda () + (syntax-type-4585 + head-11168 + r-10315 + '(()) + #f + #f + mod-10318 + #t)) + (lambda (type-11173 + value-11174 + ee*-11175 + ee-11176 + ww-11177 + ss-11178 + modmod-11179) + (if (eqv? type-11173 'module-ref) + (let ((val-11183 + (expand-4586 + val-11170 + r-10315 + w-10316 + mod-10318))) + (call-with-values + (lambda () + (value-11174 + (cons head-11168 tail-11169) + r-10315 + w-10316)) + (lambda (e-11184 + r-11185 + w-11186 + s*-11187 + mod-11188) + (let ((tmp-11190 (list e-11184))) + (if (@apply + (lambda (e-11192) + (if (symbol? e-11192) + #t + (if (if (vector? e-11192) + (if (= (vector-length + e-11192) + 4) + (eq? (vector-ref + e-11192 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref e-11192 1)) + #f))) + tmp-11190) + (@apply + (lambda (e-11222) + (build-global-assignment-4524 + s-10317 + (syntax->datum e-11222) + val-11183 + mod-11188)) + tmp-11190) + (syntax-violation + #f + "source expression failed to match any pattern" + e-11184)))))) + (build-call-4517 + s-10317 + (expand-4586 + (list '#(syntax-object + setter + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(type value ee* ee ww ss modmod) + #((top) (top) (top) (top) (top) (top) (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)) - #{keys 38134}#)) - #f) - (if (#{free-id=? 28259}# - '#(syntax-object - pad - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i27835" "i27836")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i27825" - "i27826" - "i27827" - "i27828" - "i27829")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i27638" "i27636" "i27634" "i27632")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile)) - '#(syntax-object - _ + #("l-*-3734" + "l-*-3735" + "l-*-3736" + "l-*-3737" + "l-*-3738" + "l-*-3739" + "l-*-3740")) + #(ribcage + #(head tail val) + #((top) (top) (top)) + #("l-*-3719" + "l-*-3720" + "l-*-3721")) + #(ribcage () () ()) + #(ribcage + #(e r w s mod) + #((top) (top) (top) (top) (top)) + #("l-*-3691" + "l-*-3692" + "l-*-3693" + "l-*-3694" + "l-*-3695")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile)) + head-11168) + r-10315 + w-10316 + mod-10318) + (map (lambda (e-11535) + (expand-4586 + e-11535 + r-10315 + w-10316 + mod-10318)) + (append tail-11169 (list val-11170)))))))) + tmp-11164) + (syntax-violation + 'set! + "bad set!" + (let ((x-11623 + (begin + (if (if (pair? e-10314) s-10317 #f) + (set-source-properties! e-10314 s-10317)) + e-10314))) + (if (if (null? (car w-10316)) + (null? (cdr w-10316)) + #f) + x-11623 + (if (if (vector? x-11623) + (if (= (vector-length x-11623) 4) + (eq? (vector-ref x-11623 0) 'syntax-object) + #f) + #f) + (let ((expression-11655 (vector-ref x-11623 1)) + (wrap-11656 + (let ((w2-11664 (vector-ref x-11623 2))) + (let ((m1-11665 (car w-10316)) + (s1-11666 (cdr w-10316))) + (if (null? m1-11665) + (if (null? s1-11666) + w2-11664 + (cons (car w2-11664) + (let ((m2-11681 + (cdr w2-11664))) + (if (null? m2-11681) + s1-11666 + (append + s1-11666 + m2-11681))))) + (cons (let ((m2-11689 (car w2-11664))) + (if (null? m2-11689) + m1-11665 + (append m1-11665 m2-11689))) + (let ((m2-11697 (cdr w2-11664))) + (if (null? m2-11697) + s1-11666 + (append + s1-11666 + m2-11697)))))))) + (module-11657 (vector-ref x-11623 3))) + (vector + 'syntax-object + expression-11655 + wrap-11656 + module-11657)) + (if (null? x-11623) + x-11623 + (vector + 'syntax-object + x-11623 + w-10316 + mod-10318)))))))))))) + (module-define! + (current-module) + '@ + (make-syntax-transformer + '@ + 'module-ref + (lambda (e-11728 r-11729 w-11730) + (let ((tmp-11732 + ($sc-dispatch e-11728 '(_ each-any any)))) + (if (if tmp-11732 + (@apply + (lambda (mod-11735 id-11736) + (if (and-map id?-4550 mod-11735) + (if (symbol? id-11736) + #t + (if (if (vector? id-11736) + (if (= (vector-length id-11736) 4) + (eq? (vector-ref id-11736 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref id-11736 1)) + #f)) + #f)) + tmp-11732) + #f) + (@apply + (lambda (mod-11776 id-11777) + (values + (syntax->datum id-11777) + r-11729 + w-11730 + #f + (syntax->datum + (cons '#(syntax-object + public + ((top) + #(ribcage + #(mod id) + #((top) (top)) + #("l-*-3782" "l-*-3783")) + #(ribcage () () ()) + #(ribcage + #(e r w) + #((top) (top) (top)) + #("l-*-3770" "l-*-3771" "l-*-3772")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i27835" "i27836")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i27825" - "i27826" - "i27827" - "i27828" - "i27829")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i27638" "i27636" "i27634" "i27632")) - #(ribcage - (lambda-var-list - gen-var - strip - expand-lambda-case - lambda*-formals - expand-simple-lambda - lambda-formals - ellipsis? - expand-void - eval-local-transformer - expand-local-syntax - expand-body - expand-macro - expand-call - expand-expr - expand - syntax-type - parse-when-list - expand-install-global - expand-top-sequence - expand-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - resolve-identifier - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-primcall - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-call - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-seq - make-primcall - make-call - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile)) + mod-11776)))) + tmp-11732) + (syntax-violation + #f + "source expression failed to match any pattern" + e-11728)))))) + (global-extend-4548 + 'module-ref + '@@ + (lambda (e-11877 r-11878 w-11879) + (letrec* + ((remodulate-11880 + (lambda (x-12098 mod-12099) + (if (pair? x-12098) + (cons (remodulate-11880 (car x-12098) mod-12099) + (remodulate-11880 (cdr x-12098) mod-12099)) + (if (if (vector? x-12098) + (if (= (vector-length x-12098) 4) + (eq? (vector-ref x-12098 0) 'syntax-object) + #f) + #f) + (let ((expression-12113 + (remodulate-11880 + (vector-ref x-12098 1) + mod-12099)) + (wrap-12114 (vector-ref x-12098 2))) + (vector + 'syntax-object + expression-12113 + wrap-12114 + mod-12099)) + (if (vector? x-12098) + (let ((n-12122 (vector-length x-12098))) + (let ((v-12123 (make-vector n-12122))) + (letrec* + ((loop-12124 + (lambda (i-12179) + (if (= i-12179 n-12122) + v-12123 + (begin + (vector-set! + v-12123 + i-12179 + (remodulate-11880 + (vector-ref x-12098 i-12179) + mod-12099)) + (loop-12124 (#{1+}# i-12179))))))) + (loop-12124 0)))) + x-12098)))))) + (let ((tmp-11882 + ($sc-dispatch e-11877 '(_ each-any any)))) + (if (if tmp-11882 + (@apply + (lambda (mod-11886 exp-11887) + (and-map id?-4550 mod-11886)) + tmp-11882) + #f) + (@apply + (lambda (mod-11903 exp-11904) + (let ((mod-11905 + (syntax->datum + (cons '#(syntax-object + private ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors) - ((top) (top) (top)) - ("i23873" "i23872" "i23871")) - #(ribcage () () ())) - (hygiene guile))) - (#{expand 28271}# - #{exp 38166}# - #{r 38136}# - '(()) - #{mod 38137}#) - (let ((#{labels 38275}# - (list (symbol->string (gensym "i")))) - (#{var 38276}# - (let ((#{id 38314}# - (if (if (vector? #{pat 38165}#) + #(ribcage + #(mod exp) + #((top) (top)) + #("l-*-3826" "l-*-3827")) + #(ribcage + (remodulate) + ((top)) + ("l-*-3793")) + #(ribcage + #(e r w) + #((top) (top) (top)) + #("l-*-3790" "l-*-3791" "l-*-3792")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile)) + mod-11903)))) + (values + (remodulate-11880 exp-11904 mod-11905) + r-11878 + w-11879 + (source-annotation-4544 exp-11904) + mod-11905))) + tmp-11882) + (syntax-violation + #f + "source expression failed to match any pattern" + e-11877)))))) + (global-extend-4548 + 'core + 'if + (lambda (e-12288 r-12289 w-12290 s-12291 mod-12292) + (let ((tmp-12294 ($sc-dispatch e-12288 '(_ any any)))) + (if tmp-12294 + (@apply + (lambda (test-12298 then-12299) + (build-conditional-4518 + s-12291 + (expand-4586 + test-12298 + r-12289 + w-12290 + mod-12292) + (expand-4586 + then-12299 + r-12289 + w-12290 + mod-12292) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + #f))) + tmp-12294) + (let ((tmp-12548 + ($sc-dispatch e-12288 '(_ any any any)))) + (if tmp-12548 + (@apply + (lambda (test-12552 then-12553 else-12554) + (build-conditional-4518 + s-12291 + (expand-4586 + test-12552 + r-12289 + w-12290 + mod-12292) + (expand-4586 + then-12553 + r-12289 + w-12290 + mod-12292) + (expand-4586 + else-12554 + r-12289 + w-12290 + mod-12292))) + tmp-12548) + (syntax-violation + #f + "source expression failed to match any pattern" + e-12288))))))) + (global-extend-4548 + 'core + 'with-fluids + (lambda (e-12993 r-12994 w-12995 s-12996 mod-12997) + (let ((tmp-12999 + ($sc-dispatch + e-12993 + '(_ #(each (any any)) any . each-any)))) + (if tmp-12999 + (@apply + (lambda (fluid-13003 val-13004 b-13005 b*-13006) + (build-dynlet-4519 + s-12996 + (map (lambda (x-13095) + (expand-4586 x-13095 r-12994 w-12995 mod-12997)) + fluid-13003) + (map (lambda (x-13173) + (expand-4586 x-13173 r-12994 w-12995 mod-12997)) + val-13004) + (expand-body-4590 + (cons b-13005 b*-13006) + (let ((x-13262 + (begin + (if (if (pair? e-12993) s-12996 #f) + (set-source-properties! e-12993 s-12996)) + e-12993))) + (if (if (null? (car w-12995)) + (null? (cdr w-12995)) + #f) + x-13262 + (if (if (vector? x-13262) + (if (= (vector-length x-13262) 4) + (eq? (vector-ref x-13262 0) 'syntax-object) + #f) + #f) + (let ((expression-13294 (vector-ref x-13262 1)) + (wrap-13295 + (let ((w2-13303 (vector-ref x-13262 2))) + (let ((m1-13304 (car w-12995)) + (s1-13305 (cdr w-12995))) + (if (null? m1-13304) + (if (null? s1-13305) + w2-13303 + (cons (car w2-13303) + (let ((m2-13320 + (cdr w2-13303))) + (if (null? m2-13320) + s1-13305 + (append + s1-13305 + m2-13320))))) + (cons (let ((m2-13328 + (car w2-13303))) + (if (null? m2-13328) + m1-13304 + (append + m1-13304 + m2-13328))) + (let ((m2-13336 + (cdr w2-13303))) + (if (null? m2-13336) + s1-13305 + (append + s1-13305 + m2-13336)))))))) + (module-13296 (vector-ref x-13262 3))) + (vector + 'syntax-object + expression-13294 + wrap-13295 + module-13296)) + (if (null? x-13262) + x-13262 + (vector + 'syntax-object + x-13262 + w-12995 + mod-12997))))) + r-12994 + w-12995 + mod-12997))) + tmp-12999) + (syntax-violation + #f + "source expression failed to match any pattern" + e-12993))))) + (module-define! + (current-module) + 'begin + (make-syntax-transformer 'begin 'begin '())) + (module-define! + (current-module) + 'define + (make-syntax-transformer 'define 'define '())) + (module-define! + (current-module) + 'define-syntax + (make-syntax-transformer + 'define-syntax + 'define-syntax + '())) + (module-define! + (current-module) + 'define-syntax-parameter + (make-syntax-transformer + 'define-syntax-parameter + 'define-syntax-parameter + '())) + (module-define! + (current-module) + 'eval-when + (make-syntax-transformer + 'eval-when + 'eval-when + '())) + (global-extend-4548 + 'core + 'syntax-case + (letrec* + ((convert-pattern-13636 + (lambda (pattern-15258 keys-15259) + (letrec* + ((cvt*-15260 + (lambda (p*-16059 n-16060 ids-16061) + (if (not (pair? p*-16059)) + (cvt-15262 p*-16059 n-16060 ids-16061) + (call-with-values + (lambda () + (cvt*-15260 (cdr p*-16059) n-16060 ids-16061)) + (lambda (y-16064 ids-16065) + (call-with-values + (lambda () + (cvt-15262 (car p*-16059) n-16060 ids-16065)) + (lambda (x-16068 ids-16069) + (values + (cons x-16068 y-16064) + ids-16069)))))))) + (v-reverse-15261 + (lambda (x-16070) + (letrec* + ((loop-16071 + (lambda (r-16172 x-16173) + (if (not (pair? x-16173)) + (values r-16172 x-16173) + (loop-16071 + (cons (car x-16173) r-16172) + (cdr x-16173)))))) + (loop-16071 '() x-16070)))) + (cvt-15262 + (lambda (p-15265 n-15266 ids-15267) + (if (if (symbol? p-15265) + #t + (if (if (vector? p-15265) + (if (= (vector-length p-15265) 4) + (eq? (vector-ref p-15265 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref p-15265 1)) + #f)) + (if (bound-id-member?-4578 p-15265 keys-15259) + (values (vector 'free-id p-15265) ids-15267) + (if (free-id=?-4574 + p-15265 + '#(syntax-object + _ + ((top) + #(ribcage () () ()) + #(ribcage + #(p n ids) + #((top) (top) (top)) + #("l-*-3927" "l-*-3928" "l-*-3929")) + #(ribcage + (cvt v-reverse cvt*) + ((top) (top) (top)) + ("l-*-3900" "l-*-3898" "l-*-3896")) + #(ribcage + #(pattern keys) + #((top) (top)) + #("l-*-3894" "l-*-3895")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("l-*-3890" + "l-*-3888" + "l-*-3886" + "l-*-3884")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + (values '_ ids-15267) + (values + 'any + (cons (cons p-15265 n-15266) ids-15267)))) + (let ((tmp-15399 ($sc-dispatch p-15265 '(any any)))) + (if (if tmp-15399 + (@apply + (lambda (x-15403 dots-15404) + (if (if (if (vector? dots-15404) + (if (= (vector-length dots-15404) + 4) + (eq? (vector-ref dots-15404 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref dots-15404 1)) + #f) + (free-id=?-4574 + dots-15404 + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("l-*-2416")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + #f)) + tmp-15399) + #f) + (@apply + (lambda (x-15443 dots-15444) + (call-with-values + (lambda () + (cvt-15262 + x-15443 + (#{1+}# n-15266) + ids-15267)) + (lambda (p-15445 ids-15446) + (values + (if (eq? p-15445 'any) + 'each-any + (vector 'each p-15445)) + ids-15446)))) + tmp-15399) + (let ((tmp-15447 + ($sc-dispatch p-15265 '(any any . any)))) + (if (if tmp-15447 + (@apply + (lambda (x-15451 dots-15452 ys-15453) + (if (if (if (vector? dots-15452) + (if (= (vector-length + dots-15452) + 4) + (eq? (vector-ref + dots-15452 + 0) + 'syntax-object) + #f) + #f) + (symbol? + (vector-ref dots-15452 1)) + #f) + (free-id=?-4574 + dots-15452 + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("l-*-2416")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + #f)) + tmp-15447) + #f) + (@apply + (lambda (x-15492 dots-15493 ys-15494) + (call-with-values + (lambda () + (cvt*-15260 + ys-15494 + n-15266 + ids-15267)) + (lambda (ys-15979 ids-15980) + (call-with-values + (lambda () + (cvt-15262 + x-15492 + (#{1+}# n-15266) + ids-15980)) + (lambda (x-15981 ids-15982) + (call-with-values + (lambda () + (v-reverse-15261 ys-15979)) + (lambda (ys-16018 e-16019) + (values + (vector + 'each+ + x-15981 + ys-16018 + e-16019) + ids-15982)))))))) + tmp-15447) + (let ((tmp-16020 + ($sc-dispatch p-15265 '(any . any)))) + (if tmp-16020 + (@apply + (lambda (x-16024 y-16025) + (call-with-values + (lambda () + (cvt-15262 + y-16025 + n-15266 + ids-15267)) + (lambda (y-16026 ids-16027) + (call-with-values + (lambda () + (cvt-15262 + x-16024 + n-15266 + ids-16027)) + (lambda (x-16028 ids-16029) + (values + (cons x-16028 y-16026) + ids-16029)))))) + tmp-16020) + (let ((tmp-16030 + ($sc-dispatch p-15265 '()))) + (if tmp-16030 + (@apply + (lambda () (values '() ids-15267)) + tmp-16030) + (let ((tmp-16034 + ($sc-dispatch + p-15265 + '#(vector each-any)))) + (if tmp-16034 + (@apply + (lambda (x-16038) + (call-with-values + (lambda () + (cvt-15262 + x-16038 + n-15266 + ids-15267)) + (lambda (p-16039 ids-16040) + (values + (vector 'vector p-16039) + ids-16040)))) + tmp-16034) + (values + (vector + 'atom + (strip-4599 p-15265 '(()))) + ids-15267))))))))))))))) + (cvt-15262 pattern-15258 0 '())))) + (build-dispatch-call-13637 + (lambda (pvars-16174 exp-16175 y-16176 r-16177 mod-16178) + (let ((ids-16179 (map car pvars-16174))) + (begin + (map cdr pvars-16174) + (let ((labels-16181 (gen-labels-4553 ids-16179)) + (new-vars-16182 (map gen-var-4600 ids-16179))) + (build-primcall-4529 + #f + 'apply + (list (build-simple-lambda-4526 + #f + (map syntax->datum ids-16179) + #f + new-vars-16182 + '() + (expand-4586 + exp-16175 + (extend-env-4545 + labels-16181 + (map (lambda (var-16510 level-16511) + (cons 'syntax + (cons var-16510 level-16511))) + new-vars-16182 + (map cdr pvars-16174)) + r-16177) + (make-binding-wrap-4564 + ids-16179 + labels-16181 + '(())) + mod-16178)) + y-16176))))))) + (gen-clause-13638 + (lambda (x-14842 + keys-14843 + clauses-14844 + r-14845 + pat-14846 + fender-14847 + exp-14848 + mod-14849) + (call-with-values + (lambda () + (convert-pattern-13636 pat-14846 keys-14843)) + (lambda (p-14987 pvars-14988) + (if (not (distinct-bound-ids?-4577 (map car pvars-14988))) + (syntax-violation + 'syntax-case + "duplicate pattern variable" + pat-14846) + (if (not (and-map + (lambda (x-15097) + (not (let ((x-15101 (car x-15097))) + (if (if (if (vector? x-15101) (if (= (vector-length - #{pat 38165}#) + x-15101) 4) (eq? (vector-ref - #{pat 38165}# + x-15101 0) 'syntax-object) #f) #f) - (vector-ref #{pat 38165}# 1) - #{pat 38165}#))) - (gensym - (string-append - (symbol->string #{id 38314}#) - " "))))) - (#{build-call 28205}# - #f - (#{build-simple-lambda 28214}# - #f - (list (syntax->datum #{pat 38165}#)) - #f - (list #{var 38276}#) - '() - (#{expand 28271}# - #{exp 38166}# - (#{extend-env 28233}# - #{labels 38275}# - (list (cons 'syntax - (cons #{var 38276}# 0))) - #{r 38136}#) - (#{make-binding-wrap 28252}# - (list #{pat 38165}#) - #{labels 38275}# - '(())) - #{mod 38137}#)) - (list #{x 38133}#)))) - (#{gen-clause 37428}# - #{x 38133}# - #{keys 38134}# - (cdr #{clauses 38135}#) - #{r 38136}# - #{pat 38165}# - #t - #{exp 38166}# - #{mod 38137}#))) - #{tmp 38163}#) - (let ((#{tmp 38624}# - ($sc-dispatch #{tmp 38162}# '(any any any)))) - (if #{tmp 38624}# - (@apply - (lambda (#{pat 38626}# - #{fender 38627}# - #{exp 38628}#) - (#{gen-clause 37428}# - #{x 38133}# - #{keys 38134}# - (cdr #{clauses 38135}#) - #{r 38136}# - #{pat 38626}# - #{fender 38627}# - #{exp 38628}# - #{mod 38137}#)) - #{tmp 38624}#) - (syntax-violation - 'syntax-case - "invalid clause" - (car #{clauses 38135}#))))))))))) - (lambda (#{e 37430}# - #{r 37431}# - #{w 37432}# - #{s 37433}# - #{mod 37434}#) - (let ((#{e 37435}# - (let ((#{x 38044}# - (begin - (if (if (pair? #{e 37430}#) #{s 37433}# #f) - (set-source-properties! #{e 37430}# #{s 37433}#)) - #{e 37430}#))) - (if (if (null? (car #{w 37432}#)) - (null? (cdr #{w 37432}#)) - #f) - #{x 38044}# - (if (if (vector? #{x 38044}#) - (if (= (vector-length #{x 38044}#) 4) - (eq? (vector-ref #{x 38044}# 0) 'syntax-object) - #f) - #f) - (let ((#{expression 38076}# (vector-ref #{x 38044}# 1)) - (#{wrap 38077}# - (let ((#{w2 38085}# - (vector-ref #{x 38044}# 2))) - (let ((#{m1 38086}# (car #{w 37432}#)) - (#{s1 38087}# (cdr #{w 37432}#))) - (if (null? #{m1 38086}#) - (if (null? #{s1 38087}#) - #{w2 38085}# - (cons (car #{w2 38085}#) - (let ((#{m2 38102}# - (cdr #{w2 38085}#))) - (if (null? #{m2 38102}#) - #{s1 38087}# - (append - #{s1 38087}# - #{m2 38102}#))))) - (cons (let ((#{m2 38110}# - (car #{w2 38085}#))) - (if (null? #{m2 38110}#) - #{m1 38086}# - (append - #{m1 38086}# - #{m2 38110}#))) - (let ((#{m2 38118}# - (cdr #{w2 38085}#))) - (if (null? #{m2 38118}#) - #{s1 38087}# - (append - #{s1 38087}# - #{m2 38118}#)))))))) - (#{module 38078}# (vector-ref #{x 38044}# 3))) - (vector - 'syntax-object - #{expression 38076}# - #{wrap 38077}# - #{module 38078}#)) - (if (null? #{x 38044}#) - #{x 38044}# - (vector - 'syntax-object - #{x 38044}# - #{w 37432}# - #{mod 37434}#))))))) - (let ((#{tmp 37436}# #{e 37435}#)) - (let ((#{tmp 37437}# - ($sc-dispatch - #{tmp 37436}# - '(_ any each-any . each-any)))) - (if #{tmp 37437}# - (@apply - (lambda (#{val 37485}# #{key 37486}# #{m 37487}#) - (if (and-map - (lambda (#{x 37488}#) - (if (if (symbol? #{x 37488}#) - #t - (if (if (vector? #{x 37488}#) - (if (= (vector-length #{x 37488}#) 4) - (eq? (vector-ref #{x 37488}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{x 37488}# 1)) - #f)) - (not (if (if (if (vector? #{x 37488}#) - (if (= (vector-length - #{x 37488}#) - 4) - (eq? (vector-ref - #{x 37488}# - 0) - 'syntax-object) - #f) + (symbol? (vector-ref x-15101 1)) #f) - (symbol? (vector-ref #{x 37488}# 1)) + (free-id=?-4574 + x-15101 + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("l-*-2416")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" + "l-*-46" + "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + #f)))) + pvars-14988)) + (syntax-violation + 'syntax-case + "misplaced ellipsis" + pat-14846) + (let ((y-15126 + (gensym + (string-append (symbol->string 'tmp) "-")))) + (let ((fun-exp-15131 + (let ((req-15140 (list 'tmp)) + (vars-15142 (list y-15126)) + (exp-15144 + (let ((y-15173 + (make-struct/no-tail + (vector-ref + %expanded-vtables + 3) + #f + 'tmp + y-15126))) + (let ((test-exp-15177 + (let ((tmp-15186 + ($sc-dispatch + fender-14847 + '#(atom #t)))) + (if tmp-15186 + (@apply + (lambda () y-15173) + tmp-15186) + (let ((then-exp-15204 + (build-dispatch-call-13637 + pvars-14988 + fender-14847 + y-15173 + r-14845 + mod-14849)) + (else-exp-15205 + (make-struct/no-tail + (vector-ref + %expanded-vtables + 1) + #f + #f))) + (make-struct/no-tail + (vector-ref + %expanded-vtables + 10) + #f + y-15173 + then-exp-15204 + else-exp-15205))))) + (then-exp-15178 + (build-dispatch-call-13637 + pvars-14988 + exp-14848 + y-15173 + r-14845 + mod-14849)) + (else-exp-15179 + (gen-syntax-case-13639 + x-14842 + keys-14843 + clauses-14844 + r-14845 + mod-14849))) + (make-struct/no-tail + (vector-ref + %expanded-vtables + 10) + #f + test-exp-15177 + then-exp-15178 + else-exp-15179))))) + (let ((body-15149 + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #f + req-15140 + #f + #f + #f + '() + vars-15142 + exp-15144 + #f))) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + #f + '() + body-15149)))) + (arg-exps-15132 + (list (if (eq? p-14987 'any) + (let ((args-15237 (list x-14842))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + 'list + args-15237)) + (let ((args-15246 + (list x-14842 + (make-struct/no-tail + (vector-ref + %expanded-vtables + 1) + #f + p-14987)))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + '$sc-dispatch + args-15246)))))) + (make-struct/no-tail + (vector-ref %expanded-vtables 11) + #f + fun-exp-15131 + arg-exps-15132))))))))) + (gen-syntax-case-13639 + (lambda (x-14343 + keys-14344 + clauses-14345 + r-14346 + mod-14347) + (if (null? clauses-14345) + (let ((args-14353 + (list (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + #f) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #f + "source expression failed to match any pattern") + x-14343))) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #f + 'syntax-violation + args-14353)) + (let ((tmp-14372 (car clauses-14345))) + (let ((tmp-14373 ($sc-dispatch tmp-14372 '(any any)))) + (if tmp-14373 + (@apply + (lambda (pat-14375 exp-14376) + (if (if (if (symbol? pat-14375) + #t + (if (if (vector? pat-14375) + (if (= (vector-length pat-14375) 4) + (eq? (vector-ref pat-14375 0) + 'syntax-object) + #f) #f) - (#{free-id=? 28259}# - #{x 37488}# - '#(syntax-object + (symbol? (vector-ref pat-14375 1)) + #f)) + (and-map + (lambda (x-14403) + (not (free-id=?-4574 pat-14375 x-14403))) + (cons '#(syntax-object ... ((top) - #(ribcage () () ()) + #(ribcage + #(pat exp) + #((top) (top)) + #("l-*-4087" "l-*-4088")) #(ribcage () () ()) #(ribcage - #(x) - #((top)) - #("i26166")) + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("l-*-4077" + "l-*-4078" + "l-*-4079" + "l-*-4080" + "l-*-4081")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("l-*-3890" + "l-*-3888" + "l-*-3886" + "l-*-3884")) #(ribcage (lambda-var-list gen-var @@ -16598,7 +15090,10 @@ valid-bound-ids? bound-id=? free-id=? + with-transformer-environment + transformer-environment resolve-identifier + locally-bound-identifiers id-var-name same-marks? join-marks @@ -16679,7 +15174,7 @@ decorate-source get-global-definition-hook put-global-definition-hook - gensym-hook + session-id local-eval-hook top-level-eval-hook fx< @@ -16845,962 +15340,2540 @@ (top) (top) (top) + (top) + (top) + (top) (top)) - ("i24298" - "i24296" - "i24294" - "i24292" - "i24290" - "i24288" - "i24286" - "i24284" - "i24282" - "i24280" - "i24278" - "i24276" - "i24274" - "i24272" - "i24270" - "i24268" - "i24266" - "i24264" - "i24262" - "i24260" - "i24258" - "i24256" - "i24254" - "i24252" - "i24250" - "i24248" - "i24246" - "i24244" - "i24242" - "i24240" - "i24238" - "i24236" - "i24234" - "i24232" - "i24230" - "i24228" - "i24227" - "i24225" - "i24222" - "i24221" - "i24220" - "i24218" - "i24217" - "i24215" - "i24213" - "i24211" - "i24209" - "i24207" - "i24205" - "i24203" - "i24201" - "i24198" - "i24196" - "i24195" - "i24193" - "i24191" - "i24189" - "i24187" - "i24186" - "i24185" - "i24184" - "i24182" - "i24181" - "i24178" - "i24176" - "i24174" - "i24172" - "i24170" - "i24168" - "i24167" - "i24166" - "i24164" - "i24162" - "i24161" - "i24158" - "i24157" - "i24155" - "i24153" - "i24151" - "i24149" - "i24147" - "i24145" - "i24143" - "i24141" - "i24139" - "i24136" - "i24134" - "i24132" - "i24130" - "i24128" - "i24126" - "i24124" - "i24122" - "i24120" - "i24118" - "i24116" - "i24114" - "i24112" - "i24110" - "i24108" - "i24106" - "i24104" - "i24102" - "i24100" - "i24098" - "i24096" - "i24094" - "i24092" - "i24090" - "i24089" - "i24086" - "i24084" - "i24083" - "i24082" - "i24081" - "i24080" - "i24078" - "i24076" - "i24074" - "i24071" - "i24069" - "i24067" - "i24065" - "i24063" - "i24061" - "i24059" - "i24057" - "i24055" - "i24053" - "i24051" - "i24049" - "i24047" - "i24045" - "i24043" - "i24041" - "i24039" - "i24037" - "i24035")) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors) ((top) (top) (top)) - ("i23873" "i23872" "i23871")) + ("l-*-47" "l-*-46" "l-*-45")) #(ribcage () () ())) - (hygiene guile))) - #f)) - #f)) - #{key 37486}#) - (let ((#{x 37553}# - (gensym - (string-append (symbol->string 'tmp) " ")))) - (#{build-call 28205}# - #{s 37433}# - (let ((#{req 37691}# (list 'tmp)) - (#{vars 37693}# (list #{x 37553}#)) - (#{exp 37695}# - (#{gen-syntax-case 37429}# - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #f - 'tmp - #{x 37553}#) - #{key 37486}# - #{m 37487}# - #{r 37431}# - #{mod 37434}#))) - (let ((#{body 37700}# - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #f - #{req 37691}# - #f - #f - #f - '() - #{vars 37693}# - #{exp 37695}# - #f))) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #f - '() - #{body 37700}#))) - (list (#{expand 28271}# - #{val 37485}# - #{r 37431}# - '(()) - #{mod 37434}#)))) - (syntax-violation - 'syntax-case - "invalid literals list" - #{e 37435}#))) - #{tmp 37437}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 37436}#)))))))) - (set! macroexpand - (lambda* - (#{x 40406}# - #:optional - (#{m 40407}# 'e) - (#{esew 40408}# '(eval))) - (#{expand-top-sequence 28267}# - (list #{x 40406}#) - '() - '((top)) - #f - #{m 40407}# - #{esew 40408}# - (cons 'hygiene (module-name (current-module)))))) - (set! identifier? - (lambda (#{x 40411}#) - (if (if (vector? #{x 40411}#) - (if (= (vector-length #{x 40411}#) 4) - (eq? (vector-ref #{x 40411}# 0) 'syntax-object) + (hygiene guile)) + keys-14344)) + #f) + (if (free-id=?-4574 + '#(syntax-object + pad + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("l-*-4087" "l-*-4088")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("l-*-4077" + "l-*-4078" + "l-*-4079" + "l-*-4080" + "l-*-4081")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("l-*-3890" + "l-*-3888" + "l-*-3886" + "l-*-3884")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile)) + '#(syntax-object + _ + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("l-*-4087" "l-*-4088")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("l-*-4077" + "l-*-4078" + "l-*-4079" + "l-*-4080" + "l-*-4081")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("l-*-3890" + "l-*-3888" + "l-*-3886" + "l-*-3884")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + (expand-4586 exp-14376 r-14346 '(()) mod-14347) + (let ((labels-14485 + (list (string-append + "l-" + (session-id-4511) + (symbol->string (gensym "-"))))) + (var-14486 + (let ((id-14524 + (if (if (vector? pat-14375) + (if (= (vector-length + pat-14375) + 4) + (eq? (vector-ref + pat-14375 + 0) + 'syntax-object) + #f) + #f) + (vector-ref pat-14375 1) + pat-14375))) + (gensym + (string-append + (symbol->string id-14524) + "-"))))) + (build-call-4517 + #f + (build-simple-lambda-4526 + #f + (list (syntax->datum pat-14375)) + #f + (list var-14486) + '() + (expand-4586 + exp-14376 + (extend-env-4545 + labels-14485 + (list (cons 'syntax + (cons var-14486 0))) + r-14346) + (make-binding-wrap-4564 + (list pat-14375) + labels-14485 + '(())) + mod-14347)) + (list x-14343)))) + (gen-clause-13638 + x-14343 + keys-14344 + (cdr clauses-14345) + r-14346 + pat-14375 + #t + exp-14376 + mod-14347))) + tmp-14373) + (let ((tmp-14834 + ($sc-dispatch tmp-14372 '(any any any)))) + (if tmp-14834 + (@apply + (lambda (pat-14836 fender-14837 exp-14838) + (gen-clause-13638 + x-14343 + keys-14344 + (cdr clauses-14345) + r-14346 + pat-14836 + fender-14837 + exp-14838 + mod-14347)) + tmp-14834) + (syntax-violation + 'syntax-case + "invalid clause" + (car clauses-14345))))))))))) + (lambda (e-13640 r-13641 w-13642 s-13643 mod-13644) + (let ((e-13645 + (let ((x-14254 + (begin + (if (if (pair? e-13640) s-13643 #f) + (set-source-properties! e-13640 s-13643)) + e-13640))) + (if (if (null? (car w-13642)) + (null? (cdr w-13642)) + #f) + x-14254 + (if (if (vector? x-14254) + (if (= (vector-length x-14254) 4) + (eq? (vector-ref x-14254 0) 'syntax-object) + #f) + #f) + (let ((expression-14286 (vector-ref x-14254 1)) + (wrap-14287 + (let ((w2-14295 (vector-ref x-14254 2))) + (let ((m1-14296 (car w-13642)) + (s1-14297 (cdr w-13642))) + (if (null? m1-14296) + (if (null? s1-14297) + w2-14295 + (cons (car w2-14295) + (let ((m2-14312 + (cdr w2-14295))) + (if (null? m2-14312) + s1-14297 + (append + s1-14297 + m2-14312))))) + (cons (let ((m2-14320 (car w2-14295))) + (if (null? m2-14320) + m1-14296 + (append m1-14296 m2-14320))) + (let ((m2-14328 (cdr w2-14295))) + (if (null? m2-14328) + s1-14297 + (append + s1-14297 + m2-14328)))))))) + (module-14288 (vector-ref x-14254 3))) + (vector + 'syntax-object + expression-14286 + wrap-14287 + module-14288)) + (if (null? x-14254) + x-14254 + (vector + 'syntax-object + x-14254 + w-13642 + mod-13644))))))) + (let ((tmp-13646 e-13645)) + (let ((tmp-13647 + ($sc-dispatch + tmp-13646 + '(_ any each-any . each-any)))) + (if tmp-13647 + (@apply + (lambda (val-13695 key-13696 m-13697) + (if (and-map + (lambda (x-13698) + (if (if (symbol? x-13698) + #t + (if (if (vector? x-13698) + (if (= (vector-length x-13698) 4) + (eq? (vector-ref x-13698 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref x-13698 1)) + #f)) + (not (if (if (if (vector? x-13698) + (if (= (vector-length x-13698) + 4) + (eq? (vector-ref x-13698 0) + 'syntax-object) + #f) + #f) + (symbol? (vector-ref x-13698 1)) + #f) + (free-id=?-4574 + x-13698 + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("l-*-2416")) + #(ribcage + (lambda-var-list + gen-var + strip + expand-lambda-case + lambda*-formals + expand-simple-lambda + lambda-formals + ellipsis? + expand-void + eval-local-transformer + expand-local-syntax + expand-body + expand-macro + expand-call + expand-expr + expand + syntax-type + parse-when-list + expand-install-global + expand-top-sequence + expand-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + with-transformer-environment + transformer-environment + resolve-identifier + locally-bound-identifiers + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-primcall + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-call + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + session-id + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-seq + make-primcall + make-call + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("l-*-478" + "l-*-476" + "l-*-474" + "l-*-472" + "l-*-470" + "l-*-468" + "l-*-466" + "l-*-464" + "l-*-462" + "l-*-460" + "l-*-458" + "l-*-456" + "l-*-454" + "l-*-452" + "l-*-450" + "l-*-448" + "l-*-446" + "l-*-444" + "l-*-442" + "l-*-440" + "l-*-438" + "l-*-436" + "l-*-434" + "l-*-432" + "l-*-430" + "l-*-428" + "l-*-426" + "l-*-424" + "l-*-422" + "l-*-420" + "l-*-418" + "l-*-416" + "l-*-414" + "l-*-412" + "l-*-410" + "l-*-408" + "l-*-406" + "l-*-404" + "l-*-402" + "l-*-401" + "l-*-399" + "l-*-396" + "l-*-395" + "l-*-394" + "l-*-392" + "l-*-391" + "l-*-389" + "l-*-387" + "l-*-385" + "l-*-383" + "l-*-381" + "l-*-379" + "l-*-377" + "l-*-375" + "l-*-372" + "l-*-370" + "l-*-369" + "l-*-367" + "l-*-365" + "l-*-363" + "l-*-361" + "l-*-360" + "l-*-359" + "l-*-358" + "l-*-356" + "l-*-355" + "l-*-352" + "l-*-350" + "l-*-348" + "l-*-346" + "l-*-344" + "l-*-342" + "l-*-341" + "l-*-340" + "l-*-338" + "l-*-336" + "l-*-335" + "l-*-332" + "l-*-331" + "l-*-329" + "l-*-327" + "l-*-325" + "l-*-323" + "l-*-321" + "l-*-319" + "l-*-317" + "l-*-315" + "l-*-313" + "l-*-310" + "l-*-308" + "l-*-306" + "l-*-304" + "l-*-302" + "l-*-300" + "l-*-298" + "l-*-296" + "l-*-294" + "l-*-292" + "l-*-290" + "l-*-288" + "l-*-286" + "l-*-284" + "l-*-282" + "l-*-280" + "l-*-278" + "l-*-276" + "l-*-274" + "l-*-272" + "l-*-270" + "l-*-268" + "l-*-266" + "l-*-264" + "l-*-262" + "l-*-260" + "l-*-258" + "l-*-257" + "l-*-256" + "l-*-255" + "l-*-254" + "l-*-252" + "l-*-250" + "l-*-248" + "l-*-245" + "l-*-243" + "l-*-241" + "l-*-239" + "l-*-237" + "l-*-235" + "l-*-233" + "l-*-231" + "l-*-229" + "l-*-227" + "l-*-225" + "l-*-223" + "l-*-221" + "l-*-219" + "l-*-217" + "l-*-215" + "l-*-213" + "l-*-211" + "l-*-209")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("l-*-47" "l-*-46" "l-*-45")) + #(ribcage () () ())) + (hygiene guile))) + #f)) + #f)) + key-13696) + (let ((x-13763 + (gensym + (string-append + (symbol->string 'tmp) + "-")))) + (build-call-4517 + s-13643 + (let ((req-13901 (list 'tmp)) + (vars-13903 (list x-13763)) + (exp-13905 + (gen-syntax-case-13639 + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + #f + 'tmp + x-13763) + key-13696 + m-13697 + r-13641 + mod-13644))) + (let ((body-13910 + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #f + req-13901 + #f + #f + #f + '() + vars-13903 + exp-13905 + #f))) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + #f + '() + body-13910))) + (list (expand-4586 + val-13695 + r-13641 + '(()) + mod-13644)))) + (syntax-violation + 'syntax-case + "invalid literals list" + e-13645))) + tmp-13647) + (syntax-violation + #f + "source expression failed to match any pattern" + tmp-13646)))))))) + (set! macroexpand + (lambda* + (x-16590 + #:optional + (m-16591 'e) + (esew-16592 '(eval))) + (expand-top-sequence-4582 + (list x-16590) + '() + '((top)) + #f + m-16591 + esew-16592 + (cons 'hygiene (module-name (current-module)))))) + (set! identifier? + (lambda (x-16595) + (if (if (vector? x-16595) + (if (= (vector-length x-16595) 4) + (eq? (vector-ref x-16595 0) 'syntax-object) + #f) #f) - #f) - (symbol? (vector-ref #{x 40411}# 1)) - #f))) - (set! datum->syntax - (lambda (#{id 40436}# #{datum 40437}#) - (let ((#{wrap 40442}# (vector-ref #{id 40436}# 2)) - (#{module 40443}# (vector-ref #{id 40436}# 3))) - (vector - 'syntax-object - #{datum 40437}# - #{wrap 40442}# - #{module 40443}#)))) - (set! syntax->datum - (lambda (#{x 40450}#) - (#{strip 28284}# #{x 40450}# '(())))) - (set! syntax-source - (lambda (#{x 40453}#) - (#{source-annotation 28232}# #{x 40453}#))) - (set! generate-temporaries - (lambda (#{ls 40637}#) - (begin - (if (not (list? #{ls 40637}#)) - (syntax-violation - 'generate-temporaries - "invalid argument" - #{ls 40637}#)) - (let ((#{mod 40645}# - (cons 'hygiene (module-name (current-module))))) - (map (lambda (#{x 40646}#) - (let ((#{x 40650}# (gensym))) - (if (if (vector? #{x 40650}#) - (if (= (vector-length #{x 40650}#) 4) - (eq? (vector-ref #{x 40650}# 0) 'syntax-object) + (symbol? (vector-ref x-16595 1)) + #f))) + (set! datum->syntax + (lambda (id-16620 datum-16621) + (let ((wrap-16626 (vector-ref id-16620 2)) + (module-16627 (vector-ref id-16620 3))) + (vector + 'syntax-object + datum-16621 + wrap-16626 + module-16627)))) + (set! syntax->datum + (lambda (x-16634) (strip-4599 x-16634 '(())))) + (set! syntax-source + (lambda (x-16637) + (source-annotation-4544 x-16637))) + (set! generate-temporaries + (lambda (ls-16821) + (begin + (if (not (list? ls-16821)) + (syntax-violation + 'generate-temporaries + "invalid argument" + ls-16821)) + (let ((mod-16829 + (cons 'hygiene (module-name (current-module))))) + (map (lambda (x-16830) + (let ((x-16834 (gensym "t-"))) + (if (if (vector? x-16834) + (if (= (vector-length x-16834) 4) + (eq? (vector-ref x-16834 0) 'syntax-object) + #f) + #f) + (let ((expression-16849 (vector-ref x-16834 1)) + (wrap-16850 + (let ((w2-16858 (vector-ref x-16834 2))) + (cons (let ((m2-16865 (car w2-16858))) + (if (null? m2-16865) + '(top) + (append '(top) m2-16865))) + (let ((m2-16872 (cdr w2-16858))) + (if (null? m2-16872) + '() + (append '() m2-16872)))))) + (module-16851 (vector-ref x-16834 3))) + (vector + 'syntax-object + expression-16849 + wrap-16850 + module-16851)) + (if (null? x-16834) + x-16834 + (vector + 'syntax-object + x-16834 + '((top)) + mod-16829))))) + ls-16821))))) + (set! free-identifier=? + (lambda (x-16881 y-16882) + (begin + (if (not (if (if (vector? x-16881) + (if (= (vector-length x-16881) 4) + (eq? (vector-ref x-16881 0) 'syntax-object) #f) #f) - (let ((#{expression 40665}# (vector-ref #{x 40650}# 1)) - (#{wrap 40666}# - (let ((#{w2 40674}# (vector-ref #{x 40650}# 2))) - (cons (let ((#{m2 40681}# (car #{w2 40674}#))) - (if (null? #{m2 40681}#) - '(top) - (append '(top) #{m2 40681}#))) - (let ((#{m2 40688}# (cdr #{w2 40674}#))) - (if (null? #{m2 40688}#) - '() - (append '() #{m2 40688}#)))))) - (#{module 40667}# (vector-ref #{x 40650}# 3))) - (vector - 'syntax-object - #{expression 40665}# - #{wrap 40666}# - #{module 40667}#)) - (if (null? #{x 40650}#) - #{x 40650}# - (vector - 'syntax-object - #{x 40650}# - '((top)) - #{mod 40645}#))))) - #{ls 40637}#))))) - (set! free-identifier=? - (lambda (#{x 40697}# #{y 40698}#) - (begin - (if (not (if (if (vector? #{x 40697}#) - (if (= (vector-length #{x 40697}#) 4) - (eq? (vector-ref #{x 40697}# 0) 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{x 40697}# 1)) - #f)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{x 40697}#)) - (if (not (if (if (vector? #{y 40698}#) - (if (= (vector-length #{y 40698}#) 4) - (eq? (vector-ref #{y 40698}# 0) 'syntax-object) + (symbol? (vector-ref x-16881 1)) + #f)) + (syntax-violation + 'free-identifier=? + "invalid argument" + x-16881)) + (if (not (if (if (vector? y-16882) + (if (= (vector-length y-16882) 4) + (eq? (vector-ref y-16882 0) 'syntax-object) + #f) #f) - #f) - (symbol? (vector-ref #{y 40698}# 1)) - #f)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{y 40698}#)) - (#{free-id=? 28259}# #{x 40697}# #{y 40698}#)))) - (set! bound-identifier=? - (lambda (#{x 40773}# #{y 40774}#) - (begin - (if (not (if (if (vector? #{x 40773}#) - (if (= (vector-length #{x 40773}#) 4) - (eq? (vector-ref #{x 40773}# 0) 'syntax-object) + (symbol? (vector-ref y-16882 1)) + #f)) + (syntax-violation + 'free-identifier=? + "invalid argument" + y-16882)) + (free-id=?-4574 x-16881 y-16882)))) + (set! bound-identifier=? + (lambda (x-16957 y-16958) + (begin + (if (not (if (if (vector? x-16957) + (if (= (vector-length x-16957) 4) + (eq? (vector-ref x-16957 0) 'syntax-object) + #f) #f) - #f) - (symbol? (vector-ref #{x 40773}# 1)) - #f)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{x 40773}#)) - (if (not (if (if (vector? #{y 40774}#) - (if (= (vector-length #{y 40774}#) 4) - (eq? (vector-ref #{y 40774}# 0) 'syntax-object) + (symbol? (vector-ref x-16957 1)) + #f)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + x-16957)) + (if (not (if (if (vector? y-16958) + (if (= (vector-length y-16958) 4) + (eq? (vector-ref y-16958 0) 'syntax-object) + #f) #f) - #f) - (symbol? (vector-ref #{y 40774}# 1)) - #f)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{y 40774}#)) - (#{bound-id=? 28260}# #{x 40773}# #{y 40774}#)))) - (set! syntax-violation - (lambda* - (#{who 40940}# - #{message 40941}# - #{form 40942}# - #:optional - (#{subform 40943}# #f)) + (symbol? (vector-ref y-16958 1)) + #f)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + y-16958)) + (bound-id=?-4575 x-16957 y-16958)))) + (set! syntax-violation + (lambda* + (who-17124 + message-17125 + form-17126 + #:optional + (subform-17127 #f)) + (begin + (if (not (if (not who-17124) + (not who-17124) + (let ((t-17145 (string? who-17124))) + (if t-17145 t-17145 (symbol? who-17124))))) + (syntax-violation + 'syntax-violation + "invalid argument" + who-17124)) + (if (not (string? message-17125)) + (syntax-violation + 'syntax-violation + "invalid argument" + message-17125)) + (throw 'syntax-error + who-17124 + message-17125 + (source-annotation-4544 + (if form-17126 form-17126 subform-17127)) + (strip-4599 form-17126 '(())) + (if subform-17127 + (strip-4599 subform-17127 '(())) + #f))))) + (letrec* + ((syntax-local-binding-17377 + (lambda (id-17517) + (begin + (if (not (if (if (vector? id-17517) + (if (= (vector-length id-17517) 4) + (eq? (vector-ref id-17517 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref id-17517 1)) + #f)) + (syntax-violation + 'syntax-local-binding + "invalid argument" + id-17517)) + ((fluid-ref transformer-environment-4572) + (lambda (e-17557 + r-17558 + w-17559 + s-17560 + rib-17561 + mod-17562) + (call-with-values + (lambda () + (resolve-identifier-4571 + (vector-ref id-17517 1) + (let ((w-17569 (vector-ref id-17517 2))) + (let ((ms-17570 (car w-17569)) + (s-17571 (cdr w-17569))) + (if (if (pair? ms-17570) + (eq? (car ms-17570) #f) + #f) + (cons (cdr ms-17570) + (if rib-17561 + (cons rib-17561 (cdr s-17571)) + (cdr s-17571))) + (cons ms-17570 + (if rib-17561 + (cons rib-17561 s-17571) + s-17571))))) + r-17558 + (vector-ref id-17517 3) + #t)) + (lambda (type-17578 value-17579 mod-17580) + (if (eqv? type-17578 'lexical) + (values 'lexical value-17579) + (if (eqv? type-17578 'macro) + (values 'macro value-17579) + (if (eqv? type-17578 'syntax) + (values 'pattern-variable value-17579) + (if (eqv? type-17578 'displaced-lexical) + (values 'displaced-lexical #f) + (if (eqv? type-17578 'global) + (values + 'global + (cons value-17579 (cdr mod-17580))) + (values 'other #f))))))))))))) + (syntax-locally-bound-identifiers-17378 + (lambda (id-17591) + (begin + (if (not (if (if (vector? id-17591) + (if (= (vector-length id-17591) 4) + (eq? (vector-ref id-17591 0) 'syntax-object) + #f) + #f) + (symbol? (vector-ref id-17591 1)) + #f)) + (syntax-violation + 'syntax-locally-bound-identifiers + "invalid argument" + id-17591)) + (locally-bound-identifiers-4570 + (vector-ref id-17591 2) + (vector-ref id-17591 3)))))) (begin - (if (not (if (not #{who 40940}#) - (not #{who 40940}#) - (let ((#{t 40961}# (string? #{who 40940}#))) - (if #{t 40961}# - #{t 40961}# - (symbol? #{who 40940}#))))) - (syntax-violation - 'syntax-violation - "invalid argument" - #{who 40940}#)) - (if (not (string? #{message 40941}#)) - (syntax-violation - 'syntax-violation - "invalid argument" - #{message 40941}#)) - (throw 'syntax-error - #{who 40940}# - #{message 40941}# - (#{source-annotation 28232}# - (if #{form 40942}# - #{form 40942}# - #{subform 40943}#)) - (#{strip 28284}# #{form 40942}# '(())) - (if #{subform 40943}# - (#{strip 28284}# #{subform 40943}# '(())) - #f))))) - (letrec* - ((#{match-each 41192}# - (lambda (#{e 42071}# - #{p 42072}# - #{w 42073}# - #{mod 42074}#) - (if (pair? #{e 42071}#) - (let ((#{first 42075}# - (#{match 41198}# - (car #{e 42071}#) - #{p 42072}# - #{w 42073}# - '() - #{mod 42074}#))) - (if #{first 42075}# - (let ((#{rest 42078}# - (#{match-each 41192}# - (cdr #{e 42071}#) - #{p 42072}# - #{w 42073}# - #{mod 42074}#))) - (if #{rest 42078}# - (cons #{first 42075}# #{rest 42078}#) - #f)) - #f)) - (if (null? #{e 42071}#) - '() - (if (if (vector? #{e 42071}#) - (if (= (vector-length #{e 42071}#) 4) - (eq? (vector-ref #{e 42071}# 0) 'syntax-object) - #f) - #f) - (#{match-each 41192}# - (vector-ref #{e 42071}# 1) - #{p 42072}# - (let ((#{w2 42100}# (vector-ref #{e 42071}# 2))) - (let ((#{m1 42101}# (car #{w 42073}#)) - (#{s1 42102}# (cdr #{w 42073}#))) - (if (null? #{m1 42101}#) - (if (null? #{s1 42102}#) - #{w2 42100}# - (cons (car #{w2 42100}#) - (let ((#{m2 42113}# (cdr #{w2 42100}#))) - (if (null? #{m2 42113}#) - #{s1 42102}# - (append #{s1 42102}# #{m2 42113}#))))) - (cons (let ((#{m2 42121}# (car #{w2 42100}#))) - (if (null? #{m2 42121}#) - #{m1 42101}# - (append #{m1 42101}# #{m2 42121}#))) - (let ((#{m2 42129}# (cdr #{w2 42100}#))) - (if (null? #{m2 42129}#) - #{s1 42102}# - (append #{s1 42102}# #{m2 42129}#))))))) - (vector-ref #{e 42071}# 3)) - #f))))) - (#{match-each-any 41194}# - (lambda (#{e 42138}# #{w 42139}# #{mod 42140}#) - (if (pair? #{e 42138}#) - (let ((#{l 42141}# - (#{match-each-any 41194}# - (cdr #{e 42138}#) - #{w 42139}# - #{mod 42140}#))) - (if #{l 42141}# - (cons (let ((#{x 42146}# (car #{e 42138}#))) - (if (if (null? (car #{w 42139}#)) - (null? (cdr #{w 42139}#)) + (define! + 'syntax-module + (lambda (id-17380) + (begin + (if (not (if (if (vector? id-17380) + (if (= (vector-length id-17380) 4) + (eq? (vector-ref id-17380 0) 'syntax-object) + #f) #f) - #{x 42146}# - (if (if (vector? #{x 42146}#) - (if (= (vector-length #{x 42146}#) 4) - (eq? (vector-ref #{x 42146}# 0) - 'syntax-object) - #f) + (symbol? (vector-ref id-17380 1)) + #f)) + (syntax-violation + 'syntax-module + "invalid argument" + id-17380)) + (cdr (vector-ref id-17380 3))))) + (define! + 'syntax-local-binding + syntax-local-binding-17377) + (define! + 'syntax-locally-bound-identifiers + syntax-locally-bound-identifiers-17378))) + (letrec* + ((match-each-17708 + (lambda (e-18587 p-18588 w-18589 mod-18590) + (if (pair? e-18587) + (let ((first-18591 + (match-17714 + (car e-18587) + p-18588 + w-18589 + '() + mod-18590))) + (if first-18591 + (let ((rest-18594 + (match-each-17708 + (cdr e-18587) + p-18588 + w-18589 + mod-18590))) + (if rest-18594 (cons first-18591 rest-18594) #f)) + #f)) + (if (null? e-18587) + '() + (if (if (vector? e-18587) + (if (= (vector-length e-18587) 4) + (eq? (vector-ref e-18587 0) 'syntax-object) + #f) + #f) + (match-each-17708 + (vector-ref e-18587 1) + p-18588 + (let ((w2-18616 (vector-ref e-18587 2))) + (let ((m1-18617 (car w-18589)) + (s1-18618 (cdr w-18589))) + (if (null? m1-18617) + (if (null? s1-18618) + w2-18616 + (cons (car w2-18616) + (let ((m2-18629 (cdr w2-18616))) + (if (null? m2-18629) + s1-18618 + (append s1-18618 m2-18629))))) + (cons (let ((m2-18637 (car w2-18616))) + (if (null? m2-18637) + m1-18617 + (append m1-18617 m2-18637))) + (let ((m2-18645 (cdr w2-18616))) + (if (null? m2-18645) + s1-18618 + (append s1-18618 m2-18645))))))) + (vector-ref e-18587 3)) + #f))))) + (match-each-any-17710 + (lambda (e-18654 w-18655 mod-18656) + (if (pair? e-18654) + (let ((l-18657 + (match-each-any-17710 + (cdr e-18654) + w-18655 + mod-18656))) + (if l-18657 + (cons (let ((x-18662 (car e-18654))) + (if (if (null? (car w-18655)) + (null? (cdr w-18655)) #f) - (let ((#{expression 42164}# - (vector-ref #{x 42146}# 1)) - (#{wrap 42165}# - (let ((#{w2 42173}# - (vector-ref #{x 42146}# 2))) - (let ((#{m1 42174}# (car #{w 42139}#)) - (#{s1 42175}# (cdr #{w 42139}#))) - (if (null? #{m1 42174}#) - (if (null? #{s1 42175}#) - #{w2 42173}# - (cons (car #{w2 42173}#) - (let ((#{m2 42190}# - (cdr #{w2 42173}#))) - (if (null? #{m2 42190}#) - #{s1 42175}# + x-18662 + (if (if (vector? x-18662) + (if (= (vector-length x-18662) 4) + (eq? (vector-ref x-18662 0) + 'syntax-object) + #f) + #f) + (let ((expression-18680 (vector-ref x-18662 1)) + (wrap-18681 + (let ((w2-18689 (vector-ref x-18662 2))) + (let ((m1-18690 (car w-18655)) + (s1-18691 (cdr w-18655))) + (if (null? m1-18690) + (if (null? s1-18691) + w2-18689 + (cons (car w2-18689) + (let ((m2-18706 + (cdr w2-18689))) + (if (null? m2-18706) + s1-18691 + (append + s1-18691 + m2-18706))))) + (cons (let ((m2-18714 + (car w2-18689))) + (if (null? m2-18714) + m1-18690 (append - #{s1 42175}# - #{m2 42190}#))))) - (cons (let ((#{m2 42198}# - (car #{w2 42173}#))) - (if (null? #{m2 42198}#) - #{m1 42174}# - (append - #{m1 42174}# - #{m2 42198}#))) - (let ((#{m2 42206}# - (cdr #{w2 42173}#))) - (if (null? #{m2 42206}#) - #{s1 42175}# - (append - #{s1 42175}# - #{m2 42206}#)))))))) - (#{module 42166}# - (vector-ref #{x 42146}# 3))) - (vector - 'syntax-object - #{expression 42164}# - #{wrap 42165}# - #{module 42166}#)) - (if (null? #{x 42146}#) - #{x 42146}# - (vector - 'syntax-object - #{x 42146}# - #{w 42139}# - #{mod 42140}#))))) - #{l 42141}#) - #f)) - (if (null? #{e 42138}#) - '() - (if (if (vector? #{e 42138}#) - (if (= (vector-length #{e 42138}#) 4) - (eq? (vector-ref #{e 42138}# 0) 'syntax-object) + m1-18690 + m2-18714))) + (let ((m2-18722 + (cdr w2-18689))) + (if (null? m2-18722) + s1-18691 + (append + s1-18691 + m2-18722)))))))) + (module-18682 (vector-ref x-18662 3))) + (vector + 'syntax-object + expression-18680 + wrap-18681 + module-18682)) + (if (null? x-18662) + x-18662 + (vector + 'syntax-object + x-18662 + w-18655 + mod-18656))))) + l-18657) + #f)) + (if (null? e-18654) + '() + (if (if (vector? e-18654) + (if (= (vector-length e-18654) 4) + (eq? (vector-ref e-18654 0) 'syntax-object) + #f) #f) - #f) - (#{match-each-any 41194}# - (vector-ref #{e 42138}# 1) - (let ((#{w2 42239}# (vector-ref #{e 42138}# 2))) - (let ((#{m1 42240}# (car #{w 42139}#)) - (#{s1 42241}# (cdr #{w 42139}#))) - (if (null? #{m1 42240}#) - (if (null? #{s1 42241}#) - #{w2 42239}# - (cons (car #{w2 42239}#) - (let ((#{m2 42252}# (cdr #{w2 42239}#))) - (if (null? #{m2 42252}#) - #{s1 42241}# - (append #{s1 42241}# #{m2 42252}#))))) - (cons (let ((#{m2 42260}# (car #{w2 42239}#))) - (if (null? #{m2 42260}#) - #{m1 42240}# - (append #{m1 42240}# #{m2 42260}#))) - (let ((#{m2 42268}# (cdr #{w2 42239}#))) - (if (null? #{m2 42268}#) - #{s1 42241}# - (append #{s1 42241}# #{m2 42268}#))))))) - #{mod 42140}#) - #f))))) - (#{match-empty 41195}# - (lambda (#{p 42273}# #{r 42274}#) - (if (null? #{p 42273}#) - #{r 42274}# - (if (eq? #{p 42273}# '_) - #{r 42274}# - (if (eq? #{p 42273}# 'any) - (cons '() #{r 42274}#) - (if (pair? #{p 42273}#) - (#{match-empty 41195}# - (car #{p 42273}#) - (#{match-empty 41195}# - (cdr #{p 42273}#) - #{r 42274}#)) - (if (eq? #{p 42273}# 'each-any) - (cons '() #{r 42274}#) - (let ((#{atom-key 42275}# (vector-ref #{p 42273}# 0))) - (if (eqv? #{atom-key 42275}# 'each) - (#{match-empty 41195}# - (vector-ref #{p 42273}# 1) - #{r 42274}#) - (if (eqv? #{atom-key 42275}# 'each+) - (#{match-empty 41195}# - (vector-ref #{p 42273}# 1) - (#{match-empty 41195}# - (reverse (vector-ref #{p 42273}# 2)) - (#{match-empty 41195}# - (vector-ref #{p 42273}# 3) - #{r 42274}#))) - (if (if (eqv? #{atom-key 42275}# 'free-id) - #t - (eqv? #{atom-key 42275}# 'atom)) - #{r 42274}# - (if (eqv? #{atom-key 42275}# 'vector) - (#{match-empty 41195}# - (vector-ref #{p 42273}# 1) - #{r 42274}#))))))))))))) - (#{combine 41196}# - (lambda (#{r* 42294}# #{r 42295}#) - (if (null? (car #{r* 42294}#)) - #{r 42295}# - (cons (map car #{r* 42294}#) - (#{combine 41196}# - (map cdr #{r* 42294}#) - #{r 42295}#))))) - (#{match* 41197}# - (lambda (#{e 41227}# - #{p 41228}# - #{w 41229}# - #{r 41230}# - #{mod 41231}#) - (if (null? #{p 41228}#) - (if (null? #{e 41227}#) #{r 41230}# #f) - (if (pair? #{p 41228}#) - (if (pair? #{e 41227}#) - (#{match 41198}# - (car #{e 41227}#) - (car #{p 41228}#) - #{w 41229}# - (#{match 41198}# - (cdr #{e 41227}#) - (cdr #{p 41228}#) - #{w 41229}# - #{r 41230}# - #{mod 41231}#) - #{mod 41231}#) - #f) - (if (eq? #{p 41228}# 'each-any) - (let ((#{l 41236}# - (#{match-each-any 41194}# - #{e 41227}# - #{w 41229}# - #{mod 41231}#))) - (if #{l 41236}# - (cons #{l 41236}# #{r 41230}#) - #f)) - (let ((#{atom-key 41241}# (vector-ref #{p 41228}# 0))) - (if (eqv? #{atom-key 41241}# 'each) - (if (null? #{e 41227}#) - (#{match-empty 41195}# - (vector-ref #{p 41228}# 1) - #{r 41230}#) - (let ((#{l 41248}# - (#{match-each 41192}# - #{e 41227}# - (vector-ref #{p 41228}# 1) - #{w 41229}# - #{mod 41231}#))) - (if #{l 41248}# - (letrec* - ((#{collect 41251}# - (lambda (#{l 41308}#) - (if (null? (car #{l 41308}#)) - #{r 41230}# - (cons (map car #{l 41308}#) - (#{collect 41251}# - (map cdr #{l 41308}#))))))) - (#{collect 41251}# #{l 41248}#)) - #f))) - (if (eqv? #{atom-key 41241}# 'each+) - (call-with-values - (lambda () - (let ((#{x-pat 41317}# (vector-ref #{p 41228}# 1)) - (#{y-pat 41318}# (vector-ref #{p 41228}# 2)) - (#{z-pat 41319}# (vector-ref #{p 41228}# 3))) + (match-each-any-17710 + (vector-ref e-18654 1) + (let ((w2-18755 (vector-ref e-18654 2))) + (let ((m1-18756 (car w-18655)) + (s1-18757 (cdr w-18655))) + (if (null? m1-18756) + (if (null? s1-18757) + w2-18755 + (cons (car w2-18755) + (let ((m2-18768 (cdr w2-18755))) + (if (null? m2-18768) + s1-18757 + (append s1-18757 m2-18768))))) + (cons (let ((m2-18776 (car w2-18755))) + (if (null? m2-18776) + m1-18756 + (append m1-18756 m2-18776))) + (let ((m2-18784 (cdr w2-18755))) + (if (null? m2-18784) + s1-18757 + (append s1-18757 m2-18784))))))) + mod-18656) + #f))))) + (match-empty-17711 + (lambda (p-18789 r-18790) + (if (null? p-18789) + r-18790 + (if (eq? p-18789 '_) + r-18790 + (if (eq? p-18789 'any) + (cons '() r-18790) + (if (pair? p-18789) + (match-empty-17711 + (car p-18789) + (match-empty-17711 (cdr p-18789) r-18790)) + (if (eq? p-18789 'each-any) + (cons '() r-18790) + (let ((atom-key-18791 (vector-ref p-18789 0))) + (if (eqv? atom-key-18791 'each) + (match-empty-17711 + (vector-ref p-18789 1) + r-18790) + (if (eqv? atom-key-18791 'each+) + (match-empty-17711 + (vector-ref p-18789 1) + (match-empty-17711 + (reverse (vector-ref p-18789 2)) + (match-empty-17711 + (vector-ref p-18789 3) + r-18790))) + (if (if (eqv? atom-key-18791 'free-id) + #t + (eqv? atom-key-18791 'atom)) + r-18790 + (if (eqv? atom-key-18791 'vector) + (match-empty-17711 + (vector-ref p-18789 1) + r-18790))))))))))))) + (combine-17712 + (lambda (r*-18810 r-18811) + (if (null? (car r*-18810)) + r-18811 + (cons (map car r*-18810) + (combine-17712 (map cdr r*-18810) r-18811))))) + (match*-17713 + (lambda (e-17743 p-17744 w-17745 r-17746 mod-17747) + (if (null? p-17744) + (if (null? e-17743) r-17746 #f) + (if (pair? p-17744) + (if (pair? e-17743) + (match-17714 + (car e-17743) + (car p-17744) + w-17745 + (match-17714 + (cdr e-17743) + (cdr p-17744) + w-17745 + r-17746 + mod-17747) + mod-17747) + #f) + (if (eq? p-17744 'each-any) + (let ((l-17752 + (match-each-any-17710 e-17743 w-17745 mod-17747))) + (if l-17752 (cons l-17752 r-17746) #f)) + (let ((atom-key-17757 (vector-ref p-17744 0))) + (if (eqv? atom-key-17757 'each) + (if (null? e-17743) + (match-empty-17711 + (vector-ref p-17744 1) + r-17746) + (let ((l-17764 + (match-each-17708 + e-17743 + (vector-ref p-17744 1) + w-17745 + mod-17747))) + (if l-17764 (letrec* - ((#{f 41323}# - (lambda (#{e 41325}# #{w 41326}#) - (if (pair? #{e 41325}#) - (call-with-values - (lambda () - (#{f 41323}# - (cdr #{e 41325}#) - #{w 41326}#)) - (lambda (#{xr* 41327}# - #{y-pat 41328}# - #{r 41329}#) - (if #{r 41329}# - (if (null? #{y-pat 41328}#) - (let ((#{xr 41330}# - (#{match 41198}# - (car #{e 41325}#) - #{x-pat 41317}# - #{w 41326}# - '() - #{mod 41231}#))) - (if #{xr 41330}# - (values - (cons #{xr 41330}# - #{xr* 41327}#) - #{y-pat 41328}# - #{r 41329}#) - (values #f #f #f))) - (values - '() - (cdr #{y-pat 41328}#) - (#{match 41198}# - (car #{e 41325}#) - (car #{y-pat 41328}#) - #{w 41326}# - #{r 41329}# - #{mod 41231}#))) - (values #f #f #f)))) - (if (if (vector? #{e 41325}#) - (if (= (vector-length #{e 41325}#) - 4) - (eq? (vector-ref #{e 41325}# 0) - 'syntax-object) + ((collect-17767 + (lambda (l-17824) + (if (null? (car l-17824)) + r-17746 + (cons (map car l-17824) + (collect-17767 + (map cdr l-17824))))))) + (collect-17767 l-17764)) + #f))) + (if (eqv? atom-key-17757 'each+) + (call-with-values + (lambda () + (let ((x-pat-17833 (vector-ref p-17744 1)) + (y-pat-17834 (vector-ref p-17744 2)) + (z-pat-17835 (vector-ref p-17744 3))) + (letrec* + ((f-17839 + (lambda (e-17841 w-17842) + (if (pair? e-17841) + (call-with-values + (lambda () + (f-17839 (cdr e-17841) w-17842)) + (lambda (xr*-17843 + y-pat-17844 + r-17845) + (if r-17845 + (if (null? y-pat-17844) + (let ((xr-17846 + (match-17714 + (car e-17841) + x-pat-17833 + w-17842 + '() + mod-17747))) + (if xr-17846 + (values + (cons xr-17846 xr*-17843) + y-pat-17844 + r-17845) + (values #f #f #f))) + (values + '() + (cdr y-pat-17844) + (match-17714 + (car e-17841) + (car y-pat-17844) + w-17842 + r-17845 + mod-17747))) + (values #f #f #f)))) + (if (if (vector? e-17841) + (if (= (vector-length e-17841) 4) + (eq? (vector-ref e-17841 0) + 'syntax-object) + #f) #f) - #f) - (#{f 41323}# - (vector-ref #{e 41325}# 1) - (let ((#{m1 41356}# - (car #{w 41326}#)) - (#{s1 41357}# - (cdr #{w 41326}#))) - (if (null? #{m1 41356}#) - (if (null? #{s1 41357}#) - #{e 41325}# - (cons (car #{e 41325}#) - (let ((#{m2 41369}# - (cdr #{e 41325}#))) - (if (null? #{m2 41369}#) - #{s1 41357}# + (f-17839 + (vector-ref e-17841 1) + (let ((m1-17872 (car w-17842)) + (s1-17873 (cdr w-17842))) + (if (null? m1-17872) + (if (null? s1-17873) + e-17841 + (cons (car e-17841) + (let ((m2-17885 + (cdr e-17841))) + (if (null? m2-17885) + s1-17873 + (append + s1-17873 + m2-17885))))) + (cons (let ((m2-17895 + (car e-17841))) + (if (null? m2-17895) + m1-17872 (append - #{s1 41357}# - #{m2 41369}#))))) - (cons (let ((#{m2 41379}# - (car #{e 41325}#))) - (if (null? #{m2 41379}#) - #{m1 41356}# - (append - #{m1 41356}# - #{m2 41379}#))) - (let ((#{m2 41389}# - (cdr #{e 41325}#))) - (if (null? #{m2 41389}#) - #{s1 41357}# - (append - #{s1 41357}# - #{m2 41389}#))))))) - (values - '() - #{y-pat 41318}# - (#{match 41198}# - #{e 41325}# - #{z-pat 41319}# - #{w 41326}# - #{r 41230}# - #{mod 41231}#))))))) - (#{f 41323}# #{e 41227}# #{w 41229}#)))) - (lambda (#{xr* 41399}# #{y-pat 41400}# #{r 41401}#) - (if #{r 41401}# - (if (null? #{y-pat 41400}#) - (if (null? #{xr* 41399}#) - (#{match-empty 41195}# - (vector-ref #{p 41228}# 1) - #{r 41401}#) - (#{combine 41196}# #{xr* 41399}# #{r 41401}#)) - #f) - #f))) - (if (eqv? #{atom-key 41241}# 'free-id) - (if (if (symbol? #{e 41227}#) - #t - (if (if (vector? #{e 41227}#) - (if (= (vector-length #{e 41227}#) 4) - (eq? (vector-ref #{e 41227}# 0) - 'syntax-object) - #f) - #f) - (symbol? (vector-ref #{e 41227}# 1)) - #f)) - (if (#{free-id=? 28259}# - (if (if (null? (car #{w 41229}#)) - (null? (cdr #{w 41229}#)) + m1-17872 + m2-17895))) + (let ((m2-17905 + (cdr e-17841))) + (if (null? m2-17905) + s1-17873 + (append + s1-17873 + m2-17905))))))) + (values + '() + y-pat-17834 + (match-17714 + e-17841 + z-pat-17835 + w-17842 + r-17746 + mod-17747))))))) + (f-17839 e-17743 w-17745)))) + (lambda (xr*-17915 y-pat-17916 r-17917) + (if r-17917 + (if (null? y-pat-17916) + (if (null? xr*-17915) + (match-empty-17711 + (vector-ref p-17744 1) + r-17917) + (combine-17712 xr*-17915 r-17917)) + #f) + #f))) + (if (eqv? atom-key-17757 'free-id) + (if (if (symbol? e-17743) + #t + (if (if (vector? e-17743) + (if (= (vector-length e-17743) 4) + (eq? (vector-ref e-17743 0) + 'syntax-object) + #f) #f) - #{e 41227}# - (if (if (vector? #{e 41227}#) - (if (= (vector-length #{e 41227}#) 4) - (eq? (vector-ref #{e 41227}# 0) - 'syntax-object) - #f) + (symbol? (vector-ref e-17743 1)) + #f)) + (if (free-id=?-4574 + (if (if (null? (car w-17745)) + (null? (cdr w-17745)) #f) - (let ((#{expression 41829}# - (vector-ref #{e 41227}# 1)) - (#{wrap 41830}# - (let ((#{w2 41840}# - (vector-ref - #{e 41227}# - 2))) - (let ((#{m1 41841}# - (car #{w 41229}#)) - (#{s1 41842}# - (cdr #{w 41229}#))) - (if (null? #{m1 41841}#) - (if (null? #{s1 41842}#) - #{w2 41840}# - (cons (car #{w2 41840}#) - (let ((#{m2 41859}# - (cdr #{w2 41840}#))) - (if (null? #{m2 41859}#) - #{s1 41842}# + e-17743 + (if (if (vector? e-17743) + (if (= (vector-length e-17743) 4) + (eq? (vector-ref e-17743 0) + 'syntax-object) + #f) + #f) + (let ((expression-18345 + (vector-ref e-17743 1)) + (wrap-18346 + (let ((w2-18356 + (vector-ref e-17743 2))) + (let ((m1-18357 (car w-17745)) + (s1-18358 + (cdr w-17745))) + (if (null? m1-18357) + (if (null? s1-18358) + w2-18356 + (cons (car w2-18356) + (let ((m2-18375 + (cdr w2-18356))) + (if (null? m2-18375) + s1-18358 + (append + s1-18358 + m2-18375))))) + (cons (let ((m2-18383 + (car w2-18356))) + (if (null? m2-18383) + m1-18357 (append - #{s1 41842}# - #{m2 41859}#))))) - (cons (let ((#{m2 41867}# - (car #{w2 41840}#))) - (if (null? #{m2 41867}#) - #{m1 41841}# - (append - #{m1 41841}# - #{m2 41867}#))) - (let ((#{m2 41875}# - (cdr #{w2 41840}#))) - (if (null? #{m2 41875}#) - #{s1 41842}# - (append - #{s1 41842}# - #{m2 41875}#)))))))) - (#{module 41831}# - (vector-ref #{e 41227}# 3))) - (vector - 'syntax-object - #{expression 41829}# - #{wrap 41830}# - #{module 41831}#)) - (if (null? #{e 41227}#) - #{e 41227}# - (vector - 'syntax-object - #{e 41227}# - #{w 41229}# - #{mod 41231}#)))) - (vector-ref #{p 41228}# 1)) - #{r 41230}# - #f) - #f) - (if (eqv? #{atom-key 41241}# 'atom) - (if (equal? - (vector-ref #{p 41228}# 1) - (#{strip 28284}# #{e 41227}# #{w 41229}#)) - #{r 41230}# - #f) - (if (eqv? #{atom-key 41241}# 'vector) - (if (vector? #{e 41227}#) - (#{match 41198}# - (vector->list #{e 41227}#) - (vector-ref #{p 41228}# 1) - #{w 41229}# - #{r 41230}# - #{mod 41231}#) - #f)))))))))))) - (#{match 41198}# - (lambda (#{e 41908}# - #{p 41909}# - #{w 41910}# - #{r 41911}# - #{mod 41912}#) - (if (not #{r 41911}#) - #f - (if (eq? #{p 41909}# '_) - #{r 41911}# - (if (eq? #{p 41909}# 'any) - (cons (if (if (null? (car #{w 41910}#)) - (null? (cdr #{w 41910}#)) + m1-18357 + m2-18383))) + (let ((m2-18391 + (cdr w2-18356))) + (if (null? m2-18391) + s1-18358 + (append + s1-18358 + m2-18391)))))))) + (module-18347 + (vector-ref e-17743 3))) + (vector + 'syntax-object + expression-18345 + wrap-18346 + module-18347)) + (if (null? e-17743) + e-17743 + (vector + 'syntax-object + e-17743 + w-17745 + mod-17747)))) + (vector-ref p-17744 1)) + r-17746 + #f) #f) - #{e 41908}# - (if (if (vector? #{e 41908}#) - (if (= (vector-length #{e 41908}#) 4) - (eq? (vector-ref #{e 41908}# 0) - 'syntax-object) - #f) + (if (eqv? atom-key-17757 'atom) + (if (equal? + (vector-ref p-17744 1) + (strip-4599 e-17743 w-17745)) + r-17746 + #f) + (if (eqv? atom-key-17757 'vector) + (if (vector? e-17743) + (match-17714 + (vector->list e-17743) + (vector-ref p-17744 1) + w-17745 + r-17746 + mod-17747) + #f)))))))))))) + (match-17714 + (lambda (e-18424 p-18425 w-18426 r-18427 mod-18428) + (if (not r-18427) + #f + (if (eq? p-18425 '_) + r-18427 + (if (eq? p-18425 'any) + (cons (if (if (null? (car w-18426)) + (null? (cdr w-18426)) #f) - (let ((#{expression 41942}# - (vector-ref #{e 41908}# 1)) - (#{wrap 41943}# - (let ((#{w2 41953}# - (vector-ref #{e 41908}# 2))) - (let ((#{m1 41954}# (car #{w 41910}#)) - (#{s1 41955}# (cdr #{w 41910}#))) - (if (null? #{m1 41954}#) - (if (null? #{s1 41955}#) - #{w2 41953}# - (cons (car #{w2 41953}#) - (let ((#{m2 41972}# - (cdr #{w2 41953}#))) - (if (null? #{m2 41972}#) - #{s1 41955}# + e-18424 + (if (if (vector? e-18424) + (if (= (vector-length e-18424) 4) + (eq? (vector-ref e-18424 0) 'syntax-object) + #f) + #f) + (let ((expression-18458 (vector-ref e-18424 1)) + (wrap-18459 + (let ((w2-18469 (vector-ref e-18424 2))) + (let ((m1-18470 (car w-18426)) + (s1-18471 (cdr w-18426))) + (if (null? m1-18470) + (if (null? s1-18471) + w2-18469 + (cons (car w2-18469) + (let ((m2-18488 + (cdr w2-18469))) + (if (null? m2-18488) + s1-18471 + (append + s1-18471 + m2-18488))))) + (cons (let ((m2-18496 + (car w2-18469))) + (if (null? m2-18496) + m1-18470 (append - #{s1 41955}# - #{m2 41972}#))))) - (cons (let ((#{m2 41980}# - (car #{w2 41953}#))) - (if (null? #{m2 41980}#) - #{m1 41954}# - (append - #{m1 41954}# - #{m2 41980}#))) - (let ((#{m2 41988}# - (cdr #{w2 41953}#))) - (if (null? #{m2 41988}#) - #{s1 41955}# - (append - #{s1 41955}# - #{m2 41988}#)))))))) - (#{module 41944}# (vector-ref #{e 41908}# 3))) - (vector - 'syntax-object - #{expression 41942}# - #{wrap 41943}# - #{module 41944}#)) - (if (null? #{e 41908}#) - #{e 41908}# - (vector - 'syntax-object - #{e 41908}# - #{w 41910}# - #{mod 41912}#)))) - #{r 41911}#) - (if (if (vector? #{e 41908}#) - (if (= (vector-length #{e 41908}#) 4) - (eq? (vector-ref #{e 41908}# 0) 'syntax-object) + m1-18470 + m2-18496))) + (let ((m2-18504 + (cdr w2-18469))) + (if (null? m2-18504) + s1-18471 + (append + s1-18471 + m2-18504)))))))) + (module-18460 (vector-ref e-18424 3))) + (vector + 'syntax-object + expression-18458 + wrap-18459 + module-18460)) + (if (null? e-18424) + e-18424 + (vector + 'syntax-object + e-18424 + w-18426 + mod-18428)))) + r-18427) + (if (if (vector? e-18424) + (if (= (vector-length e-18424) 4) + (eq? (vector-ref e-18424 0) 'syntax-object) + #f) #f) - #f) - (#{match* 41197}# - (vector-ref #{e 41908}# 1) - #{p 41909}# - (let ((#{w2 42031}# (vector-ref #{e 41908}# 2))) - (let ((#{m1 42032}# (car #{w 41910}#)) - (#{s1 42033}# (cdr #{w 41910}#))) - (if (null? #{m1 42032}#) - (if (null? #{s1 42033}#) - #{w2 42031}# - (cons (car #{w2 42031}#) - (let ((#{m2 42044}# (cdr #{w2 42031}#))) - (if (null? #{m2 42044}#) - #{s1 42033}# - (append #{s1 42033}# #{m2 42044}#))))) - (cons (let ((#{m2 42052}# (car #{w2 42031}#))) - (if (null? #{m2 42052}#) - #{m1 42032}# - (append #{m1 42032}# #{m2 42052}#))) - (let ((#{m2 42060}# (cdr #{w2 42031}#))) - (if (null? #{m2 42060}#) - #{s1 42033}# - (append #{s1 42033}# #{m2 42060}#))))))) - #{r 41911}# - (vector-ref #{e 41908}# 3)) - (#{match* 41197}# - #{e 41908}# - #{p 41909}# - #{w 41910}# - #{r 41911}# - #{mod 41912}#)))))))) - (set! $sc-dispatch - (lambda (#{e 41199}# #{p 41200}#) - (if (eq? #{p 41200}# 'any) - (list #{e 41199}#) - (if (eq? #{p 41200}# '_) - '() - (if (if (vector? #{e 41199}#) - (if (= (vector-length #{e 41199}#) 4) - (eq? (vector-ref #{e 41199}# 0) 'syntax-object) + (match*-17713 + (vector-ref e-18424 1) + p-18425 + (let ((w2-18547 (vector-ref e-18424 2))) + (let ((m1-18548 (car w-18426)) + (s1-18549 (cdr w-18426))) + (if (null? m1-18548) + (if (null? s1-18549) + w2-18547 + (cons (car w2-18547) + (let ((m2-18560 (cdr w2-18547))) + (if (null? m2-18560) + s1-18549 + (append s1-18549 m2-18560))))) + (cons (let ((m2-18568 (car w2-18547))) + (if (null? m2-18568) + m1-18548 + (append m1-18548 m2-18568))) + (let ((m2-18576 (cdr w2-18547))) + (if (null? m2-18576) + s1-18549 + (append s1-18549 m2-18576))))))) + r-18427 + (vector-ref e-18424 3)) + (match*-17713 + e-18424 + p-18425 + w-18426 + r-18427 + mod-18428)))))))) + (set! $sc-dispatch + (lambda (e-17715 p-17716) + (if (eq? p-17716 'any) + (list e-17715) + (if (eq? p-17716 '_) + '() + (if (if (vector? e-17715) + (if (= (vector-length e-17715) 4) + (eq? (vector-ref e-17715 0) 'syntax-object) + #f) #f) - #f) - (#{match* 41197}# - (vector-ref #{e 41199}# 1) - #{p 41200}# - (vector-ref #{e 41199}# 2) - '() - (vector-ref #{e 41199}# 3)) - (#{match* 41197}# - #{e 41199}# - #{p 41200}# - '(()) - '() - #f))))))))) + (match*-17713 + (vector-ref e-17715 1) + p-17716 + (vector-ref e-17715 2) + '() + (vector-ref e-17715 3)) + (match*-17713 e-17715 p-17716 '(()) '() #f)))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro - (lambda (#{x 59996}#) - (let ((#{tmp 59998}# - ($sc-dispatch #{x 59996}# '(_ () any . each-any)))) - (if #{tmp 59998}# + (lambda (x-37252) + (let ((tmp-37254 + ($sc-dispatch x-37252 '(_ () any . each-any)))) + (if tmp-37254 (@apply - (lambda (#{e1 60002}# #{e2 60003}#) + (lambda (e1-37258 e2-37259) (cons '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i59969" "i59970")) + #("l-*-37225" "l-*-37226")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i59966")) + #(ribcage #(x) #((top)) #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17811,27 +17884,27 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons '() (cons #{e1 60002}# #{e2 60003}#)))) - #{tmp 59998}#) - (let ((#{tmp 60004}# + (cons '() (cons e1-37258 e2-37259)))) + tmp-37254) + (let ((tmp-37260 ($sc-dispatch - #{x 59996}# + x-37252 '(_ ((any any)) any . each-any)))) - (if #{tmp 60004}# + (if tmp-37260 (@apply - (lambda (#{out 60008}# - #{in 60009}# - #{e1 60010}# - #{e2 60011}#) + (lambda (out-37264 in-37265 e1-37266 e2-37267) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i59975" "i59976" "i59977" "i59978")) + #("l-*-37231" + "l-*-37232" + "l-*-37233" + "l-*-37234")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i59966")) + #(ribcage #(x) #((top)) #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17842,21 +17915,21 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{in 60009}# + in-37265 '() - (list #{out 60008}# + (list out-37264 (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i59975" - "i59976" - "i59977" - "i59978")) + #("l-*-37231" + "l-*-37232" + "l-*-37233" + "l-*-37234")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i59966")) + #(ribcage #(x) #((top)) #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17867,28 +17940,27 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons '() - (cons #{e1 60010}# #{e2 60011}#)))))) - #{tmp 60004}#) - (let ((#{tmp 60012}# + (cons '() (cons e1-37266 e2-37267)))))) + tmp-37260) + (let ((tmp-37268 ($sc-dispatch - #{x 59996}# + x-37252 '(_ #(each (any any)) any . each-any)))) - (if #{tmp 60012}# + (if tmp-37268 (@apply - (lambda (#{out 60016}# - #{in 60017}# - #{e1 60018}# - #{e2 60019}#) + (lambda (out-37272 in-37273 e1-37274 e2-37275) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i59985" "i59986" "i59987" "i59988")) + #("l-*-37241" + "l-*-37242" + "l-*-37243" + "l-*-37244")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i59966")) + #(ribcage #(x) #((top)) #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17905,9 +17977,12 @@ #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i59985" "i59986" "i59987" "i59988")) + #("l-*-37241" + "l-*-37242" + "l-*-37243" + "l-*-37244")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i59966")) + #(ribcage #(x) #((top)) #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17918,24 +17993,24 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{in 60017}#) + in-37273) '() - (list #{out 60016}# + (list out-37272 (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i59985" - "i59986" - "i59987" - "i59988")) + #("l-*-37241" + "l-*-37242" + "l-*-37243" + "l-*-37244")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i59966")) + #("l-*-37222")) #(ribcage (with-syntax) ((top)) @@ -17946,39 +18021,40 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons '() - (cons #{e1 60018}# - #{e2 60019}#)))))) - #{tmp 60012}#) + (cons '() (cons e1-37274 e2-37275)))))) + tmp-37268) (syntax-violation #f "source expression failed to match any pattern" - #{x 59996}#)))))))))) + x-37252)))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro - (lambda (#{x 60074}#) - (let ((#{tmp 60076}# + (lambda (x-37330) + (let ((tmp-37332 ($sc-dispatch - #{x 60074}# + x-37330 '(_ each-any . #(each ((any . any) any)))))) - (if #{tmp 60076}# + (if tmp-37332 (@apply - (lambda (#{k 60080}# - #{keyword 60081}# - #{pattern 60082}# - #{template 60083}#) + (lambda (k-37336 + keyword-37337 + pattern-37338 + template-37339) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -17995,9 +18071,12 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18015,9 +18094,12 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18035,9 +18117,12 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18054,9 +18139,12 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18067,16 +18155,19 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{pattern 60082}#)) + pattern-37338)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18093,9 +18184,12 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i60037" "i60038" "i60039" "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18106,9 +18200,9 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{k 60080}# - (map (lambda (#{tmp 60048 60084}# - #{tmp 60047 60085}#) + (cons k-37336 + (map (lambda (tmp-37304-37340 + tmp-37303-37341) (list (cons '#(syntax-object _ ((top) @@ -18121,10 +18215,10 @@ (top) (top) (top)) - #("i60037" - "i60038" - "i60039" - "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () @@ -18132,7 +18226,7 @@ #(ribcage #(x) #((top)) - #("i60034")) + #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18145,7 +18239,7 @@ (hygiene guile)))))) (hygiene guile)) - #{tmp 60047 60085}#) + tmp-37303-37341) (list '#(syntax-object syntax ((top) @@ -18158,10 +18252,10 @@ (top) (top) (top)) - #("i60037" - "i60038" - "i60039" - "i60040")) + #("l-*-37293" + "l-*-37294" + "l-*-37295" + "l-*-37296")) #(ribcage () () @@ -18169,7 +18263,7 @@ #(ribcage #(x) #((top)) - #("i60034")) + #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18182,39 +18276,43 @@ (hygiene guile)))))) (hygiene guile)) - #{tmp 60048 60084}#))) - #{template 60083}# - #{pattern 60082}#)))))) - #{tmp 60076}#) - (let ((#{tmp 60086}# + tmp-37304-37340))) + template-37339 + pattern-37338)))))) + tmp-37332) + (let ((tmp-37342 ($sc-dispatch - #{x 60074}# + x-37330 '(_ each-any any . #(each ((any . any) any)))))) - (if (if #{tmp 60086}# + (if (if tmp-37342 (@apply - (lambda (#{k 60090}# - #{docstring 60091}# - #{keyword 60092}# - #{pattern 60093}# - #{template 60094}#) - (string? (syntax->datum #{docstring 60091}#))) - #{tmp 60086}#) + (lambda (k-37346 + docstring-37347 + keyword-37348 + pattern-37349 + template-37350) + (string? (syntax->datum docstring-37347))) + tmp-37342) #f) (@apply - (lambda (#{k 60095}# - #{docstring 60096}# - #{keyword 60097}# - #{pattern 60098}# - #{template 60099}#) + (lambda (k-37351 + docstring-37352 + keyword-37353 + pattern-37354 + template-37355) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" "i60061" "i60062" "i60063" "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18231,9 +18329,13 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" "i60061" "i60062" "i60063" "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18244,7 +18346,7 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - #{docstring 60096}# + docstring-37352 (vector '(#(syntax-object macro-type @@ -18252,13 +18354,13 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18276,13 +18378,13 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18299,13 +18401,13 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18316,20 +18418,20 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{pattern 60098}#)) + pattern-37354)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18350,13 +18452,13 @@ pattern template) #((top) (top) (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60034")) + #(ribcage #(x) #((top)) #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18367,9 +18469,9 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{k 60095}# - (map (lambda (#{tmp 60073 60100}# - #{tmp 60072 60101}#) + (cons k-37351 + (map (lambda (tmp-37329-37356 + tmp-37328-37357) (list (cons '#(syntax-object _ ((top) @@ -18384,11 +18486,11 @@ (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () @@ -18396,7 +18498,7 @@ #(ribcage #(x) #((top)) - #("i60034")) + #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18410,7 +18512,7 @@ guile)))))) (hygiene guile)) - #{tmp 60072 60101}#) + tmp-37328-37357) (list '#(syntax-object syntax ((top) @@ -18425,11 +18527,11 @@ (top) (top) (top)) - #("i60060" - "i60061" - "i60062" - "i60063" - "i60064")) + #("l-*-37316" + "l-*-37317" + "l-*-37318" + "l-*-37319" + "l-*-37320")) #(ribcage () () @@ -18437,7 +18539,7 @@ #(ribcage #(x) #((top)) - #("i60034")) + #("l-*-37290")) #(ribcage (syntax-rules) ((top)) @@ -18451,36 +18553,34 @@ guile)))))) (hygiene guile)) - #{tmp 60073 60100}#))) - #{template 60099}# - #{pattern 60098}#)))))) - #{tmp 60086}#) + tmp-37329-37356))) + template-37355 + pattern-37354)))))) + tmp-37342) (syntax-violation #f "source expression failed to match any pattern" - #{x 60074}#)))))))) + x-37330)))))))) (define define-syntax-rule (make-syntax-transformer 'define-syntax-rule 'macro - (lambda (#{x 60139}#) - (let ((#{tmp 60141}# - ($sc-dispatch #{x 60139}# '(_ (any . any) any)))) - (if #{tmp 60141}# + (lambda (x-37395) + (let ((tmp-37397 + ($sc-dispatch x-37395 '(_ (any . any) any)))) + (if tmp-37397 (@apply - (lambda (#{name 60145}# - #{pattern 60146}# - #{template 60147}#) + (lambda (name-37401 pattern-37402 template-37403) (list '#(syntax-object define-syntax ((top) #(ribcage #(name pattern template) #((top) (top) (top)) - #("i60116" "i60117" "i60118")) + #("l-*-37372" "l-*-37373" "l-*-37374")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60113")) + #(ribcage #(x) #((top)) #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18491,16 +18591,16 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{name 60145}# + name-37401 (list '#(syntax-object syntax-rules ((top) #(ribcage #(name pattern template) #((top) (top) (top)) - #("i60116" "i60117" "i60118")) + #("l-*-37372" "l-*-37373" "l-*-37374")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60113")) + #(ribcage #(x) #((top)) #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18518,9 +18618,14 @@ #(ribcage #(name pattern template) #((top) (top) (top)) - #("i60116" "i60117" "i60118")) + #("l-*-37372" + "l-*-37373" + "l-*-37374")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60113")) + #(ribcage + #(x) + #((top)) + #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18531,36 +18636,37 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{pattern 60146}#) - #{template 60147}#)))) - #{tmp 60141}#) - (let ((#{tmp 60148}# - ($sc-dispatch - #{x 60139}# - '(_ (any . any) any any)))) - (if (if #{tmp 60148}# + pattern-37402) + template-37403)))) + tmp-37397) + (let ((tmp-37404 + ($sc-dispatch x-37395 '(_ (any . any) any any)))) + (if (if tmp-37404 (@apply - (lambda (#{name 60152}# - #{pattern 60153}# - #{docstring 60154}# - #{template 60155}#) - (string? (syntax->datum #{docstring 60154}#))) - #{tmp 60148}#) + (lambda (name-37408 + pattern-37409 + docstring-37410 + template-37411) + (string? (syntax->datum docstring-37410))) + tmp-37404) #f) (@apply - (lambda (#{name 60156}# - #{pattern 60157}# - #{docstring 60158}# - #{template 60159}#) + (lambda (name-37412 + pattern-37413 + docstring-37414 + template-37415) (list '#(syntax-object define-syntax ((top) #(ribcage #(name pattern docstring template) #((top) (top) (top) (top)) - #("i60131" "i60132" "i60133" "i60134")) + #("l-*-37387" + "l-*-37388" + "l-*-37389" + "l-*-37390")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60113")) + #(ribcage #(x) #((top)) #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18571,16 +18677,19 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{name 60156}# + name-37412 (list '#(syntax-object syntax-rules ((top) #(ribcage #(name pattern docstring template) #((top) (top) (top) (top)) - #("i60131" "i60132" "i60133" "i60134")) + #("l-*-37387" + "l-*-37388" + "l-*-37389" + "l-*-37390")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60113")) + #(ribcage #(x) #((top)) #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18592,7 +18701,7 @@ (hygiene guile)))))) (hygiene guile)) '() - #{docstring 60158}# + docstring-37414 (list (cons '#(syntax-object _ ((top) @@ -18602,15 +18711,15 @@ docstring template) #((top) (top) (top) (top)) - #("i60131" - "i60132" - "i60133" - "i60134")) + #("l-*-37387" + "l-*-37388" + "l-*-37389" + "l-*-37390")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60113")) + #("l-*-37369")) #(ribcage (define-syntax-rule) ((top)) @@ -18621,43 +18730,35 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{pattern 60157}#) - #{template 60159}#)))) - #{tmp 60148}#) + pattern-37413) + template-37415)))) + tmp-37404) (syntax-violation #f "source expression failed to match any pattern" - #{x 60139}#)))))))) + x-37395)))))))) (define let* (make-syntax-transformer 'let* 'macro - (lambda (#{x 60209}#) - (let ((#{tmp 60211}# + (lambda (x-37465) + (let ((tmp-37467 ($sc-dispatch - #{x 60209}# + x-37465 '(any #(each (any any)) any . each-any)))) - (if (if #{tmp 60211}# + (if (if tmp-37467 (@apply - (lambda (#{let* 60215}# - #{x 60216}# - #{v 60217}# - #{e1 60218}# - #{e2 60219}#) - (and-map identifier? #{x 60216}#)) - #{tmp 60211}#) + (lambda (let*-37471 x-37472 v-37473 e1-37474 e2-37475) + (and-map identifier? x-37472)) + tmp-37467) #f) (@apply - (lambda (#{let* 60220}# - #{x 60221}# - #{v 60222}# - #{e1 60223}# - #{e2 60224}#) + (lambda (let*-37476 x-37477 v-37478 e1-37479 e2-37480) (letrec* - ((#{f 60225}# - (lambda (#{bindings 60228}#) - (if (null? #{bindings 60228}#) + ((f-37481 + (lambda (bindings-37484) + (if (null? bindings-37484) (cons '#(syntax-object let ((top) @@ -18665,17 +18766,17 @@ #(ribcage #(f bindings) #((top) (top)) - #("i60195" "i60196")) + #("l-*-37451" "l-*-37452")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i60185" - "i60186" - "i60187" - "i60188" - "i60189")) + #("l-*-37441" + "l-*-37442" + "l-*-37443" + "l-*-37444" + "l-*-37445")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60171")) + #(ribcage #(x) #((top)) #("l-*-37427")) #(ribcage (let*) ((top)) @@ -18686,15 +18787,14 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons '() (cons #{e1 60223}# #{e2 60224}#))) - (let ((#{tmp 60229}# - (list (#{f 60225}# (cdr #{bindings 60228}#)) - (car #{bindings 60228}#)))) - (let ((#{tmp 60230}# - ($sc-dispatch #{tmp 60229}# '(any any)))) - (if #{tmp 60230}# + (cons '() (cons e1-37479 e2-37480))) + (let ((tmp-37485 + (list (f-37481 (cdr bindings-37484)) + (car bindings-37484)))) + (let ((tmp-37486 ($sc-dispatch tmp-37485 '(any any)))) + (if tmp-37486 (@apply - (lambda (#{body 60232}# #{binding 60233}#) + (lambda (body-37488 binding-37489) (list '#(syntax-object let ((top) @@ -18702,22 +18802,25 @@ #(ribcage #(body binding) #((top) (top)) - #("i60205" "i60206")) + #("l-*-37461" "l-*-37462")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) - #("i60195" "i60196")) + #("l-*-37451" "l-*-37452")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i60185" - "i60186" - "i60187" - "i60188" - "i60189")) + #("l-*-37441" + "l-*-37442" + "l-*-37443" + "l-*-37444" + "l-*-37445")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60171")) + #(ribcage + #(x) + #((top)) + #("l-*-37427")) #(ribcage (let*) ((top)) @@ -18728,66 +18831,64 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (list #{binding 60233}#) - #{body 60232}#)) - #{tmp 60230}#) + (list binding-37489) + body-37488)) + tmp-37486) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 60229}#)))))))) - (#{f 60225}# (map list #{x 60221}# #{v 60222}#)))) - #{tmp 60211}#) + tmp-37485)))))))) + (f-37481 (map list x-37477 v-37478)))) + tmp-37467) (syntax-violation #f "source expression failed to match any pattern" - #{x 60209}#)))))) + x-37465)))))) (define do (make-syntax-transformer 'do 'macro - (lambda (#{orig-x 60292}#) - (let ((#{tmp 60294}# + (lambda (orig-x-37548) + (let ((tmp-37550 ($sc-dispatch - #{orig-x 60292}# + orig-x-37548 '(_ #(each (any any . any)) (any . each-any) . each-any)))) - (if #{tmp 60294}# + (if tmp-37550 (@apply - (lambda (#{var 60298}# - #{init 60299}# - #{step 60300}# - #{e0 60301}# - #{e1 60302}# - #{c 60303}#) - (let ((#{tmp 60304}# - (map (lambda (#{v 60307}# #{s 60308}#) - (let ((#{tmp 60310}# - ($sc-dispatch #{s 60308}# '()))) - (if #{tmp 60310}# - (@apply (lambda () #{v 60307}#) #{tmp 60310}#) - (let ((#{tmp 60313}# - ($sc-dispatch #{s 60308}# '(any)))) - (if #{tmp 60313}# + (lambda (var-37554 + init-37555 + step-37556 + e0-37557 + e1-37558 + c-37559) + (let ((tmp-37560 + (map (lambda (v-37563 s-37564) + (let ((tmp-37566 ($sc-dispatch s-37564 '()))) + (if tmp-37566 + (@apply (lambda () v-37563) tmp-37566) + (let ((tmp-37569 + ($sc-dispatch s-37564 '(any)))) + (if tmp-37569 (@apply - (lambda (#{e 60316}#) #{e 60316}#) - #{tmp 60313}#) + (lambda (e-37572) e-37572) + tmp-37569) (syntax-violation 'do "bad step expression" - #{orig-x 60292}# - #{s 60308}#)))))) - #{var 60298}# - #{step 60300}#))) - (let ((#{tmp 60305}# - ($sc-dispatch #{tmp 60304}# 'each-any))) - (if #{tmp 60305}# + orig-x-37548 + s-37564)))))) + var-37554 + step-37556))) + (let ((tmp-37561 ($sc-dispatch tmp-37560 'each-any))) + (if tmp-37561 (@apply - (lambda (#{step 60322}#) - (let ((#{tmp 60324}# ($sc-dispatch #{e1 60302}# '()))) - (if #{tmp 60324}# + (lambda (step-37578) + (let ((tmp-37580 ($sc-dispatch e1-37558 '()))) + (if tmp-37580 (@apply (lambda () (list '#(syntax-object @@ -18797,7 +18898,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -18806,17 +18907,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -18834,7 +18935,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -18843,17 +18944,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -18864,7 +18965,7 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (map list #{var 60298}# #{init 60299}#) + (map list var-37554 init-37555) (list '#(syntax-object if ((top) @@ -18872,7 +18973,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -18881,17 +18982,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -18909,7 +19010,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -18923,17 +19024,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -18945,7 +19046,7 @@ (hygiene guile)))))) (hygiene guile)) - #{e0 60301}#) + e0-37557) (cons '#(syntax-object begin ((top) @@ -18953,7 +19054,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -18967,17 +19068,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -18990,7 +19091,7 @@ guile)))))) (hygiene guile)) (append - #{c 60303}# + c-37559 (list (cons '#(syntax-object doloop ((top) @@ -19001,7 +19102,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -19015,12 +19116,12 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () @@ -19028,7 +19129,7 @@ #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19042,27 +19143,25 @@ guile)))))) (hygiene guile)) - #{step 60322}#))))))) - #{tmp 60324}#) - (let ((#{tmp 60328}# - ($sc-dispatch - #{e1 60302}# - '(any . each-any)))) - (if #{tmp 60328}# + step-37578))))))) + tmp-37580) + (let ((tmp-37584 + ($sc-dispatch e1-37558 '(any . each-any)))) + (if tmp-37584 (@apply - (lambda (#{e1 60332}# #{e2 60333}#) + (lambda (e1-37588 e2-37589) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i60269" "i60270")) + #("l-*-37525" "l-*-37526")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -19071,17 +19170,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19098,12 +19197,12 @@ #(ribcage #(e1 e2) #((top) (top)) - #("i60269" "i60270")) + #("l-*-37525" "l-*-37526")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -19112,17 +19211,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19133,21 +19232,20 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (map list - #{var 60298}# - #{init 60299}#) + (map list var-37554 init-37555) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i60269" "i60270")) + #("l-*-37525" + "l-*-37526")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init step e0 e1 c) #((top) @@ -19156,17 +19254,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19177,20 +19275,20 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{e0 60301}# + e0-37557 (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i60269" - "i60270")) + #("l-*-37525" + "l-*-37526")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -19204,17 +19302,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19226,21 +19324,20 @@ (hygiene guile)))))) (hygiene guile)) - (cons #{e1 60332}# - #{e2 60333}#)) + (cons e1-37588 e2-37589)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i60269" - "i60270")) + #("l-*-37525" + "l-*-37526")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -19254,17 +19351,17 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19277,7 +19374,7 @@ guile)))))) (hygiene guile)) (append - #{c 60303}# + c-37559 (list (cons '#(syntax-object doloop ((top) @@ -19286,8 +19383,8 @@ e2) #((top) (top)) - #("i60269" - "i60270")) + #("l-*-37525" + "l-*-37526")) #(ribcage () () @@ -19295,7 +19392,7 @@ #(ribcage #(step) #((top)) - #("i60260")) + #("l-*-37516")) #(ribcage #(var init @@ -19309,12 +19406,12 @@ (top) (top) (top)) - #("i60245" - "i60246" - "i60247" - "i60248" - "i60249" - "i60250")) + #("l-*-37501" + "l-*-37502" + "l-*-37503" + "l-*-37504" + "l-*-37505" + "l-*-37506")) #(ribcage () () @@ -19322,7 +19419,7 @@ #(ribcage #(orig-x) #((top)) - #("i60242")) + #("l-*-37498")) #(ribcage (do) ((top)) @@ -19336,33 +19433,33 @@ guile)))))) (hygiene guile)) - #{step 60322}#))))))) - #{tmp 60328}#) + step-37578))))))) + tmp-37584) (syntax-violation #f "source expression failed to match any pattern" - #{e1 60302}#)))))) - #{tmp 60305}#) + e1-37558)))))) + tmp-37561) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 60304}#))))) - #{tmp 60294}#) + tmp-37560))))) + tmp-37550) (syntax-violation #f "source expression failed to match any pattern" - #{orig-x 60292}#)))))) + orig-x-37548)))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* - ((#{quasi 60620}# - (lambda (#{p 60644}# #{lev 60645}#) - (let ((#{tmp 60647}# + ((quasi-37876 + (lambda (p-37900 lev-37901) + (let ((tmp-37903 ($sc-dispatch - #{p 60644}# + p-37900 '(#(free-id #(syntax-object unquote @@ -19371,7 +19468,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19380,13 +19477,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19398,19 +19495,19 @@ (hygiene guile)))))) (hygiene guile))) any)))) - (if #{tmp 60647}# + (if tmp-37903 (@apply - (lambda (#{p 60651}#) - (if (= #{lev 60645}# 0) + (lambda (p-37907) + (if (= lev-37901 0) (list '#(syntax-object "value" ((top) - #(ribcage #(p) #((top)) #("i60370")) + #(ribcage #(p) #((top)) #("l-*-37626")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19419,13 +19516,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19436,17 +19533,17 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{p 60651}#) - (#{quasicons 60622}# + p-37907) + (quasicons-37878 '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i60370")) + #(ribcage #(p) #((top)) #("l-*-37626")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19455,13 +19552,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19475,12 +19572,12 @@ #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i60370")) + #(ribcage #(p) #((top)) #("l-*-37626")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19489,13 +19586,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19506,13 +19603,11 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - (list #{p 60651}#) - (#{1-}# #{lev 60645}#))))) - #{tmp 60647}#) - (let ((#{tmp 60654}# + (quasi-37876 (list p-37907) (#{1-}# lev-37901))))) + tmp-37903) + (let ((tmp-37910 ($sc-dispatch - #{p 60644}# + p-37900 '(#(free-id #(syntax-object quasiquote @@ -19521,7 +19616,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19530,13 +19625,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19548,19 +19643,19 @@ (hygiene guile)))))) (hygiene guile))) any)))) - (if #{tmp 60654}# + (if tmp-37910 (@apply - (lambda (#{p 60658}#) - (#{quasicons 60622}# + (lambda (p-37914) + (quasicons-37878 '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i60373")) + #(ribcage #(p) #((top)) #("l-*-37629")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19569,13 +19664,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19589,12 +19684,12 @@ #(syntax-object quasiquote ((top) - #(ribcage #(p) #((top)) #("i60373")) + #(ribcage #(p) #((top)) #("l-*-37629")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19603,13 +19698,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19620,18 +19715,15 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - (list #{p 60658}#) - (#{1+}# #{lev 60645}#)))) - #{tmp 60654}#) - (let ((#{tmp 60661}# - ($sc-dispatch #{p 60644}# '(any . any)))) - (if #{tmp 60661}# + (quasi-37876 (list p-37914) (#{1+}# lev-37901)))) + tmp-37910) + (let ((tmp-37917 ($sc-dispatch p-37900 '(any . any)))) + (if tmp-37917 (@apply - (lambda (#{p 60665}# #{q 60666}#) - (let ((#{tmp 60668}# + (lambda (p-37921 q-37922) + (let ((tmp-37924 ($sc-dispatch - #{p 60665}# + p-37921 '(#(free-id #(syntax-object unquote @@ -19639,12 +19731,12 @@ #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19659,13 +19751,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19678,28 +19770,30 @@ (hygiene guile))) . each-any)))) - (if #{tmp 60668}# + (if tmp-37924 (@apply - (lambda (#{p 60672}#) - (if (= #{lev 60645}# 0) - (#{quasilist* 60624}# - (map (lambda (#{tmp 60384 60711}#) + (lambda (p-37928) + (if (= lev-37901 0) + (quasilist*-37880 + (map (lambda (tmp-37640-37967) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i60382")) + #("l-*-37638")) #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" + "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" + "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19714,13 +19808,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19732,29 +19826,27 @@ (hygiene guile)))))) (hygiene guile)) - #{tmp 60384 60711}#)) - #{p 60672}#) - (#{quasi 60620}# - #{q 60666}# - #{lev 60645}#)) - (#{quasicons 60622}# - (#{quasicons 60622}# + tmp-37640-37967)) + p-37928) + (quasi-37876 q-37922 lev-37901)) + (quasicons-37878 + (quasicons-37878 '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i60382")) + #("l-*-37638")) #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19769,13 +19861,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19792,16 +19884,16 @@ #(ribcage #(p) #((top)) - #("i60382")) + #("l-*-37638")) #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19816,13 +19908,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19833,16 +19925,14 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - #{p 60672}# - (#{1-}# #{lev 60645}#))) - (#{quasi 60620}# - #{q 60666}# - #{lev 60645}#)))) - #{tmp 60668}#) - (let ((#{tmp 60716}# + (quasi-37876 + p-37928 + (#{1-}# lev-37901))) + (quasi-37876 q-37922 lev-37901)))) + tmp-37924) + (let ((tmp-37972 ($sc-dispatch - #{p 60665}# + p-37921 '(#(free-id #(syntax-object unquote-splicing @@ -19850,12 +19940,12 @@ #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19870,13 +19960,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19889,30 +19979,30 @@ (hygiene guile))) . each-any)))) - (if #{tmp 60716}# + (if tmp-37972 (@apply - (lambda (#{p 60720}#) - (if (= #{lev 60645}# 0) - (#{quasiappend 60623}# - (map (lambda (#{tmp 60389 60723}#) + (lambda (p-37976) + (if (= lev-37901 0) + (quasiappend-37879 + (map (lambda (tmp-37645-37979) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i60387")) + #("l-*-37643")) #(ribcage #(p q) #((top) (top)) - #("i60376" - "i60377")) + #("l-*-37632" + "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" - "i60367")) + #("l-*-37622" + "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19927,13 +20017,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -19945,29 +20035,27 @@ (hygiene guile)))))) (hygiene guile)) - #{tmp 60389 60723}#)) - #{p 60720}#) - (#{quasi 60620}# - #{q 60666}# - #{lev 60645}#)) - (#{quasicons 60622}# - (#{quasicons 60622}# + tmp-37645-37979)) + p-37976) + (quasi-37876 q-37922 lev-37901)) + (quasicons-37878 + (quasicons-37878 '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i60387")) + #("l-*-37643")) #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -19982,13 +20070,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20005,16 +20093,16 @@ #(ribcage #(p) #((top)) - #("i60387")) + #("l-*-37643")) #(ribcage #(p q) #((top) (top)) - #("i60376" "i60377")) + #("l-*-37632" "l-*-37633")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -20029,13 +20117,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20046,49 +20134,41 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - #{p 60720}# - (#{1-}# #{lev 60645}#))) - (#{quasi 60620}# - #{q 60666}# - #{lev 60645}#)))) - #{tmp 60716}#) - (#{quasicons 60622}# - (#{quasi 60620}# - #{p 60665}# - #{lev 60645}#) - (#{quasi 60620}# - #{q 60666}# - #{lev 60645}#))))))) - #{tmp 60661}#) - (let ((#{tmp 60737}# - ($sc-dispatch #{p 60644}# '#(vector each-any)))) - (if #{tmp 60737}# + (quasi-37876 + p-37976 + (#{1-}# lev-37901))) + (quasi-37876 q-37922 lev-37901)))) + tmp-37972) + (quasicons-37878 + (quasi-37876 p-37921 lev-37901) + (quasi-37876 q-37922 lev-37901))))))) + tmp-37917) + (let ((tmp-37993 + ($sc-dispatch p-37900 '#(vector each-any)))) + (if tmp-37993 (@apply - (lambda (#{x 60741}#) - (let ((#{x 60744}# - (#{vquasi 60621}# - #{x 60741}# - #{lev 60645}#))) - (let ((#{tmp 60746}# + (lambda (x-37997) + (let ((x-38000 + (vquasi-37877 x-37997 lev-37901))) + (let ((tmp-38002 ($sc-dispatch - #{x 60744}# + x-38000 '(#(atom "quote") each-any)))) - (if #{tmp 60746}# + (if tmp-38002 (@apply - (lambda (#{x 60750}#) + (lambda (x-38006) (list '#(syntax-object "quote" ((top) #(ribcage #(x) #((top)) - #("i60494")) + #("l-*-37750")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60491")) + #("l-*-37747")) #(ribcage (emit quasivector quasilist* @@ -20103,13 +20183,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20120,28 +20200,28 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (list->vector #{x 60750}#))) - #{tmp 60746}#) + (list->vector x-38006))) + tmp-38002) (letrec* - ((#{f 60752}# - (lambda (#{y 60764}# #{k 60765}#) - (let ((#{tmp 60767}# + ((f-38008 + (lambda (y-38020 k-38021) + (let ((tmp-38023 ($sc-dispatch - #{y 60764}# + y-38020 '(#(atom "quote") each-any)))) - (if #{tmp 60767}# + (if tmp-38023 (@apply - (lambda (#{y 60770}#) - (#{k 60765}# - (map (lambda (#{tmp 60519 60771}#) + (lambda (y-38026) + (k-38021 + (map (lambda (tmp-37775-38027) (list '#(syntax-object "quote" ((top) #(ribcage #(y) #((top)) - #("i60517")) + #("l-*-37773")) #(ribcage () () @@ -20153,13 +20233,13 @@ #((top) (top) (top)) - #("i60499" - "i60500" - "i60501")) + #("l-*-37755" + "l-*-37756" + "l-*-37757")) #(ribcage #(_) #((top)) - #("i60497")) + #("l-*-37753")) #(ribcage () () @@ -20167,7 +20247,7 @@ #(ribcage #(x) #((top)) - #("i60491")) + #("l-*-37747")) #(ribcage (emit quasivector quasilist* @@ -20182,13 +20262,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20202,42 +20282,41 @@ guile)))))) (hygiene guile)) - #{tmp 60519 60771}#)) - #{y 60770}#))) - #{tmp 60767}#) - (let ((#{tmp 60772}# + tmp-37775-38027)) + y-38026))) + tmp-38023) + (let ((tmp-38028 ($sc-dispatch - #{y 60764}# + y-38020 '(#(atom "list") . each-any)))) - (if #{tmp 60772}# + (if tmp-38028 (@apply - (lambda (#{y 60775}#) - (#{k 60765}# - #{y 60775}#)) - #{tmp 60772}#) - (let ((#{tmp 60776}# + (lambda (y-38031) + (k-38021 y-38031)) + tmp-38028) + (let ((tmp-38032 ($sc-dispatch - #{y 60764}# + y-38020 '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 60776}# + (if tmp-38032 (@apply - (lambda (#{y 60779}# - #{z 60780}#) - (#{f 60752}# - #{z 60780}# - (lambda (#{ls 60781}#) - (#{k 60765}# + (lambda (y-38035 + z-38036) + (f-38008 + z-38036 + (lambda (ls-38037) + (k-38021 (append - #{y 60779}# - #{ls 60781}#))))) - #{tmp 60776}#) + y-38035 + ls-38037))))) + tmp-38032) (list '#(syntax-object "list->vector" ((top) @@ -20246,14 +20325,14 @@ () ()) #(ribcage - #(#{ g60534}#) - #((m60535 + #(t-37790) + #((m-*-37791 top)) - #("i60538")) + #("l-*-37794")) #(ribcage #(else) #((top)) - #("i60532")) + #("l-*-37788")) #(ribcage () () @@ -20263,13 +20342,13 @@ #((top) (top) (top)) - #("i60499" - "i60500" - "i60501")) + #("l-*-37755" + "l-*-37756" + "l-*-37757")) #(ribcage #(_) #((top)) - #("i60497")) + #("l-*-37753")) #(ribcage () () @@ -20277,7 +20356,7 @@ #(ribcage #(x) #((top)) - #("i60491")) + #("l-*-37747")) #(ribcage (emit quasivector quasilist* @@ -20292,13 +20371,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20312,17 +20391,17 @@ guile)))))) (hygiene guile)) - #{x 60744}#)))))))))) - (#{f 60752}# - #{x 60744}# - (lambda (#{ls 60754}#) - (let ((#{tmp 60756}# + x-38000)))))))))) + (f-38008 + x-38000 + (lambda (ls-38010) + (let ((tmp-38012 ($sc-dispatch - #{ls 60754}# + ls-38010 'each-any))) - (if #{tmp 60756}# + (if tmp-38012 (@apply - (lambda (#{ g60507 60759}#) + (lambda (t-37763-38015) (cons '#(syntax-object "vector" ((top) @@ -20331,9 +20410,10 @@ () ()) #(ribcage - #(#{ g60507}#) - #((m60508 top)) - #("i60512")) + #(t-37763) + #((m-*-37764 + top)) + #("l-*-37768")) #(ribcage () () @@ -20349,11 +20429,11 @@ #(ribcage #(ls) #((top)) - #("i60506")) + #("l-*-37762")) #(ribcage #(_) #((top)) - #("i60497")) + #("l-*-37753")) #(ribcage () () @@ -20361,7 +20441,7 @@ #(ribcage #(x) #((top)) - #("i60491")) + #("l-*-37747")) #(ribcage (emit quasivector quasilist* @@ -20376,13 +20456,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20395,22 +20475,22 @@ (hygiene guile)))))) (hygiene guile)) - #{ g60507 60759}#)) - #{tmp 60756}#) + t-37763-38015)) + tmp-38012) (syntax-violation #f "source expression failed to match any pattern" - #{ls 60754}#)))))))))) - #{tmp 60737}#) + ls-38010)))))))))) + tmp-37993) (list '#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i60397")) + #(ribcage #(p) #((top)) #("l-*-37653")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60366" "i60367")) + #("l-*-37622" "l-*-37623")) #(ribcage (emit quasivector quasilist* @@ -20425,13 +20505,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20442,17 +20522,16 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{p 60644}#))))))))))) - (#{vquasi 60621}# - (lambda (#{p 60809}# #{lev 60810}#) - (let ((#{tmp 60812}# - ($sc-dispatch #{p 60809}# '(any . any)))) - (if #{tmp 60812}# + p-37900))))))))))) + (vquasi-37877 + (lambda (p-38065 lev-38066) + (let ((tmp-38068 ($sc-dispatch p-38065 '(any . any)))) + (if tmp-38068 (@apply - (lambda (#{p 60816}# #{q 60817}#) - (let ((#{tmp 60819}# + (lambda (p-38072 q-38073) + (let ((tmp-38075 ($sc-dispatch - #{p 60816}# + p-38072 '(#(free-id #(syntax-object unquote @@ -20460,12 +20539,12 @@ #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20480,13 +20559,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20499,28 +20578,28 @@ (hygiene guile))) . each-any)))) - (if #{tmp 60819}# + (if tmp-38075 (@apply - (lambda (#{p 60823}#) - (if (= #{lev 60810}# 0) - (#{quasilist* 60624}# - (map (lambda (#{tmp 60413 60862}#) + (lambda (p-38079) + (if (= lev-38066 0) + (quasilist*-37880 + (map (lambda (tmp-37669-38118) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i60411")) + #("l-*-37667")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20535,13 +20614,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20552,24 +20631,24 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{tmp 60413 60862}#)) - #{p 60823}#) - (#{vquasi 60621}# #{q 60817}# #{lev 60810}#)) - (#{quasicons 60622}# - (#{quasicons 60622}# + tmp-37669-38118)) + p-38079) + (vquasi-37877 q-38073 lev-38066)) + (quasicons-37878 + (quasicons-37878 '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i60411")) + #(ribcage #(p) #((top)) #("l-*-37667")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20584,13 +20663,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20604,16 +20683,16 @@ #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i60411")) + #(ribcage #(p) #((top)) #("l-*-37667")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20628,13 +20707,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20645,14 +20724,12 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - #{p 60823}# - (#{1-}# #{lev 60810}#))) - (#{vquasi 60621}# #{q 60817}# #{lev 60810}#)))) - #{tmp 60819}#) - (let ((#{tmp 60869}# + (quasi-37876 p-38079 (#{1-}# lev-38066))) + (vquasi-37877 q-38073 lev-38066)))) + tmp-38075) + (let ((tmp-38125 ($sc-dispatch - #{p 60816}# + p-38072 '(#(free-id #(syntax-object unquote-splicing @@ -20660,12 +20737,12 @@ #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20680,13 +20757,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20699,28 +20776,30 @@ (hygiene guile))) . each-any)))) - (if #{tmp 60869}# + (if tmp-38125 (@apply - (lambda (#{p 60873}#) - (if (= #{lev 60810}# 0) - (#{quasiappend 60623}# - (map (lambda (#{tmp 60418 60876}#) + (lambda (p-38129) + (if (= lev-38066 0) + (quasiappend-37879 + (map (lambda (tmp-37674-38132) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i60416")) + #("l-*-37672")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" + "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" + "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20735,13 +20814,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20752,26 +20831,27 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{tmp 60418 60876}#)) - #{p 60873}#) - (#{vquasi 60621}# - #{q 60817}# - #{lev 60810}#)) - (#{quasicons 60622}# - (#{quasicons 60622}# + tmp-37674-38132)) + p-38129) + (vquasi-37877 q-38073 lev-38066)) + (quasicons-37878 + (quasicons-37878 '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i60416")) + #(ribcage + #(p) + #((top)) + #("l-*-37672")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20786,13 +20866,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20806,16 +20886,19 @@ #(syntax-object unquote-splicing ((top) - #(ribcage #(p) #((top)) #("i60416")) + #(ribcage + #(p) + #((top)) + #("l-*-37672")) #(ribcage #(p q) #((top) (top)) - #("i60405" "i60406")) + #("l-*-37661" "l-*-37662")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20830,13 +20913,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20847,19 +20930,15 @@ ((top)) (hygiene guile)))))) (hygiene guile))) - (#{quasi 60620}# - #{p 60873}# - (#{1-}# #{lev 60810}#))) - (#{vquasi 60621}# - #{q 60817}# - #{lev 60810}#)))) - #{tmp 60869}#) - (#{quasicons 60622}# - (#{quasi 60620}# #{p 60816}# #{lev 60810}#) - (#{vquasi 60621}# #{q 60817}# #{lev 60810}#))))))) - #{tmp 60812}#) - (let ((#{tmp 60894}# ($sc-dispatch #{p 60809}# '()))) - (if #{tmp 60894}# + (quasi-37876 p-38129 (#{1-}# lev-38066))) + (vquasi-37877 q-38073 lev-38066)))) + tmp-38125) + (quasicons-37878 + (quasi-37876 p-38072 lev-38066) + (vquasi-37877 q-38073 lev-38066))))))) + tmp-38068) + (let ((tmp-38150 ($sc-dispatch p-38065 '()))) + (if tmp-38150 (@apply (lambda () '(#(syntax-object @@ -20869,7 +20948,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i60401" "i60402")) + #("l-*-37657" "l-*-37658")) #(ribcage (emit quasivector quasilist* @@ -20878,13 +20957,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20896,55 +20975,52 @@ (hygiene guile)))))) (hygiene guile)) ())) - #{tmp 60894}#) + tmp-38150) (syntax-violation #f "source expression failed to match any pattern" - #{p 60809}#))))))) - (#{quasicons 60622}# - (lambda (#{x 60907}# #{y 60908}#) - (let ((#{tmp 60909}# (list #{x 60907}# #{y 60908}#))) - (let ((#{tmp 60910}# - ($sc-dispatch #{tmp 60909}# '(any any)))) - (if #{tmp 60910}# + p-38065))))))) + (quasicons-37878 + (lambda (x-38163 y-38164) + (let ((tmp-38165 (list x-38163 y-38164))) + (let ((tmp-38166 ($sc-dispatch tmp-38165 '(any any)))) + (if tmp-38166 (@apply - (lambda (#{x 60912}# #{y 60913}#) - (let ((#{tmp 60915}# - ($sc-dispatch - #{y 60913}# - '(#(atom "quote") any)))) - (if #{tmp 60915}# + (lambda (x-38168 y-38169) + (let ((tmp-38171 + ($sc-dispatch y-38169 '(#(atom "quote") any)))) + (if tmp-38171 (@apply - (lambda (#{dy 60919}#) - (let ((#{tmp 60921}# + (lambda (dy-38175) + (let ((tmp-38177 ($sc-dispatch - #{x 60912}# + x-38168 '(#(atom "quote") any)))) - (if #{tmp 60921}# + (if tmp-38177 (@apply - (lambda (#{dx 60925}#) + (lambda (dx-38181) (list '#(syntax-object "quote" ((top) #(ribcage #(dx) #((top)) - #("i60440")) + #("l-*-37696")) #(ribcage #(dy) #((top)) - #("i60436")) + #("l-*-37692")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -20959,13 +21035,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -20976,31 +21052,31 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{dx 60925}# #{dy 60919}#))) - #{tmp 60921}#) - (if (null? #{dy 60919}#) + (cons dx-38181 dy-38175))) + tmp-38177) + (if (null? dy-38175) (list '#(syntax-object "list" ((top) #(ribcage #(_) #((top)) - #("i60442")) + #("l-*-37698")) #(ribcage #(dy) #((top)) - #("i60436")) + #("l-*-37692")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -21015,13 +21091,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21032,29 +21108,29 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{x 60912}#) + x-38168) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i60442")) + #("l-*-37698")) #(ribcage #(dy) #((top)) - #("i60436")) + #("l-*-37692")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -21069,13 +21145,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21086,34 +21162,34 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{x 60912}# - #{y 60913}#))))) - #{tmp 60915}#) - (let ((#{tmp 60930}# + x-38168 + y-38169))))) + tmp-38171) + (let ((tmp-38186 ($sc-dispatch - #{y 60913}# + y-38169 '(#(atom "list") . any)))) - (if #{tmp 60930}# + (if tmp-38186 (@apply - (lambda (#{stuff 60934}#) + (lambda (stuff-38190) (cons '#(syntax-object "list" ((top) #(ribcage #(stuff) #((top)) - #("i60445")) + #("l-*-37701")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -21128,13 +21204,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21145,33 +21221,33 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{x 60912}# #{stuff 60934}#))) - #{tmp 60930}#) - (let ((#{tmp 60935}# + (cons x-38168 stuff-38190))) + tmp-38186) + (let ((tmp-38191 ($sc-dispatch - #{y 60913}# + y-38169 '(#(atom "list*") . any)))) - (if #{tmp 60935}# + (if tmp-38191 (@apply - (lambda (#{stuff 60939}#) + (lambda (stuff-38195) (cons '#(syntax-object "list*" ((top) #(ribcage #(stuff) #((top)) - #("i60448")) + #("l-*-37704")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -21186,13 +21262,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21203,23 +21279,26 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{x 60912}# #{stuff 60939}#))) - #{tmp 60935}#) + (cons x-38168 stuff-38195))) + tmp-38191) (list '#(syntax-object "list*" ((top) - #(ribcage #(_) #((top)) #("i60450")) + #(ribcage + #(_) + #((top)) + #("l-*-37706")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60430" "i60431")) + #("l-*-37686" "l-*-37687")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60425" "i60426")) + #("l-*-37681" "l-*-37682")) #(ribcage (emit quasivector quasilist* @@ -21234,13 +21313,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21251,21 +21330,21 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{x 60912}# - #{y 60913}#)))))))) - #{tmp 60910}#) + x-38168 + y-38169)))))))) + tmp-38166) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 60909}#)))))) - (#{quasiappend 60623}# - (lambda (#{x 60950}# #{y 60951}#) - (let ((#{tmp 60953}# - ($sc-dispatch #{y 60951}# '(#(atom "quote") ())))) - (if #{tmp 60953}# + tmp-38165)))))) + (quasiappend-37879 + (lambda (x-38206 y-38207) + (let ((tmp-38209 + ($sc-dispatch y-38207 '(#(atom "quote") ())))) + (if tmp-38209 (@apply (lambda () - (if (null? #{x 60950}#) + (if (null? x-38206) '(#(syntax-object "quote" ((top) @@ -21273,7 +21352,7 @@ #(ribcage #(x y) #((top) (top)) - #("i60454" "i60455")) + #("l-*-37710" "l-*-37711")) #(ribcage (emit quasivector quasilist* @@ -21282,13 +21361,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21300,23 +21379,25 @@ (hygiene guile)))))) (hygiene guile)) ()) - (if (null? (cdr #{x 60950}#)) - (car #{x 60950}#) - (let ((#{tmp 60958}# - ($sc-dispatch #{x 60950}# 'each-any))) - (if #{tmp 60958}# + (if (null? (cdr x-38206)) + (car x-38206) + (let ((tmp-38214 ($sc-dispatch x-38206 'each-any))) + (if tmp-38214 (@apply - (lambda (#{p 60962}#) + (lambda (p-38218) (cons '#(syntax-object "append" ((top) #(ribcage () () ()) - #(ribcage #(p) #((top)) #("i60466")) + #(ribcage + #(p) + #((top)) + #("l-*-37722")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60454" "i60455")) + #("l-*-37710" "l-*-37711")) #(ribcage (emit quasivector quasilist* @@ -21331,13 +21412,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21348,21 +21429,21 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{p 60962}#)) - #{tmp 60958}#) + p-38218)) + tmp-38214) (syntax-violation #f "source expression failed to match any pattern" - #{x 60950}#)))))) - #{tmp 60953}#) - (if (null? #{x 60950}#) - #{y 60951}# - (let ((#{tmp 60970}# (list #{x 60950}# #{y 60951}#))) - (let ((#{tmp 60971}# - ($sc-dispatch #{tmp 60970}# '(each-any any)))) - (if #{tmp 60971}# + x-38206)))))) + tmp-38209) + (if (null? x-38206) + y-38207 + (let ((tmp-38226 (list x-38206 y-38207))) + (let ((tmp-38227 + ($sc-dispatch tmp-38226 '(each-any any)))) + (if tmp-38227 (@apply - (lambda (#{p 60973}# #{y 60974}#) + (lambda (p-38229 y-38230) (cons '#(syntax-object "append" ((top) @@ -21370,13 +21451,13 @@ #(ribcage #(p y) #((top) (top)) - #("i60477" "i60478")) - #(ribcage #(_) #((top)) #("i60469")) + #("l-*-37733" "l-*-37734")) + #(ribcage #(_) #((top)) #("l-*-37725")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i60454" "i60455")) + #("l-*-37710" "l-*-37711")) #(ribcage (emit quasivector quasilist* @@ -21391,13 +21472,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21408,36 +21489,36 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (append #{p 60973}# (list #{y 60974}#)))) - #{tmp 60971}#) + (append p-38229 (list y-38230)))) + tmp-38227) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 60970}#))))))))) - (#{quasilist* 60624}# - (lambda (#{x 60978}# #{y 60979}#) + tmp-38226))))))))) + (quasilist*-37880 + (lambda (x-38234 y-38235) (letrec* - ((#{f 60980}# - (lambda (#{x 61084}#) - (if (null? #{x 61084}#) - #{y 60979}# - (#{quasicons 60622}# - (car #{x 61084}#) - (#{f 60980}# (cdr #{x 61084}#))))))) - (#{f 60980}# #{x 60978}#)))) - (#{emit 60626}# - (lambda (#{x 61087}#) - (let ((#{tmp 61089}# - ($sc-dispatch #{x 61087}# '(#(atom "quote") any)))) - (if #{tmp 61089}# + ((f-38236 + (lambda (x-38340) + (if (null? x-38340) + y-38235 + (quasicons-37878 + (car x-38340) + (f-38236 (cdr x-38340))))))) + (f-38236 x-38234)))) + (emit-37882 + (lambda (x-38343) + (let ((tmp-38345 + ($sc-dispatch x-38343 '(#(atom "quote") any)))) + (if tmp-38345 (@apply - (lambda (#{x 61093}#) + (lambda (x-38349) (list '#(syntax-object quote ((top) - #(ribcage #(x) #((top)) #("i60544")) + #(ribcage #(x) #((top)) #("l-*-37800")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60541")) + #(ribcage #(x) #((top)) #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21446,13 +21527,13 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21463,32 +21544,37 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{x 61093}#)) - #{tmp 61089}#) - (let ((#{tmp 61094}# + x-38349)) + tmp-38345) + (let ((tmp-38350 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "list") . each-any)))) - (if #{tmp 61094}# + (if tmp-38350 (@apply - (lambda (#{x 61098}#) - (let ((#{tmp 61099}# (map #{emit 60626}# #{x 61098}#))) - (let ((#{tmp 61100}# - ($sc-dispatch #{tmp 61099}# 'each-any))) - (if #{tmp 61100}# + (lambda (x-38354) + (let ((tmp-38355 (map emit-37882 x-38354))) + (let ((tmp-38356 ($sc-dispatch tmp-38355 'each-any))) + (if tmp-38356 (@apply - (lambda (#{ g60549 61102}#) + (lambda (t-37805-38358) (cons '#(syntax-object list ((top) #(ribcage () () ()) #(ribcage - #(#{ g60549}#) - #((m60550 top)) - #("i60554")) - #(ribcage #(x) #((top)) #("i60547")) + #(t-37805) + #((m-*-37806 top)) + #("l-*-37810")) + #(ribcage + #(x) + #((top)) + #("l-*-37803")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i60541")) + #(ribcage + #(x) + #((top)) + #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21503,13 +21589,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21520,62 +21606,62 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{ g60549 61102}#)) - #{tmp 61100}#) + t-37805-38358)) + tmp-38356) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 61099}#))))) - #{tmp 61094}#) - (let ((#{tmp 61103}# + tmp-38355))))) + tmp-38350) + (let ((tmp-38359 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 61103}# + (if tmp-38359 (@apply - (lambda (#{x 61107}# #{y 61108}#) + (lambda (x-38363 y-38364) (letrec* - ((#{f 61109}# - (lambda (#{x* 61112}#) - (if (null? #{x* 61112}#) - (#{emit 60626}# #{y 61108}#) - (let ((#{tmp 61113}# - (list (#{emit 60626}# - (car #{x* 61112}#)) - (#{f 61109}# - (cdr #{x* 61112}#))))) - (let ((#{tmp 61114}# + ((f-38365 + (lambda (x*-38368) + (if (null? x*-38368) + (emit-37882 y-38364) + (let ((tmp-38369 + (list (emit-37882 (car x*-38368)) + (f-38365 (cdr x*-38368))))) + (let ((tmp-38370 ($sc-dispatch - #{tmp 61113}# + tmp-38369 '(any any)))) - (if #{tmp 61114}# + (if tmp-38370 (@apply - (lambda (#{ g60569 61116}# - #{ g60568 61117}#) + (lambda (t-37825-38372 + t-37824-38373) (list '#(syntax-object cons ((top) #(ribcage () () ()) #(ribcage - #(#{ g60569}# - #{ g60568}#) - #((m60570 top) - (m60570 top)) - #("i60574" "i60575")) + #(t-37825 t-37824) + #((m-*-37826 top) + (m-*-37826 top)) + #("l-*-37830" + "l-*-37831")) #(ribcage () () ()) #(ribcage #(f x*) #((top) (top)) - #("i60563" "i60564")) + #("l-*-37819" + "l-*-37820")) #(ribcage #(x y) #((top) (top)) - #("i60559" "i60560")) + #("l-*-37815" + "l-*-37816")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60541")) + #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21590,13 +21676,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21608,48 +21694,45 @@ (hygiene guile)))))) (hygiene guile)) - #{ g60569 61116}# - #{ g60568 61117}#)) - #{tmp 61114}#) + t-37825-38372 + t-37824-38373)) + tmp-38370) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 61113}#)))))))) - (#{f 61109}# #{x 61107}#))) - #{tmp 61103}#) - (let ((#{tmp 61118}# + tmp-38369)))))))) + (f-38365 x-38363))) + tmp-38359) + (let ((tmp-38374 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "append") . each-any)))) - (if #{tmp 61118}# + (if tmp-38374 (@apply - (lambda (#{x 61122}#) - (let ((#{tmp 61123}# - (map #{emit 60626}# #{x 61122}#))) - (let ((#{tmp 61124}# - ($sc-dispatch - #{tmp 61123}# - 'each-any))) - (if #{tmp 61124}# + (lambda (x-38378) + (let ((tmp-38379 (map emit-37882 x-38378))) + (let ((tmp-38380 + ($sc-dispatch tmp-38379 'each-any))) + (if tmp-38380 (@apply - (lambda (#{ g60581 61126}#) + (lambda (t-37837-38382) (cons '#(syntax-object append ((top) #(ribcage () () ()) #(ribcage - #(#{ g60581}#) - #((m60582 top)) - #("i60586")) + #(t-37837) + #((m-*-37838 top)) + #("l-*-37842")) #(ribcage #(x) #((top)) - #("i60579")) + #("l-*-37835")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60541")) + #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21664,13 +21747,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21681,46 +21764,45 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{ g60581 61126}#)) - #{tmp 61124}#) + t-37837-38382)) + tmp-38380) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 61123}#))))) - #{tmp 61118}#) - (let ((#{tmp 61127}# + tmp-38379))))) + tmp-38374) + (let ((tmp-38383 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "vector") . each-any)))) - (if #{tmp 61127}# + (if tmp-38383 (@apply - (lambda (#{x 61131}#) - (let ((#{tmp 61132}# - (map #{emit 60626}# #{x 61131}#))) - (let ((#{tmp 61133}# + (lambda (x-38387) + (let ((tmp-38388 (map emit-37882 x-38387))) + (let ((tmp-38389 ($sc-dispatch - #{tmp 61132}# + tmp-38388 'each-any))) - (if #{tmp 61133}# + (if tmp-38389 (@apply - (lambda (#{ g60593 61135}#) + (lambda (t-37849-38391) (cons '#(syntax-object vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g60593}#) - #((m60594 top)) - #("i60598")) + #(t-37849) + #((m-*-37850 top)) + #("l-*-37854")) #(ribcage #(x) #((top)) - #("i60591")) + #("l-*-37847")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60541")) + #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21735,13 +21817,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21753,39 +21835,38 @@ (hygiene guile)))))) (hygiene guile)) - #{ g60593 61135}#)) - #{tmp 61133}#) + t-37849-38391)) + tmp-38389) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 61132}#))))) - #{tmp 61127}#) - (let ((#{tmp 61136}# + tmp-38388))))) + tmp-38383) + (let ((tmp-38392 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "list->vector") any)))) - (if #{tmp 61136}# + (if tmp-38392 (@apply - (lambda (#{x 61140}#) - (let ((#{tmp 61141}# - (#{emit 60626}# #{x 61140}#))) + (lambda (x-38396) + (let ((tmp-38397 (emit-37882 x-38396))) (list '#(syntax-object list->vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g60605}#) - #((m60606 top)) - #("i60609")) + #(t-37861) + #((m-*-37862 top)) + #("l-*-37865")) #(ribcage #(x) #((top)) - #("i60603")) + #("l-*-37859")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i60541")) + #("l-*-37797")) #(ribcage (emit quasivector quasilist* @@ -21800,13 +21881,13 @@ (top) (top) (top)) - ("i60362" - "i60360" - "i60358" - "i60356" - "i60354" - "i60352" - "i60350")) + ("l-*-37618" + "l-*-37616" + "l-*-37614" + "l-*-37612" + "l-*-37610" + "l-*-37608" + "l-*-37606")) #(ribcage (quasiquote) ((top)) @@ -21817,83 +21898,81 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{tmp 61141}#))) - #{tmp 61136}#) - (let ((#{tmp 61144}# + tmp-38397))) + tmp-38392) + (let ((tmp-38400 ($sc-dispatch - #{x 61087}# + x-38343 '(#(atom "value") any)))) - (if #{tmp 61144}# + (if tmp-38400 (@apply - (lambda (#{x 61148}#) #{x 61148}#) - #{tmp 61144}#) + (lambda (x-38404) x-38404) + tmp-38400) (syntax-violation #f "source expression failed to match any pattern" - #{x 61087}#)))))))))))))))))) - (lambda (#{x 60627}#) - (let ((#{tmp 60629}# - ($sc-dispatch #{x 60627}# '(_ any)))) - (if #{tmp 60629}# + x-38343)))))))))))))))))) + (lambda (x-37883) + (let ((tmp-37885 ($sc-dispatch x-37883 '(_ any)))) + (if tmp-37885 (@apply - (lambda (#{e 60633}#) - (#{emit 60626}# (#{quasi 60620}# #{e 60633}# 0))) - #{tmp 60629}#) + (lambda (e-37889) + (emit-37882 (quasi-37876 e-37889 0))) + tmp-37885) (syntax-violation #f "source expression failed to match any pattern" - #{x 60627}#))))))) + x-37883))))))) (define include (make-syntax-transformer 'include 'macro - (lambda (#{x 61204}#) + (lambda (x-38460) (letrec* - ((#{read-file 61205}# - (lambda (#{fn 61314}# #{k 61315}#) - (let ((#{p 61316}# (open-input-file #{fn 61314}#))) + ((read-file-38461 + (lambda (fn-38570 k-38571) + (let ((p-38572 (open-input-file fn-38570))) (letrec* - ((#{f 61317}# - (lambda (#{x 61371}# #{result 61372}#) - (if (eof-object? #{x 61371}#) + ((f-38573 + (lambda (x-38627 result-38628) + (if (eof-object? x-38627) (begin - (close-input-port #{p 61316}#) - (reverse #{result 61372}#)) - (#{f 61317}# - (read #{p 61316}#) - (cons (datum->syntax #{k 61315}# #{x 61371}#) - #{result 61372}#)))))) - (#{f 61317}# (read #{p 61316}#) '())))))) - (let ((#{tmp 61207}# - ($sc-dispatch #{x 61204}# '(any any)))) - (if #{tmp 61207}# + (close-input-port p-38572) + (reverse result-38628)) + (f-38573 + (read p-38572) + (cons (datum->syntax k-38571 x-38627) + result-38628)))))) + (f-38573 (read p-38572) '())))))) + (let ((tmp-38463 ($sc-dispatch x-38460 '(any any)))) + (if tmp-38463 (@apply - (lambda (#{k 61211}# #{filename 61212}#) - (let ((#{fn 61213}# (syntax->datum #{filename 61212}#))) - (let ((#{tmp 61214}# - (#{read-file 61205}# - #{fn 61213}# - #{filename 61212}#))) - (let ((#{tmp 61215}# - ($sc-dispatch #{tmp 61214}# 'each-any))) - (if #{tmp 61215}# + (lambda (k-38467 filename-38468) + (let ((fn-38469 (syntax->datum filename-38468))) + (let ((tmp-38470 + (read-file-38461 fn-38469 filename-38468))) + (let ((tmp-38471 ($sc-dispatch tmp-38470 'each-any))) + (if tmp-38471 (@apply - (lambda (#{exp 61233}#) + (lambda (exp-38489) (cons '#(syntax-object begin ((top) #(ribcage () () ()) - #(ribcage #(exp) #((top)) #("i61201")) + #(ribcage #(exp) #((top)) #("l-*-38457")) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i61196")) + #(ribcage #(fn) #((top)) #("l-*-38452")) #(ribcage #(k filename) #((top) (top)) - #("i61192" "i61193")) - #(ribcage (read-file) ((top)) ("i61176")) - #(ribcage #(x) #((top)) #("i61175")) + #("l-*-38448" "l-*-38449")) + #(ribcage + (read-file) + ((top)) + ("l-*-38432")) + #(ribcage #(x) #((top)) #("l-*-38431")) #(ribcage (include) ((top)) @@ -21904,54 +21983,53 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{exp 61233}#)) - #{tmp 61215}#) + exp-38489)) + tmp-38471) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 61214}#)))))) - #{tmp 61207}#) + tmp-38470)))))) + tmp-38463) (syntax-violation #f "source expression failed to match any pattern" - #{x 61204}#))))))) + x-38460))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro - (lambda (#{x 61392}#) - (let ((#{tmp 61394}# - ($sc-dispatch #{x 61392}# '(any any)))) - (if #{tmp 61394}# + (lambda (x-38648) + (let ((tmp-38650 ($sc-dispatch x-38648 '(any any)))) + (if tmp-38650 (@apply - (lambda (#{k 61398}# #{filename 61399}#) - (let ((#{fn 61400}# (syntax->datum #{filename 61399}#))) - (let ((#{tmp 61401}# + (lambda (k-38654 filename-38655) + (let ((fn-38656 (syntax->datum filename-38655))) + (let ((tmp-38657 (datum->syntax - #{filename 61399}# - (let ((#{t 61404}# (%search-load-path #{fn 61400}#))) - (if #{t 61404}# - #{t 61404}# + filename-38655 + (let ((t-38660 (%search-load-path fn-38656))) + (if t-38660 + t-38660 (syntax-violation 'include-from-path "file not found in path" - #{x 61392}# - #{filename 61399}#)))))) + x-38648 + filename-38655)))))) (list '#(syntax-object include ((top) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i61386")) + #(ribcage #(fn) #((top)) #("l-*-38642")) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i61382")) + #(ribcage #(fn) #((top)) #("l-*-38638")) #(ribcage #(k filename) #((top) (top)) - #("i61378" "i61379")) + #("l-*-38634" "l-*-38635")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61375")) + #(ribcage #(x) #((top)) #("l-*-38631")) #(ribcage (include-from-path) ((top)) @@ -21962,53 +22040,51 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{tmp 61401}#)))) - #{tmp 61394}#) + tmp-38657)))) + tmp-38650) (syntax-violation #f "source expression failed to match any pattern" - #{x 61392}#)))))) + x-38648)))))) (define unquote (make-syntax-transformer 'unquote 'macro - (lambda (#{x 61414}#) + (lambda (x-38670) (syntax-violation 'unquote "expression not valid outside of quasiquote" - #{x 61414}#)))) + x-38670)))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro - (lambda (#{x 61418}#) + (lambda (x-38674) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" - #{x 61418}#)))) + x-38674)))) (define case (make-syntax-transformer 'case 'macro - (lambda (#{x 61475}#) - (let ((#{tmp 61477}# - ($sc-dispatch - #{x 61475}# - '(_ any any . each-any)))) - (if #{tmp 61477}# + (lambda (x-38731) + (let ((tmp-38733 + ($sc-dispatch x-38731 '(_ any any . each-any)))) + (if tmp-38733 (@apply - (lambda (#{e 61481}# #{m1 61482}# #{m2 61483}#) - (let ((#{tmp 61484}# + (lambda (e-38737 m1-38738 m2-38739) + (let ((tmp-38740 (letrec* - ((#{f 61538}# - (lambda (#{clause 61541}# #{clauses 61542}#) - (if (null? #{clauses 61542}#) - (let ((#{tmp 61544}# + ((f-38794 + (lambda (clause-38797 clauses-38798) + (if (null? clauses-38798) + (let ((tmp-38800 ($sc-dispatch - #{clause 61541}# + clause-38797 '(#(free-id #(syntax-object else @@ -22017,20 +22093,20 @@ #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22044,34 +22120,34 @@ any . each-any)))) - (if #{tmp 61544}# + (if tmp-38800 (@apply - (lambda (#{e1 61548}# #{e2 61549}#) + (lambda (e1-38804 e2-38805) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i61443" "i61444")) + #("l-*-38699" "l-*-38700")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22082,44 +22158,42 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{e1 61548}# #{e2 61549}#))) - #{tmp 61544}#) - (let ((#{tmp 61550}# + (cons e1-38804 e2-38805))) + tmp-38800) + (let ((tmp-38806 ($sc-dispatch - #{clause 61541}# + clause-38797 '(each-any any . each-any)))) - (if #{tmp 61550}# + (if tmp-38806 (@apply - (lambda (#{k 61554}# - #{e1 61555}# - #{e2 61556}#) + (lambda (k-38810 e1-38811 e2-38812) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i61449" - "i61450" - "i61451")) + #("l-*-38705" + "l-*-38706" + "l-*-38707")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22138,9 +22212,9 @@ #((top) (top) (top)) - #("i61449" - "i61450" - "i61451")) + #("l-*-38705" + "l-*-38706" + "l-*-38707")) #(ribcage () () ()) #(ribcage #(f @@ -22149,22 +22223,22 @@ #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22184,9 +22258,9 @@ #((top) (top) (top)) - #("i61449" - "i61450" - "i61451")) + #("l-*-38705" + "l-*-38706" + "l-*-38707")) #(ribcage () () ()) #(ribcage #(f @@ -22195,22 +22269,22 @@ #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22230,9 +22304,9 @@ #((top) (top) (top)) - #("i61449" - "i61450" - "i61451")) + #("l-*-38705" + "l-*-38706" + "l-*-38707")) #(ribcage () () @@ -22244,17 +22318,17 @@ #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () @@ -22262,7 +22336,7 @@ #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22276,7 +22350,7 @@ guile)))))) (hygiene guile)) - #{k 61554}#)) + k-38810)) (cons '#(syntax-object begin ((top) @@ -22285,9 +22359,9 @@ #((top) (top) (top)) - #("i61449" - "i61450" - "i61451")) + #("l-*-38705" + "l-*-38706" + "l-*-38707")) #(ribcage () () ()) #(ribcage #(f @@ -22296,22 +22370,22 @@ #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22323,59 +22397,57 @@ (hygiene guile)))))) (hygiene guile)) - (cons #{e1 61555}# - #{e2 61556}#)))) - #{tmp 61550}#) + (cons e1-38811 + e2-38812)))) + tmp-38806) (syntax-violation 'case "bad clause" - #{x 61475}# - #{clause 61541}#))))) - (let ((#{tmp 61564}# - (#{f 61538}# - (car #{clauses 61542}#) - (cdr #{clauses 61542}#)))) - (let ((#{tmp 61567}# + x-38731 + clause-38797))))) + (let ((tmp-38820 + (f-38794 + (car clauses-38798) + (cdr clauses-38798)))) + (let ((tmp-38823 ($sc-dispatch - #{clause 61541}# + clause-38797 '(each-any any . each-any)))) - (if #{tmp 61567}# + (if tmp-38823 (@apply - (lambda (#{k 61571}# - #{e1 61572}# - #{e2 61573}#) + (lambda (k-38827 e1-38828 e2-38829) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i61465" - "i61466" - "i61467")) + #("l-*-38721" + "l-*-38722" + "l-*-38723")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i61461")) + #("l-*-38717")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22392,32 +22464,32 @@ #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i61465" - "i61466" - "i61467")) + #("l-*-38721" + "l-*-38722" + "l-*-38723")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i61461")) + #("l-*-38717")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22435,32 +22507,32 @@ #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i61465" - "i61466" - "i61467")) + #("l-*-38721" + "l-*-38722" + "l-*-38723")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i61461")) + #("l-*-38717")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22480,9 +22552,9 @@ #((top) (top) (top)) - #("i61465" - "i61466" - "i61467")) + #("l-*-38721" + "l-*-38722" + "l-*-38723")) #(ribcage () () @@ -22490,7 +22562,7 @@ #(ribcage #(rest) #((top)) - #("i61461")) + #("l-*-38717")) #(ribcage () () @@ -22502,17 +22574,17 @@ #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () @@ -22520,7 +22592,7 @@ #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22533,39 +22605,39 @@ (hygiene guile)))))) (hygiene guile)) - #{k 61571}#)) + k-38827)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i61465" - "i61466" - "i61467")) + #("l-*-38721" + "l-*-38722" + "l-*-38723")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i61461")) + #("l-*-38717")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i61434" - "i61435" - "i61436")) + #("l-*-38690" + "l-*-38691" + "l-*-38692")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" - "i61425" - "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61421")) + #("l-*-38677")) #(ribcage (case) ((top)) @@ -22577,28 +22649,27 @@ (hygiene guile)))))) (hygiene guile)) - (cons #{e1 61572}# - #{e2 61573}#)) - #{tmp 61564}#)) - #{tmp 61567}#) + (cons e1-38828 e2-38829)) + tmp-38820)) + tmp-38823) (syntax-violation 'case "bad clause" - #{x 61475}# - #{clause 61541}#)))))))) - (#{f 61538}# #{m1 61482}# #{m2 61483}#)))) - (let ((#{body 61485}# #{tmp 61484}#)) + x-38731 + clause-38797)))))))) + (f-38794 m1-38738 m2-38739)))) + (let ((body-38741 tmp-38740)) (list '#(syntax-object let ((top) #(ribcage () () ()) - #(ribcage #(body) #((top)) #("i61432")) + #(ribcage #(body) #((top)) #("l-*-38688")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" "i61425" "i61426")) + #("l-*-38680" "l-*-38681" "l-*-38682")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61421")) + #(ribcage #(x) #((top)) #("l-*-38677")) #(ribcage (case) ((top)) @@ -22613,13 +22684,18 @@ t ((top) #(ribcage () () ()) - #(ribcage #(body) #((top)) #("i61432")) + #(ribcage + #(body) + #((top)) + #("l-*-38688")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i61424" "i61425" "i61426")) + #("l-*-38680" + "l-*-38681" + "l-*-38682")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61421")) + #(ribcage #(x) #((top)) #("l-*-38677")) #(ribcage (case) ((top)) @@ -22630,46 +22706,44 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{e 61481}#)) - #{body 61485}#)))) - #{tmp 61477}#) + e-38737)) + body-38741)))) + tmp-38733) (syntax-violation #f "source expression failed to match any pattern" - #{x 61475}#)))))) + x-38731)))))) (define make-variable-transformer - (lambda (#{proc 61592}#) - (if (procedure? #{proc 61592}#) + (lambda (proc-38848) + (if (procedure? proc-38848) (letrec* - ((#{trans 61593}# - (lambda (#{x 61595}#) - (#{proc 61592}# #{x 61595}#)))) + ((trans-38849 + (lambda (x-38851) (proc-38848 x-38851)))) (begin (set-procedure-property! - #{trans 61593}# + trans-38849 'variable-transformer #t) - #{trans 61593}#)) + trans-38849)) (error "variable transformer not a procedure" - #{proc 61592}#)))) + proc-38848)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro - (lambda (#{x 61632}#) - (let ((#{tmp 61634}# - ($sc-dispatch #{x 61632}# '(_ any)))) - (if #{tmp 61634}# + (lambda (x-38888) + (let ((tmp-38890 ($sc-dispatch x-38888 '(_ any)))) + (if tmp-38890 (@apply - (lambda (#{e 61638}#) + (lambda (e-38894) (list '#(syntax-object lambda ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22683,9 +22757,9 @@ '(#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22699,9 +22773,9 @@ '#((#(syntax-object macro-type ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22716,9 +22790,9 @@ #(syntax-object identifier-syntax ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22732,9 +22806,9 @@ (list '#(syntax-object syntax-case ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22748,9 +22822,9 @@ '#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22765,9 +22839,9 @@ (list '#(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22781,9 +22855,9 @@ '(#(syntax-object identifier? ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22797,9 +22871,9 @@ (#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22813,9 +22887,9 @@ #(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22829,9 +22903,15 @@ (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage + #(e) + #((top)) + #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage + #(x) + #((top)) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22842,13 +22922,13 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{e 61638}#)) + e-38894)) (list '(#(syntax-object _ ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22862,9 +22942,9 @@ #(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22878,9 +22958,9 @@ #(syntax-object ... ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage #(e) #((top)) #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22894,9 +22974,15 @@ (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i61607")) + #(ribcage + #(e) + #((top)) + #("l-*-38863")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage + #(x) + #((top)) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22907,19 +22993,19 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{e 61638}# + (cons e-38894 '(#(syntax-object x ((top) #(ribcage #(e) #((top)) - #("i61607")) + #("l-*-38863")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22936,12 +23022,12 @@ #(ribcage #(e) #((top)) - #("i61607")) + #("l-*-38863")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22952,17 +23038,17 @@ ((top)) (hygiene guile)))))) (hygiene guile))))))))) - #{tmp 61634}#) - (let ((#{tmp 61639}# + tmp-38890) + (let ((tmp-38895 ($sc-dispatch - #{x 61632}# + x-38888 '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -22976,33 +23062,37 @@ any any) any))))) - (if (if #{tmp 61639}# + (if (if tmp-38895 (@apply - (lambda (#{id 61643}# - #{exp1 61644}# - #{var 61645}# - #{val 61646}# - #{exp2 61647}#) - (if (identifier? #{id 61643}#) - (identifier? #{var 61645}#) + (lambda (id-38899 + exp1-38900 + var-38901 + val-38902 + exp2-38903) + (if (identifier? id-38899) + (identifier? var-38901) #f)) - #{tmp 61639}#) + tmp-38895) #f) (@apply - (lambda (#{id 61648}# - #{exp1 61649}# - #{var 61650}# - #{val 61651}# - #{exp2 61652}#) + (lambda (id-38904 + exp1-38905 + var-38906 + val-38907 + exp2-38908) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" "i61623" "i61624" "i61625" "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23019,13 +23109,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23042,13 +23132,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23065,13 +23155,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23089,13 +23179,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23112,13 +23202,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23135,13 +23225,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage #(x) #((top)) #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23158,13 +23248,16 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61604")) + #(ribcage + #(x) + #((top)) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23185,16 +23278,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23205,8 +23298,8 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{var 61650}# - #{val 61651}#) + var-38906 + val-38907) (list '#(syntax-object syntax ((top) @@ -23217,16 +23310,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23237,8 +23330,8 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{exp2 61652}#)) - (list (cons #{id 61648}# + exp2-38908)) + (list (cons id-38904 '(#(syntax-object x ((top) @@ -23249,16 +23342,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23279,16 +23372,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23309,16 +23402,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23329,7 +23422,7 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{exp1 61649}# + (cons exp1-38905 '(#(syntax-object x ((top) @@ -23344,16 +23437,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23379,16 +23472,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23400,7 +23493,7 @@ (hygiene guile)))))) (hygiene guile)))))) - (list #{id 61648}# + (list id-38904 (list '#(syntax-object identifier? ((top) @@ -23411,16 +23504,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23445,16 +23538,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23466,7 +23559,7 @@ (hygiene guile)))))) (hygiene guile)) - #{id 61648}#)) + id-38904)) (list '#(syntax-object syntax ((top) @@ -23477,16 +23570,16 @@ (top) (top) (top)) - #("i61622" - "i61623" - "i61624" - "i61625" - "i61626")) + #("l-*-38878" + "l-*-38879" + "l-*-38880" + "l-*-38881" + "l-*-38882")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i61604")) + #("l-*-38860")) #(ribcage (identifier-syntax) ((top)) @@ -23497,37 +23590,37 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{exp1 61649}#)))))) - #{tmp 61639}#) + exp1-38905)))))) + tmp-38895) (syntax-violation #f "source expression failed to match any pattern" - #{x 61632}#)))))))) + x-38888)))))))) (define define* (make-syntax-transformer 'define* 'macro - (lambda (#{x 61685}#) - (let ((#{tmp 61687}# + (lambda (x-38941) + (let ((tmp-38943 ($sc-dispatch - #{x 61685}# + x-38941 '(_ (any . any) any . each-any)))) - (if #{tmp 61687}# + (if tmp-38943 (@apply - (lambda (#{id 61691}# - #{args 61692}# - #{b0 61693}# - #{b1 61694}#) + (lambda (id-38947 args-38948 b0-38949 b1-38950) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i61667" "i61668" "i61669" "i61670")) + #("l-*-38923" + "l-*-38924" + "l-*-38925" + "l-*-38926")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61664")) + #(ribcage #(x) #((top)) #("l-*-38920")) #(ribcage (define*) ((top)) @@ -23538,16 +23631,19 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{id 61691}# + id-38947 (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i61667" "i61668" "i61669" "i61670")) + #("l-*-38923" + "l-*-38924" + "l-*-38925" + "l-*-38926")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61664")) + #(ribcage #(x) #((top)) #("l-*-38920")) #(ribcage (define*) ((top)) @@ -23558,14 +23654,12 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - (cons #{args 61692}# - (cons #{b0 61693}# #{b1 61694}#))))) - #{tmp 61687}#) - (let ((#{tmp 61695}# - ($sc-dispatch #{x 61685}# '(_ any any)))) - (if (if #{tmp 61695}# + (cons args-38948 (cons b0-38949 b1-38950))))) + tmp-38943) + (let ((tmp-38951 ($sc-dispatch x-38941 '(_ any any)))) + (if (if tmp-38951 (@apply - (lambda (#{id 61699}# #{val 61700}#) + (lambda (id-38955 val-38956) (identifier? '#(syntax-object x @@ -23573,9 +23667,9 @@ #(ribcage #(id val) #((top) (top)) - #("i61677" "i61678")) + #("l-*-38933" "l-*-38934")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61664")) + #(ribcage #(x) #((top)) #("l-*-38920")) #(ribcage (define*) ((top)) @@ -23586,19 +23680,19 @@ ((top)) (hygiene guile)))))) (hygiene guile)))) - #{tmp 61695}#) + tmp-38951) #f) (@apply - (lambda (#{id 61701}# #{val 61702}#) + (lambda (id-38957 val-38958) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) - #("i61681" "i61682")) + #("l-*-38937" "l-*-38938")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i61664")) + #(ribcage #(x) #((top)) #("l-*-38920")) #(ribcage (define*) ((top)) @@ -23609,11 +23703,11 @@ ((top)) (hygiene guile)))))) (hygiene guile)) - #{id 61701}# - #{val 61702}#)) - #{tmp 61695}#) + id-38957 + val-38958)) + tmp-38951) (syntax-violation #f "source expression failed to match any pattern" - #{x 61685}#)))))))) + x-38941)))))))) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index c20259b19..428b583ae 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -273,8 +273,11 @@ (lambda (x mod) (primitive-eval x))) - (define-syntax-rule (gensym-hook) - (gensym)) + ;; Capture syntax-session-id before we shove it off into a module. + (define session-id + (let ((v (module-variable (current-module) 'syntax-session-id))) + (lambda () + ((variable-ref v))))) (define put-global-definition-hook (lambda (symbol type val) @@ -452,7 +455,7 @@ ;; FIXME: use a faster gensym (define-syntax-rule (build-lexical-var src id) - (gensym (string-append (symbol->string id) " "))) + (gensym (string-append (symbol->string id) "-"))) (define-structure (syntax-object expression wrap module)) @@ -626,13 +629,8 @@ ;; labels must be comparable with "eq?", have read-write invariance, ;; and distinct from symbols. - (define gen-label - (let ((i 0)) - (lambda () - (let ((n i)) - ;; FIXME: Use atomic ops. - (set! i (1+ n)) - (number->string n 36))))) + (define (gen-label) + (string-append "l-" (session-id) (symbol->string (gensym "-")))) (define gen-labels (lambda (ls) @@ -661,7 +659,7 @@ (cons 'shift (wrap-subst w))))) (define-syntax-rule (new-mark) - (gensym "m")) + (gensym (string-append "m-" (session-id) "-"))) ;; make-empty-ribcage and extend-ribcage maintain list-based ribcages for ;; internal definitions, in which the ribcages are built incrementally @@ -1079,7 +1077,7 @@ (call-with-values (lambda () (syntax-type x r w (source-annotation x) ribcage mod #f)) - (lambda (type value e w s mod) + (lambda (type value form e w s mod) (case type ((define-form) (let* ((id (wrap value w mod)) @@ -1171,11 +1169,11 @@ (else (list (if (eq? m 'c&e) - (let ((x (expand-expr type value e r w s mod))) + (let ((x (expand-expr type value form e r w s mod))) (top-level-eval-hook x mod) (lambda () x)) (lambda () - (expand-expr type value e r w s mod))))))))) + (expand-expr type value form e r w s mod))))))))) (let ((exps (map (lambda (x) (x)) (reverse (parse body r w s m esew mod))))) (if (null? exps) @@ -1214,8 +1212,8 @@ (syntax-violation 'eval-when "invalid situation" e (car l)))))))) - ;; syntax-type returns six values: type, value, e, w, s, and mod. The - ;; first two are described in the table below. + ;; syntax-type returns seven values: type, value, form, e, w, s, and + ;; mod. The first two are described in the table below. ;; ;; type value explanation ;; ------------------------------------------------------------------- @@ -1244,10 +1242,11 @@ ;; constant none self-evaluating datum ;; other none anything else ;; - ;; For definition forms (define-form, define-syntax-parameter-form, - ;; and define-syntax-form), e is the rhs expression. For all - ;; others, e is the entire form. w is the wrap for e. s is the - ;; source for the entire form. mod is the module for e. + ;; form is the entire form. For definition forms (define-form, + ;; define-syntax-form, and define-syntax-parameter-form), e is the + ;; rhs expression. For all others, e is the entire form. w is the + ;; wrap for both form and e. s is the source for the entire form. + ;; mod is the module for both form and e. ;; ;; syntax-type expands macros and unwraps as necessary to get to one ;; of the forms above. It also parses definition forms, although @@ -1262,28 +1261,28 @@ (case type ((macro) (if for-car? - (values type value e w s mod) + (values type value e e w s mod) (syntax-type (expand-macro value e r w s rib mod) r empty-wrap s rib mod #f))) ((global) ;; Toplevel definitions may resolve to bindings with ;; different names or in different modules. - (values type value value w s mod*)) - (else (values type value e w s mod)))))) + (values type value e value w s mod*)) + (else (values type value e e w s mod)))))) ((pair? e) (let ((first (car e))) (call-with-values (lambda () (syntax-type first r w s rib mod #t)) - (lambda (ftype fval fe fw fs fmod) + (lambda (ftype fval fform fe fw fs fmod) (case ftype ((lexical) - (values 'lexical-call fval e w s mod)) + (values 'lexical-call fval e e w s mod)) ((global) ;; If we got here via an (@@ ...) expansion, we need to ;; make sure the fmod information is propagated back ;; correctly -- hence this consing. (values 'global-call (make-syntax-object fval w fmod) - e w s mod)) + e e w s mod)) ((macro) (syntax-type (expand-macro fval e r w s rib mod) r empty-wrap s rib mod for-car?)) @@ -1292,23 +1291,24 @@ (lambda (e r w s mod) (syntax-type e r w s rib mod for-car?)))) ((core) - (values 'core-form fval e w s mod)) + (values 'core-form fval e e w s mod)) ((local-syntax) - (values 'local-syntax-form fval e w s mod)) + (values 'local-syntax-form fval e e w s mod)) ((begin) - (values 'begin-form #f e w s mod)) + (values 'begin-form #f e e w s mod)) ((eval-when) - (values 'eval-when-form #f e w s mod)) + (values 'eval-when-form #f e e w s mod)) ((define) (syntax-case e () ((_ name val) (id? #'name) - (values 'define-form #'name #'val w s mod)) + (values 'define-form #'name e #'val w s mod)) ((_ (name . args) e1 e2 ...) (and (id? #'name) (valid-bound-ids? (lambda-var-list #'args))) ;; need lambda here... (values 'define-form (wrap #'name w mod) + (wrap e w mod) (decorate-source (cons #'lambda (wrap #'(args e1 e2 ...) w mod)) s) @@ -1316,38 +1316,39 @@ ((_ name) (id? #'name) (values 'define-form (wrap #'name w mod) + (wrap e w mod) #'(if #f #f) empty-wrap s mod)))) ((define-syntax) (syntax-case e () ((_ name val) (id? #'name) - (values 'define-syntax-form #'name #'val w s mod)))) + (values 'define-syntax-form #'name e #'val w s mod)))) ((define-syntax-parameter) (syntax-case e () ((_ name val) (id? #'name) - (values 'define-syntax-parameter-form #'name #'val w s mod)))) + (values 'define-syntax-parameter-form #'name e #'val w s mod)))) (else - (values 'call #f e w s mod))))))) + (values 'call #f e e w s mod))))))) ((syntax-object? e) (syntax-type (syntax-object-expression e) r (join-wraps w (syntax-object-wrap e)) (or (source-annotation e) s) rib (or (syntax-object-module e) mod) for-car?)) - ((self-evaluating? e) (values 'constant #f e w s mod)) - (else (values 'other #f e w s mod))))) + ((self-evaluating? e) (values 'constant #f e e w s mod)) + (else (values 'other #f e e w s mod))))) (define expand (lambda (e r w mod) (call-with-values (lambda () (syntax-type e r w (source-annotation e) #f mod #f)) - (lambda (type value e w s mod) - (expand-expr type value e r w s mod))))) + (lambda (type value form e w s mod) + (expand-expr type value form e r w s mod))))) (define expand-expr - (lambda (type value e r w s mod) + (lambda (type value form e r w s mod) (case type ((lexical) (build-lexical-reference 'value s e value)) @@ -1396,8 +1397,8 @@ (expand-sequence #'(e1 e2 ...) r w s mod) (expand-void)))))) ((define-form define-syntax-form define-syntax-parameter-form) - (syntax-violation #f "definition in expression context" - e (wrap value w mod))) + (syntax-violation #f "definition in expression context, where definitions are not allowed," + (source-wrap form w s mod))) ((syntax) (syntax-violation #f "reference to pattern variable outside syntax form" (source-wrap e w s mod))) @@ -1541,7 +1542,7 @@ (let ((e (cdar body)) (er (caar body))) (call-with-values (lambda () (syntax-type e er empty-wrap (source-annotation er) ribcage mod #f)) - (lambda (type value e w s mod) + (lambda (type value form e w s mod) (case type ((define-form) (let ((id (wrap value w mod)) (label (gen-label))) @@ -2307,7 +2308,7 @@ ((_ (head tail ...) val) (call-with-values (lambda () (syntax-type #'head r empty-wrap no-source #f mod #t)) - (lambda (type value ee ww ss modmod) + (lambda (type value ee* ee ww ss modmod) (case type ((module-ref) (let ((val (expand #'val r w mod))) @@ -2605,47 +2606,11 @@ (set! syntax-source (lambda (x) (source-annotation x))) - (set! syntax-local-binding - (lambda (id) - (arg-check nonsymbol-id? id 'syntax-local-binding) - (with-transformer-environment - (lambda (e r w s rib mod) - (define (strip-anti-mark w) - (let ((ms (wrap-marks w)) (s (wrap-subst w))) - (if (and (pair? ms) (eq? (car ms) the-anti-mark)) - ;; output is from original text - (make-wrap (cdr ms) (if rib (cons rib (cdr s)) (cdr s))) - ;; output introduced by macro - (make-wrap ms (if rib (cons rib s) s))))) - (call-with-values (lambda () - (resolve-identifier - (syntax-object-expression id) - (strip-anti-mark (syntax-object-wrap id)) - r - (syntax-object-module id) - ;; FIXME: come up with a better policy for - ;; resolve-syntax-parameters - #t)) - (lambda (type value mod) - (case type - ((lexical) (values 'lexical value)) - ((macro) (values 'macro value)) - ((syntax) (values 'pattern-variable value)) - ((displaced-lexical) (values 'displaced-lexical #f)) - ((global) (values 'global (cons value (cdr mod)))) - (else (values 'other #f))))))))) - - (set! syntax-locally-bound-identifiers - (lambda (x) - (arg-check nonsymbol-id? x 'syntax-locally-bound-identifiers) - (locally-bound-identifiers (syntax-object-wrap x) - (syntax-object-module x)))) - (set! generate-temporaries (lambda (ls) (arg-check list? ls 'generate-temporaries) (let ((mod (cons 'hygiene (module-name (current-module))))) - (map (lambda (x) (wrap (gensym-hook) top-wrap mod)) ls)))) + (map (lambda (x) (wrap (gensym "t-") top-wrap mod)) ls)))) (set! free-identifier=? (lambda (x y) @@ -2669,6 +2634,53 @@ (strip form empty-wrap) (and subform (strip subform empty-wrap))))) + (let () + (define (syntax-module id) + (arg-check nonsymbol-id? id 'syntax-module) + (cdr (syntax-object-module id))) + + (define (syntax-local-binding id) + (arg-check nonsymbol-id? id 'syntax-local-binding) + (with-transformer-environment + (lambda (e r w s rib mod) + (define (strip-anti-mark w) + (let ((ms (wrap-marks w)) (s (wrap-subst w))) + (if (and (pair? ms) (eq? (car ms) the-anti-mark)) + ;; output is from original text + (make-wrap (cdr ms) (if rib (cons rib (cdr s)) (cdr s))) + ;; output introduced by macro + (make-wrap ms (if rib (cons rib s) s))))) + (call-with-values (lambda () + (resolve-identifier + (syntax-object-expression id) + (strip-anti-mark (syntax-object-wrap id)) + r + (syntax-object-module id) + ;; FIXME: come up with a better policy for + ;; resolve-syntax-parameters + #t)) + (lambda (type value mod) + (case type + ((lexical) (values 'lexical value)) + ((macro) (values 'macro value)) + ((syntax) (values 'pattern-variable value)) + ((displaced-lexical) (values 'displaced-lexical #f)) + ((global) (values 'global (cons value (cdr mod)))) + (else (values 'other #f)))))))) + + (define (syntax-locally-bound-identifiers id) + (arg-check nonsymbol-id? id 'syntax-locally-bound-identifiers) + (locally-bound-identifiers (syntax-object-wrap id) + (syntax-object-module id))) + + ;; Using define! instead of set! to avoid warnings at + ;; compile-time, after the variables are stolen away into (system + ;; syntax). See the end of boot-9.scm. + ;; + (define! 'syntax-module syntax-module) + (define! 'syntax-local-binding syntax-local-binding) + (define! 'syntax-locally-bound-identifiers syntax-locally-bound-identifiers)) + ;; $sc-dispatch expects an expression and a pattern. If the expression ;; matches the pattern a list of the matching expressions for each ;; "any" is returned. Otherwise, #f is returned. (This use of #f will diff --git a/module/language/scheme/spec.scm b/module/language/scheme/spec.scm index 0df4171ff..e4cf55c4c 100644 --- a/module/language/scheme/spec.scm +++ b/module/language/scheme/spec.scm @@ -1,6 +1,6 @@ ;;; Guile Scheme specification -;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -53,4 +53,11 @@ ;; compile-time changes to `current-reader' are ;; limited to the current compilation unit. (module-define! m 'current-reader (make-fluid)) + + ;; Default to `simple-format', as is the case until + ;; (ice-9 format) is loaded. This allows + ;; compile-time warnings to be emitted when using + ;; unsupported options. + (module-set! m 'format simple-format) + m))) diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm index f75c9f16a..04687a8c9 100644 --- a/module/language/tree-il/analyze.scm +++ b/module/language/tree-il/analyze.scm @@ -22,6 +22,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:use-module (system base syntax) @@ -1392,7 +1393,7 @@ accurate information is missing from a given `tree-il' element." ((,port ,fmt . ,rest) (if (and (const? port) (not (boolean? (const-exp port)))) - (warn 'format loc 'wrong-port (const-exp port))) + (warning 'format loc 'wrong-port (const-exp port))) ;; Warn on non-literal format strings, unless they refer to a ;; lexical variable named "fmt". (if (record-case fmt @@ -1403,6 +1404,36 @@ accurate information is missing from a given `tree-il' element." (else (warning 'format loc 'wrong-num-args (length args))))) + (define (check-simple-format-args args loc) + ;; Check the arguments to the `simple-format' procedure, which is + ;; less capable than that of (ice-9 format). + + (define allowed-chars + '(#\A #\S #\a #\s #\~ #\%)) + + (define (format-chars fmt) + (let loop ((chars (string->list fmt)) + (result '())) + (match chars + (() + (reverse result)) + ((#\~ opt rest ...) + (loop rest (cons opt result))) + ((_ rest ...) + (loop rest result))))) + + (match args + ((port ($ _ (? string? fmt)) _ ...) + (let ((opts (format-chars fmt))) + (or (every (cut memq <> allowed-chars) opts) + (begin + (warning 'format loc 'simple-format fmt + (find (negate (cut memq <> allowed-chars)) opts)) + #f)))) + ((port (($ _ '_) fmt) args ...) + (check-simple-format-args `(,port ,fmt ,args) loc)) + (_ #t))) + (define (resolve-toplevel name) (and (module? env) (false-if-exception (module-ref env name)))) @@ -1410,9 +1441,19 @@ accurate information is missing from a given `tree-il' element." (match x (($ src ($ _ name) args) (let ((proc (resolve-toplevel name))) - (and (or (eq? proc format) - (eq? proc (@ (ice-9 format) format))) - (check-format-args args (or src (find pair? locs)))))) + (if (or (and (eq? proc (@ (guile) simple-format)) + (check-simple-format-args args + (or src (find pair? locs)))) + (eq? proc (@ (ice-9 format) format))) + (check-format-args args (or src (find pair? locs)))))) + (($ src ($ _ '(ice-9 format) 'format) args) + (check-format-args args (or src (find pair? locs)))) + (($ src ($ _ '(guile) + (or 'format 'simple-format)) + args) + (and (check-simple-format-args args + (or src (find pair? locs))) + (check-format-args args (or src (find pair? locs))))) (_ #t)) #t) diff --git a/module/language/tree-il/peval.scm b/module/language/tree-il/peval.scm index aab872164..9aac24cc1 100644 --- a/module/language/tree-il/peval.scm +++ b/module/language/tree-il/peval.scm @@ -411,7 +411,7 @@ top-level bindings from ENV and return the resulting expression." (define (fresh-gensyms vars) (map (lambda (var) (let ((new (gensym (string-append (symbol->string (var-name var)) - " ")))) + "-")))) (set! store (vhash-consq new var store)) new)) vars)) diff --git a/module/language/tree-il/primitives.scm b/module/language/tree-il/primitives.scm index 8e9d2eb6e..f192c4fc3 100644 --- a/module/language/tree-il/primitives.scm +++ b/module/language/tree-il/primitives.scm @@ -1,6 +1,6 @@ ;;; open-coding primitive procedures -;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -487,8 +487,8 @@ '@dynamic-wind (case-lambda ((src pre expr post) - (let ((PRE (gensym " pre")) - (POST (gensym " post"))) + (let ((PRE (gensym "pre-")) + (POST (gensym "post-"))) (make-let src '(pre post) diff --git a/module/scripts/list.scm b/module/scripts/list.scm index 0f1d715dd..66116ce5b 100644 --- a/module/scripts/list.scm +++ b/module/scripts/list.scm @@ -1,6 +1,6 @@ ;;; List --- List scripts that can be invoked by guild -*- coding: iso-8859-1 -*- -;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +;;;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -26,6 +26,7 @@ ;;; Code: (define-module (scripts list) + #:use-module (srfi srfi-1) #:export (list-scripts)) (define %include-in-guild-list #f) diff --git a/module/system/base/message.scm b/module/system/base/message.scm index 75e14ea1e..8cf285afd 100644 --- a/module/system/base/message.scm +++ b/module/system/base/message.scm @@ -1,6 +1,6 @@ ;;; User interface messages -;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;; This library is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU Lesser General Public @@ -150,6 +150,10 @@ (emit #f "~a to ~a" min max)))) (match rest + (('simple-format fmt opt) + (emit port + "~A: warning: ~S: unsupported format option ~~~A, use (ice-9 format) instead~%" + loc (escape-newlines fmt) opt)) (('wrong-format-arg-count fmt min max actual) (emit port "~A: warning: ~S: wrong number of `format' arguments: expected ~A, got ~A~%" diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm index 6c6ee2ae7..346ba990f 100644 --- a/module/system/repl/common.scm +++ b/module/system/repl/common.scm @@ -39,7 +39,7 @@ (define *version* (format #f "GNU Guile ~A -Copyright (C) 1995-2011 Free Software Foundation, Inc. +Copyright (C) 1995-2012 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it diff --git a/module/system/repl/error-handling.scm b/module/system/repl/error-handling.scm index 2a585aaff..0e31eb941 100644 --- a/module/system/repl/error-handling.scm +++ b/module/system/repl/error-handling.scm @@ -1,6 +1,6 @@ ;;; Error handling in the REPL -;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -23,6 +23,7 @@ #:use-module (system base pmatch) #:use-module (system vm trap-state) #:use-module (system repl debug) + #:use-module (ice-9 format) #:export (call-with-error-handling with-error-handling)) diff --git a/test-suite/standalone/test-loose-ends.c b/test-suite/standalone/test-loose-ends.c index 2fdbe7d4b..ee0fcf3f3 100644 --- a/test-suite/standalone/test-loose-ends.c +++ b/test-suite/standalone/test-loose-ends.c @@ -3,7 +3,7 @@ * Test items of the Guile C API that aren't covered by any other tests. */ -/* Copyright (C) 2009 Free Software Foundation, Inc. +/* Copyright (C) 2009, 2012 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -42,10 +42,44 @@ test_scm_from_locale_keywordn () assert (scm_is_true (scm_keyword_p (kw))); } +static void +test_scm_local_eval () +{ + SCM result; + + scm_c_use_module ("ice-9 local-eval"); + result = scm_local_eval + (scm_list_3 (scm_from_latin1_symbol ("+"), + scm_from_latin1_symbol ("x"), + scm_from_latin1_symbol ("y")), + scm_c_eval_string ("(let ((x 1) (y 2)) (the-environment))")); + + assert (scm_is_true (scm_equal_p (result, + scm_from_signed_integer (3)))); +} + +static void +test_scm_call () +{ + SCM result; + + result = scm_call (scm_c_public_ref ("guile", "+"), + scm_from_int (1), + scm_from_int (2), + SCM_UNDEFINED); + assert (scm_is_true (scm_equal_p (result, scm_from_int (3)))); + + result = scm_call (scm_c_public_ref ("guile", "list"), + SCM_UNDEFINED); + assert (scm_is_eq (result, SCM_EOL)); +} + static void tests (void *data, int argc, char **argv) { test_scm_from_locale_keywordn (); + test_scm_local_eval (); + test_scm_call (); } int diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test index a128cd7e1..a5fbfece2 100644 --- a/test-suite/tests/eval.test +++ b/test-suite/tests/eval.test @@ -1,5 +1,5 @@ ;;;; eval.test --- tests guile's evaluator -*- scheme -*- -;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. +;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -19,7 +19,8 @@ :use-module (test-suite lib) :use-module ((srfi srfi-1) :select (unfold count)) :use-module ((system vm vm) :select (make-vm call-with-vm)) - :use-module (ice-9 documentation)) + :use-module (ice-9 documentation) + :use-module (ice-9 local-eval)) (define exception:bad-expression @@ -74,6 +75,10 @@ (with-test-prefix "evaluator" + (pass-if "definitions return #" + (eq? (primitive-eval '(define test-var 'foo)) + (if #f #f))) + (with-test-prefix "symbol lookup" (with-test-prefix "top level" @@ -422,4 +427,96 @@ (thunk (let loop () (cons 's (loop))))) (call-with-vm vm thunk)))) +;;; +;;; local-eval +;;; + +(with-test-prefix "local evaluation" + + (pass-if "local-eval" + + (let* ((env1 (local-eval '(let ((x 1) (y 2) (z 3)) + (define-syntax-rule (foo x) (quote x)) + (the-environment)) + (current-module))) + (env2 (local-eval '(let ((x 111) (a 'a)) + (define-syntax-rule (bar x) (quote x)) + (the-environment)) + env1))) + (local-eval '(set! x 11) env1) + (local-eval '(set! y 22) env1) + (local-eval '(set! z 33) env2) + (and (equal? (local-eval '(list x y z) env1) + '(11 22 33)) + (equal? (local-eval '(list x y z a) env2) + '(111 22 33 a))))) + + (pass-if "local-compile" + + (let* ((env1 (local-compile '(let ((x 1) (y 2) (z 3)) + (define-syntax-rule (foo x) (quote x)) + (the-environment)) + (current-module))) + (env2 (local-compile '(let ((x 111) (a 'a)) + (define-syntax-rule (bar x) (quote x)) + (the-environment)) + env1))) + (local-compile '(set! x 11) env1) + (local-compile '(set! y 22) env1) + (local-compile '(set! z 33) env2) + (and (equal? (local-compile '(list x y z) env1) + '(11 22 33)) + (equal? (local-compile '(list x y z a) env2) + '(111 22 33 a))))) + + (pass-if "the-environment within a macro" + (let ((module-a-name '(test module the-environment a)) + (module-b-name '(test module the-environment b))) + (let ((module-a (resolve-module module-a-name)) + (module-b (resolve-module module-b-name))) + (module-use! module-a (resolve-interface '(guile))) + (module-use! module-a (resolve-interface '(ice-9 local-eval))) + (eval '(begin + (define z 3) + (define-syntax-rule (test) + (let ((x 1) (y 2)) + (the-environment)))) + module-a) + (module-use! module-b (resolve-interface '(guile))) + (let ((env (local-eval `(let ((x 111) (y 222)) + ((@@ ,module-a-name test))) + module-b))) + (equal? (local-eval '(list x y z) env) + '(1 2 3)))))) + + (pass-if "capture pattern variables" + (let ((env (syntax-case #'(((a 1) (b 2) (c 3)) + ((d 4) (e 5) (f 6))) () + ((((k v) ...) ...) (the-environment))))) + (equal? (syntax->datum (local-eval '#'((k ... v ...) ...) env)) + '((a b c 1 2 3) (d e f 4 5 6))))) + + (pass-if "mixed primitive-eval, local-eval and local-compile" + + (let* ((env1 (primitive-eval '(let ((x 1) (y 2) (z 3)) + (define-syntax-rule (foo x) (quote x)) + (the-environment)))) + (env2 (local-eval '(let ((x 111) (a 'a)) + (define-syntax-rule (bar x) (quote x)) + (the-environment)) + env1)) + (env3 (local-compile '(let ((y 222) (b 'b)) + (the-environment)) + env2))) + (local-eval '(set! x 11) env1) + (local-compile '(set! y 22) env2) + (local-eval '(set! z 33) env2) + (local-compile '(set! a (* y 2)) env3) + (and (equal? (local-compile '(list x y z) env1) + '(11 22 33)) + (equal? (local-eval '(list x y z a) env2) + '(111 22 33 444)) + (equal? (local-eval '(list x y z a b) env3) + '(111 222 33 444 b)))))) + ;;; eval.test ends here diff --git a/test-suite/tests/gc.test b/test-suite/tests/gc.test index 527bef56c..97eeb195e 100644 --- a/test-suite/tests/gc.test +++ b/test-suite/tests/gc.test @@ -87,14 +87,26 @@ total))) (pass-if "Lexical vars are collectable" - (list? - (compile - '(begin - (define guardian (make-guardian)) - (let ((f (list 'foo))) - ;; Introduce a useless second reference to f to prevent the - ;; optimizer from propagating the lexical binding. - f - (guardian f)) - (gc)(gc)(gc) - (guardian)))))) + (let ((l (compile + '(begin + (define guardian (make-guardian)) + (let ((f (list 'foo))) + (guardian f)) + ;; See below. + ;; ((lambda () #t)) + (gc)(gc)(gc) + (guardian)) + ;; Prevent the optimizer from propagating f. + #:opts '(#:partial-eval? #f)))) + (if (not l) + ;; We think that something on the C stack in the VM is holding + ;; on to a reference to the list. This happens on + ;; register-poor architectures, where more locals are spilled + ;; to the stack. If more code runs before the (gc) is run, + ;; like a ((lambda () #t)), then the test passes. So given + ;; that at some point, the reference will be dropped, we will + ;; count these cases as "unresolved" instead of "fail". + ;; + ;; See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10336. + (throw 'unresolved) + (equal? l '(foo)))))) diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test index ebf78146e..0ab58c98a 100644 --- a/test-suite/tests/tree-il.test +++ b/test-suite/tests/tree-il.test @@ -550,12 +550,12 @@ ;; Testing `(values foo)' in push context with RA. (assert-tree-il->glil without-partial-evaluation - (apply (primitive cdr) - (letrec (lp) (#{lp ~V9KrhVD4PFEL6oCTrLg3A}#) - ((lambda ((name . lp)) - (lambda-case ((() #f #f #f () ()) - (apply (toplevel values) (const (one two))))))) - (apply (lexical lp #{lp ~V9KrhVD4PFEL6oCTrLg3A}#)))) + (primcall cdr + (letrec (lp) (#{lp ~V9KrhVD4PFEL6oCTrLg3A}#) + ((lambda ((name . lp)) + (lambda-case ((() #f #f #f () ()) + (primcall values (const (one two))))))) + (call (lexical lp #{lp ~V9KrhVD4PFEL6oCTrLg3A}#)))) (program () (std-prelude 0 0 #f) (label _) (branch br _) ;; entering the fix, jump to :2 ;; :1 body of lp, jump to :3 @@ -2194,7 +2194,8 @@ (pass-if "~%, ~~, ~&, ~t, ~_, and ~\\n" (null? (call-with-warnings (lambda () - (compile '(format some-port "~&~3_~~ ~\n~12they~%") + (compile '((@ (ice-9 format) format) some-port + "~&~3_~~ ~\n~12they~%") #:opts %opts-w-format #:to 'assembly))))) @@ -2221,7 +2222,8 @@ (pass-if "two missing arguments" (let ((w (call-with-warnings (lambda () - (compile '(format #f "foo ~10,2f and bar ~S~%") + (compile '((@ (ice-9 format) format) #f + "foo ~10,2f and bar ~S~%") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2252,7 +2254,7 @@ (pass-if "literals" (null? (call-with-warnings (lambda () - (compile '(format #f "~A ~[foo~;bar~;baz~;~] ~10,2f" + (compile '((@ (ice-9 format) format) #f "~A ~[foo~;bar~;baz~;~] ~10,2f" 'a 1 3.14) #:opts %opts-w-format #:to 'assembly))))) @@ -2260,7 +2262,7 @@ (pass-if "literals with selector" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~2[foo~;bar~;baz~;~] ~A" + (compile '((@ (ice-9 format) format) #f "~2[foo~;bar~;baz~;~] ~A" 1 'dont-ignore-me) #:opts %opts-w-format #:to 'assembly))))) @@ -2271,7 +2273,7 @@ (pass-if "escapes (exact count)" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~[~a~;~a~]") + (compile '((@ (ice-9 format) format) #f "~[~a~;~a~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2281,7 +2283,7 @@ (pass-if "escapes with selector" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~1[chbouib~;~a~]") + (compile '((@ (ice-9 format) format) #f "~1[chbouib~;~a~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2291,7 +2293,7 @@ (pass-if "escapes, range" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~[chbouib~;~a~;~2*~a~]") + (compile '((@ (ice-9 format) format) #f "~[chbouib~;~a~;~2*~a~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2301,7 +2303,7 @@ (pass-if "@" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~@[temperature=~d~]") + (compile '((@ (ice-9 format) format) #f "~@[temperature=~d~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2311,7 +2313,7 @@ (pass-if "nested" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~:[~[hey~;~a~;~va~]~;~3*~]") + (compile '((@ (ice-9 format) format) #f "~:[~[hey~;~a~;~va~]~;~3*~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2321,7 +2323,7 @@ (pass-if "unterminated" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~[unterminated") + (compile '((@ (ice-9 format) format) #f "~[unterminated") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2331,7 +2333,7 @@ (pass-if "unexpected ~;" (let ((w (call-with-warnings (lambda () - (compile '(format #f "foo~;bar") + (compile '((@ (ice-9 format) format) #f "foo~;bar") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2341,7 +2343,7 @@ (pass-if "unexpected ~]" (let ((w (call-with-warnings (lambda () - (compile '(format #f "foo~]") + (compile '((@ (ice-9 format) format) #f "foo~]") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2351,7 +2353,7 @@ (pass-if "~{...~}" (null? (call-with-warnings (lambda () - (compile '(format #f "~A ~{~S~} ~A" + (compile '((@ (ice-9 format) format) #f "~A ~{~S~} ~A" 'hello '("ladies" "and") 'gentlemen) #:opts %opts-w-format @@ -2360,7 +2362,7 @@ (pass-if "~{...~}, too many args" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~{~S~}" 1 2 3) + (compile '((@ (ice-9 format) format) #f "~{~S~}" 1 2 3) #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2370,14 +2372,14 @@ (pass-if "~@{...~}" (null? (call-with-warnings (lambda () - (compile '(format #f "~@{~S~}" 1 2 3) + (compile '((@ (ice-9 format) format) #f "~@{~S~}" 1 2 3) #:opts %opts-w-format #:to 'assembly))))) (pass-if "~@{...~}, too few args" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~A ~@{~S~}") + (compile '((@ (ice-9 format) format) #f "~A ~@{~S~}") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2387,7 +2389,7 @@ (pass-if "unterminated ~{...~}" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~{") + (compile '((@ (ice-9 format) format) #f "~{") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2397,14 +2399,14 @@ (pass-if "~(...~)" (null? (call-with-warnings (lambda () - (compile '(format #f "~:@(~A ~A~)" 'foo 'bar) + (compile '((@ (ice-9 format) format) #f "~:@(~A ~A~)" 'foo 'bar) #:opts %opts-w-format #:to 'assembly))))) (pass-if "~v" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~v_foo") + (compile '((@ (ice-9 format) format) #f "~v_foo") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2413,7 +2415,7 @@ (pass-if "~v:@y" (null? (call-with-warnings (lambda () - (compile '(format #f "~v:@y" 1 123) + (compile '((@ (ice-9 format) format) #f "~v:@y" 1 123) #:opts %opts-w-format #:to 'assembly))))) @@ -2421,7 +2423,7 @@ (pass-if "~*" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~2*~a" 'a 'b) + (compile '((@ (ice-9 format) format) #f "~2*~a" 'a 'b) #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2431,14 +2433,14 @@ (pass-if "~?" (null? (call-with-warnings (lambda () - (compile '(format #f "~?" "~d ~d" '(1 2)) + (compile '((@ (ice-9 format) format) #f "~?" "~d ~d" '(1 2)) #:opts %opts-w-format #:to 'assembly))))) (pass-if "complex 1" (let ((w (call-with-warnings (lambda () - (compile '(format #f + (compile '((@ (ice-9 format) format) #f "~4@S ~32S~@[;; ~1{~@?~}~]~@[~61t at ~a~]\n" 1 2 3 4 5 6) #:opts %opts-w-format @@ -2450,7 +2452,7 @@ (pass-if "complex 2" (let ((w (call-with-warnings (lambda () - (compile '(format #f + (compile '((@ (ice-9 format) format) #f "~:(~A~) Commands~:[~; [abbrev]~]:~2%" 1 2 3 4) #:opts %opts-w-format @@ -2462,7 +2464,7 @@ (pass-if "complex 3" (let ((w (call-with-warnings (lambda () - (compile '(format #f "~9@a~:[~*~3_~;~3d~] ~v:@y~%") + (compile '((@ (ice-9 format) format) #f "~9@a~:[~*~3_~;~3d~] ~v:@y~%") #:opts %opts-w-format #:to 'assembly))))) (and (= (length w) 1) @@ -2489,4 +2491,31 @@ (compile '(let ((format chbouib)) (format #t "not ~A a format string")) #:opts %opts-w-format - #:to 'assembly))))))) + #:to 'assembly))))) + + (with-test-prefix "simple-format" + + (pass-if "good" + (null? (call-with-warnings + (lambda () + (compile '(simple-format #t "foo ~a bar ~s ~%~~" 1 2) + #:opts %opts-w-format + #:to 'assembly))))) + + (pass-if "wrong number of args" + (let ((w (call-with-warnings + (lambda () + (compile '(simple-format #t "foo ~a ~s~%" 'one-missing) + #:opts %opts-w-format + #:to 'assembly))))) + (and (= (length w) 1) + (number? (string-contains (car w) "wrong number"))))) + + (pass-if "unsupported" + (let ((w (call-with-warnings + (lambda () + (compile '(simple-format #t "foo ~x~%" 16) + #:opts %opts-w-format + #:to 'assembly))))) + (and (= (length w) 1) + (number? (string-contains (car w) "unsupported format option"))))))))