[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, master, updated. v2.1.0-88-g840cf0d
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. v2.1.0-88-g840cf0d |
Date: |
Thu, 29 Sep 2011 16:07:10 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=840cf0d1e2bb3b019210958056404f29347042fe
The branch, master has been updated
via 840cf0d1e2bb3b019210958056404f29347042fe (commit)
via ca128245811fab5abcf02756cd7a322a3a40d192 (commit)
via 014de9e25d87b7d3a13566aee4c271c1a11ea0b7 (commit)
via b275fb2691af150cc57e395e65df5a66e315017e (commit)
via df40b969780df2979f9f5e1c9ae8b9d6f09dbd9a (commit)
via 0353a2d817d0d5b3c563af4fa1b5c7c1fe7ce3a6 (commit)
via 40be30c97459e1baf8a9997c1c116a67f153cfef (commit)
via fc283c92cbdb31942f033541b52376fd1bade3f2 (commit)
via b5ae223d129b427e2b5695c82c45f16995f36236 (commit)
via 1cc1c2d7e33bc40ac23e05636e69434d80e90af1 (commit)
via 6c4ffe2b2560eaeb0fe5aedb266183e3bb80dbd8 (commit)
via ea726a53b2180ee4548723f81d9b1be7732ef5d8 (commit)
via fbc9387f68be677663e6756c35afa973a9dc0a1a (commit)
via 58b5a2d4e10d2afb34dfcb086d2550e936800b3f (commit)
via 7a1e193710ff3efa63ddd665a627c682ccec5ce6 (commit)
via 7af1ba2f6c4d4bcd4fbf0214384551f9b8208d4a (commit)
via 153ca1d2391115f1428837b9465bce89c76691de (commit)
via 05c9389e3f869f3158d97289f50a52dc2b3caa26 (commit)
via ef6c0883c3467b0b4b3c3e3cfb94f2b80422d875 (commit)
via 02ebea537fa805c615df44c4228db6a44d74c4b3 (commit)
via cf82943f9f075248d803b31e19ddb8e933ad35ba (commit)
via b839233282686301a5ba762b2dda890b3659ce4d (commit)
via fab137869e67d2f1d76764aa8b2855c88ae95379 (commit)
via 062bf3aa443c33a2f07fe929aba03fcd44d959b1 (commit)
via 8018dfdc023fe3136e96550c9d0dcd1712759917 (commit)
via ded8ad84a781ec792c0796e82568854c5d63ea65 (commit)
via f6123e4fda470a634b6cf0510d0312d162973e75 (commit)
via e43921a982fe207c99695c6eb01abffb0c9a559b (commit)
via b8a2b628e9c663ff58d442a895c4d20541d54b1f (commit)
via 1eb4886ffa9c4c81c946af7fed8fb39020fcde12 (commit)
via 8d06538e821c3e6cdd4861e1d8b1ec25ed930453 (commit)
via e535a37db891323708d375ad9c9c6f2b407261f1 (commit)
via 8f6dfb9ad226eb1b017cc08fda8b03350c9a209a (commit)
via 250991010f08d6a9e16dabad32941c948a8b4ba4 (commit)
via 9e8a5b6637c71b909a0c3ca42e6756d0b2177a05 (commit)
via dd7ab5d8a44a34112b3992a711db2851f503ce00 (commit)
via c829531a4652b2cf4d4aac1eb0af08c3231bdecf (commit)
via a4c7fe5cde907f3bc4cbc5190bfc7e748d6bac45 (commit)
via ec6e09bee7bd85862dbbea8fdefb295b7cc5205f (commit)
via d851e32fdc3d14804108f0389faa75a57599ced4 (commit)
via 40bd6a7e57a779d249f901f710d7368bf26550bb (commit)
via 9581febbb004b24843630adcefb72810624d0300 (commit)
via 2605b6ba2749a90c55a7f49bb91d6f20f256a20e (commit)
via ddbee5c00f438c4dc1dbe2b944b559a3c2de0e6b (commit)
via 5d5e4f399a38e530a5f0081d6fdec80d3eb4736a (commit)
via 4f33b47591e823500d800ee4f9d98c8ae98ceab8 (commit)
via 65a32655253cdfcf4e2caf03a73ac66b05da5f71 (commit)
via 03026d0fb888c4d19b87a995c641cb3e93afd973 (commit)
via d111abd0f6d06308b172cc1fa964eb11ccf5d94a (commit)
via 0c448ef47b752683855753ece53bef52733aee0b (commit)
via 78295f242adc2e308eba69839a8812da6cc1e02e (commit)
via ccb771575a9fc03eab034bef4c77917486bbf8c7 (commit)
via 72b2ca55f6e115927aa4e76401c992f21198681f (commit)
via 239b4b2ac6fda615e117193076df0b6b2bccb5d7 (commit)
via 1e2b4920cac71e6750673a84642db97c404092a7 (commit)
via 2b0b09fed4e446712dde60781ed09a6100e833f3 (commit)
via 2ae0775e405de414e2da4806588b674c07793b8e (commit)
via 3f2d6efc7b61999a4522b1c35d6f4a875a2c74c0 (commit)
via af1c6e424ffb7f37391fc62d788591adc40381e1 (commit)
via 735249513a0a2966f6570ee32cd2988b3bc6524d (commit)
via 61237fa4b96d020e96388cca4fd065ddf43bca60 (commit)
via 1e8ace33d17a3156c184e8121eb291a7c9324ccc (commit)
via 870dfc609b0bf090d38878d7224e65843c355485 (commit)
via 89436781e8758ee4df98f5d720f3ade50c2439fa (commit)
via d5f76917820a00ea94f9904c3fd1dcef1c37bd95 (commit)
via fe1336405062c69ff08fd7ad0d98c3f2aca7766f (commit)
via cb7bcfca3520a147881e4b7f052b68b88a740bf1 (commit)
via 86b4309b7166fe5ec4f55f0cc64501d07b0852f9 (commit)
via a8d7fba8d45220e4d12c57f5aa85bfade9d21100 (commit)
via 73df2c37424e89956df6c0e9a7d777b477423a93 (commit)
via cf14f3011bdb32c303ec1937a245269c100abe95 (commit)
via c8286111e0d149adc30687a27e5f52c9c064291a (commit)
via f9c1b8278dbf1992d83f91f91391ee39e714d364 (commit)
via 11671bbacbdd52039c77978bfe7f24a3316f6019 (commit)
via 16a3b316113b4000a39b92ddfe4c3edc16954d52 (commit)
via 91db4a375cb9adc8f3a47f0355c3e6566b9acebf (commit)
via 8568067836a7f127b18833a00d6bfc0509fa31ef (commit)
via 5fcb7b3cc58464b8895b09d0927e9364c079fe41 (commit)
via d9241a37e8184ac18e5836ff739212139aca91e3 (commit)
via 5f237d6e0e5d16b131c739c8daed3de9b162ec96 (commit)
via df08fc359c87a2c802ab82c4c70db7bda9baaa52 (commit)
via eddd81f4652db72a085f7c8dfe2ca04b7c4de829 (commit)
via cd4171d012f0ef2291274b5a9b26854c0223921b (commit)
via 0c65f52c6d45f60e197fad7162d05c0fce89e817 (commit)
via 1bbe0a631c4e72fffc033cb4f83eba7252ce3c9c (commit)
via dea14eb99bfb70f970db24f72340dfc9b98e0640 (commit)
from 25f4a88032f51cecdf8b0147c8a2d0a4574972fa (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 840cf0d1e2bb3b019210958056404f29347042fe
Author: Andy Wingo <address@hidden>
Date: Thu Sep 29 18:07:02 2011 +0200
regenerate psyntax-pp.scm
* module/ice-9/psyntax-pp.scm: Regenerate.
commit ca128245811fab5abcf02756cd7a322a3a40d192
Merge: 25f4a88 014de9e
Author: Andy Wingo <address@hidden>
Date: Thu Sep 29 18:02:28 2011 +0200
Merge remote-tracking branch 'origin/stable-2.0'
This was a pretty big merge involving a fair amount of porting,
especially to peval and its tests. I did not update psyntax-pp.scm,
that comes in the next commit.
Conflicts:
module/ice-9/boot-9.scm
module/ice-9/psyntax-pp.scm
module/language/ecmascript/compile-tree-il.scm
module/language/tree-il.scm
module/language/tree-il/analyze.scm
module/language/tree-il/inline.scm
test-suite/tests/tree-il.test
-----------------------------------------------------------------------
Summary of changes:
doc/ref/api-compound.texi | 2 +-
doc/ref/api-macros.texi | 27 +-
doc/ref/api-modules.texi | 62 +-
doc/ref/guile-invoke.texi | 6 +
doc/ref/guile.texi | 9 +-
doc/ref/match.texi | 52 +-
libguile/numbers.c | 14 +-
libguile/snarf.h | 2 +-
libguile/strings.c | 8 +-
module/Makefile.am | 6 +-
module/ice-9/boot-9.scm | 132 +-
module/ice-9/command-line.scm | 10 +-
module/ice-9/compile-psyntax.scm | 12 +-
module/ice-9/control.scm | 22 +-
module/ice-9/futures.scm | 8 +-
module/ice-9/match.scm | 43 +-
module/ice-9/match.upstream.scm | 307 +-
module/ice-9/optargs.scm | 12 +-
module/ice-9/poll.scm | 7 +-
module/ice-9/psyntax-pp.scm |35397 +++++++++++----------
module/ice-9/psyntax.scm | 87 +-
module/ice-9/receive.scm | 14 +-
module/ice-9/threads.scm | 56 +-
module/ice-9/vlist.scm | 20 +-
module/language/assembly/compile-bytecode.scm | 18 +-
module/language/ecmascript/compile-tree-il.scm | 36 +-
module/language/glil/compile-assembly.scm | 2 +-
module/language/tree-il.scm | 156 +-
module/language/tree-il/analyze.scm | 70 +-
module/language/tree-il/canonicalize.scm | 76 +
module/language/tree-il/compile-glil.scm | 2 +
module/language/tree-il/inline.scm | 186 +-
module/language/tree-il/optimize.scm | 17 +-
module/language/tree-il/peval.scm | 922 +
module/language/tree-il/primitives.scm | 76 +-
module/oop/goops.scm | 67 +-
module/oop/goops/simple.scm | 8 +-
module/oop/goops/stklos.scm | 8 +-
module/srfi/srfi-1.scm | 8 +-
module/srfi/srfi-35.scm | 32 +-
module/srfi/srfi-39.scm | 12 +-
module/srfi/srfi-45.scm | 13 +-
module/srfi/srfi-67/compare.scm | 189 +-
module/sxml/match.scm | 37 +-
module/system/repl/error-handling.scm | 6 +-
module/system/repl/repl.scm | 16 +-
module/system/vm/inspect.scm | 21 +-
module/texinfo.scm | 20 +-
module/web/http.scm | 28 +-
module/web/server.scm | 8 +-
test-suite/Makefile.am | 1 +
test-suite/standalone/Makefile.am | 7 +
test-suite/standalone/test-scm-to-latin1-string.c | 78 +
test-suite/tests/gc.test | 14 +-
test-suite/tests/match.test | 106 +-
test-suite/tests/match.test.upstream | 168 +
test-suite/tests/statprof.test | 11 +-
test-suite/tests/threads.test | 11 +-
test-suite/tests/tree-il.test | 779 +-
test-suite/tests/web-http.test | 3 +
test-suite/vm/t-match.scm | 2 +-
61 files changed, 22451 insertions(+), 17078 deletions(-)
create mode 100644 module/language/tree-il/canonicalize.scm
create mode 100644 module/language/tree-il/peval.scm
create mode 100644 test-suite/standalone/test-scm-to-latin1-string.c
create mode 100644 test-suite/tests/match.test.upstream
diff --git a/doc/ref/api-compound.texi b/doc/ref/api-compound.texi
index da8813b..c52fed4 100644
--- a/doc/ref/api-compound.texi
+++ b/doc/ref/api-compound.texi
@@ -3207,7 +3207,7 @@ key is typically a constant-time operation.
The VHash programming interface of @code{(ice-9 vlist)} is mostly the same as
that of association lists found in SRFI-1, with procedure names prefixed by
address@hidden instead of @code{vlist-} (@pxref{SRFI-1 Association Lists}).
address@hidden instead of @code{alist-} (@pxref{SRFI-1 Association Lists}).
In addition, vhashes can be manipulated using VList operations:
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index f0eeb6e..92816ad 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009,
2010
address@hidden Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009,
2010, 2011
@c Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@@ -24,9 +24,15 @@ macro must appear as the first element, like this:
@end lisp
@cindex macro expansion
address@hidden domain-specific language
address@hidden embedded domain-specific language
address@hidden DSL
address@hidden EDSL
Macro expansion is a separate phase of evaluation, run before code is
interpreted or compiled. A macro is a program that runs on programs,
translating
-an embedded language into core Scheme.
+an embedded language into core address@hidden days such embedded
+languages are often referred to as @dfn{embedded domain-specific
+languages}, or EDSLs.}.
@menu
* Defining Macros:: Binding macros, globally and locally.
@@ -336,6 +342,23 @@ This discussion is mostly relevant in the context of
traditional Lisp macros
(@pxref{Defmacros}), which do not preserve referential transparency. Hygiene
adds to the expressive power of Scheme.
address@hidden Shorthands
+
+One often ends up writing simple one-clause @code{syntax-rules} macros.
+There is a convenient shorthand for this idiom, in the form of
address@hidden
+
address@hidden {Syntax} define-syntax-rule (keyword . pattern) [docstring]
template
+Define @var{keyword} as a new @code{syntax-rules} macro with one clause.
address@hidden deffn
+
+Cast into this form, our @code{when} example is significantly shorter:
+
address@hidden
+(define-syntax-rule (when c e ...)
+ (if c (begin e ...)))
address@hidden example
+
@subsubsection Further Information
For a formal definition of @code{syntax-rules} and its pattern language, see
diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi
index 3feced4..33c9819 100644
--- a/doc/ref/api-modules.texi
+++ b/doc/ref/api-modules.texi
@@ -919,28 +919,28 @@ can also work with modules from C, but it is more
cumbersome.
The following procedures are available.
address@hidden {C Procedure} SCM scm_current_module ()
address@hidden {C Function} SCM scm_current_module ()
Return the module that is the @emph{current module}.
@end deftypefn
address@hidden {C Procedure} SCM scm_set_current_module (SCM @var{module})
address@hidden {C Function} SCM scm_set_current_module (SCM @var{module})
Set the current module to @var{module} and return the previous current
module.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_call_with_current_module (SCM
@var{module}, SCM (address@hidden)(void *), void address@hidden)
address@hidden {C Function} SCM scm_c_call_with_current_module (SCM
@var{module}, SCM (address@hidden)(void *), void address@hidden)
Call @var{func} and make @var{module} the current module during the
call. The argument @var{data} is passed to @var{func}. The return
value of @code{scm_c_call_with_current_module} is the return value of
@var{func}.
@end deftypefn
address@hidden SCM scm_public_variable (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_variable (const char * @var{module_name}, const
char * @var{name})
address@hidden {C Function} SCM scm_public_variable (SCM @var{module_name}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_public_variable ({const char
address@hidden, {const char address@hidden)
Find a the variable bound to the symbol @var{name} in the public
interface of the module named @var{module_name}.
- @var{module_name} should be a list of symbols, when represented as a
address@hidden should be a list of symbols, when represented as a
Scheme object, or a space-separated string, in the @code{const char *}
case. See @code{scm_c_define_module} below, for more examples.
@@ -948,17 +948,17 @@ Signals an error if no module was found with the given
name. If
@var{name} is not bound in the module, just returns @code{#f}.
@end deftypefn
address@hidden SCM scm_private_variable (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_variable (const char * @var{module_name},
const char * @var{name})
address@hidden {C Function} SCM scm_private_variable (SCM @var{module_name},
SCM @var{name})
address@hidden {C Function} SCM scm_c_private_variable ({const char
address@hidden, {const char address@hidden)
Like @code{scm_public_variable}, but looks in the internals of the
module named @var{module_name} instead of the public interface.
Logically, these procedures should only be called on modules you write.
@end deftypefn
address@hidden SCM scm_public_lookup (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_lookup (const char * @var{module_name}, const
char * @var{name})
address@hidden SCM scm_private_lookup (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_lookup (const char * @var{module_name}, const
char * @var{name})
address@hidden {C Function} SCM scm_public_lookup (SCM @var{module_name}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_public_lookup ({const char
address@hidden, {const char address@hidden)
address@hidden {C Function} SCM scm_private_lookup (SCM @var{module_name}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_private_lookup ({const char
address@hidden, {const char address@hidden)
Like @code{scm_public_variable} or @code{scm_private_variable}, but if
the @var{name} is not bound in the module, signals an error. Returns a
variable, always.
@@ -977,10 +977,10 @@ SCM my_eval_string (SCM str)
@end example
@end deftypefn
address@hidden SCM scm_public_ref (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_public_ref (const char * @var{module_name}, const char
* @var{name})
address@hidden SCM scm_private_ref (SCM @var{module_name}, SCM @var{name})
address@hidden SCM scm_c_private_ref (const char * @var{module_name}, const
char * @var{name})
address@hidden {C Function} SCM scm_public_ref (SCM @var{module_name}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_public_ref ({const char address@hidden,
{const char address@hidden)
address@hidden {C Function} SCM scm_private_ref (SCM @var{module_name}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_private_ref ({const char address@hidden,
{const char address@hidden)
Like @code{scm_public_lookup} or @code{scm_private_lookup}, but
additionally dereferences the variable. If the variable object is
unbound, signals an error. Returns the value bound to @var{name} in
@@ -991,50 +991,50 @@ In addition, there are a number of other lookup-related
procedures. We
suggest that you use the @code{scm_public_} and @code{scm_private_}
family of procedures instead, if possible.
address@hidden {C Procedure} SCM scm_c_lookup (const char address@hidden)
address@hidden {C Function} SCM scm_c_lookup ({const char address@hidden)
Return the variable bound to the symbol indicated by @var{name} in the
current module. If there is no such binding or the symbol is not
bound to a variable, signal an error.
@end deftypefn
address@hidden {C Procedure} SCM scm_lookup (SCM @var{name})
address@hidden {C Function} SCM scm_lookup (SCM @var{name})
Like @code{scm_c_lookup}, but the symbol is specified directly.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_module_lookup (SCM @var{module}, const
char address@hidden)
address@hidden {C Procedure} SCM scm_module_lookup (SCM @var{module}, SCM
@var{name})
address@hidden {C Function} SCM scm_c_module_lookup (SCM @var{module}, {const
char address@hidden)
address@hidden {C Function} SCM scm_module_lookup (SCM @var{module}, SCM
@var{name})
Like @code{scm_c_lookup} and @code{scm_lookup}, but the specified
module is used instead of the current one.
@end deftypefn
address@hidden {C Procedure} SCM scm_module_variable (SCM @var{module}, SCM
@var{name})
address@hidden {C Function} SCM scm_module_variable (SCM @var{module}, SCM
@var{name})
Like @code{scm_module_lookup}, but if the binding does not exist, just
returns @code{#f} instead of raising an error.
@end deftypefn
To define a value, use @code{scm_define}:
address@hidden {C Procedure} SCM scm_c_define (const char address@hidden, SCM
@var{val})
address@hidden {C Function} SCM scm_c_define ({const char address@hidden, SCM
@var{val})
Bind the symbol indicated by @var{name} to a variable in the current
module and set that variable to @var{val}. When @var{name} is already
bound to a variable, use that. Else create a new variable.
@end deftypefn
address@hidden {C Procedure} SCM scm_define (SCM @var{name}, SCM @var{val})
address@hidden {C Function} SCM scm_define (SCM @var{name}, SCM @var{val})
Like @code{scm_c_define}, but the symbol is specified directly.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_module_define (SCM @var{module}, const
char address@hidden, SCM @var{val})
address@hidden {C Procedure} SCM scm_module_define (SCM @var{module}, SCM
@var{name}, SCM @var{val})
address@hidden {C Function} SCM scm_c_module_define (SCM @var{module}, {const
char address@hidden, SCM @var{val})
address@hidden {C Function} SCM scm_module_define (SCM @var{module}, SCM
@var{name}, SCM @var{val})
Like @code{scm_c_define} and @code{scm_define}, but the specified
module is used instead of the current one.
@end deftypefn
address@hidden {C Procedure} SCM scm_module_reverse_lookup (SCM @var{module},
SCM @var{variable})
address@hidden {C Function} SCM scm_module_reverse_lookup (SCM @var{module},
SCM @var{variable})
Find the symbol that is bound to @var{variable} in @var{module}. When no such
binding is found, return @var{#f}.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_define_module (const char
address@hidden, void (address@hidden)(void *), void address@hidden)
address@hidden {C Function} SCM scm_c_define_module ({const char
address@hidden, void (address@hidden)(void *), void address@hidden)
Define a new module named @var{name} and make it current while
@var{init} is called, passing it @var{data}. Return the module.
@@ -1046,25 +1046,25 @@ When there already exists a module named @var{name}, it
is used
unchanged, otherwise, an empty module is created.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_resolve_module (const char
address@hidden)
address@hidden {C Function} SCM scm_c_resolve_module ({const char
address@hidden)
Find the module name @var{name} and return it. When it has not
already been defined, try to auto-load it. When it can't be found
that way either, create an empty module. The name is interpreted as
for @code{scm_c_define_module}.
@end deftypefn
address@hidden {C Procedure} SCM scm_resolve_module (SCM @var{name})
address@hidden {C Function} SCM scm_resolve_module (SCM @var{name})
Like @code{scm_c_resolve_module}, but the name is given as a real list
of symbols.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_use_module (const char address@hidden)
address@hidden {C Function} SCM scm_c_use_module ({const char address@hidden)
Add the module named @var{name} to the uses list of the current
module, as with @code{(use-modules @var{name})}. The name is
interpreted as for @code{scm_c_define_module}.
@end deftypefn
address@hidden {C Procedure} SCM scm_c_export (const char address@hidden, ...)
address@hidden {C Function} SCM scm_c_export ({const char address@hidden, ...)
Add the bindings designated by @var{name}, ... to the public interface
of the current module. The list of names is terminated by
@code{NULL}.
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index 9379a8b..ccb5301 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -156,6 +156,12 @@ interactive session. When executing a script with
@option{-s} or
Do not use the debugging VM engine, even when entering an interactive
session.
+Note that, despite the name, Guile running with @option{--no-debug}
address@hidden support the usual debugging facilities, such as printing a
+detailed backtrace upon error. The only difference with
address@hidden is lack of support for VM hooks and the facilities that
+build upon it (see above).
+
@item -q
@cindex init file, not loading
@cindex @file{.guile} file, not loading
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi
index f43cc5a..9581f0c 100644
--- a/doc/ref/guile.texi
+++ b/doc/ref/guile.texi
@@ -17,11 +17,10 @@ Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004,
2005, 2009,
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
-any later version published by the Free Software Foundation; with
-no Invariant Sections, with the Front-Cover Texts being ``A GNU
-Manual,'' and with the Back-Cover Text ``You are free to copy and
-modify this GNU Manual.''. A copy of the license is included in the
-section entitled ``GNU Free Documentation License''.
+any later version published by the Free Software Foundation; with no
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License.''
@end copying
diff --git a/doc/ref/match.texi b/doc/ref/match.texi
index 66bb0bf..d1618ce 100644
--- a/doc/ref/match.texi
+++ b/doc/ref/match.texi
@@ -1,6 +1,6 @@
@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 2010 Free Software Foundation, Inc.
address@hidden Copyright (C) 2010, 2011 Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.
@c
@@ -26,7 +26,7 @@ matcher found in many Scheme implementations.
@cindex pattern variable
A pattern matcher can match an object against several patterns and
extract the elements that make it up. Patterns can represent any Scheme
-object: lists, strings, symbols, etc. They can optionally contain
+object: lists, strings, symbols, records, etc. They can optionally contain
@dfn{pattern variables}. When a matching pattern is found, an
expression associated with the pattern is evaluated, optionally with all
pattern variables bound to the corresponding elements of the object:
@@ -43,8 +43,8 @@ In this example, list @var{l} matches the pattern
@code{('hello (who))},
because it is a two-element list whose first element is the symbol
@code{hello} and whose second element is a one-element list. Here
@var{who} is a pattern variable. @code{match}, the pattern matcher,
-locally binds @var{who} to the value contained in this one-element list,
-i.e., the symbol @code{world}.
+locally binds @var{who} to the value contained in this one-element
+list---i.e., the symbol @code{world}.
The same object can be matched against a simpler pattern:
@@ -112,8 +112,8 @@ pat ::= identifier anything, and binds
identifier
| #(pat_1 ... pat_n pat_n+1 ooo) vector of n or more, each element
of remainder must match pat_n+1
| #&pat box
- | ($ struct-name pat_1 ... pat_n) a structure
- | (= field pat) a field of a structure
+ | ($ record-name pat_1 ... pat_n) a record
+ | (= field pat) a ``field'' of an object
| (and pat_1 ... pat_n) if all of pat_1 thru pat_n match
| (or pat_1 ... pat_n) if any of pat_1 thru pat_n match
| (not pat_1 ... pat_n) if all pat_1 thru pat_n don't match
@@ -122,11 +122,13 @@ pat ::= identifier anything, and
binds identifier
| (set! identifier) anything, and binds setter
| (get! identifier) anything, and binds getter
| `qp a quasi-pattern
+ | (identifier *** pat) matches pat in a tree and binds
+ identifier to the path leading
+ to the object that matches pat
ooo ::= ... zero or more
| ___ zero or more
- | ..k k or more
- | __k k or more
+ | ..1 1 or more
quasi-patterns: matches:
@@ -154,6 +156,40 @@ The names @code{quote}, @code{quasiquote}, @code{unquote},
@code{or}, @code{not}, @code{set!}, @code{get!}, @code{...}, and
@code{___} cannot be used as pattern variables.
+Here is a more complex example:
+
address@hidden
+(use-modules (srfi srfi-9))
+
+(let ()
+ (define-record-type person
+ (make-person name friends)
+ person?
+ (name person-name)
+ (friends person-friends))
+
+ (letrec ((alice (make-person "Alice" (delay (list bob))))
+ (bob (make-person "Bob" (delay (list alice)))))
+ (match alice
+ (($ person name (= force (($ person "Bob"))))
+ (list 'friend-of-bob name))
+ (_ #f))))
+
address@hidden (friend-of-bob "Alice")
address@hidden example
+
address@hidden
+Here the @code{$} pattern is used to match a SRFI-9 record of type
address@hidden containing two or more slots. The value of the first slot
+is bound to @var{name}. The @code{=} pattern is used to apply
address@hidden on the second slot, and then checking that the result
+matches the given pattern. In other words, the complete pattern matches
+any @var{person} whose second slot is a promise that evaluates to a
+one-element list containing a @var{person} whose first slot is
address@hidden"Bob"}.
+
+Please refer to the @code{ice-9/match.upstream.scm} file in your Guile
+installation for more details.
Guile also comes with a pattern matcher specifically tailored to SXML
trees, @xref{sxml-match}.
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 235bbbb..a278ed5 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -5436,6 +5436,9 @@ char_decimal_value (scm_t_uint32 c)
return d;
}
+/* Parse the substring of MEM starting at *P_IDX for an unsigned integer
+ in base RADIX. Upon success, return the unsigned integer and update
+ *P_IDX and *P_EXACTNESS accordingly. Return #f on failure. */
static SCM
mem2uinteger (SCM mem, unsigned int *p_idx,
unsigned int radix, enum t_exactness *p_exactness)
@@ -5707,7 +5710,16 @@ mem2ureal (SCM mem, unsigned int *p_idx,
/* Cobble up the fractional part. We might want to set the
NaN's mantissa from it. */
idx += 4;
- mem2uinteger (mem, &idx, 10, &implicit_x);
+ if (!scm_is_eq (mem2uinteger (mem, &idx, 10, &implicit_x), SCM_INUM0))
+ {
+#if SCM_ENABLE_DEPRECATED == 1
+ scm_c_issue_deprecation_warning
+ ("Non-zero suffixes to `+nan.' are deprecated. Use `+nan.0'.");
+#else
+ return SCM_BOOL_F;
+#endif
+ }
+
*p_idx = idx;
return scm_nan ();
}
diff --git a/libguile/snarf.h b/libguile/snarf.h
index b0800c4..1c072ba 100644
--- a/libguile/snarf.h
+++ b/libguile/snarf.h
@@ -372,7 +372,7 @@ SCM_SNARF_INIT(scm_set_smob_apply((tag), (c_name), (req),
(opt), (rest));)
SCM_PACK (0), \
foreign, \
SCM_BOOL_F, /* the name */ \
- }; \
+ }
#define SCM_STATIC_PROGRAM(c_name, objcode, objtable, freevars) \
static SCM_ALIGNED (8) SCM_UNUSED SCM \
diff --git a/libguile/strings.c b/libguile/strings.c
index dd859c4..2de0035 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -1779,14 +1779,16 @@ scm_to_latin1_stringn (SCM str, size_t *lenp)
if (scm_i_is_narrow_string (str))
{
+ size_t len = scm_i_string_length (str);
+
if (lenp)
- *lenp = scm_i_string_length (str);
+ *lenp = len;
- result = scm_strdup (scm_i_string_data (str));
+ result = scm_strndup (scm_i_string_data (str), len);
}
else
result = scm_to_stringn (str, lenp, NULL,
- SCM_FAILED_CONVERSION_ERROR);
+ SCM_FAILED_CONVERSION_ERROR);
return result;
}
diff --git a/module/Makefile.am b/module/Makefile.am
index 0787f20..6b265b6 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -91,10 +91,12 @@ SCHEME_LANG_SOURCES =
\
TREE_IL_LANG_SOURCES = \
language/tree-il/primitives.scm \
- language/tree-il/optimize.scm \
- language/tree-il/inline.scm \
+ language/tree-il/peval.scm \
language/tree-il/fix-letrec.scm \
+ language/tree-il/optimize.scm \
+ language/tree-il/canonicalize.scm \
language/tree-il/analyze.scm \
+ language/tree-il/inline.scm \
language/tree-il/compile-glil.scm \
language/tree-il/spec.scm
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index b233a00..639a63c 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -410,6 +410,20 @@ If there is no handler at all, Guile prints an error and
then exits."
;; The binding for `macroexpand' has now been overridden, making psyntax the
;; expander now.
+(define-syntax define-syntax-rule
+ (lambda (x)
+ (syntax-case x ()
+ ((_ (name . pattern) template)
+ #'(define-syntax name
+ (syntax-rules ()
+ ((_ . pattern) template))))
+ ((_ (name . pattern) docstring template)
+ (string? (syntax->datum #'docstring))
+ #'(define-syntax name
+ (syntax-rules ()
+ docstring
+ ((_ . pattern) template)))))))
+
(define-syntax and
(syntax-rules ()
((_) #t)
@@ -504,9 +518,8 @@ If there is no handler at all, Guile prints an error and
then exits."
((do "step" x y)
y)))
-(define-syntax delay
- (syntax-rules ()
- ((_ exp) (make-promise (lambda () exp)))))
+(define-syntax-rule (delay exp)
+ (make-promise (lambda () exp)))
(include-from-path "ice-9/quasisyntax")
@@ -517,11 +530,9 @@ If there is no handler at all, Guile prints an error and
then exits."
(with-syntax ((s (datum->syntax x (syntax-source x))))
#''s)))))
-(define-syntax define-once
- (syntax-rules ()
- ((_ sym val)
- (define sym
- (if (module-locally-bound? (current-module) 'sym) sym val)))))
+(define-syntax-rule (define-once sym val)
+ (define sym
+ (if (module-locally-bound? (current-module) 'sym) sym val)))
;;; The real versions of `map' and `for-each', with cycle detection, and
;;; that use reverse! instead of recursion in the case of `map'.
@@ -853,12 +864,10 @@ VALUE."
(define (and=> value procedure) (and value (procedure value)))
(define call/cc call-with-current-continuation)
-(define-syntax false-if-exception
- (syntax-rules ()
- ((_ expr)
- (catch #t
- (lambda () expr)
- (lambda (k . args) #f)))))
+(define-syntax-rule (false-if-exception expr)
+ (catch #t
+ (lambda () expr)
+ (lambda (k . args) #f)))
@@ -877,12 +886,10 @@ VALUE."
;; properties within the object itself.
(define (make-object-property)
- (define-syntax with-mutex
- (syntax-rules ()
- ((_ lock exp)
- (dynamic-wind (lambda () (lock-mutex lock))
- (lambda () exp)
- (lambda () (unlock-mutex lock))))))
+ (define-syntax-rule (with-mutex lock exp)
+ (dynamic-wind (lambda () (lock-mutex lock))
+ (lambda () exp)
+ (lambda () (unlock-mutex lock))))
(let ((prop (make-weak-key-hash-table))
(lock (make-mutex)))
(make-procedure-with-setter
@@ -1380,10 +1387,9 @@ VALUE."
(thunk)))
(lambda (k . args)
(%start-stack tag (lambda () (apply k args)))))))
-(define-syntax start-stack
- (syntax-rules ()
- ((_ tag exp)
- (%start-stack tag (lambda () exp)))))
+
+(define-syntax-rule (start-stack tag exp)
+ (%start-stack tag (lambda () exp)))
@@ -2819,11 +2825,9 @@ module '(ice-9 q) '(make-q q-length))}."
flags)
(interface options)
(interface)))
- (define-syntax option-set!
- (syntax-rules ()
- ((_ opt val)
- (eval-when (eval load compile expand)
- (options (append (options) (list 'opt val)))))))))))
+ (define-syntax-rule (option-set! opt val)
+ (eval-when (eval load compile expand)
+ (options (append (options) (list 'opt val)))))))))
(define-option-interface
(debug-options-interface
@@ -3150,10 +3154,8 @@ module '(ice-9 q) '(make-q q-length))}."
(include-from-path "ice-9/r6rs-libraries")
-(define-syntax define-private
- (syntax-rules ()
- ((_ foo bar)
- (define foo bar))))
+(define-syntax-rule (define-private foo bar)
+ (define foo bar))
(define-syntax define-public
(syntax-rules ()
@@ -3164,18 +3166,14 @@ module '(ice-9 q) '(make-q q-length))}."
(define name val)
(export name)))))
-(define-syntax defmacro-public
- (syntax-rules ()
- ((_ name args . body)
- (begin
- (defmacro name args . body)
- (export-syntax name)))))
+(define-syntax-rule (defmacro-public name args body ...)
+ (begin
+ (defmacro name args body ...)
+ (export-syntax name)))
;; And now for the most important macro.
-(define-syntax λ
- (syntax-rules ()
- ((_ formals body ...)
- (lambda formals body ...))))
+(define-syntax-rule (λ formals body ...)
+ (lambda formals body ...))
;; Export a local variable
@@ -3234,39 +3232,29 @@ module '(ice-9 q) '(make-q q-length))}."
(module-add! public-i external-name var)))))
names)))
-(define-syntax export
- (syntax-rules ()
- ((_ name ...)
- (eval-when (eval load compile expand)
- (call-with-deferred-observers
- (lambda ()
- (module-export! (current-module) '(name ...))))))))
+(define-syntax-rule (export name ...)
+ (eval-when (eval load compile expand)
+ (call-with-deferred-observers
+ (lambda ()
+ (module-export! (current-module) '(name ...))))))
-(define-syntax re-export
- (syntax-rules ()
- ((_ name ...)
- (eval-when (eval load compile expand)
- (call-with-deferred-observers
- (lambda ()
- (module-re-export! (current-module) '(name ...))))))))
+(define-syntax-rule (re-export name ...)
+ (eval-when (eval load compile expand)
+ (call-with-deferred-observers
+ (lambda ()
+ (module-re-export! (current-module) '(name ...))))))
-(define-syntax export!
- (syntax-rules ()
- ((_ name ...)
- (eval-when (eval load compile expand)
- (call-with-deferred-observers
- (lambda ()
- (module-replace! (current-module) '(name ...))))))))
+(define-syntax-rule (export! name ...)
+ (eval-when (eval load compile expand)
+ (call-with-deferred-observers
+ (lambda ()
+ (module-replace! (current-module) '(name ...))))))
-(define-syntax export-syntax
- (syntax-rules ()
- ((_ name ...)
- (export name ...))))
+(define-syntax-rule (export-syntax name ...)
+ (export name ...))
-(define-syntax re-export-syntax
- (syntax-rules ()
- ((_ name ...)
- (re-export name ...))))
+(define-syntax-rule (re-export-syntax name ...)
+ (re-export name ...))
diff --git a/module/ice-9/command-line.scm b/module/ice-9/command-line.scm
index e94336a..8aed74e 100644
--- a/module/ice-9/command-line.scm
+++ b/module/ice-9/command-line.scm
@@ -122,8 +122,8 @@ If FILE begins with `-' the -s switch is mandatory.
-e FUNCTION after reading script, apply FUNCTION to
command line arguments
-ds do -s script at this point
- --debug start with debugging evaluator and backtraces
- --no-debug start with normal evaluator
+ --debug start with the \"debugging\" VM engine
+ --no-debug start with the normal VM engine, which also supports debugging
Default is to enable debugging for interactive
use, but not for `-s' and `-c'.
--auto-compile compile source files automatically
@@ -331,15 +331,15 @@ If FILE begins with `-' the -s switch is mandatory.
(parse
args
(cons
- (let ((where (substring arg 8)))
+ (let ((where (substring arg 9)))
(cond
((string->number where) ; --listen=PORT
=> (lambda (port)
(if (and (integer? port) (exact? port) (>= port 0))
- (error "invalid port for --listen")
`(@@ (system repl server)
(spawn-server
- (make-tcp-server-socket #:port ,port))))))
+ (make-tcp-server-socket #:port ,port)))
+ (error "invalid port for --listen"))))
((string-prefix? "/" where) ; --listen=/PATH/TO/SOCKET
`(@@ (system repl server)
(spawn-server
diff --git a/module/ice-9/compile-psyntax.scm b/module/ice-9/compile-psyntax.scm
index 86b94ac..48bab92 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 Free Software Foundation, Inc.
+;;; Copyright (C) 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
@@ -18,6 +18,7 @@
(use-modules (language tree-il)
(language tree-il optimize)
+ (language tree-il canonicalize)
(ice-9 pretty-print))
(let ((source (list-ref (command-line) 1))
@@ -34,10 +35,11 @@
(close-port in))
(begin
(pretty-print (tree-il->scheme
- (optimize!
- (macroexpand x 'c '(compile load eval))
- (current-module)
- '()))
+ (canonicalize!
+ (optimize!
+ (macroexpand x 'c '(compile load eval))
+ (current-module)
+ '())))
out)
(newline out)
(loop (read in))))))
diff --git a/module/ice-9/control.scm b/module/ice-9/control.scm
index 908e0e9..5f25738 100644
--- a/module/ice-9/control.scm
+++ b/module/ice-9/control.scm
@@ -60,20 +60,16 @@
;; http://okmij.org/ftp/Scheme/delim-control-n.scm, which are in the
;; public domain, as noted at the top of http://okmij.org/ftp/.
;;
-(define-syntax reset
- (syntax-rules ()
- ((_ . body)
- (call-with-prompt (default-prompt-tag)
- (lambda () . body)
- (lambda (cont f) (f cont))))))
+(define-syntax-rule (reset . body)
+ (call-with-prompt (default-prompt-tag)
+ (lambda () . body)
+ (lambda (cont f) (f cont))))
-(define-syntax shift
- (syntax-rules ()
- ((_ var . body)
- (abort-to-prompt (default-prompt-tag)
- (lambda (cont)
- ((lambda (var) (reset . body))
- (lambda vals (reset (apply cont vals)))))))))
+(define-syntax-rule (shift var . body)
+ (abort-to-prompt (default-prompt-tag)
+ (lambda (cont)
+ ((lambda (var) (reset . body))
+ (lambda vals (reset (apply cont vals)))))))
(define (reset* thunk)
(reset (thunk)))
diff --git a/module/ice-9/futures.scm b/module/ice-9/futures.scm
index 012ebbf..3c4cd7d 100644
--- a/module/ice-9/futures.scm
+++ b/module/ice-9/futures.scm
@@ -173,8 +173,6 @@ touched."
;;; Syntax.
;;;
-(define-syntax future
- (syntax-rules ()
- "Return a new future for BODY."
- ((_ body)
- (make-future (lambda () body)))))
+(define-syntax-rule (future body)
+ "Return a new future for BODY."
+ (make-future (lambda () body)))
diff --git a/module/ice-9/match.scm b/module/ice-9/match.scm
index 7cedff0..0384f69 100644
--- a/module/ice-9/match.scm
+++ b/module/ice-9/match.scm
@@ -1,6 +1,6 @@
;;; -*- mode: scheme; coding: utf-8; -*-
;;;
-;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;; Copyright (C) 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
@@ -28,11 +28,50 @@
;; Error procedure for run-time "no matching pattern" errors.
(throw 'match-error "match" msg))
+;; Support for record matching.
+
+(define-syntax slot-ref
+ (syntax-rules ()
+ ((_ rtd rec n)
+ (struct-ref rec n))))
+
+(define-syntax slot-set!
+ (syntax-rules ()
+ ((_ rtd rec n value)
+ (struct-set! rec n value))))
+
+(define-syntax is-a?
+ (syntax-rules ()
+ ((_ rec rtd)
+ (and (struct? rec)
+ (eq? (struct-vtable rec) rtd)))))
+
;; Compared to Andrew K. Wright's `match', this one lacks `match-define',
;; `match:error-control', `match:set-error-control', `match:error',
;; `match:set-error', and all structure-related procedures. Also,
;; `match' doesn't support clauses of the form `(pat => exp)'.
;; Unmodified public domain code by Alex Shinn retrieved from
-;; <http://synthcode.com/scheme/match.scm>.
+;; the Chibi-Scheme repository, commit 833:6daa2971f3fe.
+;;
+;; Note: Make sure to update `match.test.upstream' when updating this
+;; file.
(include-from-path "ice-9/match.upstream.scm")
+
+(define-syntax match
+ (syntax-rules ()
+ ((match)
+ (match-syntax-error "missing match expression"))
+ ((match atom)
+ (match-syntax-error "no match clauses"))
+ ((match (app ...) (pat . body) ...)
+ (let ((v (app ...)))
+ (match-next v ((app ...) (set! (app ...))) (pat . body) ...)))
+ ((match #(vec ...) (pat . body) ...)
+ (let ((v #(vec ...)))
+ (match-next v (v (set! v)) (pat . body) ...)))
+ ((match atom (pat . body) ...)
+ (let ((v atom))
+ (match-next v (atom (set! atom)) (pat . body) ...)))
+ ))
+
diff --git a/module/ice-9/match.upstream.scm b/module/ice-9/match.upstream.scm
index df6b3d9..6fc01a6 100644
--- a/module/ice-9/match.upstream.scm
+++ b/module/ice-9/match.upstream.scm
@@ -1,20 +1,203 @@
;;;; match.scm -- portable hygienic pattern matcher
+;;;; -*- coding: utf-8 -*-
;;
;; This code is written by Alex Shinn and placed in the
;; Public Domain. All warranties are disclaimed.
-;; This is a full superset of the popular MATCH package by Andrew
-;; Wright, written in fully portable SYNTAX-RULES (R5RS only, breaks
-;; in R6RS SYNTAX-RULES), and thus preserving hygiene.
+;;> @example-import[(srfi 9)]
-;; This is a simple generative pattern matcher - each pattern is
-;; expanded into the required tests, calling a failure continuation if
-;; the tests fail. This makes the logic easy to follow and extend,
-;; but produces sub-optimal code in cases where you have many similar
-;; clauses due to repeating the same tests. Nonetheless a smart
-;; compiler should be able to remove the redundant tests. For
-;; MATCH-LET and DESTRUCTURING-BIND type uses there is no performance
-;; hit.
+;;> This is a full superset of the popular @hyperlink[
+;;> "http://www.cs.indiana.edu/scheme-repository/code.match.html"]{match}
+;;> package by Andrew Wright, written in fully portable @scheme{syntax-rules}
+;;> and thus preserving hygiene.
+
+;;> The most notable extensions are the ability to use @emph{non-linear}
+;;> patterns - patterns in which the same identifier occurs multiple
+;;> times, tail patterns after ellipsis, and the experimental tree patterns.
+
+;;> @subsubsection{Patterns}
+
+;;> Patterns are written to look like the printed representation of
+;;> the objects they match. The basic usage is
+
+;;> @scheme{(match expr (pat body ...) ...)}
+
+;;> where the result of @var{expr} is matched against each pattern in
+;;> turn, and the corresponding body is evaluated for the first to
+;;> succeed. Thus, a list of three elements matches a list of three
+;;> elements.
+
+;;> @example{(let ((ls (list 1 2 3))) (match ls ((1 2 3) #t)))}
+
+;;> If no patterns match an error is signalled.
+
+;;> Identifiers will match anything, and make the corresponding
+;;> binding available in the body.
+
+;;> @example{(match (list 1 2 3) ((a b c) b))}
+
+;;> If the same identifier occurs multiple times, the first instance
+;;> will match anything, but subsequent instances must match a value
+;;> which is @scheme{equal?} to the first.
+
+;;> @example{(match (list 1 2 1) ((a a b) 1) ((a b a) 2))}
+
+;;> The special identifier @scheme{_} matches anything, no matter how
+;;> many times it is used, and does not bind the result in the body.
+
+;;> @example{(match (list 1 2 1) ((_ _ b) 1) ((a b a) 2))}
+
+;;> To match a literal identifier (or list or any other literal), use
+;;> @scheme{quote}.
+
+;;> @example{(match 'a ('b 1) ('a 2))}
+
+;;> Analogous to its normal usage in scheme, @scheme{quasiquote} can
+;;> be used to quote a mostly literally matching object with selected
+;;> parts unquoted.
+
+;;> @example|{(match (list 1 2 3) (`(1 ,b ,c) (list b c)))}|
+
+;;> Often you want to match any number of a repeated pattern. Inside
+;;> a list pattern you can append @scheme{...} after an element to
+;;> match zero or more of that pattern (like a regexp Kleene star).
+
+;;> @example{(match (list 1 2) ((1 2 3 ...) #t))}
+;;> @example{(match (list 1 2 3) ((1 2 3 ...) #t))}
+;;> @example{(match (list 1 2 3 3 3) ((1 2 3 ...) #t))}
+
+;;> Pattern variables matched inside the repeated pattern are bound to
+;;> a list of each matching instance in the body.
+
+;;> @example{(match (list 1 2) ((a b c ...) c))}
+;;> @example{(match (list 1 2 3) ((a b c ...) c))}
+;;> @example{(match (list 1 2 3 4 5) ((a b c ...) c))}
+
+;;> More than one @scheme{...} may not be used in the same list, since
+;;> this would require exponential backtracking in the general case.
+;;> However, @scheme{...} need not be the final element in the list,
+;;> and may be succeeded by a fixed number of patterns.
+
+;;> @example{(match (list 1 2 3 4) ((a b c ... d e) c))}
+;;> @example{(match (list 1 2 3 4 5) ((a b c ... d e) c))}
+;;> @example{(match (list 1 2 3 4 5 6 7) ((a b c ... d e) c))}
+
+;;> @scheme{___} is provided as an alias for @scheme{...} when it is
+;;> inconvenient to use the ellipsis (as in a syntax-rules template).
+
+;;> The @scheme{..1} syntax is exactly like the @scheme{...} except
+;;> that it matches one or more repetitions (like a regexp "+").
+
+;;> @example{(match (list 1 2) ((a b c ..1) c))}
+;;> @example{(match (list 1 2 3) ((a b c ..1) c))}
+
+;;> The boolean operators @scheme{and}, @scheme{or} and @scheme{not}
+;;> can be used to group and negate patterns analogously to their
+;;> Scheme counterparts.
+
+;;> The @scheme{and} operator ensures that all subpatterns match.
+;;> This operator is often used with the idiom @scheme{(and x pat)} to
+;;> bind @var{x} to the entire value that matches @var{pat}
+;;> (c.f. "as-patterns" in ML or Haskell). Another common use is in
+;;> conjunction with @scheme{not} patterns to match a general case
+;;> with certain exceptions.
+
+;;> @example{(match 1 ((and) #t))}
+;;> @example{(match 1 ((and x) x))}
+;;> @example{(match 1 ((and x 1) x))}
+
+;;> The @scheme{or} operator ensures that at least one subpattern
+;;> matches. If the same identifier occurs in different subpatterns,
+;;> it is matched independently. All identifiers from all subpatterns
+;;> are bound if the @scheme{or} operator matches, but the binding is
+;;> only defined for identifiers from the subpattern which matched.
+
+;;> @example{(match 1 ((or) #t) (else #f))}
+;;> @example{(match 1 ((or x) x))}
+;;> @example{(match 1 ((or x 2) x))}
+
+;;> The @scheme{not} operator succeeds if the given pattern doesn't
+;;> match. None of the identifiers used are available in the body.
+
+;;> @example{(match 1 ((not 2) #t))}
+
+;;> The more general operator @scheme{?} can be used to provide a
+;;> predicate. The usage is @scheme{(? predicate pat ...)} where
+;;> @var{predicate} is a Scheme expression evaluating to a predicate
+;;> called on the value to match, and any optional patterns after the
+;;> predicate are then matched as in an @scheme{and} pattern.
+
+;;> @example{(match 1 ((? odd? x) x))}
+
+;;> The field operator @scheme{=} is used to extract an arbitrary
+;;> field and match against it. It is useful for more complex or
+;;> conditional destructuring that can't be more directly expressed in
+;;> the pattern syntax. The usage is @scheme{(= field pat)}, where
+;;> @var{field} can be any expression, and should result in a
+;;> procedure of one argument, which is applied to the value to match
+;;> to generate a new value to match against @var{pat}.
+
+;;> Thus the pattern @scheme{(and (= car x) (= cdr y))} is equivalent
+;;> to @scheme{(x . y)}, except it will result in an immediate error
+;;> if the value isn't a pair.
+
+;;> @example{(match '(1 . 2) ((= car x) x))}
+;;> @example{(match 4 ((= sqrt x) x))}
+
+;;> The record operator @scheme{$} is used as a concise way to match
+;;> records defined by SRFI-9 (or SRFI-99). The usage is
+;;> @scheme{($ rtd field ...)}, where @var{rtd} should be the record
+;;> type descriptor specified as the first argument to
+;;> @scheme{define-record-type}, and each @var{field} is a subpattern
+;;> matched against the fields of the record in order. Not all fields
+;;> must be present.
+
+;;> @example{
+;;> (let ()
+;;> (define-record-type employee
+;;> (make-employee name title)
+;;> employee?
+;;> (name get-name)
+;;> (title get-title))
+;;> (match (make-employee "Bob" "Doctor")
+;;> (($ employee n t) (list t n))))
+;;> }
+
+;;> The @scheme{set!} and @scheme{get!} operators are used to bind an
+;;> identifier to the setter and getter of a field, respectively. The
+;;> setter is a procedure of one argument, which mutates the field to
+;;> that argument. The getter is a procedure of no arguments which
+;;> returns the current value of the field.
+
+;;> @example{(let ((x (cons 1 2))) (match x ((1 . (set! s)) (s 3) x)))}
+;;> @example{(match '(1 . 2) ((1 . (get! g)) (g)))}
+
+;;> The new operator @scheme{***} can be used to search a tree for
+;;> subpatterns. A pattern of the form @scheme{(x *** y)} represents
+;;> the subpattern @var{y} located somewhere in a tree where the path
+;;> from the current object to @var{y} can be seen as a list of the
+;;> form @scheme{(x ...)}. @var{y} can immediately match the current
+;;> object in which case the path is the empty list. In a sense it's
+;;> a 2-dimensional version of the @scheme{...} pattern.
+
+;;> As a common case the pattern @scheme{(_ *** y)} can be used to
+;;> search for @var{y} anywhere in a tree, regardless of the path
+;;> used.
+
+;;> @example{(match '(a (a (a b))) ((x *** 'b) x))}
+;;> @example{(match '(a (b) (c (d e) (f g))) ((x *** 'g) x))}
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Notes
+
+;; The implementation is a simple generative pattern matcher - each
+;; pattern is expanded into the required tests, calling a failure
+;; continuation if the tests fail. This makes the logic easy to
+;; follow and extend, but produces sub-optimal code in cases where you
+;; have many similar clauses due to repeating the same tests.
+;; Nonetheless a smart compiler should be able to remove the redundant
+;; tests. For MATCH-LET and DESTRUCTURING-BIND type uses there is no
+;; performance hit.
;; The original version was written on 2006/11/29 and described in the
;; following Usenet post:
@@ -28,6 +211,9 @@
;; performance can be found at
;; http://synthcode.com/scheme/match-cond-expand.scm
;;
+;; 2011/01/27 - fixing bug when matching tail patterns against improper lists
+;; 2010/09/26 - adding `..1' patterns (thanks to Ludovic Courtès)
+;; 2010/09/07 - fixing identifier extraction in some `...' and `***' patterns
;; 2009/11/25 - adding `***' tree search patterns
;; 2008/03/20 - fixing bug where (a ...) matched non-lists
;; 2008/03/15 - removing redundant check in vector patterns
@@ -49,6 +235,21 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;> @subsubsection{Syntax}
+
+;;> @address@hidden(match expr (pattern . body) ...)@br{}
+;;> (match expr (pattern (=> failure) . body) ...)}}
+
+;;> The result of @var{expr} is matched against each @var{pattern} in
+;;> turn, according to the pattern rules described in the previous
+;;> section, until the the first @var{pattern} matches. When a match is
+;;> found, the corresponding @var{body}s are evaluated in order,
+;;> and the result of the last expression is returned as the result
+;;> of the entire @scheme{match}. If a @var{failure} is provided,
+;;> then it is bound to a procedure of no arguments which continues,
+;;> processing at the next @var{pattern}. If no @var{pattern} matches,
+;;> an error is signalled.
+
;; The basic interface. MATCH just performs some basic syntax
;; validation, binds the match expression to a temporary variable `v',
;; and passes it on to MATCH-NEXT. It's a constant throughout the
@@ -165,6 +366,10 @@
(if (pair? v)
(match-one v (p ___) g+s sk fk i)
fk))
+ ((match-two v ($ rec p ...) g+s sk fk i)
+ (if (is-a? v rec)
+ (match-record-refs v rec 0 (p ...) g+s sk fk i)
+ fk))
((match-two v (p . q) g+s sk fk i)
(if (pair? v)
(let ((w (car v)) (x (cdr v)))
@@ -240,6 +445,11 @@
(syntax-rules ()
((_ expr ids ...) expr)))
+(define-syntax match-tuck-ids
+ (syntax-rules ()
+ ((_ (letish args (expr ...)) ids ...)
+ (letish args (expr ... ids ...)))))
+
(define-syntax match-drop-first-arg
(syntax-rules ()
((_ arg expr) expr)))
@@ -309,14 +519,14 @@
r
(let* ((tail-len (length 'r))
(ls v)
- (len (length ls)))
- (if (< len tail-len)
+ (len (and (list? ls) (length ls))))
+ (if (or (not len) (< len tail-len))
fk
(let loop ((ls ls) (n len) (id-ls '()) ...)
(cond
((= n tail-len)
(let ((id (reverse id-ls)) ...)
- (match-one ls r (#f #f) (sk ... i) fk i)))
+ (match-one ls r (#f #f) (sk ...) fk i)))
((pair? ls)
(let ((w (car ls)))
(match-one w p ((car ls) (set-car! ls))
@@ -349,21 +559,7 @@
((_ x sk)
(match-syntax-error "dotted tail not allowed after ellipse" x))))
-;; Matching a tree search pattern is only slightly more complicated.
-;; Here we allow patterns of the form
-;;
-;; (x *** y)
-;;
-;; to represent the pattern y located somewhere in a tree where the
-;; path from the current object to y can be seen as a list of the form
-;; (X ...). Y can immediately match the current object in which case
-;; the path is the empty list. In a sense it's a 2-dimensional
-;; version of the ... pattern.
-;;
-;; As a common case the pattern (_ *** y) can be used to search for Y
-;; anywhere in a tree, regardless of the path used.
-;;
-;; To implement the search, we use two recursive procedures. TRY
+;; To implement the tree search, we use two recursive procedures. TRY
;; attempts to match Y once, and on success it calls the normal SK on
;; the accumulated list ids as in MATCH-GEN-ELLIPSES. On failure, we
;; call NEXT which first checks if the current value is a list
@@ -380,7 +576,7 @@
((match-gen-search v p q g+s sk fk i ((id id-ls) ...))
(letrec ((try (lambda (w fail id-ls ...)
(match-one w q g+s
- (match-drop-ids
+ (match-tuck-ids
(let ((id (reverse id-ls)) ...)
sk))
(next w fail id-ls ...) i)))
@@ -475,6 +671,15 @@
(match-drop-ids (loop (+ j 1) (cons id id-ls) ...))
fk i)))))))
+(define-syntax match-record-refs
+ (syntax-rules ()
+ ((_ v rec n (p . q) g+s sk fk i)
+ (let ((w (slot-ref rec v n)))
+ (match-one w p ((slot-ref rec v n) (slot-set! rec v n))
+ (match-record-refs v rec (+ n 1) q g+s sk fk) fk i)))
+ ((_ v rec n () g+s (sk ...) fk i)
+ (sk ... i))))
+
;; Extract all identifiers in a pattern. A little more complicated
;; than just looking for symbols, we need to ignore special keywords
;; and non-pattern forms (such as the predicate expression in ?
@@ -518,8 +723,8 @@
(match-extract-vars (p ...) . x))
((match-extract-vars _ (k ...) i v) (k ... v))
((match-extract-vars ___ (k ...) i v) (k ... v))
- ((match-extract-vars ..1 (k ...) i v) (k ... v))
((match-extract-vars *** (k ...) i v) (k ... v))
+ ((match-extract-vars ..1 (k ...) i v) (k ... v))
;; This is the main part, the only place where we might add a new
;; var if it's an unbound symbol.
((match-extract-vars p (k ...) (i ...) v)
@@ -527,7 +732,7 @@
((new-sym?
(syntax-rules (i ...)
((new-sym? p sk fk) sk)
- ((new-sym? x sk fk) fk))))
+ ((new-sym? any sk fk) fk))))
(new-sym? random-sym-to-match
(k ... ((p p-ls) . v))
(k ... v))))
@@ -572,24 +777,42 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Gimme some sugar baby.
+;;> Shortcut for @scheme{lambda} + @scheme{match}. Creates a
+;;> procedure of one argument, and matches that argument against each
+;;> clause.
+
(define-syntax match-lambda
(syntax-rules ()
- ((_ clause ...) (lambda (expr) (match expr clause ...)))))
+ ((_ (pattern . body) ...) (lambda (expr) (match expr (pattern . body)
...)))))
+
+;;> Similar to @scheme{match-lambda}. Creates a procedure of any
+;;> number of arguments, and matches the argument list against each
+;;> clause.
(define-syntax match-lambda*
(syntax-rules ()
- ((_ clause ...) (lambda expr (match expr clause ...)))))
+ ((_ (pattern . body) ...) (lambda expr (match expr (pattern . body)
...)))))
+
+;;> Matches each var to the corresponding expression, and evaluates
+;;> the body with all match variables in scope. Raises an error if
+;;> any of the expressions fail to match. Syntax analogous to named
+;;> let can also be used for recursive functions which match on their
+;;> arguments as in @scheme{match-lambda*}.
(define-syntax match-let
(syntax-rules ()
- ((_ (vars ...) . body)
- (match-let/helper let () () (vars ...) . body))
- ((_ loop . rest)
- (match-named-let loop () . rest))))
+ ((_ ((var value) ...) . body)
+ (match-let/helper let () () ((var value) ...) . body))
+ ((_ loop ((var init) ...) . body)
+ (match-named-let loop ((var init) ...) . body))))
+
+;;> Similar to @scheme{match-let}, but analogously to @scheme{letrec}
+;;> matches and binds the variables with all match variables in scope.
(define-syntax match-letrec
(syntax-rules ()
- ((_ vars . body) (match-let/helper letrec () () vars . body))))
+ ((_ ((var value) ...) . body)
+ (match-let/helper letrec () () ((var value) ...) . body))))
(define-syntax match-let/helper
(syntax-rules ()
@@ -617,6 +840,12 @@
((_ loop (v ...) ((pat expr) . rest) . body)
(match-named-let loop (v ... (pat expr tmp)) rest . body))))
+;;> @address@hidden(match-let* ((var value) ...) body ...)}}
+
+;;> Similar to @scheme{match-let}, but analogously to @scheme{let*}
+;;> matches and binds the variables in sequence, with preceding match
+;;> variables in scope.
+
(define-syntax match-let*
(syntax-rules ()
((_ () . body)
diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm
index 50a8299..dc4ec95 100644
--- a/module/ice-9/optargs.scm
+++ b/module/ice-9/optargs.scm
@@ -1,6 +1,6 @@
;;;; optargs.scm -- support for optional arguments
;;;;
-;;;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 2009, 2010 Free
Software Foundation, Inc.
+;;;; Copyright (C) 1997, 1998, 1999, 2001, 2002, 2004, 2006, 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
@@ -278,12 +278,10 @@
#'(define-macro id doc (lambda* args b0 b1 ...)))
((_ id args b0 b1 ...)
#'(define-macro id #f (lambda* args b0 b1 ...))))))
-(define-syntax defmacro*-public
- (syntax-rules ()
- ((_ id args b0 b1 ...)
- (begin
- (defmacro* id args b0 b1 ...)
- (export-syntax id)))))
+(define-syntax-rule (defmacro*-public id args b0 b1 ...)
+ (begin
+ (defmacro* id args b0 b1 ...)
+ (export-syntax id)))
;;; Support for optional & keyword args with the interpreter.
(define *uninitialized* (list 'uninitialized))
diff --git a/module/ice-9/poll.scm b/module/ice-9/poll.scm
index 26b264b..cf61294 100644
--- a/module/ice-9/poll.scm
+++ b/module/ice-9/poll.scm
@@ -1,6 +1,6 @@
;; poll
-;;;; Copyright (C) 2010 Free Software Foundation, Inc.
+;;;; Copyright (C) 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
@@ -68,9 +68,8 @@
(ports pset-ports set-pset-ports!)
)
-(define-syntax pollfd-offset
- (syntax-rules ()
- ((_ n) (* n 8))))
+(define-syntax-rule (pollfd-offset n)
+ (* n 8))
(define* (make-empty-poll-set #:optional (pre-allocated 4))
(make-poll-set (make-bytevector (pollfd-offset pre-allocated) 0)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 40734cf..db6fc8a 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,14098 +2,16857 @@
(if #f #f)
(letrec*
- ((#{make-void 203}#
- (lambda (#{src 765}#)
+ ((#{make-void 208}#
+ (lambda (#{src 783}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 0)
- #{src 765}#)))
- (#{make-const 205}#
- (lambda (#{src 767}# #{exp 768}#)
+ #{src 783}#)))
+ (#{make-const 210}#
+ (lambda (#{src 785}# #{exp 786}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
- #{src 767}#
- #{exp 768}#)))
- (#{make-primitive-ref 207}#
- (lambda (#{src 771}# #{name 772}#)
- (make-struct/no-tail
- (vector-ref %expanded-vtables 2)
- #{src 771}#
- #{name 772}#)))
- (#{make-lexical-ref 209}#
- (lambda (#{src 775}# #{name 776}# #{gensym 777}#)
+ #{src 785}#
+ #{exp 786}#)))
+ (#{make-lexical-ref 214}#
+ (lambda (#{src 793}# #{name 794}# #{gensym 795}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
- #{src 775}#
- #{name 776}#
- #{gensym 777}#)))
- (#{make-lexical-set 211}#
- (lambda (#{src 781}#
- #{name 782}#
- #{gensym 783}#
- #{exp 784}#)
+ #{src 793}#
+ #{name 794}#
+ #{gensym 795}#)))
+ (#{make-lexical-set 216}#
+ (lambda (#{src 799}#
+ #{name 800}#
+ #{gensym 801}#
+ #{exp 802}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 4)
- #{src 781}#
- #{name 782}#
- #{gensym 783}#
- #{exp 784}#)))
- (#{make-module-ref 213}#
- (lambda (#{src 789}#
- #{mod 790}#
- #{name 791}#
- #{public? 792}#)
+ #{src 799}#
+ #{name 800}#
+ #{gensym 801}#
+ #{exp 802}#)))
+ (#{make-module-ref 218}#
+ (lambda (#{src 807}#
+ #{mod 808}#
+ #{name 809}#
+ #{public? 810}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 5)
- #{src 789}#
- #{mod 790}#
- #{name 791}#
- #{public? 792}#)))
- (#{make-module-set 215}#
- (lambda (#{src 797}#
- #{mod 798}#
- #{name 799}#
- #{public? 800}#
- #{exp 801}#)
+ #{src 807}#
+ #{mod 808}#
+ #{name 809}#
+ #{public? 810}#)))
+ (#{make-module-set 220}#
+ (lambda (#{src 815}#
+ #{mod 816}#
+ #{name 817}#
+ #{public? 818}#
+ #{exp 819}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 6)
- #{src 797}#
- #{mod 798}#
- #{name 799}#
- #{public? 800}#
- #{exp 801}#)))
- (#{make-toplevel-ref 217}#
- (lambda (#{src 807}# #{name 808}#)
+ #{src 815}#
+ #{mod 816}#
+ #{name 817}#
+ #{public? 818}#
+ #{exp 819}#)))
+ (#{make-toplevel-ref 222}#
+ (lambda (#{src 825}# #{name 826}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 7)
- #{src 807}#
- #{name 808}#)))
- (#{make-toplevel-set 219}#
- (lambda (#{src 811}# #{name 812}# #{exp 813}#)
+ #{src 825}#
+ #{name 826}#)))
+ (#{make-toplevel-set 224}#
+ (lambda (#{src 829}# #{name 830}# #{exp 831}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 8)
- #{src 811}#
- #{name 812}#
- #{exp 813}#)))
- (#{make-toplevel-define 221}#
- (lambda (#{src 817}# #{name 818}# #{exp 819}#)
+ #{src 829}#
+ #{name 830}#
+ #{exp 831}#)))
+ (#{make-toplevel-define 226}#
+ (lambda (#{src 835}# #{name 836}# #{exp 837}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 9)
- #{src 817}#
- #{name 818}#
- #{exp 819}#)))
- (#{make-conditional 223}#
- (lambda (#{src 823}#
- #{test 824}#
- #{consequent 825}#
- #{alternate 826}#)
+ #{src 835}#
+ #{name 836}#
+ #{exp 837}#)))
+ (#{make-conditional 228}#
+ (lambda (#{src 841}#
+ #{test 842}#
+ #{consequent 843}#
+ #{alternate 844}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 10)
- #{src 823}#
- #{test 824}#
- #{consequent 825}#
- #{alternate 826}#)))
- (#{make-call 225}#
- (lambda (#{src 831}# #{proc 832}# #{args 833}#)
+ #{src 841}#
+ #{test 842}#
+ #{consequent 843}#
+ #{alternate 844}#)))
+ (#{make-call 230}#
+ (lambda (#{src 849}# #{proc 850}# #{args 851}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 11)
- #{src 831}#
- #{proc 832}#
- #{args 833}#)))
- (#{make-primcall 227}#
- (lambda (#{src 837}# #{name 838}# #{args 839}#)
+ #{src 849}#
+ #{proc 850}#
+ #{args 851}#)))
+ (#{make-primcall 232}#
+ (lambda (#{src 855}# #{name 856}# #{args 857}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
- #{src 837}#
- #{name 838}#
- #{args 839}#)))
- (#{make-seq 229}#
- (lambda (#{src 843}# #{head 844}# #{tail 845}#)
+ #{src 855}#
+ #{name 856}#
+ #{args 857}#)))
+ (#{make-seq 234}#
+ (lambda (#{src 861}# #{head 862}# #{tail 863}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 13)
- #{src 843}#
- #{head 844}#
- #{tail 845}#)))
- (#{make-lambda 231}#
- (lambda (#{src 849}# #{meta 850}# #{body 851}#)
+ #{src 861}#
+ #{head 862}#
+ #{tail 863}#)))
+ (#{make-lambda 236}#
+ (lambda (#{src 867}# #{meta 868}# #{body 869}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
- #{src 849}#
- #{meta 850}#
- #{body 851}#)))
- (#{make-lambda-case 233}#
- (lambda (#{src 855}#
- #{req 856}#
- #{opt 857}#
- #{rest 858}#
- #{kw 859}#
- #{inits 860}#
- #{gensyms 861}#
- #{body 862}#
- #{alternate 863}#)
+ #{src 867}#
+ #{meta 868}#
+ #{body 869}#)))
+ (#{make-lambda-case 238}#
+ (lambda (#{src 873}#
+ #{req 874}#
+ #{opt 875}#
+ #{rest 876}#
+ #{kw 877}#
+ #{inits 878}#
+ #{gensyms 879}#
+ #{body 880}#
+ #{alternate 881}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
- #{src 855}#
- #{req 856}#
- #{opt 857}#
- #{rest 858}#
- #{kw 859}#
- #{inits 860}#
- #{gensyms 861}#
- #{body 862}#
- #{alternate 863}#)))
- (#{make-let 235}#
- (lambda (#{src 873}#
- #{names 874}#
- #{gensyms 875}#
- #{vals 876}#
- #{body 877}#)
+ #{src 873}#
+ #{req 874}#
+ #{opt 875}#
+ #{rest 876}#
+ #{kw 877}#
+ #{inits 878}#
+ #{gensyms 879}#
+ #{body 880}#
+ #{alternate 881}#)))
+ (#{make-let 240}#
+ (lambda (#{src 891}#
+ #{names 892}#
+ #{gensyms 893}#
+ #{vals 894}#
+ #{body 895}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 16)
- #{src 873}#
- #{names 874}#
- #{gensyms 875}#
- #{vals 876}#
- #{body 877}#)))
- (#{make-letrec 237}#
- (lambda (#{src 883}#
- #{in-order? 884}#
- #{names 885}#
- #{gensyms 886}#
- #{vals 887}#
- #{body 888}#)
+ #{src 891}#
+ #{names 892}#
+ #{gensyms 893}#
+ #{vals 894}#
+ #{body 895}#)))
+ (#{make-letrec 242}#
+ (lambda (#{src 901}#
+ #{in-order? 902}#
+ #{names 903}#
+ #{gensyms 904}#
+ #{vals 905}#
+ #{body 906}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 17)
- #{src 883}#
- #{in-order? 884}#
- #{names 885}#
- #{gensyms 886}#
- #{vals 887}#
- #{body 888}#)))
- (#{make-dynlet 239}#
- (lambda (#{src 895}#
- #{fluids 896}#
- #{vals 897}#
- #{body 898}#)
+ #{src 901}#
+ #{in-order? 902}#
+ #{names 903}#
+ #{gensyms 904}#
+ #{vals 905}#
+ #{body 906}#)))
+ (#{make-dynlet 244}#
+ (lambda (#{src 913}#
+ #{fluids 914}#
+ #{vals 915}#
+ #{body 916}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 18)
- #{src 895}#
- #{fluids 896}#
- #{vals 897}#
- #{body 898}#)))
- (#{lambda? 242}#
- (lambda (#{x 903}#)
- (if (struct? #{x 903}#)
- (eq? (struct-vtable #{x 903}#)
+ #{src 913}#
+ #{fluids 914}#
+ #{vals 915}#
+ #{body 916}#)))
+ (#{lambda? 247}#
+ (lambda (#{x 921}#)
+ (if (struct? #{x 921}#)
+ (eq? (struct-vtable #{x 921}#)
(vector-ref %expanded-vtables 14))
#f)))
- (#{lambda-meta 244}#
- (lambda (#{x 907}#) (struct-ref #{x 907}# 1)))
- (#{set-lambda-meta! 246}#
- (lambda (#{x 909}# #{v 910}#)
- (struct-set! #{x 909}# 1 #{v 910}#)))
- (#{top-level-eval-hook 252}#
- (lambda (#{x 913}# #{mod 914}#)
- (primitive-eval #{x 913}#)))
- (#{local-eval-hook 254}#
- (lambda (#{x 917}# #{mod 918}#)
- (primitive-eval #{x 917}#)))
- (#{put-global-definition-hook 257}#
- (lambda (#{symbol 921}# #{type 922}# #{val 923}#)
+ (#{lambda-meta 249}#
+ (lambda (#{x 925}#) (struct-ref #{x 925}# 1)))
+ (#{set-lambda-meta! 251}#
+ (lambda (#{x 927}# #{v 928}#)
+ (struct-set! #{x 927}# 1 #{v 928}#)))
+ (#{top-level-eval-hook 257}#
+ (lambda (#{x 931}# #{mod 932}#)
+ (primitive-eval #{x 931}#)))
+ (#{local-eval-hook 259}#
+ (lambda (#{x 935}# #{mod 936}#)
+ (primitive-eval #{x 935}#)))
+ (#{put-global-definition-hook 263}#
+ (lambda (#{symbol 939}# #{type 940}# #{val 941}#)
(module-define!
(current-module)
- #{symbol 921}#
+ #{symbol 939}#
(make-syntax-transformer
- #{symbol 921}#
- #{type 922}#
- #{val 923}#))))
- (#{get-global-definition-hook 259}#
- (lambda (#{symbol 927}# #{module 928}#)
+ #{symbol 939}#
+ #{type 940}#
+ #{val 941}#))))
+ (#{get-global-definition-hook 265}#
+ (lambda (#{symbol 945}# #{module 946}#)
(begin
- (if (if (not #{module 928}#) (current-module) #f)
+ (if (if (not #{module 946}#) (current-module) #f)
(warn "module system is booted, we should have a module"
- #{symbol 927}#))
- (let ((#{v 934}# (module-variable
- (if #{module 928}#
- (resolve-module (cdr #{module 928}#))
+ #{symbol 945}#))
+ (let ((#{v 952}# (module-variable
+ (if #{module 946}#
+ (resolve-module (cdr #{module 946}#))
(current-module))
- #{symbol 927}#)))
- (if #{v 934}#
- (if (variable-bound? #{v 934}#)
- (let ((#{val 939}# (variable-ref #{v 934}#)))
- (if (macro? #{val 939}#)
- (if (macro-type #{val 939}#)
- (cons (macro-type #{val 939}#)
- (macro-binding #{val 939}#))
+ #{symbol 945}#)))
+ (if #{v 952}#
+ (if (variable-bound? #{v 952}#)
+ (let ((#{val 957}# (variable-ref #{v 952}#)))
+ (if (macro? #{val 957}#)
+ (if (macro-type #{val 957}#)
+ (cons (macro-type #{val 957}#)
+ (macro-binding #{val 957}#))
#f)
#f))
#f)
#f)))))
- (#{decorate-source 261}#
- (lambda (#{e 943}# #{s 944}#)
- (begin
- (if (if (pair? #{e 943}#) #{s 944}# #f)
- (set-source-properties! #{e 943}# #{s 944}#))
- #{e 943}#)))
- (#{maybe-name-value! 263}#
- (lambda (#{name 949}# #{val 950}#)
- (if (#{lambda? 242}# #{val 950}#)
- (let ((#{meta 954}# (#{lambda-meta 244}# #{val 950}#)))
- (if (not (assq 'name #{meta 954}#))
- (#{set-lambda-meta! 246}#
- #{val 950}#
- (cons (cons 'name #{name 949}#) #{meta 954}#)))))))
- (#{build-void 265}#
- (lambda (#{source 955}#)
- (#{make-void 203}# #{source 955}#)))
- (#{build-call 267}#
- (lambda (#{source 957}# #{fun-exp 958}# #{arg-exps 959}#)
- (#{make-call 225}#
- #{source 957}#
- #{fun-exp 958}#
- #{arg-exps 959}#)))
- (#{build-conditional 269}#
- (lambda (#{source 963}#
- #{test-exp 964}#
- #{then-exp 965}#
- #{else-exp 966}#)
- (#{make-conditional 223}#
- #{source 963}#
- #{test-exp 964}#
- #{then-exp 965}#
- #{else-exp 966}#)))
- (#{build-dynlet 271}#
- (lambda (#{source 971}#
- #{fluids 972}#
- #{vals 973}#
- #{body 974}#)
- (#{make-dynlet 239}#
- #{source 971}#
- #{fluids 972}#
- #{vals 973}#
- #{body 974}#)))
- (#{build-lexical-reference 273}#
- (lambda (#{type 979}#
- #{source 980}#
- #{name 981}#
- #{var 982}#)
- (#{make-lexical-ref 209}#
- #{source 980}#
- #{name 981}#
- #{var 982}#)))
- (#{build-lexical-assignment 275}#
- (lambda (#{source 987}#
- #{name 988}#
- #{var 989}#
- #{exp 990}#)
+ (#{decorate-source 267}#
+ (lambda (#{e 961}# #{s 962}#)
(begin
- (#{maybe-name-value! 263}#
- #{name 988}#
- #{exp 990}#)
- (#{make-lexical-set 211}#
- #{source 987}#
- #{name 988}#
- #{var 989}#
- #{exp 990}#))))
- (#{analyze-variable 277}#
- (lambda (#{mod 995}#
- #{var 996}#
- #{modref-cont 997}#
- #{bare-cont 998}#)
- (if (not #{mod 995}#)
- (#{bare-cont 998}# #{var 996}#)
- (let ((#{kind 1005}# (car #{mod 995}#))
- (#{mod 1006}# (cdr #{mod 995}#)))
- (if (memv #{kind 1005}# '(public))
- (#{modref-cont 997}# #{mod 1006}# #{var 996}# #t)
- (if (memv #{kind 1005}# '(private))
+ (if (if (pair? #{e 961}#) #{s 962}# #f)
+ (set-source-properties! #{e 961}# #{s 962}#))
+ #{e 961}#)))
+ (#{maybe-name-value! 269}#
+ (lambda (#{name 967}# #{val 968}#)
+ (if (#{lambda? 247}# #{val 968}#)
+ (let ((#{meta 972}# (#{lambda-meta 249}# #{val 968}#)))
+ (if (not (assq 'name #{meta 972}#))
+ (#{set-lambda-meta! 251}#
+ #{val 968}#
+ (cons (cons 'name #{name 967}#) #{meta 972}#)))))))
+ (#{build-void 271}#
+ (lambda (#{source 973}#)
+ (#{make-void 208}# #{source 973}#)))
+ (#{build-call 273}#
+ (lambda (#{source 975}# #{fun-exp 976}# #{arg-exps 977}#)
+ (#{make-call 230}#
+ #{source 975}#
+ #{fun-exp 976}#
+ #{arg-exps 977}#)))
+ (#{build-conditional 275}#
+ (lambda (#{source 981}#
+ #{test-exp 982}#
+ #{then-exp 983}#
+ #{else-exp 984}#)
+ (#{make-conditional 228}#
+ #{source 981}#
+ #{test-exp 982}#
+ #{then-exp 983}#
+ #{else-exp 984}#)))
+ (#{build-lexical-reference 279}#
+ (lambda (#{type 997}#
+ #{source 998}#
+ #{name 999}#
+ #{var 1000}#)
+ (#{make-lexical-ref 214}#
+ #{source 998}#
+ #{name 999}#
+ #{var 1000}#)))
+ (#{analyze-variable 283}#
+ (lambda (#{mod 1013}#
+ #{var 1014}#
+ #{modref-cont 1015}#
+ #{bare-cont 1016}#)
+ (if (not #{mod 1013}#)
+ (#{bare-cont 1016}# #{var 1014}#)
+ (let ((#{kind 1023}# (car #{mod 1013}#))
+ (#{mod 1024}# (cdr #{mod 1013}#)))
+ (if (memv #{kind 1023}# '(public))
+ (#{modref-cont 1015}#
+ #{mod 1024}#
+ #{var 1014}#
+ #t)
+ (if (memv #{kind 1023}# '(private))
(if (not (equal?
- #{mod 1006}#
+ #{mod 1024}#
(module-name (current-module))))
- (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
- (#{bare-cont 998}# #{var 996}#))
- (if (memv #{kind 1005}# '(bare))
- (#{bare-cont 998}# #{var 996}#)
- (if (memv #{kind 1005}# '(hygiene))
+ (#{modref-cont 1015}#
+ #{mod 1024}#
+ #{var 1014}#
+ #f)
+ (#{bare-cont 1016}# #{var 1014}#))
+ (if (memv #{kind 1023}# '(bare))
+ (#{bare-cont 1016}# #{var 1014}#)
+ (if (memv #{kind 1023}# '(hygiene))
(if (if (not (equal?
- #{mod 1006}#
+ #{mod 1024}#
(module-name (current-module))))
(module-variable
- (resolve-module #{mod 1006}#)
- #{var 996}#)
+ (resolve-module #{mod 1024}#)
+ #{var 1014}#)
#f)
- (#{modref-cont 997}# #{mod 1006}# #{var 996}# #f)
- (#{bare-cont 998}# #{var 996}#))
+ (#{modref-cont 1015}#
+ #{mod 1024}#
+ #{var 1014}#
+ #f)
+ (#{bare-cont 1016}# #{var 1014}#))
(syntax-violation
#f
"bad module kind"
- #{var 996}#
- #{mod 1006}#)))))))))
- (#{build-global-reference 279}#
- (lambda (#{source 1014}# #{var 1015}# #{mod 1016}#)
- (#{analyze-variable 277}#
- #{mod 1016}#
- #{var 1015}#
- (lambda (#{mod 1020}# #{var 1021}# #{public? 1022}#)
- (#{make-module-ref 213}#
- #{source 1014}#
- #{mod 1020}#
- #{var 1021}#
- #{public? 1022}#))
- (lambda (#{var 1026}#)
- (#{make-toplevel-ref 217}#
- #{source 1014}#
- #{var 1026}#)))))
- (#{build-global-assignment 281}#
- (lambda (#{source 1028}#
- #{var 1029}#
- #{exp 1030}#
- #{mod 1031}#)
+ #{var 1014}#
+ #{mod 1024}#)))))))))
+ (#{build-global-reference 285}#
+ (lambda (#{source 1032}# #{var 1033}# #{mod 1034}#)
+ (#{analyze-variable 283}#
+ #{mod 1034}#
+ #{var 1033}#
+ (lambda (#{mod 1038}# #{var 1039}# #{public? 1040}#)
+ (#{make-module-ref 218}#
+ #{source 1032}#
+ #{mod 1038}#
+ #{var 1039}#
+ #{public? 1040}#))
+ (lambda (#{var 1044}#)
+ (#{make-toplevel-ref 222}#
+ #{source 1032}#
+ #{var 1044}#)))))
+ (#{build-global-assignment 287}#
+ (lambda (#{source 1046}#
+ #{var 1047}#
+ #{exp 1048}#
+ #{mod 1049}#)
(begin
- (#{maybe-name-value! 263}#
- #{var 1029}#
- #{exp 1030}#)
- (#{analyze-variable 277}#
- #{mod 1031}#
- #{var 1029}#
- (lambda (#{mod 1036}# #{var 1037}# #{public? 1038}#)
- (#{make-module-set 215}#
- #{source 1028}#
- #{mod 1036}#
- #{var 1037}#
- #{public? 1038}#
- #{exp 1030}#))
- (lambda (#{var 1042}#)
- (#{make-toplevel-set 219}#
- #{source 1028}#
- #{var 1042}#
- #{exp 1030}#))))))
- (#{build-global-definition 283}#
- (lambda (#{source 1044}# #{var 1045}# #{exp 1046}#)
+ (#{maybe-name-value! 269}#
+ #{var 1047}#
+ #{exp 1048}#)
+ (#{analyze-variable 283}#
+ #{mod 1049}#
+ #{var 1047}#
+ (lambda (#{mod 1054}# #{var 1055}# #{public? 1056}#)
+ (#{make-module-set 220}#
+ #{source 1046}#
+ #{mod 1054}#
+ #{var 1055}#
+ #{public? 1056}#
+ #{exp 1048}#))
+ (lambda (#{var 1060}#)
+ (#{make-toplevel-set 224}#
+ #{source 1046}#
+ #{var 1060}#
+ #{exp 1048}#))))))
+ (#{build-global-definition 289}#
+ (lambda (#{source 1062}# #{var 1063}# #{exp 1064}#)
(begin
- (#{maybe-name-value! 263}#
- #{var 1045}#
- #{exp 1046}#)
- (#{make-toplevel-define 221}#
- #{source 1044}#
- #{var 1045}#
- #{exp 1046}#))))
- (#{build-simple-lambda 285}#
- (lambda (#{src 1050}#
- #{req 1051}#
- #{rest 1052}#
- #{vars 1053}#
- #{meta 1054}#
- #{exp 1055}#)
- (#{make-lambda 231}#
- #{src 1050}#
- #{meta 1054}#
- (#{make-lambda-case 233}#
- #{src 1050}#
- #{req 1051}#
+ (#{maybe-name-value! 269}#
+ #{var 1063}#
+ #{exp 1064}#)
+ (#{make-toplevel-define 226}#
+ #{source 1062}#
+ #{var 1063}#
+ #{exp 1064}#))))
+ (#{build-simple-lambda 291}#
+ (lambda (#{src 1068}#
+ #{req 1069}#
+ #{rest 1070}#
+ #{vars 1071}#
+ #{meta 1072}#
+ #{exp 1073}#)
+ (#{make-lambda 236}#
+ #{src 1068}#
+ #{meta 1072}#
+ (#{make-lambda-case 238}#
+ #{src 1068}#
+ #{req 1069}#
#f
- #{rest 1052}#
+ #{rest 1070}#
#f
'()
- #{vars 1053}#
- #{exp 1055}#
+ #{vars 1071}#
+ #{exp 1073}#
#f))))
- (#{build-case-lambda 287}#
- (lambda (#{src 1062}# #{meta 1063}# #{body 1064}#)
- (#{make-lambda 231}#
- #{src 1062}#
- #{meta 1063}#
- #{body 1064}#)))
- (#{build-lambda-case 289}#
- (lambda (#{src 1068}#
- #{req 1069}#
- #{opt 1070}#
- #{rest 1071}#
- #{kw 1072}#
- #{inits 1073}#
- #{vars 1074}#
- #{body 1075}#
- #{else-case 1076}#)
- (#{make-lambda-case 233}#
- #{src 1068}#
- #{req 1069}#
- #{opt 1070}#
- #{rest 1071}#
- #{kw 1072}#
- #{inits 1073}#
- #{vars 1074}#
- #{body 1075}#
- #{else-case 1076}#)))
- (#{build-primcall 291}#
- (lambda (#{src 1086}# #{name 1087}# #{args 1088}#)
- (#{make-primcall 227}#
+ (#{build-lambda-case 295}#
+ (lambda (#{src 1086}#
+ #{req 1087}#
+ #{opt 1088}#
+ #{rest 1089}#
+ #{kw 1090}#
+ #{inits 1091}#
+ #{vars 1092}#
+ #{body 1093}#
+ #{else-case 1094}#)
+ (#{make-lambda-case 238}#
#{src 1086}#
- #{name 1087}#
- #{args 1088}#)))
- (#{build-primref 293}#
- (lambda (#{src 1092}# #{name 1093}#)
- (#{make-primitive-ref 207}#
- #{src 1092}#
- #{name 1093}#)))
- (#{build-data 295}#
- (lambda (#{src 1096}# #{exp 1097}#)
- (#{make-const 205}# #{src 1096}# #{exp 1097}#)))
- (#{build-sequence 297}#
- (lambda (#{src 1100}# #{exps 1101}#)
- (if (null? (cdr #{exps 1101}#))
- (car #{exps 1101}#)
- (#{make-seq 229}#
- #{src 1100}#
- (car #{exps 1101}#)
- (#{build-sequence 297}# #f (cdr #{exps 1101}#))))))
- (#{build-let 299}#
- (lambda (#{src 1104}#
- #{ids 1105}#
- #{vars 1106}#
- #{val-exps 1107}#
- #{body-exp 1108}#)
- (begin
- (for-each
- #{maybe-name-value! 263}#
- #{ids 1105}#
- #{val-exps 1107}#)
- (if (null? #{vars 1106}#)
- #{body-exp 1108}#
- (#{make-let 235}#
- #{src 1104}#
- #{ids 1105}#
- #{vars 1106}#
- #{val-exps 1107}#
- #{body-exp 1108}#)))))
- (#{build-named-let 301}#
- (lambda (#{src 1114}#
- #{ids 1115}#
- #{vars 1116}#
- #{val-exps 1117}#
- #{body-exp 1118}#)
- (let ((#{f 1128}# (car #{vars 1116}#))
- (#{f-name 1129}# (car #{ids 1115}#))
- (#{vars 1130}# (cdr #{vars 1116}#))
- (#{ids 1131}# (cdr #{ids 1115}#)))
- (let ((#{proc 1133}#
- (#{build-simple-lambda 285}#
- #{src 1114}#
- #{ids 1131}#
- #f
- #{vars 1130}#
- '()
- #{body-exp 1118}#)))
- (begin
- (#{maybe-name-value! 263}#
- #{f-name 1129}#
- #{proc 1133}#)
- (for-each
- #{maybe-name-value! 263}#
- #{ids 1131}#
- #{val-exps 1117}#)
- (#{make-letrec 237}#
- #{src 1114}#
- #f
- (list #{f-name 1129}#)
- (list #{f 1128}#)
- (list #{proc 1133}#)
- (#{build-call 267}#
- #{src 1114}#
- (#{build-lexical-reference 273}#
- 'fun
- #{src 1114}#
- #{f-name 1129}#
- #{f 1128}#)
- #{val-exps 1117}#)))))))
- (#{build-letrec 303}#
- (lambda (#{src 1134}#
- #{in-order? 1135}#
- #{ids 1136}#
- #{vars 1137}#
- #{val-exps 1138}#
- #{body-exp 1139}#)
- (if (null? #{vars 1137}#)
- #{body-exp 1139}#
+ #{req 1087}#
+ #{opt 1088}#
+ #{rest 1089}#
+ #{kw 1090}#
+ #{inits 1091}#
+ #{vars 1092}#
+ #{body 1093}#
+ #{else-case 1094}#)))
+ (#{build-primcall 297}#
+ (lambda (#{src 1104}# #{name 1105}# #{args 1106}#)
+ (#{make-primcall 232}#
+ #{src 1104}#
+ #{name 1105}#
+ #{args 1106}#)))
+ (#{build-data 301}#
+ (lambda (#{src 1114}# #{exp 1115}#)
+ (#{make-const 210}# #{src 1114}# #{exp 1115}#)))
+ (#{build-sequence 303}#
+ (lambda (#{src 1118}# #{exps 1119}#)
+ (if (null? (cdr #{exps 1119}#))
+ (car #{exps 1119}#)
+ (#{make-seq 234}#
+ #{src 1118}#
+ (car #{exps 1119}#)
+ (#{build-sequence 303}# #f (cdr #{exps 1119}#))))))
+ (#{build-letrec 309}#
+ (lambda (#{src 1152}#
+ #{in-order? 1153}#
+ #{ids 1154}#
+ #{vars 1155}#
+ #{val-exps 1156}#
+ #{body-exp 1157}#)
+ (if (null? #{vars 1155}#)
+ #{body-exp 1157}#
(begin
(for-each
- #{maybe-name-value! 263}#
- #{ids 1136}#
- #{val-exps 1138}#)
- (#{make-letrec 237}#
- #{src 1134}#
- #{in-order? 1135}#
- #{ids 1136}#
- #{vars 1137}#
- #{val-exps 1138}#
- #{body-exp 1139}#)))))
- (#{make-syntax-object 307}#
- (lambda (#{expression 1146}#
- #{wrap 1147}#
- #{module 1148}#)
+ #{maybe-name-value! 269}#
+ #{ids 1154}#
+ #{val-exps 1156}#)
+ (#{make-letrec 242}#
+ #{src 1152}#
+ #{in-order? 1153}#
+ #{ids 1154}#
+ #{vars 1155}#
+ #{val-exps 1156}#
+ #{body-exp 1157}#)))))
+ (#{make-syntax-object 314}#
+ (lambda (#{expression 1164}#
+ #{wrap 1165}#
+ #{module 1166}#)
(vector
'syntax-object
- #{expression 1146}#
- #{wrap 1147}#
- #{module 1148}#)))
- (#{syntax-object? 309}#
- (lambda (#{x 1152}#)
- (if (vector? #{x 1152}#)
- (if (= (vector-length #{x 1152}#) 4)
- (eq? (vector-ref #{x 1152}# 0) 'syntax-object)
+ #{expression 1164}#
+ #{wrap 1165}#
+ #{module 1166}#)))
+ (#{syntax-object? 316}#
+ (lambda (#{x 1170}#)
+ (if (vector? #{x 1170}#)
+ (if (= (vector-length #{x 1170}#) 4)
+ (eq? (vector-ref #{x 1170}# 0) 'syntax-object)
#f)
#f)))
- (#{syntax-object-expression 311}#
- (lambda (#{x 1157}#) (vector-ref #{x 1157}# 1)))
- (#{syntax-object-wrap 313}#
- (lambda (#{x 1159}#) (vector-ref #{x 1159}# 2)))
- (#{syntax-object-module 315}#
- (lambda (#{x 1161}#) (vector-ref #{x 1161}# 3)))
- (#{source-annotation 324}#
- (lambda (#{x 1175}#)
- (if (#{syntax-object? 309}# #{x 1175}#)
- (#{source-annotation 324}#
- (#{syntax-object-expression 311}# #{x 1175}#))
- (if (pair? #{x 1175}#)
- (let ((#{props 1182}# (source-properties #{x 1175}#)))
- (if (pair? #{props 1182}#) #{props 1182}# #f))
+ (#{syntax-object-expression 318}#
+ (lambda (#{x 1175}#) (vector-ref #{x 1175}# 1)))
+ (#{syntax-object-wrap 320}#
+ (lambda (#{x 1177}#) (vector-ref #{x 1177}# 2)))
+ (#{syntax-object-module 322}#
+ (lambda (#{x 1179}#) (vector-ref #{x 1179}# 3)))
+ (#{source-annotation 331}#
+ (lambda (#{x 1193}#)
+ (if (#{syntax-object? 316}# #{x 1193}#)
+ (#{source-annotation 331}#
+ (#{syntax-object-expression 318}# #{x 1193}#))
+ (if (pair? #{x 1193}#)
+ (let ((#{props 1200}# (source-properties #{x 1193}#)))
+ (if (pair? #{props 1200}#) #{props 1200}# #f))
#f))))
- (#{extend-env 331}#
- (lambda (#{labels 1184}# #{bindings 1185}# #{r 1186}#)
- (if (null? #{labels 1184}#)
- #{r 1186}#
- (#{extend-env 331}#
- (cdr #{labels 1184}#)
- (cdr #{bindings 1185}#)
- (cons (cons (car #{labels 1184}#)
- (car #{bindings 1185}#))
- #{r 1186}#)))))
- (#{extend-var-env 333}#
- (lambda (#{labels 1190}# #{vars 1191}# #{r 1192}#)
- (if (null? #{labels 1190}#)
- #{r 1192}#
- (#{extend-var-env 333}#
- (cdr #{labels 1190}#)
- (cdr #{vars 1191}#)
- (cons (cons (car #{labels 1190}#)
- (cons 'lexical (car #{vars 1191}#)))
- #{r 1192}#)))))
- (#{macros-only-env 335}#
- (lambda (#{r 1197}#)
- (if (null? #{r 1197}#)
+ (#{extend-env 341}#
+ (lambda (#{labels 1202}# #{bindings 1203}# #{r 1204}#)
+ (if (null? #{labels 1202}#)
+ #{r 1204}#
+ (#{extend-env 341}#
+ (cdr #{labels 1202}#)
+ (cdr #{bindings 1203}#)
+ (cons (cons (car #{labels 1202}#)
+ (car #{bindings 1203}#))
+ #{r 1204}#)))))
+ (#{extend-var-env 343}#
+ (lambda (#{labels 1208}# #{vars 1209}# #{r 1210}#)
+ (if (null? #{labels 1208}#)
+ #{r 1210}#
+ (#{extend-var-env 343}#
+ (cdr #{labels 1208}#)
+ (cdr #{vars 1209}#)
+ (cons (cons (car #{labels 1208}#)
+ (cons 'lexical (car #{vars 1209}#)))
+ #{r 1210}#)))))
+ (#{macros-only-env 345}#
+ (lambda (#{r 1215}#)
+ (if (null? #{r 1215}#)
'()
- (let ((#{a 1200}# (car #{r 1197}#)))
- (if (eq? (car (cdr #{a 1200}#)) 'macro)
- (cons #{a 1200}#
- (#{macros-only-env 335}# (cdr #{r 1197}#)))
- (#{macros-only-env 335}# (cdr #{r 1197}#)))))))
- (#{lookup 337}#
- (lambda (#{x 1201}# #{r 1202}# #{mod 1203}#)
- (let ((#{t 1209}# (assq #{x 1201}# #{r 1202}#)))
- (if #{t 1209}#
- (cdr #{t 1209}#)
- (if (symbol? #{x 1201}#)
- (let ((#{t 1215}#
- (#{get-global-definition-hook 259}#
- #{x 1201}#
- #{mod 1203}#)))
- (if #{t 1215}# #{t 1215}# '(global)))
+ (let ((#{a 1218}# (car #{r 1215}#)))
+ (if (eq? (car (cdr #{a 1218}#)) 'macro)
+ (cons #{a 1218}#
+ (#{macros-only-env 345}# (cdr #{r 1215}#)))
+ (#{macros-only-env 345}# (cdr #{r 1215}#)))))))
+ (#{lookup 347}#
+ (lambda (#{x 1219}# #{r 1220}# #{mod 1221}#)
+ (let ((#{t 1227}# (assq #{x 1219}# #{r 1220}#)))
+ (if #{t 1227}#
+ (cdr #{t 1227}#)
+ (if (symbol? #{x 1219}#)
+ (let ((#{t 1233}#
+ (#{get-global-definition-hook 265}#
+ #{x 1219}#
+ #{mod 1221}#)))
+ (if #{t 1233}# #{t 1233}# '(global)))
'(displaced-lexical))))))
- (#{global-extend 339}#
- (lambda (#{type 1220}# #{sym 1221}# #{val 1222}#)
- (#{put-global-definition-hook 257}#
- #{sym 1221}#
- #{type 1220}#
- #{val 1222}#)))
- (#{nonsymbol-id? 341}#
- (lambda (#{x 1226}#)
- (if (#{syntax-object? 309}# #{x 1226}#)
+ (#{global-extend 349}#
+ (lambda (#{type 1238}# #{sym 1239}# #{val 1240}#)
+ (#{put-global-definition-hook 263}#
+ #{sym 1239}#
+ #{type 1238}#
+ #{val 1240}#)))
+ (#{nonsymbol-id? 351}#
+ (lambda (#{x 1244}#)
+ (if (#{syntax-object? 316}# #{x 1244}#)
(symbol?
- (#{syntax-object-expression 311}# #{x 1226}#))
+ (#{syntax-object-expression 318}# #{x 1244}#))
#f)))
- (#{id? 343}#
- (lambda (#{x 1230}#)
- (if (symbol? #{x 1230}#)
+ (#{id? 353}#
+ (lambda (#{x 1248}#)
+ (if (symbol? #{x 1248}#)
#t
- (if (#{syntax-object? 309}# #{x 1230}#)
+ (if (#{syntax-object? 316}# #{x 1248}#)
(symbol?
- (#{syntax-object-expression 311}# #{x 1230}#))
+ (#{syntax-object-expression 318}# #{x 1248}#))
#f))))
- (#{id-sym-name&marks 346}#
- (lambda (#{x 1237}# #{w 1238}#)
- (if (#{syntax-object? 309}# #{x 1237}#)
+ (#{id-sym-name&marks 357}#
+ (lambda (#{x 1255}# #{w 1256}#)
+ (if (#{syntax-object? 316}# #{x 1255}#)
(values
- (#{syntax-object-expression 311}# #{x 1237}#)
- (#{join-marks 393}#
- (car #{w 1238}#)
- (car (#{syntax-object-wrap 313}# #{x 1237}#))))
- (values #{x 1237}# (car #{w 1238}#)))))
- (#{gen-label 356}#
+ (#{syntax-object-expression 318}# #{x 1255}#)
+ (#{join-marks 411}#
+ (car #{w 1256}#)
+ (car (#{syntax-object-wrap 320}# #{x 1255}#))))
+ (values #{x 1255}# (car #{w 1256}#)))))
+ (#{gen-label 371}#
(lambda () (symbol->string (gensym "i"))))
- (#{gen-labels 358}#
- (lambda (#{ls 1244}#)
- (if (null? #{ls 1244}#)
+ (#{gen-labels 373}#
+ (lambda (#{ls 1262}#)
+ (if (null? #{ls 1262}#)
'()
- (cons (#{gen-label 356}#)
- (#{gen-labels 358}# (cdr #{ls 1244}#))))))
- (#{make-ribcage 361}#
- (lambda (#{symnames 1246}#
- #{marks 1247}#
- #{labels 1248}#)
+ (cons (#{gen-label 371}#)
+ (#{gen-labels 373}# (cdr #{ls 1262}#))))))
+ (#{make-ribcage 376}#
+ (lambda (#{symnames 1264}#
+ #{marks 1265}#
+ #{labels 1266}#)
(vector
'ribcage
- #{symnames 1246}#
- #{marks 1247}#
- #{labels 1248}#)))
- (#{ribcage-symnames 365}#
- (lambda (#{x 1257}#) (vector-ref #{x 1257}# 1)))
- (#{ribcage-marks 367}#
- (lambda (#{x 1259}#) (vector-ref #{x 1259}# 2)))
- (#{ribcage-labels 369}#
- (lambda (#{x 1261}#) (vector-ref #{x 1261}# 3)))
- (#{set-ribcage-symnames! 371}#
- (lambda (#{x 1263}# #{update 1264}#)
- (vector-set! #{x 1263}# 1 #{update 1264}#)))
- (#{set-ribcage-marks! 373}#
- (lambda (#{x 1267}# #{update 1268}#)
- (vector-set! #{x 1267}# 2 #{update 1268}#)))
- (#{set-ribcage-labels! 375}#
- (lambda (#{x 1271}# #{update 1272}#)
- (vector-set! #{x 1271}# 3 #{update 1272}#)))
- (#{anti-mark 381}#
- (lambda (#{w 1275}#)
- (cons (cons #f (car #{w 1275}#))
- (cons 'shift (cdr #{w 1275}#)))))
- (#{extend-ribcage! 385}#
- (lambda (#{ribcage 1281}# #{id 1282}# #{label 1283}#)
+ #{symnames 1264}#
+ #{marks 1265}#
+ #{labels 1266}#)))
+ (#{ribcage-symnames 380}#
+ (lambda (#{x 1275}#) (vector-ref #{x 1275}# 1)))
+ (#{ribcage-marks 382}#
+ (lambda (#{x 1277}#) (vector-ref #{x 1277}# 2)))
+ (#{ribcage-labels 384}#
+ (lambda (#{x 1279}#) (vector-ref #{x 1279}# 3)))
+ (#{set-ribcage-symnames! 386}#
+ (lambda (#{x 1281}# #{update 1282}#)
+ (vector-set! #{x 1281}# 1 #{update 1282}#)))
+ (#{set-ribcage-marks! 388}#
+ (lambda (#{x 1285}# #{update 1286}#)
+ (vector-set! #{x 1285}# 2 #{update 1286}#)))
+ (#{set-ribcage-labels! 390}#
+ (lambda (#{x 1289}# #{update 1290}#)
+ (vector-set! #{x 1289}# 3 #{update 1290}#)))
+ (#{anti-mark 397}#
+ (lambda (#{w 1293}#)
+ (cons (cons #f (car #{w 1293}#))
+ (cons 'shift (cdr #{w 1293}#)))))
+ (#{extend-ribcage! 403}#
+ (lambda (#{ribcage 1299}# #{id 1300}# #{label 1301}#)
(begin
- (#{set-ribcage-symnames! 371}#
- #{ribcage 1281}#
- (cons (#{syntax-object-expression 311}# #{id 1282}#)
- (#{ribcage-symnames 365}# #{ribcage 1281}#)))
- (#{set-ribcage-marks! 373}#
- #{ribcage 1281}#
- (cons (car (#{syntax-object-wrap 313}# #{id 1282}#))
- (#{ribcage-marks 367}# #{ribcage 1281}#)))
- (#{set-ribcage-labels! 375}#
- #{ribcage 1281}#
- (cons #{label 1283}#
- (#{ribcage-labels 369}# #{ribcage 1281}#))))))
- (#{make-binding-wrap 387}#
- (lambda (#{ids 1288}# #{labels 1289}# #{w 1290}#)
- (if (null? #{ids 1288}#)
- #{w 1290}#
- (cons (car #{w 1290}#)
- (cons (let ((#{labelvec 1297}#
- (list->vector #{labels 1289}#)))
- (let ((#{n 1299}# (vector-length #{labelvec 1297}#)))
- (let ((#{symnamevec 1302}# (make-vector #{n 1299}#))
- (#{marksvec 1303}# (make-vector #{n 1299}#)))
+ (#{set-ribcage-symnames! 386}#
+ #{ribcage 1299}#
+ (cons (#{syntax-object-expression 318}# #{id 1300}#)
+ (#{ribcage-symnames 380}# #{ribcage 1299}#)))
+ (#{set-ribcage-marks! 388}#
+ #{ribcage 1299}#
+ (cons (car (#{syntax-object-wrap 320}# #{id 1300}#))
+ (#{ribcage-marks 382}# #{ribcage 1299}#)))
+ (#{set-ribcage-labels! 390}#
+ #{ribcage 1299}#
+ (cons #{label 1301}#
+ (#{ribcage-labels 384}# #{ribcage 1299}#))))))
+ (#{make-binding-wrap 405}#
+ (lambda (#{ids 1306}# #{labels 1307}# #{w 1308}#)
+ (if (null? #{ids 1306}#)
+ #{w 1308}#
+ (cons (car #{w 1308}#)
+ (cons (let ((#{labelvec 1315}#
+ (list->vector #{labels 1307}#)))
+ (let ((#{n 1317}# (vector-length #{labelvec 1315}#)))
+ (let ((#{symnamevec 1320}# (make-vector #{n 1317}#))
+ (#{marksvec 1321}# (make-vector #{n 1317}#)))
(begin
(letrec*
- ((#{f 1307}#
- (lambda (#{ids 1308}# #{i 1309}#)
- (if (not (null? #{ids 1308}#))
+ ((#{f 1325}#
+ (lambda (#{ids 1326}# #{i 1327}#)
+ (if (not (null? #{ids 1326}#))
(call-with-values
(lambda ()
- (#{id-sym-name&marks 346}#
- (car #{ids 1308}#)
- #{w 1290}#))
- (lambda (#{symname 1310}#
- #{marks 1311}#)
+ (#{id-sym-name&marks 357}#
+ (car #{ids 1326}#)
+ #{w 1308}#))
+ (lambda (#{symname 1328}#
+ #{marks 1329}#)
(begin
(vector-set!
- #{symnamevec 1302}#
- #{i 1309}#
- #{symname 1310}#)
+ #{symnamevec 1320}#
+ #{i 1327}#
+ #{symname 1328}#)
(vector-set!
- #{marksvec 1303}#
- #{i 1309}#
- #{marks 1311}#)
- (#{f 1307}#
- (cdr #{ids 1308}#)
- (#{1+}# #{i 1309}#)))))))))
- (#{f 1307}# #{ids 1288}# 0))
- (#{make-ribcage 361}#
- #{symnamevec 1302}#
- #{marksvec 1303}#
- #{labelvec 1297}#)))))
- (cdr #{w 1290}#))))))
- (#{smart-append 389}#
- (lambda (#{m1 1316}# #{m2 1317}#)
- (if (null? #{m2 1317}#)
- #{m1 1316}#
- (append #{m1 1316}# #{m2 1317}#))))
- (#{join-wraps 391}#
- (lambda (#{w1 1320}# #{w2 1321}#)
- (let ((#{m1 1326}# (car #{w1 1320}#))
- (#{s1 1327}# (cdr #{w1 1320}#)))
- (if (null? #{m1 1326}#)
- (if (null? #{s1 1327}#)
- #{w2 1321}#
- (cons (car #{w2 1321}#)
- (#{smart-append 389}#
- #{s1 1327}#
- (cdr #{w2 1321}#))))
- (cons (#{smart-append 389}#
- #{m1 1326}#
- (car #{w2 1321}#))
- (#{smart-append 389}#
- #{s1 1327}#
- (cdr #{w2 1321}#)))))))
- (#{join-marks 393}#
- (lambda (#{m1 1336}# #{m2 1337}#)
- (#{smart-append 389}# #{m1 1336}# #{m2 1337}#)))
- (#{same-marks? 395}#
- (lambda (#{x 1340}# #{y 1341}#)
- (let ((#{t 1346}# (eq? #{x 1340}# #{y 1341}#)))
- (if #{t 1346}#
- #{t 1346}#
- (if (not (null? #{x 1340}#))
- (if (not (null? #{y 1341}#))
- (if (eq? (car #{x 1340}#) (car #{y 1341}#))
- (#{same-marks? 395}#
- (cdr #{x 1340}#)
- (cdr #{y 1341}#))
- #f)
+ #{marksvec 1321}#
+ #{i 1327}#
+ #{marks 1329}#)
+ (#{f 1325}#
+ (cdr #{ids 1326}#)
+ (#{1+}# #{i 1327}#)))))))))
+ (#{f 1325}# #{ids 1306}# 0))
+ (#{make-ribcage 376}#
+ #{symnamevec 1320}#
+ #{marksvec 1321}#
+ #{labelvec 1315}#)))))
+ (cdr #{w 1308}#))))))
+ (#{smart-append 407}#
+ (lambda (#{m1 1334}# #{m2 1335}#)
+ (if (null? #{m2 1335}#)
+ #{m1 1334}#
+ (append #{m1 1334}# #{m2 1335}#))))
+ (#{join-wraps 409}#
+ (lambda (#{w1 1338}# #{w2 1339}#)
+ (let ((#{m1 1344}# (car #{w1 1338}#))
+ (#{s1 1345}# (cdr #{w1 1338}#)))
+ (if (null? #{m1 1344}#)
+ (if (null? #{s1 1345}#)
+ #{w2 1339}#
+ (cons (car #{w2 1339}#)
+ (#{smart-append 407}#
+ #{s1 1345}#
+ (cdr #{w2 1339}#))))
+ (cons (#{smart-append 407}#
+ #{m1 1344}#
+ (car #{w2 1339}#))
+ (#{smart-append 407}#
+ #{s1 1345}#
+ (cdr #{w2 1339}#)))))))
+ (#{join-marks 411}#
+ (lambda (#{m1 1354}# #{m2 1355}#)
+ (#{smart-append 407}# #{m1 1354}# #{m2 1355}#)))
+ (#{same-marks? 413}#
+ (lambda (#{x 1358}# #{y 1359}#)
+ (if (eq? #{x 1358}# #{y 1359}#)
+ (eq? #{x 1358}# #{y 1359}#)
+ (if (not (null? #{x 1358}#))
+ (if (not (null? #{y 1359}#))
+ (if (eq? (car #{x 1358}#) (car #{y 1359}#))
+ (#{same-marks? 413}#
+ (cdr #{x 1358}#)
+ (cdr #{y 1359}#))
#f)
- #f)))))
- (#{id-var-name 397}#
- (lambda (#{id 1352}# #{w 1353}#)
+ #f)
+ #f))))
+ (#{id-var-name 415}#
+ (lambda (#{id 1370}# #{w 1371}#)
(letrec*
- ((#{search 1358}#
- (lambda (#{sym 1374}# #{subst 1375}# #{marks 1376}#)
- (if (null? #{subst 1375}#)
- (values #f #{marks 1376}#)
- (let ((#{fst 1381}# (car #{subst 1375}#)))
- (if (eq? #{fst 1381}# 'shift)
- (#{search 1358}#
- #{sym 1374}#
- (cdr #{subst 1375}#)
- (cdr #{marks 1376}#))
- (let ((#{symnames 1383}#
- (#{ribcage-symnames 365}# #{fst 1381}#)))
- (if (vector? #{symnames 1383}#)
- (#{search-vector-rib 1362}#
- #{sym 1374}#
- #{subst 1375}#
- #{marks 1376}#
- #{symnames 1383}#
- #{fst 1381}#)
- (#{search-list-rib 1360}#
- #{sym 1374}#
- #{subst 1375}#
- #{marks 1376}#
- #{symnames 1383}#
- #{fst 1381}#))))))))
- (#{search-list-rib 1360}#
- (lambda (#{sym 1384}#
- #{subst 1385}#
- #{marks 1386}#
- #{symnames 1387}#
- #{ribcage 1388}#)
+ ((#{search 1377}#
+ (lambda (#{sym 1393}# #{subst 1394}# #{marks 1395}#)
+ (if (null? #{subst 1394}#)
+ (values #f #{marks 1395}#)
+ (let ((#{fst 1400}# (car #{subst 1394}#)))
+ (if (eq? #{fst 1400}# 'shift)
+ (#{search 1377}#
+ #{sym 1393}#
+ (cdr #{subst 1394}#)
+ (cdr #{marks 1395}#))
+ (let ((#{symnames 1402}#
+ (#{ribcage-symnames 380}# #{fst 1400}#)))
+ (if (vector? #{symnames 1402}#)
+ (#{search-vector-rib 1381}#
+ #{sym 1393}#
+ #{subst 1394}#
+ #{marks 1395}#
+ #{symnames 1402}#
+ #{fst 1400}#)
+ (#{search-list-rib 1379}#
+ #{sym 1393}#
+ #{subst 1394}#
+ #{marks 1395}#
+ #{symnames 1402}#
+ #{fst 1400}#))))))))
+ (#{search-list-rib 1379}#
+ (lambda (#{sym 1403}#
+ #{subst 1404}#
+ #{marks 1405}#
+ #{symnames 1406}#
+ #{ribcage 1407}#)
(letrec*
- ((#{f 1397}#
- (lambda (#{symnames 1398}# #{i 1399}#)
- (if (null? #{symnames 1398}#)
- (#{search 1358}#
- #{sym 1384}#
- (cdr #{subst 1385}#)
- #{marks 1386}#)
- (if (if (eq? (car #{symnames 1398}#) #{sym 1384}#)
- (#{same-marks? 395}#
- #{marks 1386}#
+ ((#{f 1416}#
+ (lambda (#{symnames 1417}# #{i 1418}#)
+ (if (null? #{symnames 1417}#)
+ (#{search 1377}#
+ #{sym 1403}#
+ (cdr #{subst 1404}#)
+ #{marks 1405}#)
+ (if (if (eq? (car #{symnames 1417}#) #{sym 1403}#)
+ (#{same-marks? 413}#
+ #{marks 1405}#
(list-ref
- (#{ribcage-marks 367}# #{ribcage 1388}#)
- #{i 1399}#))
+ (#{ribcage-marks 382}# #{ribcage 1407}#)
+ #{i 1418}#))
#f)
(values
(list-ref
- (#{ribcage-labels 369}# #{ribcage 1388}#)
- #{i 1399}#)
- #{marks 1386}#)
- (#{f 1397}#
- (cdr #{symnames 1398}#)
- (#{1+}# #{i 1399}#)))))))
- (#{f 1397}# #{symnames 1387}# 0))))
- (#{search-vector-rib 1362}#
- (lambda (#{sym 1408}#
- #{subst 1409}#
- #{marks 1410}#
- #{symnames 1411}#
- #{ribcage 1412}#)
- (let ((#{n 1419}# (vector-length #{symnames 1411}#)))
+ (#{ribcage-labels 384}# #{ribcage 1407}#)
+ #{i 1418}#)
+ #{marks 1405}#)
+ (#{f 1416}#
+ (cdr #{symnames 1417}#)
+ (#{1+}# #{i 1418}#)))))))
+ (#{f 1416}# #{symnames 1406}# 0))))
+ (#{search-vector-rib 1381}#
+ (lambda (#{sym 1427}#
+ #{subst 1428}#
+ #{marks 1429}#
+ #{symnames 1430}#
+ #{ribcage 1431}#)
+ (let ((#{n 1438}# (vector-length #{symnames 1430}#)))
(letrec*
- ((#{f 1422}#
- (lambda (#{i 1423}#)
- (if (= #{i 1423}# #{n 1419}#)
- (#{search 1358}#
- #{sym 1408}#
- (cdr #{subst 1409}#)
- #{marks 1410}#)
- (if (if (eq? (vector-ref #{symnames 1411}# #{i 1423}#)
- #{sym 1408}#)
- (#{same-marks? 395}#
- #{marks 1410}#
+ ((#{f 1441}#
+ (lambda (#{i 1442}#)
+ (if (= #{i 1442}# #{n 1438}#)
+ (#{search 1377}#
+ #{sym 1427}#
+ (cdr #{subst 1428}#)
+ #{marks 1429}#)
+ (if (if (eq? (vector-ref #{symnames 1430}# #{i 1442}#)
+ #{sym 1427}#)
+ (#{same-marks? 413}#
+ #{marks 1429}#
(vector-ref
- (#{ribcage-marks 367}# #{ribcage 1412}#)
- #{i 1423}#))
+ (#{ribcage-marks 382}# #{ribcage 1431}#)
+ #{i 1442}#))
#f)
(values
(vector-ref
- (#{ribcage-labels 369}# #{ribcage 1412}#)
- #{i 1423}#)
- #{marks 1410}#)
- (#{f 1422}# (#{1+}# #{i 1423}#)))))))
- (#{f 1422}# 0))))))
- (if (symbol? #{id 1352}#)
- (let ((#{t 1435}#
- (#{search 1358}#
- #{id 1352}#
- (cdr #{w 1353}#)
- (car #{w 1353}#))))
- (if #{t 1435}# #{t 1435}# #{id 1352}#))
- (if (#{syntax-object? 309}# #{id 1352}#)
- (let ((#{id 1444}#
- (#{syntax-object-expression 311}# #{id 1352}#))
- (#{w1 1445}#
- (#{syntax-object-wrap 313}# #{id 1352}#)))
- (let ((#{marks 1447}#
- (#{join-marks 393}#
- (car #{w 1353}#)
- (car #{w1 1445}#))))
+ (#{ribcage-labels 384}# #{ribcage 1431}#)
+ #{i 1442}#)
+ #{marks 1429}#)
+ (#{f 1441}# (#{1+}# #{i 1442}#)))))))
+ (#{f 1441}# 0))))))
+ (if (symbol? #{id 1370}#)
+ (let ((#{t 1454}#
+ (#{search 1377}#
+ #{id 1370}#
+ (cdr #{w 1371}#)
+ (car #{w 1371}#))))
+ (if #{t 1454}# #{t 1454}# #{id 1370}#))
+ (if (#{syntax-object? 316}# #{id 1370}#)
+ (let ((#{id 1463}#
+ (#{syntax-object-expression 318}# #{id 1370}#))
+ (#{w1 1464}#
+ (#{syntax-object-wrap 320}# #{id 1370}#)))
+ (let ((#{marks 1466}#
+ (#{join-marks 411}#
+ (car #{w 1371}#)
+ (car #{w1 1464}#))))
(call-with-values
(lambda ()
- (#{search 1358}#
- #{id 1444}#
- (cdr #{w 1353}#)
- #{marks 1447}#))
- (lambda (#{new-id 1451}# #{marks 1452}#)
- (let ((#{t 1457}# #{new-id 1451}#))
- (if #{t 1457}#
- #{t 1457}#
- (let ((#{t 1460}#
- (#{search 1358}#
- #{id 1444}#
- (cdr #{w1 1445}#)
- #{marks 1452}#)))
- (if #{t 1460}# #{t 1460}# #{id 1444}#))))))))
+ (#{search 1377}#
+ #{id 1463}#
+ (cdr #{w 1371}#)
+ #{marks 1466}#))
+ (lambda (#{new-id 1470}# #{marks 1471}#)
+ (if #{new-id 1470}#
+ #{new-id 1470}#
+ (let ((#{t 1479}#
+ (#{search 1377}#
+ #{id 1463}#
+ (cdr #{w1 1464}#)
+ #{marks 1471}#)))
+ (if #{t 1479}# #{t 1479}# #{id 1463}#)))))))
(syntax-violation
'id-var-name
"invalid id"
- #{id 1352}#))))))
- (#{free-id=? 399}#
- (lambda (#{i 1465}# #{j 1466}#)
- (let ((#{ni 1471}#
- (#{id-var-name 397}# #{i 1465}# '(())))
- (#{nj 1472}#
- (#{id-var-name 397}# #{j 1466}# '(()))))
- (letrec*
- ((#{id-module-binding 1476}#
- (lambda (#{id 1477}#)
- (let ((#{mod 1480}#
- (if (#{syntax-object? 309}# #{id 1477}#)
- (#{syntax-object-module 315}# #{id 1477}#)
- #f)))
- (module-variable
- (if #{mod 1480}#
- (resolve-module (cdr #{mod 1480}#))
- (current-module))
- (let ((#{x 1485}# #{id 1477}#))
- (if (#{syntax-object? 309}# #{x 1485}#)
- (#{syntax-object-expression 311}# #{x 1485}#)
- #{x 1485}#)))))))
- (if (eq? #{ni 1471}#
- (let ((#{x 1488}# #{i 1465}#))
- (if (#{syntax-object? 309}# #{x 1488}#)
- (#{syntax-object-expression 311}# #{x 1488}#)
- #{x 1488}#)))
- (if (eq? #{nj 1472}#
- (let ((#{x 1492}# #{j 1466}#))
- (if (#{syntax-object? 309}# #{x 1492}#)
- (#{syntax-object-expression 311}# #{x 1492}#)
- #{x 1492}#)))
- (if (let ((#{bi 1495}#
- (#{id-module-binding 1476}# #{i 1465}#)))
- (if #{bi 1495}#
- (eq? #{bi 1495}#
- (#{id-module-binding 1476}# #{j 1466}#))
- (if (not (#{id-module-binding 1476}# #{j 1466}#))
- (eq? #{ni 1471}# #{nj 1472}#)
- #f)))
- (eq? (#{id-module-binding 1476}# #{i 1465}#)
- (#{id-module-binding 1476}# #{j 1466}#))
- #f)
+ #{id 1370}#))))))
+ (#{free-id=? 417}#
+ (lambda (#{i 1484}# #{j 1485}#)
+ (let ((#{ni 1490}#
+ (#{id-var-name 415}# #{i 1484}# '(())))
+ (#{nj 1491}#
+ (#{id-var-name 415}# #{j 1485}# '(()))))
+ (if (eq? #{ni 1490}#
+ (if (#{syntax-object? 316}# #{i 1484}#)
+ (#{syntax-object-expression 318}# #{i 1484}#)
+ #{i 1484}#))
+ (if (eq? #{nj 1491}#
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-expression 318}# #{j 1485}#)
+ #{j 1485}#))
+ (if (let ((#{bi 1514}#
+ (let ((#{mod 4428}#
+ (if (#{syntax-object? 316}# #{i 1484}#)
+ (#{syntax-object-module 322}# #{i 1484}#)
+ #f)))
+ (module-variable
+ (if #{mod 4428}#
+ (resolve-module (cdr #{mod 4428}#))
+ (current-module))
+ (if (#{syntax-object? 316}# #{i 1484}#)
+ (#{syntax-object-expression 318}# #{i 1484}#)
+ #{i 1484}#)))))
+ (if #{bi 1514}#
+ (eq? #{bi 1514}#
+ (let ((#{mod 4432}#
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-module 322}# #{j 1485}#)
+ #f)))
+ (module-variable
+ (if #{mod 4432}#
+ (resolve-module (cdr #{mod 4432}#))
+ (current-module))
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-expression 318}# #{j 1485}#)
+ #{j 1485}#))))
+ (if (not (let ((#{mod 4436}#
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-module 322}#
+ #{j 1485}#)
+ #f)))
+ (module-variable
+ (if #{mod 4436}#
+ (resolve-module (cdr #{mod 4436}#))
+ (current-module))
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-expression 318}#
+ #{j 1485}#)
+ #{j 1485}#))))
+ (eq? #{ni 1490}# #{nj 1491}#)
+ #f)))
+ (eq? (let ((#{mod 4440}#
+ (if (#{syntax-object? 316}# #{i 1484}#)
+ (#{syntax-object-module 322}# #{i 1484}#)
+ #f)))
+ (module-variable
+ (if #{mod 4440}#
+ (resolve-module (cdr #{mod 4440}#))
+ (current-module))
+ (if (#{syntax-object? 316}# #{i 1484}#)
+ (#{syntax-object-expression 318}# #{i 1484}#)
+ #{i 1484}#)))
+ (let ((#{mod 4444}#
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-module 322}# #{j 1485}#)
+ #f)))
+ (module-variable
+ (if #{mod 4444}#
+ (resolve-module (cdr #{mod 4444}#))
+ (current-module))
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-expression 318}# #{j 1485}#)
+ #{j 1485}#))))
#f)
- (if (eq? #{ni 1471}# #{nj 1472}#)
- (not (eq? #{nj 1472}#
- (let ((#{x 1503}# #{j 1466}#))
- (if (#{syntax-object? 309}# #{x 1503}#)
- (#{syntax-object-expression 311}# #{x 1503}#)
- #{x 1503}#))))
- #f))))))
- (#{bound-id=? 401}#
- (lambda (#{i 1504}# #{j 1505}#)
- (if (if (#{syntax-object? 309}# #{i 1504}#)
- (#{syntax-object? 309}# #{j 1505}#)
#f)
- (if (eq? (#{syntax-object-expression 311}# #{i 1504}#)
- (#{syntax-object-expression 311}# #{j 1505}#))
- (#{same-marks? 395}#
- (car (#{syntax-object-wrap 313}# #{i 1504}#))
- (car (#{syntax-object-wrap 313}# #{j 1505}#)))
+ (if (eq? #{ni 1490}# #{nj 1491}#)
+ (not (eq? #{nj 1491}#
+ (if (#{syntax-object? 316}# #{j 1485}#)
+ (#{syntax-object-expression 318}# #{j 1485}#)
+ #{j 1485}#)))
+ #f)))))
+ (#{bound-id=? 419}#
+ (lambda (#{i 1523}# #{j 1524}#)
+ (if (if (#{syntax-object? 316}# #{i 1523}#)
+ (#{syntax-object? 316}# #{j 1524}#)
+ #f)
+ (if (eq? (#{syntax-object-expression 318}# #{i 1523}#)
+ (#{syntax-object-expression 318}# #{j 1524}#))
+ (#{same-marks? 413}#
+ (car (#{syntax-object-wrap 320}# #{i 1523}#))
+ (car (#{syntax-object-wrap 320}# #{j 1524}#)))
#f)
- (eq? #{i 1504}# #{j 1505}#))))
- (#{valid-bound-ids? 403}#
- (lambda (#{ids 1514}#)
+ (eq? #{i 1523}# #{j 1524}#))))
+ (#{valid-bound-ids? 421}#
+ (lambda (#{ids 1533}#)
(if (letrec*
- ((#{all-ids? 1519}#
- (lambda (#{ids 1520}#)
- (let ((#{t 1523}# (null? #{ids 1520}#)))
- (if #{t 1523}#
- #{t 1523}#
- (if (#{id? 343}# (car #{ids 1520}#))
- (#{all-ids? 1519}# (cdr #{ids 1520}#))
- #f))))))
- (#{all-ids? 1519}# #{ids 1514}#))
- (#{distinct-bound-ids? 405}# #{ids 1514}#)
+ ((#{all-ids? 1538}#
+ (lambda (#{ids 1539}#)
+ (if (null? #{ids 1539}#)
+ (null? #{ids 1539}#)
+ (if (#{id? 353}# (car #{ids 1539}#))
+ (#{all-ids? 1538}# (cdr #{ids 1539}#))
+ #f)))))
+ (#{all-ids? 1538}# #{ids 1533}#))
+ (#{distinct-bound-ids? 423}# #{ids 1533}#)
#f)))
- (#{distinct-bound-ids? 405}#
- (lambda (#{ids 1528}#)
+ (#{distinct-bound-ids? 423}#
+ (lambda (#{ids 1547}#)
(letrec*
- ((#{distinct? 1532}#
- (lambda (#{ids 1533}#)
- (let ((#{t 1536}# (null? #{ids 1533}#)))
- (if #{t 1536}#
- #{t 1536}#
- (if (not (#{bound-id-member? 407}#
- (car #{ids 1533}#)
- (cdr #{ids 1533}#)))
- (#{distinct? 1532}# (cdr #{ids 1533}#))
- #f))))))
- (#{distinct? 1532}# #{ids 1528}#))))
- (#{bound-id-member? 407}#
- (lambda (#{x 1540}# #{list 1541}#)
- (if (not (null? #{list 1541}#))
- (let ((#{t 1548}#
- (#{bound-id=? 401}#
- #{x 1540}#
- (car #{list 1541}#))))
- (if #{t 1548}#
- #{t 1548}#
- (#{bound-id-member? 407}#
- #{x 1540}#
- (cdr #{list 1541}#))))
+ ((#{distinct? 1551}#
+ (lambda (#{ids 1552}#)
+ (if (null? #{ids 1552}#)
+ (null? #{ids 1552}#)
+ (if (not (#{bound-id-member? 425}#
+ (car #{ids 1552}#)
+ (cdr #{ids 1552}#)))
+ (#{distinct? 1551}# (cdr #{ids 1552}#))
+ #f)))))
+ (#{distinct? 1551}# #{ids 1547}#))))
+ (#{bound-id-member? 425}#
+ (lambda (#{x 1559}# #{list 1560}#)
+ (if (not (null? #{list 1560}#))
+ (let ((#{t 1567}#
+ (#{bound-id=? 419}#
+ #{x 1559}#
+ (car #{list 1560}#))))
+ (if #{t 1567}#
+ #{t 1567}#
+ (#{bound-id-member? 425}#
+ #{x 1559}#
+ (cdr #{list 1560}#))))
#f)))
- (#{wrap 409}#
- (lambda (#{x 1550}# #{w 1551}# #{defmod 1552}#)
- (if (if (null? (car #{w 1551}#))
- (null? (cdr #{w 1551}#))
+ (#{wrap 427}#
+ (lambda (#{x 1569}# #{w 1570}# #{defmod 1571}#)
+ (if (if (null? (car #{w 1570}#))
+ (null? (cdr #{w 1570}#))
#f)
- #{x 1550}#
- (if (#{syntax-object? 309}# #{x 1550}#)
- (#{make-syntax-object 307}#
- (#{syntax-object-expression 311}# #{x 1550}#)
- (#{join-wraps 391}#
- #{w 1551}#
- (#{syntax-object-wrap 313}# #{x 1550}#))
- (#{syntax-object-module 315}# #{x 1550}#))
- (if (null? #{x 1550}#)
- #{x 1550}#
- (#{make-syntax-object 307}#
- #{x 1550}#
- #{w 1551}#
- #{defmod 1552}#))))))
- (#{source-wrap 411}#
- (lambda (#{x 1567}#
- #{w 1568}#
- #{s 1569}#
- #{defmod 1570}#)
- (#{wrap 409}#
- (#{decorate-source 261}# #{x 1567}# #{s 1569}#)
- #{w 1568}#
- #{defmod 1570}#)))
- (#{chi-sequence 413}#
- (lambda (#{body 1575}#
- #{r 1576}#
- #{w 1577}#
- #{s 1578}#
- #{mod 1579}#)
- (#{build-sequence 297}#
- #{s 1578}#
+ #{x 1569}#
+ (if (#{syntax-object? 316}# #{x 1569}#)
+ (#{make-syntax-object 314}#
+ (#{syntax-object-expression 318}# #{x 1569}#)
+ (#{join-wraps 409}#
+ #{w 1570}#
+ (#{syntax-object-wrap 320}# #{x 1569}#))
+ (#{syntax-object-module 322}# #{x 1569}#))
+ (if (null? #{x 1569}#)
+ #{x 1569}#
+ (#{make-syntax-object 314}#
+ #{x 1569}#
+ #{w 1570}#
+ #{defmod 1571}#))))))
+ (#{source-wrap 429}#
+ (lambda (#{x 1586}#
+ #{w 1587}#
+ #{s 1588}#
+ #{defmod 1589}#)
+ (#{wrap 427}#
+ (#{decorate-source 267}# #{x 1586}# #{s 1588}#)
+ #{w 1587}#
+ #{defmod 1589}#)))
+ (#{chi-sequence 431}#
+ (lambda (#{body 1594}#
+ #{r 1595}#
+ #{w 1596}#
+ #{s 1597}#
+ #{mod 1598}#)
+ (#{build-sequence 303}#
+ #{s 1597}#
(letrec*
- ((#{dobody 1590}#
- (lambda (#{body 1591}#
- #{r 1592}#
- #{w 1593}#
- #{mod 1594}#)
- (if (null? #{body 1591}#)
+ ((#{dobody 1609}#
+ (lambda (#{body 1610}#
+ #{r 1611}#
+ #{w 1612}#
+ #{mod 1613}#)
+ (if (null? #{body 1610}#)
'()
- (let ((#{first 1596}#
- (#{chi 423}#
- (car #{body 1591}#)
- #{r 1592}#
- #{w 1593}#
- #{mod 1594}#)))
- (cons #{first 1596}#
- (#{dobody 1590}#
- (cdr #{body 1591}#)
- #{r 1592}#
- #{w 1593}#
- #{mod 1594}#)))))))
- (#{dobody 1590}#
- #{body 1575}#
- #{r 1576}#
- #{w 1577}#
- #{mod 1579}#)))))
- (#{chi-top-sequence 415}#
- (lambda (#{body 1597}#
- #{r 1598}#
- #{w 1599}#
- #{s 1600}#
- #{m 1601}#
- #{esew 1602}#
- #{mod 1603}#)
+ (let ((#{first 1615}#
+ (#{chi 441}#
+ (car #{body 1610}#)
+ #{r 1611}#
+ #{w 1612}#
+ #{mod 1613}#)))
+ (cons #{first 1615}#
+ (#{dobody 1609}#
+ (cdr #{body 1610}#)
+ #{r 1611}#
+ #{w 1612}#
+ #{mod 1613}#)))))))
+ (#{dobody 1609}#
+ #{body 1594}#
+ #{r 1595}#
+ #{w 1596}#
+ #{mod 1598}#)))))
+ (#{chi-top-sequence 433}#
+ (lambda (#{body 1616}#
+ #{r 1617}#
+ #{w 1618}#
+ #{s 1619}#
+ #{m 1620}#
+ #{esew 1621}#
+ #{mod 1622}#)
(letrec*
- ((#{scan 1612}#
- (lambda (#{body 1613}#
- #{r 1614}#
- #{w 1615}#
- #{s 1616}#
- #{m 1617}#
- #{esew 1618}#
- #{mod 1619}#
- #{exps 1620}#)
- (if (null? #{body 1613}#)
- #{exps 1620}#
+ ((#{scan 1631}#
+ (lambda (#{body 1632}#
+ #{r 1633}#
+ #{w 1634}#
+ #{s 1635}#
+ #{m 1636}#
+ #{esew 1637}#
+ #{mod 1638}#
+ #{exps 1639}#)
+ (if (null? #{body 1632}#)
+ #{exps 1639}#
(call-with-values
(lambda ()
(call-with-values
(lambda ()
- (let ((#{e 1633}# (car #{body 1613}#)))
- (#{syntax-type 421}#
- #{e 1633}#
- #{r 1614}#
- #{w 1615}#
- (let ((#{t 1636}#
- (#{source-annotation 324}# #{e 1633}#)))
- (if #{t 1636}# #{t 1636}# #{s 1616}#))
+ (let ((#{e 1652}# (car #{body 1632}#)))
+ (#{syntax-type 439}#
+ #{e 1652}#
+ #{r 1633}#
+ #{w 1634}#
+ (let ((#{t 1655}#
+ (#{source-annotation 331}# #{e 1652}#)))
+ (if #{t 1655}# #{t 1655}# #{s 1635}#))
#f
- #{mod 1619}#
+ #{mod 1638}#
#f)))
- (lambda (#{type 1638}#
- #{value 1639}#
- #{e 1640}#
- #{w 1641}#
- #{s 1642}#
- #{mod 1643}#)
- (if (memv #{type 1638}# '(begin-form))
- (let ((#{tmp 1651}# #{e 1640}#))
- (let ((#{tmp 1652}#
- ($sc-dispatch #{tmp 1651}# '(_))))
- (if #{tmp 1652}#
- (@apply (lambda () #{exps 1620}#) #{tmp 1652}#)
- (let ((#{tmp 1653}#
- ($sc-dispatch
- #{tmp 1651}#
- '(_ any . each-any))))
- (if #{tmp 1653}#
- (@apply
- (lambda (#{e1 1656}# #{e2 1657}#)
- (#{scan 1612}#
- (cons #{e1 1656}# #{e2 1657}#)
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- #{m 1617}#
- #{esew 1618}#
- #{mod 1643}#
- #{exps 1620}#))
- #{tmp 1653}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{tmp 1651}#))))))
- (if (memv #{type 1638}# '(local-syntax-form))
- (#{chi-local-syntax 433}#
- #{value 1639}#
- #{e 1640}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- #{mod 1643}#
- (lambda (#{body 1660}#
- #{r 1661}#
- #{w 1662}#
- #{s 1663}#
- #{mod 1664}#)
- (#{scan 1612}#
- #{body 1660}#
- #{r 1661}#
- #{w 1662}#
- #{s 1663}#
- #{m 1617}#
- #{esew 1618}#
- #{mod 1664}#
- #{exps 1620}#)))
- (if (memv #{type 1638}# '(eval-when-form))
- (let ((#{tmp 1671}# #{e 1640}#))
- (let ((#{tmp 1672}#
- ($sc-dispatch
- #{tmp 1671}#
- '(_ each-any any . each-any))))
- (if #{tmp 1672}#
- (@apply
- (lambda (#{x 1676}#
- #{e1 1677}#
- #{e2 1678}#)
- (let ((#{when-list 1681}#
- (#{chi-when-list 419}#
- #{e 1640}#
- #{x 1676}#
- #{w 1641}#))
- (#{body 1682}#
- (cons #{e1 1677}#
- #{e2 1678}#)))
- (if (eq? #{m 1617}# 'e)
- (if (memq 'eval #{when-list 1681}#)
- (#{scan 1612}#
- #{body 1682}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- (if (memq 'expand
- #{when-list 1681}#)
- 'c&e
- 'e)
- '(eval)
- #{mod 1643}#
- #{exps 1620}#)
+ (lambda (#{type 1657}#
+ #{value 1658}#
+ #{e 1659}#
+ #{w 1660}#
+ #{s 1661}#
+ #{mod 1662}#)
+ (if (memv #{type 1657}# '(begin-form))
+ (let ((#{tmp 1671}# ($sc-dispatch #{e 1659}# '(_))))
+ (if #{tmp 1671}#
+ (@apply (lambda () #{exps 1639}#) #{tmp 1671}#)
+ (let ((#{tmp 1672}#
+ ($sc-dispatch
+ #{e 1659}#
+ '(_ any . each-any))))
+ (if #{tmp 1672}#
+ (@apply
+ (lambda (#{e1 1675}# #{e2 1676}#)
+ (#{scan 1631}#
+ (cons #{e1 1675}# #{e2 1676}#)
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ #{m 1636}#
+ #{esew 1637}#
+ #{mod 1662}#
+ #{exps 1639}#))
+ #{tmp 1672}#)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ #{e 1659}#)))))
+ (if (memv #{type 1657}# '(local-syntax-form))
+ (#{chi-local-syntax 451}#
+ #{value 1658}#
+ #{e 1659}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ #{mod 1662}#
+ (lambda (#{body 1679}#
+ #{r 1680}#
+ #{w 1681}#
+ #{s 1682}#
+ #{mod 1683}#)
+ (#{scan 1631}#
+ #{body 1679}#
+ #{r 1680}#
+ #{w 1681}#
+ #{s 1682}#
+ #{m 1636}#
+ #{esew 1637}#
+ #{mod 1683}#
+ #{exps 1639}#)))
+ (if (memv #{type 1657}# '(eval-when-form))
+ (let ((#{tmp 1691}#
+ ($sc-dispatch
+ #{e 1659}#
+ '(_ each-any any . each-any))))
+ (if #{tmp 1691}#
+ (@apply
+ (lambda (#{x 1695}#
+ #{e1 1696}#
+ #{e2 1697}#)
+ (let ((#{when-list 1700}#
+ (#{chi-when-list 437}#
+ #{e 1659}#
+ #{x 1695}#
+ #{w 1660}#))
+ (#{body 1701}#
+ (cons #{e1 1696}# #{e2 1697}#)))
+ (if (eq? #{m 1636}# 'e)
+ (if (memq 'eval #{when-list 1700}#)
+ (#{scan 1631}#
+ #{body 1701}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ (if (memq 'expand
+ #{when-list 1700}#)
+ 'c&e
+ 'e)
+ '(eval)
+ #{mod 1662}#
+ #{exps 1639}#)
+ (begin
+ (if (memq 'expand
+ #{when-list 1700}#)
+ (#{top-level-eval-hook 257}#
+ (#{chi-top-sequence 433}#
+ #{body 1701}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ 'e
+ '(eval)
+ #{mod 1662}#)
+ #{mod 1662}#))
+ (values #{exps 1639}#)))
+ (if (memq 'load #{when-list 1700}#)
+ (if (let ((#{t 1710}#
+ (memq 'compile
+ #{when-list
1700}#)))
+ (if #{t 1710}#
+ #{t 1710}#
+ (let ((#{t 1713}#
+ (memq 'expand
+ #{when-list
1700}#)))
+ (if #{t 1713}#
+ #{t 1713}#
+ (if (eq? #{m 1636}#
+ 'c&e)
+ (memq 'eval
+ #{when-list
1700}#)
+ #f)))))
+ (#{scan 1631}#
+ #{body 1701}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ 'c&e
+ '(compile load)
+ #{mod 1662}#
+ #{exps 1639}#)
+ (if (memq #{m 1636}# '(c c&e))
+ (#{scan 1631}#
+ #{body 1701}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ 'c
+ '(load)
+ #{mod 1662}#
+ #{exps 1639}#)
+ (values #{exps 1639}#)))
+ (if (let ((#{t 1721}#
+ (memq 'compile
+ #{when-list
1700}#)))
+ (if #{t 1721}#
+ #{t 1721}#
+ (let ((#{t 1724}#
+ (memq 'expand
+ #{when-list
1700}#)))
+ (if #{t 1724}#
+ #{t 1724}#
+ (if (eq? #{m 1636}#
+ 'c&e)
+ (memq 'eval
+ #{when-list
1700}#)
+ #f)))))
(begin
- (if (memq 'expand
- #{when-list 1681}#)
- (#{top-level-eval-hook 252}#
- (#{chi-top-sequence 415}#
- #{body 1682}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- 'e
- '(eval)
- #{mod 1643}#)
- #{mod 1643}#))
- (values #{exps 1620}#)))
- (if (memq 'load #{when-list 1681}#)
- (if (let ((#{t 1691}#
- (memq 'compile
- #{when-list
1681}#)))
- (if #{t 1691}#
- #{t 1691}#
- (let ((#{t 1694}#
- (memq 'expand
-
#{when-list 1681}#)))
- (if #{t 1694}#
- #{t 1694}#
- (if (eq? #{m 1617}#
- 'c&e)
- (memq 'eval
- #{when-list
1681}#)
- #f)))))
- (#{scan 1612}#
- #{body 1682}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- 'c&e
- '(compile load)
- #{mod 1643}#
- #{exps 1620}#)
- (if (memq #{m 1617}# '(c c&e))
- (#{scan 1612}#
- #{body 1682}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- 'c
- '(load)
- #{mod 1643}#
- #{exps 1620}#)
- (values #{exps 1620}#)))
- (if (let ((#{t 1702}#
- (memq 'compile
- #{when-list
1681}#)))
- (if #{t 1702}#
- #{t 1702}#
- (let ((#{t 1705}#
- (memq 'expand
-
#{when-list 1681}#)))
- (if #{t 1705}#
- #{t 1705}#
- (if (eq? #{m 1617}#
- 'c&e)
- (memq 'eval
- #{when-list
1681}#)
- #f)))))
- (begin
- (#{top-level-eval-hook 252}#
- (#{chi-top-sequence 415}#
- #{body 1682}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- 'e
- '(eval)
- #{mod 1643}#)
- #{mod 1643}#)
- (values #{exps 1620}#))
- (values #{exps 1620}#))))))
- #{tmp 1672}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{tmp 1671}#))))
- (if (memv #{type 1638}# '(define-syntax-form))
- (let ((#{n 1713}#
- (#{id-var-name 397}#
- #{value 1639}#
- #{w 1641}#))
- (#{r 1714}#
- (#{macros-only-env 335}# #{r 1614}#)))
- (if (memv #{m 1617}# '(c))
- (if (memq 'compile #{esew 1618}#)
- (let ((#{e 1717}#
- (#{chi-install-global 417}#
- #{n 1713}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1714}#
- #{w 1641}#
- #{mod 1643}#))))
+ (#{top-level-eval-hook 257}#
+ (#{chi-top-sequence 433}#
+ #{body 1701}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ 'e
+ '(eval)
+ #{mod 1662}#)
+ #{mod 1662}#)
+ (values #{exps 1639}#))
+ (values #{exps 1639}#))))))
+ #{tmp 1691}#)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ #{e 1659}#)))
+ (if (memv #{type 1657}# '(define-syntax-form))
+ (let ((#{n 1732}#
+ (#{id-var-name 415}#
+ #{value 1658}#
+ #{w 1660}#))
+ (#{r 1733}#
+ (#{macros-only-env 345}# #{r 1633}#)))
+ (if (memv #{m 1636}# '(c))
+ (if (memq 'compile #{esew 1637}#)
+ (let ((#{e 1736}#
+ (#{chi-install-global 435}#
+ #{n 1732}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1733}#
+ #{w 1660}#
+ #{mod 1662}#))))
(begin
- (#{top-level-eval-hook 252}#
- #{e 1717}#
- #{mod 1643}#)
- (if (memq 'load #{esew 1618}#)
+ (#{top-level-eval-hook 257}#
+ #{e 1736}#
+ #{mod 1662}#)
+ (if (memq 'load #{esew 1637}#)
(values
- (cons #{e 1717}# #{exps 1620}#))
- (values #{exps 1620}#))))
- (if (memq 'load #{esew 1618}#)
+ (cons #{e 1736}# #{exps 1639}#))
+ (values #{exps 1639}#))))
+ (if (memq 'load #{esew 1637}#)
(values
- (cons (#{chi-install-global 417}#
- #{n 1713}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1714}#
- #{w 1641}#
- #{mod 1643}#))
- #{exps 1620}#))
- (values #{exps 1620}#)))
- (if (memv #{m 1617}# '(c&e))
- (let ((#{e 1720}#
- (#{chi-install-global 417}#
- #{n 1713}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1714}#
- #{w 1641}#
- #{mod 1643}#))))
+ (cons (#{chi-install-global 435}#
+ #{n 1732}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1733}#
+ #{w 1660}#
+ #{mod 1662}#))
+ #{exps 1639}#))
+ (values #{exps 1639}#)))
+ (if (memv #{m 1636}# '(c&e))
+ (let ((#{e 1739}#
+ (#{chi-install-global 435}#
+ #{n 1732}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1733}#
+ #{w 1660}#
+ #{mod 1662}#))))
(begin
- (#{top-level-eval-hook 252}#
- #{e 1720}#
- #{mod 1643}#)
+ (#{top-level-eval-hook 257}#
+ #{e 1739}#
+ #{mod 1662}#)
(values
- (cons #{e 1720}# #{exps 1620}#))))
+ (cons #{e 1739}# #{exps 1639}#))))
(begin
- (if (memq 'eval #{esew 1618}#)
- (#{top-level-eval-hook 252}#
- (#{chi-install-global 417}#
- #{n 1713}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1714}#
- #{w 1641}#
- #{mod 1643}#))
- #{mod 1643}#))
- (values #{exps 1620}#)))))
- (if (memv #{type 1638}# '(define-form))
- (let ((#{n 1725}#
- (#{id-var-name 397}#
- #{value 1639}#
- #{w 1641}#)))
- (let ((#{type 1727}#
- (car (#{lookup 337}#
- #{n 1725}#
- #{r 1614}#
- #{mod 1643}#))))
- (if (memv #{type 1727}#
+ (if (memq 'eval #{esew 1637}#)
+ (#{top-level-eval-hook 257}#
+ (#{chi-install-global 435}#
+ #{n 1732}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1733}#
+ #{w 1660}#
+ #{mod 1662}#))
+ #{mod 1662}#))
+ (values #{exps 1639}#)))))
+ (if (memv #{type 1657}# '(define-form))
+ (let ((#{n 1744}#
+ (#{id-var-name 415}#
+ #{value 1658}#
+ #{w 1660}#)))
+ (let ((#{type 1746}#
+ (car (#{lookup 347}#
+ #{n 1744}#
+ #{r 1633}#
+ #{mod 1662}#))))
+ (if (memv #{type 1746}#
'(global
core
macro
module-ref))
(begin
- (if (if (memq #{m 1617}# '(c c&e))
+ (if (if (memq #{m 1636}# '(c c&e))
(if (not (module-local-variable
(current-module)
- #{n 1725}#))
+ #{n 1744}#))
(current-module)
#f)
#f)
- (let ((#{old 1734}#
+ (let ((#{old 1753}#
(module-variable
(current-module)
- #{n 1725}#)))
- (if (if (variable? #{old 1734}#)
+ #{n 1744}#)))
+ (if (if (variable? #{old 1753}#)
(variable-bound?
- #{old 1734}#)
+ #{old 1753}#)
#f)
(module-define!
(current-module)
- #{n 1725}#
- (variable-ref #{old 1734}#))
+ #{n 1744}#
+ (variable-ref #{old 1753}#))
(module-add!
(current-module)
- #{n 1725}#
+ #{n 1744}#
(make-undefined-variable)))))
(values
- (cons (if (eq? #{m 1617}# 'c&e)
- (let ((#{x 1738}#
-
(#{build-global-definition 283}#
- #{s 1642}#
- #{n 1725}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1614}#
- #{w 1641}#
- #{mod
1643}#))))
+ (cons (if (eq? #{m 1636}# 'c&e)
+ (let ((#{x 1757}#
+
(#{build-global-definition 289}#
+ #{s 1661}#
+ #{n 1744}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1633}#
+ #{w 1660}#
+ #{mod
1662}#))))
(begin
- (#{top-level-eval-hook
252}#
- #{x 1738}#
- #{mod 1643}#)
- #{x 1738}#))
+ (#{top-level-eval-hook
257}#
+ #{x 1757}#
+ #{mod 1662}#)
+ #{x 1757}#))
(lambda ()
-
(#{build-global-definition 283}#
- #{s 1642}#
- #{n 1725}#
- (#{chi 423}#
- #{e 1640}#
- #{r 1614}#
- #{w 1641}#
- #{mod 1643}#))))
- #{exps 1620}#)))
- (if (memv #{type 1727}#
+
(#{build-global-definition 289}#
+ #{s 1661}#
+ #{n 1744}#
+ (#{chi 441}#
+ #{e 1659}#
+ #{r 1633}#
+ #{w 1660}#
+ #{mod 1662}#))))
+ #{exps 1639}#)))
+ (if (memv #{type 1746}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
- #{e 1640}#
- (#{wrap 409}#
- #{value 1639}#
- #{w 1641}#
- #{mod 1643}#))
+ #{e 1659}#
+ (#{wrap 427}#
+ #{value 1658}#
+ #{w 1660}#
+ #{mod 1662}#))
(syntax-violation
#f
"cannot define keyword at top
level"
- #{e 1640}#
- (#{wrap 409}#
- #{value 1639}#
- #{w 1641}#
- #{mod 1643}#))))))
+ #{e 1659}#
+ (#{wrap 427}#
+ #{value 1658}#
+ #{w 1660}#
+ #{mod 1662}#))))))
(values
- (cons (if (eq? #{m 1617}# 'c&e)
- (let ((#{x 1743}#
- (#{chi-expr 425}#
- #{type 1638}#
- #{value 1639}#
- #{e 1640}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- #{mod 1643}#)))
+ (cons (if (eq? #{m 1636}# 'c&e)
+ (let ((#{x 1762}#
+ (#{chi-expr 443}#
+ #{type 1657}#
+ #{value 1658}#
+ #{e 1659}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ #{mod 1662}#)))
(begin
- (#{top-level-eval-hook 252}#
- #{x 1743}#
- #{mod 1643}#)
- #{x 1743}#))
+ (#{top-level-eval-hook 257}#
+ #{x 1762}#
+ #{mod 1662}#)
+ #{x 1762}#))
(lambda ()
- (#{chi-expr 425}#
- #{type 1638}#
- #{value 1639}#
- #{e 1640}#
- #{r 1614}#
- #{w 1641}#
- #{s 1642}#
- #{mod 1643}#)))
- #{exps 1620}#))))))))))
- (lambda (#{exps 1744}#)
- (#{scan 1612}#
- (cdr #{body 1613}#)
- #{r 1614}#
- #{w 1615}#
- #{s 1616}#
- #{m 1617}#
- #{esew 1618}#
- #{mod 1619}#
- #{exps 1744}#)))))))
+ (#{chi-expr 443}#
+ #{type 1657}#
+ #{value 1658}#
+ #{e 1659}#
+ #{r 1633}#
+ #{w 1660}#
+ #{s 1661}#
+ #{mod 1662}#)))
+ #{exps 1639}#))))))))))
+ (lambda (#{exps 1763}#)
+ (#{scan 1631}#
+ (cdr #{body 1632}#)
+ #{r 1633}#
+ #{w 1634}#
+ #{s 1635}#
+ #{m 1636}#
+ #{esew 1637}#
+ #{mod 1638}#
+ #{exps 1763}#)))))))
(call-with-values
(lambda ()
- (#{scan 1612}#
- #{body 1597}#
- #{r 1598}#
- #{w 1599}#
- #{s 1600}#
- #{m 1601}#
- #{esew 1602}#
- #{mod 1603}#
+ (#{scan 1631}#
+ #{body 1616}#
+ #{r 1617}#
+ #{w 1618}#
+ #{s 1619}#
+ #{m 1620}#
+ #{esew 1621}#
+ #{mod 1622}#
'()))
- (lambda (#{exps 1746}#)
- (if (null? #{exps 1746}#)
- (#{build-void 265}# #{s 1600}#)
- (#{build-sequence 297}#
- #{s 1600}#
+ (lambda (#{exps 1765}#)
+ (if (null? #{exps 1765}#)
+ (#{build-void 271}# #{s 1619}#)
+ (#{build-sequence 303}#
+ #{s 1619}#
(letrec*
- ((#{lp 1751}#
- (lambda (#{in 1752}# #{out 1753}#)
- (if (null? #{in 1752}#)
- #{out 1753}#
- (let ((#{e 1755}# (car #{in 1752}#)))
- (#{lp 1751}#
- (cdr #{in 1752}#)
- (cons (if (procedure? #{e 1755}#)
- (#{e 1755}#)
- #{e 1755}#)
- #{out 1753}#)))))))
- (#{lp 1751}# #{exps 1746}# '())))))))))
- (#{chi-install-global 417}#
- (lambda (#{name 1756}# #{e 1757}#)
- (#{build-global-definition 283}#
+ ((#{lp 1770}#
+ (lambda (#{in 1771}# #{out 1772}#)
+ (if (null? #{in 1771}#)
+ #{out 1772}#
+ (let ((#{e 1774}# (car #{in 1771}#)))
+ (#{lp 1770}#
+ (cdr #{in 1771}#)
+ (cons (if (procedure? #{e 1774}#)
+ (#{e 1774}#)
+ #{e 1774}#)
+ #{out 1772}#)))))))
+ (#{lp 1770}# #{exps 1765}# '())))))))))
+ (#{chi-install-global 435}#
+ (lambda (#{name 1775}# #{e 1776}#)
+ (#{build-global-definition 289}#
#f
- #{name 1756}#
- (#{build-primcall 291}#
+ #{name 1775}#
+ (#{build-primcall 297}#
#f
'make-syntax-transformer
- (list (#{build-data 295}# #f #{name 1756}#)
- (#{build-data 295}# #f 'macro)
- #{e 1757}#)))))
- (#{chi-when-list 419}#
- (lambda (#{e 1764}# #{when-list 1765}# #{w 1766}#)
+ (list (#{build-data 301}# #f #{name 1775}#)
+ (#{build-data 301}# #f 'macro)
+ #{e 1776}#)))))
+ (#{chi-when-list 437}#
+ (lambda (#{e 1783}# #{when-list 1784}# #{w 1785}#)
(letrec*
- ((#{f 1773}#
- (lambda (#{when-list 1774}# #{situations 1775}#)
- (if (null? #{when-list 1774}#)
- #{situations 1775}#
- (#{f 1773}#
- (cdr #{when-list 1774}#)
- (cons (let ((#{x 1777}#
- (syntax->datum (car #{when-list 1774}#))))
- (if (memq #{x 1777}# '(compile load eval expand))
- #{x 1777}#
+ ((#{f 1792}#
+ (lambda (#{when-list 1793}# #{situations 1794}#)
+ (if (null? #{when-list 1793}#)
+ #{situations 1794}#
+ (#{f 1792}#
+ (cdr #{when-list 1793}#)
+ (cons (let ((#{x 1796}#
+ (syntax->datum (car #{when-list 1793}#))))
+ (if (memq #{x 1796}# '(compile load eval expand))
+ #{x 1796}#
(syntax-violation
'eval-when
"invalid situation"
- #{e 1764}#
- (#{wrap 409}#
- (car #{when-list 1774}#)
- #{w 1766}#
+ #{e 1783}#
+ (#{wrap 427}#
+ (car #{when-list 1793}#)
+ #{w 1785}#
#f))))
- #{situations 1775}#))))))
- (#{f 1773}# #{when-list 1765}# '()))))
- (#{syntax-type 421}#
- (lambda (#{e 1778}#
- #{r 1779}#
- #{w 1780}#
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#
- #{for-car? 1784}#)
- (if (symbol? #{e 1778}#)
- (let ((#{n 1796}#
- (#{id-var-name 397}# #{e 1778}# #{w 1780}#)))
- (let ((#{b 1798}#
- (#{lookup 337}#
- #{n 1796}#
- #{r 1779}#
- #{mod 1783}#)))
- (let ((#{type 1800}# (car #{b 1798}#)))
- (if (memv #{type 1800}# '(lexical))
+ #{situations 1794}#))))))
+ (#{f 1792}# #{when-list 1784}# '()))))
+ (#{syntax-type 439}#
+ (lambda (#{e 1797}#
+ #{r 1798}#
+ #{w 1799}#
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#
+ #{for-car? 1803}#)
+ (if (symbol? #{e 1797}#)
+ (let ((#{n 1815}#
+ (#{id-var-name 415}# #{e 1797}# #{w 1799}#)))
+ (let ((#{b 1817}#
+ (#{lookup 347}#
+ #{n 1815}#
+ #{r 1798}#
+ #{mod 1802}#)))
+ (let ((#{type 1819}# (car #{b 1817}#)))
+ (if (memv #{type 1819}# '(lexical))
(values
- #{type 1800}#
- (cdr #{b 1798}#)
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{type 1800}# '(global))
+ #{type 1819}#
+ (cdr #{b 1817}#)
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{type 1819}# '(global))
(values
- #{type 1800}#
- #{n 1796}#
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{type 1800}# '(macro))
- (if #{for-car? 1784}#
+ #{type 1819}#
+ #{n 1815}#
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{type 1819}# '(macro))
+ (if #{for-car? 1803}#
(values
- #{type 1800}#
- (cdr #{b 1798}#)
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (#{syntax-type 421}#
- (#{chi-macro 429}#
- (cdr #{b 1798}#)
- #{e 1778}#
- #{r 1779}#
- #{w 1780}#
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#)
- #{r 1779}#
+ #{type 1819}#
+ (cdr #{b 1817}#)
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (#{syntax-type 439}#
+ (#{chi-macro 447}#
+ (cdr #{b 1817}#)
+ #{e 1797}#
+ #{r 1798}#
+ #{w 1799}#
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#)
+ #{r 1798}#
'(())
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#
#f))
(values
- #{type 1800}#
- (cdr #{b 1798}#)
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)))))))
- (if (pair? #{e 1778}#)
- (let ((#{first 1814}# (car #{e 1778}#)))
+ #{type 1819}#
+ (cdr #{b 1817}#)
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)))))))
+ (if (pair? #{e 1797}#)
+ (let ((#{first 1833}# (car #{e 1797}#)))
(call-with-values
(lambda ()
- (#{syntax-type 421}#
- #{first 1814}#
- #{r 1779}#
- #{w 1780}#
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#
+ (#{syntax-type 439}#
+ #{first 1833}#
+ #{r 1798}#
+ #{w 1799}#
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#
#t))
- (lambda (#{ftype 1815}#
- #{fval 1816}#
- #{fe 1817}#
- #{fw 1818}#
- #{fs 1819}#
- #{fmod 1820}#)
- (if (memv #{ftype 1815}# '(lexical))
+ (lambda (#{ftype 1834}#
+ #{fval 1835}#
+ #{fe 1836}#
+ #{fw 1837}#
+ #{fs 1838}#
+ #{fmod 1839}#)
+ (if (memv #{ftype 1834}# '(lexical))
(values
'lexical-call
- #{fval 1816}#
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(global))
+ #{fval 1835}#
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(global))
(values
'global-call
- (#{make-syntax-object 307}#
- #{fval 1816}#
- #{w 1780}#
- #{fmod 1820}#)
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(macro))
- (#{syntax-type 421}#
- (#{chi-macro 429}#
- #{fval 1816}#
- #{e 1778}#
- #{r 1779}#
- #{w 1780}#
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#)
- #{r 1779}#
+ (#{make-syntax-object 314}#
+ #{fval 1835}#
+ #{w 1799}#
+ #{fmod 1839}#)
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(macro))
+ (#{syntax-type 439}#
+ (#{chi-macro 447}#
+ #{fval 1835}#
+ #{e 1797}#
+ #{r 1798}#
+ #{w 1799}#
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#)
+ #{r 1798}#
'(())
- #{s 1781}#
- #{rib 1782}#
- #{mod 1783}#
- #{for-car? 1784}#)
- (if (memv #{ftype 1815}# '(module-ref))
+ #{s 1800}#
+ #{rib 1801}#
+ #{mod 1802}#
+ #{for-car? 1803}#)
+ (if (memv #{ftype 1834}# '(module-ref))
(call-with-values
(lambda ()
- (#{fval 1816}# #{e 1778}# #{r 1779}# #{w 1780}#))
- (lambda (#{e 1832}#
- #{r 1833}#
- #{w 1834}#
- #{s 1835}#
- #{mod 1836}#)
- (#{syntax-type 421}#
- #{e 1832}#
- #{r 1833}#
- #{w 1834}#
- #{s 1835}#
- #{rib 1782}#
- #{mod 1836}#
- #{for-car? 1784}#)))
- (if (memv #{ftype 1815}# '(core))
+ (#{fval 1835}# #{e 1797}# #{r 1798}# #{w 1799}#))
+ (lambda (#{e 1851}#
+ #{r 1852}#
+ #{w 1853}#
+ #{s 1854}#
+ #{mod 1855}#)
+ (#{syntax-type 439}#
+ #{e 1851}#
+ #{r 1852}#
+ #{w 1853}#
+ #{s 1854}#
+ #{rib 1801}#
+ #{mod 1855}#
+ #{for-car? 1803}#)))
+ (if (memv #{ftype 1834}# '(core))
(values
'core-form
- #{fval 1816}#
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(local-syntax))
+ #{fval 1835}#
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(local-syntax))
(values
'local-syntax-form
- #{fval 1816}#
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(begin))
+ #{fval 1835}#
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(begin))
(values
'begin-form
#f
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(eval-when))
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(eval-when))
(values
'eval-when-form
#f
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (if (memv #{ftype 1815}# '(define))
- (let ((#{tmp 1847}# #{e 1778}#))
- (let ((#{tmp 1848}#
- ($sc-dispatch
- #{tmp 1847}#
- '(_ any any))))
- (if (if #{tmp 1848}#
- (@apply
- (lambda (#{name 1851}#
- #{val 1852}#)
- (#{id? 343}# #{name 1851}#))
- #{tmp 1848}#)
- #f)
- (@apply
- (lambda (#{name 1855}# #{val 1856}#)
- (values
- 'define-form
- #{name 1855}#
- #{val 1856}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#))
- #{tmp 1848}#)
- (let ((#{tmp 1857}#
- ($sc-dispatch
- #{tmp 1847}#
- '(_ (any . any)
- any
- .
- each-any))))
- (if (if #{tmp 1857}#
- (@apply
- (lambda (#{name 1862}#
- #{args 1863}#
- #{e1 1864}#
- #{e2 1865}#)
- (if (#{id? 343}#
- #{name 1862}#)
- (#{valid-bound-ids?
403}#
- (#{lambda-var-list
453}#
- #{args 1863}#))
- #f))
- #{tmp 1857}#)
- #f)
- (@apply
- (lambda (#{name 1872}#
- #{args 1873}#
- #{e1 1874}#
- #{e2 1875}#)
- (values
- 'define-form
- (#{wrap 409}#
- #{name 1872}#
- #{w 1780}#
- #{mod 1783}#)
- (#{decorate-source 261}#
- (cons '#(syntax-object
- lambda
- ((top)
- #(ribcage
- #(name
- args
- e1
- e2)
- #((top)
- (top)
- (top)
- (top))
- #("i1868"
- "i1869"
- "i1870"
- "i1871"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i1821"
- "i1822"
- "i1823"
- "i1824"
- "i1825"
- "i1826"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(first)
- #((top))
- #("i1813"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i1785"
- "i1786"
- "i1787"
- "i1788"
- "i1789"
- "i1790"
- "i1791"))
- #(ribcage
-
(lambda-var-list
- gen-var
- strip
-
chi-lambda-case
-
lambda*-formals
-
chi-simple-lambda
-
lambda-formals
- ellipsis?
- chi-void
-
eval-local-transformer
-
chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
-
chi-when-list
-
chi-install-global
-
chi-top-sequence
- chi-sequence
- source-wrap
- wrap
-
bound-id-member?
-
distinct-bound-ids?
-
valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
-
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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
-
(define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top)
- (top)
- (top))
- ("i40"
- "i39"
- "i38")))
- (hygiene guile))
- (#{wrap 409}#
- (cons #{args
1873}#
- (cons #{e1
1874}#
- #{e2
1875}#))
- #{w 1780}#
- #{mod 1783}#))
- #{s 1781}#)
- '(())
- #{s 1781}#
- #{mod 1783}#))
- #{tmp 1857}#)
- (let ((#{tmp 1878}#
- ($sc-dispatch
- #{tmp 1847}#
- '(_ any))))
- (if (if #{tmp 1878}#
- (@apply
- (lambda (#{name 1880}#)
- (#{id? 343}#
- #{name 1880}#))
- #{tmp 1878}#)
- #f)
- (@apply
- (lambda (#{name 1882}#)
- (values
- 'define-form
- (#{wrap 409}#
- #{name 1882}#
- #{w 1780}#
- #{mod 1783}#)
- '(#(syntax-object
- if
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i1881"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (if (memv #{ftype 1834}# '(define))
+ (let ((#{tmp 1867}#
+ ($sc-dispatch
+ #{e 1797}#
+ '(_ any any))))
+ (if (if #{tmp 1867}#
+ (@apply
+ (lambda (#{name 1870}#
+ #{val 1871}#)
+ (#{id? 353}# #{name 1870}#))
+ #{tmp 1867}#)
+ #f)
+ (@apply
+ (lambda (#{name 1874}# #{val 1875}#)
+ (values
+ 'define-form
+ #{name 1874}#
+ #{val 1875}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#))
+ #{tmp 1867}#)
+ (let ((#{tmp 1876}#
+ ($sc-dispatch
+ #{e 1797}#
+ '(_ (any . any)
+ any
+ .
+ each-any))))
+ (if (if #{tmp 1876}#
+ (@apply
+ (lambda (#{name 1881}#
+ #{args 1882}#
+ #{e1 1883}#
+ #{e2 1884}#)
+ (if (#{id? 353}#
+ #{name 1881}#)
+ (#{valid-bound-ids? 421}#
+ (#{lambda-var-list 471}#
+ #{args 1882}#))
+ #f))
+ #{tmp 1876}#)
+ #f)
+ (@apply
+ (lambda (#{name 1891}#
+ #{args 1892}#
+ #{e1 1893}#
+ #{e2 1894}#)
+ (values
+ 'define-form
+ (#{wrap 427}#
+ #{name 1891}#
+ #{w 1799}#
+ #{mod 1802}#)
+ (#{decorate-source 267}#
+ (cons '#(syntax-object
+ lambda
+ ((top)
+ #(ribcage
+ #(name
+ args
+ e1
+ e2)
+ #((top)
+ (top)
+ (top)
+ (top))
+ #("i1887"
+ "i1888"
+ "i1889"
+ "i1890"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(ftype
+ fval
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1840"
+ "i1841"
+ "i1842"
+ "i1843"
+ "i1844"
+ "i1845"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("i1832"))
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ ()
+ ()
+ ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1804"
+ "i1805"
+ "i1806"
+ "i1807"
+ "i1808"
+ "i1809"
+ "i1810"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+
chi-lambda-case
+
lambda*-formals
+
chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+
eval-local-transformer
+
chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+
chi-install-global
+
chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+
bound-id-member?
+
distinct-bound-ids?
+
valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+
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))
- #("i1821"
- "i1822"
- "i1823"
- "i1824"
- "i1825"
- "i1826"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i1813"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
(top)
(top)
(top)
(top)
(top)
- (top))
- #("i1785"
- "i1786"
- "i1787"
- "i1788"
- "i1789"
- "i1790"
- "i1791"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
-
chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
-
eval-local-transformer
-
chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
-
chi-install-global
-
chi-top-sequence
- chi-sequence
- source-wrap
- wrap
-
bound-id-member?
-
distinct-bound-ids?
-
valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top)
- (top)
- (top))
- ("i40"
- "i39"
- "i38")))
- (hygiene guile))
- #(syntax-object
- #f
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i1881"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
(top)
(top)
(top)
(top)
- (top))
- #("i1821"
- "i1822"
- "i1823"
- "i1824"
- "i1825"
- "i1826"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i1813"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
(top)
(top)
(top)
(top)
(top)
- (top))
- #("i1785"
- "i1786"
- "i1787"
- "i1788"
- "i1789"
- "i1790"
- "i1791"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
-
chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
-
eval-local-transformer
-
chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
-
chi-install-global
-
chi-top-sequence
- chi-sequence
- source-wrap
- wrap
-
bound-id-member?
-
distinct-bound-ids?
-
valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top)
- (top)
- (top))
- ("i40"
- "i39"
- "i38")))
- (hygiene guile))
- #(syntax-object
- #f
- ((top)
- #(ribcage
- #(name)
- #((top))
- #("i1881"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(ftype
- fval
- fe
- fw
- fs
- fmod)
- #((top)
(top)
(top)
(top)
(top)
- (top))
- #("i1821"
- "i1822"
- "i1823"
- "i1824"
- "i1825"
- "i1826"))
- #(ribcage () () ())
- #(ribcage
- #(first)
- #((top))
- #("i1813"))
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(e
- r
- w
- s
- rib
- mod
- for-car?)
- #((top)
(top)
(top)
(top)
(top)
(top)
- (top))
- #("i1785"
- "i1786"
- "i1787"
- "i1788"
- "i1789"
- "i1790"
- "i1791"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
-
chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
-
eval-local-transformer
-
chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
-
chi-install-global
-
chi-top-sequence
- chi-sequence
- source-wrap
- wrap
-
bound-id-member?
-
distinct-bound-ids?
-
valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top)
- (top)
- (top))
- ("i40"
- "i39"
- "i38")))
- (hygiene guile)))
- '(())
- #{s 1781}#
- #{mod 1783}#))
- #{tmp 1878}#)
- (syntax-violation
- #f
- "source expression failed
to match any pattern"
- #{tmp 1847}#))))))))
- (if (memv #{ftype 1815}# '(define-syntax))
- (let ((#{tmp 1885}# #{e 1778}#))
- (let ((#{tmp 1886}#
- ($sc-dispatch
- #{tmp 1885}#
- '(_ any any))))
- (if (if #{tmp 1886}#
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+
(define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top)
+ (top)
+ (top))
+ ("i45"
+ "i44"
+ "i43")))
+ (hygiene guile))
+ (#{wrap 427}#
+ (cons #{args 1892}#
+ (cons #{e1
1893}#
+ #{e2
1894}#))
+ #{w 1799}#
+ #{mod 1802}#))
+ #{s 1800}#)
+ '(())
+ #{s 1800}#
+ #{mod 1802}#))
+ #{tmp 1876}#)
+ (let ((#{tmp 1897}#
+ ($sc-dispatch
+ #{e 1797}#
+ '(_ any))))
+ (if (if #{tmp 1897}#
+ (@apply
+ (lambda (#{name 1899}#)
+ (#{id? 353}#
+ #{name 1899}#))
+ #{tmp 1897}#)
+ #f)
(@apply
- (lambda (#{name 1889}#
- #{val 1890}#)
- (#{id? 343}# #{name 1889}#))
- #{tmp 1886}#)
- #f)
- (@apply
- (lambda (#{name 1893}#
- #{val 1894}#)
- (values
- 'define-syntax-form
- #{name 1893}#
- #{val 1894}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#))
- #{tmp 1886}#)
- (syntax-violation
- #f
- "source expression failed to
match any pattern"
- #{tmp 1885}#))))
- (values
- 'call
- #f
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#))))))))))))))
- (if (#{syntax-object? 309}# #{e 1778}#)
- (#{syntax-type 421}#
- (#{syntax-object-expression 311}# #{e 1778}#)
- #{r 1779}#
- (#{join-wraps 391}#
- #{w 1780}#
- (#{syntax-object-wrap 313}# #{e 1778}#))
- (let ((#{t 1900}#
- (#{source-annotation 324}# #{e 1778}#)))
- (if #{t 1900}# #{t 1900}# #{s 1781}#))
- #{rib 1782}#
- (let ((#{t 1904}#
- (#{syntax-object-module 315}# #{e 1778}#)))
- (if #{t 1904}# #{t 1904}# #{mod 1783}#))
- #{for-car? 1784}#)
- (if (self-evaluating? #{e 1778}#)
- (values
- 'constant
- #f
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)
- (values
- 'other
- #f
- #{e 1778}#
- #{w 1780}#
- #{s 1781}#
- #{mod 1783}#)))))))
- (#{chi 423}#
- (lambda (#{e 1909}# #{r 1910}# #{w 1911}# #{mod 1912}#)
- (call-with-values
- (lambda ()
- (#{syntax-type 421}#
- #{e 1909}#
- #{r 1910}#
- #{w 1911}#
- (#{source-annotation 324}# #{e 1909}#)
- #f
- #{mod 1912}#
- #f))
- (lambda (#{type 1917}#
- #{value 1918}#
- #{e 1919}#
- #{w 1920}#
- #{s 1921}#
- #{mod 1922}#)
- (#{chi-expr 425}#
- #{type 1917}#
- #{value 1918}#
- #{e 1919}#
- #{r 1910}#
- #{w 1920}#
- #{s 1921}#
- #{mod 1922}#)))))
- (#{chi-expr 425}#
- (lambda (#{type 1929}#
- #{value 1930}#
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(lexical))
- (#{build-lexical-reference 273}#
- 'value
- #{s 1934}#
- #{e 1931}#
- #{value 1930}#)
- (if (memv #{type 1929}# '(core core-form))
- (#{value 1930}#
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(module-ref))
- (call-with-values
- (lambda ()
- (#{value 1930}# #{e 1931}# #{r 1932}# #{w 1933}#))
- (lambda (#{e 1946}#
- #{r 1947}#
- #{w 1948}#
- #{s 1949}#
- #{mod 1950}#)
- (#{chi 423}#
- #{e 1946}#
- #{r 1947}#
- #{w 1948}#
- #{mod 1950}#)))
- (if (memv #{type 1929}# '(lexical-call))
- (#{chi-call 427}#
- (let ((#{id 1958}# (car #{e 1931}#)))
- (#{build-lexical-reference 273}#
- 'fun
- (#{source-annotation 324}# #{id 1958}#)
- (if (#{syntax-object? 309}# #{id 1958}#)
- (syntax->datum #{id 1958}#)
- #{id 1958}#)
- #{value 1930}#))
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(global-call))
- (#{chi-call 427}#
- (#{build-global-reference 279}#
- (#{source-annotation 324}# (car #{e 1931}#))
- (if (#{syntax-object? 309}# #{value 1930}#)
- (#{syntax-object-expression 311}# #{value 1930}#)
- #{value 1930}#)
- (if (#{syntax-object? 309}# #{value 1930}#)
- (#{syntax-object-module 315}# #{value 1930}#)
- #{mod 1935}#))
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(constant))
- (#{build-data 295}#
- #{s 1934}#
- (#{strip 449}#
- (#{source-wrap 411}#
- #{e 1931}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- '(())))
- (if (memv #{type 1929}# '(global))
- (#{build-global-reference 279}#
- #{s 1934}#
- #{value 1930}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(call))
- (#{chi-call 427}#
- (#{chi 423}#
- (car #{e 1931}#)
- #{r 1932}#
- #{w 1933}#
- #{mod 1935}#)
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (if (memv #{type 1929}# '(begin-form))
- (let ((#{tmp 1965}# #{e 1931}#))
- (let ((#{tmp 1966}#
- ($sc-dispatch
- #{tmp 1965}#
- '(_ any . each-any))))
- (if #{tmp 1966}#
- (@apply
- (lambda (#{e1 1969}# #{e2 1970}#)
- (#{chi-sequence 413}#
- (cons #{e1 1969}# #{e2 1970}#)
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#))
- #{tmp 1966}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{tmp 1965}#))))
- (if (memv #{type 1929}# '(local-syntax-form))
- (#{chi-local-syntax 433}#
- #{value 1930}#
- #{e 1931}#
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#
- #{chi-sequence 413}#)
- (if (memv #{type 1929}# '(eval-when-form))
- (let ((#{tmp 1974}# #{e 1931}#))
- (let ((#{tmp 1975}#
- ($sc-dispatch
- #{tmp 1974}#
- '(_ each-any any . each-any))))
- (if #{tmp 1975}#
- (@apply
- (lambda (#{x 1979}#
- #{e1 1980}#
- #{e2 1981}#)
- (let ((#{when-list 1983}#
- (#{chi-when-list 419}#
- #{e 1931}#
- #{x 1979}#
- #{w 1933}#)))
- (if (memq 'eval #{when-list 1983}#)
- (#{chi-sequence 413}#
- (cons #{e1 1980}# #{e2 1981}#)
- #{r 1932}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#)
- (#{chi-void 437}#))))
- #{tmp 1975}#)
- (syntax-violation
- #f
- "source expression failed to match any
pattern"
- #{tmp 1974}#))))
- (if (memv #{type 1929}#
- '(define-form define-syntax-form))
- (syntax-violation
- #f
- "definition in expression context"
- #{e 1931}#
- (#{wrap 409}#
- #{value 1930}#
- #{w 1933}#
- #{mod 1935}#))
- (if (memv #{type 1929}# '(syntax))
- (syntax-violation
- #f
- "reference to pattern variable outside
syntax form"
- (#{source-wrap 411}#
- #{e 1931}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#))
- (if (memv #{type 1929}# '(displaced-lexical))
- (syntax-violation
- #f
- "reference to identifier outside its
scope"
- (#{source-wrap 411}#
- #{e 1931}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#))
- (syntax-violation
- #f
- "unexpected syntax"
- (#{source-wrap 411}#
- #{e 1931}#
- #{w 1933}#
- #{s 1934}#
- #{mod 1935}#))))))))))))))))))
- (#{chi-call 427}#
- (lambda (#{x 1990}#
- #{e 1991}#
- #{r 1992}#
- #{w 1993}#
- #{s 1994}#
- #{mod 1995}#)
- (let ((#{tmp 2002}# #{e 1991}#))
- (let ((#{tmp 2003}#
- ($sc-dispatch #{tmp 2002}# '(any . each-any))))
- (if #{tmp 2003}#
- (@apply
- (lambda (#{e0 2006}# #{e1 2007}#)
- (#{build-call 267}#
- #{s 1994}#
- #{x 1990}#
- (map (lambda (#{e 2008}#)
- (#{chi 423}#
- #{e 2008}#
- #{r 1992}#
- #{w 1993}#
- #{mod 1995}#))
- #{e1 2007}#)))
- #{tmp 2003}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 2002}#))))))
- (#{chi-macro 429}#
- (lambda (#{p 2011}#
- #{e 2012}#
- #{r 2013}#
- #{w 2014}#
- #{s 2015}#
- #{rib 2016}#
- #{mod 2017}#)
- (letrec*
- ((#{rebuild-macro-output 2026}#
- (lambda (#{x 2027}# #{m 2028}#)
- (if (pair? #{x 2027}#)
- (#{decorate-source 261}#
- (cons (#{rebuild-macro-output 2026}#
- (car #{x 2027}#)
- #{m 2028}#)
- (#{rebuild-macro-output 2026}#
- (cdr #{x 2027}#)
- #{m 2028}#))
- #{s 2015}#)
- (if (#{syntax-object? 309}# #{x 2027}#)
- (let ((#{w 2036}#
- (#{syntax-object-wrap 313}# #{x 2027}#)))
- (let ((#{ms 2039}# (car #{w 2036}#))
- (#{s 2040}# (cdr #{w 2036}#)))
- (if (if (pair? #{ms 2039}#)
- (eq? (car #{ms 2039}#) #f)
- #f)
- (#{make-syntax-object 307}#
- (#{syntax-object-expression 311}# #{x 2027}#)
- (cons (cdr #{ms 2039}#)
- (if #{rib 2016}#
- (cons #{rib 2016}# (cdr #{s 2040}#))
- (cdr #{s 2040}#)))
- (#{syntax-object-module 315}# #{x 2027}#))
- (#{make-syntax-object 307}#
- (#{decorate-source 261}#
- (#{syntax-object-expression 311}# #{x 2027}#)
- #{s 2040}#)
- (cons (cons #{m 2028}# #{ms 2039}#)
- (if #{rib 2016}#
- (cons #{rib 2016}# (cons 'shift #{s 2040}#))
- (cons 'shift #{s 2040}#)))
- (#{syntax-object-module 315}# #{x 2027}#)))))
- (if (vector? #{x 2027}#)
- (let ((#{n 2052}# (vector-length #{x 2027}#)))
- (let ((#{v 2054}#
- (#{decorate-source 261}#
- (make-vector #{n 2052}#)
- #{x 2027}#)))
- (letrec*
- ((#{loop 2057}#
- (lambda (#{i 2058}#)
- (if (= #{i 2058}# #{n 2052}#)
- (begin (if #f #f) #{v 2054}#)
- (begin
- (vector-set!
- #{v 2054}#
- #{i 2058}#
- (#{rebuild-macro-output 2026}#
- (vector-ref #{x 2027}# #{i 2058}#)
- #{m 2028}#))
- (#{loop 2057}# (#{1+}# #{i 2058}#)))))))
- (#{loop 2057}# 0))))
- (if (symbol? #{x 2027}#)
- (syntax-violation
- #f
- "encountered raw symbol in macro output"
- (#{source-wrap 411}#
- #{e 2012}#
- #{w 2014}#
- (cdr #{w 2014}#)
- #{mod 2017}#)
- #{x 2027}#)
- (#{decorate-source 261}# #{x 2027}# #{s 2015}#))))))))
- (#{rebuild-macro-output 2026}#
- (#{p 2011}#
- (#{source-wrap 411}#
- #{e 2012}#
- (#{anti-mark 381}# #{w 2014}#)
- #{s 2015}#
- #{mod 2017}#))
- (gensym "m")))))
- (#{chi-body 431}#
- (lambda (#{body 2068}#
- #{outer-form 2069}#
- #{r 2070}#
- #{w 2071}#
- #{mod 2072}#)
- (let ((#{r 2080}#
- (cons '("placeholder" placeholder) #{r 2070}#)))
- (let ((#{ribcage 2082}#
- (#{make-ribcage 361}# '() '() '())))
- (let ((#{w 2085}#
- (cons (car #{w 2071}#)
- (cons #{ribcage 2082}# (cdr #{w 2071}#)))))
- (letrec*
- ((#{parse 2097}#
- (lambda (#{body 2098}#
- #{ids 2099}#
- #{labels 2100}#
- #{var-ids 2101}#
- #{vars 2102}#
- #{vals 2103}#
- #{bindings 2104}#)
- (if (null? #{body 2098}#)
- (syntax-violation
- #f
- "no expressions in body"
- #{outer-form 2069}#)
- (let ((#{e 2109}# (cdr (car #{body 2098}#)))
- (#{er 2110}# (car (car #{body 2098}#))))
- (call-with-values
- (lambda ()
- (#{syntax-type 421}#
- #{e 2109}#
- #{er 2110}#
- '(())
- (#{source-annotation 324}# #{er 2110}#)
- #{ribcage 2082}#
- #{mod 2072}#
- #f))
- (lambda (#{type 2112}#
- #{value 2113}#
- #{e 2114}#
- #{w 2115}#
- #{s 2116}#
- #{mod 2117}#)
- (if (memv #{type 2112}# '(define-form))
- (let ((#{id 2127}#
- (#{wrap 409}#
- #{value 2113}#
- #{w 2115}#
- #{mod 2117}#))
- (#{label 2128}# (#{gen-label 356}#)))
- (let ((#{var 2130}#
- (#{gen-var 451}# #{id 2127}#)))
- (begin
- (#{extend-ribcage! 385}#
- #{ribcage 2082}#
- #{id 2127}#
- #{label 2128}#)
- (#{parse 2097}#
- (cdr #{body 2098}#)
- (cons #{id 2127}# #{ids 2099}#)
- (cons #{label 2128}# #{labels 2100}#)
- (cons #{id 2127}# #{var-ids 2101}#)
- (cons #{var 2130}# #{vars 2102}#)
- (cons (cons #{er 2110}#
- (#{wrap 409}#
- #{e 2114}#
- #{w 2115}#
- #{mod 2117}#))
- #{vals 2103}#)
- (cons (cons 'lexical #{var 2130}#)
- #{bindings 2104}#)))))
- (if (memv #{type 2112}# '(define-syntax-form))
- (let ((#{id 2135}#
- (#{wrap 409}#
- #{value 2113}#
- #{w 2115}#
- #{mod 2117}#))
- (#{label 2136}# (#{gen-label 356}#)))
- (begin
- (#{extend-ribcage! 385}#
- #{ribcage 2082}#
- #{id 2135}#
- #{label 2136}#)
- (#{parse 2097}#
- (cdr #{body 2098}#)
- (cons #{id 2135}# #{ids 2099}#)
- (cons #{label 2136}# #{labels 2100}#)
- #{var-ids 2101}#
- #{vars 2102}#
- #{vals 2103}#
- (cons (cons 'macro
- (cons #{er 2110}#
- (#{wrap 409}#
- #{e 2114}#
- #{w 2115}#
- #{mod 2117}#)))
- #{bindings 2104}#))))
- (if (memv #{type 2112}# '(begin-form))
- (let ((#{tmp 2139}# #{e 2114}#))
- (let ((#{tmp 2140}#
- ($sc-dispatch
- #{tmp 2139}#
- '(_ . each-any))))
- (if #{tmp 2140}#
- (@apply
- (lambda (#{e1 2142}#)
- (#{parse 2097}#
- (letrec*
- ((#{f 2145}#
- (lambda (#{forms 2146}#)
- (if (null? #{forms 2146}#)
- (cdr #{body 2098}#)
- (cons (cons #{er 2110}#
- (#{wrap
409}#
- (car
#{forms 2146}#)
- #{w 2115}#
- #{mod
2117}#))
- (#{f 2145}#
- (cdr #{forms
2146}#)))))))
- (#{f 2145}# #{e1 2142}#))
- #{ids 2099}#
- #{labels 2100}#
- #{var-ids 2101}#
- #{vars 2102}#
- #{vals 2103}#
- #{bindings 2104}#))
- #{tmp 2140}#)
- (syntax-violation
- #f
- "source expression failed to match
any pattern"
- #{tmp 2139}#))))
- (if (memv #{type 2112}# '(local-syntax-form))
- (#{chi-local-syntax 433}#
- #{value 2113}#
- #{e 2114}#
- #{er 2110}#
- #{w 2115}#
- #{s 2116}#
- #{mod 2117}#
- (lambda (#{forms 2149}#
- #{er 2150}#
- #{w 2151}#
- #{s 2152}#
- #{mod 2153}#)
- (#{parse 2097}#
- (letrec*
- ((#{f 2161}#
- (lambda (#{forms 2162}#)
- (if (null? #{forms 2162}#)
- (cdr #{body 2098}#)
- (cons (cons #{er 2150}#
- (#{wrap 409}#
- (car #{forms
2162}#)
- #{w 2151}#
- #{mod 2153}#))
- (#{f 2161}#
- (cdr #{forms
2162}#)))))))
- (#{f 2161}# #{forms 2149}#))
- #{ids 2099}#
- #{labels 2100}#
- #{var-ids 2101}#
- #{vars 2102}#
- #{vals 2103}#
- #{bindings 2104}#)))
- (if (null? #{ids 2099}#)
- (#{build-sequence 297}#
- #f
- (map (lambda (#{x 2165}#)
- (#{chi 423}#
- (cdr #{x 2165}#)
- (car #{x 2165}#)
- '(())
- #{mod 2117}#))
- (cons (cons #{er 2110}#
- (#{source-wrap 411}#
- #{e 2114}#
- #{w 2115}#
- #{s 2116}#
- #{mod 2117}#))
- (cdr #{body 2098}#))))
- (begin
- (if (not (#{valid-bound-ids? 403}#
- #{ids 2099}#))
- (syntax-violation
- #f
- "invalid or duplicate identifier
in definition"
- #{outer-form 2069}#))
- (letrec*
- ((#{loop 2172}#
- (lambda (#{bs 2173}#
- #{er-cache 2174}#
- #{r-cache 2175}#)
- (if (not (null? #{bs 2173}#))
- (let ((#{b 2178}#
- (car #{bs 2173}#)))
- (if (eq? (car #{b 2178}#)
- 'macro)
- (let ((#{er 2181}#
- (car (cdr #{b
2178}#))))
- (let ((#{r-cache 2183}#
- (if (eq? #{er
2181}#
-
#{er-cache 2174}#)
- #{r-cache
2175}#
-
(#{macros-only-env 335}#
- #{er
2181}#))))
- (begin
- (set-cdr!
- #{b 2178}#
-
(#{eval-local-transformer 435}#
- (#{chi 423}#
- (cdr (cdr #{b
2178}#))
- #{r-cache
2183}#
- '(())
- #{mod 2117}#)
- #{mod 2117}#))
- (#{loop 2172}#
- (cdr #{bs 2173}#)
- #{er 2181}#
- #{r-cache
2183}#))))
- (#{loop 2172}#
- (cdr #{bs 2173}#)
- #{er-cache 2174}#
- #{r-cache 2175}#)))))))
- (#{loop 2172}#
- #{bindings 2104}#
- #f
- #f))
- (set-cdr!
- #{r 2080}#
- (#{extend-env 331}#
- #{labels 2100}#
- #{bindings 2104}#
- (cdr #{r 2080}#)))
- (#{build-letrec 303}#
- #f
- #t
- (reverse
- (map syntax->datum
- #{var-ids 2101}#))
- (reverse #{vars 2102}#)
- (map (lambda (#{x 2186}#)
- (#{chi 423}#
- (cdr #{x 2186}#)
- (car #{x 2186}#)
- '(())
- #{mod 2117}#))
- (reverse #{vals 2103}#))
- (#{build-sequence 297}#
- #f
- (map (lambda (#{x 2190}#)
- (#{chi 423}#
- (cdr #{x 2190}#)
- (car #{x 2190}#)
- '(())
- #{mod 2117}#))
- (cons (cons #{er 2110}#
- (#{source-wrap
411}#
- #{e 2114}#
- #{w 2115}#
- #{s 2116}#
- #{mod 2117}#))
- (cdr #{body
2098}#))))))))))))))))))
- (#{parse 2097}#
- (map (lambda (#{x 2105}#)
- (cons #{r 2080}#
- (#{wrap 409}#
- #{x 2105}#
- #{w 2085}#
- #{mod 2072}#)))
- #{body 2068}#)
- '()
- '()
- '()
- '()
- '()
- '())))))))
- (#{chi-local-syntax 433}#
- (lambda (#{rec? 2193}#
- #{e 2194}#
- #{r 2195}#
- #{w 2196}#
- #{s 2197}#
- #{mod 2198}#
- #{k 2199}#)
- (let ((#{tmp 2207}# #{e 2194}#))
- (let ((#{tmp 2208}#
- ($sc-dispatch
- #{tmp 2207}#
- '(_ #(each (any any)) any . each-any))))
- (if #{tmp 2208}#
- (@apply
- (lambda (#{id 2213}#
- #{val 2214}#
- #{e1 2215}#
- #{e2 2216}#)
- (let ((#{ids 2218}# #{id 2213}#))
- (if (not (#{valid-bound-ids? 403}# #{ids 2218}#))
- (syntax-violation
- #f
- "duplicate bound keyword"
- #{e 2194}#)
- (let ((#{labels 2221}#
- (#{gen-labels 358}# #{ids 2218}#)))
- (let ((#{new-w 2223}#
- (#{make-binding-wrap 387}#
- #{ids 2218}#
- #{labels 2221}#
- #{w 2196}#)))
- (#{k 2199}#
- (cons #{e1 2215}# #{e2 2216}#)
- (#{extend-env 331}#
- #{labels 2221}#
- (let ((#{w 2227}#
- (if #{rec? 2193}#
- #{new-w 2223}#
- #{w 2196}#))
- (#{trans-r 2228}#
- (#{macros-only-env 335}# #{r 2195}#)))
- (map (lambda (#{x 2229}#)
- (cons 'macro
- (#{eval-local-transformer 435}#
- (#{chi 423}#
- #{x 2229}#
- #{trans-r 2228}#
- #{w 2227}#
- #{mod 2198}#)
- #{mod 2198}#)))
- #{val 2214}#))
- #{r 2195}#)
- #{new-w 2223}#
- #{s 2197}#
- #{mod 2198}#))))))
- #{tmp 2208}#)
- (let ((#{_ 2234}# #{tmp 2207}#))
- (syntax-violation
- #f
- "bad local syntax definition"
- (#{source-wrap 411}#
- #{e 2194}#
- #{w 2196}#
- #{s 2197}#
- #{mod 2198}#))))))))
- (#{eval-local-transformer 435}#
- (lambda (#{expanded 2235}# #{mod 2236}#)
- (let ((#{p 2240}#
- (#{local-eval-hook 254}#
- #{expanded 2235}#
- #{mod 2236}#)))
- (if (procedure? #{p 2240}#)
- #{p 2240}#
- (syntax-violation
- #f
- "nonprocedure transformer"
- #{p 2240}#)))))
- (#{chi-void 437}#
- (lambda () (#{build-void 265}# #f)))
- (#{ellipsis? 439}#
- (lambda (#{x 2242}#)
- (if (#{nonsymbol-id? 341}# #{x 2242}#)
- (#{free-id=? 399}#
- #{x 2242}#
- '#(syntax-object
- ...
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage #(x) #((top)) #("i2243"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile)))
- #f)))
- (#{lambda-formals 441}#
- (lambda (#{orig-args 2246}#)
- (letrec*
- ((#{req 2249}#
- (lambda (#{args 2252}# #{rreq 2253}#)
- (let ((#{tmp 2256}# #{args 2252}#))
- (let ((#{tmp 2257}# ($sc-dispatch #{tmp 2256}# '())))
- (if #{tmp 2257}#
- (@apply
- (lambda ()
- (#{check 2251}# (reverse #{rreq 2253}#) #f))
- #{tmp 2257}#)
- (let ((#{tmp 2258}#
- ($sc-dispatch #{tmp 2256}# '(any . any))))
- (if (if #{tmp 2258}#
- (@apply
- (lambda (#{a 2261}# #{b 2262}#)
- (#{id? 343}# #{a 2261}#))
- #{tmp 2258}#)
- #f)
- (@apply
- (lambda (#{a 2265}# #{b 2266}#)
- (#{req 2249}#
- #{b 2266}#
- (cons #{a 2265}# #{rreq 2253}#)))
- #{tmp 2258}#)
- (let ((#{tmp 2267}# (list #{tmp 2256}#)))
- (if (if #{tmp 2267}#
- (@apply
- (lambda (#{r 2269}#)
- (#{id? 343}# #{r 2269}#))
- #{tmp 2267}#)
- #f)
- (@apply
- (lambda (#{r 2271}#)
- (#{check 2251}#
- (reverse #{rreq 2253}#)
- #{r 2271}#))
- #{tmp 2267}#)
- (let ((#{else 2273}# #{tmp 2256}#))
- (syntax-violation
- 'lambda
- "invalid argument list"
- #{orig-args 2246}#
- #{args 2252}#)))))))))))
- (#{check 2251}#
- (lambda (#{req 2274}# #{rest 2275}#)
- (if (#{distinct-bound-ids? 405}#
- (if #{rest 2275}#
- (cons #{rest 2275}# #{req 2274}#)
- #{req 2274}#))
- (values #{req 2274}# #f #{rest 2275}# #f)
- (syntax-violation
- 'lambda
- "duplicate identifier in argument list"
- #{orig-args 2246}#)))))
- (#{req 2249}# #{orig-args 2246}# '()))))
- (#{chi-simple-lambda 443}#
- (lambda (#{e 2281}#
- #{r 2282}#
- #{w 2283}#
- #{s 2284}#
- #{mod 2285}#
- #{req 2286}#
- #{rest 2287}#
- #{meta 2288}#
- #{body 2289}#)
- (let ((#{ids 2301}#
- (if #{rest 2287}#
- (append #{req 2286}# (list #{rest 2287}#))
- #{req 2286}#)))
- (let ((#{vars 2303}#
- (map #{gen-var 451}# #{ids 2301}#)))
- (let ((#{labels 2305}#
- (#{gen-labels 358}# #{ids 2301}#)))
- (#{build-simple-lambda 285}#
- #{s 2284}#
- (map syntax->datum #{req 2286}#)
- (if #{rest 2287}#
- (syntax->datum #{rest 2287}#)
- #f)
- #{vars 2303}#
- #{meta 2288}#
- (#{chi-body 431}#
- #{body 2289}#
- (#{source-wrap 411}#
- #{e 2281}#
- #{w 2283}#
- #{s 2284}#
- #{mod 2285}#)
- (#{extend-var-env 333}#
- #{labels 2305}#
- #{vars 2303}#
- #{r 2282}#)
- (#{make-binding-wrap 387}#
- #{ids 2301}#
- #{labels 2305}#
- #{w 2283}#)
- #{mod 2285}#)))))))
- (#{lambda*-formals 445}#
- (lambda (#{orig-args 2308}#)
- (letrec*
- ((#{req 2311}#
- (lambda (#{args 2320}# #{rreq 2321}#)
- (let ((#{tmp 2324}# #{args 2320}#))
- (let ((#{tmp 2325}# ($sc-dispatch #{tmp 2324}# '())))
- (if #{tmp 2325}#
- (@apply
- (lambda ()
- (#{check 2319}#
- (reverse #{rreq 2321}#)
- '()
- #f
- '()))
- #{tmp 2325}#)
- (let ((#{tmp 2326}#
- ($sc-dispatch #{tmp 2324}# '(any . any))))
- (if (if #{tmp 2326}#
- (@apply
- (lambda (#{a 2329}# #{b 2330}#)
- (#{id? 343}# #{a 2329}#))
- #{tmp 2326}#)
- #f)
- (@apply
- (lambda (#{a 2333}# #{b 2334}#)
- (#{req 2311}#
- #{b 2334}#
- (cons #{a 2333}# #{rreq 2321}#)))
- #{tmp 2326}#)
- (let ((#{tmp 2335}#
- ($sc-dispatch #{tmp 2324}# '(any . any))))
- (if (if #{tmp 2335}#
- (@apply
- (lambda (#{a 2338}# #{b 2339}#)
- (eq? (syntax->datum #{a 2338}#)
- #:optional))
- #{tmp 2335}#)
- #f)
- (@apply
- (lambda (#{a 2342}# #{b 2343}#)
- (#{opt 2313}#
- #{b 2343}#
- (reverse #{rreq 2321}#)
- '()))
- #{tmp 2335}#)
- (let ((#{tmp 2344}#
- ($sc-dispatch #{tmp 2324}# '(any . any))))
- (if (if #{tmp 2344}#
- (@apply
- (lambda (#{a 2347}# #{b 2348}#)
- (eq? (syntax->datum #{a 2347}#) #:key))
- #{tmp 2344}#)
- #f)
- (@apply
- (lambda (#{a 2351}# #{b 2352}#)
- (#{key 2315}#
- #{b 2352}#
- (reverse #{rreq 2321}#)
- '()
- '()))
- #{tmp 2344}#)
- (let ((#{tmp 2353}#
- ($sc-dispatch
- #{tmp 2324}#
- '(any any))))
- (if (if #{tmp 2353}#
- (@apply
- (lambda (#{a 2356}# #{b 2357}#)
- (eq? (syntax->datum #{a 2356}#)
- #:rest))
- #{tmp 2353}#)
- #f)
- (@apply
- (lambda (#{a 2360}# #{b 2361}#)
- (#{rest 2317}#
- #{b 2361}#
- (reverse #{rreq 2321}#)
- '()
- '()))
- #{tmp 2353}#)
- (let ((#{tmp 2362}# (list #{tmp 2324}#)))
- (if (if #{tmp 2362}#
- (@apply
- (lambda (#{r 2364}#)
- (#{id? 343}# #{r 2364}#))
- #{tmp 2362}#)
- #f)
- (@apply
- (lambda (#{r 2366}#)
- (#{rest 2317}#
- #{r 2366}#
- (reverse #{rreq 2321}#)
- '()
- '()))
- #{tmp 2362}#)
- (let ((#{else 2368}# #{tmp 2324}#))
- (syntax-violation
- 'lambda*
- "invalid argument list"
- #{orig-args 2308}#
- #{args 2320}#)))))))))))))))))
- (#{opt 2313}#
- (lambda (#{args 2369}# #{req 2370}# #{ropt 2371}#)
- (let ((#{tmp 2375}# #{args 2369}#))
- (let ((#{tmp 2376}# ($sc-dispatch #{tmp 2375}# '())))
- (if #{tmp 2376}#
- (@apply
- (lambda ()
- (#{check 2319}#
- #{req 2370}#
- (reverse #{ropt 2371}#)
- #f
- '()))
- #{tmp 2376}#)
- (let ((#{tmp 2377}#
- ($sc-dispatch #{tmp 2375}# '(any . any))))
- (if (if #{tmp 2377}#
- (@apply
- (lambda (#{a 2380}# #{b 2381}#)
- (#{id? 343}# #{a 2380}#))
- #{tmp 2377}#)
- #f)
- (@apply
- (lambda (#{a 2384}# #{b 2385}#)
- (#{opt 2313}#
- #{b 2385}#
- #{req 2370}#
- (cons (cons #{a 2384}#
- '(#(syntax-object
- #f
- ((top)
- #(ribcage
- #(a b)
- #((top) (top))
- #("i2382" "i2383"))
- #(ribcage () () ())
- #(ribcage
- #(args req ropt)
- #((top) (top) (top))
- #("i2372" "i2373" "i2374"))
- #(ribcage
- (check rest key opt req)
- ((top)
- (top)
- (top)
- (top)
- (top))
- ("i2318"
- "i2316"
- "i2314"
- "i2312"
- "i2310"))
- #(ribcage
- #(orig-args)
- #((top))
- #("i2309"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))))
- #{ropt 2371}#)))
- #{tmp 2377}#)
- (let ((#{tmp 2386}#
- ($sc-dispatch
- #{tmp 2375}#
- '((any any) . any))))
- (if (if #{tmp 2386}#
- (@apply
- (lambda (#{a 2390}# #{init 2391}# #{b 2392}#)
- (#{id? 343}# #{a 2390}#))
- #{tmp 2386}#)
- #f)
- (@apply
- (lambda (#{a 2396}# #{init 2397}# #{b 2398}#)
- (#{opt 2313}#
- #{b 2398}#
- #{req 2370}#
- (cons (list #{a 2396}# #{init 2397}#)
- #{ropt 2371}#)))
- #{tmp 2386}#)
- (let ((#{tmp 2399}#
- ($sc-dispatch #{tmp 2375}# '(any . any))))
- (if (if #{tmp 2399}#
- (@apply
- (lambda (#{a 2402}# #{b 2403}#)
- (eq? (syntax->datum #{a 2402}#) #:key))
- #{tmp 2399}#)
- #f)
- (@apply
- (lambda (#{a 2406}# #{b 2407}#)
- (#{key 2315}#
- #{b 2407}#
- #{req 2370}#
- (reverse #{ropt 2371}#)
- '()))
- #{tmp 2399}#)
- (let ((#{tmp 2408}#
- ($sc-dispatch
- #{tmp 2375}#
- '(any any))))
- (if (if #{tmp 2408}#
- (@apply
- (lambda (#{a 2411}# #{b 2412}#)
- (eq? (syntax->datum #{a 2411}#)
- #:rest))
- #{tmp 2408}#)
- #f)
- (@apply
- (lambda (#{a 2415}# #{b 2416}#)
- (#{rest 2317}#
- #{b 2416}#
- #{req 2370}#
- (reverse #{ropt 2371}#)
- '()))
- #{tmp 2408}#)
- (let ((#{tmp 2417}# (list #{tmp 2375}#)))
- (if (if #{tmp 2417}#
- (@apply
- (lambda (#{r 2419}#)
- (#{id? 343}# #{r 2419}#))
- #{tmp 2417}#)
- #f)
- (@apply
- (lambda (#{r 2421}#)
- (#{rest 2317}#
- #{r 2421}#
- #{req 2370}#
- (reverse #{ropt 2371}#)
- '()))
- #{tmp 2417}#)
- (let ((#{else 2423}# #{tmp 2375}#))
- (syntax-violation
- 'lambda*
- "invalid optional argument list"
- #{orig-args 2308}#
- #{args 2369}#)))))))))))))))))
- (#{key 2315}#
- (lambda (#{args 2424}#
- #{req 2425}#
- #{opt 2426}#
- #{rkey 2427}#)
- (let ((#{tmp 2432}# #{args 2424}#))
- (let ((#{tmp 2433}# ($sc-dispatch #{tmp 2432}# '())))
- (if #{tmp 2433}#
- (@apply
- (lambda ()
- (#{check 2319}#
- #{req 2425}#
- #{opt 2426}#
- #f
- (cons #f (reverse #{rkey 2427}#))))
- #{tmp 2433}#)
- (let ((#{tmp 2434}#
- ($sc-dispatch #{tmp 2432}# '(any . any))))
- (if (if #{tmp 2434}#
- (@apply
- (lambda (#{a 2437}# #{b 2438}#)
- (#{id? 343}# #{a 2437}#))
- #{tmp 2434}#)
- #f)
- (@apply
- (lambda (#{a 2441}# #{b 2442}#)
- (let ((#{tmp 2444}#
- (symbol->keyword
- (syntax->datum #{a 2441}#))))
- (let ((#{k 2446}# #{tmp 2444}#))
- (#{key 2315}#
- #{b 2442}#
- #{req 2425}#
- #{opt 2426}#
- (cons (cons #{k 2446}#
- (cons #{a 2441}#
- '(#(syntax-object
- #f
- ((top)
- #(ribcage () () ())
- #(ribcage
- #(k)
- #((top))
- #("i2445"))
- #(ribcage
- #(a b)
- #((top) (top))
- #("i2439" "i2440"))
- #(ribcage () () ())
- #(ribcage
- #(args req opt rkey)
- #((top)
- (top)
- (top)
- (top))
- #("i2428"
- "i2429"
- "i2430"
- "i2431"))
- #(ribcage
- (check rest
- key
- opt
- req)
- ((top)
- (top)
- (top)
- (top)
- (top))
- ("i2318"
- "i2316"
- "i2314"
- "i2312"
- "i2310"))
- #(ribcage
- #(orig-args)
- #((top))
- #("i2309"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
-
eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
-
distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
-
define-expansion-accessors
-
define-expansion-constructors)
- ((top) (top) (top))
- ("i40"
- "i39"
- "i38")))
- (hygiene guile)))))
- #{rkey 2427}#)))))
- #{tmp 2434}#)
- (let ((#{tmp 2447}#
- ($sc-dispatch
- #{tmp 2432}#
- '((any any) . any))))
- (if (if #{tmp 2447}#
- (@apply
- (lambda (#{a 2451}# #{init 2452}# #{b 2453}#)
- (#{id? 343}# #{a 2451}#))
- #{tmp 2447}#)
- #f)
- (@apply
- (lambda (#{a 2457}# #{init 2458}# #{b 2459}#)
- (let ((#{tmp 2461}#
- (symbol->keyword
- (syntax->datum #{a 2457}#))))
- (let ((#{k 2463}# #{tmp 2461}#))
- (#{key 2315}#
- #{b 2459}#
- #{req 2425}#
- #{opt 2426}#
- (cons (list #{k 2463}#
- #{a 2457}#
- #{init 2458}#)
- #{rkey 2427}#)))))
- #{tmp 2447}#)
- (let ((#{tmp 2464}#
- ($sc-dispatch
- #{tmp 2432}#
- '((any any any) . any))))
- (if (if #{tmp 2464}#
- (@apply
- (lambda (#{a 2469}#
- #{init 2470}#
- #{k 2471}#
- #{b 2472}#)
- (if (#{id? 343}# #{a 2469}#)
- (keyword? (syntax->datum #{k 2471}#))
- #f))
- #{tmp 2464}#)
- #f)
- (@apply
- (lambda (#{a 2479}#
- #{init 2480}#
- #{k 2481}#
- #{b 2482}#)
- (#{key 2315}#
- #{b 2482}#
- #{req 2425}#
- #{opt 2426}#
- (cons (list #{k 2481}#
- #{a 2479}#
- #{init 2480}#)
- #{rkey 2427}#)))
- #{tmp 2464}#)
- (let ((#{tmp 2483}#
- ($sc-dispatch #{tmp 2432}# '(any))))
- (if (if #{tmp 2483}#
- (@apply
- (lambda (#{aok 2485}#)
- (eq? (syntax->datum #{aok 2485}#)
- #:allow-other-keys))
- #{tmp 2483}#)
- #f)
- (@apply
- (lambda (#{aok 2487}#)
- (#{check 2319}#
- #{req 2425}#
- #{opt 2426}#
- #f
- (cons #t (reverse #{rkey 2427}#))))
- #{tmp 2483}#)
- (let ((#{tmp 2488}#
- ($sc-dispatch
- #{tmp 2432}#
- '(any any any))))
- (if (if #{tmp 2488}#
- (@apply
- (lambda (#{aok 2492}#
- #{a 2493}#
- #{b 2494}#)
- (if (eq? (syntax->datum
- #{aok 2492}#)
- #:allow-other-keys)
- (eq? (syntax->datum
- #{a 2493}#)
- #:rest)
- #f))
- #{tmp 2488}#)
- #f)
- (@apply
- (lambda (#{aok 2500}#
- #{a 2501}#
- #{b 2502}#)
- (#{rest 2317}#
- #{b 2502}#
- #{req 2425}#
- #{opt 2426}#
- (cons #t
- (reverse #{rkey 2427}#))))
- #{tmp 2488}#)
- (let ((#{tmp 2503}#
- ($sc-dispatch
- #{tmp 2432}#
- '(any . any))))
- (if (if #{tmp 2503}#
- (@apply
- (lambda (#{aok 2506}#
- #{r 2507}#)
- (if (eq? (syntax->datum
- #{aok 2506}#)
-
#:allow-other-keys)
- (#{id? 343}# #{r 2507}#)
- #f))
- #{tmp 2503}#)
- #f)
- (@apply
- (lambda (#{aok 2512}# #{r 2513}#)
- (#{rest 2317}#
- #{r 2513}#
- #{req 2425}#
- #{opt 2426}#
- (cons #t
- (reverse
- #{rkey 2427}#))))
- #{tmp 2503}#)
- (let ((#{tmp 2514}#
- ($sc-dispatch
- #{tmp 2432}#
- '(any any))))
- (if (if #{tmp 2514}#
- (@apply
- (lambda (#{a 2517}#
- #{b 2518}#)
- (eq? (syntax->datum
- #{a 2517}#)
- #:rest))
- #{tmp 2514}#)
- #f)
- (@apply
- (lambda (#{a 2521}#
- #{b 2522}#)
- (#{rest 2317}#
- #{b 2522}#
- #{req 2425}#
- #{opt 2426}#
- (cons #f
- (reverse
- #{rkey 2427}#))))
- #{tmp 2514}#)
- (let ((#{tmp 2523}#
- (list #{tmp 2432}#)))
- (if (if #{tmp 2523}#
- (@apply
- (lambda (#{r 2525}#)
- (#{id? 343}#
- #{r 2525}#))
- #{tmp 2523}#)
- #f)
- (@apply
- (lambda (#{r 2527}#)
- (#{rest 2317}#
- #{r 2527}#
- #{req 2425}#
- #{opt 2426}#
- (cons #f
- (reverse
- #{rkey
2427}#))))
- #{tmp 2523}#)
- (let ((#{else 2529}#
- #{tmp 2432}#))
- (syntax-violation
- 'lambda*
- "invalid keyword
argument list"
- #{orig-args 2308}#
- #{args
2424}#)))))))))))))))))))))))
- (#{rest 2317}#
- (lambda (#{args 2530}#
- #{req 2531}#
- #{opt 2532}#
- #{kw 2533}#)
- (let ((#{tmp 2538}# #{args 2530}#))
- (let ((#{tmp 2539}# (list #{tmp 2538}#)))
- (if (if #{tmp 2539}#
- (@apply
- (lambda (#{r 2541}#) (#{id? 343}# #{r 2541}#))
- #{tmp 2539}#)
- #f)
- (@apply
- (lambda (#{r 2543}#)
- (#{check 2319}#
- #{req 2531}#
- #{opt 2532}#
- #{r 2543}#
- #{kw 2533}#))
- #{tmp 2539}#)
- (let ((#{else 2545}# #{tmp 2538}#))
- (syntax-violation
- 'lambda*
- "invalid rest argument"
- #{orig-args 2308}#
- #{args 2530}#)))))))
- (#{check 2319}#
- (lambda (#{req 2546}#
- #{opt 2547}#
- #{rest 2548}#
- #{kw 2549}#)
- (if (#{distinct-bound-ids? 405}#
- (append
- #{req 2546}#
- (map car #{opt 2547}#)
- (if #{rest 2548}# (list #{rest 2548}#) '())
- (if (pair? #{kw 2549}#)
- (map cadr (cdr #{kw 2549}#))
- '())))
- (values
- #{req 2546}#
- #{opt 2547}#
- #{rest 2548}#
- #{kw 2549}#)
- (syntax-violation
- 'lambda*
- "duplicate identifier in argument list"
- #{orig-args 2308}#)))))
- (#{req 2311}# #{orig-args 2308}# '()))))
- (#{chi-lambda-case 447}#
- (lambda (#{e 2557}#
- #{r 2558}#
- #{w 2559}#
- #{s 2560}#
- #{mod 2561}#
- #{get-formals 2562}#
- #{clauses 2563}#)
- (letrec*
- ((#{expand-req 2572}#
- (lambda (#{req 2579}#
- #{opt 2580}#
- #{rest 2581}#
- #{kw 2582}#
- #{body 2583}#)
- (let ((#{vars 2591}#
- (map #{gen-var 451}# #{req 2579}#))
- (#{labels 2592}#
- (#{gen-labels 358}# #{req 2579}#)))
- (let ((#{r* 2595}#
- (#{extend-var-env 333}#
- #{labels 2592}#
- #{vars 2591}#
- #{r 2558}#))
- (#{w* 2596}#
- (#{make-binding-wrap 387}#
- #{req 2579}#
- #{labels 2592}#
- #{w 2559}#)))
- (#{expand-opt 2574}#
- (map syntax->datum #{req 2579}#)
- #{opt 2580}#
- #{rest 2581}#
- #{kw 2582}#
- #{body 2583}#
- (reverse #{vars 2591}#)
- #{r* 2595}#
- #{w* 2596}#
- '()
- '())))))
- (#{expand-opt 2574}#
- (lambda (#{req 2597}#
- #{opt 2598}#
- #{rest 2599}#
- #{kw 2600}#
- #{body 2601}#
- #{vars 2602}#
- #{r* 2603}#
- #{w* 2604}#
- #{out 2605}#
- #{inits 2606}#)
- (if (pair? #{opt 2598}#)
- (let ((#{tmp 2619}# (car #{opt 2598}#)))
- (let ((#{tmp 2620}#
- ($sc-dispatch #{tmp 2619}# '(any any))))
- (if #{tmp 2620}#
- (@apply
- (lambda (#{id 2623}# #{i 2624}#)
- (let ((#{v 2627}# (#{gen-var 451}# #{id 2623}#)))
- (let ((#{l 2629}#
- (#{gen-labels 358}# (list #{v 2627}#))))
- (let ((#{r** 2631}#
- (#{extend-var-env 333}#
- #{l 2629}#
- (list #{v 2627}#)
- #{r* 2603}#)))
- (let ((#{w** 2633}#
- (#{make-binding-wrap 387}#
- (list #{id 2623}#)
- #{l 2629}#
- #{w* 2604}#)))
- (#{expand-opt 2574}#
- #{req 2597}#
- (cdr #{opt 2598}#)
- #{rest 2599}#
- #{kw 2600}#
- #{body 2601}#
- (cons #{v 2627}# #{vars 2602}#)
- #{r** 2631}#
- #{w** 2633}#
- (cons (syntax->datum #{id 2623}#)
- #{out 2605}#)
- (cons (#{chi 423}#
- #{i 2624}#
- #{r* 2603}#
- #{w* 2604}#
- #{mod 2561}#)
- #{inits 2606}#)))))))
- #{tmp 2620}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 2619}#))))
- (if #{rest 2599}#
- (let ((#{v 2638}# (#{gen-var 451}# #{rest 2599}#)))
- (let ((#{l 2640}#
- (#{gen-labels 358}# (list #{v 2638}#))))
- (let ((#{r* 2642}#
- (#{extend-var-env 333}#
- #{l 2640}#
- (list #{v 2638}#)
- #{r* 2603}#)))
- (let ((#{w* 2644}#
- (#{make-binding-wrap 387}#
- (list #{rest 2599}#)
- #{l 2640}#
- #{w* 2604}#)))
- (#{expand-kw 2576}#
- #{req 2597}#
- (if (pair? #{out 2605}#)
- (reverse #{out 2605}#)
- #f)
- (syntax->datum #{rest 2599}#)
- (if (pair? #{kw 2600}#)
- (cdr #{kw 2600}#)
- #{kw 2600}#)
- #{body 2601}#
- (cons #{v 2638}# #{vars 2602}#)
- #{r* 2642}#
- #{w* 2644}#
- (if (pair? #{kw 2600}#) (car #{kw 2600}#) #f)
- '()
- #{inits 2606}#)))))
- (#{expand-kw 2576}#
- #{req 2597}#
- (if (pair? #{out 2605}#)
- (reverse #{out 2605}#)
- #f)
- #f
- (if (pair? #{kw 2600}#)
- (cdr #{kw 2600}#)
- #{kw 2600}#)
- #{body 2601}#
- #{vars 2602}#
- #{r* 2603}#
- #{w* 2604}#
- (if (pair? #{kw 2600}#) (car #{kw 2600}#) #f)
- '()
- #{inits 2606}#)))))
- (#{expand-kw 2576}#
- (lambda (#{req 2646}#
- #{opt 2647}#
- #{rest 2648}#
- #{kw 2649}#
- #{body 2650}#
- #{vars 2651}#
- #{r* 2652}#
- #{w* 2653}#
- #{aok 2654}#
- #{out 2655}#
- #{inits 2656}#)
- (if (pair? #{kw 2649}#)
- (let ((#{tmp 2670}# (car #{kw 2649}#)))
- (let ((#{tmp 2671}#
- ($sc-dispatch #{tmp 2670}# '(any any any))))
- (if #{tmp 2671}#
- (@apply
- (lambda (#{k 2675}# #{id 2676}# #{i 2677}#)
- (let ((#{v 2680}# (#{gen-var 451}# #{id 2676}#)))
- (let ((#{l 2682}#
- (#{gen-labels 358}# (list #{v 2680}#))))
- (let ((#{r** 2684}#
- (#{extend-var-env 333}#
- #{l 2682}#
- (list #{v 2680}#)
- #{r* 2652}#)))
- (let ((#{w** 2686}#
- (#{make-binding-wrap 387}#
- (list #{id 2676}#)
- #{l 2682}#
- #{w* 2653}#)))
- (#{expand-kw 2576}#
- #{req 2646}#
- #{opt 2647}#
- #{rest 2648}#
- (cdr #{kw 2649}#)
- #{body 2650}#
- (cons #{v 2680}# #{vars 2651}#)
- #{r** 2684}#
- #{w** 2686}#
- #{aok 2654}#
- (cons (list (syntax->datum #{k 2675}#)
- (syntax->datum #{id 2676}#)
- #{v 2680}#)
- #{out 2655}#)
- (cons (#{chi 423}#
- #{i 2677}#
- #{r* 2652}#
- #{w* 2653}#
- #{mod 2561}#)
- #{inits 2656}#)))))))
- #{tmp 2671}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 2670}#))))
- (#{expand-body 2578}#
- #{req 2646}#
- #{opt 2647}#
- #{rest 2648}#
- (if (let ((#{t 2690}# #{aok 2654}#))
- (if #{t 2690}# #{t 2690}# (pair? #{out 2655}#)))
- (cons #{aok 2654}# (reverse #{out 2655}#))
- #f)
- #{body 2650}#
- (reverse #{vars 2651}#)
- #{r* 2652}#
- #{w* 2653}#
- (reverse #{inits 2656}#)
- '()))))
- (#{expand-body 2578}#
- (lambda (#{req 2692}#
- #{opt 2693}#
- #{rest 2694}#
- #{kw 2695}#
- #{body 2696}#
- #{vars 2697}#
- #{r* 2698}#
- #{w* 2699}#
- #{inits 2700}#
- #{meta 2701}#)
- (let ((#{tmp 2712}# #{body 2696}#))
- (let ((#{tmp 2713}#
- ($sc-dispatch #{tmp 2712}# '(any any . each-any))))
- (if (if #{tmp 2713}#
- (@apply
- (lambda (#{docstring 2717}# #{e1 2718}# #{e2 2719}#)
- (string? (syntax->datum #{docstring 2717}#)))
- #{tmp 2713}#)
- #f)
- (@apply
- (lambda (#{docstring 2723}# #{e1 2724}# #{e2 2725}#)
- (#{expand-body 2578}#
- #{req 2692}#
- #{opt 2693}#
- #{rest 2694}#
- #{kw 2695}#
- (cons #{e1 2724}# #{e2 2725}#)
- #{vars 2697}#
- #{r* 2698}#
- #{w* 2699}#
- #{inits 2700}#
- (append
- #{meta 2701}#
- (list (cons 'documentation
- (syntax->datum #{docstring 2723}#))))))
- #{tmp 2713}#)
- (let ((#{tmp 2728}#
- ($sc-dispatch
- #{tmp 2712}#
- '(#(vector #(each (any . any)))
- any
- .
- each-any))))
- (if #{tmp 2728}#
- (@apply
- (lambda (#{k 2733}#
- #{v 2734}#
- #{e1 2735}#
- #{e2 2736}#)
- (#{expand-body 2578}#
- #{req 2692}#
- #{opt 2693}#
- #{rest 2694}#
- #{kw 2695}#
- (cons #{e1 2735}# #{e2 2736}#)
- #{vars 2697}#
- #{r* 2698}#
- #{w* 2699}#
- #{inits 2700}#
- (append
- #{meta 2701}#
- (syntax->datum
- (map cons #{k 2733}# #{v 2734}#)))))
- #{tmp 2728}#)
- (let ((#{tmp 2740}#
- ($sc-dispatch #{tmp 2712}# '(any . each-any))))
- (if #{tmp 2740}#
- (@apply
- (lambda (#{e1 2743}# #{e2 2744}#)
- (values
- #{meta 2701}#
- #{req 2692}#
- #{opt 2693}#
- #{rest 2694}#
- #{kw 2695}#
- #{inits 2700}#
- #{vars 2697}#
- (#{chi-body 431}#
- (cons #{e1 2743}# #{e2 2744}#)
- (#{source-wrap 411}#
- #{e 2557}#
- #{w 2559}#
- #{s 2560}#
- #{mod 2561}#)
- #{r* 2698}#
- #{w* 2699}#
- #{mod 2561}#)))
- #{tmp 2740}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 2712}#)))))))))))
- (let ((#{tmp 2746}# #{clauses 2563}#))
- (let ((#{tmp 2747}# ($sc-dispatch #{tmp 2746}# '())))
- (if #{tmp 2747}#
- (@apply (lambda () (values '() #f)) #{tmp 2747}#)
- (let ((#{tmp 2748}#
- ($sc-dispatch
- #{tmp 2746}#
- '((any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 2748}#
- (@apply
- (lambda (#{args 2755}#
- #{e1 2756}#
- #{e2 2757}#
- #{args* 2758}#
- #{e1* 2759}#
- #{e2* 2760}#)
- (call-with-values
- (lambda () (#{get-formals 2562}# #{args 2755}#))
- (lambda (#{req 2761}#
- #{opt 2762}#
- #{rest 2763}#
- #{kw 2764}#)
- (call-with-values
- (lambda ()
- (#{expand-req 2572}#
- #{req 2761}#
- #{opt 2762}#
- #{rest 2763}#
- #{kw 2764}#
- (cons #{e1 2756}# #{e2 2757}#)))
- (lambda (#{meta 2770}#
- #{req 2771}#
- #{opt 2772}#
- #{rest 2773}#
- #{kw 2774}#
- #{inits 2775}#
- #{vars 2776}#
- #{body 2777}#)
- (call-with-values
- (lambda ()
- (#{chi-lambda-case 447}#
- #{e 2557}#
- #{r 2558}#
- #{w 2559}#
- #{s 2560}#
- #{mod 2561}#
- #{get-formals 2562}#
- (map (lambda (#{tmp 2788}#
- #{tmp 2787}#
- #{tmp 2786}#)
- (cons #{tmp 2786}#
- (cons #{tmp 2787}#
- #{tmp 2788}#)))
- #{e2* 2760}#
- #{e1* 2759}#
- #{args* 2758}#)))
- (lambda (#{meta* 2790}# #{else* 2791}#)
- (values
- (append #{meta 2770}# #{meta* 2790}#)
- (#{build-lambda-case 289}#
- #{s 2560}#
- #{req 2771}#
- #{opt 2772}#
- #{rest 2773}#
- #{kw 2774}#
- #{inits 2775}#
- #{vars 2776}#
- #{body 2777}#
- #{else* 2791}#)))))))))
- #{tmp 2748}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 2746}#)))))))))
- (#{strip 449}#
- (lambda (#{x 2794}# #{w 2795}#)
- (if (memq 'top (car #{w 2795}#))
- #{x 2794}#
- (letrec*
- ((#{f 2802}#
- (lambda (#{x 2803}#)
- (if (#{syntax-object? 309}# #{x 2803}#)
- (#{strip 449}#
- (#{syntax-object-expression 311}# #{x 2803}#)
- (#{syntax-object-wrap 313}# #{x 2803}#))
- (if (pair? #{x 2803}#)
- (let ((#{a 2810}# (#{f 2802}# (car #{x 2803}#)))
- (#{d 2811}# (#{f 2802}# (cdr #{x 2803}#))))
- (if (if (eq? #{a 2810}# (car #{x 2803}#))
- (eq? #{d 2811}# (cdr #{x 2803}#))
- #f)
- #{x 2803}#
- (cons #{a 2810}# #{d 2811}#)))
- (if (vector? #{x 2803}#)
- (let ((#{old 2817}# (vector->list #{x 2803}#)))
- (let ((#{new 2819}# (map #{f 2802}# #{old 2817}#)))
- (letrec*
- ((#{lp 2823}#
- (lambda (#{l1 2824}# #{l2 2825}#)
- (if (null? #{l1 2824}#)
- #{x 2803}#
- (if (eq? (car #{l1 2824}#)
- (car #{l2 2825}#))
- (#{lp 2823}#
- (cdr #{l1 2824}#)
- (cdr #{l2 2825}#))
- (list->vector #{new 2819}#))))))
- (#{lp 2823}# #{old 2817}# #{new 2819}#))))
- #{x 2803}#))))))
- (#{f 2802}# #{x 2794}#)))))
- (#{gen-var 451}#
- (lambda (#{id 2827}#)
- (let ((#{id 2830}#
- (if (#{syntax-object? 309}# #{id 2827}#)
- (#{syntax-object-expression 311}# #{id 2827}#)
- #{id 2827}#)))
- (gensym
- (string-append (symbol->string #{id 2830}#) " ")))))
- (#{lambda-var-list 453}#
- (lambda (#{vars 2832}#)
- (letrec*
- ((#{lvl 2838}#
- (lambda (#{vars 2839}# #{ls 2840}# #{w 2841}#)
- (if (pair? #{vars 2839}#)
- (#{lvl 2838}#
- (cdr #{vars 2839}#)
- (cons (#{wrap 409}# (car #{vars 2839}#) #{w 2841}# #f)
- #{ls 2840}#)
- #{w 2841}#)
- (if (#{id? 343}# #{vars 2839}#)
- (cons (#{wrap 409}# #{vars 2839}# #{w 2841}# #f)
- #{ls 2840}#)
- (if (null? #{vars 2839}#)
- #{ls 2840}#
- (if (#{syntax-object? 309}# #{vars 2839}#)
- (#{lvl 2838}#
- (#{syntax-object-expression 311}# #{vars 2839}#)
- #{ls 2840}#
- (#{join-wraps 391}#
- #{w 2841}#
- (#{syntax-object-wrap 313}# #{vars 2839}#)))
- (cons #{vars 2839}# #{ls 2840}#))))))))
- (#{lvl 2838}# #{vars 2832}# '() '(()))))))
- (begin
- (lambda (#{x 1163}# #{update 1164}#)
- (vector-set! #{x 1163}# 1 #{update 1164}#))
- (lambda (#{x 1167}# #{update 1168}#)
- (vector-set! #{x 1167}# 2 #{update 1168}#))
- (lambda (#{x 1171}# #{update 1172}#)
- (vector-set! #{x 1171}# 3 #{update 1172}#))
- (lambda (#{x 1252}#)
- (if (vector? #{x 1252}#)
- (if (= (vector-length #{x 1252}#) 4)
- (eq? (vector-ref #{x 1252}# 0) 'ribcage)
- #f)
- #f))
- (#{global-extend 339}#
- 'local-syntax
- 'letrec-syntax
- #t)
- (#{global-extend 339}#
- 'local-syntax
- 'let-syntax
- #f)
- (#{global-extend 339}#
- 'core
- 'fluid-let-syntax
- (lambda (#{e 2852}#
- #{r 2853}#
- #{w 2854}#
- #{s 2855}#
- #{mod 2856}#)
- (let ((#{tmp 2862}# #{e 2852}#))
- (let ((#{tmp 2863}#
- ($sc-dispatch
- #{tmp 2862}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 2863}#
- (@apply
- (lambda (#{var 2868}#
- #{val 2869}#
- #{e1 2870}#
- #{e2 2871}#)
- (#{valid-bound-ids? 403}# #{var 2868}#))
- #{tmp 2863}#)
- #f)
- (@apply
- (lambda (#{var 2877}#
- #{val 2878}#
- #{e1 2879}#
- #{e2 2880}#)
- (let ((#{names 2882}#
- (map (lambda (#{x 2883}#)
- (#{id-var-name 397}# #{x 2883}# #{w 2854}#))
- #{var 2877}#)))
- (begin
- (for-each
- (lambda (#{id 2886}# #{n 2887}#)
- (let ((#{atom-key 2892}#
- (car (#{lookup 337}#
- #{n 2887}#
- #{r 2853}#
- #{mod 2856}#))))
- (if (memv #{atom-key 2892}# '(displaced-lexical))
- (syntax-violation
- 'fluid-let-syntax
- "identifier out of context"
- #{e 2852}#
- (#{source-wrap 411}#
- #{id 2886}#
- #{w 2854}#
- #{s 2855}#
- #{mod 2856}#)))))
- #{var 2877}#
- #{names 2882}#)
- (#{chi-body 431}#
- (cons #{e1 2879}# #{e2 2880}#)
- (#{source-wrap 411}#
- #{e 2852}#
- #{w 2854}#
- #{s 2855}#
- #{mod 2856}#)
- (#{extend-env 331}#
- #{names 2882}#
- (let ((#{trans-r 2898}#
- (#{macros-only-env 335}# #{r 2853}#)))
- (map (lambda (#{x 2899}#)
- (cons 'macro
- (#{eval-local-transformer 435}#
- (#{chi 423}#
- #{x 2899}#
- #{trans-r 2898}#
- #{w 2854}#
- #{mod 2856}#)
- #{mod 2856}#)))
- #{val 2878}#))
- #{r 2853}#)
- #{w 2854}#
- #{mod 2856}#))))
- #{tmp 2863}#)
- (let ((#{_ 2904}# #{tmp 2862}#))
- (syntax-violation
- 'fluid-let-syntax
- "bad syntax"
- (#{source-wrap 411}#
- #{e 2852}#
- #{w 2854}#
- #{s 2855}#
- #{mod 2856}#))))))))
- (#{global-extend 339}#
- 'core
- 'quote
- (lambda (#{e 2905}#
- #{r 2906}#
- #{w 2907}#
- #{s 2908}#
- #{mod 2909}#)
- (let ((#{tmp 2915}# #{e 2905}#))
- (let ((#{tmp 2916}#
- ($sc-dispatch #{tmp 2915}# '(_ any))))
- (if #{tmp 2916}#
- (@apply
- (lambda (#{e 2918}#)
- (#{build-data 295}#
- #{s 2908}#
- (#{strip 449}# #{e 2918}# #{w 2907}#)))
- #{tmp 2916}#)
- (let ((#{_ 2920}# #{tmp 2915}#))
- (syntax-violation
- 'quote
- "bad syntax"
- (#{source-wrap 411}#
- #{e 2905}#
- #{w 2907}#
- #{s 2908}#
- #{mod 2909}#))))))))
- (#{global-extend 339}#
- 'core
- 'syntax
- (letrec*
- ((#{gen-syntax 2922}#
- (lambda (#{src 2937}#
- #{e 2938}#
- #{r 2939}#
- #{maps 2940}#
- #{ellipsis? 2941}#
- #{mod 2942}#)
- (if (#{id? 343}# #{e 2938}#)
- (let ((#{label 2950}#
- (#{id-var-name 397}# #{e 2938}# '(()))))
- (let ((#{b 2953}#
- (#{lookup 337}#
- #{label 2950}#
- #{r 2939}#
- #{mod 2942}#)))
- (if (eq? (car #{b 2953}#) 'syntax)
- (call-with-values
- (lambda ()
- (let ((#{var.lev 2956}# (cdr #{b 2953}#)))
- (#{gen-ref 2924}#
- #{src 2937}#
- (car #{var.lev 2956}#)
- (cdr #{var.lev 2956}#)
- #{maps 2940}#)))
- (lambda (#{var 2958}# #{maps 2959}#)
- (values (list 'ref #{var 2958}#) #{maps 2959}#)))
- (if (#{ellipsis? 2941}# #{e 2938}#)
- (syntax-violation
- 'syntax
- "misplaced ellipsis"
- #{src 2937}#)
- (values (list 'quote #{e 2938}#) #{maps 2940}#)))))
- (let ((#{tmp 2964}# #{e 2938}#))
- (let ((#{tmp 2965}#
- ($sc-dispatch #{tmp 2964}# '(any any))))
- (if (if #{tmp 2965}#
- (@apply
- (lambda (#{dots 2968}# #{e 2969}#)
- (#{ellipsis? 2941}# #{dots 2968}#))
- #{tmp 2965}#)
- #f)
- (@apply
- (lambda (#{dots 2972}# #{e 2973}#)
- (#{gen-syntax 2922}#
- #{src 2937}#
- #{e 2973}#
- #{r 2939}#
- #{maps 2940}#
- (lambda (#{x 2974}#) #f)
- #{mod 2942}#))
- #{tmp 2965}#)
- (let ((#{tmp 2976}#
- ($sc-dispatch #{tmp 2964}# '(any any . any))))
- (if (if #{tmp 2976}#
- (@apply
- (lambda (#{x 2980}# #{dots 2981}# #{y 2982}#)
- (#{ellipsis? 2941}# #{dots 2981}#))
- #{tmp 2976}#)
- #f)
- (@apply
- (lambda (#{x 2986}# #{dots 2987}# #{y 2988}#)
- (letrec*
- ((#{f 2992}#
- (lambda (#{y 2993}# #{k 2994}#)
- (let ((#{tmp 3001}# #{y 2993}#))
- (let ((#{tmp 3002}#
- ($sc-dispatch
- #{tmp 3001}#
- '(any . any))))
- (if (if #{tmp 3002}#
- (@apply
- (lambda (#{dots 3005}#
- #{y 3006}#)
- (#{ellipsis? 2941}#
- #{dots 3005}#))
- #{tmp 3002}#)
- #f)
- (@apply
- (lambda (#{dots 3009}# #{y 3010}#)
- (#{f 2992}#
- #{y 3010}#
- (lambda (#{maps 3011}#)
- (call-with-values
- (lambda ()
- (#{k 2994}#
- (cons '()
- #{maps 3011}#)))
- (lambda (#{x 3013}#
- #{maps 3014}#)
- (if (null? (car #{maps
3014}#))
- (syntax-violation
- 'syntax
- "extra ellipsis"
- #{src 2937}#)
- (values
- (#{gen-mappend 2926}#
- #{x 3013}#
- (car #{maps
3014}#))
- (cdr #{maps
3014}#))))))))
- #{tmp 3002}#)
- (let ((#{_ 3018}# #{tmp 3001}#))
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{src 2937}#
- #{y 2993}#
- #{r 2939}#
- #{maps 2940}#
- #{ellipsis? 2941}#
- #{mod 2942}#))
- (lambda (#{y 3019}#
- #{maps 3020}#)
- (call-with-values
- (lambda ()
- (#{k 2994}# #{maps 3020}#))
- (lambda (#{x 3023}#
- #{maps 3024}#)
- (values
- (#{gen-append 2932}#
- #{x 3023}#
- #{y 3019}#)
- #{maps 3024}#))))))))))))
- (#{f 2992}#
- #{y 2988}#
- (lambda (#{maps 2995}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{src 2937}#
- #{x 2986}#
- #{r 2939}#
- (cons '() #{maps 2995}#)
- #{ellipsis? 2941}#
- #{mod 2942}#))
- (lambda (#{x 2997}# #{maps 2998}#)
- (if (null? (car #{maps 2998}#))
- (syntax-violation
- 'syntax
- "extra ellipsis"
- #{src 2937}#)
- (values
- (#{gen-map 2928}#
- #{x 2997}#
- (car #{maps 2998}#))
- (cdr #{maps 2998}#)))))))))
- #{tmp 2976}#)
- (let ((#{tmp 3027}#
- ($sc-dispatch #{tmp 2964}# '(any . any))))
- (if #{tmp 3027}#
- (@apply
- (lambda (#{x 3030}# #{y 3031}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{src 2937}#
- #{x 3030}#
- #{r 2939}#
- #{maps 2940}#
- #{ellipsis? 2941}#
- #{mod 2942}#))
- (lambda (#{x 3032}# #{maps 3033}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{src 2937}#
- #{y 3031}#
- #{r 2939}#
- #{maps 3033}#
- #{ellipsis? 2941}#
- #{mod 2942}#))
- (lambda (#{y 3036}# #{maps 3037}#)
- (values
- (#{gen-cons 2930}#
- #{x 3032}#
- #{y 3036}#)
- #{maps 3037}#))))))
- #{tmp 3027}#)
- (let ((#{tmp 3040}#
- ($sc-dispatch
- #{tmp 2964}#
- '#(vector (any . each-any)))))
- (if #{tmp 3040}#
- (@apply
- (lambda (#{e1 3043}# #{e2 3044}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{src 2937}#
- (cons #{e1 3043}# #{e2 3044}#)
- #{r 2939}#
- #{maps 2940}#
- #{ellipsis? 2941}#
- #{mod 2942}#))
- (lambda (#{e 3046}# #{maps 3047}#)
- (values
- (#{gen-vector 2934}# #{e 3046}#)
- #{maps 3047}#))))
- #{tmp 3040}#)
- (let ((#{_ 3051}# #{tmp 2964}#))
- (values
- (list 'quote #{e 2938}#)
- #{maps 2940}#))))))))))))))
- (#{gen-ref 2924}#
- (lambda (#{src 3053}#
- #{var 3054}#
- #{level 3055}#
- #{maps 3056}#)
- (if (= #{level 3055}# 0)
- (values #{var 3054}# #{maps 3056}#)
- (if (null? #{maps 3056}#)
- (syntax-violation
- 'syntax
- "missing ellipsis"
- #{src 3053}#)
- (call-with-values
- (lambda ()
- (#{gen-ref 2924}#
- #{src 3053}#
- #{var 3054}#
- (#{1-}# #{level 3055}#)
- (cdr #{maps 3056}#)))
- (lambda (#{outer-var 3063}# #{outer-maps 3064}#)
- (let ((#{b 3068}#
- (assq #{outer-var 3063}# (car #{maps 3056}#))))
- (if #{b 3068}#
- (values (cdr #{b 3068}#) #{maps 3056}#)
- (let ((#{inner-var 3070}# (#{gen-var 451}# 'tmp)))
- (values
- #{inner-var 3070}#
- (cons (cons (cons #{outer-var 3063}#
- #{inner-var 3070}#)
- (car #{maps 3056}#))
- #{outer-maps 3064}#)))))))))))
- (#{gen-mappend 2926}#
- (lambda (#{e 3071}# #{map-env 3072}#)
- (list 'apply
- '(primitive append)
- (#{gen-map 2928}# #{e 3071}# #{map-env 3072}#))))
- (#{gen-map 2928}#
- (lambda (#{e 3076}# #{map-env 3077}#)
- (let ((#{formals 3082}# (map cdr #{map-env 3077}#))
- (#{actuals 3083}#
- (map (lambda (#{x 3084}#)
- (list 'ref (car #{x 3084}#)))
- #{map-env 3077}#)))
- (if (eq? (car #{e 3076}#) 'ref)
- (car #{actuals 3083}#)
- (if (and-map
- (lambda (#{x 3091}#)
- (if (eq? (car #{x 3091}#) 'ref)
- (memq (car (cdr #{x 3091}#)) #{formals 3082}#)
- #f))
- (cdr #{e 3076}#))
- (cons 'map
- (cons (list 'primitive (car #{e 3076}#))
- (map (let ((#{r 3097}#
- (map cons
- #{formals 3082}#
- #{actuals 3083}#)))
- (lambda (#{x 3098}#)
- (cdr (assq (car (cdr #{x 3098}#))
- #{r 3097}#))))
- (cdr #{e 3076}#))))
- (cons 'map
- (cons (list 'lambda #{formals 3082}# #{e 3076}#)
- #{actuals 3083}#)))))))
- (#{gen-cons 2930}#
- (lambda (#{x 3102}# #{y 3103}#)
- (let ((#{atom-key 3108}# (car #{y 3103}#)))
- (if (memv #{atom-key 3108}# '(quote))
- (if (eq? (car #{x 3102}#) 'quote)
- (list 'quote
- (cons (car (cdr #{x 3102}#))
- (car (cdr #{y 3103}#))))
- (if (eq? (car (cdr #{y 3103}#)) '())
- (list 'list #{x 3102}#)
- (list 'cons #{x 3102}# #{y 3103}#)))
- (if (memv #{atom-key 3108}# '(list))
- (cons 'list (cons #{x 3102}# (cdr #{y 3103}#)))
- (list 'cons #{x 3102}# #{y 3103}#))))))
- (#{gen-append 2932}#
- (lambda (#{x 3117}# #{y 3118}#)
- (if (equal? #{y 3118}# ''())
- #{x 3117}#
- (list 'append #{x 3117}# #{y 3118}#))))
- (#{gen-vector 2934}#
- (lambda (#{x 3122}#)
- (if (eq? (car #{x 3122}#) 'list)
- (cons 'vector (cdr #{x 3122}#))
- (if (eq? (car #{x 3122}#) 'quote)
- (list 'quote
- (list->vector (car (cdr #{x 3122}#))))
- (list 'list->vector #{x 3122}#)))))
- (#{regen 2936}#
- (lambda (#{x 3132}#)
- (let ((#{atom-key 3136}# (car #{x 3132}#)))
- (if (memv #{atom-key 3136}# '(ref))
- (#{build-lexical-reference 273}#
- 'value
- #f
- (car (cdr #{x 3132}#))
- (car (cdr #{x 3132}#)))
- (if (memv #{atom-key 3136}# '(primitive))
- (#{build-primref 293}# #f (car (cdr #{x 3132}#)))
- (if (memv #{atom-key 3136}# '(quote))
- (#{build-data 295}# #f (car (cdr #{x 3132}#)))
- (if (memv #{atom-key 3136}# '(lambda))
- (if (list? (car (cdr #{x 3132}#)))
- (#{build-simple-lambda 285}#
- #f
- (car (cdr #{x 3132}#))
- #f
- (car (cdr #{x 3132}#))
- '()
- (#{regen 2936}# (car (cdr (cdr #{x 3132}#)))))
- (error "how did we get here" #{x 3132}#))
- (#{build-primcall 291}#
- #f
- (car #{x 3132}#)
- (map #{regen 2936}# (cdr #{x 3132}#)))))))))))
- (lambda (#{e 3147}#
- #{r 3148}#
- #{w 3149}#
- #{s 3150}#
- #{mod 3151}#)
- (let ((#{e 3158}#
- (#{source-wrap 411}#
- #{e 3147}#
- #{w 3149}#
- #{s 3150}#
- #{mod 3151}#)))
- (let ((#{tmp 3159}# #{e 3158}#))
- (let ((#{tmp 3160}#
- ($sc-dispatch #{tmp 3159}# '(_ any))))
- (if #{tmp 3160}#
- (@apply
- (lambda (#{x 3162}#)
- (call-with-values
- (lambda ()
- (#{gen-syntax 2922}#
- #{e 3158}#
- #{x 3162}#
- #{r 3148}#
- '()
- #{ellipsis? 439}#
- #{mod 3151}#))
- (lambda (#{e 3163}# #{maps 3164}#)
- (#{regen 2936}# #{e 3163}#))))
- #{tmp 3160}#)
- (let ((#{_ 3168}# #{tmp 3159}#))
- (syntax-violation
- 'syntax
- "bad `syntax' form"
- #{e 3158}#)))))))))
- (#{global-extend 339}#
- 'core
- 'lambda
- (lambda (#{e 3169}#
- #{r 3170}#
- #{w 3171}#
- #{s 3172}#
- #{mod 3173}#)
- (let ((#{tmp 3179}# #{e 3169}#))
- (let ((#{tmp 3180}#
- ($sc-dispatch
- #{tmp 3179}#
- '(_ any any . each-any))))
- (if #{tmp 3180}#
- (@apply
- (lambda (#{args 3184}# #{e1 3185}# #{e2 3186}#)
- (call-with-values
- (lambda ()
- (#{lambda-formals 441}# #{args 3184}#))
- (lambda (#{req 3187}#
- #{opt 3188}#
- #{rest 3189}#
- #{kw 3190}#)
- (letrec*
- ((#{lp 3198}#
- (lambda (#{body 3199}# #{meta 3200}#)
- (let ((#{tmp 3202}# #{body 3199}#))
- (let ((#{tmp 3203}#
- ($sc-dispatch
- #{tmp 3202}#
- '(any any . each-any))))
- (if (if #{tmp 3203}#
- (@apply
- (lambda (#{docstring 3207}#
- #{e1 3208}#
- #{e2 3209}#)
- (string?
- (syntax->datum
- #{docstring 3207}#)))
- #{tmp 3203}#)
- #f)
- (@apply
- (lambda (#{docstring 3213}#
- #{e1 3214}#
- #{e2 3215}#)
- (#{lp 3198}#
- (cons #{e1 3214}# #{e2 3215}#)
- (append
- #{meta 3200}#
- (list (cons 'documentation
- (syntax->datum
- #{docstring
3213}#))))))
- #{tmp 3203}#)
- (let ((#{tmp 3218}#
- ($sc-dispatch
- #{tmp 3202}#
- '(#(vector #(each (any . any)))
- any
- .
- each-any))))
- (if #{tmp 3218}#
- (@apply
- (lambda (#{k 3223}#
- #{v 3224}#
- #{e1 3225}#
- #{e2 3226}#)
- (#{lp 3198}#
- (cons #{e1 3225}# #{e2 3226}#)
- (append
- #{meta 3200}#
- (syntax->datum
- (map cons
- #{k 3223}#
- #{v 3224}#)))))
- #{tmp 3218}#)
- (let ((#{_ 3231}# #{tmp 3202}#))
- (#{chi-simple-lambda 443}#
- #{e 3169}#
- #{r 3170}#
- #{w 3171}#
- #{s 3172}#
- #{mod 3173}#
- #{req 3187}#
- #{rest 3189}#
- #{meta 3200}#
- #{body 3199}#))))))))))
- (#{lp 3198}# (cons #{e1 3185}# #{e2 3186}#) '())))))
- #{tmp 3180}#)
- (let ((#{_ 3233}# #{tmp 3179}#))
- (syntax-violation
- 'lambda
- "bad lambda"
- #{e 3169}#)))))))
- (#{global-extend 339}#
- 'core
- 'lambda*
- (lambda (#{e 3234}#
- #{r 3235}#
- #{w 3236}#
- #{s 3237}#
- #{mod 3238}#)
- (let ((#{tmp 3244}# #{e 3234}#))
- (let ((#{tmp 3245}#
- ($sc-dispatch
- #{tmp 3244}#
- '(_ any any . each-any))))
- (if #{tmp 3245}#
- (@apply
- (lambda (#{args 3249}# #{e1 3250}# #{e2 3251}#)
- (call-with-values
- (lambda ()
- (#{chi-lambda-case 447}#
- #{e 3234}#
- #{r 3235}#
- #{w 3236}#
- #{s 3237}#
- #{mod 3238}#
- #{lambda*-formals 445}#
- (list (cons #{args 3249}#
- (cons #{e1 3250}# #{e2 3251}#)))))
- (lambda (#{meta 3253}# #{lcase 3254}#)
- (#{build-case-lambda 287}#
- #{s 3237}#
- #{meta 3253}#
- #{lcase 3254}#))))
- #{tmp 3245}#)
- (let ((#{_ 3258}# #{tmp 3244}#))
- (syntax-violation
- 'lambda
- "bad lambda*"
- #{e 3234}#)))))))
- (#{global-extend 339}#
- 'core
- 'case-lambda
- (lambda (#{e 3259}#
- #{r 3260}#
- #{w 3261}#
- #{s 3262}#
- #{mod 3263}#)
- (let ((#{tmp 3269}# #{e 3259}#))
- (let ((#{tmp 3270}#
- ($sc-dispatch
- #{tmp 3269}#
- '(_ (any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 3270}#
- (@apply
- (lambda (#{args 3277}#
- #{e1 3278}#
- #{e2 3279}#
- #{args* 3280}#
- #{e1* 3281}#
- #{e2* 3282}#)
- (call-with-values
- (lambda ()
- (#{chi-lambda-case 447}#
- #{e 3259}#
- #{r 3260}#
- #{w 3261}#
- #{s 3262}#
- #{mod 3263}#
- #{lambda-formals 441}#
- (cons (cons #{args 3277}#
- (cons #{e1 3278}# #{e2 3279}#))
- (map (lambda (#{tmp 3286}#
- #{tmp 3285}#
- #{tmp 3284}#)
- (cons #{tmp 3284}#
- (cons #{tmp 3285}# #{tmp 3286}#)))
- #{e2* 3282}#
- #{e1* 3281}#
- #{args* 3280}#))))
- (lambda (#{meta 3288}# #{lcase 3289}#)
- (#{build-case-lambda 287}#
- #{s 3262}#
- #{meta 3288}#
- #{lcase 3289}#))))
- #{tmp 3270}#)
- (let ((#{_ 3293}# #{tmp 3269}#))
- (syntax-violation
- 'case-lambda
- "bad case-lambda"
- #{e 3259}#)))))))
- (#{global-extend 339}#
- 'core
- 'case-lambda*
- (lambda (#{e 3294}#
- #{r 3295}#
- #{w 3296}#
- #{s 3297}#
- #{mod 3298}#)
- (let ((#{tmp 3304}# #{e 3294}#))
- (let ((#{tmp 3305}#
- ($sc-dispatch
- #{tmp 3304}#
- '(_ (any any . each-any)
- .
- #(each (any any . each-any))))))
- (if #{tmp 3305}#
- (@apply
- (lambda (#{args 3312}#
- #{e1 3313}#
- #{e2 3314}#
- #{args* 3315}#
- #{e1* 3316}#
- #{e2* 3317}#)
- (call-with-values
- (lambda ()
- (#{chi-lambda-case 447}#
- #{e 3294}#
- #{r 3295}#
- #{w 3296}#
- #{s 3297}#
- #{mod 3298}#
- #{lambda*-formals 445}#
- (cons (cons #{args 3312}#
- (cons #{e1 3313}# #{e2 3314}#))
- (map (lambda (#{tmp 3321}#
- #{tmp 3320}#
- #{tmp 3319}#)
- (cons #{tmp 3319}#
- (cons #{tmp 3320}# #{tmp 3321}#)))
- #{e2* 3317}#
- #{e1* 3316}#
- #{args* 3315}#))))
- (lambda (#{meta 3323}# #{lcase 3324}#)
- (#{build-case-lambda 287}#
- #{s 3297}#
- #{meta 3323}#
- #{lcase 3324}#))))
- #{tmp 3305}#)
- (let ((#{_ 3328}# #{tmp 3304}#))
- (syntax-violation
- 'case-lambda
- "bad case-lambda*"
- #{e 3294}#)))))))
- (#{global-extend 339}#
- 'core
- 'let
- (letrec*
- ((#{chi-let 3330}#
- (lambda (#{e 3331}#
- #{r 3332}#
- #{w 3333}#
- #{s 3334}#
- #{mod 3335}#
- #{constructor 3336}#
- #{ids 3337}#
- #{vals 3338}#
- #{exps 3339}#)
- (if (not (#{valid-bound-ids? 403}# #{ids 3337}#))
- (syntax-violation
- 'let
- "duplicate bound variable"
- #{e 3331}#)
- (let ((#{labels 3351}#
- (#{gen-labels 358}# #{ids 3337}#))
- (#{new-vars 3352}#
- (map #{gen-var 451}# #{ids 3337}#)))
- (let ((#{nw 3355}#
- (#{make-binding-wrap 387}#
- #{ids 3337}#
- #{labels 3351}#
- #{w 3333}#))
- (#{nr 3356}#
- (#{extend-var-env 333}#
- #{labels 3351}#
- #{new-vars 3352}#
- #{r 3332}#)))
- (#{constructor 3336}#
- #{s 3334}#
- (map syntax->datum #{ids 3337}#)
- #{new-vars 3352}#
- (map (lambda (#{x 3357}#)
- (#{chi 423}#
- #{x 3357}#
- #{r 3332}#
- #{w 3333}#
- #{mod 3335}#))
- #{vals 3338}#)
- (#{chi-body 431}#
- #{exps 3339}#
- (#{source-wrap 411}#
- #{e 3331}#
- #{nw 3355}#
- #{s 3334}#
- #{mod 3335}#)
- #{nr 3356}#
- #{nw 3355}#
- #{mod 3335}#))))))))
- (lambda (#{e 3359}#
- #{r 3360}#
- #{w 3361}#
- #{s 3362}#
- #{mod 3363}#)
- (let ((#{tmp 3369}# #{e 3359}#))
- (let ((#{tmp 3370}#
- ($sc-dispatch
- #{tmp 3369}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 3370}#
- (@apply
- (lambda (#{id 3375}#
- #{val 3376}#
- #{e1 3377}#
- #{e2 3378}#)
- (and-map #{id? 343}# #{id 3375}#))
- #{tmp 3370}#)
- #f)
- (@apply
- (lambda (#{id 3384}#
- #{val 3385}#
- #{e1 3386}#
- #{e2 3387}#)
- (#{chi-let 3330}#
- #{e 3359}#
- #{r 3360}#
- #{w 3361}#
- #{s 3362}#
- #{mod 3363}#
- #{build-let 299}#
- #{id 3384}#
- #{val 3385}#
- (cons #{e1 3386}# #{e2 3387}#)))
- #{tmp 3370}#)
- (let ((#{tmp 3391}#
- ($sc-dispatch
- #{tmp 3369}#
- '(_ any #(each (any any)) any . each-any))))
- (if (if #{tmp 3391}#
- (@apply
- (lambda (#{f 3397}#
- #{id 3398}#
- #{val 3399}#
- #{e1 3400}#
- #{e2 3401}#)
- (if (#{id? 343}# #{f 3397}#)
- (and-map #{id? 343}# #{id 3398}#)
- #f))
- #{tmp 3391}#)
- #f)
- (@apply
- (lambda (#{f 3410}#
- #{id 3411}#
- #{val 3412}#
- #{e1 3413}#
- #{e2 3414}#)
- (#{chi-let 3330}#
- #{e 3359}#
- #{r 3360}#
- #{w 3361}#
- #{s 3362}#
- #{mod 3363}#
- #{build-named-let 301}#
- (cons #{f 3410}# #{id 3411}#)
- #{val 3412}#
- (cons #{e1 3413}# #{e2 3414}#)))
- #{tmp 3391}#)
- (let ((#{_ 3419}# #{tmp 3369}#))
- (syntax-violation
- 'let
- "bad let"
- (#{source-wrap 411}#
- #{e 3359}#
- #{w 3361}#
- #{s 3362}#
- #{mod 3363}#)))))))))))
- (#{global-extend 339}#
- 'core
- 'letrec
- (lambda (#{e 3420}#
- #{r 3421}#
- #{w 3422}#
- #{s 3423}#
- #{mod 3424}#)
- (let ((#{tmp 3430}# #{e 3420}#))
- (let ((#{tmp 3431}#
- ($sc-dispatch
- #{tmp 3430}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 3431}#
- (@apply
- (lambda (#{id 3436}#
- #{val 3437}#
- #{e1 3438}#
- #{e2 3439}#)
- (and-map #{id? 343}# #{id 3436}#))
- #{tmp 3431}#)
- #f)
- (@apply
- (lambda (#{id 3445}#
- #{val 3446}#
- #{e1 3447}#
- #{e2 3448}#)
- (let ((#{ids 3450}# #{id 3445}#))
- (if (not (#{valid-bound-ids? 403}# #{ids 3450}#))
- (syntax-violation
- 'letrec
- "duplicate bound variable"
- #{e 3420}#)
- (let ((#{labels 3454}#
- (#{gen-labels 358}# #{ids 3450}#))
- (#{new-vars 3455}#
- (map #{gen-var 451}# #{ids 3450}#)))
- (let ((#{w 3458}#
- (#{make-binding-wrap 387}#
- #{ids 3450}#
- #{labels 3454}#
- #{w 3422}#))
- (#{r 3459}#
- (#{extend-var-env 333}#
- #{labels 3454}#
- #{new-vars 3455}#
- #{r 3421}#)))
- (#{build-letrec 303}#
- #{s 3423}#
- #f
- (map syntax->datum #{ids 3450}#)
- #{new-vars 3455}#
- (map (lambda (#{x 3460}#)
- (#{chi 423}#
- #{x 3460}#
- #{r 3459}#
- #{w 3458}#
- #{mod 3424}#))
- #{val 3446}#)
- (#{chi-body 431}#
- (cons #{e1 3447}# #{e2 3448}#)
- (#{source-wrap 411}#
- #{e 3420}#
- #{w 3458}#
- #{s 3423}#
- #{mod 3424}#)
- #{r 3459}#
- #{w 3458}#
- #{mod 3424}#)))))))
- #{tmp 3431}#)
- (let ((#{_ 3465}# #{tmp 3430}#))
- (syntax-violation
- 'letrec
- "bad letrec"
- (#{source-wrap 411}#
- #{e 3420}#
- #{w 3422}#
- #{s 3423}#
- #{mod 3424}#))))))))
- (#{global-extend 339}#
- 'core
- 'letrec*
- (lambda (#{e 3466}#
- #{r 3467}#
- #{w 3468}#
- #{s 3469}#
- #{mod 3470}#)
- (let ((#{tmp 3476}# #{e 3466}#))
- (let ((#{tmp 3477}#
- ($sc-dispatch
- #{tmp 3476}#
- '(_ #(each (any any)) any . each-any))))
- (if (if #{tmp 3477}#
- (@apply
- (lambda (#{id 3482}#
- #{val 3483}#
- #{e1 3484}#
- #{e2 3485}#)
- (and-map #{id? 343}# #{id 3482}#))
- #{tmp 3477}#)
- #f)
- (@apply
- (lambda (#{id 3491}#
- #{val 3492}#
- #{e1 3493}#
- #{e2 3494}#)
- (let ((#{ids 3496}# #{id 3491}#))
- (if (not (#{valid-bound-ids? 403}# #{ids 3496}#))
- (syntax-violation
- 'letrec*
- "duplicate bound variable"
- #{e 3466}#)
- (let ((#{labels 3500}#
- (#{gen-labels 358}# #{ids 3496}#))
- (#{new-vars 3501}#
- (map #{gen-var 451}# #{ids 3496}#)))
- (let ((#{w 3504}#
- (#{make-binding-wrap 387}#
- #{ids 3496}#
- #{labels 3500}#
- #{w 3468}#))
- (#{r 3505}#
- (#{extend-var-env 333}#
- #{labels 3500}#
- #{new-vars 3501}#
- #{r 3467}#)))
- (#{build-letrec 303}#
- #{s 3469}#
- #t
- (map syntax->datum #{ids 3496}#)
- #{new-vars 3501}#
- (map (lambda (#{x 3506}#)
- (#{chi 423}#
- #{x 3506}#
- #{r 3505}#
- #{w 3504}#
- #{mod 3470}#))
- #{val 3492}#)
- (#{chi-body 431}#
- (cons #{e1 3493}# #{e2 3494}#)
- (#{source-wrap 411}#
- #{e 3466}#
- #{w 3504}#
- #{s 3469}#
- #{mod 3470}#)
- #{r 3505}#
- #{w 3504}#
- #{mod 3470}#)))))))
- #{tmp 3477}#)
- (let ((#{_ 3511}# #{tmp 3476}#))
- (syntax-violation
- 'letrec*
- "bad letrec*"
- (#{source-wrap 411}#
- #{e 3466}#
- #{w 3468}#
- #{s 3469}#
- #{mod 3470}#))))))))
- (#{global-extend 339}#
- 'core
- 'set!
- (lambda (#{e 3512}#
- #{r 3513}#
- #{w 3514}#
- #{s 3515}#
- #{mod 3516}#)
- (let ((#{tmp 3522}# #{e 3512}#))
- (let ((#{tmp 3523}#
- ($sc-dispatch #{tmp 3522}# '(_ any any))))
- (if (if #{tmp 3523}#
- (@apply
- (lambda (#{id 3526}# #{val 3527}#)
- (#{id? 343}# #{id 3526}#))
- #{tmp 3523}#)
- #f)
- (@apply
- (lambda (#{id 3530}# #{val 3531}#)
- (let ((#{n 3534}#
- (#{id-var-name 397}# #{id 3530}# #{w 3514}#))
- (#{id-mod 3535}#
- (if (#{syntax-object? 309}# #{id 3530}#)
- (#{syntax-object-module 315}# #{id 3530}#)
- #{mod 3516}#)))
- (let ((#{b 3537}#
- (#{lookup 337}#
- #{n 3534}#
- #{r 3513}#
- #{id-mod 3535}#)))
- (let ((#{atom-key 3540}# (car #{b 3537}#)))
- (if (memv #{atom-key 3540}# '(lexical))
- (#{build-lexical-assignment 275}#
- #{s 3515}#
- (syntax->datum #{id 3530}#)
- (cdr #{b 3537}#)
- (#{chi 423}#
- #{val 3531}#
- #{r 3513}#
- #{w 3514}#
- #{mod 3516}#))
- (if (memv #{atom-key 3540}# '(global))
- (#{build-global-assignment 281}#
- #{s 3515}#
- #{n 3534}#
- (#{chi 423}#
- #{val 3531}#
- #{r 3513}#
- #{w 3514}#
- #{mod 3516}#)
- #{id-mod 3535}#)
- (if (memv #{atom-key 3540}# '(macro))
- (let ((#{p 3547}# (cdr #{b 3537}#)))
- (if (procedure-property
- #{p 3547}#
- 'variable-transformer)
- (#{chi 423}#
- (#{chi-macro 429}#
- #{p 3547}#
- #{e 3512}#
- #{r 3513}#
- #{w 3514}#
- #{s 3515}#
- #f
- #{mod 3516}#)
- #{r 3513}#
- '(())
- #{mod 3516}#)
- (syntax-violation
- 'set!
- "not a variable transformer"
- (#{wrap 409}#
- #{e 3512}#
- #{w 3514}#
- #{mod 3516}#)
- (#{wrap 409}#
- #{id 3530}#
- #{w 3514}#
- #{id-mod 3535}#))))
- (if (memv #{atom-key 3540}# '(displaced-lexical))
- (syntax-violation
- 'set!
- "identifier out of context"
- (#{wrap 409}#
- #{id 3530}#
- #{w 3514}#
- #{mod 3516}#))
- (syntax-violation
- 'set!
- "bad set!"
- (#{source-wrap 411}#
- #{e 3512}#
- #{w 3514}#
- #{s 3515}#
- #{mod 3516}#))))))))))
- #{tmp 3523}#)
- (let ((#{tmp 3552}#
- ($sc-dispatch
- #{tmp 3522}#
- '(_ (any . each-any) any))))
- (if #{tmp 3552}#
- (@apply
- (lambda (#{head 3556}# #{tail 3557}# #{val 3558}#)
- (call-with-values
- (lambda ()
- (#{syntax-type 421}#
- #{head 3556}#
- #{r 3513}#
- '(())
- #f
- #f
- #{mod 3516}#
- #t))
- (lambda (#{type 3561}#
- #{value 3562}#
- #{ee 3563}#
- #{ww 3564}#
- #{ss 3565}#
- #{modmod 3566}#)
- (if (memv #{type 3561}# '(module-ref))
- (let ((#{val 3575}#
- (#{chi 423}#
- #{val 3558}#
- #{r 3513}#
- #{w 3514}#
- #{mod 3516}#)))
- (call-with-values
- (lambda ()
- (#{value 3562}#
- (cons #{head 3556}# #{tail 3557}#)
- #{r 3513}#
- #{w 3514}#))
- (lambda (#{e 3577}#
- #{r 3578}#
- #{w 3579}#
- #{s* 3580}#
- #{mod 3581}#)
- (let ((#{tmp 3587}# #{e 3577}#))
- (let ((#{tmp 3588}# (list #{tmp 3587}#)))
- (if (if #{tmp 3588}#
- (@apply
- (lambda (#{e 3590}#)
- (#{id? 343}# #{e 3590}#))
- #{tmp 3588}#)
- #f)
- (@apply
- (lambda (#{e 3592}#)
- (#{build-global-assignment 281}#
- #{s 3515}#
- (syntax->datum #{e 3592}#)
- #{val 3575}#
- #{mod 3581}#))
- #{tmp 3588}#)
- (syntax-violation
- #f
- "source expression failed to match
any pattern"
- #{tmp 3587}#)))))))
- (#{build-call 267}#
- #{s 3515}#
- (#{chi 423}#
- (list '#(syntax-object
- setter
- ((top)
- #(ribcage () () ())
- #(ribcage () () ())
- #(ribcage
- #(type value ee ww ss modmod)
- #((top)
- (top)
- (top)
- (top)
- (top)
- (top))
- #("i3567"
- "i3568"
- "i3569"
- "i3570"
- "i3571"
- "i3572"))
- #(ribcage
- #(head tail val)
- #((top) (top) (top))
- #("i3553" "i3554" "i3555"))
- #(ribcage () () ())
- #(ribcage
- #(e r w s mod)
- #((top) (top) (top) (top) (top))
- #("i3517"
- "i3518"
- "i3519"
- "i3520"
- "i3521"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))
- #{head 3556}#)
- #{r 3513}#
- #{w 3514}#
- #{mod 3516}#)
- (map (lambda (#{e 3594}#)
- (#{chi 423}#
- #{e 3594}#
- #{r 3513}#
- #{w 3514}#
- #{mod 3516}#))
- (append
- #{tail 3557}#
- (list #{val 3558}#))))))))
- #{tmp 3552}#)
- (let ((#{_ 3598}# #{tmp 3522}#))
- (syntax-violation
- 'set!
- "bad set!"
- (#{source-wrap 411}#
- #{e 3512}#
- #{w 3514}#
- #{s 3515}#
- #{mod 3516}#))))))))))
- (#{global-extend 339}#
- 'module-ref
- '@
- (lambda (#{e 3599}# #{r 3600}# #{w 3601}#)
- (let ((#{tmp 3605}# #{e 3599}#))
- (let ((#{tmp 3606}#
- ($sc-dispatch #{tmp 3605}# '(_ each-any any))))
- (if (if #{tmp 3606}#
- (@apply
- (lambda (#{mod 3609}# #{id 3610}#)
- (if (and-map #{id? 343}# #{mod 3609}#)
- (#{id? 343}# #{id 3610}#)
- #f))
- #{tmp 3606}#)
- #f)
- (@apply
- (lambda (#{mod 3616}# #{id 3617}#)
- (values
- (syntax->datum #{id 3617}#)
- #{r 3600}#
- #{w 3601}#
- #f
- (syntax->datum
- (cons '#(syntax-object
- public
- ((top)
- #(ribcage
- #(mod id)
- #((top) (top))
- #("i3614" "i3615"))
- #(ribcage () () ())
- #(ribcage
- #(e r w)
- #((top) (top) (top))
- #("i3602" "i3603" "i3604"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))
- #{mod 3616}#))))
- #{tmp 3606}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 3605}#))))))
- (#{global-extend 339}#
- 'module-ref
- '@@
- (lambda (#{e 3619}# #{r 3620}# #{w 3621}#)
- (letrec*
- ((#{remodulate 3626}#
- (lambda (#{x 3627}# #{mod 3628}#)
- (if (pair? #{x 3627}#)
- (cons (#{remodulate 3626}#
- (car #{x 3627}#)
- #{mod 3628}#)
- (#{remodulate 3626}#
- (cdr #{x 3627}#)
- #{mod 3628}#))
- (if (#{syntax-object? 309}# #{x 3627}#)
- (#{make-syntax-object 307}#
- (#{remodulate 3626}#
- (#{syntax-object-expression 311}# #{x 3627}#)
- #{mod 3628}#)
- (#{syntax-object-wrap 313}# #{x 3627}#)
- #{mod 3628}#)
- (if (vector? #{x 3627}#)
- (let ((#{n 3639}# (vector-length #{x 3627}#)))
- (let ((#{v 3641}# (make-vector #{n 3639}#)))
- (letrec*
- ((#{loop 3644}#
- (lambda (#{i 3645}#)
- (if (= #{i 3645}# #{n 3639}#)
- (begin (if #f #f) #{v 3641}#)
- (begin
- (vector-set!
- #{v 3641}#
- #{i 3645}#
- (#{remodulate 3626}#
- (vector-ref #{x 3627}# #{i 3645}#)
- #{mod 3628}#))
- (#{loop 3644}# (#{1+}# #{i 3645}#)))))))
- (#{loop 3644}# 0))))
- #{x 3627}#))))))
- (let ((#{tmp 3651}# #{e 3619}#))
- (let ((#{tmp 3652}#
- ($sc-dispatch #{tmp 3651}# '(_ each-any any))))
- (if (if #{tmp 3652}#
- (@apply
- (lambda (#{mod 3655}# #{exp 3656}#)
- (and-map #{id? 343}# #{mod 3655}#))
- #{tmp 3652}#)
- #f)
- (@apply
- (lambda (#{mod 3660}# #{exp 3661}#)
- (let ((#{mod 3663}#
- (syntax->datum
- (cons '#(syntax-object
- private
- ((top)
- #(ribcage
- #(mod exp)
- #((top) (top))
- #("i3658" "i3659"))
- #(ribcage
- (remodulate)
- ((top))
- ("i3625"))
- #(ribcage
- #(e r w)
- #((top) (top) (top))
- #("i3622" "i3623" "i3624"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))
- #{mod 3660}#))))
- (values
- (#{remodulate 3626}# #{exp 3661}# #{mod 3663}#)
- #{r 3620}#
- #{w 3621}#
- (#{source-annotation 324}# #{exp 3661}#)
- #{mod 3663}#)))
- #{tmp 3652}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 3651}#)))))))
- (#{global-extend 339}#
- 'core
- 'if
- (lambda (#{e 3665}#
- #{r 3666}#
- #{w 3667}#
- #{s 3668}#
- #{mod 3669}#)
- (let ((#{tmp 3675}# #{e 3665}#))
- (let ((#{tmp 3676}#
- ($sc-dispatch #{tmp 3675}# '(_ any any))))
- (if #{tmp 3676}#
- (@apply
- (lambda (#{test 3679}# #{then 3680}#)
- (#{build-conditional 269}#
- #{s 3668}#
- (#{chi 423}#
- #{test 3679}#
- #{r 3666}#
- #{w 3667}#
- #{mod 3669}#)
- (#{chi 423}#
- #{then 3680}#
- #{r 3666}#
- #{w 3667}#
- #{mod 3669}#)
- (#{build-void 265}# #f)))
- #{tmp 3676}#)
- (let ((#{tmp 3682}#
- ($sc-dispatch #{tmp 3675}# '(_ any any any))))
- (if #{tmp 3682}#
- (@apply
- (lambda (#{test 3686}# #{then 3687}# #{else 3688}#)
- (#{build-conditional 269}#
- #{s 3668}#
- (#{chi 423}#
- #{test 3686}#
- #{r 3666}#
- #{w 3667}#
- #{mod 3669}#)
- (#{chi 423}#
- #{then 3687}#
- #{r 3666}#
- #{w 3667}#
- #{mod 3669}#)
- (#{chi 423}#
- #{else 3688}#
- #{r 3666}#
- #{w 3667}#
- #{mod 3669}#)))
- #{tmp 3682}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 3675}#))))))))
- (#{global-extend 339}#
- 'core
- 'with-fluids
- (lambda (#{e 3689}#
- #{r 3690}#
- #{w 3691}#
- #{s 3692}#
- #{mod 3693}#)
- (let ((#{tmp 3699}# #{e 3689}#))
- (let ((#{tmp 3700}#
- ($sc-dispatch
- #{tmp 3699}#
- '(_ #(each (any any)) any . each-any))))
- (if #{tmp 3700}#
- (@apply
- (lambda (#{fluid 3705}#
- #{val 3706}#
- #{b 3707}#
- #{b* 3708}#)
- (#{build-dynlet 271}#
- #{s 3692}#
- (map (lambda (#{x 3709}#)
- (#{chi 423}#
- #{x 3709}#
- #{r 3690}#
- #{w 3691}#
- #{mod 3693}#))
- #{fluid 3705}#)
- (map (lambda (#{x 3712}#)
- (#{chi 423}#
- #{x 3712}#
- #{r 3690}#
- #{w 3691}#
- #{mod 3693}#))
- #{val 3706}#)
- (#{chi-body 431}#
- (cons #{b 3707}# #{b* 3708}#)
- (#{source-wrap 411}#
- #{e 3689}#
- #{w 3691}#
- #{s 3692}#
- #{mod 3693}#)
- #{r 3690}#
- #{w 3691}#
- #{mod 3693}#)))
- #{tmp 3700}#)
- (syntax-violation
- #f
- "source expression failed to match any pattern"
- #{tmp 3699}#))))))
- (#{global-extend 339}# 'begin 'begin '())
- (#{global-extend 339}# 'define 'define '())
- (#{global-extend 339}#
- 'define-syntax
- 'define-syntax
- '())
- (#{global-extend 339}# 'eval-when 'eval-when '())
- (#{global-extend 339}#
- 'core
- 'syntax-case
- (letrec*
- ((#{convert-pattern 3717}#
- (lambda (#{pattern 3724}# #{keys 3725}#)
- (letrec*
- ((#{cvt* 3729}#
- (lambda (#{p* 3734}# #{n 3735}# #{ids 3736}#)
- (if (not (pair? #{p* 3734}#))
- (#{cvt 3733}#
- #{p* 3734}#
- #{n 3735}#
- #{ids 3736}#)
- (call-with-values
- (lambda ()
- (#{cvt* 3729}#
- (cdr #{p* 3734}#)
- #{n 3735}#
- #{ids 3736}#))
- (lambda (#{y 3740}# #{ids 3741}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- (car #{p* 3734}#)
- #{n 3735}#
- #{ids 3741}#))
- (lambda (#{x 3744}# #{ids 3745}#)
- (values
- (cons #{x 3744}# #{y 3740}#)
- #{ids 3745}#))))))))
- (#{v-reverse 3731}#
- (lambda (#{x 3748}#)
- (letrec*
- ((#{loop 3753}#
- (lambda (#{r 3754}# #{x 3755}#)
- (if (not (pair? #{x 3755}#))
- (values #{r 3754}# #{x 3755}#)
- (#{loop 3753}#
- (cons (car #{x 3755}#) #{r 3754}#)
- (cdr #{x 3755}#))))))
- (#{loop 3753}# '() #{x 3748}#))))
- (#{cvt 3733}#
- (lambda (#{p 3756}# #{n 3757}# #{ids 3758}#)
- (if (#{id? 343}# #{p 3756}#)
- (if (#{bound-id-member? 407}#
- #{p 3756}#
- #{keys 3725}#)
- (values
- (vector 'free-id #{p 3756}#)
- #{ids 3758}#)
- (if (#{free-id=? 399}#
- #{p 3756}#
- '#(syntax-object
- _
- ((top)
- #(ribcage () () ())
- #(ribcage
- #(p n ids)
- #((top) (top) (top))
- #("i3759" "i3760" "i3761"))
- #(ribcage
- (cvt v-reverse cvt*)
- ((top) (top) (top))
- ("i3732" "i3730" "i3728"))
- #(ribcage
- #(pattern keys)
- #((top) (top))
- #("i3726" "i3727"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i3722" "i3720" "i3718" "i3716"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile)))
- (values '_ #{ids 3758}#)
- (values
- 'any
- (cons (cons #{p 3756}# #{n 3757}#) #{ids 3758}#))))
- (let ((#{tmp 3767}# #{p 3756}#))
- (let ((#{tmp 3768}#
- ($sc-dispatch #{tmp 3767}# '(any any))))
- (if (if #{tmp 3768}#
- (@apply
- (lambda (#{x 3771}# #{dots 3772}#)
- (#{ellipsis? 439}# #{dots 3772}#))
- #{tmp 3768}#)
- #f)
- (@apply
- (lambda (#{x 3775}# #{dots 3776}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- #{x 3775}#
- (#{1+}# #{n 3757}#)
- #{ids 3758}#))
- (lambda (#{p 3778}# #{ids 3779}#)
- (values
- (if (eq? #{p 3778}# 'any)
- 'each-any
- (vector 'each #{p 3778}#))
- #{ids 3779}#))))
- #{tmp 3768}#)
- (let ((#{tmp 3782}#
- ($sc-dispatch
- #{tmp 3767}#
- '(any any . any))))
- (if (if #{tmp 3782}#
- (@apply
- (lambda (#{x 3786}#
- #{dots 3787}#
- #{ys 3788}#)
- (#{ellipsis? 439}# #{dots 3787}#))
- #{tmp 3782}#)
- #f)
- (@apply
- (lambda (#{x 3792}#
- #{dots 3793}#
- #{ys 3794}#)
- (call-with-values
- (lambda ()
- (#{cvt* 3729}#
- #{ys 3794}#
- #{n 3757}#
- #{ids 3758}#))
- (lambda (#{ys 3795}# #{ids 3796}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- #{x 3792}#
- (#{1+}# #{n 3757}#)
- #{ids 3796}#))
- (lambda (#{x 3799}# #{ids 3800}#)
- (call-with-values
- (lambda ()
- (#{v-reverse 3731}#
- #{ys 3795}#))
- (lambda (#{ys 3803}# #{e 3804}#)
- (values
- (vector
- 'each+
- #{x 3799}#
- #{ys 3803}#
- #{e 3804}#)
- #{ids 3800}#))))))))
- #{tmp 3782}#)
- (let ((#{tmp 3808}#
- ($sc-dispatch
- #{tmp 3767}#
- '(any . any))))
- (if #{tmp 3808}#
- (@apply
- (lambda (#{x 3811}# #{y 3812}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- #{y 3812}#
- #{n 3757}#
- #{ids 3758}#))
- (lambda (#{y 3813}# #{ids 3814}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- #{x 3811}#
- #{n 3757}#
- #{ids 3814}#))
- (lambda (#{x 3817}# #{ids 3818}#)
- (values
- (cons #{x 3817}# #{y 3813}#)
- #{ids 3818}#))))))
- #{tmp 3808}#)
- (let ((#{tmp 3821}#
- ($sc-dispatch #{tmp 3767}# '())))
- (if #{tmp 3821}#
- (@apply
- (lambda () (values '() #{ids 3758}#))
- #{tmp 3821}#)
- (let ((#{tmp 3822}#
- ($sc-dispatch
- #{tmp 3767}#
- '#(vector each-any))))
- (if #{tmp 3822}#
- (@apply
- (lambda (#{x 3824}#)
- (call-with-values
- (lambda ()
- (#{cvt 3733}#
- #{x 3824}#
- #{n 3757}#
- #{ids 3758}#))
- (lambda (#{p 3826}#
- #{ids 3827}#)
- (values
- (vector
- 'vector
- #{p 3826}#)
- #{ids 3827}#))))
- #{tmp 3822}#)
- (let ((#{x 3831}# #{tmp 3767}#))
- (values
- (vector
- 'atom
- (#{strip 449}#
- #{p 3756}#
- '(())))
- #{ids 3758}#)))))))))))))))))
- (#{cvt 3733}# #{pattern 3724}# 0 '()))))
- (#{build-dispatch-call 3719}#
- (lambda (#{pvars 3833}#
- #{exp 3834}#
- #{y 3835}#
- #{r 3836}#
- #{mod 3837}#)
- (begin
- (map cdr #{pvars 3833}#)
- (let ((#{ids 3845}# (map car #{pvars 3833}#)))
- (let ((#{labels 3849}#
- (#{gen-labels 358}# #{ids 3845}#))
- (#{new-vars 3850}#
- (map #{gen-var 451}# #{ids 3845}#)))
- (#{build-primcall 291}#
- #f
- 'apply
- (list (#{build-simple-lambda 285}#
- #f
- (map syntax->datum #{ids 3845}#)
- #f
- #{new-vars 3850}#
- '()
- (#{chi 423}#
- #{exp 3834}#
- (#{extend-env 331}#
- #{labels 3849}#
- (map (lambda (#{var 3853}# #{level 3854}#)
- (cons 'syntax
- (cons #{var 3853}#
- #{level 3854}#)))
- #{new-vars 3850}#
- (map cdr #{pvars 3833}#))
- #{r 3836}#)
- (#{make-binding-wrap 387}#
- #{ids 3845}#
- #{labels 3849}#
- '(()))
- #{mod 3837}#))
- #{y 3835}#)))))))
- (#{gen-clause 3721}#
- (lambda (#{x 3860}#
- #{keys 3861}#
- #{clauses 3862}#
- #{r 3863}#
- #{pat 3864}#
- #{fender 3865}#
- #{exp 3866}#
- #{mod 3867}#)
- (call-with-values
- (lambda ()
- (#{convert-pattern 3717}#
- #{pat 3864}#
- #{keys 3861}#))
- (lambda (#{p 3876}# #{pvars 3877}#)
- (if (not (#{distinct-bound-ids? 405}#
- (map car #{pvars 3877}#)))
- (syntax-violation
- 'syntax-case
- "duplicate pattern variable"
- #{pat 3864}#)
- (if (not (and-map
- (lambda (#{x 3884}#)
- (not (#{ellipsis? 439}# (car #{x 3884}#))))
- #{pvars 3877}#))
- (syntax-violation
- 'syntax-case
- "misplaced ellipsis"
- #{pat 3864}#)
- (let ((#{y 3888}# (#{gen-var 451}# 'tmp)))
- (#{build-call 267}#
- #f
- (#{build-simple-lambda 285}#
- #f
- (list 'tmp)
- #f
- (list #{y 3888}#)
- '()
- (let ((#{y 3892}#
- (#{build-lexical-reference 273}#
- 'value
- #f
- 'tmp
- #{y 3888}#)))
- (#{build-conditional 269}#
- #f
- (let ((#{tmp 3895}# #{fender 3865}#))
- (let ((#{tmp 3896}#
- ($sc-dispatch
- #{tmp 3895}#
- '#(atom #t))))
- (if #{tmp 3896}#
- (@apply
- (lambda () #{y 3892}#)
- #{tmp 3896}#)
- (let ((#{_ 3898}# #{tmp 3895}#))
- (#{build-conditional 269}#
- #f
- #{y 3892}#
- (#{build-dispatch-call 3719}#
- #{pvars 3877}#
- #{fender 3865}#
- #{y 3892}#
- #{r 3863}#
- #{mod 3867}#)
- (#{build-data 295}# #f #f))))))
- (#{build-dispatch-call 3719}#
- #{pvars 3877}#
- #{exp 3866}#
- #{y 3892}#
- #{r 3863}#
- #{mod 3867}#)
- (#{gen-syntax-case 3723}#
- #{x 3860}#
- #{keys 3861}#
- #{clauses 3862}#
- #{r 3863}#
- #{mod 3867}#))))
- (list (if (eq? #{p 3876}# 'any)
- (#{build-primcall 291}#
- #f
- 'list
- (list #{x 3860}#))
- (#{build-primcall 291}#
- #f
- '$sc-dispatch
- (list #{x 3860}#
- (#{build-data 295}#
- #f
- #{p 3876}#)))))))))))))
- (#{gen-syntax-case 3723}#
- (lambda (#{x 3904}#
- #{keys 3905}#
- #{clauses 3906}#
- #{r 3907}#
- #{mod 3908}#)
- (if (null? #{clauses 3906}#)
- (#{build-primcall 291}#
- #f
- 'syntax-violation
- (list (#{build-data 295}# #f #f)
- (#{build-data 295}#
- #f
- "source expression failed to match any pattern")
- #{x 3904}#))
- (let ((#{tmp 3917}# (car #{clauses 3906}#)))
- (let ((#{tmp 3918}#
- ($sc-dispatch #{tmp 3917}# '(any any))))
- (if #{tmp 3918}#
- (@apply
- (lambda (#{pat 3921}# #{exp 3922}#)
- (if (if (#{id? 343}# #{pat 3921}#)
- (and-map
- (lambda (#{x 3925}#)
- (not (#{free-id=? 399}#
- #{pat 3921}#
- #{x 3925}#)))
- (cons '#(syntax-object
- ...
- ((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i3919" "i3920"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i3909"
- "i3910"
- "i3911"
- "i3912"
- "i3913"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i3722" "i3720" "i3718" "i3716"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))
- #{keys 3905}#))
- #f)
- (if (#{free-id=? 399}#
- '#(syntax-object
- pad
- ((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i3919" "i3920"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i3909"
- "i3910"
- "i3911"
- "i3912"
- "i3913"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i3722" "i3720" "i3718" "i3716"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile))
- '#(syntax-object
- _
- ((top)
- #(ribcage
- #(pat exp)
- #((top) (top))
- #("i3919" "i3920"))
- #(ribcage () () ())
- #(ribcage
- #(x keys clauses r mod)
- #((top) (top) (top) (top) (top))
- #("i3909"
- "i3910"
- "i3911"
- "i3912"
- "i3913"))
- #(ribcage
- (gen-syntax-case
- gen-clause
- build-dispatch-call
- convert-pattern)
- ((top) (top) (top) (top))
- ("i3722" "i3720" "i3718" "i3716"))
- #(ribcage
- (lambda-var-list
- gen-var
- strip
- chi-lambda-case
- lambda*-formals
- chi-simple-lambda
- lambda-formals
- ellipsis?
- chi-void
- eval-local-transformer
- chi-local-syntax
- chi-body
- chi-macro
- chi-call
- chi-expr
- chi
- syntax-type
- chi-when-list
- chi-install-global
- chi-top-sequence
- chi-sequence
- source-wrap
- wrap
- bound-id-member?
- distinct-bound-ids?
- valid-bound-ids?
- bound-id=?
- free-id=?
- 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
- lookup
- 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))
- ("i452"
- "i450"
- "i448"
- "i446"
- "i444"
- "i442"
- "i440"
- "i438"
- "i436"
- "i434"
- "i432"
- "i430"
- "i428"
- "i426"
- "i424"
- "i422"
- "i420"
- "i418"
- "i416"
- "i414"
- "i412"
- "i410"
- "i408"
- "i406"
- "i404"
- "i402"
- "i400"
- "i398"
- "i396"
- "i394"
- "i392"
- "i390"
- "i388"
- "i386"
- "i384"
- "i383"
- "i382"
- "i380"
- "i379"
- "i378"
- "i377"
- "i376"
- "i374"
- "i372"
- "i370"
- "i368"
- "i366"
- "i364"
- "i362"
- "i360"
- "i357"
- "i355"
- "i354"
- "i353"
- "i352"
- "i351"
- "i350"
- "i349"
- "i348"
- "i347"
- "i345"
- "i344"
- "i342"
- "i340"
- "i338"
- "i336"
- "i334"
- "i332"
- "i330"
- "i329"
- "i328"
- "i327"
- "i326"
- "i325"
- "i323"
- "i322"
- "i320"
- "i318"
- "i316"
- "i314"
- "i312"
- "i310"
- "i308"
- "i306"
- "i304"
- "i302"
- "i300"
- "i298"
- "i296"
- "i294"
- "i292"
- "i290"
- "i288"
- "i286"
- "i284"
- "i282"
- "i280"
- "i278"
- "i276"
- "i274"
- "i272"
- "i270"
- "i268"
- "i266"
- "i264"
- "i262"
- "i260"
- "i258"
- "i256"
- "i255"
- "i253"
- "i251"
- "i250"
- "i249"
- "i248"
- "i247"
- "i245"
- "i243"
- "i241"
- "i238"
- "i236"
- "i234"
- "i232"
- "i230"
- "i228"
- "i226"
- "i224"
- "i222"
- "i220"
- "i218"
- "i216"
- "i214"
- "i212"
- "i210"
- "i208"
- "i206"
- "i204"
- "i202"))
- #(ribcage
- (define-structure
- define-expansion-accessors
- define-expansion-constructors)
- ((top) (top) (top))
- ("i40" "i39" "i38")))
- (hygiene guile)))
- (#{chi 423}#
- #{exp 3922}#
- #{r 3907}#
- '(())
- #{mod 3908}#)
- (let ((#{labels 3930}# (list (#{gen-label 356}#)))
- (#{var 3931}#
- (#{gen-var 451}# #{pat 3921}#)))
- (#{build-call 267}#
- #f
- (#{build-simple-lambda 285}#
+ (lambda (#{name 1901}#)
+ (values
+ 'define-form
+ (#{wrap 427}#
+ #{name 1901}#
+ #{w 1799}#
+ #{mod 1802}#)
+ '(#(syntax-object
+ if
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("i1900"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1840"
+ "i1841"
+ "i1842"
+ "i1843"
+ "i1844"
+ "i1845"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("i1832"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1804"
+ "i1805"
+ "i1806"
+ "i1807"
+ "i1808"
+ "i1809"
+ "i1810"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+
eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+
chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+
distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("i45"
+ "i44"
+ "i43")))
+ (hygiene guile))
+ #(syntax-object
+ #f
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("i1900"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1840"
+ "i1841"
+ "i1842"
+ "i1843"
+ "i1844"
+ "i1845"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("i1832"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1804"
+ "i1805"
+ "i1806"
+ "i1807"
+ "i1808"
+ "i1809"
+ "i1810"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+
eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+
chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+
distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("i45"
+ "i44"
+ "i43")))
+ (hygiene guile))
+ #(syntax-object
+ #f
+ ((top)
+ #(ribcage
+ #(name)
+ #((top))
+ #("i1900"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(ftype
+ fval
+ fe
+ fw
+ fs
+ fmod)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1840"
+ "i1841"
+ "i1842"
+ "i1843"
+ "i1844"
+ "i1845"))
+ #(ribcage () () ())
+ #(ribcage
+ #(first)
+ #((top))
+ #("i1832"))
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(e
+ r
+ w
+ s
+ rib
+ mod
+ for-car?)
+ #((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ #("i1804"
+ "i1805"
+ "i1806"
+ "i1807"
+ "i1808"
+ "i1809"
+ "i1810"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+
eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+
chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+
distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+ (define-structure
+
define-expansion-accessors
+
define-expansion-constructors)
+ ((top) (top) (top))
+ ("i45"
+ "i44"
+ "i43")))
+ (hygiene guile)))
+ '(())
+ #{s 1800}#
+ #{mod 1802}#))
+ #{tmp 1897}#)
+ (syntax-violation
+ #f
+ "source expression failed to
match any pattern"
+ #{e 1797}#)))))))
+ (if (memv #{ftype 1834}# '(define-syntax))
+ (let ((#{tmp 1905}#
+ ($sc-dispatch
+ #{e 1797}#
+ '(_ any any))))
+ (if (if #{tmp 1905}#
+ (@apply
+ (lambda (#{name 1908}#
+ #{val 1909}#)
+ (#{id? 353}# #{name 1908}#))
+ #{tmp 1905}#)
+ #f)
+ (@apply
+ (lambda (#{name 1912}# #{val 1913}#)
+ (values
+ 'define-syntax-form
+ #{name 1912}#
+ #{val 1913}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#))
+ #{tmp 1905}#)
+ (syntax-violation
+ #f
+ "source expression failed to match
any pattern"
+ #{e 1797}#)))
+ (values
+ 'call
+ #f
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#))))))))))))))
+ (if (#{syntax-object? 316}# #{e 1797}#)
+ (#{syntax-type 439}#
+ (#{syntax-object-expression 318}# #{e 1797}#)
+ #{r 1798}#
+ (#{join-wraps 409}#
+ #{w 1799}#
+ (#{syntax-object-wrap 320}# #{e 1797}#))
+ (let ((#{t 1919}#
+ (#{source-annotation 331}# #{e 1797}#)))
+ (if #{t 1919}# #{t 1919}# #{s 1800}#))
+ #{rib 1801}#
+ (let ((#{t 1923}#
+ (#{syntax-object-module 322}# #{e 1797}#)))
+ (if #{t 1923}# #{t 1923}# #{mod 1802}#))
+ #{for-car? 1803}#)
+ (if (self-evaluating? #{e 1797}#)
+ (values
+ 'constant
+ #f
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)
+ (values
+ 'other
+ #f
+ #{e 1797}#
+ #{w 1799}#
+ #{s 1800}#
+ #{mod 1802}#)))))))
+ (#{chi 441}#
+ (lambda (#{e 1928}# #{r 1929}# #{w 1930}# #{mod 1931}#)
+ (call-with-values
+ (lambda ()
+ (#{syntax-type 439}#
+ #{e 1928}#
+ #{r 1929}#
+ #{w 1930}#
+ (#{source-annotation 331}# #{e 1928}#)
+ #f
+ #{mod 1931}#
+ #f))
+ (lambda (#{type 1936}#
+ #{value 1937}#
+ #{e 1938}#
+ #{w 1939}#
+ #{s 1940}#
+ #{mod 1941}#)
+ (#{chi-expr 443}#
+ #{type 1936}#
+ #{value 1937}#
+ #{e 1938}#
+ #{r 1929}#
+ #{w 1939}#
+ #{s 1940}#
+ #{mod 1941}#)))))
+ (#{chi-expr 443}#
+ (lambda (#{type 1948}#
+ #{value 1949}#
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(lexical))
+ (#{build-lexical-reference 279}#
+ 'value
+ #{s 1953}#
+ #{e 1950}#
+ #{value 1949}#)
+ (if (memv #{type 1948}# '(core core-form))
+ (#{value 1949}#
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(module-ref))
+ (call-with-values
+ (lambda ()
+ (#{value 1949}# #{e 1950}# #{r 1951}# #{w 1952}#))
+ (lambda (#{e 1965}#
+ #{r 1966}#
+ #{w 1967}#
+ #{s 1968}#
+ #{mod 1969}#)
+ (#{chi 441}#
+ #{e 1965}#
+ #{r 1966}#
+ #{w 1967}#
+ #{mod 1969}#)))
+ (if (memv #{type 1948}# '(lexical-call))
+ (#{chi-call 445}#
+ (let ((#{id 1977}# (car #{e 1950}#)))
+ (#{build-lexical-reference 279}#
+ 'fun
+ (#{source-annotation 331}# #{id 1977}#)
+ (if (#{syntax-object? 316}# #{id 1977}#)
+ (syntax->datum #{id 1977}#)
+ #{id 1977}#)
+ #{value 1949}#))
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(global-call))
+ (#{chi-call 445}#
+ (#{build-global-reference 285}#
+ (#{source-annotation 331}# (car #{e 1950}#))
+ (if (#{syntax-object? 316}# #{value 1949}#)
+ (#{syntax-object-expression 318}# #{value 1949}#)
+ #{value 1949}#)
+ (if (#{syntax-object? 316}# #{value 1949}#)
+ (#{syntax-object-module 322}# #{value 1949}#)
+ #{mod 1954}#))
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(constant))
+ (#{build-data 301}#
+ #{s 1953}#
+ (#{strip 467}#
+ (#{source-wrap 429}#
+ #{e 1950}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ '(())))
+ (if (memv #{type 1948}# '(global))
+ (#{build-global-reference 285}#
+ #{s 1953}#
+ #{value 1949}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(call))
+ (#{chi-call 445}#
+ (#{chi 441}#
+ (car #{e 1950}#)
+ #{r 1951}#
+ #{w 1952}#
+ #{mod 1954}#)
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (if (memv #{type 1948}# '(begin-form))
+ (let ((#{tmp 1985}#
+ ($sc-dispatch
+ #{e 1950}#
+ '(_ any . each-any))))
+ (if #{tmp 1985}#
+ (@apply
+ (lambda (#{e1 1988}# #{e2 1989}#)
+ (#{chi-sequence 431}#
+ (cons #{e1 1988}# #{e2 1989}#)
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#))
+ #{tmp 1985}#)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ #{e 1950}#)))
+ (if (memv #{type 1948}# '(local-syntax-form))
+ (#{chi-local-syntax 451}#
+ #{value 1949}#
+ #{e 1950}#
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#
+ #{chi-sequence 431}#)
+ (if (memv #{type 1948}# '(eval-when-form))
+ (let ((#{tmp 1994}#
+ ($sc-dispatch
+ #{e 1950}#
+ '(_ each-any any . each-any))))
+ (if #{tmp 1994}#
+ (@apply
+ (lambda (#{x 1998}# #{e1 1999}# #{e2 2000}#)
+ (let ((#{when-list 2002}#
+ (#{chi-when-list 437}#
+ #{e 1950}#
+ #{x 1998}#
+ #{w 1952}#)))
+ (if (memq 'eval #{when-list 2002}#)
+ (#{chi-sequence 431}#
+ (cons #{e1 1999}# #{e2 2000}#)
+ #{r 1951}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#)
+ (#{chi-void 455}#))))
+ #{tmp 1994}#)
+ (syntax-violation
#f
- (list (syntax->datum #{pat 3921}#))
+ "source expression failed to match any
pattern"
+ #{e 1950}#)))
+ (if (memv #{type 1948}#
+ '(define-form define-syntax-form))
+ (syntax-violation
+ #f
+ "definition in expression context"
+ #{e 1950}#
+ (#{wrap 427}#
+ #{value 1949}#
+ #{w 1952}#
+ #{mod 1954}#))
+ (if (memv #{type 1948}# '(syntax))
+ (syntax-violation
#f
- (list #{var 3931}#)
- '()
- (#{chi 423}#
- #{exp 3922}#
- (#{extend-env 331}#
- #{labels 3930}#
- (list (cons 'syntax
- (cons #{var 3931}# 0)))
- #{r 3907}#)
- (#{make-binding-wrap 387}#
- (list #{pat 3921}#)
- #{labels 3930}#
- '(()))
- #{mod 3908}#))
- (list #{x 3904}#))))
- (#{gen-clause 3721}#
- #{x 3904}#
- #{keys 3905}#
- (cdr #{clauses 3906}#)
- #{r 3907}#
- #{pat 3921}#
- #t
- #{exp 3922}#
- #{mod 3908}#)))
- #{tmp 3918}#)
- (let ((#{tmp 3937}#
- ($sc-dispatch #{tmp 3917}# '(any any any))))
- (if #{tmp 3937}#
- (@apply
- (lambda (#{pat 3941}# #{fender 3942}# #{exp 3943}#)
- (#{gen-clause 3721}#
- #{x 3904}#
- #{keys 3905}#
- (cdr #{clauses 3906}#)
- #{r 3907}#
- #{pat 3941}#
- #{fender 3942}#
- #{exp 3943}#
- #{mod 3908}#))
- #{tmp 3937}#)
- (let ((#{_ 3945}# #{tmp 3917}#))
- (syntax-violation
- 'syntax-case
- "invalid clause"
- (car #{clauses 3906}#))))))))))))
- (lambda (#{e 3946}#
- #{r 3947}#
- #{w 3948}#
- #{s 3949}#
- #{mod 3950}#)
- (let ((#{e 3957}#
- (#{source-wrap 411}#
- #{e 3946}#
- #{w 3948}#
- #{s 3949}#
- #{mod 3950}#)))
- (let ((#{tmp 3958}# #{e 3957}#))
- (let ((#{tmp 3959}#
+ "reference to pattern variable outside
syntax form"
+ (#{source-wrap 429}#
+ #{e 1950}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#))
+ (if (memv #{type 1948}# '(displaced-lexical))
+ (syntax-violation
+ #f
+ "reference to identifier outside its
scope"
+ (#{source-wrap 429}#
+ #{e 1950}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#))
+ (syntax-violation
+ #f
+ "unexpected syntax"
+ (#{source-wrap 429}#
+ #{e 1950}#
+ #{w 1952}#
+ #{s 1953}#
+ #{mod 1954}#))))))))))))))))))
+ (#{chi-call 445}#
+ (lambda (#{x 2009}#
+ #{e 2010}#
+ #{r 2011}#
+ #{w 2012}#
+ #{s 2013}#
+ #{mod 2014}#)
+ (let ((#{tmp 2022}#
+ ($sc-dispatch #{e 2010}# '(any . each-any))))
+ (if #{tmp 2022}#
+ (@apply
+ (lambda (#{e0 2025}# #{e1 2026}#)
+ (#{build-call 273}#
+ #{s 2013}#
+ #{x 2009}#
+ (map (lambda (#{e 2027}#)
+ (#{chi 441}#
+ #{e 2027}#
+ #{r 2011}#
+ #{w 2012}#
+ #{mod 2014}#))
+ #{e1 2026}#)))
+ #{tmp 2022}#)
+ (syntax-violation
+ #f
+ "source expression failed to match any pattern"
+ #{e 2010}#)))))
+ (#{chi-macro 447}#
+ (lambda (#{p 2030}#
+ #{e 2031}#
+ #{r 2032}#
+ #{w 2033}#
+ #{s 2034}#
+ #{rib 2035}#
+ #{mod 2036}#)
+ (letrec*
+ ((#{rebuild-macro-output 2045}#
+ (lambda (#{x 2046}# #{m 2047}#)
+ (if (pair? #{x 2046}#)
+ (#{decorate-source 267}#
+ (cons (#{rebuild-macro-output 2045}#
+ (car #{x 2046}#)
+ #{m 2047}#)
+ (#{rebuild-macro-output 2045}#
+ (cdr #{x 2046}#)
+ #{m 2047}#))
+ #{s 2034}#)
+ (if (#{syntax-object? 316}# #{x 2046}#)
+ (let ((#{w 2055}#
+ (#{syntax-object-wrap 320}# #{x 2046}#)))
+ (let ((#{ms 2058}# (car #{w 2055}#))
+ (#{s 2059}# (cdr #{w 2055}#)))
+ (if (if (pair? #{ms 2058}#)
+ (eq? (car #{ms 2058}#) #f)
+ #f)
+ (#{make-syntax-object 314}#
+ (#{syntax-object-expression 318}# #{x 2046}#)
+ (cons (cdr #{ms 2058}#)
+ (if #{rib 2035}#
+ (cons #{rib 2035}# (cdr #{s 2059}#))
+ (cdr #{s 2059}#)))
+ (#{syntax-object-module 322}# #{x 2046}#))
+ (#{make-syntax-object 314}#
+ (#{decorate-source 267}#
+ (#{syntax-object-expression 318}# #{x 2046}#)
+ #{s 2059}#)
+ (cons (cons #{m 2047}# #{ms 2058}#)
+ (if #{rib 2035}#
+ (cons #{rib 2035}# (cons 'shift #{s 2059}#))
+ (cons 'shift #{s 2059}#)))
+ (#{syntax-object-module 322}# #{x 2046}#)))))
+ (if (vector? #{x 2046}#)
+ (let ((#{n 2071}# (vector-length #{x 2046}#)))
+ (let ((#{v 2073}#
+ (#{decorate-source 267}#
+ (make-vector #{n 2071}#)
+ #{x 2046}#)))
+ (letrec*
+ ((#{loop 2076}#
+ (lambda (#{i 2077}#)
+ (if (= #{i 2077}# #{n 2071}#)
+ #{v 2073}#
+ (begin
+ (vector-set!
+ #{v 2073}#
+ #{i 2077}#
+ (#{rebuild-macro-output 2045}#
+ (vector-ref #{x 2046}# #{i 2077}#)
+ #{m 2047}#))
+ (#{loop 2076}# (#{1+}# #{i 2077}#)))))))
+ (#{loop 2076}# 0))))
+ (if (symbol? #{x 2046}#)
+ (syntax-violation
+ #f
+ "encountered raw symbol in macro output"
+ (#{source-wrap 429}#
+ #{e 2031}#
+ #{w 2033}#
+ (cdr #{w 2033}#)
+ #{mod 2036}#)
+ #{x 2046}#)
+ (#{decorate-source 267}# #{x 2046}# #{s 2034}#))))))))
+ (#{rebuild-macro-output 2045}#
+ (#{p 2030}#
+ (#{source-wrap 429}#
+ #{e 2031}#
+ (#{anti-mark 397}# #{w 2033}#)
+ #{s 2034}#
+ #{mod 2036}#))
+ (gensym "m")))))
+ (#{chi-body 449}#
+ (lambda (#{body 2087}#
+ #{outer-form 2088}#
+ #{r 2089}#
+ #{w 2090}#
+ #{mod 2091}#)
+ (let ((#{r 2099}#
+ (cons '("placeholder" placeholder) #{r 2089}#)))
+ (let ((#{ribcage 2101}#
+ (#{make-ribcage 376}# '() '() '())))
+ (let ((#{w 2104}#
+ (cons (car #{w 2090}#)
+ (cons #{ribcage 2101}# (cdr #{w 2090}#)))))
+ (letrec*
+ ((#{parse 2116}#
+ (lambda (#{body 2117}#
+ #{ids 2118}#
+ #{labels 2119}#
+ #{var-ids 2120}#
+ #{vars 2121}#
+ #{vals 2122}#
+ #{bindings 2123}#)
+ (if (null? #{body 2117}#)
+ (syntax-violation
+ #f
+ "no expressions in body"
+ #{outer-form 2088}#)
+ (let ((#{e 2128}# (cdr (car #{body 2117}#)))
+ (#{er 2129}# (car (car #{body 2117}#))))
+ (call-with-values
+ (lambda ()
+ (#{syntax-type 439}#
+ #{e 2128}#
+ #{er 2129}#
+ '(())
+ (#{source-annotation 331}# #{er 2129}#)
+ #{ribcage 2101}#
+ #{mod 2091}#
+ #f))
+ (lambda (#{type 2131}#
+ #{value 2132}#
+ #{e 2133}#
+ #{w 2134}#
+ #{s 2135}#
+ #{mod 2136}#)
+ (if (memv #{type 2131}# '(define-form))
+ (let ((#{id 2146}#
+ (#{wrap 427}#
+ #{value 2132}#
+ #{w 2134}#
+ #{mod 2136}#))
+ (#{label 2147}# (#{gen-label 371}#)))
+ (let ((#{var 2149}#
+ (#{gen-var 469}# #{id 2146}#)))
+ (begin
+ (#{extend-ribcage! 403}#
+ #{ribcage 2101}#
+ #{id 2146}#
+ #{label 2147}#)
+ (#{parse 2116}#
+ (cdr #{body 2117}#)
+ (cons #{id 2146}# #{ids 2118}#)
+ (cons #{label 2147}# #{labels 2119}#)
+ (cons #{id 2146}# #{var-ids 2120}#)
+ (cons #{var 2149}# #{vars 2121}#)
+ (cons (cons #{er 2129}#
+ (#{wrap 427}#
+ #{e 2133}#
+ #{w 2134}#
+ #{mod 2136}#))
+ #{vals 2122}#)
+ (cons (cons 'lexical #{var 2149}#)
+ #{bindings 2123}#)))))
+ (if (memv #{type 2131}# '(define-syntax-form))
+ (let ((#{id 2154}#
+ (#{wrap 427}#
+ #{value 2132}#
+ #{w 2134}#
+ #{mod 2136}#))
+ (#{label 2155}# (#{gen-label 371}#)))
+ (begin
+ (#{extend-ribcage! 403}#
+ #{ribcage 2101}#
+ #{id 2154}#
+ #{label 2155}#)
+ (#{parse 2116}#
+ (cdr #{body 2117}#)
+ (cons #{id 2154}# #{ids 2118}#)
+ (cons #{label 2155}# #{labels 2119}#)
+ #{var-ids 2120}#
+ #{vars 2121}#
+ #{vals 2122}#
+ (cons (cons 'macro
+ (cons #{er 2129}#
+ (#{wrap 427}#
+ #{e 2133}#
+ #{w 2134}#
+ #{mod 2136}#)))
+ #{bindings 2123}#))))
+ (if (memv #{type 2131}# '(begin-form))
+ (let ((#{tmp 2159}#
+ ($sc-dispatch
+ #{e 2133}#
+ '(_ . each-any))))
+ (if #{tmp 2159}#
+ (@apply
+ (lambda (#{e1 2161}#)
+ (#{parse 2116}#
+ (letrec*
+ ((#{f 2164}#
+ (lambda (#{forms 2165}#)
+ (if (null? #{forms 2165}#)
+ (cdr #{body 2117}#)
+ (cons (cons #{er 2129}#
+ (#{wrap 427}#
+ (car
#{forms 2165}#)
+ #{w 2134}#
+ #{mod
2136}#))
+ (#{f 2164}#
+ (cdr #{forms
2165}#)))))))
+ (#{f 2164}# #{e1 2161}#))
+ #{ids 2118}#
+ #{labels 2119}#
+ #{var-ids 2120}#
+ #{vars 2121}#
+ #{vals 2122}#
+ #{bindings 2123}#))
+ #{tmp 2159}#)
+ (syntax-violation
+ #f
+ "source expression failed to match any
pattern"
+ #{e 2133}#)))
+ (if (memv #{type 2131}# '(local-syntax-form))
+ (#{chi-local-syntax 451}#
+ #{value 2132}#
+ #{e 2133}#
+ #{er 2129}#
+ #{w 2134}#
+ #{s 2135}#
+ #{mod 2136}#
+ (lambda (#{forms 2168}#
+ #{er 2169}#
+ #{w 2170}#
+ #{s 2171}#
+ #{mod 2172}#)
+ (#{parse 2116}#
+ (letrec*
+ ((#{f 2180}#
+ (lambda (#{forms 2181}#)
+ (if (null? #{forms 2181}#)
+ (cdr #{body 2117}#)
+ (cons (cons #{er 2169}#
+ (#{wrap 427}#
+ (car #{forms
2181}#)
+ #{w 2170}#
+ #{mod 2172}#))
+ (#{f 2180}#
+ (cdr #{forms
2181}#)))))))
+ (#{f 2180}# #{forms 2168}#))
+ #{ids 2118}#
+ #{labels 2119}#
+ #{var-ids 2120}#
+ #{vars 2121}#
+ #{vals 2122}#
+ #{bindings 2123}#)))
+ (if (null? #{ids 2118}#)
+ (#{build-sequence 303}#
+ #f
+ (map (lambda (#{x 2184}#)
+ (#{chi 441}#
+ (cdr #{x 2184}#)
+ (car #{x 2184}#)
+ '(())
+ #{mod 2136}#))
+ (cons (cons #{er 2129}#
+ (#{source-wrap 429}#
+ #{e 2133}#
+ #{w 2134}#
+ #{s 2135}#
+ #{mod 2136}#))
+ (cdr #{body 2117}#))))
+ (begin
+ (if (not (#{valid-bound-ids? 421}#
+ #{ids 2118}#))
+ (syntax-violation
+ #f
+ "invalid or duplicate identifier
in definition"
+ #{outer-form 2088}#))
+ (letrec*
+ ((#{loop 2191}#
+ (lambda (#{bs 2192}#
+ #{er-cache 2193}#
+ #{r-cache 2194}#)
+ (if (not (null? #{bs 2192}#))
+ (let ((#{b 2197}#
+ (car #{bs 2192}#)))
+ (if (eq? (car #{b 2197}#)
+ 'macro)
+ (let ((#{er 2200}#
+ (car (cdr #{b
2197}#))))
+ (let ((#{r-cache 2202}#
+ (if (eq? #{er
2200}#
+
#{er-cache 2193}#)
+ #{r-cache
2194}#
+
(#{macros-only-env 345}#
+ #{er
2200}#))))
+ (begin
+ (set-cdr!
+ #{b 2197}#
+
(#{eval-local-transformer 453}#
+ (#{chi 441}#
+ (cdr (cdr #{b
2197}#))
+ #{r-cache
2202}#
+ '(())
+ #{mod 2136}#)
+ #{mod 2136}#))
+ (#{loop 2191}#
+ (cdr #{bs 2192}#)
+ #{er 2200}#
+ #{r-cache
2202}#))))
+ (#{loop 2191}#
+ (cdr #{bs 2192}#)
+ #{er-cache 2193}#
+ #{r-cache 2194}#)))))))
+ (#{loop 2191}#
+ #{bindings 2123}#
+ #f
+ #f))
+ (set-cdr!
+ #{r 2099}#
+ (#{extend-env 341}#
+ #{labels 2119}#
+ #{bindings 2123}#
+ (cdr #{r 2099}#)))
+ (#{build-letrec 309}#
+ #f
+ #t
+ (reverse
+ (map syntax->datum
+ #{var-ids 2120}#))
+ (reverse #{vars 2121}#)
+ (map (lambda (#{x 2205}#)
+ (#{chi 441}#
+ (cdr #{x 2205}#)
+ (car #{x 2205}#)
+ '(())
+ #{mod 2136}#))
+ (reverse #{vals 2122}#))
+ (#{build-sequence 303}#
+ #f
+ (map (lambda (#{x 2209}#)
+ (#{chi 441}#
+ (cdr #{x 2209}#)
+ (car #{x 2209}#)
+ '(())
+ #{mod 2136}#))
+ (cons (cons #{er 2129}#
+ (#{source-wrap
429}#
+ #{e 2133}#
+ #{w 2134}#
+ #{s 2135}#
+ #{mod 2136}#))
+ (cdr #{body
2117}#))))))))))))))))))
+ (#{parse 2116}#
+ (map (lambda (#{x 2124}#)
+ (cons #{r 2099}#
+ (#{wrap 427}#
+ #{x 2124}#
+ #{w 2104}#
+ #{mod 2091}#)))
+ #{body 2087}#)
+ '()
+ '()
+ '()
+ '()
+ '()
+ '())))))))
+ (#{chi-local-syntax 451}#
+ (lambda (#{rec? 2212}#
+ #{e 2213}#
+ #{r 2214}#
+ #{w 2215}#
+ #{s 2216}#
+ #{mod 2217}#
+ #{k 2218}#)
+ (let ((#{tmp 2227}#
+ ($sc-dispatch
+ #{e 2213}#
+ '(_ #(each (any any)) any . each-any))))
+ (if #{tmp 2227}#
+ (@apply
+ (lambda (#{id 2232}#
+ #{val 2233}#
+ #{e1 2234}#
+ #{e2 2235}#)
+ (if (not (#{valid-bound-ids? 421}# #{id 2232}#))
+ (syntax-violation
+ #f
+ "duplicate bound keyword"
+ #{e 2213}#)
+ (let ((#{labels 2240}#
+ (#{gen-labels 373}# #{id 2232}#)))
+ (let ((#{new-w 2242}#
+ (#{make-binding-wrap 405}#
+ #{id 2232}#
+ #{labels 2240}#
+ #{w 2215}#)))
+ (#{k 2218}#
+ (cons #{e1 2234}# #{e2 2235}#)
+ (#{extend-env 341}#
+ #{labels 2240}#
+ (let ((#{trans-r 2247}#
+ (#{macros-only-env 345}# #{r 2214}#)))
+ (begin
+ (if #{rec? 2212}# (if #f #f))
+ (map (lambda (#{x 2248}#)
+ (cons 'macro
+ (#{eval-local-transformer 453}#
+ (#{chi 441}#
+ #{x 2248}#
+ #{trans-r 2247}#
+ (if #{rec? 2212}#
+ #{new-w 2242}#
+ #{w 2215}#)
+ #{mod 2217}#)
+ #{mod 2217}#)))
+ #{val 2233}#)))
+ #{r 2214}#)
+ #{new-w 2242}#
+ #{s 2216}#
+ #{mod 2217}#)))))
+ #{tmp 2227}#)
+ (syntax-violation
+ #f
+ "bad local syntax definition"
+ (#{source-wrap 429}#
+ #{e 2213}#
+ #{w 2215}#
+ #{s 2216}#
+ #{mod 2217}#))))))
+ (#{eval-local-transformer 453}#
+ (lambda (#{expanded 2254}# #{mod 2255}#)
+ (let ((#{p 2259}#
+ (#{local-eval-hook 259}#
+ #{expanded 2254}#
+ #{mod 2255}#)))
+ (if (procedure? #{p 2259}#)
+ #{p 2259}#
+ (syntax-violation
+ #f
+ "nonprocedure transformer"
+ #{p 2259}#)))))
+ (#{chi-void 455}#
+ (lambda () (#{build-void 271}# #f)))
+ (#{ellipsis? 457}#
+ (lambda (#{x 2261}#)
+ (if (#{nonsymbol-id? 351}# #{x 2261}#)
+ (#{free-id=? 417}#
+ #{x 2261}#
+ '#(syntax-object
+ ...
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage #(x) #((top)) #("i2262"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+ eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+ chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("i45" "i44" "i43")))
+ (hygiene guile)))
+ #f)))
+ (#{lambda-formals 459}#
+ (lambda (#{orig-args 2265}#)
+ (letrec*
+ ((#{req 2268}#
+ (lambda (#{args 2271}# #{rreq 2272}#)
+ (let ((#{tmp 2276}# ($sc-dispatch #{args 2271}# '())))
+ (if #{tmp 2276}#
+ (@apply
+ (lambda ()
+ (#{check 2270}# (reverse #{rreq 2272}#) #f))
+ #{tmp 2276}#)
+ (let ((#{tmp 2277}#
+ ($sc-dispatch #{args 2271}# '(any . any))))
+ (if (if #{tmp 2277}#
+ (@apply
+ (lambda (#{a 2280}# #{b 2281}#)
+ (#{id? 353}# #{a 2280}#))
+ #{tmp 2277}#)
+ #f)
+ (@apply
+ (lambda (#{a 2284}# #{b 2285}#)
+ (#{req 2268}#
+ #{b 2285}#
+ (cons #{a 2284}# #{rreq 2272}#)))
+ #{tmp 2277}#)
+ (let ((#{tmp 2286}# (list #{args 2271}#)))
+ (if (if #{tmp 2286}#
+ (@apply
+ (lambda (#{r 2288}#) (#{id? 353}# #{r 2288}#))
+ #{tmp 2286}#)
+ #f)
+ (@apply
+ (lambda (#{r 2290}#)
+ (#{check 2270}#
+ (reverse #{rreq 2272}#)
+ #{r 2290}#))
+ #{tmp 2286}#)
+ (syntax-violation
+ 'lambda
+ "invalid argument list"
+ #{orig-args 2265}#
+ #{args 2271}#)))))))))
+ (#{check 2270}#
+ (lambda (#{req 2293}# #{rest 2294}#)
+ (if (#{distinct-bound-ids? 423}#
+ (if #{rest 2294}#
+ (cons #{rest 2294}# #{req 2293}#)
+ #{req 2293}#))
+ (values #{req 2293}# #f #{rest 2294}# #f)
+ (syntax-violation
+ 'lambda
+ "duplicate identifier in argument list"
+ #{orig-args 2265}#)))))
+ (#{req 2268}# #{orig-args 2265}# '()))))
+ (#{lambda*-formals 463}#
+ (lambda (#{orig-args 2327}#)
+ (letrec*
+ ((#{req 2330}#
+ (lambda (#{args 2339}# #{rreq 2340}#)
+ (let ((#{tmp 2344}# ($sc-dispatch #{args 2339}# '())))
+ (if #{tmp 2344}#
+ (@apply
+ (lambda ()
+ (#{check 2338}#
+ (reverse #{rreq 2340}#)
+ '()
+ #f
+ '()))
+ #{tmp 2344}#)
+ (let ((#{tmp 2345}#
+ ($sc-dispatch #{args 2339}# '(any . any))))
+ (if (if #{tmp 2345}#
+ (@apply
+ (lambda (#{a 2348}# #{b 2349}#)
+ (#{id? 353}# #{a 2348}#))
+ #{tmp 2345}#)
+ #f)
+ (@apply
+ (lambda (#{a 2352}# #{b 2353}#)
+ (#{req 2330}#
+ #{b 2353}#
+ (cons #{a 2352}# #{rreq 2340}#)))
+ #{tmp 2345}#)
+ (let ((#{tmp 2354}#
+ ($sc-dispatch #{args 2339}# '(any . any))))
+ (if (if #{tmp 2354}#
+ (@apply
+ (lambda (#{a 2357}# #{b 2358}#)
+ (eq? (syntax->datum #{a 2357}#) #:optional))
+ #{tmp 2354}#)
+ #f)
+ (@apply
+ (lambda (#{a 2361}# #{b 2362}#)
+ (#{opt 2332}#
+ #{b 2362}#
+ (reverse #{rreq 2340}#)
+ '()))
+ #{tmp 2354}#)
+ (let ((#{tmp 2363}#
+ ($sc-dispatch #{args 2339}# '(any . any))))
+ (if (if #{tmp 2363}#
+ (@apply
+ (lambda (#{a 2366}# #{b 2367}#)
+ (eq? (syntax->datum #{a 2366}#) #:key))
+ #{tmp 2363}#)
+ #f)
+ (@apply
+ (lambda (#{a 2370}# #{b 2371}#)
+ (#{key 2334}#
+ #{b 2371}#
+ (reverse #{rreq 2340}#)
+ '()
+ '()))
+ #{tmp 2363}#)
+ (let ((#{tmp 2372}#
+ ($sc-dispatch #{args 2339}# '(any any))))
+ (if (if #{tmp 2372}#
+ (@apply
+ (lambda (#{a 2375}# #{b 2376}#)
+ (eq? (syntax->datum #{a 2375}#)
+ #:rest))
+ #{tmp 2372}#)
+ #f)
+ (@apply
+ (lambda (#{a 2379}# #{b 2380}#)
+ (#{rest 2336}#
+ #{b 2380}#
+ (reverse #{rreq 2340}#)
+ '()
+ '()))
+ #{tmp 2372}#)
+ (let ((#{tmp 2381}# (list #{args 2339}#)))
+ (if (if #{tmp 2381}#
+ (@apply
+ (lambda (#{r 2383}#)
+ (#{id? 353}# #{r 2383}#))
+ #{tmp 2381}#)
+ #f)
+ (@apply
+ (lambda (#{r 2385}#)
+ (#{rest 2336}#
+ #{r 2385}#
+ (reverse #{rreq 2340}#)
+ '()
+ '()))
+ #{tmp 2381}#)
+ (syntax-violation
+ 'lambda*
+ "invalid argument list"
+ #{orig-args 2327}#
+ #{args 2339}#)))))))))))))))
+ (#{opt 2332}#
+ (lambda (#{args 2388}# #{req 2389}# #{ropt 2390}#)
+ (let ((#{tmp 2395}# ($sc-dispatch #{args 2388}# '())))
+ (if #{tmp 2395}#
+ (@apply
+ (lambda ()
+ (#{check 2338}#
+ #{req 2389}#
+ (reverse #{ropt 2390}#)
+ #f
+ '()))
+ #{tmp 2395}#)
+ (let ((#{tmp 2396}#
+ ($sc-dispatch #{args 2388}# '(any . any))))
+ (if (if #{tmp 2396}#
+ (@apply
+ (lambda (#{a 2399}# #{b 2400}#)
+ (#{id? 353}# #{a 2399}#))
+ #{tmp 2396}#)
+ #f)
+ (@apply
+ (lambda (#{a 2403}# #{b 2404}#)
+ (#{opt 2332}#
+ #{b 2404}#
+ #{req 2389}#
+ (cons (cons #{a 2403}#
+ '(#(syntax-object
+ #f
+ ((top)
+ #(ribcage
+ #(a b)
+ #((top) (top))
+ #("i2401" "i2402"))
+ #(ribcage () () ())
+ #(ribcage
+ #(args req ropt)
+ #((top) (top) (top))
+ #("i2391" "i2392" "i2393"))
+ #(ribcage
+ (check rest key opt req)
+ ((top) (top) (top) (top) (top))
+ ("i2337"
+ "i2335"
+ "i2333"
+ "i2331"
+ "i2329"))
+ #(ribcage
+ #(orig-args)
+ #((top))
+ #("i2328"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+ eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+ chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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))
+ ("i470"
+ "i468"
+ "i466"
+ "i464"
+ "i462"
+ "i460"
+ "i458"
+ "i456"
+ "i454"
+ "i452"
+ "i450"
+ "i448"
+ "i446"
+ "i444"
+ "i442"
+ "i440"
+ "i438"
+ "i436"
+ "i434"
+ "i432"
+ "i430"
+ "i428"
+ "i426"
+ "i424"
+ "i422"
+ "i420"
+ "i418"
+ "i416"
+ "i414"
+ "i412"
+ "i410"
+ "i408"
+ "i406"
+ "i404"
+ "i402"
+ "i401"
+ "i399"
+ "i396"
+ "i395"
+ "i394"
+ "i392"
+ "i391"
+ "i389"
+ "i387"
+ "i385"
+ "i383"
+ "i381"
+ "i379"
+ "i377"
+ "i375"
+ "i372"
+ "i370"
+ "i369"
+ "i367"
+ "i365"
+ "i363"
+ "i361"
+ "i360"
+ "i359"
+ "i358"
+ "i356"
+ "i355"
+ "i352"
+ "i350"
+ "i348"
+ "i346"
+ "i344"
+ "i342"
+ "i340"
+ "i339"
+ "i338"
+ "i336"
+ "i334"
+ "i333"
+ "i330"
+ "i329"
+ "i327"
+ "i325"
+ "i323"
+ "i321"
+ "i319"
+ "i317"
+ "i315"
+ "i313"
+ "i311"
+ "i308"
+ "i306"
+ "i304"
+ "i302"
+ "i300"
+ "i298"
+ "i296"
+ "i294"
+ "i292"
+ "i290"
+ "i288"
+ "i286"
+ "i284"
+ "i282"
+ "i280"
+ "i278"
+ "i276"
+ "i274"
+ "i272"
+ "i270"
+ "i268"
+ "i266"
+ "i264"
+ "i262"
+ "i261"
+ "i258"
+ "i256"
+ "i255"
+ "i254"
+ "i253"
+ "i252"
+ "i250"
+ "i248"
+ "i246"
+ "i243"
+ "i241"
+ "i239"
+ "i237"
+ "i235"
+ "i233"
+ "i231"
+ "i229"
+ "i227"
+ "i225"
+ "i223"
+ "i221"
+ "i219"
+ "i217"
+ "i215"
+ "i213"
+ "i211"
+ "i209"
+ "i207"))
+ #(ribcage
+ (define-structure
+ define-expansion-accessors
+ define-expansion-constructors)
+ ((top) (top) (top))
+ ("i45" "i44" "i43")))
+ (hygiene guile))))
+ #{ropt 2390}#)))
+ #{tmp 2396}#)
+ (let ((#{tmp 2405}#
+ ($sc-dispatch #{args 2388}# '((any any) . any))))
+ (if (if #{tmp 2405}#
+ (@apply
+ (lambda (#{a 2409}# #{init 2410}# #{b 2411}#)
+ (#{id? 353}# #{a 2409}#))
+ #{tmp 2405}#)
+ #f)
+ (@apply
+ (lambda (#{a 2415}# #{init 2416}# #{b 2417}#)
+ (#{opt 2332}#
+ #{b 2417}#
+ #{req 2389}#
+ (cons (list #{a 2415}# #{init 2416}#)
+ #{ropt 2390}#)))
+ #{tmp 2405}#)
+ (let ((#{tmp 2418}#
+ ($sc-dispatch #{args 2388}# '(any . any))))
+ (if (if #{tmp 2418}#
+ (@apply
+ (lambda (#{a 2421}# #{b 2422}#)
+ (eq? (syntax->datum #{a 2421}#) #:key))
+ #{tmp 2418}#)
+ #f)
+ (@apply
+ (lambda (#{a 2425}# #{b 2426}#)
+ (#{key 2334}#
+ #{b 2426}#
+ #{req 2389}#
+ (reverse #{ropt 2390}#)
+ '()))
+ #{tmp 2418}#)
+ (let ((#{tmp 2427}#
+ ($sc-dispatch #{args 2388}# '(any any))))
+ (if (if #{tmp 2427}#
+ (@apply
+ (lambda (#{a 2430}# #{b 2431}#)
+ (eq? (syntax->datum #{a 2430}#)
+ #:rest))
+ #{tmp 2427}#)
+ #f)
+ (@apply
+ (lambda (#{a 2434}# #{b 2435}#)
+ (#{rest 2336}#
+ #{b 2435}#
+ #{req 2389}#
+ (reverse #{ropt 2390}#)
+ '()))
+ #{tmp 2427}#)
+ (let ((#{tmp 2436}# (list #{args 2388}#)))
+ (if (if #{tmp 2436}#
+ (@apply
+ (lambda (#{r 2438}#)
+ (#{id? 353}# #{r 2438}#))
+ #{tmp 2436}#)
+ #f)
+ (@apply
+ (lambda (#{r 2440}#)
+ (#{rest 2336}#
+ #{r 2440}#
+ #{req 2389}#
+ (reverse #{ropt 2390}#)
+ '()))
+ #{tmp 2436}#)
+ (syntax-violation
+ 'lambda*
+ "invalid optional argument list"
+ #{orig-args 2327}#
+ #{args 2388}#)))))))))))))))
+ (#{key 2334}#
+ (lambda (#{args 2443}#
+ #{req 2444}#
+ #{opt 2445}#
+ #{rkey 2446}#)
+ (let ((#{tmp 2452}# ($sc-dispatch #{args 2443}# '())))
+ (if #{tmp 2452}#
+ (@apply
+ (lambda ()
+ (#{check 2338}#
+ #{req 2444}#
+ #{opt 2445}#
+ #f
+ (cons #f (reverse #{rkey 2446}#))))
+ #{tmp 2452}#)
+ (let ((#{tmp 2453}#
+ ($sc-dispatch #{args 2443}# '(any . any))))
+ (if (if #{tmp 2453}#
+ (@apply
+ (lambda (#{a 2456}# #{b 2457}#)
+ (#{id? 353}# #{a 2456}#))
+ #{tmp 2453}#)
+ #f)
+ (@apply
+ (lambda (#{a 2460}# #{b 2461}#)
+ (let ((#{tmp 2463}#
+ (symbol->keyword
+ (syntax->datum #{a 2460}#))))
+ (#{key 2334}#
+ #{b 2461}#
+ #{req 2444}#
+ #{opt 2445}#
+ (cons (cons #{tmp 2463}#
+ (cons #{a 2460}#
+ '(#(syntax-object
+ #f
+ ((top)
+ #(ribcage () () ())
+ #(ribcage
+ #(k)
+ #((top))
+ #("i2464"))
+ #(ribcage
+ #(a b)
+ #((top) (top))
+ #("i2458" "i2459"))
+ #(ribcage () () ())
+ #(ribcage
+ #(args req opt rkey)
+ #((top)
+ (top)
+ (top)
+ (top))
+ #("i2447"
+ "i2448"
+ "i2449"
+ "i2450"))
+ #(ribcage
+ (check rest key opt req)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("i2337"
+ "i2335"
+ "i2333"
+ "i2331"
+ "i2329"))
+ #(ribcage
+ #(orig-args)
+ #((top))
+ #("i2328"))
+ #(ribcage
+ (lambda-var-list
+ gen-var
+ strip
+ chi-lambda-case
+ lambda*-formals
+ chi-simple-lambda
+ lambda-formals
+ ellipsis?
+ chi-void
+ eval-local-transformer
+ chi-local-syntax
+ chi-body
+ chi-macro
+ chi-call
+ chi-expr
+ chi
+ syntax-type
+ chi-when-list
+ chi-install-global
+ chi-top-sequence
+ chi-sequence
+ source-wrap
+ wrap
+ bound-id-member?
+ distinct-bound-ids?
+ valid-bound-ids?
+ bound-id=?
+ free-id=?
+ 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
+ lookup
+ 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)
+