[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, goops-cleanup, updated. release_1-9-4-
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, goops-cleanup, updated. release_1-9-4-85-gc3d3f9b |
Date: |
Fri, 06 Nov 2009 15:25:47 +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=c3d3f9bad1168fa59218dce70e249976a25de627
The branch, goops-cleanup has been updated
via c3d3f9bad1168fa59218dce70e249976a25de627 (commit)
via 93286226a6dbef3800dd97515233ad878993e8b4 (commit)
via 21e649c6dcf3dfbe29943c31ddcefd6136954e79 (commit)
via 425d508d5f61b687471619c0a3f6835a5d0611ad (commit)
via 034206be4c792ba50d25524c002a54b3af74755e (commit)
via 18d36d5b4368a626e87e9b1cff953612f17a32cc (commit)
via 1f86ca3d02668dacf6f0240e8a243aba0d82530e (commit)
via fbbe3a5478f10cf3ccd0e0737567a6f770f93c65 (commit)
via cbbfdd7decb675fe6a74c9dc938eb2556747dcae (commit)
via 858db32a2f411d5ecdbb2be64f1878a2d2f56e40 (commit)
via 03abdb70b326a5f62521989041ea5097716ab0ed (commit)
via b727ef92666e6a777504afe7c7d579e7daf2c76c (commit)
via 8aa6f246bea39795b83b1ebcbbc85d4c8eab1aa2 (commit)
from b1955b1187eccb9383154942f0353d5cdcfeed99 (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 c3d3f9bad1168fa59218dce70e249976a25de627
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 13:13:39 2009 +0100
opcodes for bit twiddling (ash, logand, logior, logxor)
* module/language/tree-il/compile-glil.scm:
* module/language/tree-il/primitives.scm:
* libguile/vm-i-scheme.c (ash, logand, logior, logxor): New opcodes.
commit 93286226a6dbef3800dd97515233ad878993e8b4
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 12:40:20 2009 +0100
class-of has an opcode
* libguile/vm-i-scheme.c (class-of): New opcode.
* module/language/tree-il/compile-glil.scm:
* module/oop/goops.scm: Compile class-of into an opcode.
commit 21e649c6dcf3dfbe29943c31ddcefd6136954e79
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 12:13:33 2009 +0100
faster conditionals
* module/language/tree-il/compile-glil.scm (flatten): Compile `if'
statements with `eq?' and `null?', and their `not?' variants, into
more specific bytecode.
commit 425d508d5f61b687471619c0a3f6835a5d0611ad
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 11:25:50 2009 +0100
generic dispatch protocol in scheme, not yet wired up
* module/oop/goops/dispatch.scm: Add a dispatch protocol in Scheme. The
idea is that instead of using a hardcoded C protocol, we compile
dispatch procedures at runtime. To avoid too much thrashing at bootup,
there is a simple JIT mechanism -- dispatch will be data-driven,
through the cache, for the first 5 invocations, then a dispatch
procedure will be compiled from the cache.
My initial timings indicate that interpreted dispatch takes about
100us, and that compiled dispatch takes about 60us. Compilation itself
takes about 16000us (16 ms). The compiled procedure dispatch times
will improve soon, hopefully.
commit 034206be4c792ba50d25524c002a54b3af74755e
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 11:16:54 2009 +0100
fix (apply f) -- without the args list
* module/language/tree-il/primitives.scm (apply): Only inline if we
actually have an argument to apply.
commit 18d36d5b4368a626e87e9b1cff953612f17a32cc
Author: Andy Wingo <address@hidden>
Date: Fri Nov 6 10:27:19 2009 +0100
eqv? not a generic, equal? dispatches to generic only for objects
* libguile/eq.c (scm_eqv_p): Not a generic any more. Since eqv? is used
by e.g. `case', which should be able to compile into dispatch tables,
it really doesn't make sense to dispatch out to a generic.
(scm_equal_p): So it was always the case that (equal? 'foo "foo") =>
#f. But (equal? 'foo 'bar) could actually be extended by a generic.
This was a bug, if you follow the other logic of the code. Changed so
that generic functions can only extend the domain of equal? when
operating on goops objects.
commit 1f86ca3d02668dacf6f0240e8a243aba0d82530e
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 17:35:44 2009 +0100
generic tweaks; realizing what the setter slot actually is
* libguile/goops.h (scm_si_dispatch_procedure)
(scm_si_effective_methods): Rename the new generics slots to
"effective-methods" and "dispatch-procedure".
(scm_si_generic_setter): Rename this one from "%setter" to "setter",
and it's not a cache -- it's a pointer to the setter, which is also a
generic. I didn't realize that before. It's better this way (like it
always was.)
(SCM_SET_GENERIC_DISPATCH_PROCEDURE)
(SCM_CLEAR_GENERIC_EFFECTIVE_METHODS): New helper macros.
* libguile/goops.c (clear_method_cache): Clear the new dispatch
procedure and the effective methods as well.
(create_standard_classes): Rename slots, and fix the setter slots.
commit fbbe3a5478f10cf3ccd0e0737567a6f770f93c65
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 13:16:40 2009 +0100
more clarity in (oop goops dispatch)
* module/oop/goops/dispatch.scm (memoize-method!): If we don't have a
no-applicable-method, just call no-applicable-method directly.
* test-suite/tests/goops.test ("no-applicable-method"): Add some tests.
commit cbbfdd7decb675fe6a74c9dc938eb2556747dcae
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 12:54:41 2009 +0100
remove code-table slot from methods
* libguile/goops.c (scm_sys_invalidate_method_cache_x, scm_make)
(create_standard_classes): Remove code-table slot from methods. The
generic cache completely does its job, afaict.
* libguile/goops.h (scm_si_formals, scm_si_body, scm_si_make_procedure):
Renumber slots.
* module/oop/goops.scm (initialize on <method>): No more code-table
slot.
* module/oop/goops/compile.scm: Always "compile" a method, instead of
looking for a hit in an always-empty cache.
commit 858db32a2f411d5ecdbb2be64f1878a2d2f56e40
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 12:41:54 2009 +0100
remove used-by slot from generics
* libguile/goops.c (clear_method_cache)
(scm_sys_invalidate_method_cache_x, scm_make)
(create_standard_classes): Remove the used-by method from generics, as
it is not used at all.
* libguile/goops.h: Renumber generic slots.
* module/oop/goops/dispatch.scm (memoize-method!): No more used-by slot.
commit 03abdb70b326a5f62521989041ea5097716ab0ed
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 11:32:16 2009 +0100
first step towards effective methods
* libguile/goops.c (create_standard_classes):
* libguile/goops.h *scm_si_applicable_methods, scm_si_effective_method)
(scm_si_applicable_setter_methods, scm_si_effective_setter_method):
Add space for the new form of the generic cache and effective method.
commit b727ef92666e6a777504afe7c7d579e7daf2c76c
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 10:29:56 2009 +0100
remove "predicate" from <lambda-case>
* module/ice-9/optargs.scm (parse-lambda-case, let-optional)
(let-optional*, let-keywords, let-keywords*):
* module/language/tree-il.scm: (<lambda-case>, parse-tree-il)
(unparse-tree-il, tree-il->scheme, tree-il-fold, make-tree-il-folder)
(post-order!, pre-order!):
* module/language/tree-il/analyze.scm (analyze-lexicals):
* module/language/tree-il/compile-glil.scm (compile-glil):
* module/language/tree-il/inline.scm (inline!): Remove all traces of
#:predicate from tree-il.
* module/ice-9/psyntax.scm (build-simple-lambda, build-lambda-case)
(chi-lambda-case): Adapt to tree-il change.
* module/ice-9/psyntax-pp.scm: Regenerated.
* module/language/brainfuck/compile-tree-il.scm (compile-body):
* module/language/ecmascript/compile-tree-il.scm (comp, comp-body):
* test-suite/tests/tree-il.test: Adapt to tree-il change.
* doc/ref/api-procedures.texi (Case-lambda): Remove mention of
#:predicate.
commit 8aa6f246bea39795b83b1ebcbbc85d4c8eab1aa2
Author: Andy Wingo <address@hidden>
Date: Thu Nov 5 10:22:01 2009 +0100
Revert "implement #:predicate"
Turns out this was not a very useful idea, and semantically tricky to
boot.
This reverts commit 24bf130fd15afbc8b3a2ccdc50a027f9b6c9e623.
-----------------------------------------------------------------------
Summary of changes:
doc/ref/api-procedures.texi | 19 -
libguile/eq.c | 26 +-
libguile/goops.c | 35 +-
libguile/goops.h | 26 +-
libguile/vm-i-scheme.c | 49 +
module/ice-9/optargs.scm | 17 +-
module/ice-9/psyntax-pp.scm |12910 ++++++++++++------------
module/ice-9/psyntax.scm | 106 +-
module/language/brainfuck/compile-tree-il.scm | 2 +-
module/language/ecmascript/compile-tree-il.scm | 16 +-
module/language/tree-il.scm | 53 +-
module/language/tree-il/analyze.scm | 9 +-
module/language/tree-il/compile-glil.scm | 84 +-
module/language/tree-il/inline.scm | 6 +-
module/language/tree-il/primitives.scm | 5 +-
module/oop/goops.scm | 13 +-
module/oop/goops/compile.scm | 30 +-
module/oop/goops/dispatch.scm | 234 +-
test-suite/tests/goops.test | 23 +
test-suite/tests/tree-il.test | 18 +-
20 files changed, 6811 insertions(+), 6870 deletions(-)
diff --git a/doc/ref/api-procedures.texi b/doc/ref/api-procedures.texi
index 972ce2e..9609fef 100644
--- a/doc/ref/api-procedures.texi
+++ b/doc/ref/api-procedures.texi
@@ -594,25 +594,6 @@ A @code{case-lambda*} clause matches if the arguments fill
the
required arguments, but are not too many for the optional and/or rest
arguments.
address@hidden is particularly useful in combination with an
-obscure @code{lambda*} feature, @code{#:predicate}. @code{lambda*}
-argument lists may contain a @code{#:predicate @var{expr}} clause at
-the end -- before the rest argument, if any. This expression is
-evaluated in the context of all of the arguments, and if false, causes
-the @code{case-lambda*} expression not to match. This can be used to
-make a simple form of type dispatch:
-
address@hidden
-(define type-of
- (case-lambda*
- ((a #:predicate (symbol? a)) 'symbol)
- ((a #:predicate (string? a)) 'string)
- ((a) 'unknown)))
-(type-of 'foo) @result{} symbol
-(type-of "foo") @result{} string
-(type-of '(foo)) @result{} unknown
address@hidden lisp
-
Keyword arguments are possible with @code{case-lambda*}, but they do
not contribute to the ``matching'' behavior. That is to say,
@code{case-lambda*} matches only on required, optional, and rest
diff --git a/libguile/eq.c b/libguile/eq.c
index 2db4ac0..6cb9bc2 100644
--- a/libguile/eq.c
+++ b/libguile/eq.c
@@ -104,7 +104,7 @@ real_eqv (double x, double y)
}
#include <stdio.h>
-SCM_PRIMITIVE_GENERIC_1 (scm_eqv_p, "eqv?", scm_tc7_rpsubr,
+SCM_DEFINE1 (scm_eqv_p, "eqv?", scm_tc7_rpsubr,
(SCM x, SCM y),
"Return @code{#t} if @var{x} and @var{y} are the same object, or\n"
"for characters and numbers the same value.\n"
@@ -173,10 +173,7 @@ SCM_PRIMITIVE_GENERIC_1 (scm_eqv_p, "eqv?", scm_tc7_rpsubr,
SCM_COMPLEX_IMAG (y)));
}
}
- if (SCM_UNPACK (g_scm_eqv_p))
- return scm_call_generic_2 (g_scm_eqv_p, x, y);
- else
- return SCM_BOOL_F;
+ return SCM_BOOL_F;
}
#undef FUNC_NAME
@@ -294,13 +291,20 @@ SCM_PRIMITIVE_GENERIC_1 (scm_equal_p, "equal?",
scm_tc7_rpsubr,
case scm_tc7_wvect:
return scm_i_vector_equal_p (x, y);
}
+ /* Check equality between structs of equal type (see cell-type test above).
*/
+ if (SCM_STRUCTP (x))
+ {
+ if (SCM_INSTANCEP (x))
+ goto generic_equal;
+ else
+ return scm_i_struct_equalp (x, y);
+ }
- /* Check equality between structs of equal type (see cell-type test above)
- that are not GOOPS instances. GOOPS instances are treated via the
- generic function. */
- if ((SCM_STRUCTP (x)) && (!SCM_INSTANCEP (x)))
- return scm_i_struct_equalp (x, y);
-
+ /* Otherwise just return false. Dispatching to the generic is the wrong thing
+ here, as we can hit this case for any two objects of the same type that we
+ think are distinct, like different symbols. */
+ return SCM_BOOL_F;
+
generic_equal:
if (SCM_UNPACK (g_scm_equal_p))
return scm_call_generic_2 (g_scm_equal_p, x, y);
diff --git a/libguile/goops.c b/libguile/goops.c
index 6ab927c..3f5aee9 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -1908,7 +1908,8 @@ clear_method_cache (SCM gf)
{
SCM cache = scm_make_method_cache (gf);
SCM_SET_GENERIC_METHOD_CACHE (gf, cache);
- SCM_SET_SLOT (gf, scm_si_used_by, SCM_BOOL_F);
+ SCM_SET_GENERIC_DISPATCH_PROCEDURE (gf, SCM_BOOL_F);
+ SCM_CLEAR_GENERIC_EFFECTIVE_METHODS (gf);
}
SCM_DEFINE (scm_sys_invalidate_method_cache_x, "%invalidate-method-cache!", 1,
0, 0,
@@ -1916,23 +1917,11 @@ SCM_DEFINE (scm_sys_invalidate_method_cache_x,
"%invalidate-method-cache!", 1, 0
"")
#define FUNC_NAME s_scm_sys_invalidate_method_cache_x
{
- SCM used_by;
SCM_ASSERT (SCM_PUREGENERICP (gf), gf, SCM_ARG1, FUNC_NAME);
- used_by = SCM_SLOT (gf, scm_si_used_by);
- if (scm_is_true (used_by))
- {
- SCM methods = SCM_SLOT (gf, scm_si_methods);
- for (; scm_is_pair (used_by); used_by = SCM_CDR (used_by))
- scm_sys_invalidate_method_cache_x (SCM_CAR (used_by));
- clear_method_cache (gf);
- for (; scm_is_pair (methods); methods = SCM_CDR (methods))
- SCM_SET_SLOT (SCM_CAR (methods), scm_si_code_table, SCM_EOL);
- }
- {
- SCM n = SCM_SLOT (gf, scm_si_n_specialized);
- /* The sign of n is a flag indicating rest args. */
- SCM_SET_MCACHE_N_SPECIALIZED (SCM_GENERIC_METHOD_CACHE (gf), n);
- }
+ clear_method_cache (gf);
+ /* The sign of n-specialized is a flag indicating rest args. */
+ SCM_SET_MCACHE_N_SPECIALIZED (SCM_GENERIC_METHOD_CACHE (gf),
+ SCM_SLOT (gf, scm_si_n_specialized));
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME
@@ -2367,9 +2356,8 @@ SCM_DEFINE (scm_make, "make", 0, 0, 1,
if (class == scm_class_generic || class == scm_class_accessor)
{
z = scm_make_struct (class, SCM_INUM0,
- scm_list_5 (SCM_EOL,
+ scm_list_4 (SCM_EOL,
SCM_INUM0,
- SCM_BOOL_F,
scm_make_mutex (),
SCM_EOL));
scm_set_procedure_property_x (z, scm_sym_name,
@@ -2410,7 +2398,6 @@ SCM_DEFINE (scm_make, "make", 0, 0, 1,
len - 1,
SCM_BOOL_F,
FUNC_NAME));
- SCM_SET_SLOT (z, scm_si_code_table, SCM_EOL);
SCM_SET_SLOT (z, scm_si_formals,
scm_i_get_keyword (k_formals,
args,
@@ -2571,7 +2558,6 @@ create_standard_classes (void)
SCM method_slots = scm_list_n (scm_from_locale_symbol ("generic-function"),
scm_from_locale_symbol ("specializers"),
sym_procedure,
- scm_from_locale_symbol ("code-table"),
scm_from_locale_symbol ("formals"),
scm_from_locale_symbol ("body"),
scm_from_locale_symbol ("make-procedure"),
@@ -2588,9 +2574,6 @@ create_standard_classes (void)
scm_list_3 (scm_from_locale_symbol
("n-specialized"),
k_init_value,
SCM_INUM0),
- scm_list_3 (scm_from_locale_symbol ("used-by"),
- k_init_value,
- SCM_BOOL_F),
scm_list_3 (scm_from_locale_symbol ("cache-mutex"),
k_init_thunk,
mutex_closure),
@@ -2598,8 +2581,10 @@ create_standard_classes (void)
k_init_value,
SCM_EOL),
scm_from_locale_symbol ("%cache"),
+ scm_from_locale_symbol ("dispatch-procedure"),
+ scm_from_locale_symbol ("effective-methods"),
SCM_UNDEFINED);
- SCM setter_slots = scm_list_1 (scm_from_locale_symbol ("%setter-cache"));
+ SCM setter_slots = scm_list_1 (sym_setter);
SCM egf_slots = scm_list_1 (scm_list_3 (scm_from_locale_symbol ("extends"),
k_init_value,
SCM_EOL));
diff --git a/libguile/goops.h b/libguile/goops.h
index 78baba7..df92c23 100644
--- a/libguile/goops.h
+++ b/libguile/goops.h
@@ -165,28 +165,32 @@ typedef struct scm_t_method {
#define SCM_GENERIC_METHOD_CACHE(G) (SCM_PACK (SCM_STRUCT_DATA (G)
[scm_si_generic_cache]))
#define SCM_SET_GENERIC_METHOD_CACHE(G,C) (SCM_STRUCT_DATA (G)
[scm_si_generic_cache] = SCM_UNPACK (C))
-#define SCM_GENERIC_SETTER(G) (SCM_PACK (SCM_STRUCT_DATA (G)
[scm_si_generic_setter_cache]))
-#define SCM_SET_GENERIC_SETTER(G,C) (SCM_STRUCT_DATA (G)
[scm_si_generic_setter_cache] = SCM_UNPACK (C))
#define SCM_MCACHE_N_SPECIALIZED(C) SCM_CADDR (C)
#define SCM_SET_MCACHE_N_SPECIALIZED(C, X) SCM_SETCAR (SCM_CDDR (C), X)
+#define SCM_SET_GENERIC_DISPATCH_PROCEDURE(G,C) (SCM_STRUCT_SLOT_SET (G,
scm_si_dispatch_procedure, (C)))
+#define SCM_CLEAR_GENERIC_EFFECTIVE_METHODS(G) (SCM_STRUCT_SLOT_SET (G,
scm_si_effective_methods, SCM_EOL));
+
+#define SCM_GENERIC_SETTER(G) (SCM_PACK (SCM_STRUCT_DATA (G)
[scm_si_generic_setter]))
+#define SCM_SET_GENERIC_SETTER(G,C) (SCM_STRUCT_DATA (G)
[scm_si_generic_setter] = SCM_UNPACK (C))
+
#define SCM_INITIAL_MCACHE_SIZE 1
#define scm_si_methods 0 /* offset of methods slot in a <generic> */
#define scm_si_n_specialized 1
-#define scm_si_used_by 2
-#define scm_si_cache_mutex 3
-#define scm_si_extended_by 4
-#define scm_si_generic_cache 5
-#define scm_si_generic_setter_cache 6
+#define scm_si_cache_mutex 2
+#define scm_si_extended_by 3
+#define scm_si_generic_cache 4
+#define scm_si_dispatch_procedure 5
+#define scm_si_effective_methods 6
+#define scm_si_generic_setter 7
#define scm_si_generic_function 0 /* offset of gf slot in a
<method> */
#define scm_si_specializers 1 /* offset of spec. slot in a <method> */
#define scm_si_procedure 2 /* offset of proc. slot in a <method> */
-#define scm_si_code_table 3 /* offset of code. slot in a <method> */
-#define scm_si_formals 4 /* offset of form. slot in a <method> */
-#define scm_si_body 5 /* offset of body slot in a <method> */
-#define scm_si_make_procedure 6 /* offset of makep.slot in a <method> */
+#define scm_si_formals 3 /* offset of form. slot in a <method> */
+#define scm_si_body 4 /* offset of body slot in a <method> */
+#define scm_si_make_procedure 5 /* offset of makep.slot in a <method> */
/* C interface */
SCM_API SCM scm_class_boolean;
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index ff963d6..b95a45a 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -281,10 +281,59 @@ VM_DEFINE_FUNCTION (126, mod, "mod", 2)
RETURN (scm_modulo (x, y));
}
+VM_DEFINE_FUNCTION (170, ash, "ash", 2)
+{
+ ARGS2 (x, y);
+ if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
+ {
+ if (SCM_I_INUM (y) < 0)
+ RETURN (SCM_I_MAKINUM (SCM_I_INUM (x) >> -SCM_I_INUM (y)));
+ else if ((SCM_I_INUM (x) << SCM_I_INUM (y)) >> SCM_I_INUM (y)
+ == SCM_I_INUM (x))
+ RETURN (SCM_I_MAKINUM (SCM_I_INUM (x) << SCM_I_INUM (y)));
+ /* fall through */
+ }
+ SYNC_REGISTER ();
+ RETURN (scm_ash (x, y));
+}
+
+VM_DEFINE_FUNCTION (171, logand, "logand", 2)
+{
+ ARGS2 (x, y);
+ if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
+ RETURN (SCM_I_MAKINUM (SCM_I_INUM (x) & SCM_I_INUM (y)));
+ SYNC_REGISTER ();
+ RETURN (scm_logand (x, y));
+}
+
+VM_DEFINE_FUNCTION (172, logior, "logior", 2)
+{
+ ARGS2 (x, y);
+ if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
+ RETURN (SCM_I_MAKINUM (SCM_I_INUM (x) | SCM_I_INUM (y)));
+ SYNC_REGISTER ();
+ RETURN (scm_logior (x, y));
+}
+
+VM_DEFINE_FUNCTION (173, logxor, "logxor", 2)
+{
+ ARGS2 (x, y);
+ if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
+ RETURN (SCM_I_MAKINUM (SCM_I_INUM (x) ^ SCM_I_INUM (y)));
+ SYNC_REGISTER ();
+ RETURN (scm_logxor (x, y));
+}
+
/*
* GOOPS support
*/
+VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
+{
+ ARGS1 (obj);
+ RETURN (SCM_INSTANCEP (obj) ? SCM_CLASS_OF (obj) : scm_class_of (obj));
+}
+
VM_DEFINE_FUNCTION (127, slot_ref, "slot-ref", 2)
{
size_t slot;
diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm
index 138cf60..6093d55 100644
--- a/module/ice-9/optargs.scm
+++ b/module/ice-9/optargs.scm
@@ -110,7 +110,6 @@
(apply (lambda vars b0 b1 ...)
(or (parse-lambda-case '(0 n n n+1 #f '())
(list t ...)
- #f
rest-arg)
(error "sth" rest-arg)))))))))))
@@ -127,7 +126,6 @@
#'(apply (lambda vars b0 b1 ...)
(or (parse-lambda-case '(0 n n n+1 #f '())
(list (lambda vars i) ...)
- #f
rest-arg)
(error "sth" rest-arg))))))))))
@@ -165,7 +163,6 @@
(apply (lambda vars b0 b1 ...)
(or (parse-lambda-case '(0 0 #f n aok ((kw . idx) ...))
(list t ...)
- #f
rest-arg)
(error "sth" rest-arg))))))))
((_ rest-arg aok (binding ...) b0 b1 ...)
@@ -187,7 +184,6 @@
#'(apply (lambda vars b0 b1 ...)
(or (parse-lambda-case '(0 0 #f n aok ((kw . idx) ...))
(list (lambda vars i) ...)
- #f
rest-arg)
(error "sth" rest-arg)))))))
((_ rest-arg aok (binding ...) b0 b1 ...)
@@ -284,7 +280,7 @@
;;; Support for optional & keyword args with the interpreter.
(define *uninitialized* (list 'uninitialized))
-(define (parse-lambda-case spec inits predicate args)
+(define (parse-lambda-case spec inits args)
(pmatch spec
((,nreq ,nopt ,rest-idx ,nargs ,allow-other-keys? ,kw-indices)
(define (req args prev tail n)
@@ -324,12 +320,12 @@
((pair? args-tail)
#f) ;; fail
(else
- (pred slots))))
+ slots)))
(define (key slots slots-tail args-tail inits)
(cond
((null? args-tail)
(if (null? inits)
- (pred slots)
+ slots
(begin
(if (eq? (car slots-tail) *uninitialized*)
(set-car! slots-tail (apply (car inits) slots)))
@@ -350,13 +346,6 @@
allow-other-keys?)
(key slots slots-tail (cddr args-tail) inits))
(else (error "unrecognized keyword" args-tail))))
- (define (pred slots)
- (cond
- (predicate
- (if (apply predicate slots)
- slots
- #f))
- (else slots)))
(let ((args (list-copy args)))
(req args #f args nreq)))
(else (error "unexpected spec" spec))))
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 1dc6469..4761e76 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,715 +1,606 @@
(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
-(letrec ((#{and-map*\ 31}#
- (lambda (#{f\ 69}# #{first\ 70}# . #{rest\ 71}#)
- (let ((#{t\ 72}# (null? #{first\ 70}#)))
- (if #{t\ 72}#
- #{t\ 72}#
- (if (null? #{rest\ 71}#)
- (letrec ((#{andmap\ 73}#
- (lambda (#{first\ 74}#)
- (let ((#{x\ 75}# (car #{first\ 74}#))
- (#{first\ 76}# (cdr #{first\ 74}#)))
- (if (null? #{first\ 76}#)
- (#{f\ 69}# #{x\ 75}#)
- (if (#{f\ 69}# #{x\ 75}#)
- (#{andmap\ 73}# #{first\ 76}#)
+(letrec ((#{and-map*\ 680}#
+ (lambda (#{f\ 718}# #{first\ 719}# . #{rest\ 720}#)
+ (let ((#{t\ 721}# (null? #{first\ 719}#)))
+ (if #{t\ 721}#
+ #{t\ 721}#
+ (if (null? #{rest\ 720}#)
+ (letrec ((#{andmap\ 722}#
+ (lambda (#{first\ 723}#)
+ (let ((#{x\ 724}# (car #{first\ 723}#))
+ (#{first\ 725}# (cdr #{first\ 723}#)))
+ (if (null? #{first\ 725}#)
+ (#{f\ 718}# #{x\ 724}#)
+ (if (#{f\ 718}# #{x\ 724}#)
+ (#{andmap\ 722}# #{first\ 725}#)
#f))))))
- (#{andmap\ 73}# #{first\ 70}#))
- (letrec ((#{andmap\ 77}#
- (lambda (#{first\ 78}# #{rest\ 79}#)
- (let ((#{x\ 80}# (car #{first\ 78}#))
- (#{xr\ 81}# (map car #{rest\ 79}#))
- (#{first\ 82}# (cdr #{first\ 78}#))
- (#{rest\ 83}# (map cdr #{rest\ 79}#)))
- (if (null? #{first\ 82}#)
- (apply #{f\ 69}#
- (cons #{x\ 80}# #{xr\ 81}#))
- (if (apply #{f\ 69}#
- (cons #{x\ 80}# #{xr\ 81}#))
- (#{andmap\ 77}#
- #{first\ 82}#
- #{rest\ 83}#)
+ (#{andmap\ 722}# #{first\ 719}#))
+ (letrec ((#{andmap\ 726}#
+ (lambda (#{first\ 727}# #{rest\ 728}#)
+ (let ((#{x\ 729}# (car #{first\ 727}#))
+ (#{xr\ 730}# (map car #{rest\ 728}#))
+ (#{first\ 731}# (cdr #{first\ 727}#))
+ (#{rest\ 732}# (map cdr #{rest\ 728}#)))
+ (if (null? #{first\ 731}#)
+ (apply #{f\ 718}#
+ (cons #{x\ 729}# #{xr\ 730}#))
+ (if (apply #{f\ 718}#
+ (cons #{x\ 729}# #{xr\ 730}#))
+ (#{andmap\ 726}#
+ #{first\ 731}#
+ #{rest\ 732}#)
#f))))))
- (#{andmap\ 77}# #{first\ 70}# #{rest\ 71}#))))))))
- (letrec ((#{lambda-var-list\ 182}#
- (lambda (#{vars\ 306}#)
- (letrec ((#{lvl\ 307}#
- (lambda (#{vars\ 308}# #{ls\ 309}# #{w\ 310}#)
- (if (pair? #{vars\ 308}#)
- (#{lvl\ 307}#
- (cdr #{vars\ 308}#)
- (cons (#{wrap\ 159}#
- (car #{vars\ 308}#)
- #{w\ 310}#
+ (#{andmap\ 726}# #{first\ 719}# #{rest\ 720}#))))))))
+ (letrec ((#{lambda-var-list\ 831}#
+ (lambda (#{vars\ 955}#)
+ (letrec ((#{lvl\ 956}#
+ (lambda (#{vars\ 957}# #{ls\ 958}# #{w\ 959}#)
+ (if (pair? #{vars\ 957}#)
+ (#{lvl\ 956}#
+ (cdr #{vars\ 957}#)
+ (cons (#{wrap\ 808}#
+ (car #{vars\ 957}#)
+ #{w\ 959}#
#f)
- #{ls\ 309}#)
- #{w\ 310}#)
- (if (#{id?\ 131}# #{vars\ 308}#)
- (cons (#{wrap\ 159}#
- #{vars\ 308}#
- #{w\ 310}#
+ #{ls\ 958}#)
+ #{w\ 959}#)
+ (if (#{id?\ 780}# #{vars\ 957}#)
+ (cons (#{wrap\ 808}#
+ #{vars\ 957}#
+ #{w\ 959}#
#f)
- #{ls\ 309}#)
- (if (null? #{vars\ 308}#)
- #{ls\ 309}#
- (if (#{syntax-object?\ 115}# #{vars\ 308}#)
- (#{lvl\ 307}#
- (#{syntax-object-expression\ 116}#
- #{vars\ 308}#)
- #{ls\ 309}#
- (#{join-wraps\ 150}#
- #{w\ 310}#
- (#{syntax-object-wrap\ 117}#
- #{vars\ 308}#)))
- (cons #{vars\ 308}# #{ls\ 309}#))))))))
- (#{lvl\ 307}#
- #{vars\ 306}#
+ #{ls\ 958}#)
+ (if (null? #{vars\ 957}#)
+ #{ls\ 958}#
+ (if (#{syntax-object?\ 764}# #{vars\ 957}#)
+ (#{lvl\ 956}#
+ (#{syntax-object-expression\ 765}#
+ #{vars\ 957}#)
+ #{ls\ 958}#
+ (#{join-wraps\ 799}#
+ #{w\ 959}#
+ (#{syntax-object-wrap\ 766}#
+ #{vars\ 957}#)))
+ (cons #{vars\ 957}# #{ls\ 958}#))))))))
+ (#{lvl\ 956}#
+ #{vars\ 955}#
'()
'(())))))
- (#{gen-var\ 181}#
- (lambda (#{id\ 311}#)
- (let ((#{id\ 312}#
- (if (#{syntax-object?\ 115}# #{id\ 311}#)
- (#{syntax-object-expression\ 116}# #{id\ 311}#)
- #{id\ 311}#)))
+ (#{gen-var\ 830}#
+ (lambda (#{id\ 960}#)
+ (let ((#{id\ 961}#
+ (if (#{syntax-object?\ 764}# #{id\ 960}#)
+ (#{syntax-object-expression\ 765}# #{id\ 960}#)
+ #{id\ 960}#)))
(gensym
- (string-append (symbol->string #{id\ 312}#) " ")))))
- (#{strip\ 180}#
- (lambda (#{x\ 313}# #{w\ 314}#)
+ (string-append (symbol->string #{id\ 961}#) " ")))))
+ (#{strip\ 829}#
+ (lambda (#{x\ 962}# #{w\ 963}#)
(if (memq 'top
- (#{wrap-marks\ 134}# #{w\ 314}#))
- #{x\ 313}#
- (letrec ((#{f\ 315}# (lambda (#{x\ 316}#)
- (if (#{syntax-object?\ 115}#
- #{x\ 316}#)
- (#{strip\ 180}#
- (#{syntax-object-expression\ 116}#
- #{x\ 316}#)
- (#{syntax-object-wrap\ 117}#
- #{x\ 316}#))
- (if (pair? #{x\ 316}#)
- (let ((#{a\ 317}# (#{f\ 315}# (car
#{x\ 316}#)))
- (#{d\ 318}# (#{f\ 315}# (cdr
#{x\ 316}#))))
- (if (if (eq? #{a\ 317}#
- (car #{x\ 316}#))
- (eq? #{d\ 318}#
- (cdr #{x\ 316}#))
+ (#{wrap-marks\ 783}# #{w\ 963}#))
+ #{x\ 962}#
+ (letrec ((#{f\ 964}# (lambda (#{x\ 965}#)
+ (if (#{syntax-object?\ 764}#
+ #{x\ 965}#)
+ (#{strip\ 829}#
+ (#{syntax-object-expression\ 765}#
+ #{x\ 965}#)
+ (#{syntax-object-wrap\ 766}#
+ #{x\ 965}#))
+ (if (pair? #{x\ 965}#)
+ (let ((#{a\ 966}# (#{f\ 964}# (car
#{x\ 965}#)))
+ (#{d\ 967}# (#{f\ 964}# (cdr
#{x\ 965}#))))
+ (if (if (eq? #{a\ 966}#
+ (car #{x\ 965}#))
+ (eq? #{d\ 967}#
+ (cdr #{x\ 965}#))
#f)
- #{x\ 316}#
- (cons #{a\ 317}# #{d\ 318}#)))
- (if (vector? #{x\ 316}#)
- (let ((#{old\ 319}#
+ #{x\ 965}#
+ (cons #{a\ 966}# #{d\ 967}#)))
+ (if (vector? #{x\ 965}#)
+ (let ((#{old\ 968}#
(vector->list
- #{x\ 316}#)))
- (let ((#{new\ 320}#
- (map #{f\ 315}#
- #{old\ 319}#)))
- (if (#{and-map*\ 31}#
+ #{x\ 965}#)))
+ (let ((#{new\ 969}#
+ (map #{f\ 964}#
+ #{old\ 968}#)))
+ (if (#{and-map*\ 680}#
eq?
- #{old\ 319}#
- #{new\ 320}#)
- #{x\ 316}#
+ #{old\ 968}#
+ #{new\ 969}#)
+ #{x\ 965}#
(list->vector
- #{new\ 320}#))))
- #{x\ 316}#))))))
- (#{f\ 315}# #{x\ 313}#)))))
- (#{chi-lambda-case\ 179}#
- (lambda (#{e\ 321}#
- #{r\ 322}#
- #{w\ 323}#
- #{s\ 324}#
- #{mod\ 325}#
- #{get-formals\ 326}#
- #{clauses\ 327}#)
- (letrec ((#{expand-body\ 332}#
- (lambda (#{req\ 333}#
- #{opt\ 334}#
- #{rest\ 335}#
- #{kw\ 336}#
- #{pred\ 337}#
- #{body\ 338}#
- #{vars\ 339}#
- #{r*\ 340}#
- #{w*\ 341}#
- #{inits\ 342}#)
- ((lambda (#{tmp\ 343}#)
- ((lambda (#{tmp\ 344}#)
- (if (if #{tmp\ 344}#
- (apply (lambda (#{docstring\ 345}#
- #{e1\ 346}#
- #{e2\ 347}#)
+ #{new\ 969}#))))
+ #{x\ 965}#))))))
+ (#{f\ 964}# #{x\ 962}#)))))
+ (#{chi-lambda-case\ 828}#
+ (lambda (#{e\ 970}#
+ #{r\ 971}#
+ #{w\ 972}#
+ #{s\ 973}#
+ #{mod\ 974}#
+ #{get-formals\ 975}#
+ #{clauses\ 976}#)
+ (letrec ((#{expand-body\ 980}#
+ (lambda (#{req\ 981}#
+ #{opt\ 982}#
+ #{rest\ 983}#
+ #{kw\ 984}#
+ #{body\ 985}#
+ #{vars\ 986}#
+ #{r*\ 987}#
+ #{w*\ 988}#
+ #{inits\ 989}#)
+ ((lambda (#{tmp\ 990}#)
+ ((lambda (#{tmp\ 991}#)
+ (if (if #{tmp\ 991}#
+ (apply (lambda (#{docstring\ 992}#
+ #{e1\ 993}#
+ #{e2\ 994}#)
(string?
(syntax->datum
- #{docstring\ 345}#)))
- #{tmp\ 344}#)
+ #{docstring\ 992}#)))
+ #{tmp\ 991}#)
#f)
- (apply (lambda (#{docstring\ 348}#
- #{e1\ 349}#
- #{e2\ 350}#)
+ (apply (lambda (#{docstring\ 995}#
+ #{e1\ 996}#
+ #{e2\ 997}#)
(values
(syntax->datum
- #{docstring\ 348}#)
- #{req\ 333}#
- #{opt\ 334}#
- #{rest\ 335}#
- #{kw\ 336}#
- #{inits\ 342}#
- #{vars\ 339}#
- #{pred\ 337}#
- (#{chi-body\ 171}#
- (cons #{e1\ 349}# #{e2\ 350}#)
- (#{source-wrap\ 160}#
- #{e\ 321}#
- #{w\ 323}#
- #{s\ 324}#
- #{mod\ 325}#)
- #{r*\ 340}#
- #{w*\ 341}#
- #{mod\ 325}#)))
- #{tmp\ 344}#)
- ((lambda (#{tmp\ 352}#)
- (if #{tmp\ 352}#
- (apply (lambda (#{e1\ 353}#
- #{e2\ 354}#)
+ #{docstring\ 995}#)
+ #{req\ 981}#
+ #{opt\ 982}#
+ #{rest\ 983}#
+ #{kw\ 984}#
+ #{inits\ 989}#
+ #{vars\ 986}#
+ (#{chi-body\ 820}#
+ (cons #{e1\ 996}# #{e2\ 997}#)
+ (#{source-wrap\ 809}#
+ #{e\ 970}#
+ #{w\ 972}#
+ #{s\ 973}#
+ #{mod\ 974}#)
+ #{r*\ 987}#
+ #{w*\ 988}#
+ #{mod\ 974}#)))
+ #{tmp\ 991}#)
+ ((lambda (#{tmp\ 999}#)
+ (if #{tmp\ 999}#
+ (apply (lambda (#{e1\ 1000}#
+ #{e2\ 1001}#)
(values
#f
- #{req\ 333}#
- #{opt\ 334}#
- #{rest\ 335}#
- #{kw\ 336}#
- #{inits\ 342}#
- #{vars\ 339}#
- #{pred\ 337}#
- (#{chi-body\ 171}#
- (cons #{e1\ 353}#
- #{e2\ 354}#)
- (#{source-wrap\ 160}#
- #{e\ 321}#
- #{w\ 323}#
- #{s\ 324}#
- #{mod\ 325}#)
- #{r*\ 340}#
- #{w*\ 341}#
- #{mod\ 325}#)))
- #{tmp\ 352}#)
+ #{req\ 981}#
+ #{opt\ 982}#
+ #{rest\ 983}#
+ #{kw\ 984}#
+ #{inits\ 989}#
+ #{vars\ 986}#
+ (#{chi-body\ 820}#
+ (cons #{e1\ 1000}#
+ #{e2\ 1001}#)
+ (#{source-wrap\ 809}#
+ #{e\ 970}#
+ #{w\ 972}#
+ #{s\ 973}#
+ #{mod\ 974}#)
+ #{r*\ 987}#
+ #{w*\ 988}#
+ #{mod\ 974}#)))
+ #{tmp\ 999}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 343}#)))
+ #{tmp\ 990}#)))
($sc-dispatch
- #{tmp\ 343}#
+ #{tmp\ 990}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 343}#
+ #{tmp\ 990}#
'(any any . each-any))))
- #{body\ 338}#)))
- (#{expand-pred\ 331}#
- (lambda (#{req\ 356}#
- #{opt\ 357}#
- #{rest\ 358}#
- #{kw\ 359}#
- #{pred\ 360}#
- #{body\ 361}#
- #{vars\ 362}#
- #{r*\ 363}#
- #{w*\ 364}#
- #{inits\ 365}#)
- (#{expand-body\ 332}#
- #{req\ 356}#
- #{opt\ 357}#
- #{rest\ 358}#
- #{kw\ 359}#
- (if #{pred\ 360}#
- (#{chi\ 167}#
- #{pred\ 360}#
- #{r*\ 363}#
- #{w*\ 364}#
- #{mod\ 325}#)
- #f)
- #{body\ 361}#
- #{vars\ 362}#
- #{r*\ 363}#
- #{w*\ 364}#
- #{inits\ 365}#)))
- (#{expand-kw\ 330}#
- (lambda (#{req\ 366}#
- #{opt\ 367}#
- #{rest\ 368}#
- #{kw\ 369}#
- #{pred\ 370}#
- #{body\ 371}#
- #{vars\ 372}#
- #{r*\ 373}#
- #{w*\ 374}#
- #{aok\ 375}#
- #{out\ 376}#
- #{inits\ 377}#)
- (if (pair? #{kw\ 369}#)
- ((lambda (#{tmp\ 378}#)
- ((lambda (#{tmp\ 379}#)
- (if #{tmp\ 379}#
- (apply (lambda (#{k\ 380}#
- #{id\ 381}#
- #{i\ 382}#)
- (let ((#{v\ 383}# (#{gen-var\
181}#
- #{id\
381}#)))
- (let ((#{l\ 384}#
(#{gen-labels\ 137}#
- (list
#{v\ 383}#))))
- (let ((#{r**\ 385}#
- (#{extend-var-env\
126}#
- #{l\ 384}#
- (list #{v\ 383}#)
- #{r*\ 373}#)))
- (let ((#{w**\ 386}#
-
(#{make-binding-wrap\ 148}#
- (list #{id\
381}#)
- #{l\ 384}#
- #{w*\ 374}#)))
- (#{expand-kw\ 330}#
- #{req\ 366}#
- #{opt\ 367}#
- #{rest\ 368}#
- (cdr #{kw\ 369}#)
- #{pred\ 370}#
- #{body\ 371}#
- (cons #{v\ 383}#
- #{vars\ 372}#)
- #{r**\ 385}#
- #{w**\ 386}#
- #{aok\ 375}#
+ #{body\ 985}#)))
+ (#{expand-kw\ 979}#
+ (lambda (#{req\ 1003}#
+ #{opt\ 1004}#
+ #{rest\ 1005}#
+ #{kw\ 1006}#
+ #{body\ 1007}#
+ #{vars\ 1008}#
+ #{r*\ 1009}#
+ #{w*\ 1010}#
+ #{aok\ 1011}#
+ #{out\ 1012}#
+ #{inits\ 1013}#)
+ (if (pair? #{kw\ 1006}#)
+ ((lambda (#{tmp\ 1014}#)
+ ((lambda (#{tmp\ 1015}#)
+ (if #{tmp\ 1015}#
+ (apply (lambda (#{k\ 1016}#
+ #{id\ 1017}#
+ #{i\ 1018}#)
+ (let ((#{v\ 1019}#
+ (#{gen-var\ 830}#
+ #{id\ 1017}#)))
+ (let ((#{l\ 1020}#
+ (#{gen-labels\ 786}#
+ (list #{v\
1019}#))))
+ (let ((#{r**\ 1021}#
+ (#{extend-var-env\
775}#
+ #{l\ 1020}#
+ (list #{v\ 1019}#)
+ #{r*\ 1009}#)))
+ (let ((#{w**\ 1022}#
+
(#{make-binding-wrap\ 797}#
+ (list #{id\
1017}#)
+ #{l\ 1020}#
+ #{w*\ 1010}#)))
+ (#{expand-kw\ 979}#
+ #{req\ 1003}#
+ #{opt\ 1004}#
+ #{rest\ 1005}#
+ (cdr #{kw\ 1006}#)
+ #{body\ 1007}#
+ (cons #{v\ 1019}#
+ #{vars\ 1008}#)
+ #{r**\ 1021}#
+ #{w**\ 1022}#
+ #{aok\ 1011}#
(cons (list
(syntax->datum
- #{k\
380}#)
+ #{k\
1016}#)
(syntax->datum
- #{id\
381}#)
- #{v\
383}#)
- #{out\ 376}#)
- (cons (#{chi\ 167}#
- #{i\ 382}#
- #{r*\ 373}#
- #{w*\ 374}#
- #{mod\ 325}#)
- #{inits\
377}#)))))))
- #{tmp\ 379}#)
+ #{id\
1017}#)
+ #{v\
1019}#)
+ #{out\ 1012}#)
+ (cons (#{chi\ 816}#
+ #{i\ 1018}#
+ #{r*\ 1009}#
+ #{w*\ 1010}#
+ #{mod\ 974}#)
+ #{inits\
1013}#)))))))
+ #{tmp\ 1015}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 378}#)))
+ #{tmp\ 1014}#)))
($sc-dispatch
- #{tmp\ 378}#
+ #{tmp\ 1014}#
'(any any any))))
- (car #{kw\ 369}#))
- (#{expand-pred\ 331}#
- #{req\ 366}#
- #{opt\ 367}#
- #{rest\ 368}#
- (if (let ((#{t\ 387}# #{aok\ 375}#))
- (if #{t\ 387}#
- #{t\ 387}#
- (pair? #{out\ 376}#)))
- (cons #{aok\ 375}# (reverse #{out\ 376}#))
+ (car #{kw\ 1006}#))
+ (#{expand-body\ 980}#
+ #{req\ 1003}#
+ #{opt\ 1004}#
+ #{rest\ 1005}#
+ (if (let ((#{t\ 1023}# #{aok\ 1011}#))
+ (if #{t\ 1023}#
+ #{t\ 1023}#
+ (pair? #{out\ 1012}#)))
+ (cons #{aok\ 1011}# (reverse #{out\ 1012}#))
#f)
- #{pred\ 370}#
- #{body\ 371}#
- (reverse #{vars\ 372}#)
- #{r*\ 373}#
- #{w*\ 374}#
- (reverse #{inits\ 377}#)))))
- (#{expand-opt\ 329}#
- (lambda (#{req\ 388}#
- #{opt\ 389}#
- #{rest\ 390}#
- #{kw\ 391}#
- #{pred\ 392}#
- #{body\ 393}#
- #{vars\ 394}#
- #{r*\ 395}#
- #{w*\ 396}#
- #{out\ 397}#
- #{inits\ 398}#)
- (if (pair? #{opt\ 389}#)
- ((lambda (#{tmp\ 399}#)
- ((lambda (#{tmp\ 400}#)
- (if #{tmp\ 400}#
- (apply (lambda (#{id\ 401}# #{i\ 402}#)
- (let ((#{v\ 403}# (#{gen-var\
181}#
- #{id\
401}#)))
- (let ((#{l\ 404}#
(#{gen-labels\ 137}#
- (list
#{v\ 403}#))))
- (let ((#{r**\ 405}#
- (#{extend-var-env\
126}#
- #{l\ 404}#
- (list #{v\ 403}#)
- #{r*\ 395}#)))
- (let ((#{w**\ 406}#
-
(#{make-binding-wrap\ 148}#
- (list #{id\
401}#)
- #{l\ 404}#
- #{w*\ 396}#)))
- (#{expand-opt\ 329}#
- #{req\ 388}#
- (cdr #{opt\ 389}#)
- #{rest\ 390}#
- #{kw\ 391}#
- #{pred\ 392}#
- #{body\ 393}#
- (cons #{v\ 403}#
- #{vars\ 394}#)
- #{r**\ 405}#
- #{w**\ 406}#
+ #{body\ 1007}#
+ (reverse #{vars\ 1008}#)
+ #{r*\ 1009}#
+ #{w*\ 1010}#
+ (reverse #{inits\ 1013}#)))))
+ (#{expand-opt\ 978}#
+ (lambda (#{req\ 1024}#
+ #{opt\ 1025}#
+ #{rest\ 1026}#
+ #{kw\ 1027}#
+ #{body\ 1028}#
+ #{vars\ 1029}#
+ #{r*\ 1030}#
+ #{w*\ 1031}#
+ #{out\ 1032}#
+ #{inits\ 1033}#)
+ (if (pair? #{opt\ 1025}#)
+ ((lambda (#{tmp\ 1034}#)
+ ((lambda (#{tmp\ 1035}#)
+ (if #{tmp\ 1035}#
+ (apply (lambda (#{id\ 1036}# #{i\ 1037}#)
+ (let ((#{v\ 1038}#
+ (#{gen-var\ 830}#
+ #{id\ 1036}#)))
+ (let ((#{l\ 1039}#
+ (#{gen-labels\ 786}#
+ (list #{v\
1038}#))))
+ (let ((#{r**\ 1040}#
+ (#{extend-var-env\
775}#
+ #{l\ 1039}#
+ (list #{v\ 1038}#)
+ #{r*\ 1030}#)))
+ (let ((#{w**\ 1041}#
+
(#{make-binding-wrap\ 797}#
+ (list #{id\
1036}#)
+ #{l\ 1039}#
+ #{w*\ 1031}#)))
+ (#{expand-opt\ 978}#
+ #{req\ 1024}#
+ (cdr #{opt\ 1025}#)
+ #{rest\ 1026}#
+ #{kw\ 1027}#
+ #{body\ 1028}#
+ (cons #{v\ 1038}#
+ #{vars\ 1029}#)
+ #{r**\ 1040}#
+ #{w**\ 1041}#
(cons (syntax->datum
- #{id\ 401}#)
- #{out\ 397}#)
- (cons (#{chi\ 167}#
- #{i\ 402}#
- #{r*\ 395}#
- #{w*\ 396}#
- #{mod\ 325}#)
- #{inits\
398}#)))))))
- #{tmp\ 400}#)
+ #{id\ 1036}#)
+ #{out\ 1032}#)
+ (cons (#{chi\ 816}#
+ #{i\ 1037}#
+ #{r*\ 1030}#
+ #{w*\ 1031}#
+ #{mod\ 974}#)
+ #{inits\
1033}#)))))))
+ #{tmp\ 1035}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 399}#)))
+ #{tmp\ 1034}#)))
($sc-dispatch
- #{tmp\ 399}#
+ #{tmp\ 1034}#
'(any any))))
- (car #{opt\ 389}#))
- (if #{rest\ 390}#
- (let ((#{v\ 407}# (#{gen-var\ 181}#
- #{rest\ 390}#)))
- (let ((#{l\ 408}# (#{gen-labels\ 137}#
- (list #{v\ 407}#))))
- (let ((#{r*\ 409}#
- (#{extend-var-env\ 126}#
- #{l\ 408}#
- (list #{v\ 407}#)
- #{r*\ 395}#)))
- (let ((#{w*\ 410}#
- (#{make-binding-wrap\ 148}#
- (list #{rest\ 390}#)
- #{l\ 408}#
- #{w*\ 396}#)))
- (#{expand-kw\ 330}#
- #{req\ 388}#
- (if (pair? #{out\ 397}#)
- (reverse #{out\ 397}#)
+ (car #{opt\ 1025}#))
+ (if #{rest\ 1026}#
+ (let ((#{v\ 1042}#
+ (#{gen-var\ 830}# #{rest\ 1026}#)))
+ (let ((#{l\ 1043}#
+ (#{gen-labels\ 786}#
+ (list #{v\ 1042}#))))
+ (let ((#{r*\ 1044}#
+ (#{extend-var-env\ 775}#
+ #{l\ 1043}#
+ (list #{v\ 1042}#)
+ #{r*\ 1030}#)))
+ (let ((#{w*\ 1045}#
+ (#{make-binding-wrap\ 797}#
+ (list #{rest\ 1026}#)
+ #{l\ 1043}#
+ #{w*\ 1031}#)))
+ (#{expand-kw\ 979}#
+ #{req\ 1024}#
+ (if (pair? #{out\ 1032}#)
+ (reverse #{out\ 1032}#)
#f)
- (syntax->datum #{rest\ 390}#)
- (if (pair? #{kw\ 391}#)
- (cdr #{kw\ 391}#)
- #{kw\ 391}#)
- #{pred\ 392}#
- #{body\ 393}#
- (cons #{v\ 407}# #{vars\ 394}#)
- #{r*\ 409}#
- #{w*\ 410}#
- (if (pair? #{kw\ 391}#)
- (car #{kw\ 391}#)
+ (syntax->datum #{rest\ 1026}#)
+ (if (pair? #{kw\ 1027}#)
+ (cdr #{kw\ 1027}#)
+ #{kw\ 1027}#)
+ #{body\ 1028}#
+ (cons #{v\ 1042}# #{vars\ 1029}#)
+ #{r*\ 1044}#
+ #{w*\ 1045}#
+ (if (pair? #{kw\ 1027}#)
+ (car #{kw\ 1027}#)
#f)
'()
- #{inits\ 398}#)))))
- (#{expand-kw\ 330}#
- #{req\ 388}#
- (if (pair? #{out\ 397}#)
- (reverse #{out\ 397}#)
+ #{inits\ 1033}#)))))
+ (#{expand-kw\ 979}#
+ #{req\ 1024}#
+ (if (pair? #{out\ 1032}#)
+ (reverse #{out\ 1032}#)
#f)
#f
- (if (pair? #{kw\ 391}#)
- (cdr #{kw\ 391}#)
- #{kw\ 391}#)
- #{pred\ 392}#
- #{body\ 393}#
- #{vars\ 394}#
- #{r*\ 395}#
- #{w*\ 396}#
- (if (pair? #{kw\ 391}#) (car #{kw\ 391}#) #f)
+ (if (pair? #{kw\ 1027}#)
+ (cdr #{kw\ 1027}#)
+ #{kw\ 1027}#)
+ #{body\ 1028}#
+ #{vars\ 1029}#
+ #{r*\ 1030}#
+ #{w*\ 1031}#
+ (if (pair? #{kw\ 1027}#)
+ (car #{kw\ 1027}#)
+ #f)
'()
- #{inits\ 398}#)))))
- (#{expand-req\ 328}#
- (lambda (#{req\ 411}#
- #{opt\ 412}#
- #{rest\ 413}#
- #{kw\ 414}#
- #{pred\ 415}#
- #{body\ 416}#)
- (let ((#{vars\ 417}#
- (map #{gen-var\ 181}# #{req\ 411}#))
- (#{labels\ 418}#
- (#{gen-labels\ 137}# #{req\ 411}#)))
- (let ((#{r*\ 419}#
- (#{extend-var-env\ 126}#
- #{labels\ 418}#
- #{vars\ 417}#
- #{r\ 322}#))
- (#{w*\ 420}#
- (#{make-binding-wrap\ 148}#
- #{req\ 411}#
- #{labels\ 418}#
- #{w\ 323}#)))
- (#{expand-opt\ 329}#
- (map syntax->datum #{req\ 411}#)
- #{opt\ 412}#
- #{rest\ 413}#
- #{kw\ 414}#
- #{pred\ 415}#
- #{body\ 416}#
- (reverse #{vars\ 417}#)
- #{r*\ 419}#
- #{w*\ 420}#
+ #{inits\ 1033}#)))))
+ (#{expand-req\ 977}#
+ (lambda (#{req\ 1046}#
+ #{opt\ 1047}#
+ #{rest\ 1048}#
+ #{kw\ 1049}#
+ #{body\ 1050}#)
+ (let ((#{vars\ 1051}#
+ (map #{gen-var\ 830}# #{req\ 1046}#))
+ (#{labels\ 1052}#
+ (#{gen-labels\ 786}# #{req\ 1046}#)))
+ (let ((#{r*\ 1053}#
+ (#{extend-var-env\ 775}#
+ #{labels\ 1052}#
+ #{vars\ 1051}#
+ #{r\ 971}#))
+ (#{w*\ 1054}#
+ (#{make-binding-wrap\ 797}#
+ #{req\ 1046}#
+ #{labels\ 1052}#
+ #{w\ 972}#)))
+ (#{expand-opt\ 978}#
+ (map syntax->datum #{req\ 1046}#)
+ #{opt\ 1047}#
+ #{rest\ 1048}#
+ #{kw\ 1049}#
+ #{body\ 1050}#
+ (reverse #{vars\ 1051}#)
+ #{r*\ 1053}#
+ #{w*\ 1054}#
'()
'()))))))
- ((lambda (#{tmp\ 421}#)
- ((lambda (#{tmp\ 422}#)
- (if #{tmp\ 422}#
- (apply (lambda () (values #f #f)) #{tmp\ 422}#)
- ((lambda (#{tmp\ 423}#)
- (if #{tmp\ 423}#
- (apply (lambda (#{args\ 424}#
- #{e1\ 425}#
- #{e2\ 426}#
- #{args*\ 427}#
- #{e1*\ 428}#
- #{e2*\ 429}#)
+ ((lambda (#{tmp\ 1055}#)
+ ((lambda (#{tmp\ 1056}#)
+ (if #{tmp\ 1056}#
+ (apply (lambda () (values #f #f)) #{tmp\ 1056}#)
+ ((lambda (#{tmp\ 1057}#)
+ (if #{tmp\ 1057}#
+ (apply (lambda (#{args\ 1058}#
+ #{e1\ 1059}#
+ #{e2\ 1060}#
+ #{args*\ 1061}#
+ #{e1*\ 1062}#
+ #{e2*\ 1063}#)
(call-with-values
(lambda ()
- (#{get-formals\ 326}#
- #{args\ 424}#))
- (lambda (#{req\ 430}#
- #{opt\ 431}#
- #{rest\ 432}#
- #{kw\ 433}#
- #{pred\ 434}#)
+ (#{get-formals\ 975}#
+ #{args\ 1058}#))
+ (lambda (#{req\ 1064}#
+ #{opt\ 1065}#
+ #{rest\ 1066}#
+ #{kw\ 1067}#)
(call-with-values
(lambda ()
- (#{expand-req\ 328}#
- #{req\ 430}#
- #{opt\ 431}#
- #{rest\ 432}#
- #{kw\ 433}#
- #{pred\ 434}#
- (cons #{e1\ 425}#
- #{e2\ 426}#)))
- (lambda (#{docstring\ 436}#
- #{req\ 437}#
- #{opt\ 438}#
- #{rest\ 439}#
- #{kw\ 440}#
- #{inits\ 441}#
- #{vars\ 442}#
- #{pred\ 443}#
- #{body\ 444}#)
+ (#{expand-req\ 977}#
+ #{req\ 1064}#
+ #{opt\ 1065}#
+ #{rest\ 1066}#
+ #{kw\ 1067}#
+ (cons #{e1\ 1059}#
+ #{e2\ 1060}#)))
+ (lambda (#{docstring\ 1069}#
+ #{req\ 1070}#
+ #{opt\ 1071}#
+ #{rest\ 1072}#
+ #{kw\ 1073}#
+ #{inits\ 1074}#
+ #{vars\ 1075}#
+ #{body\ 1076}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 179}#
- #{e\ 321}#
- #{r\ 322}#
- #{w\ 323}#
- #{s\ 324}#
- #{mod\ 325}#
- #{get-formals\ 326}#
- (map (lambda (#{tmp\ 447}#
- #{tmp\ 446}#
- #{tmp\
445}#)
- (cons #{tmp\ 445}#
- (cons #{tmp\
446}#
- #{tmp\
447}#)))
- #{e2*\ 429}#
- #{e1*\ 428}#
- #{args*\ 427}#)))
- (lambda (#{docstring*\ 449}#
- #{else*\ 450}#)
+ (#{chi-lambda-case\ 828}#
+ #{e\ 970}#
+ #{r\ 971}#
+ #{w\ 972}#
+ #{s\ 973}#
+ #{mod\ 974}#
+ #{get-formals\ 975}#
+ (map (lambda (#{tmp\
1079}#
+ #{tmp\
1078}#
+ #{tmp\
1077}#)
+ (cons #{tmp\ 1077}#
+ (cons #{tmp\
1078}#
+ #{tmp\
1079}#)))
+ #{e2*\ 1063}#
+ #{e1*\ 1062}#
+ #{args*\ 1061}#)))
+ (lambda (#{docstring*\ 1081}#
+ #{else*\ 1082}#)
(values
- (let ((#{t\ 451}#
#{docstring\ 436}#))
- (if #{t\ 451}#
- #{t\ 451}#
- #{docstring*\ 449}#))
- (#{build-lambda-case\
107}#
- #{s\ 324}#
- #{req\ 437}#
- #{opt\ 438}#
- #{rest\ 439}#
- #{kw\ 440}#
- #{inits\ 441}#
- #{vars\ 442}#
- #{pred\ 443}#
- #{body\ 444}#
- #{else*\ 450}#)))))))))
- #{tmp\ 423}#)
+ (let ((#{t\ 1083}#
+ #{docstring\
1069}#))
+ (if #{t\ 1083}#
+ #{t\ 1083}#
+ #{docstring*\ 1081}#))
+ (#{build-lambda-case\
756}#
+ #{s\ 973}#
+ #{req\ 1070}#
+ #{opt\ 1071}#
+ #{rest\ 1072}#
+ #{kw\ 1073}#
+ #{inits\ 1074}#
+ #{vars\ 1075}#
+ #{body\ 1076}#
+ #{else*\ 1082}#)))))))))
+ #{tmp\ 1057}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 421}#)))
+ #{tmp\ 1055}#)))
($sc-dispatch
- #{tmp\ 421}#
+ #{tmp\ 1055}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
- ($sc-dispatch #{tmp\ 421}# (quote ()))))
- #{clauses\ 327}#))))
- (#{lambda*-formals\ 178}#
- (lambda (#{orig-args\ 452}#)
- (letrec ((#{check\ 458}#
- (lambda (#{req\ 459}#
- #{opt\ 460}#
- #{rest\ 461}#
- #{kw\ 462}#
- #{pred\ 463}#)
- (if (#{distinct-bound-ids?\ 157}#
+ ($sc-dispatch #{tmp\ 1055}# (quote ()))))
+ #{clauses\ 976}#))))
+ (#{lambda*-formals\ 827}#
+ (lambda (#{orig-args\ 1084}#)
+ (letrec ((#{check\ 1089}#
+ (lambda (#{req\ 1090}#
+ #{opt\ 1091}#
+ #{rest\ 1092}#
+ #{kw\ 1093}#)
+ (if (#{distinct-bound-ids?\ 806}#
(append
- #{req\ 459}#
- (map car #{opt\ 460}#)
- (if #{rest\ 461}#
- (list #{rest\ 461}#)
+ #{req\ 1090}#
+ (map car #{opt\ 1091}#)
+ (if #{rest\ 1092}#
+ (list #{rest\ 1092}#)
'())
- (if (pair? #{kw\ 462}#)
- (map cadr (cdr #{kw\ 462}#))
+ (if (pair? #{kw\ 1093}#)
+ (map cadr (cdr #{kw\ 1093}#))
'())))
(values
- #{req\ 459}#
- #{opt\ 460}#
- #{rest\ 461}#
- #{kw\ 462}#
- #{pred\ 463}#)
+ #{req\ 1090}#
+ #{opt\ 1091}#
+ #{rest\ 1092}#
+ #{kw\ 1093}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
- #{orig-args\ 452}#))))
- (#{rest\ 457}#
- (lambda (#{args\ 464}#
- #{req\ 465}#
- #{opt\ 466}#
- #{kw\ 467}#
- #{pred\ 468}#)
- ((lambda (#{tmp\ 469}#)
- ((lambda (#{tmp\ 470}#)
- (if (if #{tmp\ 470}#
- (apply (lambda (#{r\ 471}#)
- (#{id?\ 131}# #{r\ 471}#))
- #{tmp\ 470}#)
+ #{orig-args\ 1084}#))))
+ (#{rest\ 1088}#
+ (lambda (#{args\ 1094}#
+ #{req\ 1095}#
+ #{opt\ 1096}#
+ #{kw\ 1097}#)
+ ((lambda (#{tmp\ 1098}#)
+ ((lambda (#{tmp\ 1099}#)
+ (if (if #{tmp\ 1099}#
+ (apply (lambda (#{r\ 1100}#)
+ (#{id?\ 780}# #{r\ 1100}#))
+ #{tmp\ 1099}#)
#f)
- (apply (lambda (#{r\ 472}#)
- (#{check\ 458}#
- #{req\ 465}#
- #{opt\ 466}#
- #{r\ 472}#
- #{kw\ 467}#
- #{pred\ 468}#))
- #{tmp\ 470}#)
- ((lambda (#{else\ 473}#)
+ (apply (lambda (#{r\ 1101}#)
+ (#{check\ 1089}#
+ #{req\ 1095}#
+ #{opt\ 1096}#
+ #{r\ 1101}#
+ #{kw\ 1097}#))
+ #{tmp\ 1099}#)
+ ((lambda (#{else\ 1102}#)
(syntax-violation
'lambda*
"invalid rest argument"
- #{orig-args\ 452}#
- #{args\ 464}#))
- #{tmp\ 469}#)))
- (list #{tmp\ 469}#)))
- #{args\ 464}#)))
- (#{pred\ 456}#
- (lambda (#{args\ 474}#
- #{req\ 475}#
- #{opt\ 476}#
- #{kw\ 477}#)
- ((lambda (#{tmp\ 478}#)
- ((lambda (#{tmp\ 479}#)
- (if #{tmp\ 479}#
- (apply (lambda (#{x\ 480}#)
- (#{check\ 458}#
- #{req\ 475}#
- #{opt\ 476}#
- #f
- #{kw\ 477}#
- #{x\ 480}#))
- #{tmp\ 479}#)
- ((lambda (#{tmp\ 481}#)
- (if (if #{tmp\ 481}#
- (apply (lambda (#{x\ 482}#
- #{a\ 483}#
- #{b\ 484}#)
- (eq? (syntax->datum
- #{a\ 483}#
- #:rest)))
- #{tmp\ 481}#)
- #f)
- (apply (lambda (#{x\ 485}#
- #{a\ 486}#
- #{b\ 487}#)
- (#{rest\ 457}#
- #{b\ 487}#
- #{req\ 475}#
- #{opt\ 476}#
- #f
- #{kw\ 477}#
- #{x\ 485}#))
- #{tmp\ 481}#)
- ((lambda (#{tmp\ 488}#)
- (if (if #{tmp\ 488}#
- (apply (lambda (#{x\ 489}#
- #{b\ 490}#)
- (#{id?\ 131}#
- #{b\ 490}#))
- #{tmp\ 488}#)
- #f)
- (apply (lambda (#{x\ 491}#
- #{b\ 492}#)
- (#{rest\ 457}#
- #{b\ 492}#
- #{req\ 475}#
- #{opt\ 476}#
- #f
- #{kw\ 477}#
- #{x\ 491}#))
- #{tmp\ 488}#)
- ((lambda (#{else\ 493}#)
- (syntax-violation
- 'lambda*
- "invalid argument list
following #:predicate"
- #{orig-args\ 452}#
- #{args\ 474}#))
- #{tmp\ 478}#)))
- ($sc-dispatch
- #{tmp\ 478}#
- '(any . any)))))
- ($sc-dispatch
- #{tmp\ 478}#
- '(any any any)))))
- ($sc-dispatch #{tmp\ 478}# (quote (any)))))
- #{args\ 474}#)))
- (#{key\ 455}#
- (lambda (#{args\ 494}#
- #{req\ 495}#
- #{opt\ 496}#
- #{rkey\ 497}#)
- ((lambda (#{tmp\ 498}#)
- ((lambda (#{tmp\ 499}#)
- (if #{tmp\ 499}#
+ #{orig-args\ 1084}#
+ #{args\ 1094}#))
+ #{tmp\ 1098}#)))
+ (list #{tmp\ 1098}#)))
+ #{args\ 1094}#)))
+ (#{key\ 1087}#
+ (lambda (#{args\ 1103}#
+ #{req\ 1104}#
+ #{opt\ 1105}#
+ #{rkey\ 1106}#)
+ ((lambda (#{tmp\ 1107}#)
+ ((lambda (#{tmp\ 1108}#)
+ (if #{tmp\ 1108}#
(apply (lambda ()
- (#{check\ 458}#
- #{req\ 495}#
- #{opt\ 496}#
+ (#{check\ 1089}#
+ #{req\ 1104}#
+ #{opt\ 1105}#
#f
(cons #f
- (reverse #{rkey\ 497}#))
- #f))
- #{tmp\ 499}#)
- ((lambda (#{tmp\ 500}#)
- (if (if #{tmp\ 500}#
- (apply (lambda (#{a\ 501}#
- #{b\ 502}#)
- (#{id?\ 131}#
- #{a\ 501}#))
- #{tmp\ 500}#)
+ (reverse
+ #{rkey\ 1106}#))))
+ #{tmp\ 1108}#)
+ ((lambda (#{tmp\ 1109}#)
+ (if (if #{tmp\ 1109}#
+ (apply (lambda (#{a\ 1110}#
+ #{b\ 1111}#)
+ (#{id?\ 780}#
+ #{a\ 1110}#))
+ #{tmp\ 1109}#)
#f)
- (apply (lambda (#{a\ 503}# #{b\ 504}#)
- ((lambda (#{tmp\ 505}#)
- ((lambda (#{k\ 506}#)
- (#{key\ 455}#
- #{b\ 504}#
- #{req\ 495}#
- #{opt\ 496}#
- (cons (cons #{k\
506}#
- (cons
#{a\ 503}#
+ (apply (lambda (#{a\ 1112}#
+ #{b\ 1113}#)
+ ((lambda (#{tmp\ 1114}#)
+ ((lambda (#{k\ 1115}#)
+ (#{key\ 1087}#
+ #{b\ 1113}#
+ #{req\ 1104}#
+ #{opt\ 1105}#
+ (cons (cons #{k\
1115}#
+ (cons
#{a\ 1112}#
'(#(syntax-object
#f
((top)
@@ -743,7 +634,6 @@
"i"))
#(ribcage
(check rest
-
pred
key
opt
req)
@@ -751,13 +641,11 @@
(top)
(top)
(top)
-
(top)
(top))
("i"
"i"
"i"
"i"
-
"i"
"i"))
#(ribcage
#(orig-args)
@@ -1124,278 +1012,223 @@
"i")))
(hygiene
guile)))))
- #{rkey\
497}#)))
- #{tmp\ 505}#))
+ #{rkey\
1106}#)))
+ #{tmp\ 1114}#))
(symbol->keyword
(syntax->datum
- #{a\ 503}#))))
- #{tmp\ 500}#)
- ((lambda (#{tmp\ 507}#)
- (if (if #{tmp\ 507}#
- (apply (lambda (#{a\ 508}#
- #{init\ 509}#
- #{b\ 510}#)
- (#{id?\ 131}#
- #{a\ 508}#))
- #{tmp\ 507}#)
+ #{a\ 1112}#))))
+ #{tmp\ 1109}#)
+ ((lambda (#{tmp\ 1116}#)
+ (if (if #{tmp\ 1116}#
+ (apply (lambda (#{a\ 1117}#
+ #{init\
1118}#
+ #{b\ 1119}#)
+ (#{id?\ 780}#
+ #{a\ 1117}#))
+ #{tmp\ 1116}#)
#f)
- (apply (lambda (#{a\ 511}#
- #{init\ 512}#
- #{b\ 513}#)
- ((lambda (#{tmp\ 514}#)
- ((lambda (#{k\ 515}#)
- (#{key\ 455}#
- #{b\ 513}#
- #{req\ 495}#
- #{opt\ 496}#
- (cons (list
#{k\ 515}#
-
#{a\ 511}#
-
#{init\ 512}#)
- #{rkey\
497}#)))
- #{tmp\ 514}#))
+ (apply (lambda (#{a\ 1120}#
+ #{init\ 1121}#
+ #{b\ 1122}#)
+ ((lambda (#{tmp\ 1123}#)
+ ((lambda (#{k\
1124}#)
+ (#{key\ 1087}#
+ #{b\ 1122}#
+ #{req\ 1104}#
+ #{opt\ 1105}#
+ (cons (list
#{k\ 1124}#
+
#{a\ 1120}#
+
#{init\ 1121}#)
+ #{rkey\
1106}#)))
+ #{tmp\ 1123}#))
(symbol->keyword
(syntax->datum
- #{a\ 511}#))))
- #{tmp\ 507}#)
- ((lambda (#{tmp\ 516}#)
- (if (if #{tmp\ 516}#
- (apply (lambda (#{a\
517}#
- #{init\
518}#
- #{k\
519}#
- #{b\
520}#)
- (if (#{id?\
131}#
- #{a\
517}#)
+ #{a\ 1120}#))))
+ #{tmp\ 1116}#)
+ ((lambda (#{tmp\ 1125}#)
+ (if (if #{tmp\ 1125}#
+ (apply (lambda (#{a\
1126}#
+ #{init\
1127}#
+ #{k\
1128}#
+ #{b\
1129}#)
+ (if (#{id?\
780}#
+ #{a\
1126}#)
(keyword?
(syntax->datum
- #{k\
519}#))
+ #{k\
1128}#))
#f))
- #{tmp\ 516}#)
+ #{tmp\ 1125}#)
#f)
- (apply (lambda (#{a\ 521}#
- #{init\
522}#
- #{k\ 523}#
- #{b\ 524}#)
- (#{key\ 455}#
- #{b\ 524}#
- #{req\ 495}#
- #{opt\ 496}#
- (cons (list #{k\
523}#
- #{a\
521}#
-
#{init\ 522}#)
- #{rkey\
497}#)))
- #{tmp\ 516}#)
- ((lambda (#{tmp\ 525}#)
- (if (if #{tmp\ 525}#
- (apply (lambda
(#{aok\ 526}#)
+ (apply (lambda (#{a\ 1130}#
+ #{init\
1131}#
+ #{k\ 1132}#
+ #{b\ 1133}#)
+ (#{key\ 1087}#
+ #{b\ 1133}#
+ #{req\ 1104}#
+ #{opt\ 1105}#
+ (cons (list #{k\
1132}#
+ #{a\
1130}#
+
#{init\ 1131}#)
+ #{rkey\
1106}#)))
+ #{tmp\ 1125}#)
+ ((lambda (#{tmp\ 1134}#)
+ (if (if #{tmp\ 1134}#
+ (apply (lambda
(#{aok\ 1135}#)
(eq?
(syntax->datum
-
#{aok\ 526}#)
+
#{aok\ 1135}#)
#:allow-other-keys))
- #{tmp\
525}#)
+ #{tmp\
1134}#)
#f)
- (apply (lambda (#{aok\
527}#)
- (#{check\
458}#
- #{req\ 495}#
- #{opt\ 496}#
+ (apply (lambda (#{aok\
1136}#)
+ (#{check\
1089}#
+ #{req\
1104}#
+ #{opt\
1105}#
#f
(cons #t
(reverse
-
#{rkey\ 497}#))
- #f))
- #{tmp\ 525}#)
- ((lambda (#{tmp\ 528}#)
- (if (if #{tmp\ 528}#
- (apply
(lambda (#{aok\ 529}#
-
#{a\ 530}#
-
#{b\ 531}#)
+
#{rkey\ 1106}#))))
+ #{tmp\ 1134}#)
+ ((lambda (#{tmp\
1137}#)
+ (if (if #{tmp\
1137}#
+ (apply
(lambda (#{aok\ 1138}#
+
#{a\ 1139}#
+
#{b\ 1140}#)
(if
(eq? (syntax->datum
-
#{aok\ 529}#)
+
#{aok\ 1138}#)
#:allow-other-keys)
(eq? (syntax->datum
-
#{a\ 530}#)
-
#:predicate)
+
#{a\ 1139}#)
+
#:rest)
#f))
- #{tmp\
528}#)
+ #{tmp\
1137}#)
#f)
- (apply (lambda
(#{aok\ 532}#
-
#{a\ 533}#
-
#{b\ 534}#)
- (#{pred\
456}#
- #{b\
534}#
- #{req\
495}#
- #{opt\
496}#
+ (apply (lambda
(#{aok\ 1141}#
+
#{a\ 1142}#
+
#{b\ 1143}#)
+ (#{rest\
1088}#
+ #{b\
1143}#
+ #{req\
1104}#
+ #{opt\
1105}#
(cons
#t
(reverse
-
#{rkey\ 497}#))))
- #{tmp\
528}#)
- ((lambda (#{tmp\
535}#)
- (if (if #{tmp\
535}#
- (apply
(lambda (#{aok\ 536}#
-
#{a\ 537}#
-
#{b\ 538}#)
+
#{rkey\ 1106}#))))
+ #{tmp\
1137}#)
+ ((lambda (#{tmp\
1144}#)
+ (if (if #{tmp\
1144}#
+ (apply
(lambda (#{aok\ 1145}#
+
#{r\ 1146}#)
(if (eq? (syntax->datum
-
#{aok\ 536}#)
+
#{aok\ 1145}#)
#:allow-other-keys)
-
(eq? (syntax->datum
-
#{a\ 537}#)
-
#:rest)
+
(#{id?\ 780}#
+
#{r\ 1146}#)
#f))
-
#{tmp\ 535}#)
+
#{tmp\ 1144}#)
#f)
- (apply
(lambda (#{aok\ 539}#
-
#{a\ 540}#
-
#{b\ 541}#)
-
(#{rest\ 457}#
-
#{b\ 541}#
-
#{req\ 495}#
-
#{opt\ 496}#
+ (apply
(lambda (#{aok\ 1147}#
+
#{r\ 1148}#)
+
(#{rest\ 1088}#
+
#{r\ 1148}#
+
#{req\ 1104}#
+
#{opt\ 1105}#
(cons #t
(reverse
-
#{rkey\ 497}#))))
-
#{tmp\ 535}#)
- ((lambda
(#{tmp\ 542}#)
- (if (if
#{tmp\ 542}#
-
(apply (lambda (#{aok\ 543}#
-
#{r\ 544}#)
-
(if (eq? (syntax->datum
-
#{aok\ 543}#)
-
#:allow-other-keys)
-
(#{id?\ 131}#
-
#{r\ 544}#)
-
#f))
-
#{tmp\ 542}#)
+
#{rkey\ 1106}#))))
+
#{tmp\ 1144}#)
+ ((lambda
(#{tmp\ 1149}#)
+ (if (if
#{tmp\ 1149}#
+
(apply (lambda (#{a\ 1150}#
+
#{b\ 1151}#)
+
(eq? (syntax->datum
+
#{a\ 1150}#)
+
#:rest))
+
#{tmp\ 1149}#)
#f)
- (apply
(lambda (#{aok\ 545}#
-
#{r\ 546}#)
-
(#{rest\ 457}#
-
#{r\ 546}#
-
#{req\ 495}#
-
#{opt\ 496}#
-
(cons #t
+ (apply
(lambda (#{a\ 1152}#
+
#{b\ 1153}#)
+
(#{rest\ 1088}#
+
#{b\ 1153}#
+
#{req\ 1104}#
+
#{opt\ 1105}#
+
(cons #f
(reverse
-
#{rkey\ 497}#))))
-
#{tmp\ 542}#)
-
((lambda (#{tmp\ 547}#)
- (if
(if #{tmp\ 547}#
-
(apply (lambda (#{a\ 548}#
-
#{b\ 549}#)
-
(eq? (syntax->datum
-
#{a\ 548}#)
-
#:predicate))
-
#{tmp\ 547}#)
+
#{rkey\ 1106}#))))
+
#{tmp\ 1149}#)
+
((lambda (#{tmp\ 1154}#)
+ (if
(if #{tmp\ 1154}#
+
(apply (lambda (#{r\ 1155}#)
+
(#{id?\ 780}#
+
#{r\ 1155}#))
+
#{tmp\ 1154}#)
#f)
-
(apply (lambda (#{a\ 550}#
-
#{b\ 551}#)
-
(#{pred\ 456}#
-
#{b\ 551}#
-
#{req\ 495}#
-
#{opt\ 496}#
+
(apply (lambda (#{r\ 1156}#)
+
(#{rest\ 1088}#
+
#{r\ 1156}#
+
#{req\ 1104}#
+
#{opt\ 1105}#
(cons #f
(reverse
-
#{rkey\ 497}#))))
-
#{tmp\ 547}#)
-
((lambda (#{tmp\ 552}#)
-
(if (if #{tmp\ 552}#
-
(apply (lambda (#{a\ 553}#
-
#{b\ 554}#)
-
(eq? (syntax->datum
-
#{a\ 553}#)
-
#:rest))
-
#{tmp\ 552}#)
-
#f)
-
(apply (lambda (#{a\ 555}#
-
#{b\ 556}#)
-
(#{rest\ 457}#
-
#{b\ 556}#
-
#{req\ 495}#
-
#{opt\ 496}#
-
(cons #f
-
(reverse
-
#{rkey\ 497}#))
-
#f))
-
#{tmp\ 552}#)
-
((lambda (#{tmp\ 557}#)
-
(if (if #{tmp\ 557}#
-
(apply (lambda (#{r\ 558}#)
-
(#{id?\ 131}#
-
#{r\ 558}#))
-
#{tmp\ 557}#)
-
#f)
-
(apply (lambda (#{r\ 559}#)
-
(#{rest\ 457}#
-
#{r\ 559}#
-
#{req\ 495}#
-
#{opt\ 496}#
-
(cons #f
-
(reverse
-
#{rkey\ 497}#))
-
#f))
-
#{tmp\ 557}#)
-
((lambda (#{else\ 560}#)
-
(syntax-violation
-
'lambda*
-
"invalid keyword argument list"
-
#{orig-args\ 452}#
-
#{args\ 494}#))
-
#{tmp\ 498}#)))
-
(list #{tmp\ 498}#))))
-
($sc-dispatch
-
#{tmp\ 498}#
-
'(any any)))))
-
($sc-dispatch
-
#{tmp\ 498}#
-
'(any .
-
any)))))
+
#{rkey\ 1106}#))))
+
#{tmp\ 1154}#)
+
((lambda (#{else\ 1157}#)
+
(syntax-violation
+
'lambda*
+
"invalid keyword argument list"
+
#{orig-args\ 1084}#
+
#{args\ 1103}#))
+
#{tmp\ 1107}#)))
+ (list
#{tmp\ 1107}#))))
($sc-dispatch
- #{tmp\
498}#
- '(any .
-
any)))))
+ #{tmp\
1107}#
+ '(any
any)))))
($sc-dispatch
- #{tmp\ 498}#
- '(any any
+ #{tmp\ 1107}#
+ '(any .
any)))))
($sc-dispatch
- #{tmp\ 498}#
- '(any any . any)))))
+ #{tmp\ 1107}#
+ '(any any any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 1107}#
'(any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 1107}#
'((any any any) . any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 1107}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 1107}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 498}# (quote ()))))
- #{args\ 494}#)))
- (#{opt\ 454}#
- (lambda (#{args\ 561}# #{req\ 562}# #{ropt\ 563}#)
- ((lambda (#{tmp\ 564}#)
- ((lambda (#{tmp\ 565}#)
- (if #{tmp\ 565}#
+ ($sc-dispatch #{tmp\ 1107}# (quote ()))))
+ #{args\ 1103}#)))
+ (#{opt\ 1086}#
+ (lambda (#{args\ 1158}# #{req\ 1159}# #{ropt\ 1160}#)
+ ((lambda (#{tmp\ 1161}#)
+ ((lambda (#{tmp\ 1162}#)
+ (if #{tmp\ 1162}#
(apply (lambda ()
- (#{check\ 458}#
- #{req\ 562}#
- (reverse #{ropt\ 563}#)
+ (#{check\ 1089}#
+ #{req\ 1159}#
+ (reverse #{ropt\ 1160}#)
#f
- '()
- #f))
- #{tmp\ 565}#)
- ((lambda (#{tmp\ 566}#)
- (if (if #{tmp\ 566}#
- (apply (lambda (#{a\ 567}#
- #{b\ 568}#)
- (#{id?\ 131}#
- #{a\ 567}#))
- #{tmp\ 566}#)
+ '()))
+ #{tmp\ 1162}#)
+ ((lambda (#{tmp\ 1163}#)
+ (if (if #{tmp\ 1163}#
+ (apply (lambda (#{a\ 1164}#
+ #{b\ 1165}#)
+ (#{id?\ 780}#
+ #{a\ 1164}#))
+ #{tmp\ 1163}#)
#f)
- (apply (lambda (#{a\ 569}# #{b\ 570}#)
- (#{opt\ 454}#
- #{b\ 570}#
- #{req\ 562}#
- (cons (cons #{a\ 569}#
+ (apply (lambda (#{a\ 1166}#
+ #{b\ 1167}#)
+ (#{opt\ 1086}#
+ #{b\ 1167}#
+ #{req\ 1159}#
+ (cons (cons #{a\ 1166}#
'(#(syntax-object
#f
((top)
@@ -1421,7 +1254,6 @@
"i"))
#(ribcage
(check
rest
-
pred
key
opt
req)
@@ -1429,13 +1261,11 @@
(top)
(top)
(top)
- (top)
(top))
("i"
"i"
"i"
"i"
- "i"
"i"))
#(ribcage
#(orig-args)
@@ -1802,375 +1632,330 @@
"i")))
(hygiene
guile))))
- #{ropt\ 563}#)))
- #{tmp\ 566}#)
- ((lambda (#{tmp\ 571}#)
- (if (if #{tmp\ 571}#
- (apply (lambda (#{a\ 572}#
- #{init\ 573}#
- #{b\ 574}#)
- (#{id?\ 131}#
- #{a\ 572}#))
- #{tmp\ 571}#)
+ #{ropt\ 1160}#)))
+ #{tmp\ 1163}#)
+ ((lambda (#{tmp\ 1168}#)
+ (if (if #{tmp\ 1168}#
+ (apply (lambda (#{a\ 1169}#
+ #{init\
1170}#
+ #{b\ 1171}#)
+ (#{id?\ 780}#
+ #{a\ 1169}#))
+ #{tmp\ 1168}#)
#f)
- (apply (lambda (#{a\ 575}#
- #{init\ 576}#
- #{b\ 577}#)
- (#{opt\ 454}#
- #{b\ 577}#
- #{req\ 562}#
- (cons (list #{a\ 575}#
- #{init\
576}#)
- #{ropt\ 563}#)))
- #{tmp\ 571}#)
- ((lambda (#{tmp\ 578}#)
- (if (if #{tmp\ 578}#
- (apply (lambda (#{a\
579}#
- #{b\
580}#)
+ (apply (lambda (#{a\ 1172}#
+ #{init\ 1173}#
+ #{b\ 1174}#)
+ (#{opt\ 1086}#
+ #{b\ 1174}#
+ #{req\ 1159}#
+ (cons (list #{a\
1172}#
+ #{init\
1173}#)
+ #{ropt\
1160}#)))
+ #{tmp\ 1168}#)
+ ((lambda (#{tmp\ 1175}#)
+ (if (if #{tmp\ 1175}#
+ (apply (lambda (#{a\
1176}#
+ #{b\
1177}#)
(eq?
(syntax->datum
- #{a\
579}#)
+ #{a\
1176}#)
#:key))
- #{tmp\ 578}#)
+ #{tmp\ 1175}#)
#f)
- (apply (lambda (#{a\ 581}#
- #{b\ 582}#)
- (#{key\ 455}#
- #{b\ 582}#
- #{req\ 562}#
+ (apply (lambda (#{a\ 1178}#
+ #{b\ 1179}#)
+ (#{key\ 1087}#
+ #{b\ 1179}#
+ #{req\ 1159}#
(reverse
- #{ropt\ 563}#)
+ #{ropt\ 1160}#)
'()))
- #{tmp\ 578}#)
- ((lambda (#{tmp\ 583}#)
- (if (if #{tmp\ 583}#
- (apply (lambda
(#{a\ 584}#
-
#{b\ 585}#)
+ #{tmp\ 1175}#)
+ ((lambda (#{tmp\ 1180}#)
+ (if (if #{tmp\ 1180}#
+ (apply (lambda
(#{a\ 1181}#
+
#{b\ 1182}#)
(eq?
(syntax->datum
-
#{a\ 584}#)
-
#:predicate))
- #{tmp\
583}#)
+
#{a\ 1181}#)
+
#:rest))
+ #{tmp\
1180}#)
#f)
- (apply (lambda (#{a\
586}#
- #{b\
587}#)
- (#{pred\ 456}#
- #{b\ 587}#
- #{req\ 562}#
+ (apply (lambda (#{a\
1183}#
+ #{b\
1184}#)
+ (#{rest\
1088}#
+ #{b\ 1184}#
+ #{req\
1159}#
(reverse
- #{ropt\
563}#)
+ #{ropt\
1160}#)
'()))
- #{tmp\ 583}#)
- ((lambda (#{tmp\ 588}#)
- (if (if #{tmp\ 588}#
- (apply
(lambda (#{a\ 589}#
-
#{b\ 590}#)
- (eq?
(syntax->datum
-
#{a\ 589}#)
-
#:rest))
- #{tmp\
588}#)
+ #{tmp\ 1180}#)
+ ((lambda (#{tmp\
1185}#)
+ (if (if #{tmp\
1185}#
+ (apply
(lambda (#{r\ 1186}#)
+
(#{id?\ 780}#
+
#{r\ 1186}#))
+ #{tmp\
1185}#)
#f)
- (apply (lambda
(#{a\ 591}#
-
#{b\ 592}#)
- (#{rest\
457}#
- #{b\
592}#
- #{req\
562}#
+ (apply (lambda
(#{r\ 1187}#)
+ (#{rest\
1088}#
+ #{r\
1187}#
+ #{req\
1159}#
(reverse
-
#{ropt\ 563}#)
- '()
- #f))
- #{tmp\
588}#)
- ((lambda (#{tmp\
593}#)
- (if (if #{tmp\
593}#
- (apply
(lambda (#{r\ 594}#)
-
(#{id?\ 131}#
-
#{r\ 594}#))
-
#{tmp\ 593}#)
- #f)
- (apply
(lambda (#{r\ 595}#)
-
(#{rest\ 457}#
-
#{r\ 595}#
-
#{req\ 562}#
-
(reverse
-
#{ropt\ 563}#)
-
'()
-
#f))
-
#{tmp\ 593}#)
- ((lambda
(#{else\ 596}#)
-
(syntax-violation
- 'lambda*
-
"invalid optional argument list"
-
#{orig-args\ 452}#
- #{args\
561}#))
- #{tmp\
564}#)))
- (list #{tmp\
564}#))))
- ($sc-dispatch
- #{tmp\ 564}#
- '(any any)))))
+
#{ropt\ 1160}#)
+ '()))
+ #{tmp\
1185}#)
+ ((lambda (#{else\
1188}#)
+
(syntax-violation
+ 'lambda*
+ "invalid
optional argument list"
+ #{orig-args\
1084}#
+ #{args\
1158}#))
+ #{tmp\ 1161}#)))
+ (list #{tmp\
1161}#))))
($sc-dispatch
- #{tmp\ 564}#
- '(any . any)))))
+ #{tmp\ 1161}#
+ '(any any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 1161}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 1161}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 1161}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 564}# (quote ()))))
- #{args\ 561}#)))
- (#{req\ 453}#
- (lambda (#{args\ 597}# #{rreq\ 598}#)
- ((lambda (#{tmp\ 599}#)
- ((lambda (#{tmp\ 600}#)
- (if #{tmp\ 600}#
+ ($sc-dispatch #{tmp\ 1161}# (quote ()))))
+ #{args\ 1158}#)))
+ (#{req\ 1085}#
+ (lambda (#{args\ 1189}# #{rreq\ 1190}#)
+ ((lambda (#{tmp\ 1191}#)
+ ((lambda (#{tmp\ 1192}#)
+ (if #{tmp\ 1192}#
(apply (lambda ()
- (#{check\ 458}#
- (reverse #{rreq\ 598}#)
+ (#{check\ 1089}#
+ (reverse #{rreq\ 1190}#)
'()
#f
- '()
- #f))
- #{tmp\ 600}#)
- ((lambda (#{tmp\ 601}#)
- (if (if #{tmp\ 601}#
- (apply (lambda (#{a\ 602}#
- #{b\ 603}#)
- (#{id?\ 131}#
- #{a\ 602}#))
- #{tmp\ 601}#)
+ '()))
+ #{tmp\ 1192}#)
+ ((lambda (#{tmp\ 1193}#)
+ (if (if #{tmp\ 1193}#
+ (apply (lambda (#{a\ 1194}#
+ #{b\ 1195}#)
+ (#{id?\ 780}#
+ #{a\ 1194}#))
+ #{tmp\ 1193}#)
#f)
- (apply (lambda (#{a\ 604}# #{b\ 605}#)
- (#{req\ 453}#
- #{b\ 605}#
- (cons #{a\ 604}#
- #{rreq\ 598}#)))
- #{tmp\ 601}#)
- ((lambda (#{tmp\ 606}#)
- (if (if #{tmp\ 606}#
- (apply (lambda (#{a\ 607}#
- #{b\ 608}#)
+ (apply (lambda (#{a\ 1196}#
+ #{b\ 1197}#)
+ (#{req\ 1085}#
+ #{b\ 1197}#
+ (cons #{a\ 1196}#
+ #{rreq\ 1190}#)))
+ #{tmp\ 1193}#)
+ ((lambda (#{tmp\ 1198}#)
+ (if (if #{tmp\ 1198}#
+ (apply (lambda (#{a\ 1199}#
+ #{b\ 1200}#)
(eq? (syntax->datum
- #{a\ 607}#)
+ #{a\ 1199}#)
#:optional))
- #{tmp\ 606}#)
+ #{tmp\ 1198}#)
#f)
- (apply (lambda (#{a\ 609}#
- #{b\ 610}#)
- (#{opt\ 454}#
- #{b\ 610}#
+ (apply (lambda (#{a\ 1201}#
+ #{b\ 1202}#)
+ (#{opt\ 1086}#
+ #{b\ 1202}#
(reverse
- #{rreq\ 598}#)
+ #{rreq\ 1190}#)
'()))
- #{tmp\ 606}#)
- ((lambda (#{tmp\ 611}#)
- (if (if #{tmp\ 611}#
- (apply (lambda (#{a\
612}#
- #{b\
613}#)
+ #{tmp\ 1198}#)
+ ((lambda (#{tmp\ 1203}#)
+ (if (if #{tmp\ 1203}#
+ (apply (lambda (#{a\
1204}#
+ #{b\
1205}#)
(eq?
(syntax->datum
- #{a\
612}#)
+ #{a\
1204}#)
#:key))
- #{tmp\ 611}#)
+ #{tmp\ 1203}#)
#f)
- (apply (lambda (#{a\ 614}#
- #{b\ 615}#)
- (#{key\ 455}#
- #{b\ 615}#
+ (apply (lambda (#{a\ 1206}#
+ #{b\ 1207}#)
+ (#{key\ 1087}#
+ #{b\ 1207}#
(reverse
- #{rreq\ 598}#)
+ #{rreq\ 1190}#)
'()
'()))
- #{tmp\ 611}#)
- ((lambda (#{tmp\ 616}#)
- (if (if #{tmp\ 616}#
- (apply (lambda
(#{a\ 617}#
-
#{b\ 618}#)
+ #{tmp\ 1203}#)
+ ((lambda (#{tmp\ 1208}#)
+ (if (if #{tmp\ 1208}#
+ (apply (lambda
(#{a\ 1209}#
+
#{b\ 1210}#)
(eq?
(syntax->datum
-
#{a\ 617}#)
-
#:predicate))
- #{tmp\
616}#)
+
#{a\ 1209}#)
+
#:rest))
+ #{tmp\
1208}#)
#f)
- (apply (lambda (#{a\
619}#
- #{b\
620}#)
- (#{pred\ 456}#
- #{b\ 620}#
+ (apply (lambda (#{a\
1211}#
+ #{b\
1212}#)
+ (#{rest\
1088}#
+ #{b\ 1212}#
(reverse
- #{rreq\
598}#)
+ #{rreq\
1190}#)
'()
'()))
- #{tmp\ 616}#)
- ((lambda (#{tmp\ 621}#)
- (if (if #{tmp\ 621}#
- (apply
(lambda (#{a\ 622}#
-
#{b\ 623}#)
- (eq?
(syntax->datum
-
#{a\ 622}#)
-
#:rest))
- #{tmp\
621}#)
+ #{tmp\ 1208}#)
+ ((lambda (#{tmp\
1213}#)
+ (if (if #{tmp\
1213}#
+ (apply
(lambda (#{r\ 1214}#)
+
(#{id?\ 780}#
+
#{r\ 1214}#))
+ #{tmp\
1213}#)
#f)
- (apply (lambda
(#{a\ 624}#
-
#{b\ 625}#)
- (#{rest\
457}#
- #{b\
625}#
+ (apply (lambda
(#{r\ 1215}#)
+ (#{rest\
1088}#
+ #{r\
1215}#
(reverse
-
#{rreq\ 598}#)
+
#{rreq\ 1190}#)
'()
- '()
- #f))
- #{tmp\
621}#)
- ((lambda (#{tmp\
626}#)
- (if (if #{tmp\
626}#
- (apply
(lambda (#{r\ 627}#)
-
(#{id?\ 131}#
-
#{r\ 627}#))
-
#{tmp\ 626}#)
- #f)
- (apply
(lambda (#{r\ 628}#)
-
(#{rest\ 457}#
-
#{r\ 628}#
-
(reverse
-
#{rreq\ 598}#)
-
'()
-
'()
-
#f))
-
#{tmp\ 626}#)
- ((lambda
(#{else\ 629}#)
-
(syntax-violation
- 'lambda*
-
"invalid argument list"
-
#{orig-args\ 452}#
- #{args\
597}#))
- #{tmp\
599}#)))
- (list #{tmp\
599}#))))
- ($sc-dispatch
- #{tmp\ 599}#
- '(any any)))))
+ '()))
+ #{tmp\
1213}#)
+ ((lambda (#{else\
1216}#)
+
(syntax-violation
+ 'lambda*
+ "invalid
argument list"
+ #{orig-args\
1084}#
+ #{args\
1189}#))
+ #{tmp\ 1191}#)))
+ (list #{tmp\
1191}#))))
($sc-dispatch
- #{tmp\ 599}#
- '(any . any)))))
+ #{tmp\ 1191}#
+ '(any any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 1191}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 1191}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 1191}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 599}# (quote ()))))
- #{args\ 597}#))))
- (#{req\ 453}# #{orig-args\ 452}# (quote ())))))
- (#{chi-simple-lambda\ 177}#
- (lambda (#{e\ 630}#
- #{r\ 631}#
- #{w\ 632}#
- #{s\ 633}#
- #{mod\ 634}#
- #{req\ 635}#
- #{rest\ 636}#
- #{docstring\ 637}#
- #{body\ 638}#)
- (let ((#{ids\ 639}#
- (if #{rest\ 636}#
- (append #{req\ 635}# (list #{rest\ 636}#))
- #{req\ 635}#)))
- (let ((#{vars\ 640}#
- (map #{gen-var\ 181}# #{ids\ 639}#)))
- (let ((#{labels\ 641}#
- (#{gen-labels\ 137}# #{ids\ 639}#)))
- (#{build-simple-lambda\ 105}#
- #{s\ 633}#
- (map syntax->datum #{req\ 635}#)
- (if #{rest\ 636}#
- (syntax->datum #{rest\ 636}#)
+ ($sc-dispatch #{tmp\ 1191}# (quote ()))))
+ #{args\ 1189}#))))
+ (#{req\ 1085}# #{orig-args\ 1084}# (quote ())))))
+ (#{chi-simple-lambda\ 826}#
+ (lambda (#{e\ 1217}#
+ #{r\ 1218}#
+ #{w\ 1219}#
+ #{s\ 1220}#
+ #{mod\ 1221}#
+ #{req\ 1222}#
+ #{rest\ 1223}#
+ #{docstring\ 1224}#
+ #{body\ 1225}#)
+ (let ((#{ids\ 1226}#
+ (if #{rest\ 1223}#
+ (append #{req\ 1222}# (list #{rest\ 1223}#))
+ #{req\ 1222}#)))
+ (let ((#{vars\ 1227}#
+ (map #{gen-var\ 830}# #{ids\ 1226}#)))
+ (let ((#{labels\ 1228}#
+ (#{gen-labels\ 786}# #{ids\ 1226}#)))
+ (#{build-simple-lambda\ 754}#
+ #{s\ 1220}#
+ (map syntax->datum #{req\ 1222}#)
+ (if #{rest\ 1223}#
+ (syntax->datum #{rest\ 1223}#)
#f)
- #{vars\ 640}#
- #{docstring\ 637}#
- (#{chi-body\ 171}#
- #{body\ 638}#
- (#{source-wrap\ 160}#
- #{e\ 630}#
- #{w\ 632}#
- #{s\ 633}#
- #{mod\ 634}#)
- (#{extend-var-env\ 126}#
- #{labels\ 641}#
- #{vars\ 640}#
- #{r\ 631}#)
- (#{make-binding-wrap\ 148}#
- #{ids\ 639}#
- #{labels\ 641}#
- #{w\ 632}#)
- #{mod\ 634}#)))))))
- (#{lambda-formals\ 176}#
- (lambda (#{orig-args\ 642}#)
- (letrec ((#{check\ 644}#
- (lambda (#{req\ 645}# #{rest\ 646}#)
- (if (#{distinct-bound-ids?\ 157}#
- (if #{rest\ 646}#
- (cons #{rest\ 646}# #{req\ 645}#)
- #{req\ 645}#))
- (values #{req\ 645}# #f #{rest\ 646}# #f #f)
+ #{vars\ 1227}#
+ #{docstring\ 1224}#
+ (#{chi-body\ 820}#
+ #{body\ 1225}#
+ (#{source-wrap\ 809}#
+ #{e\ 1217}#
+ #{w\ 1219}#
+ #{s\ 1220}#
+ #{mod\ 1221}#)
+ (#{extend-var-env\ 775}#
+ #{labels\ 1228}#
+ #{vars\ 1227}#
+ #{r\ 1218}#)
+ (#{make-binding-wrap\ 797}#
+ #{ids\ 1226}#
+ #{labels\ 1228}#
+ #{w\ 1219}#)
+ #{mod\ 1221}#)))))))
+ (#{lambda-formals\ 825}#
+ (lambda (#{orig-args\ 1229}#)
+ (letrec ((#{check\ 1231}#
+ (lambda (#{req\ 1232}# #{rest\ 1233}#)
+ (if (#{distinct-bound-ids?\ 806}#
+ (if #{rest\ 1233}#
+ (cons #{rest\ 1233}# #{req\ 1232}#)
+ #{req\ 1232}#))
+ (values #{req\ 1232}# #f #{rest\ 1233}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
- #{orig-args\ 642}#))))
- (#{req\ 643}#
- (lambda (#{args\ 647}# #{rreq\ 648}#)
- ((lambda (#{tmp\ 649}#)
- ((lambda (#{tmp\ 650}#)
- (if #{tmp\ 650}#
+ #{orig-args\ 1229}#))))
+ (#{req\ 1230}#
+ (lambda (#{args\ 1234}# #{rreq\ 1235}#)
+ ((lambda (#{tmp\ 1236}#)
+ ((lambda (#{tmp\ 1237}#)
+ (if #{tmp\ 1237}#
(apply (lambda ()
- (#{check\ 644}#
- (reverse #{rreq\ 648}#)
+ (#{check\ 1231}#
+ (reverse #{rreq\ 1235}#)
#f))
- #{tmp\ 650}#)
- ((lambda (#{tmp\ 651}#)
- (if (if #{tmp\ 651}#
- (apply (lambda (#{a\ 652}#
- #{b\ 653}#)
- (#{id?\ 131}#
- #{a\ 652}#))
- #{tmp\ 651}#)
+ #{tmp\ 1237}#)
+ ((lambda (#{tmp\ 1238}#)
+ (if (if #{tmp\ 1238}#
+ (apply (lambda (#{a\ 1239}#
+ #{b\ 1240}#)
+ (#{id?\ 780}#
+ #{a\ 1239}#))
+ #{tmp\ 1238}#)
#f)
- (apply (lambda (#{a\ 654}# #{b\ 655}#)
- (#{req\ 643}#
- #{b\ 655}#
- (cons #{a\ 654}#
- #{rreq\ 648}#)))
- #{tmp\ 651}#)
- ((lambda (#{tmp\ 656}#)
- (if (if #{tmp\ 656}#
- (apply (lambda (#{r\ 657}#)
- (#{id?\ 131}#
- #{r\ 657}#))
- #{tmp\ 656}#)
+ (apply (lambda (#{a\ 1241}#
+ #{b\ 1242}#)
+ (#{req\ 1230}#
+ #{b\ 1242}#
+ (cons #{a\ 1241}#
+ #{rreq\ 1235}#)))
+ #{tmp\ 1238}#)
+ ((lambda (#{tmp\ 1243}#)
+ (if (if #{tmp\ 1243}#
+ (apply (lambda (#{r\ 1244}#)
+ (#{id?\ 780}#
+ #{r\ 1244}#))
+ #{tmp\ 1243}#)
#f)
- (apply (lambda (#{r\ 658}#)
- (#{check\ 644}#
+ (apply (lambda (#{r\ 1245}#)
+ (#{check\ 1231}#
(reverse
- #{rreq\ 648}#)
- #{r\ 658}#))
- #{tmp\ 656}#)
- ((lambda (#{else\ 659}#)
+ #{rreq\ 1235}#)
+ #{r\ 1245}#))
+ #{tmp\ 1243}#)
+ ((lambda (#{else\ 1246}#)
(syntax-violation
'lambda
"invalid argument list"
- #{orig-args\ 642}#
- #{args\ 647}#))
- #{tmp\ 649}#)))
- (list #{tmp\ 649}#))))
+ #{orig-args\ 1229}#
+ #{args\ 1234}#))
+ #{tmp\ 1236}#)))
+ (list #{tmp\ 1236}#))))
($sc-dispatch
- #{tmp\ 649}#
+ #{tmp\ 1236}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 649}# (quote ()))))
- #{args\ 647}#))))
- (#{req\ 643}# #{orig-args\ 642}# (quote ())))))
- (#{ellipsis?\ 175}#
- (lambda (#{x\ 660}#)
- (if (#{nonsymbol-id?\ 130}# #{x\ 660}#)
- (#{free-id=?\ 154}#
- #{x\ 660}#
+ ($sc-dispatch #{tmp\ 1236}# (quote ()))))
+ #{args\ 1234}#))))
+ (#{req\ 1230}# #{orig-args\ 1229}# (quote ())))))
+ (#{ellipsis?\ 824}#
+ (lambda (#{x\ 1247}#)
+ (if (#{nonsymbol-id?\ 779}# #{x\ 1247}#)
+ (#{free-id=?\ 803}#
+ #{x\ 1247}#
'#(syntax-object
...
((top)
@@ -2535,1223 +2320,1248 @@
("i" "i")))
(hygiene guile)))
#f)))
- (#{chi-void\ 174}#
- (lambda () (#{build-void\ 95}# #f)))
- (#{eval-local-transformer\ 173}#
- (lambda (#{expanded\ 661}# #{mod\ 662}#)
- (let ((#{p\ 663}# (#{local-eval-hook\ 91}#
- #{expanded\ 661}#
- #{mod\ 662}#)))
- (if (procedure? #{p\ 663}#)
- #{p\ 663}#
+ (#{chi-void\ 823}#
+ (lambda () (#{build-void\ 744}# #f)))
+ (#{eval-local-transformer\ 822}#
+ (lambda (#{expanded\ 1248}# #{mod\ 1249}#)
+ (let ((#{p\ 1250}#
+ (#{local-eval-hook\ 740}#
+ #{expanded\ 1248}#
+ #{mod\ 1249}#)))
+ (if (procedure? #{p\ 1250}#)
+ #{p\ 1250}#
(syntax-violation
#f
"nonprocedure transformer"
- #{p\ 663}#)))))
- (#{chi-local-syntax\ 172}#
- (lambda (#{rec?\ 664}#
- #{e\ 665}#
- #{r\ 666}#
- #{w\ 667}#
- #{s\ 668}#
- #{mod\ 669}#
- #{k\ 670}#)
- ((lambda (#{tmp\ 671}#)
- ((lambda (#{tmp\ 672}#)
- (if #{tmp\ 672}#
- (apply (lambda (#{_\ 673}#
- #{id\ 674}#
- #{val\ 675}#
- #{e1\ 676}#
- #{e2\ 677}#)
- (let ((#{ids\ 678}# #{id\ 674}#))
- (if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 678}#))
+ #{p\ 1250}#)))))
+ (#{chi-local-syntax\ 821}#
+ (lambda (#{rec?\ 1251}#
+ #{e\ 1252}#
+ #{r\ 1253}#
+ #{w\ 1254}#
+ #{s\ 1255}#
+ #{mod\ 1256}#
+ #{k\ 1257}#)
+ ((lambda (#{tmp\ 1258}#)
+ ((lambda (#{tmp\ 1259}#)
+ (if #{tmp\ 1259}#
+ (apply (lambda (#{_\ 1260}#
+ #{id\ 1261}#
+ #{val\ 1262}#
+ #{e1\ 1263}#
+ #{e2\ 1264}#)
+ (let ((#{ids\ 1265}# #{id\ 1261}#))
+ (if (not (#{valid-bound-ids?\ 805}#
+ #{ids\ 1265}#))
(syntax-violation
#f
"duplicate bound keyword"
- #{e\ 665}#)
- (let ((#{labels\ 680}#
- (#{gen-labels\ 137}#
- #{ids\ 678}#)))
- (let ((#{new-w\ 681}#
- (#{make-binding-wrap\ 148}#
- #{ids\ 678}#
- #{labels\ 680}#
- #{w\ 667}#)))
- (#{k\ 670}# (cons #{e1\ 676}#
- #{e2\ 677}#)
- (#{extend-env\ 125}#
- #{labels\ 680}#
- (let ((#{w\ 683}# (if
#{rec?\ 664}#
-
#{new-w\ 681}#
- #{w\
667}#))
- (#{trans-r\ 684}#
-
(#{macros-only-env\ 127}#
- #{r\ 666}#)))
- (map (lambda (#{x\
685}#)
- (cons 'macro
-
(#{eval-local-transformer\ 173}#
- (#{chi\
167}#
- #{x\
685}#
-
#{trans-r\ 684}#
- #{w\
683}#
-
#{mod\ 669}#)
- #{mod\
669}#)))
- #{val\ 675}#))
- #{r\ 666}#)
- #{new-w\ 681}#
- #{s\ 668}#
- #{mod\ 669}#))))))
- #{tmp\ 672}#)
- ((lambda (#{_\ 687}#)
+ #{e\ 1252}#)
+ (let ((#{labels\ 1267}#
+ (#{gen-labels\ 786}#
+ #{ids\ 1265}#)))
+ (let ((#{new-w\ 1268}#
+ (#{make-binding-wrap\ 797}#
+ #{ids\ 1265}#
+ #{labels\ 1267}#
+ #{w\ 1254}#)))
+ (#{k\ 1257}#
+ (cons #{e1\ 1263}# #{e2\ 1264}#)
+ (#{extend-env\ 774}#
+ #{labels\ 1267}#
+ (let ((#{w\ 1270}#
+ (if #{rec?\ 1251}#
+ #{new-w\ 1268}#
+ #{w\ 1254}#))
+ (#{trans-r\ 1271}#
+ (#{macros-only-env\ 776}#
+ #{r\ 1253}#)))
+ (map (lambda (#{x\ 1272}#)
+ (cons 'macro
+
(#{eval-local-transformer\ 822}#
+ (#{chi\ 816}#
+ #{x\ 1272}#
+ #{trans-r\
1271}#
+ #{w\ 1270}#
+ #{mod\ 1256}#)
+ #{mod\ 1256}#)))
+ #{val\ 1262}#))
+ #{r\ 1253}#)
+ #{new-w\ 1268}#
+ #{s\ 1255}#
+ #{mod\ 1256}#))))))
+ #{tmp\ 1259}#)
+ ((lambda (#{_\ 1274}#)
(syntax-violation
#f
"bad local syntax definition"
- (#{source-wrap\ 160}#
- #{e\ 665}#
- #{w\ 667}#
- #{s\ 668}#
- #{mod\ 669}#)))
- #{tmp\ 671}#)))
+ (#{source-wrap\ 809}#
+ #{e\ 1252}#
+ #{w\ 1254}#
+ #{s\ 1255}#
+ #{mod\ 1256}#)))
+ #{tmp\ 1258}#)))
($sc-dispatch
- #{tmp\ 671}#
+ #{tmp\ 1258}#
'(any #(each (any any)) any . each-any))))
- #{e\ 665}#)))
- (#{chi-body\ 171}#
- (lambda (#{body\ 688}#
- #{outer-form\ 689}#
- #{r\ 690}#
- #{w\ 691}#
- #{mod\ 692}#)
- (let ((#{r\ 693}# (cons '("placeholder" placeholder)
- #{r\ 690}#)))
- (let ((#{ribcage\ 694}#
- (#{make-ribcage\ 138}#
+ #{e\ 1252}#)))
+ (#{chi-body\ 820}#
+ (lambda (#{body\ 1275}#
+ #{outer-form\ 1276}#
+ #{r\ 1277}#
+ #{w\ 1278}#
+ #{mod\ 1279}#)
+ (let ((#{r\ 1280}#
+ (cons '("placeholder" placeholder)
+ #{r\ 1277}#)))
+ (let ((#{ribcage\ 1281}#
+ (#{make-ribcage\ 787}#
'()
'()
'())))
- (let ((#{w\ 695}# (#{make-wrap\ 133}#
- (#{wrap-marks\ 134}# #{w\ 691}#)
- (cons #{ribcage\ 694}#
- (#{wrap-subst\ 135}#
- #{w\ 691}#)))))
- (letrec ((#{parse\ 696}#
- (lambda (#{body\ 697}#
- #{ids\ 698}#
- #{labels\ 699}#
- #{var-ids\ 700}#
- #{vars\ 701}#
- #{vals\ 702}#
- #{bindings\ 703}#)
- (if (null? #{body\ 697}#)
+ (let ((#{w\ 1282}#
+ (#{make-wrap\ 782}#
+ (#{wrap-marks\ 783}# #{w\ 1278}#)
+ (cons #{ribcage\ 1281}#
+ (#{wrap-subst\ 784}# #{w\ 1278}#)))))
+ (letrec ((#{parse\ 1283}#
+ (lambda (#{body\ 1284}#
+ #{ids\ 1285}#
+ #{labels\ 1286}#
+ #{var-ids\ 1287}#
+ #{vars\ 1288}#
+ #{vals\ 1289}#
+ #{bindings\ 1290}#)
+ (if (null? #{body\ 1284}#)
(syntax-violation
#f
"no expressions in body"
- #{outer-form\ 689}#)
- (let ((#{e\ 705}# (cdar #{body\ 697}#))
- (#{er\ 706}# (caar #{body\ 697}#)))
+ #{outer-form\ 1276}#)
+ (let ((#{e\ 1292}# (cdar #{body\ 1284}#))
+ (#{er\ 1293}# (caar #{body\ 1284}#)))
(call-with-values
(lambda ()
- (#{syntax-type\ 165}#
- #{e\ 705}#
- #{er\ 706}#
+ (#{syntax-type\ 814}#
+ #{e\ 1292}#
+ #{er\ 1293}#
'(())
- (#{source-annotation\ 122}#
- #{er\ 706}#)
- #{ribcage\ 694}#
- #{mod\ 692}#
+ (#{source-annotation\ 771}#
+ #{er\ 1293}#)
+ #{ribcage\ 1281}#
+ #{mod\ 1279}#
#f))
- (lambda (#{type\ 707}#
- #{value\ 708}#
- #{e\ 709}#
- #{w\ 710}#
- #{s\ 711}#
- #{mod\ 712}#)
- (if (memv #{type\ 707}#
+ (lambda (#{type\ 1294}#
+ #{value\ 1295}#
+ #{e\ 1296}#
+ #{w\ 1297}#
+ #{s\ 1298}#
+ #{mod\ 1299}#)
+ (if (memv #{type\ 1294}#
'(define-form))
- (let ((#{id\ 713}#
- (#{wrap\ 159}#
- #{value\ 708}#
- #{w\ 710}#
- #{mod\ 712}#))
- (#{label\ 714}#
- (#{gen-label\ 136}#)))
- (let ((#{var\ 715}#
- (#{gen-var\ 181}#
- #{id\ 713}#)))
+ (let ((#{id\ 1300}#
+ (#{wrap\ 808}#
+ #{value\ 1295}#
+ #{w\ 1297}#
+ #{mod\ 1299}#))
+ (#{label\ 1301}#
+ (#{gen-label\ 785}#)))
+ (let ((#{var\ 1302}#
+ (#{gen-var\ 830}#
+ #{id\ 1300}#)))
(begin
- (#{extend-ribcage!\ 147}#
- #{ribcage\ 694}#
- #{id\ 713}#
- #{label\ 714}#)
- (#{parse\ 696}#
- (cdr #{body\ 697}#)
- (cons #{id\ 713}#
- #{ids\ 698}#)
- (cons #{label\ 714}#
- #{labels\ 699}#)
- (cons #{id\ 713}#
- #{var-ids\ 700}#)
- (cons #{var\ 715}#
- #{vars\ 701}#)
- (cons (cons #{er\ 706}#
- (#{wrap\ 159}#
- #{e\ 709}#
- #{w\ 710}#
- #{mod\
712}#))
- #{vals\ 702}#)
+ (#{extend-ribcage!\ 796}#
+ #{ribcage\ 1281}#
+ #{id\ 1300}#
+ #{label\ 1301}#)
+ (#{parse\ 1283}#
+ (cdr #{body\ 1284}#)
+ (cons #{id\ 1300}#
+ #{ids\ 1285}#)
+ (cons #{label\ 1301}#
+ #{labels\ 1286}#)
+ (cons #{id\ 1300}#
+ #{var-ids\ 1287}#)
+ (cons #{var\ 1302}#
+ #{vars\ 1288}#)
+ (cons (cons #{er\ 1293}#
+ (#{wrap\ 808}#
+ #{e\ 1296}#
+ #{w\ 1297}#
+ #{mod\
1299}#))
+ #{vals\ 1289}#)
(cons (cons 'lexical
- #{var\ 715}#)
- #{bindings\
703}#)))))
- (if (memv #{type\ 707}#
+ #{var\ 1302}#)
+ #{bindings\
1290}#)))))
+ (if (memv #{type\ 1294}#
'(define-syntax-form))
- (let ((#{id\ 716}#
- (#{wrap\ 159}#
- #{value\ 708}#
- #{w\ 710}#
- #{mod\ 712}#))
- (#{label\ 717}#
- (#{gen-label\ 136}#)))
+ (let ((#{id\ 1303}#
+ (#{wrap\ 808}#
+ #{value\ 1295}#
+ #{w\ 1297}#
+ #{mod\ 1299}#))
+ (#{label\ 1304}#
+ (#{gen-label\ 785}#)))
(begin
- (#{extend-ribcage!\ 147}#
- #{ribcage\ 694}#
- #{id\ 716}#
- #{label\ 717}#)
- (#{parse\ 696}#
- (cdr #{body\ 697}#)
- (cons #{id\ 716}#
- #{ids\ 698}#)
- (cons #{label\ 717}#
- #{labels\ 699}#)
- #{var-ids\ 700}#
- #{vars\ 701}#
- #{vals\ 702}#
+ (#{extend-ribcage!\ 796}#
+ #{ribcage\ 1281}#
+ #{id\ 1303}#
+ #{label\ 1304}#)
+ (#{parse\ 1283}#
+ (cdr #{body\ 1284}#)
+ (cons #{id\ 1303}#
+ #{ids\ 1285}#)
+ (cons #{label\ 1304}#
+ #{labels\ 1286}#)
+ #{var-ids\ 1287}#
+ #{vars\ 1288}#
+ #{vals\ 1289}#
(cons (cons 'macro
- (cons #{er\
706}#
- (#{wrap\
159}#
- #{e\
709}#
- #{w\
710}#
- #{mod\
712}#)))
- #{bindings\ 703}#))))
- (if (memv #{type\ 707}#
+ (cons #{er\
1293}#
+ (#{wrap\
808}#
+ #{e\
1296}#
+ #{w\
1297}#
+ #{mod\
1299}#)))
+ #{bindings\
1290}#))))
+ (if (memv #{type\ 1294}#
'(begin-form))
- ((lambda (#{tmp\ 718}#)
- ((lambda (#{tmp\ 719}#)
- (if #{tmp\ 719}#
- (apply (lambda (#{_\
720}#
- #{e1\
721}#)
- (#{parse\
696}#
- (letrec
((#{f\ 722}# (lambda (#{forms\ 723}#)
-
(if (null? #{forms\ 723}#)
-
(cdr #{body\ 697}#)
-
(cons (cons #{er\ 706}#
-
(#{wrap\ 159}#
-
(car #{forms\ 723}#)
-
#{w\ 710}#
-
#{mod\ 712}#))
-
(#{f\ 722}# (cdr #{forms\ 723}#)))))))
- (#{f\
722}# #{e1\ 721}#))
- #{ids\ 698}#
- #{labels\
699}#
- #{var-ids\
700}#
- #{vars\
701}#
- #{vals\
702}#
- #{bindings\
703}#))
- #{tmp\ 719}#)
+ ((lambda (#{tmp\ 1305}#)
+ ((lambda (#{tmp\ 1306}#)
+ (if #{tmp\ 1306}#
+ (apply (lambda (#{_\
1307}#
+ #{e1\
1308}#)
+ (#{parse\
1283}#
+ (letrec
((#{f\ 1309}#
+
(lambda (#{forms\ 1310}#)
+
(if (null? #{forms\ 1310}#)
+
(cdr #{body\ 1284}#)
+
(cons (cons #{er\ 1293}#
+
(#{wrap\ 808}#
+
(car #{forms\ 1310}#)
+
#{w\ 1297}#
+
#{mod\ 1299}#))
+
(#{f\ 1309}#
+
(cdr #{forms\ 1310}#)))))))
+ (#{f\
1309}#
+ #{e1\
1308}#))
+ #{ids\
1285}#
+ #{labels\
1286}#
+ #{var-ids\
1287}#
+ #{vars\
1288}#
+ #{vals\
1289}#
+ #{bindings\
1290}#))
+ #{tmp\ 1306}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 718}#)))
+ #{tmp\ 1305}#)))
($sc-dispatch
- #{tmp\ 718}#
+ #{tmp\ 1305}#
'(any . each-any))))
- #{e\ 709}#)
- (if (memv #{type\ 707}#
+ #{e\ 1296}#)
+ (if (memv #{type\ 1294}#
'(local-syntax-form))
- (#{chi-local-syntax\ 172}#
- #{value\ 708}#
- #{e\ 709}#
- #{er\ 706}#
- #{w\ 710}#
- #{s\ 711}#
- #{mod\ 712}#
- (lambda (#{forms\ 725}#
- #{er\ 726}#
- #{w\ 727}#
- #{s\ 728}#
- #{mod\ 729}#)
- (#{parse\ 696}#
- (letrec ((#{f\ 730}#
(lambda (#{forms\ 731}#)
-
(if (null? #{forms\ 731}#)
-
(cdr #{body\ 697}#)
-
(cons (cons #{er\ 726}#
-
(#{wrap\ 159}#
-
(car #{forms\ 731}#)
-
#{w\ 727}#
-
#{mod\ 729}#))
-
(#{f\ 730}# (cdr #{forms\ 731}#)))))))
- (#{f\ 730}# #{forms\
725}#))
- #{ids\ 698}#
- #{labels\ 699}#
- #{var-ids\ 700}#
- #{vars\ 701}#
- #{vals\ 702}#
- #{bindings\ 703}#)))
- (if (null? #{ids\ 698}#)
- (#{build-sequence\ 110}#
+ (#{chi-local-syntax\ 821}#
+ #{value\ 1295}#
+ #{e\ 1296}#
+ #{er\ 1293}#
+ #{w\ 1297}#
+ #{s\ 1298}#
+ #{mod\ 1299}#
+ (lambda (#{forms\ 1312}#
+ #{er\ 1313}#
+ #{w\ 1314}#
+ #{s\ 1315}#
+ #{mod\ 1316}#)
+ (#{parse\ 1283}#
+ (letrec ((#{f\ 1317}#
+ (lambda
(#{forms\ 1318}#)
+ (if
(null? #{forms\ 1318}#)
+ (cdr
#{body\ 1284}#)
+ (cons
(cons #{er\ 1313}#
+
(#{wrap\ 808}#
+
(car #{forms\ 1318}#)
+
#{w\ 1314}#
+
#{mod\ 1316}#))
+
(#{f\ 1317}#
+
(cdr #{forms\ 1318}#)))))))
+ (#{f\ 1317}#
+ #{forms\ 1312}#))
+ #{ids\ 1285}#
+ #{labels\ 1286}#
+ #{var-ids\ 1287}#
+ #{vars\ 1288}#
+ #{vals\ 1289}#
+ #{bindings\ 1290}#)))
+ (if (null? #{ids\ 1285}#)
+ (#{build-sequence\ 759}#
#f
- (map (lambda (#{x\ 732}#)
- (#{chi\ 167}#
- (cdr #{x\ 732}#)
- (car #{x\ 732}#)
+ (map (lambda (#{x\
1319}#)
+ (#{chi\ 816}#
+ (cdr #{x\
1319}#)
+ (car #{x\
1319}#)
'(())
- #{mod\ 712}#))
- (cons (cons #{er\
706}#
-
(#{source-wrap\ 160}#
- #{e\
709}#
- #{w\
710}#
- #{s\
711}#
-
#{mod\ 712}#))
- (cdr #{body\
697}#))))
+ #{mod\ 1299}#))
+ (cons (cons #{er\
1293}#
+
(#{source-wrap\ 809}#
+ #{e\
1296}#
+ #{w\
1297}#
+ #{s\
1298}#
+
#{mod\ 1299}#))
+ (cdr #{body\
1284}#))))
(begin
- (if (not
(#{valid-bound-ids?\ 156}#
- #{ids\ 698}#))
+ (if (not
(#{valid-bound-ids?\ 805}#
+ #{ids\
1285}#))
(syntax-violation
#f
"invalid or
duplicate identifier in definition"
- #{outer-form\ 689}#))
- (letrec ((#{loop\ 733}#
- (lambda
(#{bs\ 734}#
-
#{er-cache\ 735}#
-
#{r-cache\ 736}#)
- (if (not
(null? #{bs\ 734}#))
- (let
((#{b\ 737}# (car #{bs\ 734}#)))
- (if
(eq? (car #{b\ 737}#)
+ #{outer-form\
1276}#))
+ (letrec ((#{loop\ 1320}#
+ (lambda
(#{bs\ 1321}#
+
#{er-cache\ 1322}#
+
#{r-cache\ 1323}#)
+ (if (not
(null? #{bs\ 1321}#))
+ (let
((#{b\ 1324}#
+
(car #{bs\ 1321}#)))
+ (if
(eq? (car #{b\ 1324}#)
'macro)
- (let
((#{er\ 738}#
-
(cadr #{b\ 737}#)))
-
(let ((#{r-cache\ 739}#
-
(if (eq? #{er\ 738}#
-
#{er-cache\ 735}#)
-
#{r-cache\ 736}#
-
(#{macros-only-env\ 127}#
-
#{er\ 738}#))))
+ (let
((#{er\ 1325}#
+
(cadr #{b\ 1324}#)))
+
(let ((#{r-cache\ 1326}#
+
(if (eq? #{er\ 1325}#
+
#{er-cache\ 1322}#)
+
#{r-cache\ 1323}#
+
(#{macros-only-env\ 776}#
+
#{er\ 1325}#))))
(begin
(set-cdr!
-
#{b\ 737}#
-
(#{eval-local-transformer\ 173}#
-
(#{chi\ 167}#
-
(cddr #{b\ 737}#)
-
#{r-cache\ 739}#
+
#{b\ 1324}#
+
(#{eval-local-transformer\ 822}#
+
(#{chi\ 816}#
+
(cddr #{b\ 1324}#)
+
#{r-cache\ 1326}#
'(())
-
#{mod\ 712}#)
-
#{mod\ 712}#))
-
(#{loop\ 733}#
-
(cdr #{bs\ 734}#)
-
#{er\ 738}#
-
#{r-cache\ 739}#))))
-
(#{loop\ 733}#
-
(cdr #{bs\ 734}#)
-
#{er-cache\ 735}#
-
#{r-cache\ 736}#)))))))
- (#{loop\ 733}#
- #{bindings\ 703}#
+
#{mod\ 1299}#)
+
#{mod\ 1299}#))
+
(#{loop\ 1320}#
+
(cdr #{bs\ 1321}#)
+
#{er\ 1325}#
+
#{r-cache\ 1326}#))))
+
(#{loop\ 1320}#
+
(cdr #{bs\ 1321}#)
+
#{er-cache\ 1322}#
+
#{r-cache\ 1323}#)))))))
+ (#{loop\ 1320}#
+ #{bindings\ 1290}#
#f
#f))
(set-cdr!
- #{r\ 693}#
- (#{extend-env\ 125}#
- #{labels\ 699}#
- #{bindings\ 703}#
- (cdr #{r\ 693}#)))
- (#{build-letrec\ 113}#
+ #{r\ 1280}#
+ (#{extend-env\ 774}#
+ #{labels\ 1286}#
+ #{bindings\ 1290}#
+ (cdr #{r\ 1280}#)))
+ (#{build-letrec\ 762}#
#f
(map syntax->datum
- #{var-ids\ 700}#)
- #{vars\ 701}#
- (map (lambda (#{x\
740}#)
- (#{chi\ 167}#
- (cdr #{x\
740}#)
- (car #{x\
740}#)
+ #{var-ids\ 1287}#)
+ #{vars\ 1288}#
+ (map (lambda (#{x\
1327}#)
+ (#{chi\ 816}#
+ (cdr #{x\
1327}#)
+ (car #{x\
1327}#)
'(())
- #{mod\ 712}#))
- #{vals\ 702}#)
- (#{build-sequence\
110}#
+ #{mod\
1299}#))
+ #{vals\ 1289}#)
+ (#{build-sequence\
759}#
#f
- (map (lambda (#{x\
741}#)
- (#{chi\ 167}#
- (cdr #{x\
741}#)
- (car #{x\
741}#)
+ (map (lambda (#{x\
1328}#)
+ (#{chi\ 816}#
+ (cdr #{x\
1328}#)
+ (car #{x\
1328}#)
'(())
- #{mod\
712}#))
- (cons (cons
#{er\ 706}#
-
(#{source-wrap\ 160}#
-
#{e\ 709}#
-
#{w\ 710}#
-
#{s\ 711}#
-
#{mod\ 712}#))
- (cdr
#{body\ 697}#))))))))))))))))))
- (#{parse\ 696}#
- (map (lambda (#{x\ 704}#)
- (cons #{r\ 693}#
- (#{wrap\ 159}#
- #{x\ 704}#
- #{w\ 695}#
- #{mod\ 692}#)))
- #{body\ 688}#)
+ #{mod\
1299}#))
+ (cons (cons
#{er\ 1293}#
+
(#{source-wrap\ 809}#
+
#{e\ 1296}#
+
#{w\ 1297}#
+
#{s\ 1298}#
+
#{mod\ 1299}#))
+ (cdr
#{body\ 1284}#))))))))))))))))))
+ (#{parse\ 1283}#
+ (map (lambda (#{x\ 1291}#)
+ (cons #{r\ 1280}#
+ (#{wrap\ 808}#
+ #{x\ 1291}#
+ #{w\ 1282}#
+ #{mod\ 1279}#)))
+ #{body\ 1275}#)
'()
'()
'()
'()
'()
'())))))))
- (#{chi-macro\ 170}#
- (lambda (#{p\ 742}#
- #{e\ 743}#
- #{r\ 744}#
- #{w\ 745}#
- #{rib\ 746}#
- #{mod\ 747}#)
- (letrec ((#{rebuild-macro-output\ 748}#
- (lambda (#{x\ 749}# #{m\ 750}#)
- (if (pair? #{x\ 749}#)
- (cons (#{rebuild-macro-output\ 748}#
- (car #{x\ 749}#)
- #{m\ 750}#)
- (#{rebuild-macro-output\ 748}#
- (cdr #{x\ 749}#)
- #{m\ 750}#))
- (if (#{syntax-object?\ 115}# #{x\ 749}#)
- (let ((#{w\ 751}# (#{syntax-object-wrap\ 117}#
- #{x\ 749}#)))
- (let ((#{ms\ 752}#
- (#{wrap-marks\ 134}# #{w\ 751}#))
- (#{s\ 753}# (#{wrap-subst\ 135}#
- #{w\ 751}#)))
- (if (if (pair? #{ms\ 752}#)
- (eq? (car #{ms\ 752}#) #f)
+ (#{chi-macro\ 819}#
+ (lambda (#{p\ 1329}#
+ #{e\ 1330}#
+ #{r\ 1331}#
+ #{w\ 1332}#
+ #{rib\ 1333}#
+ #{mod\ 1334}#)
+ (letrec ((#{rebuild-macro-output\ 1335}#
+ (lambda (#{x\ 1336}# #{m\ 1337}#)
+ (if (pair? #{x\ 1336}#)
+ (cons (#{rebuild-macro-output\ 1335}#
+ (car #{x\ 1336}#)
+ #{m\ 1337}#)
+ (#{rebuild-macro-output\ 1335}#
+ (cdr #{x\ 1336}#)
+ #{m\ 1337}#))
+ (if (#{syntax-object?\ 764}# #{x\ 1336}#)
+ (let ((#{w\ 1338}#
+ (#{syntax-object-wrap\ 766}#
+ #{x\ 1336}#)))
+ (let ((#{ms\ 1339}#
+ (#{wrap-marks\ 783}# #{w\ 1338}#))
+ (#{s\ 1340}#
+ (#{wrap-subst\ 784}# #{w\ 1338}#)))
+ (if (if (pair? #{ms\ 1339}#)
+ (eq? (car #{ms\ 1339}#) #f)
#f)
- (#{make-syntax-object\ 114}#
- (#{syntax-object-expression\ 116}#
- #{x\ 749}#)
- (#{make-wrap\ 133}#
- (cdr #{ms\ 752}#)
- (if #{rib\ 746}#
- (cons #{rib\ 746}#
- (cdr #{s\ 753}#))
- (cdr #{s\ 753}#)))
- (#{syntax-object-module\ 118}#
- #{x\ 749}#))
- (#{make-syntax-object\ 114}#
- (#{syntax-object-expression\ 116}#
- #{x\ 749}#)
- (#{make-wrap\ 133}#
- (cons #{m\ 750}# #{ms\ 752}#)
- (if #{rib\ 746}#
- (cons #{rib\ 746}#
+ (#{make-syntax-object\ 763}#
+ (#{syntax-object-expression\ 765}#
+ #{x\ 1336}#)
+ (#{make-wrap\ 782}#
+ (cdr #{ms\ 1339}#)
+ (if #{rib\ 1333}#
+ (cons #{rib\ 1333}#
+ (cdr #{s\ 1340}#))
+ (cdr #{s\ 1340}#)))
+ (#{syntax-object-module\ 767}#
+ #{x\ 1336}#))
+ (#{make-syntax-object\ 763}#
+ (#{syntax-object-expression\ 765}#
+ #{x\ 1336}#)
+ (#{make-wrap\ 782}#
+ (cons #{m\ 1337}# #{ms\ 1339}#)
+ (if #{rib\ 1333}#
+ (cons #{rib\ 1333}#
(cons 'shift
- #{s\ 753}#))
- (cons (quote shift) #{s\ 753}#)))
- (let ((#{pmod\ 754}#
- (procedure-module #{p\ 742}#)))
- (if #{pmod\ 754}#
+ #{s\ 1340}#))
+ (cons (quote shift) #{s\ 1340}#)))
+ (let ((#{pmod\ 1341}#
+ (procedure-module
+ #{p\ 1329}#)))
+ (if #{pmod\ 1341}#
(cons 'hygiene
- (module-name #{pmod\ 754}#))
+ (module-name #{pmod\ 1341}#))
'(hygiene guile)))))))
- (if (vector? #{x\ 749}#)
- (let ((#{n\ 755}# (vector-length
- #{x\ 749}#)))
- (let ((#{v\ 756}# (make-vector
- #{n\ 755}#)))
- (letrec ((#{loop\ 757}#
- (lambda (#{i\ 758}#)
- (if (#{fx=\ 88}#
- #{i\ 758}#
- #{n\ 755}#)
+ (if (vector? #{x\ 1336}#)
+ (let ((#{n\ 1342}#
+ (vector-length #{x\ 1336}#)))
+ (let ((#{v\ 1343}#
+ (make-vector #{n\ 1342}#)))
+ (letrec ((#{loop\ 1344}#
+ (lambda (#{i\ 1345}#)
+ (if (#{fx=\ 737}#
+ #{i\ 1345}#
+ #{n\ 1342}#)
(begin
(if #f #f)
- #{v\ 756}#)
+ #{v\ 1343}#)
(begin
(vector-set!
- #{v\ 756}#
- #{i\ 758}#
-
(#{rebuild-macro-output\ 748}#
+ #{v\ 1343}#
+ #{i\ 1345}#
+
(#{rebuild-macro-output\ 1335}#
(vector-ref
- #{x\ 749}#
- #{i\ 758}#)
- #{m\ 750}#))
- (#{loop\ 757}#
- (#{fx+\ 86}#
- #{i\ 758}#
+ #{x\ 1336}#
+ #{i\ 1345}#)
+ #{m\ 1337}#))
+ (#{loop\ 1344}#
+ (#{fx+\ 735}#
+ #{i\ 1345}#
1)))))))
- (#{loop\ 757}# 0))))
- (if (symbol? #{x\ 749}#)
+ (#{loop\ 1344}# 0))))
+ (if (symbol? #{x\ 1336}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
- (#{source-wrap\ 160}#
- #{e\ 743}#
- #{w\ 745}#
- (#{wrap-subst\ 135}# #{w\ 745}#)
- #{mod\ 747}#)
- #{x\ 749}#)
- #{x\ 749}#)))))))
- (#{rebuild-macro-output\ 748}#
- (#{p\ 742}# (#{wrap\ 159}#
- #{e\ 743}#
- (#{anti-mark\ 146}# #{w\ 745}#)
- #{mod\ 747}#))
+ (#{source-wrap\ 809}#
+ #{e\ 1330}#
+ #{w\ 1332}#
+ (#{wrap-subst\ 784}# #{w\ 1332}#)
+ #{mod\ 1334}#)
+ #{x\ 1336}#)
+ #{x\ 1336}#)))))))
+ (#{rebuild-macro-output\ 1335}#
+ (#{p\ 1329}#
+ (#{wrap\ 808}#
+ #{e\ 1330}#
+ (#{anti-mark\ 795}# #{w\ 1332}#)
+ #{mod\ 1334}#))
(string #\m)))))
- (#{chi-application\ 169}#
- (lambda (#{x\ 759}#
- #{e\ 760}#
- #{r\ 761}#
- #{w\ 762}#
- #{s\ 763}#
- #{mod\ 764}#)
- ((lambda (#{tmp\ 765}#)
- ((lambda (#{tmp\ 766}#)
- (if #{tmp\ 766}#
- (apply (lambda (#{e0\ 767}# #{e1\ 768}#)
- (#{build-application\ 96}#
- #{s\ 763}#
- #{x\ 759}#
- (map (lambda (#{e\ 769}#)
- (#{chi\ 167}#
- #{e\ 769}#
- #{r\ 761}#
- #{w\ 762}#
- #{mod\ 764}#))
- #{e1\ 768}#)))
- #{tmp\ 766}#)
+ (#{chi-application\ 818}#
+ (lambda (#{x\ 1346}#
+ #{e\ 1347}#
+ #{r\ 1348}#
+ #{w\ 1349}#
+ #{s\ 1350}#
+ #{mod\ 1351}#)
+ ((lambda (#{tmp\ 1352}#)
+ ((lambda (#{tmp\ 1353}#)
+ (if #{tmp\ 1353}#
+ (apply (lambda (#{e0\ 1354}# #{e1\ 1355}#)
+ (#{build-application\ 745}#
+ #{s\ 1350}#
+ #{x\ 1346}#
+ (map (lambda (#{e\ 1356}#)
+ (#{chi\ 816}#
+ #{e\ 1356}#
+ #{r\ 1348}#
+ #{w\ 1349}#
+ #{mod\ 1351}#))
+ #{e1\ 1355}#)))
+ #{tmp\ 1353}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 765}#)))
+ #{tmp\ 1352}#)))
($sc-dispatch
- #{tmp\ 765}#
+ #{tmp\ 1352}#
'(any . each-any))))
- #{e\ 760}#)))
- (#{chi-expr\ 168}#
- (lambda (#{type\ 771}#
- #{value\ 772}#
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (lexical)))
- (#{build-lexical-reference\ 98}#
+ #{e\ 1347}#)))
+ (#{chi-expr\ 817}#
+ (lambda (#{type\ 1358}#
+ #{value\ 1359}#
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (lexical)))
+ (#{build-lexical-reference\ 747}#
'value
- #{s\ 776}#
- #{e\ 773}#
- #{value\ 772}#)
- (if (memv #{type\ 771}# (quote (core core-form)))
- (#{value\ 772}#
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (module-ref)))
+ #{s\ 1363}#
+ #{e\ 1360}#
+ #{value\ 1359}#)
+ (if (memv #{type\ 1358}# (quote (core core-form)))
+ (#{value\ 1359}#
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (module-ref)))
(call-with-values
- (lambda () (#{value\ 772}# #{e\ 773}#))
- (lambda (#{id\ 778}# #{mod\ 779}#)
- (#{build-global-reference\ 101}#
- #{s\ 776}#
- #{id\ 778}#
- #{mod\ 779}#)))
- (if (memv #{type\ 771}# (quote (lexical-call)))
- (#{chi-application\ 169}#
- (#{build-lexical-reference\ 98}#
+ (lambda () (#{value\ 1359}# #{e\ 1360}#))
+ (lambda (#{id\ 1365}# #{mod\ 1366}#)
+ (#{build-global-reference\ 750}#
+ #{s\ 1363}#
+ #{id\ 1365}#
+ #{mod\ 1366}#)))
+ (if (memv #{type\ 1358}# (quote (lexical-call)))
+ (#{chi-application\ 818}#
+ (#{build-lexical-reference\ 747}#
'fun
- (#{source-annotation\ 122}# (car #{e\ 773}#))
- (car #{e\ 773}#)
- #{value\ 772}#)
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (global-call)))
- (#{chi-application\ 169}#
- (#{build-global-reference\ 101}#
- (#{source-annotation\ 122}# (car #{e\ 773}#))
- (if (#{syntax-object?\ 115}# #{value\ 772}#)
- (#{syntax-object-expression\ 116}#
- #{value\ 772}#)
- #{value\ 772}#)
- (if (#{syntax-object?\ 115}# #{value\ 772}#)
- (#{syntax-object-module\ 118}# #{value\ 772}#)
- #{mod\ 777}#))
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (constant)))
- (#{build-data\ 109}#
- #{s\ 776}#
- (#{strip\ 180}#
- (#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
+ (#{source-annotation\ 771}# (car #{e\ 1360}#))
+ (car #{e\ 1360}#)
+ #{value\ 1359}#)
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (global-call)))
+ (#{chi-application\ 818}#
+ (#{build-global-reference\ 750}#
+ (#{source-annotation\ 771}# (car #{e\ 1360}#))
+ (if (#{syntax-object?\ 764}# #{value\ 1359}#)
+ (#{syntax-object-expression\ 765}#
+ #{value\ 1359}#)
+ #{value\ 1359}#)
+ (if (#{syntax-object?\ 764}# #{value\ 1359}#)
+ (#{syntax-object-module\ 767}# #{value\ 1359}#)
+ #{mod\ 1364}#))
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (constant)))
+ (#{build-data\ 758}#
+ #{s\ 1363}#
+ (#{strip\ 829}#
+ (#{source-wrap\ 809}#
+ #{e\ 1360}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
'(())))
- (if (memv #{type\ 771}# (quote (global)))
- (#{build-global-reference\ 101}#
- #{s\ 776}#
- #{value\ 772}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (call)))
- (#{chi-application\ 169}#
- (#{chi\ 167}#
- (car #{e\ 773}#)
- #{r\ 774}#
- #{w\ 775}#
- #{mod\ 777}#)
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (begin-form)))
- ((lambda (#{tmp\ 780}#)
- ((lambda (#{tmp\ 781}#)
- (if #{tmp\ 781}#
- (apply (lambda (#{_\ 782}#
- #{e1\ 783}#
- #{e2\ 784}#)
- (#{chi-sequence\ 161}#
- (cons #{e1\ 783}#
- #{e2\ 784}#)
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))
- #{tmp\ 781}#)
+ (if (memv #{type\ 1358}# (quote (global)))
+ (#{build-global-reference\ 750}#
+ #{s\ 1363}#
+ #{value\ 1359}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (call)))
+ (#{chi-application\ 818}#
+ (#{chi\ 816}#
+ (car #{e\ 1360}#)
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{mod\ 1364}#)
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (if (memv #{type\ 1358}# (quote (begin-form)))
+ ((lambda (#{tmp\ 1367}#)
+ ((lambda (#{tmp\ 1368}#)
+ (if #{tmp\ 1368}#
+ (apply (lambda (#{_\ 1369}#
+ #{e1\ 1370}#
+ #{e2\ 1371}#)
+ (#{chi-sequence\ 810}#
+ (cons #{e1\ 1370}#
+ #{e2\ 1371}#)
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#))
+ #{tmp\ 1368}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 780}#)))
+ #{tmp\ 1367}#)))
($sc-dispatch
- #{tmp\ 780}#
+ #{tmp\ 1367}#
'(any any . each-any))))
- #{e\ 773}#)
- (if (memv #{type\ 771}#
+ #{e\ 1360}#)
+ (if (memv #{type\ 1358}#
'(local-syntax-form))
- (#{chi-local-syntax\ 172}#
- #{value\ 772}#
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#
- #{chi-sequence\ 161}#)
- (if (memv #{type\ 771}#
+ (#{chi-local-syntax\ 821}#
+ #{value\ 1359}#
+ #{e\ 1360}#
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#
+ #{chi-sequence\ 810}#)
+ (if (memv #{type\ 1358}#
'(eval-when-form))
- ((lambda (#{tmp\ 786}#)
- ((lambda (#{tmp\ 787}#)
- (if #{tmp\ 787}#
- (apply (lambda (#{_\ 788}#
- #{x\ 789}#
- #{e1\ 790}#
- #{e2\ 791}#)
- (let ((#{when-list\ 792}#
-
(#{chi-when-list\ 164}#
- #{e\ 773}#
- #{x\ 789}#
- #{w\ 775}#)))
+ ((lambda (#{tmp\ 1373}#)
+ ((lambda (#{tmp\ 1374}#)
+ (if #{tmp\ 1374}#
+ (apply (lambda (#{_\ 1375}#
+ #{x\ 1376}#
+ #{e1\ 1377}#
+ #{e2\ 1378}#)
+ (let ((#{when-list\
1379}#
+
(#{chi-when-list\ 813}#
+ #{e\ 1360}#
+ #{x\ 1376}#
+ #{w\ 1362}#)))
(if (memq 'eval
- #{when-list\
792}#)
- (#{chi-sequence\
161}#
- (cons #{e1\ 790}#
- #{e2\ 791}#)
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (#{chi-void\
174}#))))
- #{tmp\ 787}#)
+ #{when-list\
1379}#)
+ (#{chi-sequence\
810}#
+ (cons #{e1\ 1377}#
+ #{e2\ 1378}#)
+ #{r\ 1361}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#)
+ (#{chi-void\
823}#))))
+ #{tmp\ 1374}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 786}#)))
+ #{tmp\ 1373}#)))
($sc-dispatch
- #{tmp\ 786}#
+ #{tmp\ 1373}#
'(any each-any any . each-any))))
- #{e\ 773}#)
- (if (memv #{type\ 771}#
+ #{e\ 1360}#)
+ (if (memv #{type\ 1358}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
- #{e\ 773}#
- (#{wrap\ 159}#
- #{value\ 772}#
- #{w\ 775}#
- #{mod\ 777}#))
- (if (memv #{type\ 771}#
+ #{e\ 1360}#
+ (#{wrap\ 808}#
+ #{value\ 1359}#
+ #{w\ 1362}#
+ #{mod\ 1364}#))
+ (if (memv #{type\ 1358}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable
outside syntax form"
- (#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))
- (if (memv #{type\ 771}#
+ (#{source-wrap\ 809}#
+ #{e\ 1360}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#))
+ (if (memv #{type\ 1358}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside
its scope"
- (#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))
+ (#{source-wrap\ 809}#
+ #{e\ 1360}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#))
(syntax-violation
#f
"unexpected syntax"
- (#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))))))))))))))))))
- (#{chi\ 167}#
- (lambda (#{e\ 795}# #{r\ 796}# #{w\ 797}# #{mod\ 798}#)
+ (#{source-wrap\ 809}#
+ #{e\ 1360}#
+ #{w\ 1362}#
+ #{s\ 1363}#
+ #{mod\ 1364}#))))))))))))))))))
+ (#{chi\ 816}#
+ (lambda (#{e\ 1382}#
+ #{r\ 1383}#
+ #{w\ 1384}#
+ #{mod\ 1385}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 165}#
- #{e\ 795}#
- #{r\ 796}#
- #{w\ 797}#
- (#{source-annotation\ 122}# #{e\ 795}#)
+ (#{syntax-type\ 814}#
+ #{e\ 1382}#
+ #{r\ 1383}#
+ #{w\ 1384}#
+ (#{source-annotation\ 771}# #{e\ 1382}#)
#f
- #{mod\ 798}#
+ #{mod\ 1385}#
#f))
- (lambda (#{type\ 799}#
- #{value\ 800}#
- #{e\ 801}#
- #{w\ 802}#
- #{s\ 803}#
- #{mod\ 804}#)
- (#{chi-expr\ 168}#
- #{type\ 799}#
- #{value\ 800}#
- #{e\ 801}#
- #{r\ 796}#
- #{w\ 802}#
- #{s\ 803}#
- #{mod\ 804}#)))))
- (#{chi-top\ 166}#
- (lambda (#{e\ 805}#
- #{r\ 806}#
- #{w\ 807}#
- #{m\ 808}#
- #{esew\ 809}#
- #{mod\ 810}#)
+ (lambda (#{type\ 1386}#
+ #{value\ 1387}#
+ #{e\ 1388}#
+ #{w\ 1389}#
+ #{s\ 1390}#
+ #{mod\ 1391}#)
+ (#{chi-expr\ 817}#
+ #{type\ 1386}#
+ #{value\ 1387}#
+ #{e\ 1388}#
+ #{r\ 1383}#
+ #{w\ 1389}#
+ #{s\ 1390}#
+ #{mod\ 1391}#)))))
+ (#{chi-top\ 815}#
+ (lambda (#{e\ 1392}#
+ #{r\ 1393}#
+ #{w\ 1394}#
+ #{m\ 1395}#
+ #{esew\ 1396}#
+ #{mod\ 1397}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 165}#
- #{e\ 805}#
- #{r\ 806}#
- #{w\ 807}#
- (#{source-annotation\ 122}# #{e\ 805}#)
+ (#{syntax-type\ 814}#
+ #{e\ 1392}#
+ #{r\ 1393}#
+ #{w\ 1394}#
+ (#{source-annotation\ 771}# #{e\ 1392}#)
#f
- #{mod\ 810}#
+ #{mod\ 1397}#
#f))
- (lambda (#{type\ 818}#
- #{value\ 819}#
- #{e\ 820}#
- #{w\ 821}#
- #{s\ 822}#
- #{mod\ 823}#)
- (if (memv #{type\ 818}# (quote (begin-form)))
- ((lambda (#{tmp\ 824}#)
- ((lambda (#{tmp\ 825}#)
- (if #{tmp\ 825}#
- (apply (lambda (#{_\ 826}#) (#{chi-void\ 174}#))
- #{tmp\ 825}#)
- ((lambda (#{tmp\ 827}#)
- (if #{tmp\ 827}#
- (apply (lambda (#{_\ 828}#
- #{e1\ 829}#
- #{e2\ 830}#)
- (#{chi-top-sequence\ 162}#
- (cons #{e1\ 829}# #{e2\ 830}#)
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
- #{m\ 808}#
- #{esew\ 809}#
- #{mod\ 823}#))
- #{tmp\ 827}#)
+ (lambda (#{type\ 1405}#
+ #{value\ 1406}#
+ #{e\ 1407}#
+ #{w\ 1408}#
+ #{s\ 1409}#
+ #{mod\ 1410}#)
+ (if (memv #{type\ 1405}# (quote (begin-form)))
+ ((lambda (#{tmp\ 1411}#)
+ ((lambda (#{tmp\ 1412}#)
+ (if #{tmp\ 1412}#
+ (apply (lambda (#{_\ 1413}#) (#{chi-void\ 823}#))
+ #{tmp\ 1412}#)
+ ((lambda (#{tmp\ 1414}#)
+ (if #{tmp\ 1414}#
+ (apply (lambda (#{_\ 1415}#
+ #{e1\ 1416}#
+ #{e2\ 1417}#)
+ (#{chi-top-sequence\ 811}#
+ (cons #{e1\ 1416}# #{e2\ 1417}#)
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
+ #{m\ 1395}#
+ #{esew\ 1396}#
+ #{mod\ 1410}#))
+ #{tmp\ 1414}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 824}#)))
+ #{tmp\ 1411}#)))
($sc-dispatch
- #{tmp\ 824}#
+ #{tmp\ 1411}#
'(any any . each-any)))))
- ($sc-dispatch #{tmp\ 824}# (quote (any)))))
- #{e\ 820}#)
- (if (memv #{type\ 818}# (quote (local-syntax-form)))
- (#{chi-local-syntax\ 172}#
- #{value\ 819}#
- #{e\ 820}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
- #{mod\ 823}#
- (lambda (#{body\ 832}#
- #{r\ 833}#
- #{w\ 834}#
- #{s\ 835}#
- #{mod\ 836}#)
- (#{chi-top-sequence\ 162}#
- #{body\ 832}#
- #{r\ 833}#
- #{w\ 834}#
- #{s\ 835}#
- #{m\ 808}#
- #{esew\ 809}#
- #{mod\ 836}#)))
- (if (memv #{type\ 818}# (quote (eval-when-form)))
- ((lambda (#{tmp\ 837}#)
- ((lambda (#{tmp\ 838}#)
- (if #{tmp\ 838}#
- (apply (lambda (#{_\ 839}#
- #{x\ 840}#
- #{e1\ 841}#
- #{e2\ 842}#)
- (let ((#{when-list\ 843}#
- (#{chi-when-list\ 164}#
- #{e\ 820}#
- #{x\ 840}#
- #{w\ 821}#))
- (#{body\ 844}#
- (cons #{e1\ 841}#
- #{e2\ 842}#)))
- (if (eq? #{m\ 808}# (quote e))
+ ($sc-dispatch #{tmp\ 1411}# (quote (any)))))
+ #{e\ 1407}#)
+ (if (memv #{type\ 1405}# (quote (local-syntax-form)))
+ (#{chi-local-syntax\ 821}#
+ #{value\ 1406}#
+ #{e\ 1407}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
+ #{mod\ 1410}#
+ (lambda (#{body\ 1419}#
+ #{r\ 1420}#
+ #{w\ 1421}#
+ #{s\ 1422}#
+ #{mod\ 1423}#)
+ (#{chi-top-sequence\ 811}#
+ #{body\ 1419}#
+ #{r\ 1420}#
+ #{w\ 1421}#
+ #{s\ 1422}#
+ #{m\ 1395}#
+ #{esew\ 1396}#
+ #{mod\ 1423}#)))
+ (if (memv #{type\ 1405}# (quote (eval-when-form)))
+ ((lambda (#{tmp\ 1424}#)
+ ((lambda (#{tmp\ 1425}#)
+ (if #{tmp\ 1425}#
+ (apply (lambda (#{_\ 1426}#
+ #{x\ 1427}#
+ #{e1\ 1428}#
+ #{e2\ 1429}#)
+ (let ((#{when-list\ 1430}#
+ (#{chi-when-list\ 813}#
+ #{e\ 1407}#
+ #{x\ 1427}#
+ #{w\ 1408}#))
+ (#{body\ 1431}#
+ (cons #{e1\ 1428}#
+ #{e2\ 1429}#)))
+ (if (eq? #{m\ 1395}# (quote e))
(if (memq 'eval
- #{when-list\ 843}#)
- (#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ #{when-list\ 1430}#)
+ (#{chi-top-sequence\ 811}#
+ #{body\ 1431}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
'e
'(eval)
- #{mod\ 823}#)
- (#{chi-void\ 174}#))
+ #{mod\ 1410}#)
+ (#{chi-void\ 823}#))
(if (memq 'load
- #{when-list\ 843}#)
- (if (let ((#{t\ 847}# (memq
'compile
-
#{when-list\ 843}#)))
- (if #{t\ 847}#
- #{t\ 847}#
- (if (eq? #{m\ 808}#
+ #{when-list\ 1430}#)
+ (if (let ((#{t\ 1434}#
+ (memq 'compile
+ #{when-list\
1430}#)))
+ (if #{t\ 1434}#
+ #{t\ 1434}#
+ (if (eq? #{m\ 1395}#
'c&e)
(memq 'eval
- #{when-list\
843}#)
+ #{when-list\
1430}#)
#f)))
- (#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ (#{chi-top-sequence\ 811}#
+ #{body\ 1431}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
'c&e
'(compile load)
- #{mod\ 823}#)
- (if (memq #{m\ 808}#
+ #{mod\ 1410}#)
+ (if (memq #{m\ 1395}#
'(c c&e))
- (#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ (#{chi-top-sequence\ 811}#
+ #{body\ 1431}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
'c
'(load)
- #{mod\ 823}#)
- (#{chi-void\ 174}#)))
- (if (let ((#{t\ 848}# (memq
'compile
-
#{when-list\ 843}#)))
- (if #{t\ 848}#
- #{t\ 848}#
- (if (eq? #{m\ 808}#
+ #{mod\ 1410}#)
+ (#{chi-void\ 823}#)))
+ (if (let ((#{t\ 1435}#
+ (memq 'compile
+ #{when-list\
1430}#)))
+ (if #{t\ 1435}#
+ #{t\ 1435}#
+ (if (eq? #{m\ 1395}#
'c&e)
(memq 'eval
- #{when-list\
843}#)
+ #{when-list\
1430}#)
#f)))
(begin
- (#{top-level-eval-hook\
90}#
- (#{chi-top-sequence\
162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ (#{top-level-eval-hook\
739}#
+ (#{chi-top-sequence\
811}#
+ #{body\ 1431}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
'e
'(eval)
- #{mod\ 823}#)
- #{mod\ 823}#)
- (#{chi-void\ 174}#))
- (#{chi-void\ 174}#))))))
- #{tmp\ 838}#)
+ #{mod\ 1410}#)
+ #{mod\ 1410}#)
+ (#{chi-void\ 823}#))
+ (#{chi-void\ 823}#))))))
+ #{tmp\ 1425}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 837}#)))
+ #{tmp\ 1424}#)))
($sc-dispatch
- #{tmp\ 837}#
+ #{tmp\ 1424}#
'(any each-any any . each-any))))
- #{e\ 820}#)
- (if (memv #{type\ 818}# (quote (define-syntax-form)))
- (let ((#{n\ 849}# (#{id-var-name\ 153}#
- #{value\ 819}#
- #{w\ 821}#))
- (#{r\ 850}# (#{macros-only-env\ 127}#
- #{r\ 806}#)))
- (if (memv #{m\ 808}# (quote (c)))
- (if (memq (quote compile) #{esew\ 809}#)
- (let ((#{e\ 851}# (#{chi-install-global\ 163}#
- #{n\ 849}#
- (#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ #{e\ 1407}#)
+ (if (memv #{type\ 1405}#
+ '(define-syntax-form))
+ (let ((#{n\ 1436}#
+ (#{id-var-name\ 802}#
+ #{value\ 1406}#
+ #{w\ 1408}#))
+ (#{r\ 1437}#
+ (#{macros-only-env\ 776}# #{r\ 1393}#)))
+ (if (memv #{m\ 1395}# (quote (c)))
+ (if (memq (quote compile) #{esew\ 1396}#)
+ (let ((#{e\ 1438}#
+ (#{chi-install-global\ 812}#
+ #{n\ 1436}#
+ (#{chi\ 816}#
+ #{e\ 1407}#
+ #{r\ 1437}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))))
(begin
- (#{top-level-eval-hook\ 90}#
- #{e\ 851}#
- #{mod\ 823}#)
- (if (memq (quote load) #{esew\ 809}#)
- #{e\ 851}#
- (#{chi-void\ 174}#))))
- (if (memq (quote load) #{esew\ 809}#)
- (#{chi-install-global\ 163}#
- #{n\ 849}#
- (#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))
- (#{chi-void\ 174}#)))
- (if (memv #{m\ 808}# (quote (c&e)))
- (let ((#{e\ 852}# (#{chi-install-global\ 163}#
- #{n\ 849}#
- (#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ (#{top-level-eval-hook\ 739}#
+ #{e\ 1438}#
+ #{mod\ 1410}#)
+ (if (memq (quote load) #{esew\ 1396}#)
+ #{e\ 1438}#
+ (#{chi-void\ 823}#))))
+ (if (memq (quote load) #{esew\ 1396}#)
+ (#{chi-install-global\ 812}#
+ #{n\ 1436}#
+ (#{chi\ 816}#
+ #{e\ 1407}#
+ #{r\ 1437}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))
+ (#{chi-void\ 823}#)))
+ (if (memv #{m\ 1395}# (quote (c&e)))
+ (let ((#{e\ 1439}#
+ (#{chi-install-global\ 812}#
+ #{n\ 1436}#
+ (#{chi\ 816}#
+ #{e\ 1407}#
+ #{r\ 1437}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))))
(begin
- (#{top-level-eval-hook\ 90}#
- #{e\ 852}#
- #{mod\ 823}#)
- #{e\ 852}#))
+ (#{top-level-eval-hook\ 739}#
+ #{e\ 1439}#
+ #{mod\ 1410}#)
+ #{e\ 1439}#))
(begin
- (if (memq (quote eval) #{esew\ 809}#)
- (#{top-level-eval-hook\ 90}#
- (#{chi-install-global\ 163}#
- #{n\ 849}#
- (#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))
- #{mod\ 823}#))
- (#{chi-void\ 174}#)))))
- (if (memv #{type\ 818}# (quote (define-form)))
- (let ((#{n\ 853}# (#{id-var-name\ 153}#
- #{value\ 819}#
- #{w\ 821}#)))
- (let ((#{type\ 854}#
- (#{binding-type\ 123}#
- (#{lookup\ 128}#
- #{n\ 853}#
- #{r\ 806}#
- #{mod\ 823}#))))
- (if (memv #{type\ 854}#
+ (if (memq (quote eval) #{esew\ 1396}#)
+ (#{top-level-eval-hook\ 739}#
+ (#{chi-install-global\ 812}#
+ #{n\ 1436}#
+ (#{chi\ 816}#
+ #{e\ 1407}#
+ #{r\ 1437}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))
+ #{mod\ 1410}#))
+ (#{chi-void\ 823}#)))))
+ (if (memv #{type\ 1405}# (quote (define-form)))
+ (let ((#{n\ 1440}#
+ (#{id-var-name\ 802}#
+ #{value\ 1406}#
+ #{w\ 1408}#)))
+ (let ((#{type\ 1441}#
+ (#{binding-type\ 772}#
+ (#{lookup\ 777}#
+ #{n\ 1440}#
+ #{r\ 1393}#
+ #{mod\ 1410}#))))
+ (if (memv #{type\ 1441}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
- #{n\ 853}#))
+ #{n\ 1440}#))
(current-module)
#f)
- (let ((#{old\ 855}#
+ (let ((#{old\ 1442}#
(module-variable
(current-module)
- #{n\ 853}#)))
+ #{n\ 1440}#)))
(module-define!
(current-module)
- #{n\ 853}#
- (if (variable? #{old\ 855}#)
- (variable-ref #{old\ 855}#)
+ #{n\ 1440}#
+ (if (variable? #{old\ 1442}#)
+ (variable-ref #{old\ 1442}#)
#f))))
- (let ((#{x\ 856}#
(#{build-global-definition\ 104}#
- #{s\ 822}#
- #{n\ 853}#
- (#{chi\ 167}#
- #{e\ 820}#
- #{r\ 806}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ (let ((#{x\ 1443}#
+ (#{build-global-definition\ 753}#
+ #{s\ 1409}#
+ #{n\ 1440}#
+ (#{chi\ 816}#
+ #{e\ 1407}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))))
(begin
- (if (eq? #{m\ 808}# (quote c&e))
- (#{top-level-eval-hook\ 90}#
- #{x\ 856}#
- #{mod\ 823}#))
- #{x\ 856}#)))
- (if (memv #{type\ 854}#
+ (if (eq? #{m\ 1395}# (quote c&e))
+ (#{top-level-eval-hook\ 739}#
+ #{x\ 1443}#
+ #{mod\ 1410}#))
+ #{x\ 1443}#)))
+ (if (memv #{type\ 1441}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
- #{e\ 820}#
- (#{wrap\ 159}#
- #{value\ 819}#
- #{w\ 821}#
- #{mod\ 823}#))
+ #{e\ 1407}#
+ (#{wrap\ 808}#
+ #{value\ 1406}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))
(syntax-violation
#f
"cannot define keyword at top level"
- #{e\ 820}#
- (#{wrap\ 159}#
- #{value\ 819}#
- #{w\ 821}#
- #{mod\ 823}#))))))
- (let ((#{x\ 857}# (#{chi-expr\ 168}#
- #{type\ 818}#
- #{value\ 819}#
- #{e\ 820}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
- #{mod\ 823}#)))
+ #{e\ 1407}#
+ (#{wrap\ 808}#
+ #{value\ 1406}#
+ #{w\ 1408}#
+ #{mod\ 1410}#))))))
+ (let ((#{x\ 1444}#
+ (#{chi-expr\ 817}#
+ #{type\ 1405}#
+ #{value\ 1406}#
+ #{e\ 1407}#
+ #{r\ 1393}#
+ #{w\ 1408}#
+ #{s\ 1409}#
+ #{mod\ 1410}#)))
(begin
- (if (eq? #{m\ 808}# (quote c&e))
- (#{top-level-eval-hook\ 90}#
- #{x\ 857}#
- #{mod\ 823}#))
- #{x\ 857}#)))))))))))
- (#{syntax-type\ 165}#
- (lambda (#{e\ 858}#
- #{r\ 859}#
- #{w\ 860}#
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
- #{for-car?\ 864}#)
- (if (symbol? #{e\ 858}#)
- (let ((#{n\ 865}# (#{id-var-name\ 153}#
- #{e\ 858}#
- #{w\ 860}#)))
- (let ((#{b\ 866}# (#{lookup\ 128}#
- #{n\ 865}#
- #{r\ 859}#
- #{mod\ 863}#)))
- (let ((#{type\ 867}#
- (#{binding-type\ 123}# #{b\ 866}#)))
- (if (memv #{type\ 867}# (quote (lexical)))
+ (if (eq? #{m\ 1395}# (quote c&e))
+ (#{top-level-eval-hook\ 739}#
+ #{x\ 1444}#
+ #{mod\ 1410}#))
+ #{x\ 1444}#)))))))))))
+ (#{syntax-type\ 814}#
+ (lambda (#{e\ 1445}#
+ #{r\ 1446}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#
+ #{for-car?\ 1451}#)
+ (if (symbol? #{e\ 1445}#)
+ (let ((#{n\ 1452}#
+ (#{id-var-name\ 802}# #{e\ 1445}# #{w\ 1447}#)))
+ (let ((#{b\ 1453}#
+ (#{lookup\ 777}#
+ #{n\ 1452}#
+ #{r\ 1446}#
+ #{mod\ 1450}#)))
+ (let ((#{type\ 1454}#
+ (#{binding-type\ 772}# #{b\ 1453}#)))
+ (if (memv #{type\ 1454}# (quote (lexical)))
(values
- #{type\ 867}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{type\ 867}# (quote (global)))
+ #{type\ 1454}#
+ (#{binding-value\ 773}# #{b\ 1453}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{type\ 1454}# (quote (global)))
(values
- #{type\ 867}#
- #{n\ 865}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{type\ 867}# (quote (macro)))
- (if #{for-car?\ 864}#
+ #{type\ 1454}#
+ #{n\ 1452}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{type\ 1454}# (quote (macro)))
+ (if #{for-car?\ 1451}#
(values
- #{type\ 867}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (#{syntax-type\ 165}#
- (#{chi-macro\ 170}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{r\ 859}#
- #{w\ 860}#
- #{rib\ 862}#
- #{mod\ 863}#)
- #{r\ 859}#
+ #{type\ 1454}#
+ (#{binding-value\ 773}# #{b\ 1453}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (#{syntax-type\ 814}#
+ (#{chi-macro\ 819}#
+ (#{binding-value\ 773}# #{b\ 1453}#)
+ #{e\ 1445}#
+ #{r\ 1446}#
+ #{w\ 1447}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#)
+ #{r\ 1446}#
'(())
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#
#f))
(values
- #{type\ 867}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)))))))
- (if (pair? #{e\ 858}#)
- (let ((#{first\ 868}# (car #{e\ 858}#)))
+ #{type\ 1454}#
+ (#{binding-value\ 773}# #{b\ 1453}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)))))))
+ (if (pair? #{e\ 1445}#)
+ (let ((#{first\ 1455}# (car #{e\ 1445}#)))
(call-with-values
(lambda ()
- (#{syntax-type\ 165}#
- #{first\ 868}#
- #{r\ 859}#
- #{w\ 860}#
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
+ (#{syntax-type\ 814}#
+ #{first\ 1455}#
+ #{r\ 1446}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#
#t))
- (lambda (#{ftype\ 869}#
- #{fval\ 870}#
- #{fe\ 871}#
- #{fw\ 872}#
- #{fs\ 873}#
- #{fmod\ 874}#)
- (if (memv #{ftype\ 869}# (quote (lexical)))
+ (lambda (#{ftype\ 1456}#
+ #{fval\ 1457}#
+ #{fe\ 1458}#
+ #{fw\ 1459}#
+ #{fs\ 1460}#
+ #{fmod\ 1461}#)
+ (if (memv #{ftype\ 1456}# (quote (lexical)))
(values
'lexical-call
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}# (quote (global)))
+ #{fval\ 1457}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}# (quote (global)))
(values
'global-call
- (#{make-syntax-object\ 114}#
- #{fval\ 870}#
- #{w\ 860}#
- #{fmod\ 874}#)
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}# (quote (macro)))
- (#{syntax-type\ 165}#
- (#{chi-macro\ 170}#
- #{fval\ 870}#
- #{e\ 858}#
- #{r\ 859}#
- #{w\ 860}#
- #{rib\ 862}#
- #{mod\ 863}#)
- #{r\ 859}#
+ (#{make-syntax-object\ 763}#
+ #{fval\ 1457}#
+ #{w\ 1447}#
+ #{fmod\ 1461}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}# (quote (macro)))
+ (#{syntax-type\ 814}#
+ (#{chi-macro\ 819}#
+ #{fval\ 1457}#
+ #{e\ 1445}#
+ #{r\ 1446}#
+ #{w\ 1447}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#)
+ #{r\ 1446}#
'(())
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
- #{for-car?\ 864}#)
- (if (memv #{ftype\ 869}# (quote (module-ref)))
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ #{mod\ 1450}#
+ #{for-car?\ 1451}#)
+ (if (memv #{ftype\ 1456}# (quote (module-ref)))
(call-with-values
- (lambda () (#{fval\ 870}# #{e\ 858}#))
- (lambda (#{sym\ 875}# #{mod\ 876}#)
- (#{syntax-type\ 165}#
- #{sym\ 875}#
- #{r\ 859}#
- #{w\ 860}#
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 876}#
- #{for-car?\ 864}#)))
- (if (memv #{ftype\ 869}# (quote (core)))
+ (lambda () (#{fval\ 1457}# #{e\ 1445}#))
+ (lambda (#{sym\ 1462}# #{mod\ 1463}#)
+ (#{syntax-type\ 814}#
+ #{sym\ 1462}#
+ #{r\ 1446}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ #{mod\ 1463}#
+ #{for-car?\ 1451}#)))
+ (if (memv #{ftype\ 1456}# (quote (core)))
(values
'core-form
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{fval\ 1457}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}#
'(local-syntax))
(values
'local-syntax-form
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}# (quote (begin)))
+ #{fval\ 1457}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}# (quote (begin)))
(values
'begin-form
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}#
'(eval-when))
(values
'eval-when-form
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
+ (if (memv #{ftype\ 1456}#
'(define))
- ((lambda (#{tmp\ 877}#)
- ((lambda (#{tmp\ 878}#)
- (if (if #{tmp\ 878}#
- (apply (lambda (#{_\
879}#
- #{name\
880}#
- #{val\
881}#)
- (#{id?\ 131}#
- #{name\
880}#))
- #{tmp\ 878}#)
+ ((lambda (#{tmp\ 1464}#)
+ ((lambda (#{tmp\ 1465}#)
+ (if (if #{tmp\ 1465}#
+ (apply (lambda (#{_\
1466}#
+ #{name\
1467}#
+ #{val\
1468}#)
+ (#{id?\ 780}#
+ #{name\
1467}#))
+ #{tmp\ 1465}#)
#f)
- (apply (lambda (#{_\ 882}#
- #{name\
883}#
- #{val\
884}#)
+ (apply (lambda (#{_\ 1469}#
+ #{name\
1470}#
+ #{val\
1471}#)
(values
'define-form
- #{name\ 883}#
- #{val\ 884}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#))
- #{tmp\ 878}#)
- ((lambda (#{tmp\ 885}#)
- (if (if #{tmp\ 885}#
- (apply (lambda
(#{_\ 886}#
-
#{name\ 887}#
-
#{args\ 888}#
-
#{e1\ 889}#
-
#{e2\ 890}#)
- (if
(#{id?\ 131}#
-
#{name\ 887}#)
-
(#{valid-bound-ids?\ 156}#
-
(#{lambda-var-list\ 182}#
-
#{args\ 888}#))
+ #{name\ 1470}#
+ #{val\ 1471}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#))
+ #{tmp\ 1465}#)
+ ((lambda (#{tmp\ 1472}#)
+ (if (if #{tmp\ 1472}#
+ (apply (lambda
(#{_\ 1473}#
+
#{name\ 1474}#
+
#{args\ 1475}#
+
#{e1\ 1476}#
+
#{e2\ 1477}#)
+ (if
(#{id?\ 780}#
+
#{name\ 1474}#)
+
(#{valid-bound-ids?\ 805}#
+
(#{lambda-var-list\ 831}#
+
#{args\ 1475}#))
#f))
- #{tmp\
885}#)
+ #{tmp\
1472}#)
#f)
- (apply (lambda (#{_\
891}#
-
#{name\ 892}#
-
#{args\ 893}#
- #{e1\
894}#
- #{e2\
895}#)
+ (apply (lambda (#{_\
1478}#
+
#{name\ 1479}#
+
#{args\ 1480}#
+ #{e1\
1481}#
+ #{e2\
1482}#)
(values
'define-form
- (#{wrap\
159}#
- #{name\
892}#
- #{w\ 860}#
- #{mod\
863}#)
-
(#{decorate-source\ 94}#
+ (#{wrap\
808}#
+ #{name\
1479}#
+ #{w\
1447}#
+ #{mod\
1450}#)
+
(#{decorate-source\ 743}#
(cons
'#(syntax-object
lambda
((top)
@@ -4201,33 +4011,33 @@
"i")))
(hygiene
guile))
-
(#{wrap\ 159}#
-
(cons #{args\ 893}#
-
(cons #{e1\ 894}#
-
#{e2\ 895}#))
-
#{w\ 860}#
-
#{mod\ 863}#))
- #{s\
861}#)
+
(#{wrap\ 808}#
+
(cons #{args\ 1480}#
+
(cons #{e1\ 1481}#
+
#{e2\ 1482}#))
+
#{w\ 1447}#
+
#{mod\ 1450}#))
+ #{s\
1448}#)
'(())
- #{s\ 861}#
- #{mod\
863}#))
- #{tmp\ 885}#)
- ((lambda (#{tmp\ 897}#)
- (if (if #{tmp\ 897}#
- (apply
(lambda (#{_\ 898}#
-
#{name\ 899}#)
-
(#{id?\ 131}#
-
#{name\ 899}#))
- #{tmp\
897}#)
+ #{s\ 1448}#
+ #{mod\
1450}#))
+ #{tmp\ 1472}#)
+ ((lambda (#{tmp\
1484}#)
+ (if (if #{tmp\
1484}#
+ (apply
(lambda (#{_\ 1485}#
+
#{name\ 1486}#)
+
(#{id?\ 780}#
+
#{name\ 1486}#))
+ #{tmp\
1484}#)
#f)
- (apply (lambda
(#{_\ 900}#
-
#{name\ 901}#)
+ (apply (lambda
(#{_\ 1487}#
+
#{name\ 1488}#)
(values
'define-form
-
(#{wrap\ 159}#
-
#{name\ 901}#
- #{w\
860}#
-
#{mod\ 863}#)
+
(#{wrap\ 808}#
+
#{name\ 1488}#
+ #{w\
1447}#
+
#{mod\ 1450}#)
'(#(syntax-object
if
((top)
@@ -5549,3637 +5359,3549 @@
(hygiene
guile)))
'(())
- #{s\
861}#
- #{mod\
863}#))
- #{tmp\
897}#)
+ #{s\
1448}#
+ #{mod\
1450}#))
+ #{tmp\
1484}#)
(syntax-violation
#f
"source
expression failed to match any pattern"
- #{tmp\ 877}#)))
+ #{tmp\ 1464}#)))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 1464}#
'(any any)))))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 1464}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 1464}#
'(any any any))))
- #{e\ 858}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 1445}#)
+ (if (memv #{ftype\ 1456}#
'(define-syntax))
- ((lambda (#{tmp\ 902}#)
- ((lambda (#{tmp\ 903}#)
- (if (if #{tmp\ 903}#
- (apply (lambda (#{_\
904}#
-
#{name\ 905}#
-
#{val\ 906}#)
- (#{id?\ 131}#
- #{name\
905}#))
- #{tmp\ 903}#)
+ ((lambda (#{tmp\ 1489}#)
+ ((lambda (#{tmp\ 1490}#)
+ (if (if #{tmp\ 1490}#
+ (apply (lambda (#{_\
1491}#
+
#{name\ 1492}#
+
#{val\ 1493}#)
+ (#{id?\ 780}#
+ #{name\
1492}#))
+ #{tmp\ 1490}#)
#f)
- (apply (lambda (#{_\ 907}#
- #{name\
908}#
- #{val\
909}#)
+ (apply (lambda (#{_\
1494}#
+ #{name\
1495}#
+ #{val\
1496}#)
(values
'define-syntax-form
- #{name\ 908}#
- #{val\ 909}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#))
- #{tmp\ 903}#)
+ #{name\ 1495}#
+ #{val\ 1496}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#))
+ #{tmp\ 1490}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 902}#)))
+ #{tmp\ 1489}#)))
($sc-dispatch
- #{tmp\ 902}#
+ #{tmp\ 1489}#
'(any any any))))
- #{e\ 858}#)
+ #{e\ 1445}#)
(values
'call
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#))))))))))))))
- (if (#{syntax-object?\ 115}# #{e\ 858}#)
- (#{syntax-type\ 165}#
- (#{syntax-object-expression\ 116}# #{e\ 858}#)
- #{r\ 859}#
- (#{join-wraps\ 150}#
- #{w\ 860}#
- (#{syntax-object-wrap\ 117}# #{e\ 858}#))
- #{s\ 861}#
- #{rib\ 862}#
- (let ((#{t\ 910}# (#{syntax-object-module\ 118}#
- #{e\ 858}#)))
- (if #{t\ 910}# #{t\ 910}# #{mod\ 863}#))
- #{for-car?\ 864}#)
- (if (self-evaluating? #{e\ 858}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#))))))))))))))
+ (if (#{syntax-object?\ 764}# #{e\ 1445}#)
+ (#{syntax-type\ 814}#
+ (#{syntax-object-expression\ 765}# #{e\ 1445}#)
+ #{r\ 1446}#
+ (#{join-wraps\ 799}#
+ #{w\ 1447}#
+ (#{syntax-object-wrap\ 766}# #{e\ 1445}#))
+ #{s\ 1448}#
+ #{rib\ 1449}#
+ (let ((#{t\ 1497}#
+ (#{syntax-object-module\ 767}# #{e\ 1445}#)))
+ (if #{t\ 1497}# #{t\ 1497}# #{mod\ 1450}#))
+ #{for-car?\ 1451}#)
+ (if (self-evaluating? #{e\ 1445}#)
(values
'constant
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)
(values
'other
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)))))))
- (#{chi-when-list\ 164}#
- (lambda (#{e\ 911}# #{when-list\ 912}# #{w\ 913}#)
- (letrec ((#{f\ 914}# (lambda (#{when-list\ 915}#
- #{situations\ 916}#)
- (if (null? #{when-list\ 915}#)
- #{situations\ 916}#
- (#{f\ 914}# (cdr #{when-list\ 915}#)
- (cons (let ((#{x\ 917}#
(car #{when-list\ 915}#)))
- (if (#{free-id=?\
154}#
- #{x\ 917}#
-
'#(syntax-object
- compile
- ((top)
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(x)
-
#((top))
- #("i"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(f
-
when-list
-
situations)
- #((top)
- (top)
-
(top))
- #("i"
- "i"
- "i"))
- #(ribcage
- ()
- ()
- ())
- #(ribcage
- #(e
-
when-list
- w)
- #((top)
- (top)
-
(top))
- #("i"
- "i"
- "i"))
- #(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-application
-
chi-expr
- chi
-
chi-top
-
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-lambda-case
-
build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
maybe-name-value!
-
build-global-assignment
-
build-global-reference
-
analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
-
build-conditional
-
build-application
-
build-void
-
decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
-
gensym-hook
-
local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
-
*mode*
-
noexpand)
- ((top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top)
- (top))
- ("i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"))
- #(ribcage
-
(define-structure
-
and-map*)
- ((top)
- (top))
- ("i"
- "i")))
- (hygiene
- guile)))
- 'compile
- (if
(#{free-id=?\ 154}#
- #{x\ 917}#
-
'#(syntax-object
- load
- ((top)
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- #(x)
-
#((top))
-
#("i"))
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- #(f
-
when-list
-
situations)
-
#((top)
-
(top)
-
(top))
- #("i"
- "i"
-
"i"))
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- #(e
-
when-list
- w)
-
#((top)
-
(top)
-
(top))
- #("i"
- "i"
-
"i"))
-
#(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-application
-
chi-expr
- chi
-
chi-top
-
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-lambda-case
-
build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
maybe-name-value!
-
build-global-assignment
-
build-global-reference
-
analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
-
build-conditional
-
build-application
-
build-void
-
decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
-
gensym-hook
-
local-eval-hook
-
top-level-eval-hook
- fx<
- fx=
- fx-
- fx+
-
*mode*
-
noexpand)
-
((top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top))
- ("i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
- "i"
-
"i"))
-
#(ribcage
-
(define-structure
-
and-map*)
-
((top)
-
(top))
- ("i"
-
"i")))
- (hygiene
-
guile)))
- 'load
- (if
(#{free-id=?\ 154}#
- #{x\
917}#
-
'#(syntax-object
- eval
- ((top)
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
-
#(x)
-
#((top))
-
#("i"))
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- #(f
-
when-list
-
situations)
-
#((top)
-
(top)
-
(top))
-
#("i"
-
"i"
-
"i"))
-
#(ribcage
- ()
- ()
- ())
-
#(ribcage
- #(e
-
when-list
-
w)
-
#((top)
-
(top)
-
(top))
-
#("i"
-
"i"
-
"i"))
-
#(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-application
-
chi-expr
-
chi
-
chi-top
-
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-lambda-case
-
build-case-lambda
-
build-simple-lambda
-
build-global-definition
-
maybe-name-value!
-
build-global-assignment
-
build-global-reference
-
analyze-variable
-
build-lexical-assignment
-
build-lexical-reference
-
build-conditional
-
build-application
-
build-void
-
decorate-source
-
get-global-definition-hook
-
put-global-definition-hook
-
gensym-hook
-
local-eval-hook
-
top-level-eval-hook
-
fx<
-
fx=
-
fx-
-
fx+
-
*mode*
-
noexpand)
-
((top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top)
-
(top))
-
("i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"
-
"i"))
-
#(ribcage
-
(define-structure
-
and-map*)
-
((top)
-
(top))
-
("i"
-
"i")))
-
(hygiene
-
guile)))
- 'eval
-
(syntax-violation
- 'eval-when
- "invalid
situation"
- #{e\ 911}#
- (#{wrap\
159}#
- #{x\
917}#
- #{w\
913}#
- #f))))))
- #{situations\
916}#))))))
- (#{f\ 914}# #{when-list\ 912}# (quote ())))))
- (#{chi-install-global\ 163}#
- (lambda (#{name\ 918}# #{e\ 919}#)
- (#{build-global-definition\ 104}#
+ #{e\ 1445}#
+ #{w\ 1447}#
+ #{s\ 1448}#
+ #{mod\ 1450}#)))))))
+ (#{chi-when-list\ 813}#
+ (lambda (#{e\ 1498}# #{when-list\ 1499}# #{w\ 1500}#)
+ (letrec ((#{f\ 1501}#
+ (lambda (#{when-list\ 1502}# #{situations\ 1503}#)
+ (if (null? #{when-list\ 1502}#)
+ #{situations\ 1503}#
+ (#{f\ 1501}#
+ (cdr #{when-list\ 1502}#)
+ (cons (let ((#{x\ 1504}#
+ (car #{when-list\ 1502}#)))
+ (if (#{free-id=?\ 803}#
+ #{x\ 1504}#
+ '#(syntax-object
+ compile
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(f when-list situations)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(e when-list w)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(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-application
+ chi-expr
+ chi
+ chi-top
+ 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-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ maybe-name-value!
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+ build-lexical-assignment
+ build-lexical-reference
+ build-conditional
+ build-application
+ build-void
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ gensym-hook
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ *mode*
+ noexpand)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"))
+ #(ribcage
+ (define-structure and-map*)
+ ((top) (top))
+ ("i" "i")))
+ (hygiene guile)))
+ 'compile
+ (if (#{free-id=?\ 803}#
+ #{x\ 1504}#
+ '#(syntax-object
+ load
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(f when-list situations)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(e when-list w)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(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-application
+ chi-expr
+ chi
+ chi-top
+ 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-lambda-case
+ build-case-lambda
+ build-simple-lambda
+ build-global-definition
+ maybe-name-value!
+ build-global-assignment
+ build-global-reference
+ analyze-variable
+
build-lexical-assignment
+ build-lexical-reference
+ build-conditional
+ build-application
+ build-void
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ gensym-hook
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ *mode*
+ noexpand)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"))
+ #(ribcage
+ (define-structure
+ and-map*)
+ ((top) (top))
+ ("i" "i")))
+ (hygiene guile)))
+ 'load
+ (if (#{free-id=?\ 803}#
+ #{x\ 1504}#
+ '#(syntax-object
+ eval
+ ((top)
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage () () ())
+ #(ribcage
+ #(x)
+ #((top))
+ #("i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(f
+ when-list
+ situations)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(ribcage () () ())
+ #(ribcage
+ #(e when-list w)
+ #((top) (top) (top))
+ #("i" "i" "i"))
+ #(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-application
+ chi-expr
+ chi
+ chi-top
+ 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-lambda-case
+ build-case-lambda
+ build-simple-lambda
+
build-global-definition
+ maybe-name-value!
+
build-global-assignment
+
build-global-reference
+ analyze-variable
+
build-lexical-assignment
+
build-lexical-reference
+ build-conditional
+ build-application
+ build-void
+ decorate-source
+
get-global-definition-hook
+
put-global-definition-hook
+ gensym-hook
+ local-eval-hook
+ top-level-eval-hook
+ fx<
+ fx=
+ fx-
+ fx+
+ *mode*
+ noexpand)
+ ((top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top))
+ ("i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"
+ "i"))
+ #(ribcage
+ (define-structure
+ and-map*)
+ ((top) (top))
+ ("i" "i")))
+ (hygiene guile)))
+ 'eval
+ (syntax-violation
+ 'eval-when
+ "invalid situation"
+ #{e\ 1498}#
+ (#{wrap\ 808}#
+ #{x\ 1504}#
+ #{w\ 1500}#
+ #f))))))
+ #{situations\ 1503}#))))))
+ (#{f\ 1501}# #{when-list\ 1499}# (quote ())))))
+ (#{chi-install-global\ 812}#
+ (lambda (#{name\ 1505}# #{e\ 1506}#)
+ (#{build-global-definition\ 753}#
#f
- #{name\ 918}#
- (if (let ((#{v\ 920}# (module-variable
- (current-module)
- #{name\ 918}#)))
- (if #{v\ 920}#
- (if (variable-bound? #{v\ 920}#)
- (if (macro? (variable-ref #{v\ 920}#))
- (not (eq? (macro-type (variable-ref #{v\ 920}#))
+ #{name\ 1505}#
+ (if (let ((#{v\ 1507}#
+ (module-variable
+ (current-module)
+ #{name\ 1505}#)))
+ (if #{v\ 1507}#
+ (if (variable-bound? #{v\ 1507}#)
+ (if (macro? (variable-ref #{v\ 1507}#))
+ (not (eq? (macro-type (variable-ref #{v\ 1507}#))
'syncase-macro))
#f)
#f)
#f))
- (#{build-application\ 96}#
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'make-extended-syncase-macro)
- (list (#{build-application\ 96}#
+ (list (#{build-application\ 745}#
#f
- (#{build-primref\ 108}# #f (quote module-ref))
- (list (#{build-application\ 96}#
+ (#{build-primref\ 757}# #f (quote module-ref))
+ (list (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'current-module)
'())
- (#{build-data\ 109}# #f #{name\ 918}#)))
- (#{build-data\ 109}# #f (quote macro))
- #{e\ 919}#))
- (#{build-application\ 96}#
+ (#{build-data\ 758}# #f #{name\ 1505}#)))
+ (#{build-data\ 758}# #f (quote macro))
+ #{e\ 1506}#))
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'make-syncase-macro)
- (list (#{build-data\ 109}# #f (quote macro))
- #{e\ 919}#))))))
- (#{chi-top-sequence\ 162}#
- (lambda (#{body\ 921}#
- #{r\ 922}#
- #{w\ 923}#
- #{s\ 924}#
- #{m\ 925}#
- #{esew\ 926}#
- #{mod\ 927}#)
- (#{build-sequence\ 110}#
- #{s\ 924}#
- (letrec ((#{dobody\ 928}#
- (lambda (#{body\ 929}#
- #{r\ 930}#
- #{w\ 931}#
- #{m\ 932}#
- #{esew\ 933}#
- #{mod\ 934}#)
- (if (null? #{body\ 929}#)
+ (list (#{build-data\ 758}# #f (quote macro))
+ #{e\ 1506}#))))))
+ (#{chi-top-sequence\ 811}#
+ (lambda (#{body\ 1508}#
+ #{r\ 1509}#
+ #{w\ 1510}#
+ #{s\ 1511}#
+ #{m\ 1512}#
+ #{esew\ 1513}#
+ #{mod\ 1514}#)
+ (#{build-sequence\ 759}#
+ #{s\ 1511}#
+ (letrec ((#{dobody\ 1515}#
+ (lambda (#{body\ 1516}#
+ #{r\ 1517}#
+ #{w\ 1518}#
+ #{m\ 1519}#
+ #{esew\ 1520}#
+ #{mod\ 1521}#)
+ (if (null? #{body\ 1516}#)
'()
- (let ((#{first\ 935}#
- (#{chi-top\ 166}#
- (car #{body\ 929}#)
- #{r\ 930}#
- #{w\ 931}#
- #{m\ 932}#
- #{esew\ 933}#
- #{mod\ 934}#)))
- (cons #{first\ 935}#
- (#{dobody\ 928}#
- (cdr #{body\ 929}#)
- #{r\ 930}#
- #{w\ 931}#
- #{m\ 932}#
- #{esew\ 933}#
- #{mod\ 934}#)))))))
- (#{dobody\ 928}#
- #{body\ 921}#
- #{r\ 922}#
- #{w\ 923}#
- #{m\ 925}#
- #{esew\ 926}#
- #{mod\ 927}#)))))
- (#{chi-sequence\ 161}#
- (lambda (#{body\ 936}#
- #{r\ 937}#
- #{w\ 938}#
- #{s\ 939}#
- #{mod\ 940}#)
- (#{build-sequence\ 110}#
- #{s\ 939}#
- (letrec ((#{dobody\ 941}#
- (lambda (#{body\ 942}#
- #{r\ 943}#
- #{w\ 944}#
- #{mod\ 945}#)
- (if (null? #{body\ 942}#)
+ (let ((#{first\ 1522}#
+ (#{chi-top\ 815}#
+ (car #{body\ 1516}#)
+ #{r\ 1517}#
+ #{w\ 1518}#
+ #{m\ 1519}#
+ #{esew\ 1520}#
+ #{mod\ 1521}#)))
+ (cons #{first\ 1522}#
+ (#{dobody\ 1515}#
+ (cdr #{body\ 1516}#)
+ #{r\ 1517}#
+ #{w\ 1518}#
+ #{m\ 1519}#
+ #{esew\ 1520}#
+ #{mod\ 1521}#)))))))
+ (#{dobody\ 1515}#
+ #{body\ 1508}#
+ #{r\ 1509}#
+ #{w\ 1510}#
+ #{m\ 1512}#
+ #{esew\ 1513}#
+ #{mod\ 1514}#)))))
+ (#{chi-sequence\ 810}#
+ (lambda (#{body\ 1523}#
+ #{r\ 1524}#
+ #{w\ 1525}#
+ #{s\ 1526}#
+ #{mod\ 1527}#)
+ (#{build-sequence\ 759}#
+ #{s\ 1526}#
+ (letrec ((#{dobody\ 1528}#
+ (lambda (#{body\ 1529}#
+ #{r\ 1530}#
+ #{w\ 1531}#
+ #{mod\ 1532}#)
+ (if (null? #{body\ 1529}#)
'()
- (let ((#{first\ 946}#
- (#{chi\ 167}#
- (car #{body\ 942}#)
- #{r\ 943}#
- #{w\ 944}#
- #{mod\ 945}#)))
- (cons #{first\ 946}#
- (#{dobody\ 941}#
- (cdr #{body\ 942}#)
- #{r\ 943}#
- #{w\ 944}#
- #{mod\ 945}#)))))))
- (#{dobody\ 941}#
- #{body\ 936}#
- #{r\ 937}#
- #{w\ 938}#
- #{mod\ 940}#)))))
- (#{source-wrap\ 160}#
- (lambda (#{x\ 947}#
- #{w\ 948}#
- #{s\ 949}#
- #{defmod\ 950}#)
- (#{wrap\ 159}#
- (#{decorate-source\ 94}# #{x\ 947}# #{s\ 949}#)
- #{w\ 948}#
- #{defmod\ 950}#)))
- (#{wrap\ 159}#
- (lambda (#{x\ 951}# #{w\ 952}# #{defmod\ 953}#)
- (if (if (null? (#{wrap-marks\ 134}# #{w\ 952}#))
- (null? (#{wrap-subst\ 135}# #{w\ 952}#))
+ (let ((#{first\ 1533}#
+ (#{chi\ 816}#
+ (car #{body\ 1529}#)
+ #{r\ 1530}#
+ #{w\ 1531}#
+ #{mod\ 1532}#)))
+ (cons #{first\ 1533}#
+ (#{dobody\ 1528}#
+ (cdr #{body\ 1529}#)
+ #{r\ 1530}#
+ #{w\ 1531}#
+ #{mod\ 1532}#)))))))
+ (#{dobody\ 1528}#
+ #{body\ 1523}#
+ #{r\ 1524}#
+ #{w\ 1525}#
+ #{mod\ 1527}#)))))
+ (#{source-wrap\ 809}#
+ (lambda (#{x\ 1534}#
+ #{w\ 1535}#
+ #{s\ 1536}#
+ #{defmod\ 1537}#)
+ (#{wrap\ 808}#
+ (#{decorate-source\ 743}#
+ #{x\ 1534}#
+ #{s\ 1536}#)
+ #{w\ 1535}#
+ #{defmod\ 1537}#)))
+ (#{wrap\ 808}#
+ (lambda (#{x\ 1538}# #{w\ 1539}# #{defmod\ 1540}#)
+ (if (if (null? (#{wrap-marks\ 783}# #{w\ 1539}#))
+ (null? (#{wrap-subst\ 784}# #{w\ 1539}#))
#f)
- #{x\ 951}#
- (if (#{syntax-object?\ 115}# #{x\ 951}#)
- (#{make-syntax-object\ 114}#
- (#{syntax-object-expression\ 116}# #{x\ 951}#)
- (#{join-wraps\ 150}#
- #{w\ 952}#
- (#{syntax-object-wrap\ 117}# #{x\ 951}#))
- (#{syntax-object-module\ 118}# #{x\ 951}#))
- (if (null? #{x\ 951}#)
- #{x\ 951}#
- (#{make-syntax-object\ 114}#
- #{x\ 951}#
- #{w\ 952}#
- #{defmod\ 953}#))))))
- (#{bound-id-member?\ 158}#
- (lambda (#{x\ 954}# #{list\ 955}#)
- (if (not (null? #{list\ 955}#))
- (let ((#{t\ 956}# (#{bound-id=?\ 155}#
- #{x\ 954}#
- (car #{list\ 955}#))))
- (if #{t\ 956}#
- #{t\ 956}#
- (#{bound-id-member?\ 158}#
- #{x\ 954}#
- (cdr #{list\ 955}#))))
+ #{x\ 1538}#
+ (if (#{syntax-object?\ 764}# #{x\ 1538}#)
+ (#{make-syntax-object\ 763}#
+ (#{syntax-object-expression\ 765}# #{x\ 1538}#)
+ (#{join-wraps\ 799}#
+ #{w\ 1539}#
+ (#{syntax-object-wrap\ 766}# #{x\ 1538}#))
+ (#{syntax-object-module\ 767}# #{x\ 1538}#))
+ (if (null? #{x\ 1538}#)
+ #{x\ 1538}#
+ (#{make-syntax-object\ 763}#
+ #{x\ 1538}#
+ #{w\ 1539}#
+ #{defmod\ 1540}#))))))
+ (#{bound-id-member?\ 807}#
+ (lambda (#{x\ 1541}# #{list\ 1542}#)
+ (if (not (null? #{list\ 1542}#))
+ (let ((#{t\ 1543}#
+ (#{bound-id=?\ 804}#
+ #{x\ 1541}#
+ (car #{list\ 1542}#))))
+ (if #{t\ 1543}#
+ #{t\ 1543}#
+ (#{bound-id-member?\ 807}#
+ #{x\ 1541}#
+ (cdr #{list\ 1542}#))))
#f)))
- (#{distinct-bound-ids?\ 157}#
- (lambda (#{ids\ 957}#)
- (letrec ((#{distinct?\ 958}#
- (lambda (#{ids\ 959}#)
- (let ((#{t\ 960}# (null? #{ids\ 959}#)))
- (if #{t\ 960}#
- #{t\ 960}#
- (if (not (#{bound-id-member?\ 158}#
- (car #{ids\ 959}#)
- (cdr #{ids\ 959}#)))
- (#{distinct?\ 958}# (cdr #{ids\ 959}#))
+ (#{distinct-bound-ids?\ 806}#
+ (lambda (#{ids\ 1544}#)
+ (letrec ((#{distinct?\ 1545}#
+ (lambda (#{ids\ 1546}#)
+ (let ((#{t\ 1547}# (null? #{ids\ 1546}#)))
+ (if #{t\ 1547}#
+ #{t\ 1547}#
+ (if (not (#{bound-id-member?\ 807}#
+ (car #{ids\ 1546}#)
+ (cdr #{ids\ 1546}#)))
+ (#{distinct?\ 1545}# (cdr #{ids\ 1546}#))
#f))))))
- (#{distinct?\ 958}# #{ids\ 957}#))))
- (#{valid-bound-ids?\ 156}#
- (lambda (#{ids\ 961}#)
- (if (letrec ((#{all-ids?\ 962}#
- (lambda (#{ids\ 963}#)
- (let ((#{t\ 964}# (null? #{ids\ 963}#)))
- (if #{t\ 964}#
- #{t\ 964}#
- (if (#{id?\ 131}# (car #{ids\ 963}#))
- (#{all-ids?\ 962}# (cdr #{ids\ 963}#))
+ (#{distinct?\ 1545}# #{ids\ 1544}#))))
+ (#{valid-bound-ids?\ 805}#
+ (lambda (#{ids\ 1548}#)
+ (if (letrec ((#{all-ids?\ 1549}#
+ (lambda (#{ids\ 1550}#)
+ (let ((#{t\ 1551}# (null? #{ids\ 1550}#)))
+ (if #{t\ 1551}#
+ #{t\ 1551}#
+ (if (#{id?\ 780}# (car #{ids\ 1550}#))
+ (#{all-ids?\ 1549}# (cdr #{ids\ 1550}#))
#f))))))
- (#{all-ids?\ 962}# #{ids\ 961}#))
- (#{distinct-bound-ids?\ 157}# #{ids\ 961}#)
+ (#{all-ids?\ 1549}# #{ids\ 1548}#))
+ (#{distinct-bound-ids?\ 806}# #{ids\ 1548}#)
#f)))
- (#{bound-id=?\ 155}#
- (lambda (#{i\ 965}# #{j\ 966}#)
- (if (if (#{syntax-object?\ 115}# #{i\ 965}#)
- (#{syntax-object?\ 115}# #{j\ 966}#)
+ (#{bound-id=?\ 804}#
+ (lambda (#{i\ 1552}# #{j\ 1553}#)
+ (if (if (#{syntax-object?\ 764}# #{i\ 1552}#)
+ (#{syntax-object?\ 764}# #{j\ 1553}#)
#f)
- (if (eq? (#{syntax-object-expression\ 116}# #{i\ 965}#)
- (#{syntax-object-expression\ 116}# #{j\ 966}#))
- (#{same-marks?\ 152}#
- (#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{i\ 965}#))
- (#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{j\ 966}#)))
+ (if (eq? (#{syntax-object-expression\ 765}# #{i\ 1552}#)
+ (#{syntax-object-expression\ 765}# #{j\ 1553}#))
+ (#{same-marks?\ 801}#
+ (#{wrap-marks\ 783}#
+ (#{syntax-object-wrap\ 766}# #{i\ 1552}#))
+ (#{wrap-marks\ 783}#
+ (#{syntax-object-wrap\ 766}# #{j\ 1553}#)))
#f)
- (eq? #{i\ 965}# #{j\ 966}#))))
- (#{free-id=?\ 154}#
- (lambda (#{i\ 967}# #{j\ 968}#)
- (if (eq? (let ((#{x\ 969}# #{i\ 967}#))
- (if (#{syntax-object?\ 115}# #{x\ 969}#)
- (#{syntax-object-expression\ 116}# #{x\ 969}#)
- #{x\ 969}#))
- (let ((#{x\ 970}# #{j\ 968}#))
- (if (#{syntax-object?\ 115}# #{x\ 970}#)
- (#{syntax-object-expression\ 116}# #{x\ 970}#)
- #{x\ 970}#)))
- (eq? (#{id-var-name\ 153}# #{i\ 967}# (quote (())))
- (#{id-var-name\ 153}# #{j\ 968}# (quote (()))))
+ (eq? #{i\ 1552}# #{j\ 1553}#))))
+ (#{free-id=?\ 803}#
+ (lambda (#{i\ 1554}# #{j\ 1555}#)
+ (if (eq? (let ((#{x\ 1556}# #{i\ 1554}#))
+ (if (#{syntax-object?\ 764}# #{x\ 1556}#)
+ (#{syntax-object-expression\ 765}# #{x\ 1556}#)
+ #{x\ 1556}#))
+ (let ((#{x\ 1557}# #{j\ 1555}#))
+ (if (#{syntax-object?\ 764}# #{x\ 1557}#)
+ (#{syntax-object-expression\ 765}# #{x\ 1557}#)
+ #{x\ 1557}#)))
+ (eq? (#{id-var-name\ 802}# #{i\ 1554}# (quote (())))
+ (#{id-var-name\ 802}# #{j\ 1555}# (quote (()))))
#f)))
- (#{id-var-name\ 153}#
- (lambda (#{id\ 971}# #{w\ 972}#)
- (letrec ((#{search-vector-rib\ 975}#
- (lambda (#{sym\ 981}#
- #{subst\ 982}#
- #{marks\ 983}#
- #{symnames\ 984}#
- #{ribcage\ 985}#)
- (let ((#{n\ 986}# (vector-length
- #{symnames\ 984}#)))
- (letrec ((#{f\ 987}# (lambda (#{i\ 988}#)
- (if (#{fx=\ 88}#
- #{i\ 988}#
- #{n\ 986}#)
- (#{search\ 973}#
- #{sym\ 981}#
- (cdr #{subst\ 982}#)
- #{marks\ 983}#)
- (if (if (eq? (vector-ref
-
#{symnames\ 984}#
- #{i\
988}#)
- #{sym\
981}#)
- (#{same-marks?\
152}#
- #{marks\ 983}#
- (vector-ref
-
(#{ribcage-marks\ 141}#
- #{ribcage\
985}#)
- #{i\ 988}#))
- #f)
- (values
- (vector-ref
-
(#{ribcage-labels\ 142}#
- #{ribcage\
985}#)
- #{i\ 988}#)
- #{marks\ 983}#)
- (#{f\ 987}# (#{fx+\
86}#
- #{i\
988}#
- 1)))))))
- (#{f\ 987}# 0)))))
- (#{search-list-rib\ 974}#
- (lambda (#{sym\ 989}#
- #{subst\ 990}#
- #{marks\ 991}#
- #{symnames\ 992}#
- #{ribcage\ 993}#)
- (letrec ((#{f\ 994}# (lambda (#{symnames\ 995}#
- #{i\ 996}#)
- (if (null? #{symnames\
995}#)
- (#{search\ 973}#
- #{sym\ 989}#
- (cdr #{subst\ 990}#)
- #{marks\ 991}#)
- (if (if (eq? (car
#{symnames\ 995}#)
- #{sym\ 989}#)
- (#{same-marks?\
152}#
- #{marks\ 991}#
- (list-ref
-
(#{ribcage-marks\ 141}#
- #{ribcage\
993}#)
- #{i\ 996}#))
- #f)
- (values
- (list-ref
- (#{ribcage-labels\
142}#
- #{ribcage\ 993}#)
- #{i\ 996}#)
- #{marks\ 991}#)
- (#{f\ 994}# (cdr
#{symnames\ 995}#)
- (#{fx+\ 86}#
- #{i\ 996}#
- 1)))))))
- (#{f\ 994}# #{symnames\ 992}# 0))))
- (#{search\ 973}#
- (lambda (#{sym\ 997}# #{subst\ 998}# #{marks\ 999}#)
- (if (null? #{subst\ 998}#)
- (values #f #{marks\ 999}#)
- (let ((#{fst\ 1000}# (car #{subst\ 998}#)))
- (if (eq? #{fst\ 1000}# (quote shift))
- (#{search\ 973}#
- #{sym\ 997}#
- (cdr #{subst\ 998}#)
- (cdr #{marks\ 999}#))
- (let ((#{symnames\ 1001}#
- (#{ribcage-symnames\ 140}#
- #{fst\ 1000}#)))
- (if (vector? #{symnames\ 1001}#)
- (#{search-vector-rib\ 975}#
- #{sym\ 997}#
- #{subst\ 998}#
- #{marks\ 999}#
- #{symnames\ 1001}#
- #{fst\ 1000}#)
- (#{search-list-rib\ 974}#
- #{sym\ 997}#
- #{subst\ 998}#
- #{marks\ 999}#
- #{symnames\ 1001}#
- #{fst\ 1000}#)))))))))
- (if (symbol? #{id\ 971}#)
- (let ((#{t\ 1002}#
+ (#{id-var-name\ 802}#
+ (lambda (#{id\ 1558}# #{w\ 1559}#)
+ (letrec ((#{search-vector-rib\ 1562}#
+ (lambda (#{sym\ 1568}#
+ #{subst\ 1569}#
+ #{marks\ 1570}#
+ #{symnames\ 1571}#
+ #{ribcage\ 1572}#)
+ (let ((#{n\ 1573}#
+ (vector-length #{symnames\ 1571}#)))
+ (letrec ((#{f\ 1574}#
+ (lambda (#{i\ 1575}#)
+ (if (#{fx=\ 737}#
+ #{i\ 1575}#
+ #{n\ 1573}#)
+ (#{search\ 1560}#
+ #{sym\ 1568}#
+ (cdr #{subst\ 1569}#)
+ #{marks\ 1570}#)
+ (if (if (eq? (vector-ref
+ #{symnames\ 1571}#
+ #{i\ 1575}#)
+ #{sym\ 1568}#)
+ (#{same-marks?\ 801}#
+ #{marks\ 1570}#
+ (vector-ref
+ (#{ribcage-marks\ 790}#
+ #{ribcage\ 1572}#)
+ #{i\ 1575}#))
+ #f)
+ (values
+ (vector-ref
+ (#{ribcage-labels\ 791}#
+ #{ribcage\ 1572}#)
+ #{i\ 1575}#)
+ #{marks\ 1570}#)
+ (#{f\ 1574}#
+ (#{fx+\ 735}#
+ #{i\ 1575}#
+ 1)))))))
+ (#{f\ 1574}# 0)))))
+ (#{search-list-rib\ 1561}#
+ (lambda (#{sym\ 1576}#
+ #{subst\ 1577}#
+ #{marks\ 1578}#
+ #{symnames\ 1579}#
+ #{ribcage\ 1580}#)
+ (letrec ((#{f\ 1581}#
+ (lambda (#{symnames\ 1582}# #{i\ 1583}#)
+ (if (null? #{symnames\ 1582}#)
+ (#{search\ 1560}#
+ #{sym\ 1576}#
+ (cdr #{subst\ 1577}#)
+ #{marks\ 1578}#)
+ (if (if (eq? (car #{symnames\
1582}#)
+ #{sym\ 1576}#)
+ (#{same-marks?\ 801}#
+ #{marks\ 1578}#
+ (list-ref
+ (#{ribcage-marks\ 790}#
+ #{ribcage\ 1580}#)
+ #{i\ 1583}#))
+ #f)
+ (values
+ (list-ref
+ (#{ribcage-labels\ 791}#
+ #{ribcage\ 1580}#)
+ #{i\ 1583}#)
+ #{marks\ 1578}#)
+ (#{f\ 1581}#
+ (cdr #{symnames\ 1582}#)
+ (#{fx+\ 735}#
+ #{i\ 1583}#
+ 1)))))))
+ (#{f\ 1581}# #{symnames\ 1579}# 0))))
+ (#{search\ 1560}#
+ (lambda (#{sym\ 1584}#
+ #{subst\ 1585}#
+ #{marks\ 1586}#)
+ (if (null? #{subst\ 1585}#)
+ (values #f #{marks\ 1586}#)
+ (let ((#{fst\ 1587}# (car #{subst\ 1585}#)))
+ (if (eq? #{fst\ 1587}# (quote shift))
+ (#{search\ 1560}#
+ #{sym\ 1584}#
+ (cdr #{subst\ 1585}#)
+ (cdr #{marks\ 1586}#))
+ (let ((#{symnames\ 1588}#
+ (#{ribcage-symnames\ 789}#
+ #{fst\ 1587}#)))
+ (if (vector? #{symnames\ 1588}#)
+ (#{search-vector-rib\ 1562}#
+ #{sym\ 1584}#
+ #{subst\ 1585}#
+ #{marks\ 1586}#
+ #{symnames\ 1588}#
+ #{fst\ 1587}#)
+ (#{search-list-rib\ 1561}#
+ #{sym\ 1584}#
+ #{subst\ 1585}#
+ #{marks\ 1586}#
+ #{symnames\ 1588}#
+ #{fst\ 1587}#)))))))))
+ (if (symbol? #{id\ 1558}#)
+ (let ((#{t\ 1589}#
(call-with-values
(lambda ()
- (#{search\ 973}#
- #{id\ 971}#
- (#{wrap-subst\ 135}# #{w\ 972}#)
- (#{wrap-marks\ 134}# #{w\ 972}#)))
- (lambda (#{x\ 1003}# . #{ignore\ 1004}#)
- #{x\ 1003}#))))
- (if #{t\ 1002}# #{t\ 1002}# #{id\ 971}#))
- (if (#{syntax-object?\ 115}# #{id\ 971}#)
- (let ((#{id\ 1005}#
- (#{syntax-object-expression\ 116}# #{id\ 971}#))
- (#{w1\ 1006}#
- (#{syntax-object-wrap\ 117}# #{id\ 971}#)))
- (let ((#{marks\ 1007}#
- (#{join-marks\ 151}#
- (#{wrap-marks\ 134}# #{w\ 972}#)
- (#{wrap-marks\ 134}# #{w1\ 1006}#))))
+ (#{search\ 1560}#
+ #{id\ 1558}#
+ (#{wrap-subst\ 784}# #{w\ 1559}#)
+ (#{wrap-marks\ 783}# #{w\ 1559}#)))
+ (lambda (#{x\ 1590}# . #{ignore\ 1591}#)
+ #{x\ 1590}#))))
+ (if #{t\ 1589}# #{t\ 1589}# #{id\ 1558}#))
+ (if (#{syntax-object?\ 764}# #{id\ 1558}#)
+ (let ((#{id\ 1592}#
+ (#{syntax-object-expression\ 765}# #{id\ 1558}#))
+ (#{w1\ 1593}#
+ (#{syntax-object-wrap\ 766}# #{id\ 1558}#)))
+ (let ((#{marks\ 1594}#
+ (#{join-marks\ 800}#
+ (#{wrap-marks\ 783}# #{w\ 1559}#)
+ (#{wrap-marks\ 783}# #{w1\ 1593}#))))
(call-with-values
(lambda ()
- (#{search\ 973}#
- #{id\ 1005}#
- (#{wrap-subst\ 135}# #{w\ 972}#)
- #{marks\ 1007}#))
- (lambda (#{new-id\ 1008}# #{marks\ 1009}#)
- (let ((#{t\ 1010}# #{new-id\ 1008}#))
- (if #{t\ 1010}#
- #{t\ 1010}#
- (let ((#{t\ 1011}#
+ (#{search\ 1560}#
+ #{id\ 1592}#
+ (#{wrap-subst\ 784}# #{w\ 1559}#)
+ #{marks\ 1594}#))
+ (lambda (#{new-id\ 1595}# #{marks\ 1596}#)
+ (let ((#{t\ 1597}# #{new-id\ 1595}#))
+ (if #{t\ 1597}#
+ #{t\ 1597}#
+ (let ((#{t\ 1598}#
(call-with-values
(lambda ()
- (#{search\ 973}#
- #{id\ 1005}#
- (#{wrap-subst\ 135}#
- #{w1\ 1006}#)
- #{marks\ 1009}#))
- (lambda (#{x\ 1012}#
+ (#{search\ 1560}#
+ #{id\ 1592}#
+ (#{wrap-subst\ 784}#
+ #{w1\ 1593}#)
+ #{marks\ 1596}#))
+ (lambda (#{x\ 1599}#
.
- #{ignore\ 1013}#)
- #{x\ 1012}#))))
- (if #{t\ 1011}#
- #{t\ 1011}#
- #{id\ 1005}#))))))))
+ #{ignore\ 1600}#)
+ #{x\ 1599}#))))
+ (if #{t\ 1598}#
+ #{t\ 1598}#
+ #{id\ 1592}#))))))))
(syntax-violation
'id-var-name
"invalid id"
- #{id\ 971}#))))))
- (#{same-marks?\ 152}#
- (lambda (#{x\ 1014}# #{y\ 1015}#)
- (let ((#{t\ 1016}# (eq? #{x\ 1014}# #{y\ 1015}#)))
- (if #{t\ 1016}#
- #{t\ 1016}#
- (if (not (null? #{x\ 1014}#))
- (if (not (null? #{y\ 1015}#))
- (if (eq? (car #{x\ 1014}#) (car #{y\ 1015}#))
- (#{same-marks?\ 152}#
- (cdr #{x\ 1014}#)
- (cdr #{y\ 1015}#))
+ #{id\ 1558}#))))))
+ (#{same-marks?\ 801}#
+ (lambda (#{x\ 1601}# #{y\ 1602}#)
+ (let ((#{t\ 1603}# (eq? #{x\ 1601}# #{y\ 1602}#)))
+ (if #{t\ 1603}#
+ #{t\ 1603}#
+ (if (not (null? #{x\ 1601}#))
+ (if (not (null? #{y\ 1602}#))
+ (if (eq? (car #{x\ 1601}#) (car #{y\ 1602}#))
+ (#{same-marks?\ 801}#
+ (cdr #{x\ 1601}#)
+ (cdr #{y\ 1602}#))
#f)
#f)
#f)))))
- (#{join-marks\ 151}#
- (lambda (#{m1\ 1017}# #{m2\ 1018}#)
- (#{smart-append\ 149}# #{m1\ 1017}# #{m2\ 1018}#)))
- (#{join-wraps\ 150}#
- (lambda (#{w1\ 1019}# #{w2\ 1020}#)
- (let ((#{m1\ 1021}# (#{wrap-marks\ 134}# #{w1\ 1019}#))
- (#{s1\ 1022}# (#{wrap-subst\ 135}# #{w1\ 1019}#)))
- (if (null? #{m1\ 1021}#)
- (if (null? #{s1\ 1022}#)
- #{w2\ 1020}#
- (#{make-wrap\ 133}#
- (#{wrap-marks\ 134}# #{w2\ 1020}#)
- (#{smart-append\ 149}#
- #{s1\ 1022}#
- (#{wrap-subst\ 135}# #{w2\ 1020}#))))
- (#{make-wrap\ 133}#
- (#{smart-append\ 149}#
- #{m1\ 1021}#
- (#{wrap-marks\ 134}# #{w2\ 1020}#))
- (#{smart-append\ 149}#
- #{s1\ 1022}#
- (#{wrap-subst\ 135}# #{w2\ 1020}#)))))))
- (#{smart-append\ 149}#
- (lambda (#{m1\ 1023}# #{m2\ 1024}#)
- (if (null? #{m2\ 1024}#)
- #{m1\ 1023}#
- (append #{m1\ 1023}# #{m2\ 1024}#))))
- (#{make-binding-wrap\ 148}#
- (lambda (#{ids\ 1025}# #{labels\ 1026}# #{w\ 1027}#)
- (if (null? #{ids\ 1025}#)
- #{w\ 1027}#
- (#{make-wrap\ 133}#
- (#{wrap-marks\ 134}# #{w\ 1027}#)
- (cons (let ((#{labelvec\ 1028}#
- (list->vector #{labels\ 1026}#)))
- (let ((#{n\ 1029}#
- (vector-length #{labelvec\ 1028}#)))
- (let ((#{symnamevec\ 1030}#
- (make-vector #{n\ 1029}#))
- (#{marksvec\ 1031}#
- (make-vector #{n\ 1029}#)))
+ (#{join-marks\ 800}#
+ (lambda (#{m1\ 1604}# #{m2\ 1605}#)
+ (#{smart-append\ 798}# #{m1\ 1604}# #{m2\ 1605}#)))
+ (#{join-wraps\ 799}#
+ (lambda (#{w1\ 1606}# #{w2\ 1607}#)
+ (let ((#{m1\ 1608}# (#{wrap-marks\ 783}# #{w1\ 1606}#))
+ (#{s1\ 1609}# (#{wrap-subst\ 784}# #{w1\ 1606}#)))
+ (if (null? #{m1\ 1608}#)
+ (if (null? #{s1\ 1609}#)
+ #{w2\ 1607}#
+ (#{make-wrap\ 782}#
+ (#{wrap-marks\ 783}# #{w2\ 1607}#)
+ (#{smart-append\ 798}#
+ #{s1\ 1609}#
+ (#{wrap-subst\ 784}# #{w2\ 1607}#))))
+ (#{make-wrap\ 782}#
+ (#{smart-append\ 798}#
+ #{m1\ 1608}#
+ (#{wrap-marks\ 783}# #{w2\ 1607}#))
+ (#{smart-append\ 798}#
+ #{s1\ 1609}#
+ (#{wrap-subst\ 784}# #{w2\ 1607}#)))))))
+ (#{smart-append\ 798}#
+ (lambda (#{m1\ 1610}# #{m2\ 1611}#)
+ (if (null? #{m2\ 1611}#)
+ #{m1\ 1610}#
+ (append #{m1\ 1610}# #{m2\ 1611}#))))
+ (#{make-binding-wrap\ 797}#
+ (lambda (#{ids\ 1612}# #{labels\ 1613}# #{w\ 1614}#)
+ (if (null? #{ids\ 1612}#)
+ #{w\ 1614}#
+ (#{make-wrap\ 782}#
+ (#{wrap-marks\ 783}# #{w\ 1614}#)
+ (cons (let ((#{labelvec\ 1615}#
+ (list->vector #{labels\ 1613}#)))
+ (let ((#{n\ 1616}#
+ (vector-length #{labelvec\ 1615}#)))
+ (let ((#{symnamevec\ 1617}#
+ (make-vector #{n\ 1616}#))
+ (#{marksvec\ 1618}#
+ (make-vector #{n\ 1616}#)))
(begin
- (letrec ((#{f\ 1032}#
- (lambda (#{ids\ 1033}# #{i\ 1034}#)
- (if (not (null? #{ids\ 1033}#))
+ (letrec ((#{f\ 1619}#
+ (lambda (#{ids\ 1620}# #{i\ 1621}#)
+ (if (not (null? #{ids\ 1620}#))
(call-with-values
(lambda ()
- (#{id-sym-name&marks\ 132}#
- (car #{ids\ 1033}#)
- #{w\ 1027}#))
- (lambda (#{symname\ 1035}#
- #{marks\ 1036}#)
+ (#{id-sym-name&marks\ 781}#
+ (car #{ids\ 1620}#)
+ #{w\ 1614}#))
+ (lambda (#{symname\ 1622}#
+ #{marks\ 1623}#)
(begin
(vector-set!
- #{symnamevec\ 1030}#
- #{i\ 1034}#
- #{symname\ 1035}#)
+ #{symnamevec\ 1617}#
+ #{i\ 1621}#
+ #{symname\ 1622}#)
(vector-set!
- #{marksvec\ 1031}#
- #{i\ 1034}#
- #{marks\ 1036}#)
- (#{f\ 1032}#
- (cdr #{ids\ 1033}#)
- (#{fx+\ 86}#
- #{i\ 1034}#
+ #{marksvec\ 1618}#
+ #{i\ 1621}#
+ #{marks\ 1623}#)
+ (#{f\ 1619}#
+ (cdr #{ids\ 1620}#)
+ (#{fx+\ 735}#
+ #{i\ 1621}#
1)))))))))
- (#{f\ 1032}# #{ids\ 1025}# 0))
- (#{make-ribcage\ 138}#
- #{symnamevec\ 1030}#
- #{marksvec\ 1031}#
- #{labelvec\ 1028}#)))))
- (#{wrap-subst\ 135}# #{w\ 1027}#))))))
- (#{extend-ribcage!\ 147}#
- (lambda (#{ribcage\ 1037}# #{id\ 1038}# #{label\ 1039}#)
+ (#{f\ 1619}# #{ids\ 1612}# 0))
+ (#{make-ribcage\ 787}#
+ #{symnamevec\ 1617}#
+ #{marksvec\ 1618}#
+ #{labelvec\ 1615}#)))))
+ (#{wrap-subst\ 784}# #{w\ 1614}#))))))
+ (#{extend-ribcage!\ 796}#
+ (lambda (#{ribcage\ 1624}# #{id\ 1625}# #{label\ 1626}#)
(begin
- (#{set-ribcage-symnames!\ 143}#
- #{ribcage\ 1037}#
- (cons (#{syntax-object-expression\ 116}# #{id\ 1038}#)
- (#{ribcage-symnames\ 140}# #{ribcage\ 1037}#)))
- (#{set-ribcage-marks!\ 144}#
- #{ribcage\ 1037}#
- (cons (#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{id\ 1038}#))
- (#{ribcage-marks\ 141}# #{ribcage\ 1037}#)))
- (#{set-ribcage-labels!\ 145}#
- #{ribcage\ 1037}#
- (cons #{label\ 1039}#
- (#{ribcage-labels\ 142}# #{ribcage\ 1037}#))))))
- (#{anti-mark\ 146}#
- (lambda (#{w\ 1040}#)
- (#{make-wrap\ 133}#
- (cons #f (#{wrap-marks\ 134}# #{w\ 1040}#))
+ (#{set-ribcage-symnames!\ 792}#
+ #{ribcage\ 1624}#
+ (cons (#{syntax-object-expression\ 765}# #{id\ 1625}#)
+ (#{ribcage-symnames\ 789}# #{ribcage\ 1624}#)))
+ (#{set-ribcage-marks!\ 793}#
+ #{ribcage\ 1624}#
+ (cons (#{wrap-marks\ 783}#
+ (#{syntax-object-wrap\ 766}# #{id\ 1625}#))
+ (#{ribcage-marks\ 790}# #{ribcage\ 1624}#)))
+ (#{set-ribcage-labels!\ 794}#
+ #{ribcage\ 1624}#
+ (cons #{label\ 1626}#
+ (#{ribcage-labels\ 791}# #{ribcage\ 1624}#))))))
+ (#{anti-mark\ 795}#
+ (lambda (#{w\ 1627}#)
+ (#{make-wrap\ 782}#
+ (cons #f (#{wrap-marks\ 783}# #{w\ 1627}#))
(cons 'shift
- (#{wrap-subst\ 135}# #{w\ 1040}#)))))
- (#{set-ribcage-labels!\ 145}#
- (lambda (#{x\ 1041}# #{update\ 1042}#)
- (vector-set! #{x\ 1041}# 3 #{update\ 1042}#)))
- (#{set-ribcage-marks!\ 144}#
- (lambda (#{x\ 1043}# #{update\ 1044}#)
- (vector-set! #{x\ 1043}# 2 #{update\ 1044}#)))
- (#{set-ribcage-symnames!\ 143}#
- (lambda (#{x\ 1045}# #{update\ 1046}#)
- (vector-set! #{x\ 1045}# 1 #{update\ 1046}#)))
- (#{ribcage-labels\ 142}#
- (lambda (#{x\ 1047}#) (vector-ref #{x\ 1047}# 3)))
- (#{ribcage-marks\ 141}#
- (lambda (#{x\ 1048}#) (vector-ref #{x\ 1048}# 2)))
- (#{ribcage-symnames\ 140}#
- (lambda (#{x\ 1049}#) (vector-ref #{x\ 1049}# 1)))
- (#{ribcage?\ 139}#
- (lambda (#{x\ 1050}#)
- (if (vector? #{x\ 1050}#)
- (if (= (vector-length #{x\ 1050}#) 4)
- (eq? (vector-ref #{x\ 1050}# 0) (quote ribcage))
+ (#{wrap-subst\ 784}# #{w\ 1627}#)))))
+ (#{set-ribcage-labels!\ 794}#
+ (lambda (#{x\ 1628}# #{update\ 1629}#)
+ (vector-set! #{x\ 1628}# 3 #{update\ 1629}#)))
+ (#{set-ribcage-marks!\ 793}#
+ (lambda (#{x\ 1630}# #{update\ 1631}#)
+ (vector-set! #{x\ 1630}# 2 #{update\ 1631}#)))
+ (#{set-ribcage-symnames!\ 792}#
+ (lambda (#{x\ 1632}# #{update\ 1633}#)
+ (vector-set! #{x\ 1632}# 1 #{update\ 1633}#)))
+ (#{ribcage-labels\ 791}#
+ (lambda (#{x\ 1634}#) (vector-ref #{x\ 1634}# 3)))
+ (#{ribcage-marks\ 790}#
+ (lambda (#{x\ 1635}#) (vector-ref #{x\ 1635}# 2)))
+ (#{ribcage-symnames\ 789}#
+ (lambda (#{x\ 1636}#) (vector-ref #{x\ 1636}# 1)))
+ (#{ribcage?\ 788}#
+ (lambda (#{x\ 1637}#)
+ (if (vector? #{x\ 1637}#)
+ (if (= (vector-length #{x\ 1637}#) 4)
+ (eq? (vector-ref #{x\ 1637}# 0) (quote ribcage))
#f)
#f)))
- (#{make-ribcage\ 138}#
- (lambda (#{symnames\ 1051}#
- #{marks\ 1052}#
- #{labels\ 1053}#)
+ (#{make-ribcage\ 787}#
+ (lambda (#{symnames\ 1638}#
+ #{marks\ 1639}#
+ #{labels\ 1640}#)
(vector
'ribcage
- #{symnames\ 1051}#
- #{marks\ 1052}#
- #{labels\ 1053}#)))
- (#{gen-labels\ 137}#
- (lambda (#{ls\ 1054}#)
- (if (null? #{ls\ 1054}#)
+ #{symnames\ 1638}#
+ #{marks\ 1639}#
+ #{labels\ 1640}#)))
+ (#{gen-labels\ 786}#
+ (lambda (#{ls\ 1641}#)
+ (if (null? #{ls\ 1641}#)
'()
- (cons (#{gen-label\ 136}#)
- (#{gen-labels\ 137}# (cdr #{ls\ 1054}#))))))
- (#{gen-label\ 136}# (lambda () (string #\i)))
- (#{wrap-subst\ 135}# cdr)
- (#{wrap-marks\ 134}# car)
- (#{make-wrap\ 133}# cons)
- (#{id-sym-name&marks\ 132}#
- (lambda (#{x\ 1055}# #{w\ 1056}#)
- (if (#{syntax-object?\ 115}# #{x\ 1055}#)
+ (cons (#{gen-label\ 785}#)
+ (#{gen-labels\ 786}# (cdr #{ls\ 1641}#))))))
+ (#{gen-label\ 785}# (lambda () (string #\i)))
+ (#{wrap-subst\ 784}# cdr)
+ (#{wrap-marks\ 783}# car)
+ (#{make-wrap\ 782}# cons)
+ (#{id-sym-name&marks\ 781}#
+ (lambda (#{x\ 1642}# #{w\ 1643}#)
+ (if (#{syntax-object?\ 764}# #{x\ 1642}#)
(values
- (#{syntax-object-expression\ 116}# #{x\ 1055}#)
- (#{join-marks\ 151}#
- (#{wrap-marks\ 134}# #{w\ 1056}#)
- (#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{x\ 1055}#))))
+ (#{syntax-object-expression\ 765}# #{x\ 1642}#)
+ (#{join-marks\ 800}#
+ (#{wrap-marks\ 783}# #{w\ 1643}#)
+ (#{wrap-marks\ 783}#
+ (#{syntax-object-wrap\ 766}# #{x\ 1642}#))))
(values
- #{x\ 1055}#
- (#{wrap-marks\ 134}# #{w\ 1056}#)))))
- (#{id?\ 131}#
- (lambda (#{x\ 1057}#)
- (if (symbol? #{x\ 1057}#)
+ #{x\ 1642}#
+ (#{wrap-marks\ 783}# #{w\ 1643}#)))))
+ (#{id?\ 780}#
+ (lambda (#{x\ 1644}#)
+ (if (symbol? #{x\ 1644}#)
#t
- (if (#{syntax-object?\ 115}# #{x\ 1057}#)
+ (if (#{syntax-object?\ 764}# #{x\ 1644}#)
(symbol?
- (#{syntax-object-expression\ 116}# #{x\ 1057}#))
+ (#{syntax-object-expression\ 765}# #{x\ 1644}#))
#f))))
- (#{nonsymbol-id?\ 130}#
- (lambda (#{x\ 1058}#)
- (if (#{syntax-object?\ 115}# #{x\ 1058}#)
+ (#{nonsymbol-id?\ 779}#
+ (lambda (#{x\ 1645}#)
+ (if (#{syntax-object?\ 764}# #{x\ 1645}#)
(symbol?
- (#{syntax-object-expression\ 116}# #{x\ 1058}#))
+ (#{syntax-object-expression\ 765}# #{x\ 1645}#))
#f)))
- (#{global-extend\ 129}#
- (lambda (#{type\ 1059}# #{sym\ 1060}# #{val\ 1061}#)
- (#{put-global-definition-hook\ 92}#
- #{sym\ 1060}#
- #{type\ 1059}#
- #{val\ 1061}#)))
- (#{lookup\ 128}#
- (lambda (#{x\ 1062}# #{r\ 1063}# #{mod\ 1064}#)
- (let ((#{t\ 1065}# (assq #{x\ 1062}# #{r\ 1063}#)))
- (if #{t\ 1065}#
- (cdr #{t\ 1065}#)
- (if (symbol? #{x\ 1062}#)
- (let ((#{t\ 1066}#
- (#{get-global-definition-hook\ 93}#
- #{x\ 1062}#
- #{mod\ 1064}#)))
- (if #{t\ 1066}# #{t\ 1066}# (quote (global))))
+ (#{global-extend\ 778}#
+ (lambda (#{type\ 1646}# #{sym\ 1647}# #{val\ 1648}#)
+ (#{put-global-definition-hook\ 741}#
+ #{sym\ 1647}#
+ #{type\ 1646}#
+ #{val\ 1648}#)))
+ (#{lookup\ 777}#
+ (lambda (#{x\ 1649}# #{r\ 1650}# #{mod\ 1651}#)
+ (let ((#{t\ 1652}# (assq #{x\ 1649}# #{r\ 1650}#)))
+ (if #{t\ 1652}#
+ (cdr #{t\ 1652}#)
+ (if (symbol? #{x\ 1649}#)
+ (let ((#{t\ 1653}#
+ (#{get-global-definition-hook\ 742}#
+ #{x\ 1649}#
+ #{mod\ 1651}#)))
+ (if #{t\ 1653}# #{t\ 1653}# (quote (global))))
'(displaced-lexical))))))
- (#{macros-only-env\ 127}#
- (lambda (#{r\ 1067}#)
- (if (null? #{r\ 1067}#)
+ (#{macros-only-env\ 776}#
+ (lambda (#{r\ 1654}#)
+ (if (null? #{r\ 1654}#)
'()
- (let ((#{a\ 1068}# (car #{r\ 1067}#)))
- (if (eq? (cadr #{a\ 1068}#) (quote macro))
- (cons #{a\ 1068}#
- (#{macros-only-env\ 127}# (cdr #{r\ 1067}#)))
- (#{macros-only-env\ 127}# (cdr #{r\ 1067}#)))))))
- (#{extend-var-env\ 126}#
- (lambda (#{labels\ 1069}# #{vars\ 1070}# #{r\ 1071}#)
- (if (null? #{labels\ 1069}#)
- #{r\ 1071}#
- (#{extend-var-env\ 126}#
- (cdr #{labels\ 1069}#)
- (cdr #{vars\ 1070}#)
- (cons (cons (car #{labels\ 1069}#)
- (cons (quote lexical) (car #{vars\ 1070}#)))
- #{r\ 1071}#)))))
- (#{extend-env\ 125}#
- (lambda (#{labels\ 1072}# #{bindings\ 1073}# #{r\ 1074}#)
- (if (null? #{labels\ 1072}#)
- #{r\ 1074}#
- (#{extend-env\ 125}#
- (cdr #{labels\ 1072}#)
- (cdr #{bindings\ 1073}#)
- (cons (cons (car #{labels\ 1072}#)
- (car #{bindings\ 1073}#))
- #{r\ 1074}#)))))
- (#{binding-value\ 124}# cdr)
- (#{binding-type\ 123}# car)
- (#{source-annotation\ 122}#
- (lambda (#{x\ 1075}#)
- (if (#{syntax-object?\ 115}# #{x\ 1075}#)
- (#{source-annotation\ 122}#
- (#{syntax-object-expression\ 116}# #{x\ 1075}#))
- (if (pair? #{x\ 1075}#)
- (let ((#{props\ 1076}# (source-properties #{x\ 1075}#)))
- (if (pair? #{props\ 1076}#) #{props\ 1076}# #f))
+ (let ((#{a\ 1655}# (car #{r\ 1654}#)))
+ (if (eq? (cadr #{a\ 1655}#) (quote macro))
+ (cons #{a\ 1655}#
+ (#{macros-only-env\ 776}# (cdr #{r\ 1654}#)))
+ (#{macros-only-env\ 776}# (cdr #{r\ 1654}#)))))))
+ (#{extend-var-env\ 775}#
+ (lambda (#{labels\ 1656}# #{vars\ 1657}# #{r\ 1658}#)
+ (if (null? #{labels\ 1656}#)
+ #{r\ 1658}#
+ (#{extend-var-env\ 775}#
+ (cdr #{labels\ 1656}#)
+ (cdr #{vars\ 1657}#)
+ (cons (cons (car #{labels\ 1656}#)
+ (cons (quote lexical) (car #{vars\ 1657}#)))
+ #{r\ 1658}#)))))
+ (#{extend-env\ 774}#
+ (lambda (#{labels\ 1659}# #{bindings\ 1660}# #{r\ 1661}#)
+ (if (null? #{labels\ 1659}#)
+ #{r\ 1661}#
+ (#{extend-env\ 774}#
+ (cdr #{labels\ 1659}#)
+ (cdr #{bindings\ 1660}#)
+ (cons (cons (car #{labels\ 1659}#)
+ (car #{bindings\ 1660}#))
+ #{r\ 1661}#)))))
+ (#{binding-value\ 773}# cdr)
+ (#{binding-type\ 772}# car)
+ (#{source-annotation\ 771}#
+ (lambda (#{x\ 1662}#)
+ (if (#{syntax-object?\ 764}# #{x\ 1662}#)
+ (#{source-annotation\ 771}#
+ (#{syntax-object-expression\ 765}# #{x\ 1662}#))
+ (if (pair? #{x\ 1662}#)
+ (let ((#{props\ 1663}# (source-properties #{x\ 1662}#)))
+ (if (pair? #{props\ 1663}#) #{props\ 1663}# #f))
#f))))
- (#{set-syntax-object-module!\ 121}#
- (lambda (#{x\ 1077}# #{update\ 1078}#)
- (vector-set! #{x\ 1077}# 3 #{update\ 1078}#)))
- (#{set-syntax-object-wrap!\ 120}#
- (lambda (#{x\ 1079}# #{update\ 1080}#)
- (vector-set! #{x\ 1079}# 2 #{update\ 1080}#)))
- (#{set-syntax-object-expression!\ 119}#
- (lambda (#{x\ 1081}# #{update\ 1082}#)
- (vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
- (#{syntax-object-module\ 118}#
- (lambda (#{x\ 1083}#) (vector-ref #{x\ 1083}# 3)))
- (#{syntax-object-wrap\ 117}#
- (lambda (#{x\ 1084}#) (vector-ref #{x\ 1084}# 2)))
- (#{syntax-object-expression\ 116}#
- (lambda (#{x\ 1085}#) (vector-ref #{x\ 1085}# 1)))
- (#{syntax-object?\ 115}#
- (lambda (#{x\ 1086}#)
- (if (vector? #{x\ 1086}#)
- (if (= (vector-length #{x\ 1086}#) 4)
- (eq? (vector-ref #{x\ 1086}# 0)
+ (#{set-syntax-object-module!\ 770}#
+ (lambda (#{x\ 1664}# #{update\ 1665}#)
+ (vector-set! #{x\ 1664}# 3 #{update\ 1665}#)))
+ (#{set-syntax-object-wrap!\ 769}#
+ (lambda (#{x\ 1666}# #{update\ 1667}#)
+ (vector-set! #{x\ 1666}# 2 #{update\ 1667}#)))
+ (#{set-syntax-object-expression!\ 768}#
+ (lambda (#{x\ 1668}# #{update\ 1669}#)
+ (vector-set! #{x\ 1668}# 1 #{update\ 1669}#)))
+ (#{syntax-object-module\ 767}#
+ (lambda (#{x\ 1670}#) (vector-ref #{x\ 1670}# 3)))
+ (#{syntax-object-wrap\ 766}#
+ (lambda (#{x\ 1671}#) (vector-ref #{x\ 1671}# 2)))
+ (#{syntax-object-expression\ 765}#
+ (lambda (#{x\ 1672}#) (vector-ref #{x\ 1672}# 1)))
+ (#{syntax-object?\ 764}#
+ (lambda (#{x\ 1673}#)
+ (if (vector? #{x\ 1673}#)
+ (if (= (vector-length #{x\ 1673}#) 4)
+ (eq? (vector-ref #{x\ 1673}# 0)
'syntax-object)
#f)
#f)))
- (#{make-syntax-object\ 114}#
- (lambda (#{expression\ 1087}#
- #{wrap\ 1088}#
- #{module\ 1089}#)
+ (#{make-syntax-object\ 763}#
+ (lambda (#{expression\ 1674}#
+ #{wrap\ 1675}#
+ #{module\ 1676}#)
(vector
'syntax-object
- #{expression\ 1087}#
- #{wrap\ 1088}#
- #{module\ 1089}#)))
- (#{build-letrec\ 113}#
- (lambda (#{src\ 1090}#
- #{ids\ 1091}#
- #{vars\ 1092}#
- #{val-exps\ 1093}#
- #{body-exp\ 1094}#)
- (if (null? #{vars\ 1092}#)
- #{body-exp\ 1094}#
- (let ((#{atom-key\ 1095}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1095}# (quote (c)))
+ #{expression\ 1674}#
+ #{wrap\ 1675}#
+ #{module\ 1676}#)))
+ (#{build-letrec\ 762}#
+ (lambda (#{src\ 1677}#
+ #{ids\ 1678}#
+ #{vars\ 1679}#
+ #{val-exps\ 1680}#
+ #{body-exp\ 1681}#)
+ (if (null? #{vars\ 1679}#)
+ #{body-exp\ 1681}#
+ (let ((#{atom-key\ 1682}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1682}# (quote (c)))
(begin
(for-each
- #{maybe-name-value!\ 103}#
- #{ids\ 1091}#
- #{val-exps\ 1093}#)
+ #{maybe-name-value!\ 752}#
+ #{ids\ 1678}#
+ #{val-exps\ 1680}#)
((@ (language tree-il) make-letrec)
- #{src\ 1090}#
- #{ids\ 1091}#
- #{vars\ 1092}#
- #{val-exps\ 1093}#
- #{body-exp\ 1094}#))
- (#{decorate-source\ 94}#
+ #{src\ 1677}#
+ #{ids\ 1678}#
+ #{vars\ 1679}#
+ #{val-exps\ 1680}#
+ #{body-exp\ 1681}#))
+ (#{decorate-source\ 743}#
(list 'letrec
- (map list #{vars\ 1092}# #{val-exps\ 1093}#)
- #{body-exp\ 1094}#)
- #{src\ 1090}#))))))
- (#{build-named-let\ 112}#
- (lambda (#{src\ 1096}#
- #{ids\ 1097}#
- #{vars\ 1098}#
- #{val-exps\ 1099}#
- #{body-exp\ 1100}#)
- (let ((#{f\ 1101}# (car #{vars\ 1098}#))
- (#{f-name\ 1102}# (car #{ids\ 1097}#))
- (#{vars\ 1103}# (cdr #{vars\ 1098}#))
- (#{ids\ 1104}# (cdr #{ids\ 1097}#)))
- (let ((#{atom-key\ 1105}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1105}# (quote (c)))
- (let ((#{proc\ 1106}#
- (#{build-simple-lambda\ 105}#
- #{src\ 1096}#
- #{ids\ 1104}#
+ (map list #{vars\ 1679}# #{val-exps\ 1680}#)
+ #{body-exp\ 1681}#)
+ #{src\ 1677}#))))))
+ (#{build-named-let\ 761}#
+ (lambda (#{src\ 1683}#
+ #{ids\ 1684}#
+ #{vars\ 1685}#
+ #{val-exps\ 1686}#
+ #{body-exp\ 1687}#)
+ (let ((#{f\ 1688}# (car #{vars\ 1685}#))
+ (#{f-name\ 1689}# (car #{ids\ 1684}#))
+ (#{vars\ 1690}# (cdr #{vars\ 1685}#))
+ (#{ids\ 1691}# (cdr #{ids\ 1684}#)))
+ (let ((#{atom-key\ 1692}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1692}# (quote (c)))
+ (let ((#{proc\ 1693}#
+ (#{build-simple-lambda\ 754}#
+ #{src\ 1683}#
+ #{ids\ 1691}#
#f
- #{vars\ 1103}#
+ #{vars\ 1690}#
#f
- #{body-exp\ 1100}#)))
+ #{body-exp\ 1687}#)))
(begin
- (#{maybe-name-value!\ 103}#
- #{f-name\ 1102}#
- #{proc\ 1106}#)
+ (#{maybe-name-value!\ 752}#
+ #{f-name\ 1689}#
+ #{proc\ 1693}#)
(for-each
- #{maybe-name-value!\ 103}#
- #{ids\ 1104}#
- #{val-exps\ 1099}#)
+ #{maybe-name-value!\ 752}#
+ #{ids\ 1691}#
+ #{val-exps\ 1686}#)
((@ (language tree-il) make-letrec)
- #{src\ 1096}#
- (list #{f-name\ 1102}#)
- (list #{f\ 1101}#)
- (list #{proc\ 1106}#)
- (#{build-application\ 96}#
- #{src\ 1096}#
- (#{build-lexical-reference\ 98}#
+ #{src\ 1683}#
+ (list #{f-name\ 1689}#)
+ (list #{f\ 1688}#)
+ (list #{proc\ 1693}#)
+ (#{build-application\ 745}#
+ #{src\ 1683}#
+ (#{build-lexical-reference\ 747}#
'fun
- #{src\ 1096}#
- #{f-name\ 1102}#
- #{f\ 1101}#)
- #{val-exps\ 1099}#))))
- (#{decorate-source\ 94}#
+ #{src\ 1683}#
+ #{f-name\ 1689}#
+ #{f\ 1688}#)
+ #{val-exps\ 1686}#))))
+ (#{decorate-source\ 743}#
(list 'let
- #{f\ 1101}#
- (map list #{vars\ 1103}# #{val-exps\ 1099}#)
- #{body-exp\ 1100}#)
- #{src\ 1096}#))))))
- (#{build-let\ 111}#
- (lambda (#{src\ 1107}#
- #{ids\ 1108}#
- #{vars\ 1109}#
- #{val-exps\ 1110}#
- #{body-exp\ 1111}#)
- (if (null? #{vars\ 1109}#)
- #{body-exp\ 1111}#
- (let ((#{atom-key\ 1112}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1112}# (quote (c)))
+ #{f\ 1688}#
+ (map list #{vars\ 1690}# #{val-exps\ 1686}#)
+ #{body-exp\ 1687}#)
+ #{src\ 1683}#))))))
+ (#{build-let\ 760}#
+ (lambda (#{src\ 1694}#
+ #{ids\ 1695}#
+ #{vars\ 1696}#
+ #{val-exps\ 1697}#
+ #{body-exp\ 1698}#)
+ (if (null? #{vars\ 1696}#)
+ #{body-exp\ 1698}#
+ (let ((#{atom-key\ 1699}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1699}# (quote (c)))
(begin
(for-each
- #{maybe-name-value!\ 103}#
- #{ids\ 1108}#
- #{val-exps\ 1110}#)
+ #{maybe-name-value!\ 752}#
+ #{ids\ 1695}#
+ #{val-exps\ 1697}#)
((@ (language tree-il) make-let)
- #{src\ 1107}#
- #{ids\ 1108}#
- #{vars\ 1109}#
- #{val-exps\ 1110}#
- #{body-exp\ 1111}#))
- (#{decorate-source\ 94}#
+ #{src\ 1694}#
+ #{ids\ 1695}#
+ #{vars\ 1696}#
+ #{val-exps\ 1697}#
+ #{body-exp\ 1698}#))
+ (#{decorate-source\ 743}#
(list 'let
- (map list #{vars\ 1109}# #{val-exps\ 1110}#)
- #{body-exp\ 1111}#)
- #{src\ 1107}#))))))
- (#{build-sequence\ 110}#
- (lambda (#{src\ 1113}# #{exps\ 1114}#)
- (if (null? (cdr #{exps\ 1114}#))
- (car #{exps\ 1114}#)
- (let ((#{atom-key\ 1115}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1115}# (quote (c)))
+ (map list #{vars\ 1696}# #{val-exps\ 1697}#)
+ #{body-exp\ 1698}#)
+ #{src\ 1694}#))))))
+ (#{build-sequence\ 759}#
+ (lambda (#{src\ 1700}# #{exps\ 1701}#)
+ (if (null? (cdr #{exps\ 1701}#))
+ (car #{exps\ 1701}#)
+ (let ((#{atom-key\ 1702}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1702}# (quote (c)))
((@ (language tree-il) make-sequence)
- #{src\ 1113}#
- #{exps\ 1114}#)
- (#{decorate-source\ 94}#
- (cons (quote begin) #{exps\ 1114}#)
- #{src\ 1113}#))))))
- (#{build-data\ 109}#
- (lambda (#{src\ 1116}# #{exp\ 1117}#)
- (let ((#{atom-key\ 1118}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1118}# (quote (c)))
+ #{src\ 1700}#
+ #{exps\ 1701}#)
+ (#{decorate-source\ 743}#
+ (cons (quote begin) #{exps\ 1701}#)
+ #{src\ 1700}#))))))
+ (#{build-data\ 758}#
+ (lambda (#{src\ 1703}# #{exp\ 1704}#)
+ (let ((#{atom-key\ 1705}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1705}# (quote (c)))
((@ (language tree-il) make-const)
- #{src\ 1116}#
- #{exp\ 1117}#)
- (#{decorate-source\ 94}#
- (if (if (self-evaluating? #{exp\ 1117}#)
- (not (vector? #{exp\ 1117}#))
+ #{src\ 1703}#
+ #{exp\ 1704}#)
+ (#{decorate-source\ 743}#
+ (if (if (self-evaluating? #{exp\ 1704}#)
+ (not (vector? #{exp\ 1704}#))
#f)
- #{exp\ 1117}#
- (list (quote quote) #{exp\ 1117}#))
- #{src\ 1116}#)))))
- (#{build-primref\ 108}#
- (lambda (#{src\ 1119}# #{name\ 1120}#)
+ #{exp\ 1704}#
+ (list (quote quote) #{exp\ 1704}#))
+ #{src\ 1703}#)))))
+ (#{build-primref\ 757}#
+ (lambda (#{src\ 1706}# #{name\ 1707}#)
(if (equal?
(module-name (current-module))
'(guile))
- (let ((#{atom-key\ 1121}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1121}# (quote (c)))
+ (let ((#{atom-key\ 1708}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1708}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
- #{src\ 1119}#
- #{name\ 1120}#)
- (#{decorate-source\ 94}#
- #{name\ 1120}#
- #{src\ 1119}#)))
- (let ((#{atom-key\ 1122}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1122}# (quote (c)))
+ #{src\ 1706}#
+ #{name\ 1707}#)
+ (#{decorate-source\ 743}#
+ #{name\ 1707}#
+ #{src\ 1706}#)))
+ (let ((#{atom-key\ 1709}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1709}# (quote (c)))
((@ (language tree-il) make-module-ref)
- #{src\ 1119}#
+ #{src\ 1706}#
'(guile)
- #{name\ 1120}#
+ #{name\ 1707}#
#f)
- (#{decorate-source\ 94}#
- (list (quote @@) (quote (guile)) #{name\ 1120}#)
- #{src\ 1119}#))))))
- (#{build-lambda-case\ 107}#
- (lambda (#{src\ 1123}#
- #{req\ 1124}#
- #{opt\ 1125}#
- #{rest\ 1126}#
- #{kw\ 1127}#
- #{inits\ 1128}#
- #{vars\ 1129}#
- #{predicate\ 1130}#
- #{body\ 1131}#
- #{else-case\ 1132}#)
- (let ((#{atom-key\ 1133}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1133}# (quote (c)))
+ (#{decorate-source\ 743}#
+ (list (quote @@) (quote (guile)) #{name\ 1707}#)
+ #{src\ 1706}#))))))
+ (#{build-lambda-case\ 756}#
+ (lambda (#{src\ 1710}#
+ #{req\ 1711}#
+ #{opt\ 1712}#
+ #{rest\ 1713}#
+ #{kw\ 1714}#
+ #{inits\ 1715}#
+ #{vars\ 1716}#
+ #{body\ 1717}#
+ #{else-case\ 1718}#)
+ (let ((#{atom-key\ 1719}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1719}# (quote (c)))
((@ (language tree-il) make-lambda-case)
- #{src\ 1123}#
- #{req\ 1124}#
- #{opt\ 1125}#
- #{rest\ 1126}#
- #{kw\ 1127}#
- #{inits\ 1128}#
- #{vars\ 1129}#
- #{predicate\ 1130}#
- #{body\ 1131}#
- #{else-case\ 1132}#)
- (let ((#{nreq\ 1134}# (length #{req\ 1124}#)))
- (let ((#{nopt\ 1135}#
- (if #{opt\ 1125}# (length #{opt\ 1125}#) 0)))
- (let ((#{rest-idx\ 1136}#
- (if #{rest\ 1126}#
- (+ #{nreq\ 1134}# #{nopt\ 1135}#)
+ #{src\ 1710}#
+ #{req\ 1711}#
+ #{opt\ 1712}#
+ #{rest\ 1713}#
+ #{kw\ 1714}#
+ #{inits\ 1715}#
+ #{vars\ 1716}#
+ #{body\ 1717}#
+ #{else-case\ 1718}#)
+ (let ((#{nreq\ 1720}# (length #{req\ 1711}#)))
+ (let ((#{nopt\ 1721}#
+ (if #{opt\ 1712}# (length #{opt\ 1712}#) 0)))
+ (let ((#{rest-idx\ 1722}#
+ (if #{rest\ 1713}#
+ (+ #{nreq\ 1720}# #{nopt\ 1721}#)
#f)))
- (let ((#{allow-other-keys?\ 1137}#
- (if #{kw\ 1127}# (car #{kw\ 1127}#) #f)))
- (let ((#{kw-indices\ 1138}#
- (map (lambda (#{x\ 1139}#)
- (cons (car #{x\ 1139}#)
+ (let ((#{allow-other-keys?\ 1723}#
+ (if #{kw\ 1714}# (car #{kw\ 1714}#) #f)))
+ (let ((#{kw-indices\ 1724}#
+ (map (lambda (#{x\ 1725}#)
+ (cons (car #{x\ 1725}#)
(list-index
- #{vars\ 1129}#
- (caddr #{x\ 1139}#))))
- (if #{kw\ 1127}#
- (cdr #{kw\ 1127}#)
+ #{vars\ 1716}#
+ (caddr #{x\ 1725}#))))
+ (if #{kw\ 1714}#
+ (cdr #{kw\ 1714}#)
'()))))
- (let ((#{nargs\ 1140}#
+ (let ((#{nargs\ 1726}#
(apply max
- (+ #{nreq\ 1134}#
- #{nopt\ 1135}#
- (if #{rest\ 1126}# 1 0))
+ (+ #{nreq\ 1720}#
+ #{nopt\ 1721}#
+ (if #{rest\ 1713}# 1 0))
(map 1+
(map cdr
- #{kw-indices\ 1138}#)))))
+ #{kw-indices\ 1724}#)))))
(begin
- (let ((#{t\ 1141}#
- (= #{nargs\ 1140}#
- (length #{vars\ 1129}#)
- (+ #{nreq\ 1134}#
- (length #{inits\ 1128}#)
- (if #{rest\ 1126}# 1 0)))))
- (if #{t\ 1141}#
- #{t\ 1141}#
+ (let ((#{t\ 1727}#
+ (= #{nargs\ 1726}#
+ (length #{vars\ 1716}#)
+ (+ #{nreq\ 1720}#
+ (length #{inits\ 1715}#)
+ (if #{rest\ 1713}# 1 0)))))
+ (if #{t\ 1727}#
+ #{t\ 1727}#
(error "something went wrong"
- #{req\ 1124}#
- #{opt\ 1125}#
- #{rest\ 1126}#
- #{kw\ 1127}#
- #{inits\ 1128}#
- #{vars\ 1129}#
- #{nreq\ 1134}#
- #{nopt\ 1135}#
- #{kw-indices\ 1138}#
- #{nargs\ 1140}#)))
- (#{decorate-source\ 94}#
+ #{req\ 1711}#
+ #{opt\ 1712}#
+ #{rest\ 1713}#
+ #{kw\ 1714}#
+ #{inits\ 1715}#
+ #{vars\ 1716}#
+ #{nreq\ 1720}#
+ #{nopt\ 1721}#
+ #{kw-indices\ 1724}#
+ #{nargs\ 1726}#)))
+ (#{decorate-source\ 743}#
(cons (list (cons '(@@ (ice-9 optargs)
parse-lambda-case)
(cons (list 'quote
- (list #{nreq\
1134}#
- #{nopt\
1135}#
-
#{rest-idx\ 1136}#
-
#{nargs\ 1140}#
-
#{allow-other-keys?\ 1137}#
-
#{kw-indices\ 1138}#))
+ (list #{nreq\
1720}#
+ #{nopt\
1721}#
+
#{rest-idx\ 1722}#
+
#{nargs\ 1726}#
+
#{allow-other-keys?\ 1723}#
+
#{kw-indices\ 1724}#))
(cons (cons 'list
- (map
(lambda (#{i\ 1142}#)
+ (map
(lambda (#{i\ 1728}#)
(list 'lambda
-
#{vars\ 1129}#
-
#{i\ 1142}#))
-
#{inits\ 1128}#))
- (cons (if
#{predicate\ 1130}#
- (list
'lambda
-
#{vars\ 1129}#
-
#{predicate\ 1130}#)
- #f)
-
'(%%args)))))
+
#{vars\ 1716}#
+
#{i\ 1728}#))
+
#{inits\ 1715}#))
+ '(%%args))))
'=>
(list 'lambda
'(%%%args . _)
(cons 'apply
(cons (list 'lambda
- #{vars\
1129}#
- #{body\
1131}#)
+ #{vars\
1716}#
+ #{body\
1717}#)
'(%%%args)))))
- (let ((#{t\ 1143}#
- #{else-case\ 1132}#))
- (if #{t\ 1143}#
- #{t\ 1143}#
+ (let ((#{t\ 1729}#
+ #{else-case\ 1718}#))
+ (if #{t\ 1729}#
+ #{t\ 1729}#
'((%%args
(error "wrong number of
arguments"
%%args))))))
- #{src\ 1123}#))))))))))))
- (#{build-case-lambda\ 106}#
- (lambda (#{src\ 1144}#
- #{docstring\ 1145}#
- #{body\ 1146}#)
- (let ((#{atom-key\ 1147}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1147}# (quote (c)))
+ #{src\ 1710}#))))))))))))
+ (#{build-case-lambda\ 755}#
+ (lambda (#{src\ 1730}#
+ #{docstring\ 1731}#
+ #{body\ 1732}#)
+ (let ((#{atom-key\ 1733}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1733}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 1144}#
- (if #{docstring\ 1145}#
- (list (cons (quote documentation) #{docstring\ 1145}#))
+ #{src\ 1730}#
+ (if #{docstring\ 1731}#
+ (list (cons (quote documentation) #{docstring\ 1731}#))
'())
- #{body\ 1146}#)
- (#{decorate-source\ 94}#
+ #{body\ 1732}#)
+ (#{decorate-source\ 743}#
(cons 'lambda
(cons '%%args
(append
- (if #{docstring\ 1145}#
- (list #{docstring\ 1145}#)
+ (if #{docstring\ 1731}#
+ (list #{docstring\ 1731}#)
'())
- (list (cons (quote cond) #{body\ 1146}#)))))
- #{src\ 1144}#)))))
- (#{build-simple-lambda\ 105}#
- (lambda (#{src\ 1148}#
- #{req\ 1149}#
- #{rest\ 1150}#
- #{vars\ 1151}#
- #{docstring\ 1152}#
- #{exp\ 1153}#)
- (let ((#{atom-key\ 1154}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1154}# (quote (c)))
+ (list (cons (quote cond) #{body\ 1732}#)))))
+ #{src\ 1730}#)))))
+ (#{build-simple-lambda\ 754}#
+ (lambda (#{src\ 1734}#
+ #{req\ 1735}#
+ #{rest\ 1736}#
+ #{vars\ 1737}#
+ #{docstring\ 1738}#
+ #{exp\ 1739}#)
+ (let ((#{atom-key\ 1740}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1740}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 1148}#
- (if #{docstring\ 1152}#
- (list (cons (quote documentation) #{docstring\ 1152}#))
+ #{src\ 1734}#
+ (if #{docstring\ 1738}#
+ (list (cons (quote documentation) #{docstring\ 1738}#))
'())
((@ (language tree-il) make-lambda-case)
- #{src\ 1148}#
- #{req\ 1149}#
+ #{src\ 1734}#
+ #{req\ 1735}#
#f
- #{rest\ 1150}#
+ #{rest\ 1736}#
#f
'()
- #{vars\ 1151}#
- #f
- #{exp\ 1153}#
+ #{vars\ 1737}#
+ #{exp\ 1739}#
#f))
- (#{decorate-source\ 94}#
+ (#{decorate-source\ 743}#
(cons 'lambda
- (cons (if #{rest\ 1150}#
- (apply cons* #{vars\ 1151}#)
- #{vars\ 1151}#)
+ (cons (if #{rest\ 1736}#
+ (apply cons* #{vars\ 1737}#)
+ #{vars\ 1737}#)
(append
- (if #{docstring\ 1152}#
- (list #{docstring\ 1152}#)
+ (if #{docstring\ 1738}#
+ (list #{docstring\ 1738}#)
'())
- (list #{exp\ 1153}#))))
- #{src\ 1148}#)))))
- (#{build-global-definition\ 104}#
- (lambda (#{source\ 1155}# #{var\ 1156}# #{exp\ 1157}#)
- (let ((#{atom-key\ 1158}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1158}# (quote (c)))
+ (list #{exp\ 1739}#))))
+ #{src\ 1734}#)))))
+ (#{build-global-definition\ 753}#
+ (lambda (#{source\ 1741}# #{var\ 1742}# #{exp\ 1743}#)
+ (let ((#{atom-key\ 1744}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1744}# (quote (c)))
(begin
- (#{maybe-name-value!\ 103}#
- #{var\ 1156}#
- #{exp\ 1157}#)
+ (#{maybe-name-value!\ 752}#
+ #{var\ 1742}#
+ #{exp\ 1743}#)
((@ (language tree-il) make-toplevel-define)
- #{source\ 1155}#
- #{var\ 1156}#
- #{exp\ 1157}#))
- (#{decorate-source\ 94}#
- (list (quote define) #{var\ 1156}# #{exp\ 1157}#)
- #{source\ 1155}#)))))
- (#{maybe-name-value!\ 103}#
- (lambda (#{name\ 1159}# #{val\ 1160}#)
- (if ((@ (language tree-il) lambda?) #{val\ 1160}#)
- (let ((#{meta\ 1161}#
+ #{source\ 1741}#
+ #{var\ 1742}#
+ #{exp\ 1743}#))
+ (#{decorate-source\ 743}#
+ (list (quote define) #{var\ 1742}# #{exp\ 1743}#)
+ #{source\ 1741}#)))))
+ (#{maybe-name-value!\ 752}#
+ (lambda (#{name\ 1745}# #{val\ 1746}#)
+ (if ((@ (language tree-il) lambda?) #{val\ 1746}#)
+ (let ((#{meta\ 1747}#
((@ (language tree-il) lambda-meta)
- #{val\ 1160}#)))
- (if (not (assq (quote name) #{meta\ 1161}#))
+ #{val\ 1746}#)))
+ (if (not (assq (quote name) #{meta\ 1747}#))
((setter (@ (language tree-il) lambda-meta))
- #{val\ 1160}#
+ #{val\ 1746}#
(acons 'name
- #{name\ 1159}#
- #{meta\ 1161}#)))))))
- (#{build-global-assignment\ 102}#
- (lambda (#{source\ 1162}#
- #{var\ 1163}#
- #{exp\ 1164}#
- #{mod\ 1165}#)
- (#{analyze-variable\ 100}#
- #{mod\ 1165}#
- #{var\ 1163}#
- (lambda (#{mod\ 1166}# #{var\ 1167}# #{public?\ 1168}#)
- (let ((#{atom-key\ 1169}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1169}# (quote (c)))
+ #{name\ 1745}#
+ #{meta\ 1747}#)))))))
+ (#{build-global-assignment\ 751}#
+ (lambda (#{source\ 1748}#
+ #{var\ 1749}#
+ #{exp\ 1750}#
+ #{mod\ 1751}#)
+ (#{analyze-variable\ 749}#
+ #{mod\ 1751}#
+ #{var\ 1749}#
+ (lambda (#{mod\ 1752}# #{var\ 1753}# #{public?\ 1754}#)
+ (let ((#{atom-key\ 1755}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1755}# (quote (c)))
((@ (language tree-il) make-module-set)
- #{source\ 1162}#
- #{mod\ 1166}#
- #{var\ 1167}#
- #{public?\ 1168}#
- #{exp\ 1164}#)
- (#{decorate-source\ 94}#
+ #{source\ 1748}#
+ #{mod\ 1752}#
+ #{var\ 1753}#
+ #{public?\ 1754}#
+ #{exp\ 1750}#)
+ (#{decorate-source\ 743}#
(list 'set!
- (list (if #{public?\ 1168}#
+ (list (if #{public?\ 1754}#
'@
'@@)
- #{mod\ 1166}#
- #{var\ 1167}#)
- #{exp\ 1164}#)
- #{source\ 1162}#))))
- (lambda (#{var\ 1170}#)
- (let ((#{atom-key\ 1171}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1171}# (quote (c)))
+ #{mod\ 1752}#
+ #{var\ 1753}#)
+ #{exp\ 1750}#)
+ #{source\ 1748}#))))
+ (lambda (#{var\ 1756}#)
+ (let ((#{atom-key\ 1757}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1757}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
- #{source\ 1162}#
- #{var\ 1170}#
- #{exp\ 1164}#)
- (#{decorate-source\ 94}#
- (list (quote set!) #{var\ 1170}# #{exp\ 1164}#)
- #{source\ 1162}#)))))))
- (#{build-global-reference\ 101}#
- (lambda (#{source\ 1172}# #{var\ 1173}# #{mod\ 1174}#)
- (#{analyze-variable\ 100}#
- #{mod\ 1174}#
- #{var\ 1173}#
- (lambda (#{mod\ 1175}# #{var\ 1176}# #{public?\ 1177}#)
- (let ((#{atom-key\ 1178}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1178}# (quote (c)))
+ #{source\ 1748}#
+ #{var\ 1756}#
+ #{exp\ 1750}#)
+ (#{decorate-source\ 743}#
+ (list (quote set!) #{var\ 1756}# #{exp\ 1750}#)
+ #{source\ 1748}#)))))))
+ (#{build-global-reference\ 750}#
+ (lambda (#{source\ 1758}# #{var\ 1759}# #{mod\ 1760}#)
+ (#{analyze-variable\ 749}#
+ #{mod\ 1760}#
+ #{var\ 1759}#
+ (lambda (#{mod\ 1761}# #{var\ 1762}# #{public?\ 1763}#)
+ (let ((#{atom-key\ 1764}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1764}# (quote (c)))
((@ (language tree-il) make-module-ref)
- #{source\ 1172}#
- #{mod\ 1175}#
- #{var\ 1176}#
- #{public?\ 1177}#)
- (#{decorate-source\ 94}#
- (list (if #{public?\ 1177}# (quote @) (quote @@))
- #{mod\ 1175}#
- #{var\ 1176}#)
- #{source\ 1172}#))))
- (lambda (#{var\ 1179}#)
- (let ((#{atom-key\ 1180}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1180}# (quote (c)))
+ #{source\ 1758}#
+ #{mod\ 1761}#
+ #{var\ 1762}#
+ #{public?\ 1763}#)
+ (#{decorate-source\ 743}#
+ (list (if #{public?\ 1763}# (quote @) (quote @@))
+ #{mod\ 1761}#
+ #{var\ 1762}#)
+ #{source\ 1758}#))))
+ (lambda (#{var\ 1765}#)
+ (let ((#{atom-key\ 1766}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1766}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
- #{source\ 1172}#
- #{var\ 1179}#)
- (#{decorate-source\ 94}#
- #{var\ 1179}#
- #{source\ 1172}#)))))))
- (#{analyze-variable\ 100}#
- (lambda (#{mod\ 1181}#
- #{var\ 1182}#
- #{modref-cont\ 1183}#
- #{bare-cont\ 1184}#)
- (if (not #{mod\ 1181}#)
- (#{bare-cont\ 1184}# #{var\ 1182}#)
- (let ((#{kind\ 1185}# (car #{mod\ 1181}#))
- (#{mod\ 1186}# (cdr #{mod\ 1181}#)))
- (if (memv #{kind\ 1185}# (quote (public)))
- (#{modref-cont\ 1183}#
- #{mod\ 1186}#
- #{var\ 1182}#
+ #{source\ 1758}#
+ #{var\ 1765}#)
+ (#{decorate-source\ 743}#
+ #{var\ 1765}#
+ #{source\ 1758}#)))))))
+ (#{analyze-variable\ 749}#
+ (lambda (#{mod\ 1767}#
+ #{var\ 1768}#
+ #{modref-cont\ 1769}#
+ #{bare-cont\ 1770}#)
+ (if (not #{mod\ 1767}#)
+ (#{bare-cont\ 1770}# #{var\ 1768}#)
+ (let ((#{kind\ 1771}# (car #{mod\ 1767}#))
+ (#{mod\ 1772}# (cdr #{mod\ 1767}#)))
+ (if (memv #{kind\ 1771}# (quote (public)))
+ (#{modref-cont\ 1769}#
+ #{mod\ 1772}#
+ #{var\ 1768}#
#t)
- (if (memv #{kind\ 1185}# (quote (private)))
+ (if (memv #{kind\ 1771}# (quote (private)))
(if (not (equal?
- #{mod\ 1186}#
+ #{mod\ 1772}#
(module-name (current-module))))
- (#{modref-cont\ 1183}#
- #{mod\ 1186}#
- #{var\ 1182}#
+ (#{modref-cont\ 1769}#
+ #{mod\ 1772}#
+ #{var\ 1768}#
#f)
- (#{bare-cont\ 1184}# #{var\ 1182}#))
- (if (memv #{kind\ 1185}# (quote (bare)))
- (#{bare-cont\ 1184}# #{var\ 1182}#)
- (if (memv #{kind\ 1185}# (quote (hygiene)))
+ (#{bare-cont\ 1770}# #{var\ 1768}#))
+ (if (memv #{kind\ 1771}# (quote (bare)))
+ (#{bare-cont\ 1770}# #{var\ 1768}#)
+ (if (memv #{kind\ 1771}# (quote (hygiene)))
(if (if (not (equal?
- #{mod\ 1186}#
+ #{mod\ 1772}#
(module-name (current-module))))
(module-variable
- (resolve-module #{mod\ 1186}#)
- #{var\ 1182}#)
+ (resolve-module #{mod\ 1772}#)
+ #{var\ 1768}#)
#f)
- (#{modref-cont\ 1183}#
- #{mod\ 1186}#
- #{var\ 1182}#
+ (#{modref-cont\ 1769}#
+ #{mod\ 1772}#
+ #{var\ 1768}#
#f)
- (#{bare-cont\ 1184}# #{var\ 1182}#))
+ (#{bare-cont\ 1770}# #{var\ 1768}#))
(syntax-violation
#f
"bad module kind"
- #{var\ 1182}#
- #{mod\ 1186}#)))))))))
- (#{build-lexical-assignment\ 99}#
- (lambda (#{source\ 1187}#
- #{name\ 1188}#
- #{var\ 1189}#
- #{exp\ 1190}#)
- (let ((#{atom-key\ 1191}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1191}# (quote (c)))
+ #{var\ 1768}#
+ #{mod\ 1772}#)))))))))
+ (#{build-lexical-assignment\ 748}#
+ (lambda (#{source\ 1773}#
+ #{name\ 1774}#
+ #{var\ 1775}#
+ #{exp\ 1776}#)
+ (let ((#{atom-key\ 1777}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1777}# (quote (c)))
((@ (language tree-il) make-lexical-set)
- #{source\ 1187}#
- #{name\ 1188}#
- #{var\ 1189}#
- #{exp\ 1190}#)
- (#{decorate-source\ 94}#
- (list (quote set!) #{var\ 1189}# #{exp\ 1190}#)
- #{source\ 1187}#)))))
- (#{build-lexical-reference\ 98}#
- (lambda (#{type\ 1192}#
- #{source\ 1193}#
- #{name\ 1194}#
- #{var\ 1195}#)
- (let ((#{atom-key\ 1196}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1196}# (quote (c)))
+ #{source\ 1773}#
+ #{name\ 1774}#
+ #{var\ 1775}#
+ #{exp\ 1776}#)
+ (#{decorate-source\ 743}#
+ (list (quote set!) #{var\ 1775}# #{exp\ 1776}#)
+ #{source\ 1773}#)))))
+ (#{build-lexical-reference\ 747}#
+ (lambda (#{type\ 1778}#
+ #{source\ 1779}#
+ #{name\ 1780}#
+ #{var\ 1781}#)
+ (let ((#{atom-key\ 1782}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1782}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
- #{source\ 1193}#
- #{name\ 1194}#
- #{var\ 1195}#)
- (#{decorate-source\ 94}#
- #{var\ 1195}#
- #{source\ 1193}#)))))
- (#{build-conditional\ 97}#
- (lambda (#{source\ 1197}#
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#
- #{else-exp\ 1200}#)
- (let ((#{atom-key\ 1201}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1201}# (quote (c)))
+ #{source\ 1779}#
+ #{name\ 1780}#
+ #{var\ 1781}#)
+ (#{decorate-source\ 743}#
+ #{var\ 1781}#
+ #{source\ 1779}#)))))
+ (#{build-conditional\ 746}#
+ (lambda (#{source\ 1783}#
+ #{test-exp\ 1784}#
+ #{then-exp\ 1785}#
+ #{else-exp\ 1786}#)
+ (let ((#{atom-key\ 1787}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1787}# (quote (c)))
((@ (language tree-il) make-conditional)
- #{source\ 1197}#
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#
- #{else-exp\ 1200}#)
- (#{decorate-source\ 94}#
- (if (equal? #{else-exp\ 1200}# (quote (if #f #f)))
+ #{source\ 1783}#
+ #{test-exp\ 1784}#
+ #{then-exp\ 1785}#
+ #{else-exp\ 1786}#)
+ (#{decorate-source\ 743}#
+ (if (equal? #{else-exp\ 1786}# (quote (if #f #f)))
(list 'if
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#)
+ #{test-exp\ 1784}#
+ #{then-exp\ 1785}#)
(list 'if
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#
- #{else-exp\ 1200}#))
- #{source\ 1197}#)))))
- (#{build-application\ 96}#
- (lambda (#{source\ 1202}#
- #{fun-exp\ 1203}#
- #{arg-exps\ 1204}#)
- (let ((#{atom-key\ 1205}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1205}# (quote (c)))
+ #{test-exp\ 1784}#
+ #{then-exp\ 1785}#
+ #{else-exp\ 1786}#))
+ #{source\ 1783}#)))))
+ (#{build-application\ 745}#
+ (lambda (#{source\ 1788}#
+ #{fun-exp\ 1789}#
+ #{arg-exps\ 1790}#)
+ (let ((#{atom-key\ 1791}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1791}# (quote (c)))
((@ (language tree-il) make-application)
- #{source\ 1202}#
- #{fun-exp\ 1203}#
- #{arg-exps\ 1204}#)
- (#{decorate-source\ 94}#
- (cons #{fun-exp\ 1203}# #{arg-exps\ 1204}#)
- #{source\ 1202}#)))))
- (#{build-void\ 95}#
- (lambda (#{source\ 1206}#)
- (let ((#{atom-key\ 1207}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1207}# (quote (c)))
+ #{source\ 1788}#
+ #{fun-exp\ 1789}#
+ #{arg-exps\ 1790}#)
+ (#{decorate-source\ 743}#
+ (cons #{fun-exp\ 1789}# #{arg-exps\ 1790}#)
+ #{source\ 1788}#)))))
+ (#{build-void\ 744}#
+ (lambda (#{source\ 1792}#)
+ (let ((#{atom-key\ 1793}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1793}# (quote (c)))
((@ (language tree-il) make-void)
- #{source\ 1206}#)
- (#{decorate-source\ 94}#
+ #{source\ 1792}#)
+ (#{decorate-source\ 743}#
'(if #f #f)
- #{source\ 1206}#)))))
- (#{decorate-source\ 94}#
- (lambda (#{e\ 1208}# #{s\ 1209}#)
+ #{source\ 1792}#)))))
+ (#{decorate-source\ 743}#
+ (lambda (#{e\ 1794}# #{s\ 1795}#)
(begin
- (if (if (pair? #{e\ 1208}#) #{s\ 1209}# #f)
- (set-source-properties! #{e\ 1208}# #{s\ 1209}#))
- #{e\ 1208}#)))
- (#{get-global-definition-hook\ 93}#
- (lambda (#{symbol\ 1210}# #{module\ 1211}#)
+ (if (if (pair? #{e\ 1794}#) #{s\ 1795}# #f)
+ (set-source-properties! #{e\ 1794}# #{s\ 1795}#))
+ #{e\ 1794}#)))
+ (#{get-global-definition-hook\ 742}#
+ (lambda (#{symbol\ 1796}# #{module\ 1797}#)
(begin
- (if (if (not #{module\ 1211}#) (current-module) #f)
+ (if (if (not #{module\ 1797}#) (current-module) #f)
(warn "module system is booted, we should have a module"
- #{symbol\ 1210}#))
- (let ((#{v\ 1212}#
+ #{symbol\ 1796}#))
+ (let ((#{v\ 1798}#
(module-variable
- (if #{module\ 1211}#
- (resolve-module (cdr #{module\ 1211}#))
+ (if #{module\ 1797}#
+ (resolve-module (cdr #{module\ 1797}#))
(current-module))
- #{symbol\ 1210}#)))
- (if #{v\ 1212}#
- (if (variable-bound? #{v\ 1212}#)
- (let ((#{val\ 1213}# (variable-ref #{v\ 1212}#)))
- (if (macro? #{val\ 1213}#)
- (if (syncase-macro-type #{val\ 1213}#)
- (cons (syncase-macro-type #{val\ 1213}#)
- (syncase-macro-binding #{val\ 1213}#))
+ #{symbol\ 1796}#)))
+ (if #{v\ 1798}#
+ (if (variable-bound? #{v\ 1798}#)
+ (let ((#{val\ 1799}# (variable-ref #{v\ 1798}#)))
+ (if (macro? #{val\ 1799}#)
+ (if (syncase-macro-type #{val\ 1799}#)
+ (cons (syncase-macro-type #{val\ 1799}#)
+ (syncase-macro-binding #{val\ 1799}#))
#f)
#f))
#f)
#f)))))
- (#{put-global-definition-hook\ 92}#
- (lambda (#{symbol\ 1214}# #{type\ 1215}# #{val\ 1216}#)
- (let ((#{existing\ 1217}#
- (let ((#{v\ 1218}#
+ (#{put-global-definition-hook\ 741}#
+ (lambda (#{symbol\ 1800}# #{type\ 1801}# #{val\ 1802}#)
+ (let ((#{existing\ 1803}#
+ (let ((#{v\ 1804}#
(module-variable
(current-module)
- #{symbol\ 1214}#)))
- (if #{v\ 1218}#
- (if (variable-bound? #{v\ 1218}#)
- (let ((#{val\ 1219}# (variable-ref #{v\ 1218}#)))
- (if (macro? #{val\ 1219}#)
- (if (not (syncase-macro-type #{val\ 1219}#))
- #{val\ 1219}#
+ #{symbol\ 1800}#)))
+ (if #{v\ 1804}#
+ (if (variable-bound? #{v\ 1804}#)
+ (let ((#{val\ 1805}# (variable-ref #{v\ 1804}#)))
+ (if (macro? #{val\ 1805}#)
+ (if (not (syncase-macro-type #{val\ 1805}#))
+ #{val\ 1805}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
- #{symbol\ 1214}#
- (if #{existing\ 1217}#
+ #{symbol\ 1800}#
+ (if #{existing\ 1803}#
(make-extended-syncase-macro
- #{existing\ 1217}#
- #{type\ 1215}#
- #{val\ 1216}#)
- (make-syncase-macro #{type\ 1215}# #{val\ 1216}#))))))
- (#{local-eval-hook\ 91}#
- (lambda (#{x\ 1220}# #{mod\ 1221}#)
+ #{existing\ 1803}#
+ #{type\ 1801}#
+ #{val\ 1802}#)
+ (make-syncase-macro #{type\ 1801}# #{val\ 1802}#))))))
+ (#{local-eval-hook\ 740}#
+ (lambda (#{x\ 1806}# #{mod\ 1807}#)
(primitive-eval
- (list #{noexpand\ 84}#
- (let ((#{atom-key\ 1222}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1222}# (quote (c)))
+ (list #{noexpand\ 733}#
+ (let ((#{atom-key\ 1808}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1808}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 1220}#)
- #{x\ 1220}#))))))
- (#{top-level-eval-hook\ 90}#
- (lambda (#{x\ 1223}# #{mod\ 1224}#)
+ #{x\ 1806}#)
+ #{x\ 1806}#))))))
+ (#{top-level-eval-hook\ 739}#
+ (lambda (#{x\ 1809}# #{mod\ 1810}#)
(primitive-eval
- (list #{noexpand\ 84}#
- (let ((#{atom-key\ 1225}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1225}# (quote (c)))
+ (list #{noexpand\ 733}#
+ (let ((#{atom-key\ 1811}# (fluid-ref #{*mode*\ 734}#)))
+ (if (memv #{atom-key\ 1811}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 1223}#)
- #{x\ 1223}#))))))
- (#{fx<\ 89}# <)
- (#{fx=\ 88}# =)
- (#{fx-\ 87}# -)
- (#{fx+\ 86}# +)
- (#{*mode*\ 85}# (make-fluid))
- (#{noexpand\ 84}# "noexpand"))
+ #{x\ 1809}#)
+ #{x\ 1809}#))))))
+ (#{fx<\ 738}# <)
+ (#{fx=\ 737}# =)
+ (#{fx-\ 736}# -)
+ (#{fx+\ 735}# +)
+ (#{*mode*\ 734}# (make-fluid))
+ (#{noexpand\ 733}# "noexpand"))
(begin
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'local-syntax
'letrec-syntax
#t)
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'local-syntax
'let-syntax
#f)
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'core
'fluid-let-syntax
- (lambda (#{e\ 1226}#
- #{r\ 1227}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)
- ((lambda (#{tmp\ 1231}#)
- ((lambda (#{tmp\ 1232}#)
- (if (if #{tmp\ 1232}#
- (apply (lambda (#{_\ 1233}#
- #{var\ 1234}#
- #{val\ 1235}#
- #{e1\ 1236}#
- #{e2\ 1237}#)
- (#{valid-bound-ids?\ 156}# #{var\ 1234}#))
- #{tmp\ 1232}#)
+ (lambda (#{e\ 1812}#
+ #{r\ 1813}#
+ #{w\ 1814}#
+ #{s\ 1815}#
+ #{mod\ 1816}#)
+ ((lambda (#{tmp\ 1817}#)
+ ((lambda (#{tmp\ 1818}#)
+ (if (if #{tmp\ 1818}#
+ (apply (lambda (#{_\ 1819}#
+ #{var\ 1820}#
+ #{val\ 1821}#
+ #{e1\ 1822}#
+ #{e2\ 1823}#)
+ (#{valid-bound-ids?\ 805}# #{var\ 1820}#))
+ #{tmp\ 1818}#)
#f)
- (apply (lambda (#{_\ 1239}#
- #{var\ 1240}#
- #{val\ 1241}#
- #{e1\ 1242}#
- #{e2\ 1243}#)
- (let ((#{names\ 1244}#
- (map (lambda (#{x\ 1245}#)
- (#{id-var-name\ 153}#
- #{x\ 1245}#
- #{w\ 1228}#))
- #{var\ 1240}#)))
+ (apply (lambda (#{_\ 1825}#
+ #{var\ 1826}#
+ #{val\ 1827}#
+ #{e1\ 1828}#
+ #{e2\ 1829}#)
+ (let ((#{names\ 1830}#
+ (map (lambda (#{x\ 1831}#)
+ (#{id-var-name\ 802}#
+ #{x\ 1831}#
+ #{w\ 1814}#))
+ #{var\ 1826}#)))
(begin
(for-each
- (lambda (#{id\ 1247}# #{n\ 1248}#)
- (let ((#{atom-key\ 1249}#
- (#{binding-type\ 123}#
- (#{lookup\ 128}#
- #{n\ 1248}#
- #{r\ 1227}#
- #{mod\ 1230}#))))
- (if (memv #{atom-key\ 1249}#
+ (lambda (#{id\ 1833}# #{n\ 1834}#)
+ (let ((#{atom-key\ 1835}#
+ (#{binding-type\ 772}#
+ (#{lookup\ 777}#
+ #{n\ 1834}#
+ #{r\ 1813}#
+ #{mod\ 1816}#))))
+ (if (memv #{atom-key\ 1835}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
- #{e\ 1226}#
- (#{source-wrap\ 160}#
- #{id\ 1247}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)))))
- #{var\ 1240}#
- #{names\ 1244}#)
- (#{chi-body\ 171}#
- (cons #{e1\ 1242}# #{e2\ 1243}#)
- (#{source-wrap\ 160}#
- #{e\ 1226}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)
- (#{extend-env\ 125}#
- #{names\ 1244}#
- (let ((#{trans-r\ 1252}#
- (#{macros-only-env\ 127}#
- #{r\ 1227}#)))
- (map (lambda (#{x\ 1253}#)
+ #{e\ 1812}#
+ (#{source-wrap\ 809}#
+ #{id\ 1833}#
+ #{w\ 1814}#
+ #{s\ 1815}#
+ #{mod\ 1816}#)))))
+ #{var\ 1826}#
+ #{names\ 1830}#)
+ (#{chi-body\ 820}#
+ (cons #{e1\ 1828}# #{e2\ 1829}#)
+ (#{source-wrap\ 809}#
+ #{e\ 1812}#
+ #{w\ 1814}#
+ #{s\ 1815}#
+ #{mod\ 1816}#)
+ (#{extend-env\ 774}#
+ #{names\ 1830}#
+ (let ((#{trans-r\ 1838}#
+ (#{macros-only-env\ 776}#
+ #{r\ 1813}#)))
+ (map (lambda (#{x\ 1839}#)
(cons 'macro
- (#{eval-local-transformer\
173}#
- (#{chi\ 167}#
- #{x\ 1253}#
- #{trans-r\ 1252}#
- #{w\ 1228}#
- #{mod\ 1230}#)
- #{mod\ 1230}#)))
- #{val\ 1241}#))
- #{r\ 1227}#)
- #{w\ 1228}#
- #{mod\ 1230}#))))
- #{tmp\ 1232}#)
- ((lambda (#{_\ 1255}#)
+ (#{eval-local-transformer\
822}#
+ (#{chi\ 816}#
+ #{x\ 1839}#
+ #{trans-r\ 1838}#
+ #{w\ 1814}#
+ #{mod\ 1816}#)
+ #{mod\ 1816}#)))
+ #{val\ 1827}#))
+ #{r\ 1813}#)
+ #{w\ 1814}#
+ #{mod\ 1816}#))))
+ #{tmp\ 1818}#)
+ ((lambda (#{_\ 1841}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
- (#{source-wrap\ 160}#
- #{e\ 1226}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)))
- #{tmp\ 1231}#)))
+ (#{source-wrap\ 809}#
+ #{e\ 1812}#
+ #{w\ 1814}#
+ #{s\ 1815}#
+ #{mod\ 1816}#)))
+ #{tmp\ 1817}#)))
($sc-dispatch
- #{tmp\ 1231}#
+ #{tmp\ 1817}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1226}#)))
- (#{global-extend\ 129}#
+ #{e\ 1812}#)))
+ (#{global-extend\ 778}#
'core
'quote
- (lambda (#{e\ 1256}#
- #{r\ 1257}#
- #{w\ 1258}#
- #{s\ 1259}#
- #{mod\ 1260}#)
- ((lambda (#{tmp\ 1261}#)
- ((lambda (#{tmp\ 1262}#)
- (if #{tmp\ 1262}#
- (apply (lambda (#{_\ 1263}# #{e\ 1264}#)
- (#{build-data\ 109}#
- #{s\ 1259}#
- (#{strip\ 180}# #{e\ 1264}# #{w\ 1258}#)))
- #{tmp\ 1262}#)
- ((lambda (#{_\ 1265}#)
+ (lambda (#{e\ 1842}#
+ #{r\ 1843}#
+ #{w\ 1844}#
+ #{s\ 1845}#
+ #{mod\ 1846}#)
+ ((lambda (#{tmp\ 1847}#)
+ ((lambda (#{tmp\ 1848}#)
+ (if #{tmp\ 1848}#
+ (apply (lambda (#{_\ 1849}# #{e\ 1850}#)
+ (#{build-data\ 758}#
+ #{s\ 1845}#
+ (#{strip\ 829}# #{e\ 1850}# #{w\ 1844}#)))
+ #{tmp\ 1848}#)
+ ((lambda (#{_\ 1851}#)
(syntax-violation
'quote
"bad syntax"
- (#{source-wrap\ 160}#
- #{e\ 1256}#
- #{w\ 1258}#
- #{s\ 1259}#
- #{mod\ 1260}#)))
- #{tmp\ 1261}#)))
- ($sc-dispatch #{tmp\ 1261}# (quote (any any)))))
- #{e\ 1256}#)))
- (#{global-extend\ 129}#
+ (#{source-wrap\ 809}#
+ #{e\ 1842}#
+ #{w\ 1844}#
+ #{s\ 1845}#
+ #{mod\ 1846}#)))
+ #{tmp\ 1847}#)))
+ ($sc-dispatch #{tmp\ 1847}# (quote (any any)))))
+ #{e\ 1842}#)))
+ (#{global-extend\ 778}#
'core
'syntax
- (letrec ((#{regen\ 1273}#
- (lambda (#{x\ 1274}#)
- (let ((#{atom-key\ 1275}# (car #{x\ 1274}#)))
- (if (memv #{atom-key\ 1275}# (quote (ref)))
- (#{build-lexical-reference\ 98}#
+ (letrec ((#{regen\ 1859}#
+ (lambda (#{x\ 1860}#)
+ (let ((#{atom-key\ 1861}# (car #{x\ 1860}#)))
+ (if (memv #{atom-key\ 1861}# (quote (ref)))
+ (#{build-lexical-reference\ 747}#
'value
#f
- (cadr #{x\ 1274}#)
- (cadr #{x\ 1274}#))
- (if (memv #{atom-key\ 1275}# (quote (primitive)))
- (#{build-primref\ 108}# #f (cadr #{x\ 1274}#))
- (if (memv #{atom-key\ 1275}# (quote (quote)))
- (#{build-data\ 109}# #f (cadr #{x\ 1274}#))
- (if (memv #{atom-key\ 1275}# (quote (lambda)))
- (if (list? (cadr #{x\ 1274}#))
- (#{build-simple-lambda\ 105}#
+ (cadr #{x\ 1860}#)
+ (cadr #{x\ 1860}#))
+ (if (memv #{atom-key\ 1861}# (quote (primitive)))
+ (#{build-primref\ 757}# #f (cadr #{x\ 1860}#))
+ (if (memv #{atom-key\ 1861}# (quote (quote)))
+ (#{build-data\ 758}# #f (cadr #{x\ 1860}#))
+ (if (memv #{atom-key\ 1861}# (quote (lambda)))
+ (if (list? (cadr #{x\ 1860}#))
+ (#{build-simple-lambda\ 754}#
#f
- (cadr #{x\ 1274}#)
+ (cadr #{x\ 1860}#)
#f
- (cadr #{x\ 1274}#)
+ (cadr #{x\ 1860}#)
#f
- (#{regen\ 1273}# (caddr #{x\ 1274}#)))
- (error "how did we get here" #{x\ 1274}#))
- (#{build-application\ 96}#
+ (#{regen\ 1859}# (caddr #{x\ 1860}#)))
+ (error "how did we get here" #{x\ 1860}#))
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}# #f (car #{x\ 1274}#))
- (map #{regen\ 1273}#
- (cdr #{x\ 1274}#))))))))))
- (#{gen-vector\ 1272}#
- (lambda (#{x\ 1276}#)
- (if (eq? (car #{x\ 1276}#) (quote list))
- (cons (quote vector) (cdr #{x\ 1276}#))
- (if (eq? (car #{x\ 1276}#) (quote quote))
+ (#{build-primref\ 757}# #f (car #{x\ 1860}#))
+ (map #{regen\ 1859}#
+ (cdr #{x\ 1860}#))))))))))
+ (#{gen-vector\ 1858}#
+ (lambda (#{x\ 1862}#)
+ (if (eq? (car #{x\ 1862}#) (quote list))
+ (cons (quote vector) (cdr #{x\ 1862}#))
+ (if (eq? (car #{x\ 1862}#) (quote quote))
(list 'quote
- (list->vector (cadr #{x\ 1276}#)))
- (list (quote list->vector) #{x\ 1276}#)))))
- (#{gen-append\ 1271}#
- (lambda (#{x\ 1277}# #{y\ 1278}#)
- (if (equal? #{y\ 1278}# (quote (quote ())))
- #{x\ 1277}#
- (list (quote append) #{x\ 1277}# #{y\ 1278}#))))
- (#{gen-cons\ 1270}#
- (lambda (#{x\ 1279}# #{y\ 1280}#)
- (let ((#{atom-key\ 1281}# (car #{y\ 1280}#)))
- (if (memv #{atom-key\ 1281}# (quote (quote)))
- (if (eq? (car #{x\ 1279}#) (quote quote))
+ (list->vector (cadr #{x\ 1862}#)))
+ (list (quote list->vector) #{x\ 1862}#)))))
+ (#{gen-append\ 1857}#
+ (lambda (#{x\ 1863}# #{y\ 1864}#)
+ (if (equal? #{y\ 1864}# (quote (quote ())))
+ #{x\ 1863}#
+ (list (quote append) #{x\ 1863}# #{y\ 1864}#))))
+ (#{gen-cons\ 1856}#
+ (lambda (#{x\ 1865}# #{y\ 1866}#)
+ (let ((#{atom-key\ 1867}# (car #{y\ 1866}#)))
+ (if (memv #{atom-key\ 1867}# (quote (quote)))
+ (if (eq? (car #{x\ 1865}#) (quote quote))
(list 'quote
- (cons (cadr #{x\ 1279}#) (cadr #{y\ 1280}#)))
- (if (eq? (cadr #{y\ 1280}#) (quote ()))
- (list (quote list) #{x\ 1279}#)
- (list (quote cons) #{x\ 1279}# #{y\ 1280}#)))
- (if (memv #{atom-key\ 1281}# (quote (list)))
+ (cons (cadr #{x\ 1865}#) (cadr #{y\ 1866}#)))
+ (if (eq? (cadr #{y\ 1866}#) (quote ()))
+ (list (quote list) #{x\ 1865}#)
+ (list (quote cons) #{x\ 1865}# #{y\ 1866}#)))
+ (if (memv #{atom-key\ 1867}# (quote (list)))
(cons 'list
- (cons #{x\ 1279}# (cdr #{y\ 1280}#)))
- (list (quote cons) #{x\ 1279}# #{y\ 1280}#))))))
- (#{gen-map\ 1269}#
- (lambda (#{e\ 1282}# #{map-env\ 1283}#)
- (let ((#{formals\ 1284}# (map cdr #{map-env\ 1283}#))
- (#{actuals\ 1285}#
- (map (lambda (#{x\ 1286}#)
- (list (quote ref) (car #{x\ 1286}#)))
- #{map-env\ 1283}#)))
- (if (eq? (car #{e\ 1282}#) (quote ref))
- (car #{actuals\ 1285}#)
+ (cons #{x\ 1865}# (cdr #{y\ 1866}#)))
+ (list (quote cons) #{x\ 1865}# #{y\ 1866}#))))))
+ (#{gen-map\ 1855}#
+ (lambda (#{e\ 1868}# #{map-env\ 1869}#)
+ (let ((#{formals\ 1870}# (map cdr #{map-env\ 1869}#))
+ (#{actuals\ 1871}#
+ (map (lambda (#{x\ 1872}#)
+ (list (quote ref) (car #{x\ 1872}#)))
+ #{map-env\ 1869}#)))
+ (if (eq? (car #{e\ 1868}#) (quote ref))
+ (car #{actuals\ 1871}#)
(if (and-map
- (lambda (#{x\ 1287}#)
- (if (eq? (car #{x\ 1287}#) (quote ref))
- (memq (cadr #{x\ 1287}#) #{formals\ 1284}#)
+ (lambda (#{x\ 1873}#)
+ (if (eq? (car #{x\ 1873}#) (quote ref))
+ (memq (cadr #{x\ 1873}#) #{formals\ 1870}#)
#f))
- (cdr #{e\ 1282}#))
+ (cdr #{e\ 1868}#))
(cons 'map
(cons (list 'primitive
- (car #{e\ 1282}#))
- (map (let ((#{r\ 1288}#
+ (car #{e\ 1868}#))
+ (map (let ((#{r\ 1874}#
(map cons
- #{formals\ 1284}#
- #{actuals\ 1285}#)))
- (lambda (#{x\ 1289}#)
- (cdr (assq (cadr #{x\ 1289}#)
- #{r\ 1288}#))))
- (cdr #{e\ 1282}#))))
+ #{formals\ 1870}#
+ #{actuals\ 1871}#)))
+ (lambda (#{x\ 1875}#)
+ (cdr (assq (cadr #{x\ 1875}#)
+ #{r\ 1874}#))))
+ (cdr #{e\ 1868}#))))
(cons 'map
(cons (list 'lambda
- #{formals\ 1284}#
- #{e\ 1282}#)
- #{actuals\ 1285}#)))))))
- (#{gen-mappend\ 1268}#
- (lambda (#{e\ 1290}# #{map-env\ 1291}#)
+ #{formals\ 1870}#
+ #{e\ 1868}#)
+ #{actuals\ 1871}#)))))))
+ (#{gen-mappend\ 1854}#
+ (lambda (#{e\ 1876}# #{map-env\ 1877}#)
(list 'apply
'(primitive append)
- (#{gen-map\ 1269}# #{e\ 1290}# #{map-env\ 1291}#))))
- (#{gen-ref\ 1267}#
- (lambda (#{src\ 1292}#
- #{var\ 1293}#
- #{level\ 1294}#
- #{maps\ 1295}#)
- (if (#{fx=\ 88}# #{level\ 1294}# 0)
- (values #{var\ 1293}# #{maps\ 1295}#)
- (if (null? #{maps\ 1295}#)
+ (#{gen-map\ 1855}# #{e\ 1876}# #{map-env\ 1877}#))))
+ (#{gen-ref\ 1853}#
+ (lambda (#{src\ 1878}#
+ #{var\ 1879}#
+ #{level\ 1880}#
+ #{maps\ 1881}#)
+ (if (#{fx=\ 737}# #{level\ 1880}# 0)
+ (values #{var\ 1879}# #{maps\ 1881}#)
+ (if (null? #{maps\ 1881}#)
(syntax-violation
'syntax
"missing ellipsis"
- #{src\ 1292}#)
+ #{src\ 1878}#)
(call-with-values
(lambda ()
- (#{gen-ref\ 1267}#
- #{src\ 1292}#
- #{var\ 1293}#
- (#{fx-\ 87}# #{level\ 1294}# 1)
- (cdr #{maps\ 1295}#)))
- (lambda (#{outer-var\ 1296}# #{outer-maps\ 1297}#)
- (let ((#{b\ 1298}#
- (assq #{outer-var\ 1296}#
- (car #{maps\ 1295}#))))
- (if #{b\ 1298}#
- (values (cdr #{b\ 1298}#) #{maps\ 1295}#)
- (let ((#{inner-var\ 1299}#
- (#{gen-var\ 181}# (quote tmp))))
+ (#{gen-ref\ 1853}#
+ #{src\ 1878}#
+ #{var\ 1879}#
+ (#{fx-\ 736}# #{level\ 1880}# 1)
+ (cdr #{maps\ 1881}#)))
+ (lambda (#{outer-var\ 1882}# #{outer-maps\ 1883}#)
+ (let ((#{b\ 1884}#
+ (assq #{outer-var\ 1882}#
+ (car #{maps\ 1881}#))))
+ (if #{b\ 1884}#
+ (values (cdr #{b\ 1884}#) #{maps\ 1881}#)
+ (let ((#{inner-var\ 1885}#
+ (#{gen-var\ 830}# (quote tmp))))
(values
- #{inner-var\ 1299}#
- (cons (cons (cons #{outer-var\ 1296}#
- #{inner-var\ 1299}#)
- (car #{maps\ 1295}#))
- #{outer-maps\ 1297}#)))))))))))
- (#{gen-syntax\ 1266}#
- (lambda (#{src\ 1300}#
- #{e\ 1301}#
- #{r\ 1302}#
- #{maps\ 1303}#
- #{ellipsis?\ 1304}#
- #{mod\ 1305}#)
- (if (#{id?\ 131}# #{e\ 1301}#)
- (let ((#{label\ 1306}#
- (#{id-var-name\ 153}#
- #{e\ 1301}#
+ #{inner-var\ 1885}#
+ (cons (cons (cons #{outer-var\ 1882}#
+ #{inner-var\ 1885}#)
+ (car #{maps\ 1881}#))
+ #{outer-maps\ 1883}#)))))))))))
+ (#{gen-syntax\ 1852}#
+ (lambda (#{src\ 1886}#
+ #{e\ 1887}#
+ #{r\ 1888}#
+ #{maps\ 1889}#
+ #{ellipsis?\ 1890}#
+ #{mod\ 1891}#)
+ (if (#{id?\ 780}# #{e\ 1887}#)
+ (let ((#{label\ 1892}#
+ (#{id-var-name\ 802}#
+ #{e\ 1887}#
'(()))))
- (let ((#{b\ 1307}#
- (#{lookup\ 128}#
- #{label\ 1306}#
- #{r\ 1302}#
- #{mod\ 1305}#)))
- (if (eq? (#{binding-type\ 123}# #{b\ 1307}#)
+ (let ((#{b\ 1893}#
+ (#{lookup\ 777}#
+ #{label\ 1892}#
+ #{r\ 1888}#
+ #{mod\ 1891}#)))
+ (if (eq? (#{binding-type\ 772}# #{b\ 1893}#)
'syntax)
(call-with-values
(lambda ()
- (let ((#{var.lev\ 1308}#
- (#{binding-value\ 124}# #{b\ 1307}#)))
- (#{gen-ref\ 1267}#
- #{src\ 1300}#
- (car #{var.lev\ 1308}#)
- (cdr #{var.lev\ 1308}#)
- #{maps\ 1303}#)))
- (lambda (#{var\ 1309}# #{maps\ 1310}#)
+ (let ((#{var.lev\ 1894}#
+ (#{binding-value\ 773}# #{b\ 1893}#)))
+ (#{gen-ref\ 1853}#
+ #{src\ 1886}#
+ (car #{var.lev\ 1894}#)
+ (cdr #{var.lev\ 1894}#)
+ #{maps\ 1889}#)))
+ (lambda (#{var\ 1895}# #{maps\ 1896}#)
(values
- (list (quote ref) #{var\ 1309}#)
- #{maps\ 1310}#)))
- (if (#{ellipsis?\ 1304}# #{e\ 1301}#)
+ (list (quote ref) #{var\ 1895}#)
+ #{maps\ 1896}#)))
+ (if (#{ellipsis?\ 1890}# #{e\ 1887}#)
(syntax-violation
'syntax
"misplaced ellipsis"
- #{src\ 1300}#)
+ #{src\ 1886}#)
(values
- (list (quote quote) #{e\ 1301}#)
- #{maps\ 1303}#)))))
- ((lambda (#{tmp\ 1311}#)
- ((lambda (#{tmp\ 1312}#)
- (if (if #{tmp\ 1312}#
- (apply (lambda (#{dots\ 1313}# #{e\ 1314}#)
- (#{ellipsis?\ 1304}#
- #{dots\ 1313}#))
- #{tmp\ 1312}#)
+ (list (quote quote) #{e\ 1887}#)
+ #{maps\ 1889}#)))))
+ ((lambda (#{tmp\ 1897}#)
+ ((lambda (#{tmp\ 1898}#)
+ (if (if #{tmp\ 1898}#
+ (apply (lambda (#{dots\ 1899}# #{e\ 1900}#)
+ (#{ellipsis?\ 1890}#
+ #{dots\ 1899}#))
+ #{tmp\ 1898}#)
#f)
- (apply (lambda (#{dots\ 1315}# #{e\ 1316}#)
- (#{gen-syntax\ 1266}#
- #{src\ 1300}#
- #{e\ 1316}#
- #{r\ 1302}#
- #{maps\ 1303}#
- (lambda (#{x\ 1317}#) #f)
- #{mod\ 1305}#))
- #{tmp\ 1312}#)
- ((lambda (#{tmp\ 1318}#)
- (if (if #{tmp\ 1318}#
- (apply (lambda (#{x\ 1319}#
- #{dots\ 1320}#
- #{y\ 1321}#)
- (#{ellipsis?\ 1304}#
- #{dots\ 1320}#))
- #{tmp\ 1318}#)
+ (apply (lambda (#{dots\ 1901}# #{e\ 1902}#)
+ (#{gen-syntax\ 1852}#
+ #{src\ 1886}#
+ #{e\ 1902}#
+ #{r\ 1888}#
+ #{maps\ 1889}#
+ (lambda (#{x\ 1903}#) #f)
+ #{mod\ 1891}#))
+ #{tmp\ 1898}#)
+ ((lambda (#{tmp\ 1904}#)
+ (if (if #{tmp\ 1904}#
+ (apply (lambda (#{x\ 1905}#
+ #{dots\ 1906}#
+ #{y\ 1907}#)
+ (#{ellipsis?\ 1890}#
+ #{dots\ 1906}#))
+ #{tmp\ 1904}#)
#f)
- (apply (lambda (#{x\ 1322}#
- #{dots\ 1323}#
- #{y\ 1324}#)
- (letrec ((#{f\ 1325}#
- (lambda (#{y\ 1326}#
- #{k\ 1327}#)
- ((lambda (#{tmp\
1331}#)
- ((lambda (#{tmp\
1332}#)
- (if (if #{tmp\
1332}#
- (apply
(lambda (#{dots\ 1333}#
-
#{y\ 1334}#)
-
(#{ellipsis?\ 1304}#
-
#{dots\ 1333}#))
-
#{tmp\ 1332}#)
+ (apply (lambda (#{x\ 1908}#
+ #{dots\ 1909}#
+ #{y\ 1910}#)
+ (letrec ((#{f\ 1911}#
+ (lambda (#{y\ 1912}#
+ #{k\ 1913}#)
+ ((lambda (#{tmp\
1917}#)
+ ((lambda (#{tmp\
1918}#)
+ (if (if #{tmp\
1918}#
+ (apply
(lambda (#{dots\ 1919}#
+
#{y\ 1920}#)
+
(#{ellipsis?\ 1890}#
+
#{dots\ 1919}#))
+
#{tmp\ 1918}#)
#f)
- (apply
(lambda (#{dots\ 1335}#
-
#{y\ 1336}#)
-
(#{f\ 1325}#
-
#{y\ 1336}#
-
(lambda (#{maps\ 1337}#)
+ (apply
(lambda (#{dots\ 1921}#
+
#{y\ 1922}#)
+
(#{f\ 1911}#
+
#{y\ 1922}#
+
(lambda (#{maps\ 1923}#)
(call-with-values
(lambda ()
-
(#{k\ 1327}#
+
(#{k\ 1913}#
(cons '()
-
#{maps\ 1337}#)))
-
(lambda (#{x\ 1338}#
-
#{maps\ 1339}#)
-
(if (null? (car #{maps\ 1339}#))
+
#{maps\ 1923}#)))
+
(lambda (#{x\ 1924}#
+
#{maps\ 1925}#)
+
(if (null? (car #{maps\ 1925}#))
(syntax-violation
'syntax
"extra ellipsis"
-
#{src\ 1300}#)
+
#{src\ 1886}#)
(values
-
(#{gen-mappend\ 1268}#
-
#{x\ 1338}#
-
(car #{maps\ 1339}#))
-
(cdr #{maps\ 1339}#))))))))
-
#{tmp\ 1332}#)
- ((lambda
(#{_\ 1340}#)
+
(#{gen-mappend\ 1854}#
+
#{x\ 1924}#
+
(car #{maps\ 1925}#))
+
(cdr #{maps\ 1925}#))))))))
+
#{tmp\ 1918}#)
+ ((lambda
(#{_\ 1926}#)
(call-with-values
(lambda
()
-
(#{gen-syntax\ 1266}#
-
#{src\ 1300}#
-
#{y\ 1326}#
-
#{r\ 1302}#
-
#{maps\ 1303}#
-
#{ellipsis?\ 1304}#
-
#{mod\ 1305}#))
- (lambda
(#{y\ 1341}#
-
#{maps\ 1342}#)
+
(#{gen-syntax\ 1852}#
+
#{src\ 1886}#
+
#{y\ 1912}#
+
#{r\ 1888}#
+
#{maps\ 1889}#
+
#{ellipsis?\ 1890}#
+
#{mod\ 1891}#))
+ (lambda
(#{y\ 1927}#
+
#{maps\ 1928}#)
(call-with-values
(lambda ()
-
(#{k\ 1327}#
-
#{maps\ 1342}#))
-
(lambda (#{x\ 1343}#
-
#{maps\ 1344}#)
+
(#{k\ 1913}#
+
#{maps\ 1928}#))
+
(lambda (#{x\ 1929}#
+
#{maps\ 1930}#)
(values
-
(#{gen-append\ 1271}#
-
#{x\ 1343}#
-
#{y\ 1341}#)
-
#{maps\ 1344}#))))))
- #{tmp\
1331}#)))
+
(#{gen-append\ 1857}#
+
#{x\ 1929}#
+
#{y\ 1927}#)
+
#{maps\ 1930}#))))))
+ #{tmp\
1917}#)))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 1917}#
'(any . any))))
- #{y\ 1326}#))))
- (#{f\ 1325}#
- #{y\ 1324}#
- (lambda (#{maps\ 1328}#)
+ #{y\ 1912}#))))
+ (#{f\ 1911}#
+ #{y\ 1910}#
+ (lambda (#{maps\ 1914}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{src\ 1300}#
- #{x\ 1322}#
- #{r\ 1302}#
+ (#{gen-syntax\ 1852}#
+ #{src\ 1886}#
+ #{x\ 1908}#
+ #{r\ 1888}#
(cons '()
- #{maps\ 1328}#)
- #{ellipsis?\ 1304}#
- #{mod\ 1305}#))
- (lambda (#{x\ 1329}#
- #{maps\ 1330}#)
- (if (null? (car #{maps\
1330}#))
+ #{maps\ 1914}#)
+ #{ellipsis?\ 1890}#
+ #{mod\ 1891}#))
+ (lambda (#{x\ 1915}#
+ #{maps\ 1916}#)
+ (if (null? (car #{maps\
1916}#))
(syntax-violation
'syntax
"extra ellipsis"
- #{src\ 1300}#)
+ #{src\ 1886}#)
(values
- (#{gen-map\ 1269}#
- #{x\ 1329}#
- (car #{maps\
1330}#))
- (cdr #{maps\
1330}#)))))))))
- #{tmp\ 1318}#)
- ((lambda (#{tmp\ 1345}#)
- (if #{tmp\ 1345}#
- (apply (lambda (#{x\ 1346}#
- #{y\ 1347}#)
+ (#{gen-map\ 1855}#
+ #{x\ 1915}#
+ (car #{maps\
1916}#))
+ (cdr #{maps\
1916}#)))))))))
+ #{tmp\ 1904}#)
+ ((lambda (#{tmp\ 1931}#)
+ (if #{tmp\ 1931}#
+ (apply (lambda (#{x\ 1932}#
+ #{y\ 1933}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{src\ 1300}#
- #{x\ 1346}#
- #{r\ 1302}#
- #{maps\ 1303}#
- #{ellipsis?\ 1304}#
- #{mod\ 1305}#))
- (lambda (#{x\ 1348}#
- #{maps\ 1349}#)
+ (#{gen-syntax\ 1852}#
+ #{src\ 1886}#
+ #{x\ 1932}#
+ #{r\ 1888}#
+ #{maps\ 1889}#
+ #{ellipsis?\ 1890}#
+ #{mod\ 1891}#))
+ (lambda (#{x\ 1934}#
+ #{maps\ 1935}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{src\ 1300}#
- #{y\ 1347}#
- #{r\ 1302}#
- #{maps\ 1349}#
- #{ellipsis?\ 1304}#
- #{mod\ 1305}#))
- (lambda (#{y\ 1350}#
- #{maps\
1351}#)
+ (#{gen-syntax\ 1852}#
+ #{src\ 1886}#
+ #{y\ 1933}#
+ #{r\ 1888}#
+ #{maps\ 1935}#
+ #{ellipsis?\ 1890}#
+ #{mod\ 1891}#))
+ (lambda (#{y\ 1936}#
+ #{maps\
1937}#)
(values
- (#{gen-cons\ 1270}#
- #{x\ 1348}#
- #{y\ 1350}#)
- #{maps\
1351}#))))))
- #{tmp\ 1345}#)
- ((lambda (#{tmp\ 1352}#)
- (if #{tmp\ 1352}#
- (apply (lambda (#{e1\ 1353}#
- #{e2\ 1354}#)
+ (#{gen-cons\ 1856}#
+ #{x\ 1934}#
+ #{y\ 1936}#)
+ #{maps\
1937}#))))))
+ #{tmp\ 1931}#)
+ ((lambda (#{tmp\ 1938}#)
+ (if #{tmp\ 1938}#
+ (apply (lambda (#{e1\ 1939}#
+ #{e2\ 1940}#)
(call-with-values
(lambda ()
- (#{gen-syntax\
1266}#
- #{src\ 1300}#
- (cons #{e1\ 1353}#
- #{e2\
1354}#)
- #{r\ 1302}#
- #{maps\ 1303}#
- #{ellipsis?\
1304}#
- #{mod\ 1305}#))
- (lambda (#{e\ 1356}#
- #{maps\
1357}#)
+ (#{gen-syntax\
1852}#
+ #{src\ 1886}#
+ (cons #{e1\ 1939}#
+ #{e2\
1940}#)
+ #{r\ 1888}#
+ #{maps\ 1889}#
+ #{ellipsis?\
1890}#
+ #{mod\ 1891}#))
+ (lambda (#{e\ 1942}#
+ #{maps\
1943}#)
(values
- (#{gen-vector\
1272}#
- #{e\ 1356}#)
- #{maps\ 1357}#))))
- #{tmp\ 1352}#)
- ((lambda (#{_\ 1358}#)
+ (#{gen-vector\
1858}#
+ #{e\ 1942}#)
+ #{maps\ 1943}#))))
+ #{tmp\ 1938}#)
+ ((lambda (#{_\ 1944}#)
(values
(list 'quote
- #{e\ 1301}#)
- #{maps\ 1303}#))
- #{tmp\ 1311}#)))
+ #{e\ 1887}#)
+ #{maps\ 1889}#))
+ #{tmp\ 1897}#)))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1897}#
'#(vector (any . each-any))))))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1897}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1897}#
'(any any . any)))))
- ($sc-dispatch #{tmp\ 1311}# (quote (any any)))))
- #{e\ 1301}#)))))
- (lambda (#{e\ 1359}#
- #{r\ 1360}#
- #{w\ 1361}#
- #{s\ 1362}#
- #{mod\ 1363}#)
- (let ((#{e\ 1364}#
- (#{source-wrap\ 160}#
- #{e\ 1359}#
- #{w\ 1361}#
- #{s\ 1362}#
- #{mod\ 1363}#)))
- ((lambda (#{tmp\ 1365}#)
- ((lambda (#{tmp\ 1366}#)
- (if #{tmp\ 1366}#
- (apply (lambda (#{_\ 1367}# #{x\ 1368}#)
+ ($sc-dispatch #{tmp\ 1897}# (quote (any any)))))
+ #{e\ 1887}#)))))
+ (lambda (#{e\ 1945}#
+ #{r\ 1946}#
+ #{w\ 1947}#
+ #{s\ 1948}#
+ #{mod\ 1949}#)
+ (let ((#{e\ 1950}#
+ (#{source-wrap\ 809}#
+ #{e\ 1945}#
+ #{w\ 1947}#
+ #{s\ 1948}#
+ #{mod\ 1949}#)))
+ ((lambda (#{tmp\ 1951}#)
+ ((lambda (#{tmp\ 1952}#)
+ (if #{tmp\ 1952}#
+ (apply (lambda (#{_\ 1953}# #{x\ 1954}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{e\ 1364}#
- #{x\ 1368}#
- #{r\ 1360}#
+ (#{gen-syntax\ 1852}#
+ #{e\ 1950}#
+ #{x\ 1954}#
+ #{r\ 1946}#
'()
- #{ellipsis?\ 175}#
- #{mod\ 1363}#))
- (lambda (#{e\ 1369}# #{maps\ 1370}#)
- (#{regen\ 1273}# #{e\ 1369}#))))
- #{tmp\ 1366}#)
- ((lambda (#{_\ 1371}#)
+ #{ellipsis?\ 824}#
+ #{mod\ 1949}#))
+ (lambda (#{e\ 1955}# #{maps\ 1956}#)
+ (#{regen\ 1859}# #{e\ 1955}#))))
+ #{tmp\ 1952}#)
+ ((lambda (#{_\ 1957}#)
(syntax-violation
'syntax
"bad `syntax' form"
- #{e\ 1364}#))
- #{tmp\ 1365}#)))
- ($sc-dispatch #{tmp\ 1365}# (quote (any any)))))
- #{e\ 1364}#)))))
- (#{global-extend\ 129}#
+ #{e\ 1950}#))
+ #{tmp\ 1951}#)))
+ ($sc-dispatch #{tmp\ 1951}# (quote (any any)))))
+ #{e\ 1950}#)))))
+ (#{global-extend\ 778}#
'core
'lambda
- (lambda (#{e\ 1372}#
- #{r\ 1373}#
- #{w\ 1374}#
- #{s\ 1375}#
- #{mod\ 1376}#)
- ((lambda (#{tmp\ 1377}#)
- ((lambda (#{tmp\ 1378}#)
- (if (if #{tmp\ 1378}#
- (apply (lambda (#{_\ 1379}#
- #{args\ 1380}#
- #{docstring\ 1381}#
- #{e1\ 1382}#
- #{e2\ 1383}#)
- (string? (syntax->datum #{docstring\ 1381}#)))
- #{tmp\ 1378}#)
+ (lambda (#{e\ 1958}#
+ #{r\ 1959}#
+ #{w\ 1960}#
+ #{s\ 1961}#
+ #{mod\ 1962}#)
+ ((lambda (#{tmp\ 1963}#)
+ ((lambda (#{tmp\ 1964}#)
+ (if (if #{tmp\ 1964}#
+ (apply (lambda (#{_\ 1965}#
+ #{args\ 1966}#
+ #{docstring\ 1967}#
+ #{e1\ 1968}#
+ #{e2\ 1969}#)
+ (string? (syntax->datum #{docstring\ 1967}#)))
+ #{tmp\ 1964}#)
#f)
- (apply (lambda (#{_\ 1384}#
- #{args\ 1385}#
- #{docstring\ 1386}#
- #{e1\ 1387}#
- #{e2\ 1388}#)
+ (apply (lambda (#{_\ 1970}#
+ #{args\ 1971}#
+ #{docstring\ 1972}#
+ #{e1\ 1973}#
+ #{e2\ 1974}#)
(call-with-values
(lambda ()
- (#{lambda-formals\ 176}# #{args\ 1385}#))
- (lambda (#{req\ 1389}#
- #{opt\ 1390}#
- #{rest\ 1391}#
- #{kw\ 1392}#
- #{pred\ 1393}#)
- (#{chi-simple-lambda\ 177}#
- #{e\ 1372}#
- #{r\ 1373}#
- #{w\ 1374}#
- #{s\ 1375}#
- #{mod\ 1376}#
- #{req\ 1389}#
- #{rest\ 1391}#
- (syntax->datum #{docstring\ 1386}#)
- (cons #{e1\ 1387}# #{e2\ 1388}#)))))
- #{tmp\ 1378}#)
- ((lambda (#{tmp\ 1395}#)
- (if #{tmp\ 1395}#
- (apply (lambda (#{_\ 1396}#
- #{args\ 1397}#
- #{e1\ 1398}#
- #{e2\ 1399}#)
+ (#{lambda-formals\ 825}# #{args\ 1971}#))
+ (lambda (#{req\ 1975}#
+ #{opt\ 1976}#
+ #{rest\ 1977}#
+ #{kw\ 1978}#)
+ (#{chi-simple-lambda\ 826}#
+ #{e\ 1958}#
+ #{r\ 1959}#
+ #{w\ 1960}#
+ #{s\ 1961}#
+ #{mod\ 1962}#
+ #{req\ 1975}#
+ #{rest\ 1977}#
+ (syntax->datum #{docstring\ 1972}#)
+ (cons #{e1\ 1973}# #{e2\ 1974}#)))))
+ #{tmp\ 1964}#)
+ ((lambda (#{tmp\ 1980}#)
+ (if #{tmp\ 1980}#
+ (apply (lambda (#{_\ 1981}#
+ #{args\ 1982}#
+ #{e1\ 1983}#
+ #{e2\ 1984}#)
(call-with-values
(lambda ()
- (#{lambda-formals\ 176}# #{args\ 1397}#))
- (lambda (#{req\ 1400}#
- #{opt\ 1401}#
- #{rest\ 1402}#
- #{kw\ 1403}#
- #{pred\ 1404}#)
- (#{chi-simple-lambda\ 177}#
- #{e\ 1372}#
- #{r\ 1373}#
- #{w\ 1374}#
- #{s\ 1375}#
- #{mod\ 1376}#
- #{req\ 1400}#
- #{rest\ 1402}#
+ (#{lambda-formals\ 825}# #{args\ 1982}#))
+ (lambda (#{req\ 1985}#
+ #{opt\ 1986}#
+ #{rest\ 1987}#
+ #{kw\ 1988}#)
+ (#{chi-simple-lambda\ 826}#
+ #{e\ 1958}#
+ #{r\ 1959}#
+ #{w\ 1960}#
+ #{s\ 1961}#
+ #{mod\ 1962}#
+ #{req\ 1985}#
+ #{rest\ 1987}#
#f
- (cons #{e1\ 1398}# #{e2\ 1399}#)))))
- #{tmp\ 1395}#)
- ((lambda (#{_\ 1406}#)
+ (cons #{e1\ 1983}# #{e2\ 1984}#)))))
+ #{tmp\ 1980}#)
+ ((lambda (#{_\ 1990}#)
(syntax-violation
'lambda
"bad lambda"
- #{e\ 1372}#))
- #{tmp\ 1377}#)))
+ #{e\ 1958}#))
+ #{tmp\ 1963}#)))
($sc-dispatch
- #{tmp\ 1377}#
+ #{tmp\ 1963}#
'(any any any . each-any)))))
($sc-dispatch
- #{tmp\ 1377}#
+ #{tmp\ 1963}#
'(any any any any . each-any))))
- #{e\ 1372}#)))
- (#{global-extend\ 129}#
+ #{e\ 1958}#)))
+ (#{global-extend\ 778}#
'core
'lambda*
- (lambda (#{e\ 1407}#
- #{r\ 1408}#
- #{w\ 1409}#
- #{s\ 1410}#
- #{mod\ 1411}#)
- ((lambda (#{tmp\ 1412}#)
- ((lambda (#{tmp\ 1413}#)
- (if #{tmp\ 1413}#
- (apply (lambda (#{_\ 1414}#
- #{args\ 1415}#
- #{e1\ 1416}#
- #{e2\ 1417}#)
+ (lambda (#{e\ 1991}#
+ #{r\ 1992}#
+ #{w\ 1993}#
+ #{s\ 1994}#
+ #{mod\ 1995}#)
+ ((lambda (#{tmp\ 1996}#)
+ ((lambda (#{tmp\ 1997}#)
+ (if #{tmp\ 1997}#
+ (apply (lambda (#{_\ 1998}#
+ #{args\ 1999}#
+ #{e1\ 2000}#
+ #{e2\ 2001}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 179}#
- #{e\ 1407}#
- #{r\ 1408}#
- #{w\ 1409}#
- #{s\ 1410}#
- #{mod\ 1411}#
- #{lambda*-formals\ 178}#
- (list (cons #{args\ 1415}#
- (cons #{e1\ 1416}#
- #{e2\ 1417}#)))))
- (lambda (#{docstring\ 1419}# #{lcase\ 1420}#)
- (#{build-case-lambda\ 106}#
- #{s\ 1410}#
- #{docstring\ 1419}#
- #{lcase\ 1420}#))))
- #{tmp\ 1413}#)
- ((lambda (#{_\ 1421}#)
+ (#{chi-lambda-case\ 828}#
+ #{e\ 1991}#
+ #{r\ 1992}#
+ #{w\ 1993}#
+ #{s\ 1994}#
+ #{mod\ 1995}#
+ #{lambda*-formals\ 827}#
+ (list (cons #{args\ 1999}#
+ (cons #{e1\ 2000}#
+ #{e2\ 2001}#)))))
+ (lambda (#{docstring\ 2003}# #{lcase\ 2004}#)
+ (#{build-case-lambda\ 755}#
+ #{s\ 1994}#
+ #{docstring\ 2003}#
+ #{lcase\ 2004}#))))
+ #{tmp\ 1997}#)
+ ((lambda (#{_\ 2005}#)
(syntax-violation
'lambda
"bad lambda*"
- #{e\ 1407}#))
- #{tmp\ 1412}#)))
+ #{e\ 1991}#))
+ #{tmp\ 1996}#)))
($sc-dispatch
- #{tmp\ 1412}#
+ #{tmp\ 1996}#
'(any any any . each-any))))
- #{e\ 1407}#)))
- (#{global-extend\ 129}#
+ #{e\ 1991}#)))
+ (#{global-extend\ 778}#
'core
'case-lambda
- (lambda (#{e\ 1422}#
- #{r\ 1423}#
- #{w\ 1424}#
- #{s\ 1425}#
- #{mod\ 1426}#)
- ((lambda (#{tmp\ 1427}#)
- ((lambda (#{tmp\ 1428}#)
- (if #{tmp\ 1428}#
- (apply (lambda (#{_\ 1429}#
- #{args\ 1430}#
- #{e1\ 1431}#
- #{e2\ 1432}#
- #{args*\ 1433}#
- #{e1*\ 1434}#
- #{e2*\ 1435}#)
+ (lambda (#{e\ 2006}#
+ #{r\ 2007}#
+ #{w\ 2008}#
+ #{s\ 2009}#
+ #{mod\ 2010}#)
+ ((lambda (#{tmp\ 2011}#)
+ ((lambda (#{tmp\ 2012}#)
+ (if #{tmp\ 2012}#
+ (apply (lambda (#{_\ 2013}#
+ #{args\ 2014}#
+ #{e1\ 2015}#
+ #{e2\ 2016}#
+ #{args*\ 2017}#
+ #{e1*\ 2018}#
+ #{e2*\ 2019}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 179}#
- #{e\ 1422}#
- #{r\ 1423}#
- #{w\ 1424}#
- #{s\ 1425}#
- #{mod\ 1426}#
- #{lambda-formals\ 176}#
- (cons (cons #{args\ 1430}#
- (cons #{e1\ 1431}# #{e2\ 1432}#))
- (map (lambda (#{tmp\ 1439}#
- #{tmp\ 1438}#
- #{tmp\ 1437}#)
- (cons #{tmp\ 1437}#
- (cons #{tmp\ 1438}#
- #{tmp\ 1439}#)))
- #{e2*\ 1435}#
- #{e1*\ 1434}#
- #{args*\ 1433}#))))
- (lambda (#{docstring\ 1441}# #{lcase\ 1442}#)
- (#{build-case-lambda\ 106}#
- #{s\ 1425}#
- #{docstring\ 1441}#
- #{lcase\ 1442}#))))
- #{tmp\ 1428}#)
- ((lambda (#{_\ 1443}#)
+ (#{chi-lambda-case\ 828}#
+ #{e\ 2006}#
+ #{r\ 2007}#
+ #{w\ 2008}#
+ #{s\ 2009}#
+ #{mod\ 2010}#
+ #{lambda-formals\ 825}#
+ (cons (cons #{args\ 2014}#
+ (cons #{e1\ 2015}# #{e2\ 2016}#))
+ (map (lambda (#{tmp\ 2023}#
+ #{tmp\ 2022}#
+ #{tmp\ 2021}#)
+ (cons #{tmp\ 2021}#
+ (cons #{tmp\ 2022}#
+ #{tmp\ 2023}#)))
+ #{e2*\ 2019}#
+ #{e1*\ 2018}#
+ #{args*\ 2017}#))))
+ (lambda (#{docstring\ 2025}# #{lcase\ 2026}#)
+ (#{build-case-lambda\ 755}#
+ #{s\ 2009}#
+ #{docstring\ 2025}#
+ #{lcase\ 2026}#))))
+ #{tmp\ 2012}#)
+ ((lambda (#{_\ 2027}#)
(syntax-violation
'case-lambda
"bad case-lambda"
- #{e\ 1422}#))
- #{tmp\ 1427}#)))
+ #{e\ 2006}#))
+ #{tmp\ 2011}#)))
($sc-dispatch
- #{tmp\ 1427}#
+ #{tmp\ 2011}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 1422}#)))
- (#{global-extend\ 129}#
+ #{e\ 2006}#)))
+ (#{global-extend\ 778}#
'core
'case-lambda*
- (lambda (#{e\ 1444}#
- #{r\ 1445}#
- #{w\ 1446}#
- #{s\ 1447}#
- #{mod\ 1448}#)
- ((lambda (#{tmp\ 1449}#)
- ((lambda (#{tmp\ 1450}#)
- (if #{tmp\ 1450}#
- (apply (lambda (#{_\ 1451}#
- #{args\ 1452}#
- #{e1\ 1453}#
- #{e2\ 1454}#
- #{args*\ 1455}#
- #{e1*\ 1456}#
- #{e2*\ 1457}#)
+ (lambda (#{e\ 2028}#
+ #{r\ 2029}#
+ #{w\ 2030}#
+ #{s\ 2031}#
+ #{mod\ 2032}#)
+ ((lambda (#{tmp\ 2033}#)
+ ((lambda (#{tmp\ 2034}#)
+ (if #{tmp\ 2034}#
+ (apply (lambda (#{_\ 2035}#
+ #{args\ 2036}#
+ #{e1\ 2037}#
+ #{e2\ 2038}#
+ #{args*\ 2039}#
+ #{e1*\ 2040}#
+ #{e2*\ 2041}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 179}#
- #{e\ 1444}#
- #{r\ 1445}#
- #{w\ 1446}#
- #{s\ 1447}#
- #{mod\ 1448}#
- #{lambda*-formals\ 178}#
- (cons (cons #{args\ 1452}#
- (cons #{e1\ 1453}# #{e2\ 1454}#))
- (map (lambda (#{tmp\ 1461}#
- #{tmp\ 1460}#
- #{tmp\ 1459}#)
- (cons #{tmp\ 1459}#
- (cons #{tmp\ 1460}#
- #{tmp\ 1461}#)))
- #{e2*\ 1457}#
- #{e1*\ 1456}#
- #{args*\ 1455}#))))
- (lambda (#{docstring\ 1463}# #{lcase\ 1464}#)
- (#{build-case-lambda\ 106}#
- #{s\ 1447}#
- #{docstring\ 1463}#
- #{lcase\ 1464}#))))
- #{tmp\ 1450}#)
- ((lambda (#{_\ 1465}#)
+ (#{chi-lambda-case\ 828}#
+ #{e\ 2028}#
+ #{r\ 2029}#
+ #{w\ 2030}#
+ #{s\ 2031}#
+ #{mod\ 2032}#
+ #{lambda*-formals\ 827}#
+ (cons (cons #{args\ 2036}#
+ (cons #{e1\ 2037}# #{e2\ 2038}#))
+ (map (lambda (#{tmp\ 2045}#
+ #{tmp\ 2044}#
+ #{tmp\ 2043}#)
+ (cons #{tmp\ 2043}#
+ (cons #{tmp\ 2044}#
+ #{tmp\ 2045}#)))
+ #{e2*\ 2041}#
+ #{e1*\ 2040}#
+ #{args*\ 2039}#))))
+ (lambda (#{docstring\ 2047}# #{lcase\ 2048}#)
+ (#{build-case-lambda\ 755}#
+ #{s\ 2031}#
+ #{docstring\ 2047}#
+ #{lcase\ 2048}#))))
+ #{tmp\ 2034}#)
+ ((lambda (#{_\ 2049}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
- #{e\ 1444}#))
- #{tmp\ 1449}#)))
+ #{e\ 2028}#))
+ #{tmp\ 2033}#)))
($sc-dispatch
- #{tmp\ 1449}#
+ #{tmp\ 2033}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 1444}#)))
- (#{global-extend\ 129}#
+ #{e\ 2028}#)))
+ (#{global-extend\ 778}#
'core
'let
- (letrec ((#{chi-let\ 1466}#
- (lambda (#{e\ 1467}#
- #{r\ 1468}#
- #{w\ 1469}#
- #{s\ 1470}#
- #{mod\ 1471}#
- #{constructor\ 1472}#
- #{ids\ 1473}#
- #{vals\ 1474}#
- #{exps\ 1475}#)
- (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1473}#))
+ (letrec ((#{chi-let\ 2050}#
+ (lambda (#{e\ 2051}#
+ #{r\ 2052}#
+ #{w\ 2053}#
+ #{s\ 2054}#
+ #{mod\ 2055}#
+ #{constructor\ 2056}#
+ #{ids\ 2057}#
+ #{vals\ 2058}#
+ #{exps\ 2059}#)
+ (if (not (#{valid-bound-ids?\ 805}# #{ids\ 2057}#))
(syntax-violation
'let
"duplicate bound variable"
- #{e\ 1467}#)
- (let ((#{labels\ 1476}#
- (#{gen-labels\ 137}# #{ids\ 1473}#))
- (#{new-vars\ 1477}#
- (map #{gen-var\ 181}# #{ids\ 1473}#)))
- (let ((#{nw\ 1478}#
- (#{make-binding-wrap\ 148}#
- #{ids\ 1473}#
- #{labels\ 1476}#
- #{w\ 1469}#))
- (#{nr\ 1479}#
- (#{extend-var-env\ 126}#
- #{labels\ 1476}#
- #{new-vars\ 1477}#
- #{r\ 1468}#)))
- (#{constructor\ 1472}#
- #{s\ 1470}#
- (map syntax->datum #{ids\ 1473}#)
- #{new-vars\ 1477}#
- (map (lambda (#{x\ 1480}#)
- (#{chi\ 167}#
- #{x\ 1480}#
- #{r\ 1468}#
- #{w\ 1469}#
- #{mod\ 1471}#))
- #{vals\ 1474}#)
- (#{chi-body\ 171}#
- #{exps\ 1475}#
- (#{source-wrap\ 160}#
- #{e\ 1467}#
- #{nw\ 1478}#
- #{s\ 1470}#
- #{mod\ 1471}#)
- #{nr\ 1479}#
- #{nw\ 1478}#
- #{mod\ 1471}#))))))))
- (lambda (#{e\ 1481}#
- #{r\ 1482}#
- #{w\ 1483}#
- #{s\ 1484}#
- #{mod\ 1485}#)
- ((lambda (#{tmp\ 1486}#)
- ((lambda (#{tmp\ 1487}#)
- (if (if #{tmp\ 1487}#
- (apply (lambda (#{_\ 1488}#
- #{id\ 1489}#
- #{val\ 1490}#
- #{e1\ 1491}#
- #{e2\ 1492}#)
- (and-map #{id?\ 131}# #{id\ 1489}#))
- #{tmp\ 1487}#)
+ #{e\ 2051}#)
+ (let ((#{labels\ 2060}#
+ (#{gen-labels\ 786}# #{ids\ 2057}#))
+ (#{new-vars\ 2061}#
+ (map #{gen-var\ 830}# #{ids\ 2057}#)))
+ (let ((#{nw\ 2062}#
+ (#{make-binding-wrap\ 797}#
+ #{ids\ 2057}#
+ #{labels\ 2060}#
+ #{w\ 2053}#))
+ (#{nr\ 2063}#
+ (#{extend-var-env\ 775}#
+ #{labels\ 2060}#
+ #{new-vars\ 2061}#
+ #{r\ 2052}#)))
+ (#{constructor\ 2056}#
+ #{s\ 2054}#
+ (map syntax->datum #{ids\ 2057}#)
+ #{new-vars\ 2061}#
+ (map (lambda (#{x\ 2064}#)
+ (#{chi\ 816}#
+ #{x\ 2064}#
+ #{r\ 2052}#
+ #{w\ 2053}#
+ #{mod\ 2055}#))
+ #{vals\ 2058}#)
+ (#{chi-body\ 820}#
+ #{exps\ 2059}#
+ (#{source-wrap\ 809}#
+ #{e\ 2051}#
+ #{nw\ 2062}#
+ #{s\ 2054}#
+ #{mod\ 2055}#)
+ #{nr\ 2063}#
+ #{nw\ 2062}#
+ #{mod\ 2055}#))))))))
+ (lambda (#{e\ 2065}#
+ #{r\ 2066}#
+ #{w\ 2067}#
+ #{s\ 2068}#
+ #{mod\ 2069}#)
+ ((lambda (#{tmp\ 2070}#)
+ ((lambda (#{tmp\ 2071}#)
+ (if (if #{tmp\ 2071}#
+ (apply (lambda (#{_\ 2072}#
+ #{id\ 2073}#
+ #{val\ 2074}#
+ #{e1\ 2075}#
+ #{e2\ 2076}#)
+ (and-map #{id?\ 780}# #{id\ 2073}#))
+ #{tmp\ 2071}#)
#f)
- (apply (lambda (#{_\ 1494}#
- #{id\ 1495}#
- #{val\ 1496}#
- #{e1\ 1497}#
- #{e2\ 1498}#)
- (#{chi-let\ 1466}#
- #{e\ 1481}#
- #{r\ 1482}#
- #{w\ 1483}#
- #{s\ 1484}#
- #{mod\ 1485}#
- #{build-let\ 111}#
- #{id\ 1495}#
- #{val\ 1496}#
- (cons #{e1\ 1497}# #{e2\ 1498}#)))
- #{tmp\ 1487}#)
- ((lambda (#{tmp\ 1502}#)
- (if (if #{tmp\ 1502}#
- (apply (lambda (#{_\ 1503}#
- #{f\ 1504}#
- #{id\ 1505}#
- #{val\ 1506}#
- #{e1\ 1507}#
- #{e2\ 1508}#)
- (if (#{id?\ 131}# #{f\ 1504}#)
- (and-map #{id?\ 131}# #{id\ 1505}#)
+ (apply (lambda (#{_\ 2078}#
+ #{id\ 2079}#
+ #{val\ 2080}#
+ #{e1\ 2081}#
+ #{e2\ 2082}#)
+ (#{chi-let\ 2050}#
+ #{e\ 2065}#
+ #{r\ 2066}#
+ #{w\ 2067}#
+ #{s\ 2068}#
+ #{mod\ 2069}#
+ #{build-let\ 760}#
+ #{id\ 2079}#
+ #{val\ 2080}#
+ (cons #{e1\ 2081}# #{e2\ 2082}#)))
+ #{tmp\ 2071}#)
+ ((lambda (#{tmp\ 2086}#)
+ (if (if #{tmp\ 2086}#
+ (apply (lambda (#{_\ 2087}#
+ #{f\ 2088}#
+ #{id\ 2089}#
+ #{val\ 2090}#
+ #{e1\ 2091}#
+ #{e2\ 2092}#)
+ (if (#{id?\ 780}# #{f\ 2088}#)
+ (and-map #{id?\ 780}# #{id\ 2089}#)
#f))
- #{tmp\ 1502}#)
+ #{tmp\ 2086}#)
#f)
- (apply (lambda (#{_\ 1510}#
- #{f\ 1511}#
- #{id\ 1512}#
- #{val\ 1513}#
- #{e1\ 1514}#
- #{e2\ 1515}#)
- (#{chi-let\ 1466}#
- #{e\ 1481}#
- #{r\ 1482}#
- #{w\ 1483}#
- #{s\ 1484}#
- #{mod\ 1485}#
- #{build-named-let\ 112}#
- (cons #{f\ 1511}# #{id\ 1512}#)
- #{val\ 1513}#
- (cons #{e1\ 1514}# #{e2\ 1515}#)))
- #{tmp\ 1502}#)
- ((lambda (#{_\ 1519}#)
+ (apply (lambda (#{_\ 2094}#
+ #{f\ 2095}#
+ #{id\ 2096}#
+ #{val\ 2097}#
+ #{e1\ 2098}#
+ #{e2\ 2099}#)
+ (#{chi-let\ 2050}#
+ #{e\ 2065}#
+ #{r\ 2066}#
+ #{w\ 2067}#
+ #{s\ 2068}#
+ #{mod\ 2069}#
+ #{build-named-let\ 761}#
+ (cons #{f\ 2095}# #{id\ 2096}#)
+ #{val\ 2097}#
+ (cons #{e1\ 2098}# #{e2\ 2099}#)))
+ #{tmp\ 2086}#)
+ ((lambda (#{_\ 2103}#)
(syntax-violation
'let
"bad let"
- (#{source-wrap\ 160}#
- #{e\ 1481}#
- #{w\ 1483}#
- #{s\ 1484}#
- #{mod\ 1485}#)))
- #{tmp\ 1486}#)))
+ (#{source-wrap\ 809}#
+ #{e\ 2065}#
+ #{w\ 2067}#
+ #{s\ 2068}#
+ #{mod\ 2069}#)))
+ #{tmp\ 2070}#)))
($sc-dispatch
- #{tmp\ 1486}#
+ #{tmp\ 2070}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1486}#
+ #{tmp\ 2070}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1481}#))))
- (#{global-extend\ 129}#
+ #{e\ 2065}#))))
+ (#{global-extend\ 778}#
'core
'letrec
- (lambda (#{e\ 1520}#
- #{r\ 1521}#
- #{w\ 1522}#
- #{s\ 1523}#
- #{mod\ 1524}#)
- ((lambda (#{tmp\ 1525}#)
- ((lambda (#{tmp\ 1526}#)
- (if (if #{tmp\ 1526}#
- (apply (lambda (#{_\ 1527}#
- #{id\ 1528}#
- #{val\ 1529}#
- #{e1\ 1530}#
- #{e2\ 1531}#)
- (and-map #{id?\ 131}# #{id\ 1528}#))
- #{tmp\ 1526}#)
+ (lambda (#{e\ 2104}#
+ #{r\ 2105}#
+ #{w\ 2106}#
+ #{s\ 2107}#
+ #{mod\ 2108}#)
+ ((lambda (#{tmp\ 2109}#)
+ ((lambda (#{tmp\ 2110}#)
+ (if (if #{tmp\ 2110}#
+ (apply (lambda (#{_\ 2111}#
+ #{id\ 2112}#
+ #{val\ 2113}#
+ #{e1\ 2114}#
+ #{e2\ 2115}#)
+ (and-map #{id?\ 780}# #{id\ 2112}#))
+ #{tmp\ 2110}#)
#f)
- (apply (lambda (#{_\ 1533}#
- #{id\ 1534}#
- #{val\ 1535}#
- #{e1\ 1536}#
- #{e2\ 1537}#)
- (let ((#{ids\ 1538}# #{id\ 1534}#))
- (if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 1538}#))
+ (apply (lambda (#{_\ 2117}#
+ #{id\ 2118}#
+ #{val\ 2119}#
+ #{e1\ 2120}#
+ #{e2\ 2121}#)
+ (let ((#{ids\ 2122}# #{id\ 2118}#))
+ (if (not (#{valid-bound-ids?\ 805}#
+ #{ids\ 2122}#))
(syntax-violation
'letrec
"duplicate bound variable"
- #{e\ 1520}#)
- (let ((#{labels\ 1540}#
- (#{gen-labels\ 137}# #{ids\ 1538}#))
- (#{new-vars\ 1541}#
- (map #{gen-var\ 181}# #{ids\ 1538}#)))
- (let ((#{w\ 1542}#
- (#{make-binding-wrap\ 148}#
- #{ids\ 1538}#
- #{labels\ 1540}#
- #{w\ 1522}#))
- (#{r\ 1543}#
- (#{extend-var-env\ 126}#
- #{labels\ 1540}#
- #{new-vars\ 1541}#
- #{r\ 1521}#)))
- (#{build-letrec\ 113}#
- #{s\ 1523}#
- (map syntax->datum #{ids\ 1538}#)
- #{new-vars\ 1541}#
- (map (lambda (#{x\ 1544}#)
- (#{chi\ 167}#
- #{x\ 1544}#
- #{r\ 1543}#
- #{w\ 1542}#
- #{mod\ 1524}#))
- #{val\ 1535}#)
- (#{chi-body\ 171}#
- (cons #{e1\ 1536}# #{e2\ 1537}#)
- (#{source-wrap\ 160}#
- #{e\ 1520}#
- #{w\ 1542}#
- #{s\ 1523}#
- #{mod\ 1524}#)
- #{r\ 1543}#
- #{w\ 1542}#
- #{mod\ 1524}#)))))))
- #{tmp\ 1526}#)
- ((lambda (#{_\ 1547}#)
+ #{e\ 2104}#)
+ (let ((#{labels\ 2124}#
+ (#{gen-labels\ 786}# #{ids\ 2122}#))
+ (#{new-vars\ 2125}#
+ (map #{gen-var\ 830}# #{ids\ 2122}#)))
+ (let ((#{w\ 2126}#
+ (#{make-binding-wrap\ 797}#
+ #{ids\ 2122}#
+ #{labels\ 2124}#
+ #{w\ 2106}#))
+ (#{r\ 2127}#
+ (#{extend-var-env\ 775}#
+ #{labels\ 2124}#
+ #{new-vars\ 2125}#
+ #{r\ 2105}#)))
+ (#{build-letrec\ 762}#
+ #{s\ 2107}#
+ (map syntax->datum #{ids\ 2122}#)
+ #{new-vars\ 2125}#
+ (map (lambda (#{x\ 2128}#)
+ (#{chi\ 816}#
+ #{x\ 2128}#
+ #{r\ 2127}#
+ #{w\ 2126}#
+ #{mod\ 2108}#))
+ #{val\ 2119}#)
+ (#{chi-body\ 820}#
+ (cons #{e1\ 2120}# #{e2\ 2121}#)
+ (#{source-wrap\ 809}#
+ #{e\ 2104}#
+ #{w\ 2126}#
+ #{s\ 2107}#
+ #{mod\ 2108}#)
+ #{r\ 2127}#
+ #{w\ 2126}#
+ #{mod\ 2108}#)))))))
+ #{tmp\ 2110}#)
+ ((lambda (#{_\ 2131}#)
(syntax-violation
'letrec
"bad letrec"
- (#{source-wrap\ 160}#
- #{e\ 1520}#
- #{w\ 1522}#
- #{s\ 1523}#
- #{mod\ 1524}#)))
- #{tmp\ 1525}#)))
+ (#{source-wrap\ 809}#
+ #{e\ 2104}#
+ #{w\ 2106}#
+ #{s\ 2107}#
+ #{mod\ 2108}#)))
+ #{tmp\ 2109}#)))
($sc-dispatch
- #{tmp\ 1525}#
+ #{tmp\ 2109}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1520}#)))
- (#{global-extend\ 129}#
+ #{e\ 2104}#)))
+ (#{global-extend\ 778}#
'core
'set!
- (lambda (#{e\ 1548}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{s\ 1551}#
- #{mod\ 1552}#)
- ((lambda (#{tmp\ 1553}#)
- ((lambda (#{tmp\ 1554}#)
- (if (if #{tmp\ 1554}#
- (apply (lambda (#{_\ 1555}# #{id\ 1556}# #{val\ 1557}#)
- (#{id?\ 131}# #{id\ 1556}#))
- #{tmp\ 1554}#)
+ (lambda (#{e\ 2132}#
+ #{r\ 2133}#
+ #{w\ 2134}#
+ #{s\ 2135}#
+ #{mod\ 2136}#)
+ ((lambda (#{tmp\ 2137}#)
+ ((lambda (#{tmp\ 2138}#)
+ (if (if #{tmp\ 2138}#
+ (apply (lambda (#{_\ 2139}# #{id\ 2140}# #{val\ 2141}#)
+ (#{id?\ 780}# #{id\ 2140}#))
+ #{tmp\ 2138}#)
#f)
- (apply (lambda (#{_\ 1558}# #{id\ 1559}# #{val\ 1560}#)
- (let ((#{val\ 1561}#
- (#{chi\ 167}#
- #{val\ 1560}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#))
- (#{n\ 1562}#
- (#{id-var-name\ 153}#
- #{id\ 1559}#
- #{w\ 1550}#)))
- (let ((#{b\ 1563}#
- (#{lookup\ 128}#
- #{n\ 1562}#
- #{r\ 1549}#
- #{mod\ 1552}#)))
- (let ((#{atom-key\ 1564}#
- (#{binding-type\ 123}# #{b\ 1563}#)))
- (if (memv #{atom-key\ 1564}#
+ (apply (lambda (#{_\ 2142}# #{id\ 2143}# #{val\ 2144}#)
+ (let ((#{val\ 2145}#
+ (#{chi\ 816}#
+ #{val\ 2144}#
+ #{r\ 2133}#
+ #{w\ 2134}#
+ #{mod\ 2136}#))
+ (#{n\ 2146}#
+ (#{id-var-name\ 802}#
+ #{id\ 2143}#
+ #{w\ 2134}#)))
+ (let ((#{b\ 2147}#
+ (#{lookup\ 777}#
+ #{n\ 2146}#
+ #{r\ 2133}#
+ #{mod\ 2136}#)))
+ (let ((#{atom-key\ 2148}#
+ (#{binding-type\ 772}# #{b\ 2147}#)))
+ (if (memv #{atom-key\ 2148}#
'(lexical))
- (#{build-lexical-assignment\ 99}#
- #{s\ 1551}#
- (syntax->datum #{id\ 1559}#)
- (#{binding-value\ 124}# #{b\ 1563}#)
- #{val\ 1561}#)
- (if (memv #{atom-key\ 1564}#
+ (#{build-lexical-assignment\ 748}#
+ #{s\ 2135}#
+ (syntax->datum #{id\ 2143}#)
+ (#{binding-value\ 773}# #{b\ 2147}#)
+ #{val\ 2145}#)
+ (if (memv #{atom-key\ 2148}#
'(global))
- (#{build-global-assignment\ 102}#
- #{s\ 1551}#
- #{n\ 1562}#
- #{val\ 1561}#
- #{mod\ 1552}#)
- (if (memv #{atom-key\ 1564}#
+ (#{build-global-assignment\ 751}#
+ #{s\ 2135}#
+ #{n\ 2146}#
+ #{val\ 2145}#
+ #{mod\ 2136}#)
+ (if (memv #{atom-key\ 2148}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
- (#{wrap\ 159}#
- #{id\ 1559}#
- #{w\ 1550}#
- #{mod\ 1552}#))
+ (#{wrap\ 808}#
+ #{id\ 2143}#
+ #{w\ 2134}#
+ #{mod\ 2136}#))
(syntax-violation
'set!
"bad set!"
- (#{source-wrap\ 160}#
- #{e\ 1548}#
- #{w\ 1550}#
- #{s\ 1551}#
- #{mod\ 1552}#)))))))))
- #{tmp\ 1554}#)
- ((lambda (#{tmp\ 1565}#)
- (if #{tmp\ 1565}#
- (apply (lambda (#{_\ 1566}#
- #{head\ 1567}#
- #{tail\ 1568}#
- #{val\ 1569}#)
+ (#{source-wrap\ 809}#
+ #{e\ 2132}#
+ #{w\ 2134}#
+ #{s\ 2135}#
+ #{mod\ 2136}#)))))))))
+ #{tmp\ 2138}#)
+ ((lambda (#{tmp\ 2149}#)
+ (if #{tmp\ 2149}#
+ (apply (lambda (#{_\ 2150}#
+ #{head\ 2151}#
+ #{tail\ 2152}#
+ #{val\ 2153}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 165}#
- #{head\ 1567}#
- #{r\ 1549}#
+ (#{syntax-type\ 814}#
+ #{head\ 2151}#
+ #{r\ 2133}#
'(())
#f
#f
- #{mod\ 1552}#
+ #{mod\ 2136}#
#t))
- (lambda (#{type\ 1570}#
- #{value\ 1571}#
- #{ee\ 1572}#
- #{ww\ 1573}#
- #{ss\ 1574}#
- #{modmod\ 1575}#)
- (if (memv #{type\ 1570}#
+ (lambda (#{type\ 2154}#
+ #{value\ 2155}#
+ #{ee\ 2156}#
+ #{ww\ 2157}#
+ #{ss\ 2158}#
+ #{modmod\ 2159}#)
+ (if (memv #{type\ 2154}#
'(module-ref))
- (let ((#{val\ 1576}#
- (#{chi\ 167}#
- #{val\ 1569}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#)))
+ (let ((#{val\ 2160}#
+ (#{chi\ 816}#
+ #{val\ 2153}#
+ #{r\ 2133}#
+ #{w\ 2134}#
+ #{mod\ 2136}#)))
(call-with-values
(lambda ()
- (#{value\ 1571}#
- (cons #{head\ 1567}#
- #{tail\ 1568}#)))
- (lambda (#{id\ 1578}# #{mod\ 1579}#)
- (#{build-global-assignment\ 102}#
- #{s\ 1551}#
- #{id\ 1578}#
- #{val\ 1576}#
- #{mod\ 1579}#))))
- (#{build-application\ 96}#
- #{s\ 1551}#
- (#{chi\ 167}#
+ (#{value\ 2155}#
+ (cons #{head\ 2151}#
+ #{tail\ 2152}#)))
+ (lambda (#{id\ 2162}# #{mod\ 2163}#)
+ (#{build-global-assignment\ 751}#
+ #{s\ 2135}#
+ #{id\ 2162}#
+ #{val\ 2160}#
+ #{mod\ 2163}#))))
+ (#{build-application\ 745}#
+ #{s\ 2135}#
+ (#{chi\ 816}#
(list '#(syntax-object
setter
((top)
@@ -9578,53 +9300,53 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{head\ 1567}#)
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#)
- (map (lambda (#{e\ 1580}#)
- (#{chi\ 167}#
- #{e\ 1580}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#))
+ #{head\ 2151}#)
+ #{r\ 2133}#
+ #{w\ 2134}#
+ #{mod\ 2136}#)
+ (map (lambda (#{e\ 2164}#)
+ (#{chi\ 816}#
+ #{e\ 2164}#
+ #{r\ 2133}#
+ #{w\ 2134}#
+ #{mod\ 2136}#))
(append
- #{tail\ 1568}#
- (list #{val\ 1569}#))))))))
- #{tmp\ 1565}#)
- ((lambda (#{_\ 1582}#)
+ #{tail\ 2152}#
+ (list #{val\ 2153}#))))))))
+ #{tmp\ 2149}#)
+ ((lambda (#{_\ 2166}#)
(syntax-violation
'set!
"bad set!"
- (#{source-wrap\ 160}#
- #{e\ 1548}#
- #{w\ 1550}#
- #{s\ 1551}#
- #{mod\ 1552}#)))
- #{tmp\ 1553}#)))
+ (#{source-wrap\ 809}#
+ #{e\ 2132}#
+ #{w\ 2134}#
+ #{s\ 2135}#
+ #{mod\ 2136}#)))
+ #{tmp\ 2137}#)))
($sc-dispatch
- #{tmp\ 1553}#
+ #{tmp\ 2137}#
'(any (any . each-any) any)))))
($sc-dispatch
- #{tmp\ 1553}#
+ #{tmp\ 2137}#
'(any any any))))
- #{e\ 1548}#)))
- (#{global-extend\ 129}#
+ #{e\ 2132}#)))
+ (#{global-extend\ 778}#
'module-ref
'@
- (lambda (#{e\ 1583}#)
- ((lambda (#{tmp\ 1584}#)
- ((lambda (#{tmp\ 1585}#)
- (if (if #{tmp\ 1585}#
- (apply (lambda (#{_\ 1586}# #{mod\ 1587}# #{id\ 1588}#)
- (if (and-map #{id?\ 131}# #{mod\ 1587}#)
- (#{id?\ 131}# #{id\ 1588}#)
+ (lambda (#{e\ 2167}#)
+ ((lambda (#{tmp\ 2168}#)
+ ((lambda (#{tmp\ 2169}#)
+ (if (if #{tmp\ 2169}#
+ (apply (lambda (#{_\ 2170}# #{mod\ 2171}# #{id\ 2172}#)
+ (if (and-map #{id?\ 780}# #{mod\ 2171}#)
+ (#{id?\ 780}# #{id\ 2172}#)
#f))
- #{tmp\ 1585}#)
+ #{tmp\ 2169}#)
#f)
- (apply (lambda (#{_\ 1590}# #{mod\ 1591}# #{id\ 1592}#)
+ (apply (lambda (#{_\ 2174}# #{mod\ 2175}# #{id\ 2176}#)
(values
- (syntax->datum #{id\ 1592}#)
+ (syntax->datum #{id\ 2176}#)
(syntax->datum
(cons '#(syntax-object
public
@@ -9992,32 +9714,32 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1591}#))))
- #{tmp\ 1585}#)
+ #{mod\ 2175}#))))
+ #{tmp\ 2169}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1584}#)))
+ #{tmp\ 2168}#)))
($sc-dispatch
- #{tmp\ 1584}#
+ #{tmp\ 2168}#
'(any each-any any))))
- #{e\ 1583}#)))
- (#{global-extend\ 129}#
+ #{e\ 2167}#)))
+ (#{global-extend\ 778}#
'module-ref
'@@
- (lambda (#{e\ 1594}#)
- ((lambda (#{tmp\ 1595}#)
- ((lambda (#{tmp\ 1596}#)
- (if (if #{tmp\ 1596}#
- (apply (lambda (#{_\ 1597}# #{mod\ 1598}# #{id\ 1599}#)
- (if (and-map #{id?\ 131}# #{mod\ 1598}#)
- (#{id?\ 131}# #{id\ 1599}#)
+ (lambda (#{e\ 2178}#)
+ ((lambda (#{tmp\ 2179}#)
+ ((lambda (#{tmp\ 2180}#)
+ (if (if #{tmp\ 2180}#
+ (apply (lambda (#{_\ 2181}# #{mod\ 2182}# #{id\ 2183}#)
+ (if (and-map #{id?\ 780}# #{mod\ 2182}#)
+ (#{id?\ 780}# #{id\ 2183}#)
#f))
- #{tmp\ 1596}#)
+ #{tmp\ 2180}#)
#f)
- (apply (lambda (#{_\ 1601}# #{mod\ 1602}# #{id\ 1603}#)
+ (apply (lambda (#{_\ 2185}# #{mod\ 2186}# #{id\ 2187}#)
(values
- (syntax->datum #{id\ 1603}#)
+ (syntax->datum #{id\ 2187}#)
(syntax->datum
(cons '#(syntax-object
private
@@ -10385,123 +10107,123 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1602}#))))
- #{tmp\ 1596}#)
+ #{mod\ 2186}#))))
+ #{tmp\ 2180}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1595}#)))
+ #{tmp\ 2179}#)))
($sc-dispatch
- #{tmp\ 1595}#
+ #{tmp\ 2179}#
'(any each-any any))))
- #{e\ 1594}#)))
- (#{global-extend\ 129}#
+ #{e\ 2178}#)))
+ (#{global-extend\ 778}#
'core
'if
- (lambda (#{e\ 1605}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{s\ 1608}#
- #{mod\ 1609}#)
- ((lambda (#{tmp\ 1610}#)
- ((lambda (#{tmp\ 1611}#)
- (if #{tmp\ 1611}#
- (apply (lambda (#{_\ 1612}# #{test\ 1613}# #{then\ 1614}#)
- (#{build-conditional\ 97}#
- #{s\ 1608}#
- (#{chi\ 167}#
- #{test\ 1613}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
- (#{chi\ 167}#
- #{then\ 1614}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
- (#{build-void\ 95}# #f)))
- #{tmp\ 1611}#)
- ((lambda (#{tmp\ 1615}#)
- (if #{tmp\ 1615}#
- (apply (lambda (#{_\ 1616}#
- #{test\ 1617}#
- #{then\ 1618}#
- #{else\ 1619}#)
- (#{build-conditional\ 97}#
- #{s\ 1608}#
- (#{chi\ 167}#
- #{test\ 1617}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
- (#{chi\ 167}#
- #{then\ 1618}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
- (#{chi\ 167}#
- #{else\ 1619}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)))
- #{tmp\ 1615}#)
+ (lambda (#{e\ 2189}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{s\ 2192}#
+ #{mod\ 2193}#)
+ ((lambda (#{tmp\ 2194}#)
+ ((lambda (#{tmp\ 2195}#)
+ (if #{tmp\ 2195}#
+ (apply (lambda (#{_\ 2196}# #{test\ 2197}# #{then\ 2198}#)
+ (#{build-conditional\ 746}#
+ #{s\ 2192}#
+ (#{chi\ 816}#
+ #{test\ 2197}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{mod\ 2193}#)
+ (#{chi\ 816}#
+ #{then\ 2198}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{mod\ 2193}#)
+ (#{build-void\ 744}# #f)))
+ #{tmp\ 2195}#)
+ ((lambda (#{tmp\ 2199}#)
+ (if #{tmp\ 2199}#
+ (apply (lambda (#{_\ 2200}#
+ #{test\ 2201}#
+ #{then\ 2202}#
+ #{else\ 2203}#)
+ (#{build-conditional\ 746}#
+ #{s\ 2192}#
+ (#{chi\ 816}#
+ #{test\ 2201}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{mod\ 2193}#)
+ (#{chi\ 816}#
+ #{then\ 2202}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{mod\ 2193}#)
+ (#{chi\ 816}#
+ #{else\ 2203}#
+ #{r\ 2190}#
+ #{w\ 2191}#
+ #{mod\ 2193}#)))
+ #{tmp\ 2199}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1610}#)))
+ #{tmp\ 2194}#)))
($sc-dispatch
- #{tmp\ 1610}#
+ #{tmp\ 2194}#
'(any any any any)))))
($sc-dispatch
- #{tmp\ 1610}#
+ #{tmp\ 2194}#
'(any any any))))
- #{e\ 1605}#)))
- (#{global-extend\ 129}#
+ #{e\ 2189}#)))
+ (#{global-extend\ 778}#
'begin
'begin
'())
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'define
'define
'())
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'define-syntax
'define-syntax
'())
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'eval-when
'eval-when
'())
- (#{global-extend\ 129}#
+ (#{global-extend\ 778}#
'core
'syntax-case
- (letrec ((#{gen-syntax-case\ 1623}#
- (lambda (#{x\ 1624}#
- #{keys\ 1625}#
- #{clauses\ 1626}#
- #{r\ 1627}#
- #{mod\ 1628}#)
- (if (null? #{clauses\ 1626}#)
- (#{build-application\ 96}#
+ (letrec ((#{gen-syntax-case\ 2207}#
+ (lambda (#{x\ 2208}#
+ #{keys\ 2209}#
+ #{clauses\ 2210}#
+ #{r\ 2211}#
+ #{mod\ 2212}#)
+ (if (null? #{clauses\ 2210}#)
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'syntax-violation)
- (list (#{build-data\ 109}# #f #f)
- (#{build-data\ 109}#
+ (list (#{build-data\ 758}# #f #f)
+ (#{build-data\ 758}#
#f
"source expression failed to match any
pattern")
- #{x\ 1624}#))
- ((lambda (#{tmp\ 1629}#)
- ((lambda (#{tmp\ 1630}#)
- (if #{tmp\ 1630}#
- (apply (lambda (#{pat\ 1631}# #{exp\ 1632}#)
- (if (if (#{id?\ 131}# #{pat\ 1631}#)
+ #{x\ 2208}#))
+ ((lambda (#{tmp\ 2213}#)
+ ((lambda (#{tmp\ 2214}#)
+ (if #{tmp\ 2214}#
+ (apply (lambda (#{pat\ 2215}# #{exp\ 2216}#)
+ (if (if (#{id?\ 780}# #{pat\ 2215}#)
(and-map
- (lambda (#{x\ 1633}#)
- (not (#{free-id=?\ 154}#
- #{pat\ 1631}#
- #{x\ 1633}#)))
+ (lambda (#{x\ 2217}#)
+ (not (#{free-id=?\ 803}#
+ #{pat\ 2215}#
+ #{x\ 2217}#)))
(cons '#(syntax-object
...
((top)
@@ -10894,734 +10616,734 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{keys\ 1625}#))
+ #{keys\ 2209}#))
#f)
- (let ((#{labels\ 1634}#
- (list (#{gen-label\ 136}#)))
- (#{var\ 1635}#
- (#{gen-var\ 181}#
- #{pat\ 1631}#)))
- (#{build-application\ 96}#
+ (let ((#{labels\ 2218}#
+ (list (#{gen-label\ 785}#)))
+ (#{var\ 2219}#
+ (#{gen-var\ 830}#
+ #{pat\ 2215}#)))
+ (#{build-application\ 745}#
#f
- (#{build-simple-lambda\ 105}#
+ (#{build-simple-lambda\ 754}#
#f
(list (syntax->datum
- #{pat\ 1631}#))
+ #{pat\ 2215}#))
#f
- (list #{var\ 1635}#)
+ (list #{var\ 2219}#)
#f
- (#{chi\ 167}#
- #{exp\ 1632}#
- (#{extend-env\ 125}#
- #{labels\ 1634}#
+ (#{chi\ 816}#
+ #{exp\ 2216}#
+ (#{extend-env\ 774}#
+ #{labels\ 2218}#
(list (cons 'syntax
- (cons #{var\
1635}#
+ (cons #{var\
2219}#
0)))
- #{r\ 1627}#)
- (#{make-binding-wrap\ 148}#
- (list #{pat\ 1631}#)
- #{labels\ 1634}#
+ #{r\ 2211}#)
+ (#{make-binding-wrap\ 797}#
+ (list #{pat\ 2215}#)
+ #{labels\ 2218}#
'(()))
- #{mod\ 1628}#))
- (list #{x\ 1624}#)))
- (#{gen-clause\ 1622}#
- #{x\ 1624}#
- #{keys\ 1625}#
- (cdr #{clauses\ 1626}#)
- #{r\ 1627}#
- #{pat\ 1631}#
+ #{mod\ 2212}#))
+ (list #{x\ 2208}#)))
+ (#{gen-clause\ 2206}#
+ #{x\ 2208}#
+ #{keys\ 2209}#
+ (cdr #{clauses\ 2210}#)
+ #{r\ 2211}#
+ #{pat\ 2215}#
#t
- #{exp\ 1632}#
- #{mod\ 1628}#)))
- #{tmp\ 1630}#)
- ((lambda (#{tmp\ 1636}#)
- (if #{tmp\ 1636}#
- (apply (lambda (#{pat\ 1637}#
- #{fender\ 1638}#
- #{exp\ 1639}#)
- (#{gen-clause\ 1622}#
- #{x\ 1624}#
- #{keys\ 1625}#
- (cdr #{clauses\ 1626}#)
- #{r\ 1627}#
- #{pat\ 1637}#
- #{fender\ 1638}#
- #{exp\ 1639}#
- #{mod\ 1628}#))
- #{tmp\ 1636}#)
- ((lambda (#{_\ 1640}#)
+ #{exp\ 2216}#
+ #{mod\ 2212}#)))
+ #{tmp\ 2214}#)
+ ((lambda (#{tmp\ 2220}#)
+ (if #{tmp\ 2220}#
+ (apply (lambda (#{pat\ 2221}#
+ #{fender\ 2222}#
+ #{exp\ 2223}#)
+ (#{gen-clause\ 2206}#
+ #{x\ 2208}#
+ #{keys\ 2209}#
+ (cdr #{clauses\ 2210}#)
+ #{r\ 2211}#
+ #{pat\ 2221}#
+ #{fender\ 2222}#
+ #{exp\ 2223}#
+ #{mod\ 2212}#))
+ #{tmp\ 2220}#)
+ ((lambda (#{_\ 2224}#)
(syntax-violation
'syntax-case
"invalid clause"
- (car #{clauses\ 1626}#)))
- #{tmp\ 1629}#)))
+ (car #{clauses\ 2210}#)))
+ #{tmp\ 2213}#)))
($sc-dispatch
- #{tmp\ 1629}#
+ #{tmp\ 2213}#
'(any any any)))))
- ($sc-dispatch #{tmp\ 1629}# (quote (any any)))))
- (car #{clauses\ 1626}#)))))
- (#{gen-clause\ 1622}#
- (lambda (#{x\ 1641}#
- #{keys\ 1642}#
- #{clauses\ 1643}#
- #{r\ 1644}#
- #{pat\ 1645}#
- #{fender\ 1646}#
- #{exp\ 1647}#
- #{mod\ 1648}#)
+ ($sc-dispatch #{tmp\ 2213}# (quote (any any)))))
+ (car #{clauses\ 2210}#)))))
+ (#{gen-clause\ 2206}#
+ (lambda (#{x\ 2225}#
+ #{keys\ 2226}#
+ #{clauses\ 2227}#
+ #{r\ 2228}#
+ #{pat\ 2229}#
+ #{fender\ 2230}#
+ #{exp\ 2231}#
+ #{mod\ 2232}#)
(call-with-values
(lambda ()
- (#{convert-pattern\ 1620}#
- #{pat\ 1645}#
- #{keys\ 1642}#))
- (lambda (#{p\ 1649}# #{pvars\ 1650}#)
- (if (not (#{distinct-bound-ids?\ 157}#
- (map car #{pvars\ 1650}#)))
+ (#{convert-pattern\ 2204}#
+ #{pat\ 2229}#
+ #{keys\ 2226}#))
+ (lambda (#{p\ 2233}# #{pvars\ 2234}#)
+ (if (not (#{distinct-bound-ids?\ 806}#
+ (map car #{pvars\ 2234}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
- #{pat\ 1645}#)
+ #{pat\ 2229}#)
(if (not (and-map
- (lambda (#{x\ 1651}#)
- (not (#{ellipsis?\ 175}#
- (car #{x\ 1651}#))))
- #{pvars\ 1650}#))
+ (lambda (#{x\ 2235}#)
+ (not (#{ellipsis?\ 824}#
+ (car #{x\ 2235}#))))
+ #{pvars\ 2234}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
- #{pat\ 1645}#)
- (let ((#{y\ 1652}#
- (#{gen-var\ 181}# (quote tmp))))
- (#{build-application\ 96}#
+ #{pat\ 2229}#)
+ (let ((#{y\ 2236}#
+ (#{gen-var\ 830}# (quote tmp))))
+ (#{build-application\ 745}#
#f
- (#{build-simple-lambda\ 105}#
+ (#{build-simple-lambda\ 754}#
#f
(list (quote tmp))
#f
- (list #{y\ 1652}#)
+ (list #{y\ 2236}#)
#f
- (let ((#{y\ 1653}#
- (#{build-lexical-reference\ 98}#
+ (let ((#{y\ 2237}#
+ (#{build-lexical-reference\ 747}#
'value
#f
'tmp
- #{y\ 1652}#)))
- (#{build-conditional\ 97}#
+ #{y\ 2236}#)))
+ (#{build-conditional\ 746}#
#f
- ((lambda (#{tmp\ 1654}#)
- ((lambda (#{tmp\ 1655}#)
- (if #{tmp\ 1655}#
- (apply (lambda () #{y\ 1653}#)
- #{tmp\ 1655}#)
- ((lambda (#{_\ 1656}#)
- (#{build-conditional\ 97}#
+ ((lambda (#{tmp\ 2238}#)
+ ((lambda (#{tmp\ 2239}#)
+ (if #{tmp\ 2239}#
+ (apply (lambda () #{y\ 2237}#)
+ #{tmp\ 2239}#)
+ ((lambda (#{_\ 2240}#)
+ (#{build-conditional\ 746}#
#f
- #{y\ 1653}#
- (#{build-dispatch-call\
1621}#
- #{pvars\ 1650}#
- #{fender\ 1646}#
- #{y\ 1653}#
- #{r\ 1644}#
- #{mod\ 1648}#)
- (#{build-data\ 109}#
+ #{y\ 2237}#
+ (#{build-dispatch-call\
2205}#
+ #{pvars\ 2234}#
+ #{fender\ 2230}#
+ #{y\ 2237}#
+ #{r\ 2228}#
+ #{mod\ 2232}#)
+ (#{build-data\ 758}#
#f
#f)))
- #{tmp\ 1654}#)))
+ #{tmp\ 2238}#)))
($sc-dispatch
- #{tmp\ 1654}#
+ #{tmp\ 2238}#
'#(atom #t))))
- #{fender\ 1646}#)
- (#{build-dispatch-call\ 1621}#
- #{pvars\ 1650}#
- #{exp\ 1647}#
- #{y\ 1653}#
- #{r\ 1644}#
- #{mod\ 1648}#)
- (#{gen-syntax-case\ 1623}#
- #{x\ 1641}#
- #{keys\ 1642}#
- #{clauses\ 1643}#
- #{r\ 1644}#
- #{mod\ 1648}#))))
- (list (if (eq? #{p\ 1649}# (quote any))
- (#{build-application\ 96}#
+ #{fender\ 2230}#)
+ (#{build-dispatch-call\ 2205}#
+ #{pvars\ 2234}#
+ #{exp\ 2231}#
+ #{y\ 2237}#
+ #{r\ 2228}#
+ #{mod\ 2232}#)
+ (#{gen-syntax-case\ 2207}#
+ #{x\ 2225}#
+ #{keys\ 2226}#
+ #{clauses\ 2227}#
+ #{r\ 2228}#
+ #{mod\ 2232}#))))
+ (list (if (eq? #{p\ 2233}# (quote any))
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'list)
- (list #{x\ 1641}#))
- (#{build-application\ 96}#
+ (list #{x\ 2225}#))
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}#
+ (#{build-primref\ 757}#
#f
'$sc-dispatch)
- (list #{x\ 1641}#
- (#{build-data\ 109}#
+ (list #{x\ 2225}#
+ (#{build-data\ 758}#
#f
- #{p\ 1649}#)))))))))))))
- (#{build-dispatch-call\ 1621}#
- (lambda (#{pvars\ 1657}#
- #{exp\ 1658}#
- #{y\ 1659}#
- #{r\ 1660}#
- #{mod\ 1661}#)
- (let ((#{ids\ 1662}# (map car #{pvars\ 1657}#))
- (#{levels\ 1663}# (map cdr #{pvars\ 1657}#)))
- (let ((#{labels\ 1664}#
- (#{gen-labels\ 137}# #{ids\ 1662}#))
- (#{new-vars\ 1665}#
- (map #{gen-var\ 181}# #{ids\ 1662}#)))
- (#{build-application\ 96}#
+ #{p\ 2233}#)))))))))))))
+ (#{build-dispatch-call\ 2205}#
+ (lambda (#{pvars\ 2241}#
+ #{exp\ 2242}#
+ #{y\ 2243}#
+ #{r\ 2244}#
+ #{mod\ 2245}#)
+ (let ((#{ids\ 2246}# (map car #{pvars\ 2241}#))
+ (#{levels\ 2247}# (map cdr #{pvars\ 2241}#)))
+ (let ((#{labels\ 2248}#
+ (#{gen-labels\ 786}# #{ids\ 2246}#))
+ (#{new-vars\ 2249}#
+ (map #{gen-var\ 830}# #{ids\ 2246}#)))
+ (#{build-application\ 745}#
#f
- (#{build-primref\ 108}# #f (quote apply))
- (list (#{build-simple-lambda\ 105}#
+ (#{build-primref\ 757}# #f (quote apply))
+ (list (#{build-simple-lambda\ 754}#
#f
- (map syntax->datum #{ids\ 1662}#)
+ (map syntax->datum #{ids\ 2246}#)
#f
- #{new-vars\ 1665}#
+ #{new-vars\ 2249}#
#f
- (#{chi\ 167}#
- #{exp\ 1658}#
- (#{extend-env\ 125}#
- #{labels\ 1664}#
- (map (lambda (#{var\ 1666}#
- #{level\ 1667}#)
+ (#{chi\ 816}#
+ #{exp\ 2242}#
+ (#{extend-env\ 774}#
+ #{labels\ 2248}#
+ (map (lambda (#{var\ 2250}#
+ #{level\ 2251}#)
(cons 'syntax
- (cons #{var\ 1666}#
- #{level\ 1667}#)))
- #{new-vars\ 1665}#
- (map cdr #{pvars\ 1657}#))
- #{r\ 1660}#)
- (#{make-binding-wrap\ 148}#
- #{ids\ 1662}#
- #{labels\ 1664}#
+ (cons #{var\ 2250}#
+ #{level\ 2251}#)))
+ #{new-vars\ 2249}#
+ (map cdr #{pvars\ 2241}#))
+ #{r\ 2244}#)
+ (#{make-binding-wrap\ 797}#
+ #{ids\ 2246}#
+ #{labels\ 2248}#
'(()))
- #{mod\ 1661}#))
- #{y\ 1659}#))))))
- (#{convert-pattern\ 1620}#
- (lambda (#{pattern\ 1668}# #{keys\ 1669}#)
- (letrec ((#{cvt\ 1670}#
- (lambda (#{p\ 1671}# #{n\ 1672}# #{ids\ 1673}#)
- (if (#{id?\ 131}# #{p\ 1671}#)
- (if (#{bound-id-member?\ 158}#
- #{p\ 1671}#
- #{keys\ 1669}#)
+ #{mod\ 2245}#))
+ #{y\ 2243}#))))))
+ (#{convert-pattern\ 2204}#
+ (lambda (#{pattern\ 2252}# #{keys\ 2253}#)
+ (letrec ((#{cvt\ 2254}#
+ (lambda (#{p\ 2255}# #{n\ 2256}# #{ids\ 2257}#)
+ (if (#{id?\ 780}# #{p\ 2255}#)
+ (if (#{bound-id-member?\ 807}#
+ #{p\ 2255}#
+ #{keys\ 2253}#)
(values
- (vector (quote free-id) #{p\ 1671}#)
- #{ids\ 1673}#)
+ (vector (quote free-id) #{p\ 2255}#)
+ #{ids\ 2257}#)
(values
'any
- (cons (cons #{p\ 1671}# #{n\ 1672}#)
- #{ids\ 1673}#)))
- ((lambda (#{tmp\ 1674}#)
- ((lambda (#{tmp\ 1675}#)
- (if (if #{tmp\ 1675}#
- (apply (lambda (#{x\ 1676}#
- #{dots\ 1677}#)
- (#{ellipsis?\ 175}#
- #{dots\ 1677}#))
- #{tmp\ 1675}#)
+ (cons (cons #{p\ 2255}# #{n\ 2256}#)
+ #{ids\ 2257}#)))
+ ((lambda (#{tmp\ 2258}#)
+ ((lambda (#{tmp\ 2259}#)
+ (if (if #{tmp\ 2259}#
+ (apply (lambda (#{x\ 2260}#
+ #{dots\ 2261}#)
+ (#{ellipsis?\ 824}#
+ #{dots\ 2261}#))
+ #{tmp\ 2259}#)
#f)
- (apply (lambda (#{x\ 1678}#
- #{dots\ 1679}#)
+ (apply (lambda (#{x\ 2262}#
+ #{dots\ 2263}#)
(call-with-values
(lambda ()
- (#{cvt\ 1670}#
- #{x\ 1678}#
- (#{fx+\ 86}#
- #{n\ 1672}#
+ (#{cvt\ 2254}#
+ #{x\ 2262}#
+ (#{fx+\ 735}#
+ #{n\ 2256}#
1)
- #{ids\ 1673}#))
- (lambda (#{p\ 1680}#
- #{ids\ 1681}#)
+ #{ids\ 2257}#))
+ (lambda (#{p\ 2264}#
+ #{ids\ 2265}#)
(values
- (if (eq? #{p\ 1680}#
+ (if (eq? #{p\ 2264}#
'any)
'each-any
(vector
'each
- #{p\ 1680}#))
- #{ids\ 1681}#))))
- #{tmp\ 1675}#)
- ((lambda (#{tmp\ 1682}#)
- (if #{tmp\ 1682}#
- (apply (lambda (#{x\ 1683}#
- #{y\ 1684}#)
+ #{p\ 2264}#))
+ #{ids\ 2265}#))))
+ #{tmp\ 2259}#)
+ ((lambda (#{tmp\ 2266}#)
+ (if #{tmp\ 2266}#
+ (apply (lambda (#{x\ 2267}#
+ #{y\ 2268}#)
(call-with-values
(lambda ()
- (#{cvt\ 1670}#
- #{y\ 1684}#
- #{n\ 1672}#
- #{ids\ 1673}#))
- (lambda (#{y\
1685}#
- #{ids\
1686}#)
+ (#{cvt\ 2254}#
+ #{y\ 2268}#
+ #{n\ 2256}#
+ #{ids\ 2257}#))
+ (lambda (#{y\
2269}#
+ #{ids\
2270}#)
(call-with-values
(lambda ()
- (#{cvt\
1670}#
- #{x\ 1683}#
- #{n\ 1672}#
- #{ids\
1686}#))
- (lambda (#{x\
1687}#
-
#{ids\ 1688}#)
+ (#{cvt\
2254}#
+ #{x\ 2267}#
+ #{n\ 2256}#
+ #{ids\
2270}#))
+ (lambda (#{x\
2271}#
+
#{ids\ 2272}#)
(values
- (cons #{x\
1687}#
- #{y\
1685}#)
- #{ids\
1688}#))))))
- #{tmp\ 1682}#)
- ((lambda (#{tmp\ 1689}#)
- (if #{tmp\ 1689}#
+ (cons #{x\
2271}#
+ #{y\
2269}#)
+ #{ids\
2272}#))))))
+ #{tmp\ 2266}#)
+ ((lambda (#{tmp\ 2273}#)
+ (if #{tmp\ 2273}#
(apply (lambda ()
(values
'()
- #{ids\
1673}#))
- #{tmp\ 1689}#)
- ((lambda (#{tmp\ 1690}#)
- (if #{tmp\ 1690}#
- (apply (lambda
(#{x\ 1691}#)
+ #{ids\
2257}#))
+ #{tmp\ 2273}#)
+ ((lambda (#{tmp\ 2274}#)
+ (if #{tmp\ 2274}#
+ (apply (lambda
(#{x\ 2275}#)
(call-with-values
(lambda
()
-
(#{cvt\ 1670}#
- #{x\
1691}#
- #{n\
1672}#
-
#{ids\ 1673}#))
- (lambda
(#{p\ 1693}#
-
#{ids\ 1694}#)
+
(#{cvt\ 2254}#
+ #{x\
2275}#
+ #{n\
2256}#
+
#{ids\ 2257}#))
+ (lambda
(#{p\ 2277}#
+
#{ids\ 2278}#)
(values
(vector
'vector
-
#{p\ 1693}#)
-
#{ids\ 1694}#))))
- #{tmp\
1690}#)
- ((lambda (#{x\
1695}#)
+
#{p\ 2277}#)
+
#{ids\ 2278}#))))
+ #{tmp\
2274}#)
+ ((lambda (#{x\
2279}#)
(values
(vector
'atom
- (#{strip\
180}#
- #{p\ 1671}#
+ (#{strip\
829}#
+ #{p\ 2255}#
'(())))
- #{ids\ 1673}#))
- #{tmp\ 1674}#)))
+ #{ids\ 2257}#))
+ #{tmp\ 2258}#)))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 2258}#
'#(vector
each-any)))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 2258}#
'()))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 2258}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 2258}#
'(any any))))
- #{p\ 1671}#)))))
- (#{cvt\ 1670}# #{pattern\ 1668}# 0 (quote ()))))))
- (lambda (#{e\ 1696}#
- #{r\ 1697}#
- #{w\ 1698}#
- #{s\ 1699}#
- #{mod\ 1700}#)
- (let ((#{e\ 1701}#
- (#{source-wrap\ 160}#
- #{e\ 1696}#
- #{w\ 1698}#
- #{s\ 1699}#
- #{mod\ 1700}#)))
- ((lambda (#{tmp\ 1702}#)
- ((lambda (#{tmp\ 1703}#)
- (if #{tmp\ 1703}#
- (apply (lambda (#{_\ 1704}#
- #{val\ 1705}#
- #{key\ 1706}#
- #{m\ 1707}#)
+ #{p\ 2255}#)))))
+ (#{cvt\ 2254}# #{pattern\ 2252}# 0 (quote ()))))))
+ (lambda (#{e\ 2280}#
+ #{r\ 2281}#
+ #{w\ 2282}#
+ #{s\ 2283}#
+ #{mod\ 2284}#)
+ (let ((#{e\ 2285}#
+ (#{source-wrap\ 809}#
+ #{e\ 2280}#
+ #{w\ 2282}#
+ #{s\ 2283}#
+ #{mod\ 2284}#)))
+ ((lambda (#{tmp\ 2286}#)
+ ((lambda (#{tmp\ 2287}#)
+ (if #{tmp\ 2287}#
+ (apply (lambda (#{_\ 2288}#
+ #{val\ 2289}#
+ #{key\ 2290}#
+ #{m\ 2291}#)
(if (and-map
- (lambda (#{x\ 1708}#)
- (if (#{id?\ 131}# #{x\ 1708}#)
- (not (#{ellipsis?\ 175}# #{x\ 1708}#))
+ (lambda (#{x\ 2292}#)
+ (if (#{id?\ 780}# #{x\ 2292}#)
+ (not (#{ellipsis?\ 824}# #{x\ 2292}#))
#f))
- #{key\ 1706}#)
- (let ((#{x\ 1710}#
- (#{gen-var\ 181}# (quote tmp))))
- (#{build-application\ 96}#
- #{s\ 1699}#
- (#{build-simple-lambda\ 105}#
+ #{key\ 2290}#)
+ (let ((#{x\ 2294}#
+ (#{gen-var\ 830}# (quote tmp))))
+ (#{build-application\ 745}#
+ #{s\ 2283}#
+ (#{build-simple-lambda\ 754}#
#f
(list (quote tmp))
#f
- (list #{x\ 1710}#)
+ (list #{x\ 2294}#)
#f
- (#{gen-syntax-case\ 1623}#
- (#{build-lexical-reference\ 98}#
+ (#{gen-syntax-case\ 2207}#
+ (#{build-lexical-reference\ 747}#
'value
#f
'tmp
- #{x\ 1710}#)
- #{key\ 1706}#
- #{m\ 1707}#
- #{r\ 1697}#
- #{mod\ 1700}#))
- (list (#{chi\ 167}#
- #{val\ 1705}#
- #{r\ 1697}#
+ #{x\ 2294}#)
+ #{key\ 2290}#
+ #{m\ 2291}#
+ #{r\ 2281}#
+ #{mod\ 2284}#))
+ (list (#{chi\ 816}#
+ #{val\ 2289}#
+ #{r\ 2281}#
'(())
- #{mod\ 1700}#))))
+ #{mod\ 2284}#))))
(syntax-violation
'syntax-case
"invalid literals list"
- #{e\ 1701}#)))
- #{tmp\ 1703}#)
+ #{e\ 2285}#)))
+ #{tmp\ 2287}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1702}#)))
+ #{tmp\ 2286}#)))
($sc-dispatch
- #{tmp\ 1702}#
+ #{tmp\ 2286}#
'(any any each-any . each-any))))
- #{e\ 1701}#)))))
+ #{e\ 2285}#)))))
(set! sc-expand
- (lambda (#{x\ 1713}# . #{rest\ 1714}#)
- (if (if (pair? #{x\ 1713}#)
- (equal? (car #{x\ 1713}#) #{noexpand\ 84}#)
+ (lambda (#{x\ 2297}# . #{rest\ 2298}#)
+ (if (if (pair? #{x\ 2297}#)
+ (equal? (car #{x\ 2297}#) #{noexpand\ 733}#)
#f)
- (cadr #{x\ 1713}#)
- (let ((#{m\ 1715}#
- (if (null? #{rest\ 1714}#)
+ (cadr #{x\ 2297}#)
+ (let ((#{m\ 2299}#
+ (if (null? #{rest\ 2298}#)
'e
- (car #{rest\ 1714}#)))
- (#{esew\ 1716}#
- (if (let ((#{t\ 1717}# (null? #{rest\ 1714}#)))
- (if #{t\ 1717}#
- #{t\ 1717}#
- (null? (cdr #{rest\ 1714}#))))
+ (car #{rest\ 2298}#)))
+ (#{esew\ 2300}#
+ (if (let ((#{t\ 2301}# (null? #{rest\ 2298}#)))
+ (if #{t\ 2301}#
+ #{t\ 2301}#
+ (null? (cdr #{rest\ 2298}#))))
'(eval)
- (cadr #{rest\ 1714}#))))
+ (cadr #{rest\ 2298}#))))
(with-fluid*
- #{*mode*\ 85}#
- #{m\ 1715}#
+ #{*mode*\ 734}#
+ #{m\ 2299}#
(lambda ()
- (#{chi-top\ 166}#
- #{x\ 1713}#
+ (#{chi-top\ 815}#
+ #{x\ 2297}#
'()
'((top))
- #{m\ 1715}#
- #{esew\ 1716}#
+ #{m\ 2299}#
+ #{esew\ 2300}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
- (lambda (#{x\ 1718}#)
- (#{nonsymbol-id?\ 130}# #{x\ 1718}#)))
+ (lambda (#{x\ 2302}#)
+ (#{nonsymbol-id?\ 779}# #{x\ 2302}#)))
(set! datum->syntax
- (lambda (#{id\ 1719}# #{datum\ 1720}#)
- (#{make-syntax-object\ 114}#
- #{datum\ 1720}#
- (#{syntax-object-wrap\ 117}# #{id\ 1719}#)
+ (lambda (#{id\ 2303}# #{datum\ 2304}#)
+ (#{make-syntax-object\ 763}#
+ #{datum\ 2304}#
+ (#{syntax-object-wrap\ 766}# #{id\ 2303}#)
#f)))
(set! syntax->datum
- (lambda (#{x\ 1721}#)
- (#{strip\ 180}# #{x\ 1721}# (quote (())))))
+ (lambda (#{x\ 2305}#)
+ (#{strip\ 829}# #{x\ 2305}# (quote (())))))
(set! generate-temporaries
- (lambda (#{ls\ 1722}#)
+ (lambda (#{ls\ 2306}#)
(begin
- (let ((#{x\ 1723}# #{ls\ 1722}#))
- (if (not (list? #{x\ 1723}#))
+ (let ((#{x\ 2307}# #{ls\ 2306}#))
+ (if (not (list? #{x\ 2307}#))
(syntax-violation
'generate-temporaries
"invalid argument"
- #{x\ 1723}#)))
- (map (lambda (#{x\ 1724}#)
- (#{wrap\ 159}# (gensym) (quote ((top))) #f))
- #{ls\ 1722}#))))
+ #{x\ 2307}#)))
+ (map (lambda (#{x\ 2308}#)
+ (#{wrap\ 808}# (gensym) (quote ((top))) #f))
+ #{ls\ 2306}#))))
(set! free-identifier=?
- (lambda (#{x\ 1725}# #{y\ 1726}#)
+ (lambda (#{x\ 2309}# #{y\ 2310}#)
(begin
- (let ((#{x\ 1727}# #{x\ 1725}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1727}#))
+ (let ((#{x\ 2311}# #{x\ 2309}#))
+ (if (not (#{nonsymbol-id?\ 779}# #{x\ 2311}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1727}#)))
- (let ((#{x\ 1728}# #{y\ 1726}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1728}#))
+ #{x\ 2311}#)))
+ (let ((#{x\ 2312}# #{y\ 2310}#))
+ (if (not (#{nonsymbol-id?\ 779}# #{x\ 2312}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1728}#)))
- (#{free-id=?\ 154}# #{x\ 1725}# #{y\ 1726}#))))
+ #{x\ 2312}#)))
+ (#{free-id=?\ 803}# #{x\ 2309}# #{y\ 2310}#))))
(set! bound-identifier=?
- (lambda (#{x\ 1729}# #{y\ 1730}#)
+ (lambda (#{x\ 2313}# #{y\ 2314}#)
(begin
- (let ((#{x\ 1731}# #{x\ 1729}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1731}#))
+ (let ((#{x\ 2315}# #{x\ 2313}#))
+ (if (not (#{nonsymbol-id?\ 779}# #{x\ 2315}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1731}#)))
- (let ((#{x\ 1732}# #{y\ 1730}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1732}#))
+ #{x\ 2315}#)))
+ (let ((#{x\ 2316}# #{y\ 2314}#))
+ (if (not (#{nonsymbol-id?\ 779}# #{x\ 2316}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1732}#)))
- (#{bound-id=?\ 155}# #{x\ 1729}# #{y\ 1730}#))))
+ #{x\ 2316}#)))
+ (#{bound-id=?\ 804}# #{x\ 2313}# #{y\ 2314}#))))
(set! syntax-violation
- (lambda (#{who\ 1733}#
- #{message\ 1734}#
- #{form\ 1735}#
+ (lambda (#{who\ 2317}#
+ #{message\ 2318}#
+ #{form\ 2319}#
.
- #{subform\ 1736}#)
+ #{subform\ 2320}#)
(begin
- (let ((#{x\ 1737}# #{who\ 1733}#))
- (if (not ((lambda (#{x\ 1738}#)
- (let ((#{t\ 1739}# (not #{x\ 1738}#)))
- (if #{t\ 1739}#
- #{t\ 1739}#
- (let ((#{t\ 1740}# (string? #{x\ 1738}#)))
- (if #{t\ 1740}#
- #{t\ 1740}#
- (symbol? #{x\ 1738}#))))))
- #{x\ 1737}#))
+ (let ((#{x\ 2321}# #{who\ 2317}#))
+ (if (not ((lambda (#{x\ 2322}#)
+ (let ((#{t\ 2323}# (not #{x\ 2322}#)))
+ (if #{t\ 2323}#
+ #{t\ 2323}#
+ (let ((#{t\ 2324}# (string? #{x\ 2322}#)))
+ (if #{t\ 2324}#
+ #{t\ 2324}#
+ (symbol? #{x\ 2322}#))))))
+ #{x\ 2321}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1737}#)))
- (let ((#{x\ 1741}# #{message\ 1734}#))
- (if (not (string? #{x\ 1741}#))
+ #{x\ 2321}#)))
+ (let ((#{x\ 2325}# #{message\ 2318}#))
+ (if (not (string? #{x\ 2325}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1741}#)))
+ #{x\ 2325}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
- (if #{who\ 1733}# "~a: " "")
+ (if #{who\ 2317}# "~a: " "")
"~a "
- (if (null? #{subform\ 1736}#)
+ (if (null? #{subform\ 2320}#)
"in ~a"
"in subform `~s' of `~s'"))
- (let ((#{tail\ 1742}#
- (cons #{message\ 1734}#
- (map (lambda (#{x\ 1743}#)
- (#{strip\ 180}# #{x\ 1743}# (quote (()))))
+ (let ((#{tail\ 2326}#
+ (cons #{message\ 2318}#
+ (map (lambda (#{x\ 2327}#)
+ (#{strip\ 829}# #{x\ 2327}# (quote (()))))
(append
- #{subform\ 1736}#
- (list #{form\ 1735}#))))))
- (if #{who\ 1733}#
- (cons #{who\ 1733}# #{tail\ 1742}#)
- #{tail\ 1742}#))
+ #{subform\ 2320}#
+ (list #{form\ 2319}#))))))
+ (if #{who\ 2317}#
+ (cons #{who\ 2317}# #{tail\ 2326}#)
+ #{tail\ 2326}#))
#f))))
- (letrec ((#{match\ 1748}#
- (lambda (#{e\ 1749}#
- #{p\ 1750}#
- #{w\ 1751}#
- #{r\ 1752}#
- #{mod\ 1753}#)
- (if (not #{r\ 1752}#)
+ (letrec ((#{match\ 2332}#
+ (lambda (#{e\ 2333}#
+ #{p\ 2334}#
+ #{w\ 2335}#
+ #{r\ 2336}#
+ #{mod\ 2337}#)
+ (if (not #{r\ 2336}#)
#f
- (if (eq? #{p\ 1750}# (quote any))
- (cons (#{wrap\ 159}#
- #{e\ 1749}#
- #{w\ 1751}#
- #{mod\ 1753}#)
- #{r\ 1752}#)
- (if (#{syntax-object?\ 115}# #{e\ 1749}#)
- (#{match*\ 1747}#
- (#{syntax-object-expression\ 116}# #{e\ 1749}#)
- #{p\ 1750}#
- (#{join-wraps\ 150}#
- #{w\ 1751}#
- (#{syntax-object-wrap\ 117}# #{e\ 1749}#))
- #{r\ 1752}#
- (#{syntax-object-module\ 118}# #{e\ 1749}#))
- (#{match*\ 1747}#
- #{e\ 1749}#
- #{p\ 1750}#
- #{w\ 1751}#
- #{r\ 1752}#
- #{mod\ 1753}#))))))
- (#{match*\ 1747}#
- (lambda (#{e\ 1754}#
- #{p\ 1755}#
- #{w\ 1756}#
- #{r\ 1757}#
- #{mod\ 1758}#)
- (if (null? #{p\ 1755}#)
- (if (null? #{e\ 1754}#) #{r\ 1757}# #f)
- (if (pair? #{p\ 1755}#)
- (if (pair? #{e\ 1754}#)
- (#{match\ 1748}#
- (car #{e\ 1754}#)
- (car #{p\ 1755}#)
- #{w\ 1756}#
- (#{match\ 1748}#
- (cdr #{e\ 1754}#)
- (cdr #{p\ 1755}#)
- #{w\ 1756}#
- #{r\ 1757}#
- #{mod\ 1758}#)
- #{mod\ 1758}#)
+ (if (eq? #{p\ 2334}# (quote any))
+ (cons (#{wrap\ 808}#
+ #{e\ 2333}#
+ #{w\ 2335}#
+ #{mod\ 2337}#)
+ #{r\ 2336}#)
+ (if (#{syntax-object?\ 764}# #{e\ 2333}#)
+ (#{match*\ 2331}#
+ (#{syntax-object-expression\ 765}# #{e\ 2333}#)
+ #{p\ 2334}#
+ (#{join-wraps\ 799}#
+ #{w\ 2335}#
+ (#{syntax-object-wrap\ 766}# #{e\ 2333}#))
+ #{r\ 2336}#
+ (#{syntax-object-module\ 767}# #{e\ 2333}#))
+ (#{match*\ 2331}#
+ #{e\ 2333}#
+ #{p\ 2334}#
+ #{w\ 2335}#
+ #{r\ 2336}#
+ #{mod\ 2337}#))))))
+ (#{match*\ 2331}#
+ (lambda (#{e\ 2338}#
+ #{p\ 2339}#
+ #{w\ 2340}#
+ #{r\ 2341}#
+ #{mod\ 2342}#)
+ (if (null? #{p\ 2339}#)
+ (if (null? #{e\ 2338}#) #{r\ 2341}# #f)
+ (if (pair? #{p\ 2339}#)
+ (if (pair? #{e\ 2338}#)
+ (#{match\ 2332}#
+ (car #{e\ 2338}#)
+ (car #{p\ 2339}#)
+ #{w\ 2340}#
+ (#{match\ 2332}#
+ (cdr #{e\ 2338}#)
+ (cdr #{p\ 2339}#)
+ #{w\ 2340}#
+ #{r\ 2341}#
+ #{mod\ 2342}#)
+ #{mod\ 2342}#)
#f)
- (if (eq? #{p\ 1755}# (quote each-any))
- (let ((#{l\ 1759}#
- (#{match-each-any\ 1745}#
- #{e\ 1754}#
- #{w\ 1756}#
- #{mod\ 1758}#)))
- (if #{l\ 1759}#
- (cons #{l\ 1759}# #{r\ 1757}#)
+ (if (eq? #{p\ 2339}# (quote each-any))
+ (let ((#{l\ 2343}#
+ (#{match-each-any\ 2329}#
+ #{e\ 2338}#
+ #{w\ 2340}#
+ #{mod\ 2342}#)))
+ (if #{l\ 2343}#
+ (cons #{l\ 2343}# #{r\ 2341}#)
#f))
- (let ((#{atom-key\ 1760}# (vector-ref #{p\ 1755}# 0)))
- (if (memv #{atom-key\ 1760}# (quote (each)))
- (if (null? #{e\ 1754}#)
- (#{match-empty\ 1746}#
- (vector-ref #{p\ 1755}# 1)
- #{r\ 1757}#)
- (let ((#{l\ 1761}#
- (#{match-each\ 1744}#
- #{e\ 1754}#
- (vector-ref #{p\ 1755}# 1)
- #{w\ 1756}#
- #{mod\ 1758}#)))
- (if #{l\ 1761}#
- (letrec ((#{collect\ 1762}#
- (lambda (#{l\ 1763}#)
- (if (null? (car #{l\ 1763}#))
- #{r\ 1757}#
- (cons (map car #{l\ 1763}#)
- (#{collect\ 1762}#
+ (let ((#{atom-key\ 2344}# (vector-ref #{p\ 2339}# 0)))
+ (if (memv #{atom-key\ 2344}# (quote (each)))
+ (if (null? #{e\ 2338}#)
+ (#{match-empty\ 2330}#
+ (vector-ref #{p\ 2339}# 1)
+ #{r\ 2341}#)
+ (let ((#{l\ 2345}#
+ (#{match-each\ 2328}#
+ #{e\ 2338}#
+ (vector-ref #{p\ 2339}# 1)
+ #{w\ 2340}#
+ #{mod\ 2342}#)))
+ (if #{l\ 2345}#
+ (letrec ((#{collect\ 2346}#
+ (lambda (#{l\ 2347}#)
+ (if (null? (car #{l\ 2347}#))
+ #{r\ 2341}#
+ (cons (map car #{l\ 2347}#)
+ (#{collect\ 2346}#
(map cdr
- #{l\
1763}#)))))))
- (#{collect\ 1762}# #{l\ 1761}#))
+ #{l\
2347}#)))))))
+ (#{collect\ 2346}# #{l\ 2345}#))
#f)))
- (if (memv #{atom-key\ 1760}# (quote (free-id)))
- (if (#{id?\ 131}# #{e\ 1754}#)
- (if (#{free-id=?\ 154}#
- (#{wrap\ 159}#
- #{e\ 1754}#
- #{w\ 1756}#
- #{mod\ 1758}#)
- (vector-ref #{p\ 1755}# 1))
- #{r\ 1757}#
+ (if (memv #{atom-key\ 2344}# (quote (free-id)))
+ (if (#{id?\ 780}# #{e\ 2338}#)
+ (if (#{free-id=?\ 803}#
+ (#{wrap\ 808}#
+ #{e\ 2338}#
+ #{w\ 2340}#
+ #{mod\ 2342}#)
+ (vector-ref #{p\ 2339}# 1))
+ #{r\ 2341}#
#f)
#f)
- (if (memv #{atom-key\ 1760}# (quote (atom)))
+ (if (memv #{atom-key\ 2344}# (quote (atom)))
(if (equal?
- (vector-ref #{p\ 1755}# 1)
- (#{strip\ 180}#
- #{e\ 1754}#
- #{w\ 1756}#))
- #{r\ 1757}#
+ (vector-ref #{p\ 2339}# 1)
+ (#{strip\ 829}#
+ #{e\ 2338}#
+ #{w\ 2340}#))
+ #{r\ 2341}#
#f)
- (if (memv #{atom-key\ 1760}# (quote (vector)))
- (if (vector? #{e\ 1754}#)
- (#{match\ 1748}#
- (vector->list #{e\ 1754}#)
- (vector-ref #{p\ 1755}# 1)
- #{w\ 1756}#
- #{r\ 1757}#
- #{mod\ 1758}#)
+ (if (memv #{atom-key\ 2344}# (quote (vector)))
+ (if (vector? #{e\ 2338}#)
+ (#{match\ 2332}#
+ (vector->list #{e\ 2338}#)
+ (vector-ref #{p\ 2339}# 1)
+ #{w\ 2340}#
+ #{r\ 2341}#
+ #{mod\ 2342}#)
#f)))))))))))
- (#{match-empty\ 1746}#
- (lambda (#{p\ 1764}# #{r\ 1765}#)
- (if (null? #{p\ 1764}#)
- #{r\ 1765}#
- (if (eq? #{p\ 1764}# (quote any))
- (cons (quote ()) #{r\ 1765}#)
- (if (pair? #{p\ 1764}#)
- (#{match-empty\ 1746}#
- (car #{p\ 1764}#)
- (#{match-empty\ 1746}#
- (cdr #{p\ 1764}#)
- #{r\ 1765}#))
- (if (eq? #{p\ 1764}# (quote each-any))
- (cons (quote ()) #{r\ 1765}#)
- (let ((#{atom-key\ 1766}#
- (vector-ref #{p\ 1764}# 0)))
- (if (memv #{atom-key\ 1766}# (quote (each)))
- (#{match-empty\ 1746}#
- (vector-ref #{p\ 1764}# 1)
- #{r\ 1765}#)
- (if (memv #{atom-key\ 1766}#
+ (#{match-empty\ 2330}#
+ (lambda (#{p\ 2348}# #{r\ 2349}#)
+ (if (null? #{p\ 2348}#)
+ #{r\ 2349}#
+ (if (eq? #{p\ 2348}# (quote any))
+ (cons (quote ()) #{r\ 2349}#)
+ (if (pair? #{p\ 2348}#)
+ (#{match-empty\ 2330}#
+ (car #{p\ 2348}#)
+ (#{match-empty\ 2330}#
+ (cdr #{p\ 2348}#)
+ #{r\ 2349}#))
+ (if (eq? #{p\ 2348}# (quote each-any))
+ (cons (quote ()) #{r\ 2349}#)
+ (let ((#{atom-key\ 2350}#
+ (vector-ref #{p\ 2348}# 0)))
+ (if (memv #{atom-key\ 2350}# (quote (each)))
+ (#{match-empty\ 2330}#
+ (vector-ref #{p\ 2348}# 1)
+ #{r\ 2349}#)
+ (if (memv #{atom-key\ 2350}#
'(free-id atom))
- #{r\ 1765}#
- (if (memv #{atom-key\ 1766}# (quote (vector)))
- (#{match-empty\ 1746}#
- (vector-ref #{p\ 1764}# 1)
- #{r\ 1765}#)))))))))))
- (#{match-each-any\ 1745}#
- (lambda (#{e\ 1767}# #{w\ 1768}# #{mod\ 1769}#)
- (if (pair? #{e\ 1767}#)
- (let ((#{l\ 1770}#
- (#{match-each-any\ 1745}#
- (cdr #{e\ 1767}#)
- #{w\ 1768}#
- #{mod\ 1769}#)))
- (if #{l\ 1770}#
- (cons (#{wrap\ 159}#
- (car #{e\ 1767}#)
- #{w\ 1768}#
- #{mod\ 1769}#)
- #{l\ 1770}#)
+ #{r\ 2349}#
+ (if (memv #{atom-key\ 2350}# (quote (vector)))
+ (#{match-empty\ 2330}#
+ (vector-ref #{p\ 2348}# 1)
+ #{r\ 2349}#)))))))))))
+ (#{match-each-any\ 2329}#
+ (lambda (#{e\ 2351}# #{w\ 2352}# #{mod\ 2353}#)
+ (if (pair? #{e\ 2351}#)
+ (let ((#{l\ 2354}#
+ (#{match-each-any\ 2329}#
+ (cdr #{e\ 2351}#)
+ #{w\ 2352}#
+ #{mod\ 2353}#)))
+ (if #{l\ 2354}#
+ (cons (#{wrap\ 808}#
+ (car #{e\ 2351}#)
+ #{w\ 2352}#
+ #{mod\ 2353}#)
+ #{l\ 2354}#)
#f))
- (if (null? #{e\ 1767}#)
+ (if (null? #{e\ 2351}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1767}#)
- (#{match-each-any\ 1745}#
- (#{syntax-object-expression\ 116}# #{e\ 1767}#)
- (#{join-wraps\ 150}#
- #{w\ 1768}#
- (#{syntax-object-wrap\ 117}# #{e\ 1767}#))
- #{mod\ 1769}#)
+ (if (#{syntax-object?\ 764}# #{e\ 2351}#)
+ (#{match-each-any\ 2329}#
+ (#{syntax-object-expression\ 765}# #{e\ 2351}#)
+ (#{join-wraps\ 799}#
+ #{w\ 2352}#
+ (#{syntax-object-wrap\ 766}# #{e\ 2351}#))
+ #{mod\ 2353}#)
#f)))))
- (#{match-each\ 1744}#
- (lambda (#{e\ 1771}#
- #{p\ 1772}#
- #{w\ 1773}#
- #{mod\ 1774}#)
- (if (pair? #{e\ 1771}#)
- (let ((#{first\ 1775}#
- (#{match\ 1748}#
- (car #{e\ 1771}#)
- #{p\ 1772}#
- #{w\ 1773}#
+ (#{match-each\ 2328}#
+ (lambda (#{e\ 2355}#
+ #{p\ 2356}#
+ #{w\ 2357}#
+ #{mod\ 2358}#)
+ (if (pair? #{e\ 2355}#)
+ (let ((#{first\ 2359}#
+ (#{match\ 2332}#
+ (car #{e\ 2355}#)
+ #{p\ 2356}#
+ #{w\ 2357}#
'()
- #{mod\ 1774}#)))
- (if #{first\ 1775}#
- (let ((#{rest\ 1776}#
- (#{match-each\ 1744}#
- (cdr #{e\ 1771}#)
- #{p\ 1772}#
- #{w\ 1773}#
- #{mod\ 1774}#)))
- (if #{rest\ 1776}#
- (cons #{first\ 1775}# #{rest\ 1776}#)
+ #{mod\ 2358}#)))
+ (if #{first\ 2359}#
+ (let ((#{rest\ 2360}#
+ (#{match-each\ 2328}#
+ (cdr #{e\ 2355}#)
+ #{p\ 2356}#
+ #{w\ 2357}#
+ #{mod\ 2358}#)))
+ (if #{rest\ 2360}#
+ (cons #{first\ 2359}# #{rest\ 2360}#)
#f))
#f))
- (if (null? #{e\ 1771}#)
+ (if (null? #{e\ 2355}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1771}#)
- (#{match-each\ 1744}#
- (#{syntax-object-expression\ 116}# #{e\ 1771}#)
- #{p\ 1772}#
- (#{join-wraps\ 150}#
- #{w\ 1773}#
- (#{syntax-object-wrap\ 117}# #{e\ 1771}#))
- (#{syntax-object-module\ 118}# #{e\ 1771}#))
+ (if (#{syntax-object?\ 764}# #{e\ 2355}#)
+ (#{match-each\ 2328}#
+ (#{syntax-object-expression\ 765}# #{e\ 2355}#)
+ #{p\ 2356}#
+ (#{join-wraps\ 799}#
+ #{w\ 2357}#
+ (#{syntax-object-wrap\ 766}# #{e\ 2355}#))
+ (#{syntax-object-module\ 767}# #{e\ 2355}#))
#f))))))
(set! $sc-dispatch
- (lambda (#{e\ 1777}# #{p\ 1778}#)
- (if (eq? #{p\ 1778}# (quote any))
- (list #{e\ 1777}#)
- (if (#{syntax-object?\ 115}# #{e\ 1777}#)
- (#{match*\ 1747}#
- (#{syntax-object-expression\ 116}# #{e\ 1777}#)
- #{p\ 1778}#
- (#{syntax-object-wrap\ 117}# #{e\ 1777}#)
+ (lambda (#{e\ 2361}# #{p\ 2362}#)
+ (if (eq? #{p\ 2362}# (quote any))
+ (list #{e\ 2361}#)
+ (if (#{syntax-object?\ 764}# #{e\ 2361}#)
+ (#{match*\ 2331}#
+ (#{syntax-object-expression\ 765}# #{e\ 2361}#)
+ #{p\ 2362}#
+ (#{syntax-object-wrap\ 766}# #{e\ 2361}#)
'()
- (#{syntax-object-module\ 118}# #{e\ 1777}#))
- (#{match*\ 1747}#
- #{e\ 1777}#
- #{p\ 1778}#
+ (#{syntax-object-module\ 767}# #{e\ 2361}#))
+ (#{match*\ 2331}#
+ #{e\ 2361}#
+ #{p\ 2362}#
'(())
'()
#f)))))))))
@@ -11629,11 +11351,11 @@
(define with-syntax
(make-syncase-macro
'macro
- (lambda (#{x\ 1779}#)
- ((lambda (#{tmp\ 1780}#)
- ((lambda (#{tmp\ 1781}#)
- (if #{tmp\ 1781}#
- (apply (lambda (#{_\ 1782}# #{e1\ 1783}# #{e2\ 1784}#)
+ (lambda (#{x\ 2363}#)
+ ((lambda (#{tmp\ 2364}#)
+ ((lambda (#{tmp\ 2365}#)
+ (if #{tmp\ 2365}#
+ (apply (lambda (#{_\ 2366}# #{e1\ 2367}# #{e2\ 2368}#)
(cons '#(syntax-object
begin
((top)
@@ -11644,15 +11366,15 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- (cons #{e1\ 1783}# #{e2\ 1784}#)))
- #{tmp\ 1781}#)
- ((lambda (#{tmp\ 1786}#)
- (if #{tmp\ 1786}#
- (apply (lambda (#{_\ 1787}#
- #{out\ 1788}#
- #{in\ 1789}#
- #{e1\ 1790}#
- #{e2\ 1791}#)
+ (cons #{e1\ 2367}# #{e2\ 2368}#)))
+ #{tmp\ 2365}#)
+ ((lambda (#{tmp\ 2370}#)
+ (if #{tmp\ 2370}#
+ (apply (lambda (#{_\ 2371}#
+ #{out\ 2372}#
+ #{in\ 2373}#
+ #{e1\ 2374}#
+ #{e2\ 2375}#)
(list '#(syntax-object
syntax-case
((top)
@@ -11663,9 +11385,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- #{in\ 1789}#
+ #{in\ 2373}#
'()
- (list #{out\ 1788}#
+ (list #{out\ 2372}#
(cons '#(syntax-object
begin
((top)
@@ -11683,16 +11405,16 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e1\ 1790}#
- #{e2\ 1791}#)))))
- #{tmp\ 1786}#)
- ((lambda (#{tmp\ 1793}#)
- (if #{tmp\ 1793}#
- (apply (lambda (#{_\ 1794}#
- #{out\ 1795}#
- #{in\ 1796}#
- #{e1\ 1797}#
- #{e2\ 1798}#)
+ (cons #{e1\ 2374}#
+ #{e2\ 2375}#)))))
+ #{tmp\ 2370}#)
+ ((lambda (#{tmp\ 2377}#)
+ (if #{tmp\ 2377}#
+ (apply (lambda (#{_\ 2378}#
+ #{out\ 2379}#
+ #{in\ 2380}#
+ #{e1\ 2381}#
+ #{e2\ 2382}#)
(list '#(syntax-object
syntax-case
((top)
@@ -11720,9 +11442,9 @@
#((top))
#("i")))
(hygiene guile))
- #{in\ 1796}#)
+ #{in\ 2380}#)
'()
- (list #{out\ 1795}#
+ (list #{out\ 2379}#
(cons '#(syntax-object
begin
((top)
@@ -11744,36 +11466,36 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e1\ 1797}#
- #{e2\ 1798}#)))))
- #{tmp\ 1793}#)
+ (cons #{e1\ 2381}#
+ #{e2\ 2382}#)))))
+ #{tmp\ 2377}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1780}#)))
+ #{tmp\ 2364}#)))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 2364}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 2364}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 2364}#
'(any () any . each-any))))
- #{x\ 1779}#))))
+ #{x\ 2363}#))))
(define syntax-rules
(make-syncase-macro
'macro
- (lambda (#{x\ 1802}#)
- ((lambda (#{tmp\ 1803}#)
- ((lambda (#{tmp\ 1804}#)
- (if #{tmp\ 1804}#
- (apply (lambda (#{_\ 1805}#
- #{k\ 1806}#
- #{keyword\ 1807}#
- #{pattern\ 1808}#
- #{template\ 1809}#)
+ (lambda (#{x\ 2386}#)
+ ((lambda (#{tmp\ 2387}#)
+ ((lambda (#{tmp\ 2388}#)
+ (if #{tmp\ 2388}#
+ (apply (lambda (#{_\ 2389}#
+ #{k\ 2390}#
+ #{keyword\ 2391}#
+ #{pattern\ 2392}#
+ #{template\ 2393}#)
(list '#(syntax-object
lambda
((top)
@@ -11814,9 +11536,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- (cons #{k\ 1806}#
- (map (lambda (#{tmp\ 1812}#
- #{tmp\ 1811}#)
+ (cons #{k\ 2390}#
+ (map (lambda (#{tmp\ 2396}#
+ #{tmp\ 2395}#)
(list (cons
'#(syntax-object
dummy
((top)
@@ -11846,7 +11568,7 @@
#("i")))
(hygiene
guile))
- #{tmp\
1811}#)
+ #{tmp\
2395}#)
(list
'#(syntax-object
syntax
((top)
@@ -11876,43 +11598,43 @@
#("i")))
(hygiene
guile))
- #{tmp\
1812}#)))
- #{template\ 1809}#
- #{pattern\ 1808}#))))))
- #{tmp\ 1804}#)
+ #{tmp\
2396}#)))
+ #{template\ 2393}#
+ #{pattern\ 2392}#))))))
+ #{tmp\ 2388}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1803}#)))
+ #{tmp\ 2387}#)))
($sc-dispatch
- #{tmp\ 1803}#
+ #{tmp\ 2387}#
'(any each-any . #(each ((any . any) any))))))
- #{x\ 1802}#))))
+ #{x\ 2386}#))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
- (lambda (#{x\ 1813}#)
- ((lambda (#{tmp\ 1814}#)
- ((lambda (#{tmp\ 1815}#)
- (if (if #{tmp\ 1815}#
- (apply (lambda (#{let*\ 1816}#
- #{x\ 1817}#
- #{v\ 1818}#
- #{e1\ 1819}#
- #{e2\ 1820}#)
- (and-map identifier? #{x\ 1817}#))
- #{tmp\ 1815}#)
+ (lambda (#{x\ 2397}#)
+ ((lambda (#{tmp\ 2398}#)
+ ((lambda (#{tmp\ 2399}#)
+ (if (if #{tmp\ 2399}#
+ (apply (lambda (#{let*\ 2400}#
+ #{x\ 2401}#
+ #{v\ 2402}#
+ #{e1\ 2403}#
+ #{e2\ 2404}#)
+ (and-map identifier? #{x\ 2401}#))
+ #{tmp\ 2399}#)
#f)
- (apply (lambda (#{let*\ 1822}#
- #{x\ 1823}#
- #{v\ 1824}#
- #{e1\ 1825}#
- #{e2\ 1826}#)
- (letrec ((#{f\ 1827}#
- (lambda (#{bindings\ 1828}#)
- (if (null? #{bindings\ 1828}#)
+ (apply (lambda (#{let*\ 2406}#
+ #{x\ 2407}#
+ #{v\ 2408}#
+ #{e1\ 2409}#
+ #{e2\ 2410}#)
+ (letrec ((#{f\ 2411}#
+ (lambda (#{bindings\ 2412}#)
+ (if (null? #{bindings\ 2412}#)
(cons '#(syntax-object
let
((top)
@@ -11936,13 +11658,13 @@
#("i")))
(hygiene guile))
(cons '()
- (cons #{e1\ 1825}#
- #{e2\ 1826}#)))
- ((lambda (#{tmp\ 1832}#)
- ((lambda (#{tmp\ 1833}#)
- (if #{tmp\ 1833}#
- (apply (lambda (#{body\ 1834}#
- #{binding\
1835}#)
+ (cons #{e1\ 2409}#
+ #{e2\ 2410}#)))
+ ((lambda (#{tmp\ 2416}#)
+ ((lambda (#{tmp\ 2417}#)
+ (if #{tmp\ 2417}#
+ (apply (lambda (#{body\ 2418}#
+ #{binding\
2419}#)
(list '#(syntax-object
let
((top)
@@ -11988,52 +11710,52 @@
#("i")))
(hygiene
guile))
- (list #{binding\
1835}#)
- #{body\ 1834}#))
- #{tmp\ 1833}#)
+ (list #{binding\
2419}#)
+ #{body\ 2418}#))
+ #{tmp\ 2417}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 1832}#)))
+ #{tmp\ 2416}#)))
($sc-dispatch
- #{tmp\ 1832}#
+ #{tmp\ 2416}#
'(any any))))
- (list (#{f\ 1827}#
- (cdr #{bindings\ 1828}#))
- (car #{bindings\ 1828}#)))))))
- (#{f\ 1827}# (map list #{x\ 1823}# #{v\ 1824}#))))
- #{tmp\ 1815}#)
+ (list (#{f\ 2411}#
+ (cdr #{bindings\ 2412}#))
+ (car #{bindings\ 2412}#)))))))
+ (#{f\ 2411}# (map list #{x\ 2407}# #{v\ 2408}#))))
+ #{tmp\ 2399}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1814}#)))
+ #{tmp\ 2398}#)))
($sc-dispatch
- #{tmp\ 1814}#
+ #{tmp\ 2398}#
'(any #(each (any any)) any . each-any))))
- #{x\ 1813}#))))
+ #{x\ 2397}#))))
(define do
(make-extended-syncase-macro
(module-ref (current-module) (quote do))
'macro
- (lambda (#{orig-x\ 1836}#)
- ((lambda (#{tmp\ 1837}#)
- ((lambda (#{tmp\ 1838}#)
- (if #{tmp\ 1838}#
- (apply (lambda (#{_\ 1839}#
- #{var\ 1840}#
- #{init\ 1841}#
- #{step\ 1842}#
- #{e0\ 1843}#
- #{e1\ 1844}#
- #{c\ 1845}#)
- ((lambda (#{tmp\ 1846}#)
- ((lambda (#{tmp\ 1847}#)
- (if #{tmp\ 1847}#
- (apply (lambda (#{step\ 1848}#)
- ((lambda (#{tmp\ 1849}#)
- ((lambda (#{tmp\ 1850}#)
- (if #{tmp\ 1850}#
+ (lambda (#{orig-x\ 2420}#)
+ ((lambda (#{tmp\ 2421}#)
+ ((lambda (#{tmp\ 2422}#)
+ (if #{tmp\ 2422}#
+ (apply (lambda (#{_\ 2423}#
+ #{var\ 2424}#
+ #{init\ 2425}#
+ #{step\ 2426}#
+ #{e0\ 2427}#
+ #{e1\ 2428}#
+ #{c\ 2429}#)
+ ((lambda (#{tmp\ 2430}#)
+ ((lambda (#{tmp\ 2431}#)
+ (if #{tmp\ 2431}#
+ (apply (lambda (#{step\ 2432}#)
+ ((lambda (#{tmp\ 2433}#)
+ ((lambda (#{tmp\ 2434}#)
+ (if #{tmp\ 2434}#
(apply (lambda ()
(list '#(syntax-object
let
@@ -12114,8 +11836,8 @@
(hygiene
guile))
(map list
- #{var\
1840}#
- #{init\
1841}#)
+ #{var\
2424}#
+ #{init\
2425}#)
(list
'#(syntax-object
if
((top)
@@ -12194,7 +11916,7 @@
#("i")))
(hygiene
guile))
-
#{e0\ 1843}#)
+
#{e0\ 2427}#)
(cons
'#(syntax-object
begin
((top)
@@ -12235,7 +11957,7 @@
(hygiene
guile))
(append
-
#{c\ 1845}#
+
#{c\ 2429}#
(list (cons '#(syntax-object
doloop
((top)
@@ -12275,12 +11997,12 @@
#("i")))
(hygiene
guile))
-
#{step\ 1848}#)))))))
- #{tmp\ 1850}#)
- ((lambda (#{tmp\ 1855}#)
- (if #{tmp\ 1855}#
- (apply (lambda (#{e1\
1856}#
- #{e2\
1857}#)
+
#{step\ 2432}#)))))))
+ #{tmp\ 2434}#)
+ ((lambda (#{tmp\ 2439}#)
+ (if #{tmp\ 2439}#
+ (apply (lambda (#{e1\
2440}#
+ #{e2\
2441}#)
(list
'#(syntax-object
let
((top)
@@ -12374,8 +12096,8 @@
(hygiene
guile))
(map list
-
#{var\ 1840}#
-
#{init\ 1841}#)
+
#{var\ 2424}#
+
#{init\ 2425}#)
(list
'#(syntax-object
if
((top)
@@ -12422,7 +12144,7 @@
#("i")))
(hygiene
guile))
-
#{e0\ 1843}#
+
#{e0\ 2427}#
(cons '#(syntax-object
begin
((top)
@@ -12469,8 +12191,8 @@
#("i")))
(hygiene
guile))
-
(cons #{e1\ 1856}#
-
#{e2\ 1857}#))
+
(cons #{e1\ 2440}#
+
#{e2\ 2441}#))
(cons '#(syntax-object
begin
((top)
@@ -12518,7 +12240,7 @@
(hygiene
guile))
(append
-
#{c\ 1845}#
+
#{c\ 2429}#
(list (cons '#(syntax-object
doloop
((top)
@@ -12565,81 +12287,81 @@
#("i")))
(hygiene
guile))
-
#{step\ 1848}#)))))))
- #{tmp\ 1855}#)
+
#{step\ 2432}#)))))))
+ #{tmp\ 2439}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 1849}#)))
+ #{tmp\ 2433}#)))
($sc-dispatch
- #{tmp\ 1849}#
+ #{tmp\ 2433}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 1849}#
+ #{tmp\ 2433}#
'())))
- #{e1\ 1844}#))
- #{tmp\ 1847}#)
+ #{e1\ 2428}#))
+ #{tmp\ 2431}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1846}#)))
- ($sc-dispatch #{tmp\ 1846}# (quote each-any))))
- (map (lambda (#{v\ 1864}# #{s\ 1865}#)
- ((lambda (#{tmp\ 1866}#)
- ((lambda (#{tmp\ 1867}#)
- (if #{tmp\ 1867}#
- (apply (lambda () #{v\ 1864}#)
- #{tmp\ 1867}#)
- ((lambda (#{tmp\ 1868}#)
- (if #{tmp\ 1868}#
- (apply (lambda (#{e\ 1869}#)
- #{e\ 1869}#)
- #{tmp\ 1868}#)
- ((lambda (#{_\ 1870}#)
+ #{tmp\ 2430}#)))
+ ($sc-dispatch #{tmp\ 2430}# (quote each-any))))
+ (map (lambda (#{v\ 2448}# #{s\ 2449}#)
+ ((lambda (#{tmp\ 2450}#)
+ ((lambda (#{tmp\ 2451}#)
+ (if #{tmp\ 2451}#
+ (apply (lambda () #{v\ 2448}#)
+ #{tmp\ 2451}#)
+ ((lambda (#{tmp\ 2452}#)
+ (if #{tmp\ 2452}#
+ (apply (lambda (#{e\ 2453}#)
+ #{e\ 2453}#)
+ #{tmp\ 2452}#)
+ ((lambda (#{_\ 2454}#)
(syntax-violation
'do
"bad step expression"
- #{orig-x\ 1836}#
- #{s\ 1865}#))
- #{tmp\ 1866}#)))
+ #{orig-x\ 2420}#
+ #{s\ 2449}#))
+ #{tmp\ 2450}#)))
($sc-dispatch
- #{tmp\ 1866}#
+ #{tmp\ 2450}#
'(any)))))
- ($sc-dispatch #{tmp\ 1866}# (quote ()))))
- #{s\ 1865}#))
- #{var\ 1840}#
- #{step\ 1842}#)))
- #{tmp\ 1838}#)
+ ($sc-dispatch #{tmp\ 2450}# (quote ()))))
+ #{s\ 2449}#))
+ #{var\ 2424}#
+ #{step\ 2426}#)))
+ #{tmp\ 2422}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1837}#)))
+ #{tmp\ 2421}#)))
($sc-dispatch
- #{tmp\ 1837}#
+ #{tmp\ 2421}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
- #{orig-x\ 1836}#))))
+ #{orig-x\ 2420}#))))
(define quasiquote
(make-extended-syncase-macro
(module-ref (current-module) (quote quasiquote))
'macro
- (letrec ((#{quasicons\ 1873}#
- (lambda (#{x\ 1877}# #{y\ 1878}#)
- ((lambda (#{tmp\ 1879}#)
- ((lambda (#{tmp\ 1880}#)
- (if #{tmp\ 1880}#
- (apply (lambda (#{x\ 1881}# #{y\ 1882}#)
- ((lambda (#{tmp\ 1883}#)
- ((lambda (#{tmp\ 1884}#)
- (if #{tmp\ 1884}#
- (apply (lambda (#{dy\ 1885}#)
- ((lambda (#{tmp\ 1886}#)
- ((lambda (#{tmp\ 1887}#)
- (if #{tmp\ 1887}#
- (apply (lambda
(#{dx\ 1888}#)
+ (letrec ((#{quasicons\ 2457}#
+ (lambda (#{x\ 2461}# #{y\ 2462}#)
+ ((lambda (#{tmp\ 2463}#)
+ ((lambda (#{tmp\ 2464}#)
+ (if #{tmp\ 2464}#
+ (apply (lambda (#{x\ 2465}# #{y\ 2466}#)
+ ((lambda (#{tmp\ 2467}#)
+ ((lambda (#{tmp\ 2468}#)
+ (if #{tmp\ 2468}#
+ (apply (lambda (#{dy\ 2469}#)
+ ((lambda (#{tmp\ 2470}#)
+ ((lambda (#{tmp\ 2471}#)
+ (if #{tmp\ 2471}#
+ (apply (lambda
(#{dx\ 2472}#)
(list
'#(syntax-object
quote
((top)
@@ -12688,11 +12410,11 @@
"i")))
(hygiene
guile))
-
(cons #{dx\ 1888}#
-
#{dy\ 1885}#)))
- #{tmp\
1887}#)
- ((lambda (#{_\
1889}#)
- (if (null? #{dy\
1885}#)
+
(cons #{dx\ 2472}#
+
#{dy\ 2469}#)))
+ #{tmp\
2471}#)
+ ((lambda (#{_\
2473}#)
+ (if (null? #{dy\
2469}#)
(list
'#(syntax-object
list
((top)
@@ -12741,7 +12463,7 @@
"i")))
(hygiene
guile))
- #{x\
1881}#)
+ #{x\
2465}#)
(list
'#(syntax-object
cons
((top)
@@ -12790,11 +12512,11 @@
"i")))
(hygiene
guile))
- #{x\
1881}#
- #{y\
1882}#)))
- #{tmp\ 1886}#)))
+ #{x\
2465}#
+ #{y\
2466}#)))
+ #{tmp\ 2470}#)))
($sc-dispatch
- #{tmp\ 1886}#
+ #{tmp\ 2470}#
'(#(free-id
#(syntax-object
quote
@@ -12837,11 +12559,11 @@
(hygiene
guile)))
any))))
- #{x\ 1881}#))
- #{tmp\ 1884}#)
- ((lambda (#{tmp\ 1890}#)
- (if #{tmp\ 1890}#
- (apply (lambda (#{stuff\ 1891}#)
+ #{x\ 2465}#))
+ #{tmp\ 2468}#)
+ ((lambda (#{tmp\ 2474}#)
+ (if #{tmp\ 2474}#
+ (apply (lambda (#{stuff\ 2475}#)
(cons '#(syntax-object
list
((top)
@@ -12882,10 +12604,10 @@
"i")))
(hygiene
guile))
- (cons #{x\ 1881}#
- #{stuff\
1891}#)))
- #{tmp\ 1890}#)
- ((lambda (#{else\ 1892}#)
+ (cons #{x\ 2465}#
+ #{stuff\
2475}#)))
+ #{tmp\ 2474}#)
+ ((lambda (#{else\ 2476}#)
(list '#(syntax-object
cons
((top)
@@ -12917,11 +12639,11 @@
"i"
"i")))
(hygiene guile))
- #{x\ 1881}#
- #{y\ 1882}#))
- #{tmp\ 1883}#)))
+ #{x\ 2465}#
+ #{y\ 2466}#))
+ #{tmp\ 2467}#)))
($sc-dispatch
- #{tmp\ 1883}#
+ #{tmp\ 2467}#
'(#(free-id
#(syntax-object
list
@@ -12950,7 +12672,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1883}#
+ #{tmp\ 2467}#
'(#(free-id
#(syntax-object
quote
@@ -12974,26 +12696,26 @@
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
- #{y\ 1882}#))
- #{tmp\ 1880}#)
+ #{y\ 2466}#))
+ #{tmp\ 2464}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1879}#)))
- ($sc-dispatch #{tmp\ 1879}# (quote (any any)))))
- (list #{x\ 1877}# #{y\ 1878}#))))
- (#{quasiappend\ 1874}#
- (lambda (#{x\ 1893}# #{y\ 1894}#)
- ((lambda (#{tmp\ 1895}#)
- ((lambda (#{tmp\ 1896}#)
- (if #{tmp\ 1896}#
- (apply (lambda (#{x\ 1897}# #{y\ 1898}#)
- ((lambda (#{tmp\ 1899}#)
- ((lambda (#{tmp\ 1900}#)
- (if #{tmp\ 1900}#
- (apply (lambda () #{x\ 1897}#)
- #{tmp\ 1900}#)
- ((lambda (#{_\ 1901}#)
+ #{tmp\ 2463}#)))
+ ($sc-dispatch #{tmp\ 2463}# (quote (any any)))))
+ (list #{x\ 2461}# #{y\ 2462}#))))
+ (#{quasiappend\ 2458}#
+ (lambda (#{x\ 2477}# #{y\ 2478}#)
+ ((lambda (#{tmp\ 2479}#)
+ ((lambda (#{tmp\ 2480}#)
+ (if #{tmp\ 2480}#
+ (apply (lambda (#{x\ 2481}# #{y\ 2482}#)
+ ((lambda (#{tmp\ 2483}#)
+ ((lambda (#{tmp\ 2484}#)
+ (if #{tmp\ 2484}#
+ (apply (lambda () #{x\ 2481}#)
+ #{tmp\ 2484}#)
+ ((lambda (#{_\ 2485}#)
(list '#(syntax-object
append
((top)
@@ -13022,11 +12744,11 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1897}#
- #{y\ 1898}#))
- #{tmp\ 1899}#)))
+ #{x\ 2481}#
+ #{y\ 2482}#))
+ #{tmp\ 2483}#)))
($sc-dispatch
- #{tmp\ 1899}#
+ #{tmp\ 2483}#
'(#(free-id
#(syntax-object
quote
@@ -13050,22 +12772,22 @@
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
- #{y\ 1898}#))
- #{tmp\ 1896}#)
+ #{y\ 2482}#))
+ #{tmp\ 2480}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1895}#)))
- ($sc-dispatch #{tmp\ 1895}# (quote (any any)))))
- (list #{x\ 1893}# #{y\ 1894}#))))
- (#{quasivector\ 1875}#
- (lambda (#{x\ 1902}#)
- ((lambda (#{tmp\ 1903}#)
- ((lambda (#{x\ 1904}#)
- ((lambda (#{tmp\ 1905}#)
- ((lambda (#{tmp\ 1906}#)
- (if #{tmp\ 1906}#
- (apply (lambda (#{x\ 1907}#)
+ #{tmp\ 2479}#)))
+ ($sc-dispatch #{tmp\ 2479}# (quote (any any)))))
+ (list #{x\ 2477}# #{y\ 2478}#))))
+ (#{quasivector\ 2459}#
+ (lambda (#{x\ 2486}#)
+ ((lambda (#{tmp\ 2487}#)
+ ((lambda (#{x\ 2488}#)
+ ((lambda (#{tmp\ 2489}#)
+ ((lambda (#{tmp\ 2490}#)
+ (if #{tmp\ 2490}#
+ (apply (lambda (#{x\ 2491}#)
(list '#(syntax-object
quote
((top)
@@ -13091,11 +12813,11 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- (list->vector #{x\ 1907}#)))
- #{tmp\ 1906}#)
- ((lambda (#{tmp\ 1909}#)
- (if #{tmp\ 1909}#
- (apply (lambda (#{x\ 1910}#)
+ (list->vector #{x\ 2491}#)))
+ #{tmp\ 2490}#)
+ ((lambda (#{tmp\ 2493}#)
+ (if #{tmp\ 2493}#
+ (apply (lambda (#{x\ 2494}#)
(cons '#(syntax-object
vector
((top)
@@ -13124,9 +12846,9 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1910}#))
- #{tmp\ 1909}#)
- ((lambda (#{_\ 1912}#)
+ #{x\ 2494}#))
+ #{tmp\ 2493}#)
+ ((lambda (#{_\ 2496}#)
(list '#(syntax-object
list->vector
((top)
@@ -13152,10 +12874,10 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1904}#))
- #{tmp\ 1905}#)))
+ #{x\ 2488}#))
+ #{tmp\ 2489}#)))
($sc-dispatch
- #{tmp\ 1905}#
+ #{tmp\ 2489}#
'(#(free-id
#(syntax-object
list
@@ -13175,7 +12897,7 @@
.
each-any)))))
($sc-dispatch
- #{tmp\ 1905}#
+ #{tmp\ 2489}#
'(#(free-id
#(syntax-object
quote
@@ -13193,18 +12915,18 @@
#("i" "i" "i" "i")))
(hygiene guile)))
each-any))))
- #{x\ 1904}#))
- #{tmp\ 1903}#))
- #{x\ 1902}#)))
- (#{quasi\ 1876}#
- (lambda (#{p\ 1913}# #{lev\ 1914}#)
- ((lambda (#{tmp\ 1915}#)
- ((lambda (#{tmp\ 1916}#)
- (if #{tmp\ 1916}#
- (apply (lambda (#{p\ 1917}#)
- (if (= #{lev\ 1914}# 0)
- #{p\ 1917}#
- (#{quasicons\ 1873}#
+ #{x\ 2488}#))
+ #{tmp\ 2487}#))
+ #{x\ 2486}#)))
+ (#{quasi\ 2460}#
+ (lambda (#{p\ 2497}# #{lev\ 2498}#)
+ ((lambda (#{tmp\ 2499}#)
+ ((lambda (#{tmp\ 2500}#)
+ (if #{tmp\ 2500}#
+ (apply (lambda (#{p\ 2501}#)
+ (if (= #{lev\ 2498}# 0)
+ #{p\ 2501}#
+ (#{quasicons\ 2457}#
'(#(syntax-object
quote
((top)
@@ -13239,21 +12961,21 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
- (#{quasi\ 1876}#
- (list #{p\ 1917}#)
- (- #{lev\ 1914}# 1)))))
- #{tmp\ 1916}#)
- ((lambda (#{tmp\ 1918}#)
- (if (if #{tmp\ 1918}#
- (apply (lambda (#{args\ 1919}#)
- (= #{lev\ 1914}# 0))
- #{tmp\ 1918}#)
+ (#{quasi\ 2460}#
+ (list #{p\ 2501}#)
+ (- #{lev\ 2498}# 1)))))
+ #{tmp\ 2500}#)
+ ((lambda (#{tmp\ 2502}#)
+ (if (if #{tmp\ 2502}#
+ (apply (lambda (#{args\ 2503}#)
+ (= #{lev\ 2498}# 0))
+ #{tmp\ 2502}#)
#f)
- (apply (lambda (#{args\ 1920}#)
+ (apply (lambda (#{args\ 2504}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
- #{p\ 1913}#
+ #{p\ 2497}#
(cons '#(syntax-object
unquote
((top)
@@ -13274,19 +12996,19 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{args\ 1920}#)))
- #{tmp\ 1918}#)
- ((lambda (#{tmp\ 1921}#)
- (if #{tmp\ 1921}#
- (apply (lambda (#{p\ 1922}# #{q\ 1923}#)
- (if (= #{lev\ 1914}# 0)
- (#{quasiappend\ 1874}#
- #{p\ 1922}#
- (#{quasi\ 1876}#
- #{q\ 1923}#
- #{lev\ 1914}#))
- (#{quasicons\ 1873}#
- (#{quasicons\ 1873}#
+ #{args\ 2504}#)))
+ #{tmp\ 2502}#)
+ ((lambda (#{tmp\ 2505}#)
+ (if #{tmp\ 2505}#
+ (apply (lambda (#{p\ 2506}# #{q\ 2507}#)
+ (if (= #{lev\ 2498}# 0)
+ (#{quasiappend\ 2458}#
+ #{p\ 2506}#
+ (#{quasi\ 2460}#
+ #{q\ 2507}#
+ #{lev\ 2498}#))
+ (#{quasicons\ 2457}#
+ (#{quasicons\ 2457}#
'(#(syntax-object
quote
((top)
@@ -13333,26 +13055,26 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
- (#{quasi\ 1876}#
- (list #{p\ 1922}#)
- (- #{lev\ 1914}# 1)))
- (#{quasi\ 1876}#
- #{q\ 1923}#
- #{lev\ 1914}#))))
- #{tmp\ 1921}#)
- ((lambda (#{tmp\ 1924}#)
- (if (if #{tmp\ 1924}#
- (apply (lambda (#{args\ 1925}#
- #{q\ 1926}#)
- (= #{lev\ 1914}# 0))
- #{tmp\ 1924}#)
+ (#{quasi\ 2460}#
+ (list #{p\ 2506}#)
+ (- #{lev\ 2498}# 1)))
+ (#{quasi\ 2460}#
+ #{q\ 2507}#
+ #{lev\ 2498}#))))
+ #{tmp\ 2505}#)
+ ((lambda (#{tmp\ 2508}#)
+ (if (if #{tmp\ 2508}#
+ (apply (lambda (#{args\ 2509}#
+ #{q\ 2510}#)
+ (= #{lev\ 2498}# 0))
+ #{tmp\ 2508}#)
#f)
- (apply (lambda (#{args\ 1927}#
- #{q\ 1928}#)
+ (apply (lambda (#{args\ 2511}#
+ #{q\ 2512}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes
exactly one argument"
- #{p\ 1913}#
+ #{p\ 2497}#
(cons '#(syntax-object
unquote-splicing
((top)
@@ -13382,12 +13104,12 @@
"i"
"i")))
(hygiene guile))
- #{args\ 1927}#)))
- #{tmp\ 1924}#)
- ((lambda (#{tmp\ 1929}#)
- (if #{tmp\ 1929}#
- (apply (lambda (#{p\ 1930}#)
- (#{quasicons\ 1873}#
+ #{args\ 2511}#)))
+ #{tmp\ 2508}#)
+ ((lambda (#{tmp\ 2513}#)
+ (if #{tmp\ 2513}#
+ (apply (lambda (#{p\ 2514}#)
+ (#{quasicons\ 2457}#
'(#(syntax-object
quote
((top)
@@ -13446,32 +13168,32 @@
"i"
"i")))
(hygiene guile)))
- (#{quasi\ 1876}#
- (list #{p\ 1930}#)
- (+ #{lev\ 1914}#
+ (#{quasi\ 2460}#
+ (list #{p\ 2514}#)
+ (+ #{lev\ 2498}#
1))))
- #{tmp\ 1929}#)
- ((lambda (#{tmp\ 1931}#)
- (if #{tmp\ 1931}#
- (apply (lambda (#{p\ 1932}#
- #{q\ 1933}#)
- (#{quasicons\ 1873}#
- (#{quasi\ 1876}#
- #{p\ 1932}#
- #{lev\ 1914}#)
- (#{quasi\ 1876}#
- #{q\ 1933}#
- #{lev\ 1914}#)))
- #{tmp\ 1931}#)
- ((lambda (#{tmp\ 1934}#)
- (if #{tmp\ 1934}#
- (apply (lambda (#{x\
1935}#)
-
(#{quasivector\ 1875}#
- (#{quasi\
1876}#
- #{x\ 1935}#
- #{lev\
1914}#)))
- #{tmp\ 1934}#)
- ((lambda (#{p\ 1937}#)
+ #{tmp\ 2513}#)
+ ((lambda (#{tmp\ 2515}#)
+ (if #{tmp\ 2515}#
+ (apply (lambda (#{p\ 2516}#
+ #{q\ 2517}#)
+ (#{quasicons\ 2457}#
+ (#{quasi\ 2460}#
+ #{p\ 2516}#
+ #{lev\ 2498}#)
+ (#{quasi\ 2460}#
+ #{q\ 2517}#
+ #{lev\ 2498}#)))
+ #{tmp\ 2515}#)
+ ((lambda (#{tmp\ 2518}#)
+ (if #{tmp\ 2518}#
+ (apply (lambda (#{x\
2519}#)
+
(#{quasivector\ 2459}#
+ (#{quasi\
2460}#
+ #{x\ 2519}#
+ #{lev\
2498}#)))
+ #{tmp\ 2518}#)
+ ((lambda (#{p\ 2521}#)
(list
'#(syntax-object
quote
((top)
@@ -13504,16 +13226,16 @@
"i")))
(hygiene
guile))
- #{p\ 1937}#))
- #{tmp\ 1915}#)))
+ #{p\ 2521}#))
+ #{tmp\ 2499}#)))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'#(vector each-any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'(#(free-id
#(syntax-object
quasiquote
@@ -13533,7 +13255,7 @@
(hygiene guile)))
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -13556,7 +13278,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -13578,7 +13300,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'(#(free-id
#(syntax-object
unquote
@@ -13596,7 +13318,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 2499}#
'(#(free-id
#(syntax-object
unquote
@@ -13609,49 +13331,49 @@
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
- #{p\ 1913}#))))
- (lambda (#{x\ 1938}#)
- ((lambda (#{tmp\ 1939}#)
- ((lambda (#{tmp\ 1940}#)
- (if #{tmp\ 1940}#
- (apply (lambda (#{_\ 1941}# #{e\ 1942}#)
- (#{quasi\ 1876}# #{e\ 1942}# 0))
- #{tmp\ 1940}#)
+ #{p\ 2497}#))))
+ (lambda (#{x\ 2522}#)
+ ((lambda (#{tmp\ 2523}#)
+ ((lambda (#{tmp\ 2524}#)
+ (if #{tmp\ 2524}#
+ (apply (lambda (#{_\ 2525}# #{e\ 2526}#)
+ (#{quasi\ 2460}# #{e\ 2526}# 0))
+ #{tmp\ 2524}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1939}#)))
- ($sc-dispatch #{tmp\ 1939}# (quote (any any)))))
- #{x\ 1938}#)))))
+ #{tmp\ 2523}#)))
+ ($sc-dispatch #{tmp\ 2523}# (quote (any any)))))
+ #{x\ 2522}#)))))
(define include
(make-syncase-macro
'macro
- (lambda (#{x\ 1943}#)
- (letrec ((#{read-file\ 1944}#
- (lambda (#{fn\ 1945}# #{k\ 1946}#)
- (let ((#{p\ 1947}# (open-input-file #{fn\ 1945}#)))
- (letrec ((#{f\ 1948}#
- (lambda (#{x\ 1949}#)
- (if (eof-object? #{x\ 1949}#)
+ (lambda (#{x\ 2527}#)
+ (letrec ((#{read-file\ 2528}#
+ (lambda (#{fn\ 2529}# #{k\ 2530}#)
+ (let ((#{p\ 2531}# (open-input-file #{fn\ 2529}#)))
+ (letrec ((#{f\ 2532}#
+ (lambda (#{x\ 2533}#)
+ (if (eof-object? #{x\ 2533}#)
(begin
- (close-input-port #{p\ 1947}#)
+ (close-input-port #{p\ 2531}#)
'())
(cons (datum->syntax
- #{k\ 1946}#
- #{x\ 1949}#)
- (#{f\ 1948}# (read #{p\ 1947}#)))))))
- (#{f\ 1948}# (read #{p\ 1947}#)))))))
- ((lambda (#{tmp\ 1950}#)
- ((lambda (#{tmp\ 1951}#)
- (if #{tmp\ 1951}#
- (apply (lambda (#{k\ 1952}# #{filename\ 1953}#)
- (let ((#{fn\ 1954}#
- (syntax->datum #{filename\ 1953}#)))
- ((lambda (#{tmp\ 1955}#)
- ((lambda (#{tmp\ 1956}#)
- (if #{tmp\ 1956}#
- (apply (lambda (#{exp\ 1957}#)
+ #{k\ 2530}#
+ #{x\ 2533}#)
+ (#{f\ 2532}# (read #{p\ 2531}#)))))))
+ (#{f\ 2532}# (read #{p\ 2531}#)))))))
+ ((lambda (#{tmp\ 2534}#)
+ ((lambda (#{tmp\ 2535}#)
+ (if #{tmp\ 2535}#
+ (apply (lambda (#{k\ 2536}# #{filename\ 2537}#)
+ (let ((#{fn\ 2538}#
+ (syntax->datum #{filename\ 2537}#)))
+ ((lambda (#{tmp\ 2539}#)
+ ((lambda (#{tmp\ 2540}#)
+ (if #{tmp\ 2540}#
+ (apply (lambda (#{exp\ 2541}#)
(cons '#(syntax-object
begin
((top)
@@ -13678,76 +13400,76 @@
#((top))
#("i")))
(hygiene guile))
- #{exp\ 1957}#))
- #{tmp\ 1956}#)
+ #{exp\ 2541}#))
+ #{tmp\ 2540}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1955}#)))
- ($sc-dispatch #{tmp\ 1955}# (quote each-any))))
- (#{read-file\ 1944}# #{fn\ 1954}# #{k\ 1952}#))))
- #{tmp\ 1951}#)
+ #{tmp\ 2539}#)))
+ ($sc-dispatch #{tmp\ 2539}# (quote each-any))))
+ (#{read-file\ 2528}# #{fn\ 2538}# #{k\ 2536}#))))
+ #{tmp\ 2535}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1950}#)))
- ($sc-dispatch #{tmp\ 1950}# (quote (any any)))))
- #{x\ 1943}#)))))
+ #{tmp\ 2534}#)))
+ ($sc-dispatch #{tmp\ 2534}# (quote (any any)))))
+ #{x\ 2527}#)))))
(define unquote
(make-syncase-macro
'macro
- (lambda (#{x\ 1959}#)
- ((lambda (#{tmp\ 1960}#)
- ((lambda (#{tmp\ 1961}#)
- (if #{tmp\ 1961}#
- (apply (lambda (#{_\ 1962}# #{e\ 1963}#)
+ (lambda (#{x\ 2543}#)
+ ((lambda (#{tmp\ 2544}#)
+ ((lambda (#{tmp\ 2545}#)
+ (if #{tmp\ 2545}#
+ (apply (lambda (#{_\ 2546}# #{e\ 2547}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
- #{x\ 1959}#))
- #{tmp\ 1961}#)
+ #{x\ 2543}#))
+ #{tmp\ 2545}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1960}#)))
- ($sc-dispatch #{tmp\ 1960}# (quote (any any)))))
- #{x\ 1959}#))))
+ #{tmp\ 2544}#)))
+ ($sc-dispatch #{tmp\ 2544}# (quote (any any)))))
+ #{x\ 2543}#))))
(define unquote-splicing
(make-syncase-macro
'macro
- (lambda (#{x\ 1964}#)
- ((lambda (#{tmp\ 1965}#)
- ((lambda (#{tmp\ 1966}#)
- (if #{tmp\ 1966}#
- (apply (lambda (#{_\ 1967}# #{e\ 1968}#)
+ (lambda (#{x\ 2548}#)
+ ((lambda (#{tmp\ 2549}#)
+ ((lambda (#{tmp\ 2550}#)
+ (if #{tmp\ 2550}#
+ (apply (lambda (#{_\ 2551}# #{e\ 2552}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
- #{x\ 1964}#))
- #{tmp\ 1966}#)
+ #{x\ 2548}#))
+ #{tmp\ 2550}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1965}#)))
- ($sc-dispatch #{tmp\ 1965}# (quote (any any)))))
- #{x\ 1964}#))))
+ #{tmp\ 2549}#)))
+ ($sc-dispatch #{tmp\ 2549}# (quote (any any)))))
+ #{x\ 2548}#))))
(define case
(make-extended-syncase-macro
(module-ref (current-module) (quote case))
'macro
- (lambda (#{x\ 1969}#)
- ((lambda (#{tmp\ 1970}#)
- ((lambda (#{tmp\ 1971}#)
- (if #{tmp\ 1971}#
- (apply (lambda (#{_\ 1972}#
- #{e\ 1973}#
- #{m1\ 1974}#
- #{m2\ 1975}#)
- ((lambda (#{tmp\ 1976}#)
- ((lambda (#{body\ 1977}#)
+ (lambda (#{x\ 2553}#)
+ ((lambda (#{tmp\ 2554}#)
+ ((lambda (#{tmp\ 2555}#)
+ (if #{tmp\ 2555}#
+ (apply (lambda (#{_\ 2556}#
+ #{e\ 2557}#
+ #{m1\ 2558}#
+ #{m2\ 2559}#)
+ ((lambda (#{tmp\ 2560}#)
+ ((lambda (#{body\ 2561}#)
(list '#(syntax-object
let
((top)
@@ -13776,17 +13498,17 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 1973}#))
- #{body\ 1977}#))
- #{tmp\ 1976}#))
- (letrec ((#{f\ 1978}#
- (lambda (#{clause\ 1979}# #{clauses\ 1980}#)
- (if (null? #{clauses\ 1980}#)
- ((lambda (#{tmp\ 1982}#)
- ((lambda (#{tmp\ 1983}#)
- (if #{tmp\ 1983}#
- (apply (lambda (#{e1\ 1984}#
- #{e2\ 1985}#)
+ #{e\ 2557}#))
+ #{body\ 2561}#))
+ #{tmp\ 2560}#))
+ (letrec ((#{f\ 2562}#
+ (lambda (#{clause\ 2563}# #{clauses\ 2564}#)
+ (if (null? #{clauses\ 2564}#)
+ ((lambda (#{tmp\ 2566}#)
+ ((lambda (#{tmp\ 2567}#)
+ (if #{tmp\ 2567}#
+ (apply (lambda (#{e1\ 2568}#
+ #{e2\ 2569}#)
(cons '#(syntax-object
begin
((top)
@@ -13832,14 +13554,14 @@
#("i")))
(hygiene
guile))
- (cons #{e1\
1984}#
- #{e2\
1985}#)))
- #{tmp\ 1983}#)
- ((lambda (#{tmp\ 1987}#)
- (if #{tmp\ 1987}#
- (apply (lambda (#{k\ 1988}#
- #{e1\
1989}#
- #{e2\
1990}#)
+ (cons #{e1\
2568}#
+ #{e2\
2569}#)))
+ #{tmp\ 2567}#)
+ ((lambda (#{tmp\ 2571}#)
+ (if #{tmp\ 2571}#
+ (apply (lambda (#{k\ 2572}#
+ #{e1\
2573}#
+ #{e2\
2574}#)
(list
'#(syntax-object
if
((top)
@@ -14040,7 +13762,7 @@
#("i")))
(hygiene
guile))
-
#{k\ 1988}#))
+
#{k\ 2572}#))
(cons
'#(syntax-object
begin
((top)
@@ -14091,24 +13813,24 @@
#("i")))
(hygiene
guile))
- (cons
#{e1\ 1989}#
-
#{e2\ 1990}#))))
- #{tmp\ 1987}#)
- ((lambda (#{_\ 1993}#)
+ (cons
#{e1\ 2573}#
+
#{e2\ 2574}#))))
+ #{tmp\ 2571}#)
+ ((lambda (#{_\ 2577}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1969}#
- #{clause\ 1979}#))
- #{tmp\ 1982}#)))
+ #{x\ 2553}#
+ #{clause\ 2563}#))
+ #{tmp\ 2566}#)))
($sc-dispatch
- #{tmp\ 1982}#
+ #{tmp\ 2566}#
'(each-any
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 1982}#
+ #{tmp\ 2566}#
'(#(free-id
#(syntax-object
else
@@ -14134,15 +13856,15 @@
any
.
each-any))))
- #{clause\ 1979}#)
- ((lambda (#{tmp\ 1994}#)
- ((lambda (#{rest\ 1995}#)
- ((lambda (#{tmp\ 1996}#)
- ((lambda (#{tmp\ 1997}#)
- (if #{tmp\ 1997}#
- (apply (lambda (#{k\
1998}#
- #{e1\
1999}#
- #{e2\
2000}#)
+ #{clause\ 2563}#)
+ ((lambda (#{tmp\ 2578}#)
+ ((lambda (#{rest\ 2579}#)
+ ((lambda (#{tmp\ 2580}#)
+ ((lambda (#{tmp\ 2581}#)
+ (if #{tmp\ 2581}#
+ (apply (lambda (#{k\
2582}#
+ #{e1\
2583}#
+ #{e2\
2584}#)
(list
'#(syntax-object
if
((top)
@@ -14359,7 +14081,7 @@
#("i")))
(hygiene
guile))
-
#{k\ 1998}#))
+
#{k\ 2582}#))
(cons
'#(syntax-object
begin
((top)
@@ -14414,47 +14136,47 @@
#("i")))
(hygiene
guile))
-
(cons #{e1\ 1999}#
-
#{e2\ 2000}#))
- #{rest\
1995}#))
- #{tmp\ 1997}#)
- ((lambda (#{_\ 2003}#)
+
(cons #{e1\ 2583}#
+
#{e2\ 2584}#))
+ #{rest\
2579}#))
+ #{tmp\ 2581}#)
+ ((lambda (#{_\ 2587}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1969}#
- #{clause\ 1979}#))
- #{tmp\ 1996}#)))
+ #{x\ 2553}#
+ #{clause\ 2563}#))
+ #{tmp\ 2580}#)))
($sc-dispatch
- #{tmp\ 1996}#
+ #{tmp\ 2580}#
'(each-any
any
.
each-any))))
- #{clause\ 1979}#))
- #{tmp\ 1994}#))
- (#{f\ 1978}#
- (car #{clauses\ 1980}#)
- (cdr #{clauses\ 1980}#)))))))
- (#{f\ 1978}# #{m1\ 1974}# #{m2\ 1975}#))))
- #{tmp\ 1971}#)
+ #{clause\ 2563}#))
+ #{tmp\ 2578}#))
+ (#{f\ 2562}#
+ (car #{clauses\ 2564}#)
+ (cdr #{clauses\ 2564}#)))))))
+ (#{f\ 2562}# #{m1\ 2558}# #{m2\ 2559}#))))
+ #{tmp\ 2555}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1970}#)))
+ #{tmp\ 2554}#)))
($sc-dispatch
- #{tmp\ 1970}#
+ #{tmp\ 2554}#
'(any any any . each-any))))
- #{x\ 1969}#))))
+ #{x\ 2553}#))))
(define identifier-syntax
(make-syncase-macro
'macro
- (lambda (#{x\ 2004}#)
- ((lambda (#{tmp\ 2005}#)
- ((lambda (#{tmp\ 2006}#)
- (if #{tmp\ 2006}#
- (apply (lambda (#{_\ 2007}# #{e\ 2008}#)
+ (lambda (#{x\ 2588}#)
+ ((lambda (#{tmp\ 2589}#)
+ ((lambda (#{tmp\ 2590}#)
+ (if #{tmp\ 2590}#
+ (apply (lambda (#{_\ 2591}# #{e\ 2592}#)
(list '#(syntax-object
lambda
((top)
@@ -14543,8 +14265,8 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 2008}#))
- (list (cons #{_\ 2007}#
+ #{e\ 2592}#))
+ (list (cons #{_\ 2591}#
'(#(syntax-object
x
((top)
@@ -14584,7 +14306,7 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e\ 2008}#
+ (cons #{e\ 2592}#
'(#(syntax-object
x
((top)
@@ -14612,26 +14334,26 @@
#("i")))
(hygiene
guile)))))))))
- #{tmp\ 2006}#)
+ #{tmp\ 2590}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 2005}#)))
- ($sc-dispatch #{tmp\ 2005}# (quote (any any)))))
- #{x\ 2004}#))))
+ #{tmp\ 2589}#)))
+ ($sc-dispatch #{tmp\ 2589}# (quote (any any)))))
+ #{x\ 2588}#))))
(define define*
(make-syncase-macro
'macro
- (lambda (#{x\ 2009}#)
- ((lambda (#{tmp\ 2010}#)
- ((lambda (#{tmp\ 2011}#)
- (if #{tmp\ 2011}#
- (apply (lambda (#{dummy\ 2012}#
- #{id\ 2013}#
- #{args\ 2014}#
- #{b0\ 2015}#
- #{b1\ 2016}#)
+ (lambda (#{x\ 2593}#)
+ ((lambda (#{tmp\ 2594}#)
+ ((lambda (#{tmp\ 2595}#)
+ (if #{tmp\ 2595}#
+ (apply (lambda (#{dummy\ 2596}#
+ #{id\ 2597}#
+ #{args\ 2598}#
+ #{b0\ 2599}#
+ #{b1\ 2600}#)
(list '#(syntax-object
define
((top)
@@ -14642,7 +14364,7 @@
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
- #{id\ 2013}#
+ #{id\ 2597}#
(cons '#(syntax-object
lambda*
((top)
@@ -14653,15 +14375,15 @@
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
- (cons #{args\ 2014}#
- (cons #{b0\ 2015}# #{b1\ 2016}#)))))
- #{tmp\ 2011}#)
+ (cons #{args\ 2598}#
+ (cons #{b0\ 2599}# #{b1\ 2600}#)))))
+ #{tmp\ 2595}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 2010}#)))
+ #{tmp\ 2594}#)))
($sc-dispatch
- #{tmp\ 2010}#
+ #{tmp\ 2594}#
'(any (any . any) any . each-any))))
- #{x\ 2009}#))))
+ #{x\ 2593}#))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 6fcc9b0..303abac 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -450,9 +450,9 @@
;; Ideally we would have all lambdas be case lambdas, but that would
;; need special support in the interpreter for the full capabilities of
-;; case-lambda, with optional and keyword args, predicates, and else
-;; clauses. This will come with the new interpreter, but for now we
-;; separate the cases.
+;; case-lambda, with optional and keyword args and else clauses. This
+;; will come with the new interpreter, but for now we separate the
+;; cases.
(define build-simple-lambda
(lambda (src req rest vars docstring exp)
(case (fluid-ref *mode*)
@@ -460,8 +460,8 @@
(if docstring `((documentation . ,docstring)) '())
;; hah, a case in which kwargs would be nice.
((@ (language tree-il) make-lambda-case)
- ;; src req opt rest kw inits vars predicate body else
- src req #f rest #f '() vars #f exp #f)))
+ ;; src req opt rest kw inits vars body else
+ src req #f rest #f '() vars exp #f)))
(else (decorate-source
`(lambda ,(if rest (apply cons* vars) vars)
,@(if docstring (list docstring) '())
@@ -490,14 +490,13 @@
;; vars: (sym ...)
;; vars map to named arguments in the following order:
;; required, optional (positional), rest, keyword.
- ;; predicate: something you can stuff in a (lambda ,vars ,pred), already
expanded
;; the body of a lambda: anything, already expanded
;; else: lambda-case | #f
- (lambda (src req opt rest kw inits vars predicate body else-case)
+ (lambda (src req opt rest kw inits vars body else-case)
(case (fluid-ref *mode*)
((c)
((@ (language tree-il) make-lambda-case)
- src req opt rest kw inits vars predicate body else-case))
+ src req opt rest kw inits vars body else-case))
(else
;; Very much like the logic of (language tree-il compile-glil).
(let* ((nreq (length req))
@@ -519,7 +518,6 @@
`((((@@ (ice-9 optargs) parse-lambda-case)
'(,nreq ,nopt ,rest-idx ,nargs ,allow-other-keys? ,kw-indices)
(list ,@(map (lambda (i) `(lambda ,vars ,i)) inits))
- ,(if predicate `(lambda ,vars ,predicate) #f)
%%args)
;; FIXME: This _ is here to work around a bug in the
;; memoizer. The %%% makes it different from %%, also a
@@ -1585,7 +1583,7 @@
(define (check req rest)
(cond
((distinct-bound-ids? (if rest (cons rest req) req))
- (values req #f rest #f #f))
+ (values req #f rest #f))
(else
(syntax-violation 'lambda "duplicate identifier in argument list"
orig-args))))
@@ -1610,44 +1608,40 @@
(define (req args rreq)
(syntax-case args ()
(()
- (check (reverse rreq) '() #f '() #f))
+ (check (reverse rreq) '() #f '()))
((a . b) (id? #'a)
(req #'b (cons #'a rreq)))
((a . b) (eq? (syntax->datum #'a) #:optional)
(opt #'b (reverse rreq) '()))
((a . b) (eq? (syntax->datum #'a) #:key)
(key #'b (reverse rreq) '() '()))
- ((a . b) (eq? (syntax->datum #'a) #:predicate)
- (pred #'b (reverse rreq) '() '()))
((a b) (eq? (syntax->datum #'a) #:rest)
- (rest #'b (reverse rreq) '() '() #f))
+ (rest #'b (reverse rreq) '() '()))
(r (id? #'r)
- (rest #'r (reverse rreq) '() '() #f))
+ (rest #'r (reverse rreq) '() '()))
(else
(syntax-violation 'lambda* "invalid argument list" orig-args args))))
(define (opt args req ropt)
(syntax-case args ()
(()
- (check req (reverse ropt) #f '() #f))
+ (check req (reverse ropt) #f '()))
((a . b) (id? #'a)
(opt #'b req (cons #'(a #f) ropt)))
(((a init) . b) (id? #'a)
(opt #'b req (cons #'(a init) ropt)))
((a . b) (eq? (syntax->datum #'a) #:key)
(key #'b req (reverse ropt) '()))
- ((a . b) (eq? (syntax->datum #'a) #:predicate)
- (pred #'b req (reverse ropt) '()))
((a b) (eq? (syntax->datum #'a) #:rest)
- (rest #'b req (reverse ropt) '() #f))
+ (rest #'b req (reverse ropt) '()))
(r (id? #'r)
- (rest #'r req (reverse ropt) '() #f))
+ (rest #'r req (reverse ropt) '()))
(else
(syntax-violation 'lambda* "invalid optional argument list"
orig-args args))))
(define (key args req opt rkey)
(syntax-case args ()
(()
- (check req opt #f (cons #f (reverse rkey)) #f))
+ (check req opt #f (cons #f (reverse rkey))))
((a . b) (id? #'a)
(with-syntax ((k (symbol->keyword (syntax->datum #'a))))
(key #'b req opt (cons #'(k a #f) rkey))))
@@ -1658,48 +1652,33 @@
(keyword? (syntax->datum #'k)))
(key #'b req opt (cons #'(k a init) rkey)))
((aok) (eq? (syntax->datum #'aok) #:allow-other-keys)
- (check req opt #f (cons #t (reverse rkey)) #f))
- ((aok a . b) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
- (eq? (syntax->datum #'a) #:predicate))
- (pred #'b req opt (cons #t (reverse rkey))))
+ (check req opt #f (cons #t (reverse rkey))))
((aok a b) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
(eq? (syntax->datum #'a) #:rest))
(rest #'b req opt (cons #t (reverse rkey))))
((aok . r) (and (eq? (syntax->datum #'aok) #:allow-other-keys)
(id? #'r))
(rest #'r req opt (cons #t (reverse rkey))))
- ((a . b) (eq? (syntax->datum #'a) #:predicate)
- (pred #'b req opt (cons #f (reverse rkey))))
((a b) (eq? (syntax->datum #'a) #:rest)
- (rest #'b req opt (cons #f (reverse rkey)) #f))
+ (rest #'b req opt (cons #f (reverse rkey))))
(r (id? #'r)
- (rest #'r req opt (cons #f (reverse rkey)) #f))
+ (rest #'r req opt (cons #f (reverse rkey))))
(else
(syntax-violation 'lambda* "invalid keyword argument list"
orig-args args))))
- (define (pred args req opt kw)
- (syntax-case args ()
- ((x) (check req opt #f kw #'x))
- ((x a b) (eq? (syntax->datum #'a #:rest))
- (rest #'b req opt #f kw #'x))
- ((x . b) (id? #'b)
- (rest #'b req opt #f kw #'x))
- (else
- (syntax-violation 'lambda* "invalid argument list following
#:predicate"
- orig-args args))))
- (define (rest args req opt kw pred)
+ (define (rest args req opt kw)
(syntax-case args ()
(r (id? #'r)
- (check req opt #'r kw pred))
+ (check req opt #'r kw))
(else
(syntax-violation 'lambda* "invalid rest argument"
orig-args args))))
- (define (check req opt rest kw pred)
+ (define (check req opt rest kw)
(cond
((distinct-bound-ids?
(append req (map car opt) (if rest (list rest) '())
(if (pair? kw) (map cadr (cdr kw)) '())))
- (values req opt rest kw pred))
+ (values req opt rest kw))
(else
(syntax-violation 'lambda* "duplicate identifier in argument list"
orig-args))))
@@ -1707,14 +1686,14 @@
(define chi-lambda-case
(lambda (e r w s mod get-formals clauses)
- (define (expand-req req opt rest kw pred body)
+ (define (expand-req req opt rest kw body)
(let ((vars (map gen-var req))
(labels (gen-labels req)))
(let ((r* (extend-var-env labels vars r))
(w* (make-binding-wrap req labels w)))
(expand-opt (map syntax->datum req)
- opt rest kw pred body (reverse vars) r* w* '() '()))))
- (define (expand-opt req opt rest kw pred body vars r* w* out inits)
+ opt rest kw body (reverse vars) r* w* '() '()))))
+ (define (expand-opt req opt rest kw body vars r* w* out inits)
(cond
((pair? opt)
(syntax-case (car opt) ()
@@ -1723,7 +1702,7 @@
(l (gen-labels (list v)))
(r** (extend-var-env l (list v) r*))
(w** (make-binding-wrap (list #'id) l w*)))
- (expand-opt req (cdr opt) rest kw pred body (cons v vars)
+ (expand-opt req (cdr opt) rest kw body (cons v vars)
r** w** (cons (syntax->datum #'id) out)
(cons (chi #'i r* w* mod) inits))))))
(rest
@@ -1734,16 +1713,16 @@
(expand-kw req (if (pair? out) (reverse out) #f)
(syntax->datum rest)
(if (pair? kw) (cdr kw) kw)
- pred body (cons v vars) r* w*
+ body (cons v vars) r* w*
(if (pair? kw) (car kw) #f)
'() inits)))
(else
(expand-kw req (if (pair? out) (reverse out) #f) #f
(if (pair? kw) (cdr kw) kw)
- pred body vars r* w*
+ body vars r* w*
(if (pair? kw) (car kw) #f)
'() inits))))
- (define (expand-kw req opt rest kw pred body vars r* w* aok out inits)
+ (define (expand-kw req opt rest kw body vars r* w* aok out inits)
(cond
((pair? kw)
(syntax-case (car kw) ()
@@ -1752,7 +1731,7 @@
(l (gen-labels (list v)))
(r** (extend-var-env l (list v) r*))
(w** (make-binding-wrap (list #'id) l w*)))
- (expand-kw req opt rest (cdr kw) pred body (cons v vars)
+ (expand-kw req opt rest (cdr kw) body (cons v vars)
r** w** aok
(cons (list (syntax->datum #'k)
(syntax->datum #'id)
@@ -1760,20 +1739,17 @@
out)
(cons (chi #'i r* w* mod) inits))))))
(else
- (expand-pred req opt rest
+ (expand-body req opt rest
(if (or aok (pair? out)) (cons aok (reverse out)) #f)
- pred body (reverse vars) r* w* (reverse inits)))))
- (define (expand-pred req opt rest kw pred body vars r* w* inits)
- (expand-body req opt rest kw (and pred (chi pred r* w* mod))
- body vars r* w* inits))
- (define (expand-body req opt rest kw pred body vars r* w* inits)
+ body (reverse vars) r* w* (reverse inits)))))
+ (define (expand-body req opt rest kw body vars r* w* inits)
(syntax-case body ()
((docstring e1 e2 ...) (string? (syntax->datum #'docstring))
- (values (syntax->datum #'docstring) req opt rest kw inits vars pred
+ (values (syntax->datum #'docstring) req opt rest kw inits vars
(chi-body #'(e1 e2 ...) (source-wrap e w s mod)
r* w* mod)))
((e1 e2 ...)
- (values #f req opt rest kw inits vars pred
+ (values #f req opt rest kw inits vars
(chi-body #'(e1 e2 ...) (source-wrap e w s mod)
r* w* mod)))))
@@ -1781,10 +1757,10 @@
(() (values #f #f))
(((args e1 e2 ...) (args* e1* e2* ...) ...)
(call-with-values (lambda () (get-formals #'args))
- (lambda (req opt rest kw pred)
+ (lambda (req opt rest kw)
(call-with-values (lambda ()
- (expand-req req opt rest kw pred #'(e1 e2
...)))
- (lambda (docstring req opt rest kw inits vars pred body)
+ (expand-req req opt rest kw #'(e1 e2 ...)))
+ (lambda (docstring req opt rest kw inits vars body)
(call-with-values
(lambda ()
(chi-lambda-case e r w s mod get-formals
@@ -1793,7 +1769,7 @@
(values
(or docstring docstring*)
(build-lambda-case s req opt rest kw inits vars
- pred body else*))))))))))))
+ body else*))))))))))))
;;; data
@@ -2055,12 +2031,12 @@
(syntax-case e ()
((_ args docstring e1 e2 ...) (string? (syntax->datum #'docstring))
(call-with-values (lambda () (lambda-formals #'args))
- (lambda (req opt rest kw pred)
+ (lambda (req opt rest kw)
(chi-simple-lambda e r w s mod req rest (syntax->datum #'docstring)
#'(e1 e2 ...)))))
((_ args e1 e2 ...)
(call-with-values (lambda () (lambda-formals #'args))
- (lambda (req opt rest kw pred)
+ (lambda (req opt rest kw)
(chi-simple-lambda e r w s mod req rest #f #'(e1 e2 ...)))))
(_ (syntax-violation 'lambda "bad lambda" e)))))
diff --git a/module/language/brainfuck/compile-tree-il.scm
b/module/language/brainfuck/compile-tree-il.scm
index 4cd6316..33d5634 100644
--- a/module/language/brainfuck/compile-tree-il.scm
+++ b/module/language/brainfuck/compile-tree-il.scm
@@ -170,7 +170,7 @@
(emit `(letrec (iterate) (,iterate)
((lambda ()
(lambda-case
- ((() #f #f #f () () #f)
+ ((() #f #f #f () ())
(if (apply (primitive =)
(apply (primitive vector-ref)
(lexical tape) (lexical
pointer))
diff --git a/module/language/ecmascript/compile-tree-il.scm
b/module/language/ecmascript/compile-tree-il.scm
index a820baf..c499d67 100644
--- a/module/language/ecmascript/compile-tree-il.scm
+++ b/module/language/ecmascript/compile-tree-il.scm
@@ -331,14 +331,14 @@
formals)))
(-> (lambda '()
(-> (lambda-case
- `((() ,formals #f #f () ,syms #f)
+ `((() ,formals #f #f () ,syms)
,(comp-body e body formals syms))))))))
((call/this ,obj ,prop . ,args)
(@impl call/this*
obj
(-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
(apply ,(@impl pget obj prop) ,@args))))))))
((call (pref ,obj ,prop) ,args)
(comp `(call/this ,(comp obj e)
@@ -441,13 +441,13 @@
(-> (letrec '(%loop %continue) (list %loop %continue)
(list (-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
,(-> (begin
(comp statement e)
(-> (apply (-> (lexical
'%continue %continue)))))))))))
(-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
,(-> (if (@impl ->boolean (comp test
e))
(-> (apply (-> (lexical
'%loop %loop))))
(@implv *undefined*)))))))))
@@ -458,7 +458,7 @@
(-> (letrec '(%continue) (list %continue)
(list (-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
,(-> (if (@impl ->boolean (comp test
e))
(-> (begin (comp statement
e)
(-> (apply (->
(lexical '%continue %continue))))))
@@ -471,7 +471,7 @@
(-> (letrec '(%continue) (list %continue)
(list (-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
,(-> (if (if test
(@impl ->boolean (comp
test e))
(comp 'true e))
@@ -490,7 +490,7 @@
(list (@impl make-enumerator (comp object e))
(-> (lambda '()
(-> (lambda-case
- `((() #f #f #f () () #f)
+ `((() #f #f #f () ())
(-> (if (@impl ->boolean
(@impl pget
(-> (lexical
'%enum %enum))
@@ -551,5 +551,5 @@
(gensym (string-append (symbol->string x) " ")))
names))
(e (fold econs (fold econs e formals formal-syms) names syms)))
- (-> (let names syms (map (lambda (x) (->@implv *undefined*)) names)
+ (-> (let names syms (map (lambda (x) (@implv *undefined*)) names)
(comp out e))))))
diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index e6a8213..db9b467 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -40,7 +40,7 @@
<lambda-case> lambda-case? make-lambda-case lambda-case-src
lambda-case-req lambda-case-opt lambda-case-rest
lambda-case-kw
lambda-case-inits lambda-case-vars
- lambda-case-predicate lambda-case-body
lambda-case-else
+ lambda-case-body lambda-case-else
<let> let? make-let let-src let-names let-vars let-vals let-body
<letrec> letrec? make-letrec letrec-src letrec-names letrec-vars
letrec-vals letrec-body
<fix> fix? make-fix fix-src fix-names fix-vars fix-vals fix-body
@@ -70,7 +70,7 @@
(<application> proc args)
(<sequence> exps)
(<lambda> meta body)
- (<lambda-case> req opt rest kw inits vars predicate body else)
+ (<lambda-case> req opt rest kw inits vars body else)
(<let> names vars vals body)
(<letrec> names vars vals body)
(<fix> names vars vals body)
@@ -135,17 +135,15 @@
((lambda ,meta ,body)
(make-lambda loc meta (retrans body)))
- ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars ,predicate) ,body) ,else)
+ ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars) ,body) ,else)
(make-lambda-case loc req opt rest kw
(map retrans inits) vars
- (and=> predicate retrans)
(retrans body)
(and=> else retrans)))
- ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars ,predicate) ,body))
+ ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars) ,body))
(make-lambda-case loc req opt rest kw
(map retrans inits) vars
- (and=> predicate retrans)
(retrans body)
#f))
@@ -208,9 +206,8 @@
((<lambda> meta body)
`(lambda ,meta ,(unparse-tree-il body)))
- ((<lambda-case> req opt rest kw inits vars predicate body else)
- `(lambda-case ((,req ,opt ,rest ,kw ,(map unparse-tree-il inits) ,vars
- ,(and=> predicate unparse-tree-il))
+ ((<lambda-case> req opt rest kw inits vars body else)
+ `(lambda-case ((,req ,opt ,rest ,kw ,(map unparse-tree-il inits) ,vars)
,(unparse-tree-il body))
. ,(if else (list (unparse-tree-il else)) '())))
@@ -276,7 +273,7 @@
`(lambda ,@(car (tree-il->scheme body)))
`(case-lambda ,@(tree-il->scheme body))))
- ((<lambda-case> req opt rest kw inits vars predicate body else)
+ ((<lambda-case> req opt rest kw inits vars body else)
;; FIXME! use parse-lambda-case?
`((,(if rest (apply cons* vars) vars)
,(tree-il->scheme body))
@@ -300,7 +297,7 @@
;; not a typo, we really do translate back to letrec
`(letrec ,(map list vars (map tree-il->scheme vals)) ,(tree-il->scheme
body)))
- ((<let-values> vars exp body)
+ ((<let-values> exp body)
`(call-with-values (lambda () ,(tree-il->scheme exp))
,(tree-il->scheme (make-lambda #f '() body))))))
@@ -336,15 +333,11 @@ This is an implementation of `foldts' as described by
Andy Wingo in
(up tree (loop exps (down tree result))))
((<lambda> body)
(up tree (loop body (down tree result))))
- ((<lambda-case> inits predicate body else)
+ ((<lambda-case> inits body else)
(up tree (if else
(loop else
- (if predicate
- (loop body (loop predicate (loop inits (down
tree result))))
- (loop body (loop inits (down tree result)))))
- (if predicate
- (loop body (loop predicate (loop inits (down tree
result))))
- (loop body (loop inits (down tree result)))))))
+ (loop body (loop inits (down tree result))))
+ (loop body (loop inits (down tree result))))))
((<let> vals body)
(up tree (loop body
(loop vals
@@ -396,19 +389,12 @@ This is an implementation of `foldts' as described by
Andy Wingo in
(fold-values foldts exps seed ...))
((<lambda> body)
(foldts body seed ...))
- ((<lambda-case> inits predicate body else)
+ ((<lambda-case> inits body else)
(let-values (((seed ...) (fold-values foldts inits seed
...)))
- (if predicate
- (if else
- (let*-values (((seed ...) (foldts predicate seed
...))
- ((seed ...) (foldts body seed ...)))
- (foldts else seed ...))
- (let-values (((seed ...) (foldts predicate seed
...)))
- (foldts body seed ...)))
- (if else
- (let-values (((seed ...) (foldts body seed ...)))
- (foldts else seed ...))
- (foldts body seed ...)))))
+ (if else
+ (let-values (((seed ...) (foldts body seed ...)))
+ (foldts else seed ...))
+ (foldts body seed ...))))
((<let> vals body)
(let*-values (((seed ...) (fold-values foldts vals seed
...)))
(foldts body seed ...)))
@@ -452,10 +438,8 @@ This is an implementation of `foldts' as described by Andy
Wingo in
((<lambda> body)
(set! (lambda-body x) (lp body)))
- ((<lambda-case> inits predicate body else)
+ ((<lambda-case> inits body else)
(set! inits (map lp inits))
- (if predicate
- (set! (lambda-case-predicate x) (lp predicate)))
(set! (lambda-case-body x) (lp body))
(if else
(set! (lambda-case-else x) (lp else))))
@@ -511,9 +495,8 @@ This is an implementation of `foldts' as described by Andy
Wingo in
((<lambda> body)
(set! (lambda-body x) (lp body)))
- ((<lambda-case> inits predicate body else)
+ ((<lambda-case> inits body else)
(set! inits (map lp inits))
- (if predicate (set! (lambda-case-predicate x) (lp predicate)))
(set! (lambda-case-body x) (lp body))
(if else (set! (lambda-case-else x) (lp else))))
diff --git a/module/language/tree-il/analyze.scm
b/module/language/tree-il/analyze.scm
index 5faed6f..4169f25 100644
--- a/module/language/tree-il/analyze.scm
+++ b/module/language/tree-il/analyze.scm
@@ -186,8 +186,7 @@
(length tail-call-args))
(not (lambda-case-opt c))
(not (lambda-case-kw c))
- (not (lambda-case-rest c))
- (not (lambda-case-predicate c)))
+ (not (lambda-case-rest c)))
(lp (lambda-case-else c)))))))))
(hashq-set! labels gensym #f))
(list gensym))
@@ -222,7 +221,7 @@
(hashq-set! free-vars x free)
free))
- ((<lambda-case> opt kw inits vars predicate body else)
+ ((<lambda-case> opt kw inits vars body else)
(hashq-set! bound-vars proc
(append (reverse vars) (hashq-ref bound-vars proc)))
(lset-union
@@ -230,7 +229,6 @@
(lset-difference eq?
(lset-union eq?
(apply lset-union eq? (map step inits))
- (if predicate (step predicate) '())
(step-tail body))
vars)
(if else (step-tail else) '())))
@@ -377,13 +375,12 @@
(hashq-set! allocation x (cons labels free-addresses)))
n)
- ((<lambda-case> opt kw inits vars predicate body else)
+ ((<lambda-case> opt kw inits vars body else)
(max
(let lp ((vars vars) (n n))
(if (null? vars)
(let ((nlocs (apply
max
- (if predicate (allocate! predicate body n) n)
(allocate! body proc n)
;; inits not logically at the end, but they
;; are the list...
diff --git a/module/language/tree-il/compile-glil.scm
b/module/language/tree-il/compile-glil.scm
index a809e2d..1df1448 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -59,7 +59,7 @@
warnings)
(let* ((x (make-lambda (tree-il-src x) '()
- (make-lambda-case #f '() #f #f #f '() '() #f x #f)))
+ (make-lambda-case #f '() #f #f #f '() '() x #f)))
(x (optimize! x e opts))
(allocation (analyze-lexicals x)))
@@ -91,6 +91,10 @@
((quotient . 2) . quo)
((remainder . 2) . rem)
((modulo . 2) . mod)
+ ((ash . 2) . ash)
+ ((logand . 2) . logand)
+ ((logior . 2) . logior)
+ ((logxor . 2) . logxor)
((not . 1) . not)
((pair? . 1) . pair?)
((cons . 2) . cons)
@@ -102,6 +106,7 @@
((list? . 1) . list?)
(list . list)
(vector . vector)
+ ((class-of . 1) . class-of)
((@slot-ref . 2) . slot-ref)
((@slot-set! . 3) . slot-set)
((vector-ref . 2) . vector-ref)
@@ -483,7 +488,7 @@
(emit-branch #f 'br RA)
(emit-label POST)))))))))
- ((<conditional> src test then else)
+ ((<conditional> src test then (alternate else))
;; TEST
;; (br-if-not L1)
;; THEN
@@ -491,15 +496,68 @@
;; L1: ELSE
;; L2:
(let ((L1 (make-label)) (L2 (make-label)))
- (comp-push test)
- (emit-branch src 'br-if-not L1)
+ ;; need a pattern matcher
+ (record-case test
+ ((<application> proc args)
+ (record-case proc
+ ((<primitive-ref> name)
+ (let ((len (length args)))
+ (cond
+
+ ((and (eq? name 'eq?) (= len 2))
+ (comp-push (car args))
+ (comp-push (cadr args))
+ (emit-branch src 'br-if-not-eq L1))
+
+ ((and (eq? name 'null?) (= len 1))
+ (comp-push (car args))
+ (emit-branch src 'br-if-not-null L1))
+
+ ((and (eq? name 'not) (= len 1))
+ (let ((app (car args)))
+ (record-case app
+ ((<application> proc args)
+ (let ((len (length args)))
+ (record-case proc
+ ((<primitive-ref> name)
+ (cond
+
+ ((and (eq? name 'eq?) (= len 2))
+ (comp-push (car args))
+ (comp-push (cadr args))
+ (emit-branch src 'br-if-eq L1))
+
+ ((and (eq? name 'null?) (= len 1))
+ (comp-push (car args))
+ (emit-branch src 'br-if-null L1))
+
+ (else
+ (comp-push app)
+ (emit-branch src 'br-if L1))))
+ (else
+ (comp-push app)
+ (emit-branch src 'br-if L1)))))
+ (else
+ (comp-push app)
+ (emit-branch src 'br-if L1)))))
+
+ (else
+ (comp-push test)
+ (emit-branch src 'br-if-not L1)))))
+ (else
+ (comp-push test)
+ (emit-branch src 'br-if-not L1))))
+ (else
+ (comp-push test)
+ (emit-branch src 'br-if-not L1)))
+
(comp-tail then)
;; if there is an RA, comp-tail will cause a jump to it -- just
;; have to clean up here if there is no RA.
(if (and (not RA) (not (eq? context 'tail)))
(emit-branch #f 'br L2))
(emit-label L1)
- (comp-tail else)
+ (comp-tail alternate)
(if (and (not RA) (not (eq? context 'tail)))
(emit-label L2))))
@@ -599,14 +657,13 @@
(emit-code #f (make-glil-call 'make-closure 2)))))))
(maybe-emit-return))
- ((<lambda-case> src req opt rest kw inits vars predicate else body)
+ ((<lambda-case> src req opt rest kw inits vars else body)
;; o/~ feature on top of feature o/~
;; req := (name ...)
;; opt := (name ...) | #f
;; rest := name | #f
;; kw: (allow-other-keys? (keyword name var) ...) | #f
;; vars: (sym ...)
- ;; predicate: tree-il in context of vars
;; init: tree-il in context of vars
;; vars map to named arguments in the following order:
;; required, optional (positional), rest, keyword.
@@ -687,15 +744,6 @@
(#t (error "what" inits))))))
;; post-prelude case label for label calls
(emit-label (car (hashq-ref allocation x)))
- (if predicate
- (begin
- (comp-push predicate)
- (if else-label
- ;; fixme: debox if necessary
- (emit-branch src 'br-if-not else-label)
- (comp-push (make-application
- src (make-primitive-ref #f 'error)
- (list (make-const #f "precondition not
met")))))))
(comp-tail body)
(if (not (null? vars))
(emit-code #f (make-glil-unbind)))
@@ -824,8 +872,8 @@
((<let-values> src exp body)
(record-case body
- ((<lambda-case> req opt kw rest vars predicate body else)
- (if (or opt kw predicate else)
+ ((<lambda-case> req opt kw rest vars body else)
+ (if (or opt kw else)
(error "unexpected lambda-case in let-values" x))
(let ((MV (make-label)))
(comp-vals exp MV)
diff --git a/module/language/tree-il/inline.scm
b/module/language/tree-il/inline.scm
index 9b53ec6..facaa38 100644
--- a/module/language/tree-il/inline.scm
+++ b/module/language/tree-il/inline.scm
@@ -44,9 +44,8 @@
(let lp ((lcase body))
(and lcase
(record-case lcase
- ((<lambda-case> req opt rest kw inits vars predicate body
else)
- (if (and (= (length vars) (length req) (length args))
- (not predicate))
+ ((<lambda-case> req opt rest kw inits vars body else)
+ (if (and (= (length vars) (length req) (length args)))
(let ((x (make-let src req vars args body)))
(or (inline1 x) x))
(lp else)))))))
@@ -65,7 +64,6 @@
(lambda-case? (lambda-body consumer))
(not (lambda-case-opt (lambda-body consumer)))
(not (lambda-case-kw (lambda-body consumer)))
- (not (lambda-case-predicate (lambda-body consumer)))
(not (lambda-case-else (lambda-body consumer))))
(make-let-values
src
diff --git a/module/language/tree-il/primitives.scm
b/module/language/tree-il/primitives.scm
index 8d93760..531a14a 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -36,6 +36,7 @@
eq? eqv? equal?
= < > <= >= zero?
+ * - / 1- 1+ quotient remainder modulo
+ ash logand logior logxor
not
pair? null? list? acons cons cons*
@@ -276,8 +277,8 @@
(define-primitive-expander acons (x y z)
(cons (cons x y) z))
-(define-primitive-expander apply (f . args)
- (@apply f . args))
+(define-primitive-expander apply (f a0 . args)
+ (@apply f a0 . args))
(define-primitive-expander call-with-values (producer consumer)
(@call-with-values producer consumer))
diff --git a/module/oop/goops.scm b/module/oop/goops.scm
index 00a5d68..a1af666 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -82,6 +82,12 @@
(eval-when (eval load compile)
(%init-goops-builtins))
+(eval-when (eval load compile)
+ (use-modules ((language tree-il primitives) :select
(add-interesting-primitive!)))
+ (add-interesting-primitive! 'class-of)
+ (add-interesting-primitive! '@slot-ref)
+ (add-interesting-primitive! '@slot-set!))
+
;; Then load the rest of GOOPS
(use-modules (oop goops util)
(oop goops dispatch)
@@ -707,7 +713,6 @@
;;; Methods to compare objects
;;;
-(define-method (eqv? x y) #f)
(define-method (equal? x y) (eqv? x y))
;;;
@@ -1125,11 +1130,6 @@
;; the idea is to compile the index into the procedure, for fastest
;; lookup. Also, @slot-ref and @slot-set! have their own bytecodes.
-(eval-when (compile)
- (use-modules ((language tree-il primitives) :select
(add-interesting-primitive!)))
- (add-interesting-primitive! '@slot-ref)
- (add-interesting-primitive! '@slot-set!))
-
(eval-when (eval load compile)
(define num-standard-pre-cache 20))
@@ -1516,7 +1516,6 @@
(slot-set! method 'specializers (get-keyword #:specializers initargs '()))
(slot-set! method 'procedure
(get-keyword #:procedure initargs #f))
- (slot-set! method 'code-table '())
(slot-set! method 'formals (get-keyword #:formals initargs '()))
(slot-set! method 'body (get-keyword #:body initargs '()))
(slot-set! method 'make-procedure (get-keyword #:make-procedure initargs
#f)))
diff --git a/module/oop/goops/compile.scm b/module/oop/goops/compile.scm
index 5db406c..db1a160 100644
--- a/module/oop/goops/compile.scm
+++ b/module/oop/goops/compile.scm
@@ -1,4 +1,4 @@
-;;;; Copyright (C) 1999, 2001, 2006 Free Software Foundation, Inc.
+;;;; Copyright (C) 1999, 2001, 2006, 2009 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
@@ -29,32 +29,6 @@
)
;;;
-;;; Method entries
-;;;
-
-(define code-table-lookup
- (letrec ((check-entry (lambda (entry types)
- (cond
- ((not (pair? entry)) (and (null? types) entry))
- ((null? types) #f)
- (else
- (and (eq? (car entry) (car types))
- (check-entry (cdr entry) (cdr types))))))))
- (lambda (code-table types)
- (cond ((null? code-table) #f)
- ((check-entry (car code-table) types))
- (else (code-table-lookup (cdr code-table) types))))))
-
-(define (compute-cmethod methods types)
- (or (code-table-lookup (slot-ref (car methods) 'code-table) types)
- (let* ((method (car methods))
- (cmethod (compile-method methods types))
- (entry (append types cmethod)))
- (slot-set! method 'code-table
- (cons entry (slot-ref method 'code-table)))
- cmethod)))
-
-;;;
;;; Compiling next methods into method bodies
;;;
@@ -70,7 +44,7 @@
;;; I think this whole generic application mess would benefit from a
;;; strict MOP.
-(define (compile-method methods types)
+(define (compute-cmethod methods types)
(let ((make-procedure (slot-ref (car methods) 'make-procedure)))
(if make-procedure
(make-procedure
diff --git a/module/oop/goops/dispatch.scm b/module/oop/goops/dispatch.scm
index e0a44db..5b7ac96 100644
--- a/module/oop/goops/dispatch.scm
+++ b/module/oop/goops/dispatch.scm
@@ -29,6 +29,224 @@
:no-backtrace
)
+(define *dispatch-module* (current-module))
+
+;;;
+;;; Generic functions have an applicable-methods cache associated with
+;;; them. Every distinct set of types that is dispatched through a
+;;; generic adds an entry to the cache. This cache gets compiled out to
+;;; a dispatch procedure. In steady-state, this dispatch procedure is
+;;; never recompiled; but during warm-up there is some churn, both to
+;;; the cache and to the dispatch procedure.
+;;;
+;;; So what is the deal if warm-up happens in a multithreaded context?
+;;; There is indeed a window between missing the cache for a certain set
+;;; of arguments, and then updating the cache with the newly computed
+;;; applicable methods. One of the updaters is liable to lose their new
+;;; entry.
+;;;
+;;; This is actually OK though, because a subsequent cache miss for the
+;;; race loser will just cause memoization to try again. The cache will
+;;; eventually be consistent. We're not mutating the old part of the
+;;; cache, just consing on the new entry.
+;;;
+;;; It doesn't even matter if the dispatch procedure and the cache are
+;;; inconsistent -- most likely the type-set that lost the dispatch
+;;; procedure race will simply re-trigger a memoization, but since the
+;;; winner isn't in the effective-methods cache, it will likely also
+;;; re-trigger a memoization, and the cache will finally be consistent.
+;;; As you can see there is a possibility for ping-pong effects, but
+;;; it's unlikely given the shortness of the window between slot-set!
+;;; invocations. We could add a mutex, but it is strictly unnecessary,
+;;; and would add runtime cost and complexity.
+;;;
+
+(define (emit-linear-dispatch gf-sym nargs methods free rest?)
+ (define (gen-syms n stem)
+ (let lp ((n (1- n)) (syms '()))
+ (if (< n 0)
+ syms
+ (lp (1- n) (cons (gensym stem) syms)))))
+ (let* ((args (gen-syms nargs "a"))
+ (types (gen-syms nargs "t")))
+ (let lp ((methods methods)
+ (free free)
+ (exp `(cache-miss ,gf-sym
+ ,(if rest? `(cons* ,@args rest) args))))
+ (cond
+ ((null? methods)
+ (values `(,(if rest? `(,@args . rest) args)
+ (let ,(map (lambda (t a)
+ `(,t (class-of ,a)))
+ types args)
+ ,exp))
+ free))
+ (else
+ ;; jeez
+ (let preddy ((free free)
+ (types types)
+ (specs (vector-ref (car methods) 1))
+ (checks '()))
+ (if (null? types)
+ (let ((m-sym (gensym "p")))
+ (lp (cdr methods)
+ (acons (vector-ref (car methods) 3)
+ m-sym
+ free)
+ `(if (and . ,checks)
+ ,(if rest?
+ `(apply ,m-sym ,@args rest)
+ `(,m-sym . ,args))
+ ,exp)))
+ (let ((var (assq-ref free (car specs))))
+ (if var
+ (preddy free
+ (cdr types)
+ (cdr specs)
+ (cons `(eq? ,(car types) ,var)
+ checks))
+ (let ((var (gensym "c")))
+ (preddy (acons (car specs) var free)
+ (cdr types)
+ (cdr specs)
+ (cons `(eq? ,(car types) ,var)
+ checks))))))))))))
+
+(define (compute-dispatch-procedure gf cache)
+ (define (scan)
+ (let lp ((ls cache) (nreq -1) (nrest -1))
+ (cond
+ ((null? ls)
+ (collate (make-vector (1+ nreq) '())
+ (make-vector (1+ nrest) '())))
+ ((vector-ref (car ls) 2) ; rest
+ (lp (cdr ls) nreq (max nrest (vector-ref (car ls) 0))))
+ (else ; req
+ (lp (cdr ls) (max nreq (vector-ref (car ls) 0)) nrest)))))
+ (define (collate req rest)
+ (let lp ((ls cache))
+ (cond
+ ((null? ls)
+ (emit req rest))
+ ((vector-ref (car ls) 2) ; rest
+ (let ((n (vector-ref (car ls) 0)))
+ (vector-set! rest n (cons (car ls) (vector-ref rest n)))
+ (lp (cdr ls))))
+ (else ; req
+ (let ((n (vector-ref (car ls) 0)))
+ (vector-set! req n (cons (car ls) (vector-ref req n)))
+ (lp (cdr ls)))))))
+ (define (emit req rest)
+ (let ((gf-sym (gensym "g")))
+ (define (emit-rest n clauses free)
+ (if (< n (vector-length rest))
+ (let ((methods (vector-ref rest n)))
+ (cond
+ ((null? methods)
+ (emit-rest (1+ n) clauses free))
+ ;; FIXME: hash dispatch
+ (else
+ (call-with-values
+ (lambda ()
+ (emit-linear-dispatch gf-sym n methods free #t))
+ (lambda (clause free)
+ (emit-rest (1+ n) (cons clause clauses) free))))))
+ (emit-req (1- (vector-length req)) clauses free)))
+ (define (emit-req n clauses free)
+ (if (< n 0)
+ (comp `(lambda ,(map cdr free)
+ (case-lambda ,@clauses))
+ (map car free))
+ (let ((methods (vector-ref req n)))
+ (cond
+ ((null? methods)
+ (emit-req (1- n) clauses free))
+ ;; FIXME: hash dispatch
+ (else
+ (call-with-values
+ (lambda ()
+ (emit-linear-dispatch gf-sym n methods free #f))
+ (lambda (clause free)
+ (emit-req (1- n) (cons clause clauses) free))))))))
+
+ (emit-rest 0
+ (if (or (zero? (vector-length rest))
+ (null? (vector-ref rest 0)))
+ (list `(args (cache-miss ,gf-sym args)))
+ '())
+ (acons gf gf-sym '()))))
+ (define (comp exp vals)
+ (let ((p ((@ (system base compile) compile) exp #:env *dispatch-module*)))
+ (apply p vals)))
+
+ ;; kick it.
+ (scan))
+
+;; o/~ ten, nine, eight
+;; sometimes that's just how it goes
+;; three, two, one
+;;
+;; get out before it blows o/~
+;;
+(define timer-init 10)
+(define *in-progress* (make-fluid))
+(fluid-set! *in-progress* '())
+
+(define (delayed-compile gf)
+ (let ((timer timer-init))
+ (lambda args
+ (cond
+ ((> timer 0)
+ (set! timer (1- timer))
+ (cache-dispatch gf args))
+ (else
+ (let ((in-progress (fluid-ref *in-progress*)))
+ (if (memq gf in-progress)
+ (cache-dispatch gf args)
+ (with-fluids ((*in-progress* (cons gf in-progress)))
+ (let ((dispatch (compute-dispatch-procedure
+ gf (slot-ref gf 'effective-methods))))
+ (slot-set! gf 'dispatch-procedure dispatch)
+ (apply dispatch args))))))))))
+
+(define (cache-dispatch gf args)
+ (define (map-until n f ls)
+ (if (or (zero? n) (null? ls))
+ '()
+ (cons (f (car ls)) (map-until (1- n) f (cdr ls)))))
+ (let ((types (map-until (slot-ref gf 'n-specialized) class-of args)))
+ (let lp ((cache (slot-ref gf 'effective-methods)))
+ (cond ((null? cache)
+ (cache-miss gf args))
+ ((equal? (vector-ref (car cache) 1) types)
+ (apply (vector-ref (car cache) 3) args))
+ (else (lp (cdr cache)))))))
+
+(define (cache-miss gf args)
+ (apply (memoize-method! gf args (slot-ref gf '%cache)) args))
+
+(define (memoize-effective-method! gf args applicable)
+ (define (first-n ls n)
+ (if (or (zero? n) (null? ls))
+ '()
+ (cons (car ls) (first-n (cdr ls) (- n 1)))))
+ (define (parse n ls)
+ (cond ((null? ls)
+ (memoize n #f (map class-of args)))
+ ((= n (slot-ref gf 'n-specialized))
+ (memoize n #t (map class-of (first-n args n))))
+ (else
+ (parse (1+ n) (cdr ls)))))
+ (define (memoize len rest? types)
+ (let* ((cmethod (compute-cmethod applicable types))
+ (cache (cons (vector len types rest? cmethod)
+ (slot-ref gf 'effective-methods))))
+ (slot-set! gf 'effective-methods cache)
+ (slot-set! gf 'dispatch-procedure (delayed-compile gf))
+ cmethod))
+ (parse 0 args))
+
+
;;;
;;; This file implements method memoization. It will finally be
;;; implemented on C level in order to obtain fast generic function
@@ -207,19 +425,14 @@
;;; Memoization
;;;
-;; Backward compatibility
-(define (lookup-create-cmethod gf args)
- (no-applicable-method (car args) (cadr args)))
-
(define (memoize-method! gf args exp)
- (if (not (slot-ref gf 'used-by))
- (slot-set! gf 'used-by '()))
(let ((applicable ((if (eq? gf compute-applicable-methods)
%compute-applicable-methods
compute-applicable-methods)
gf args)))
(cond (applicable
- ;; *fixme* dispatch.scm needs rewriting Since the current
+ (memoize-effective-method! gf args applicable)
+ ;; *fixme* dispatch.scm needs rewriting Since the current
;; code mutates the method cache, we have to work on a
;; copy. Otherwise we might disturb another thread
;; currently dispatching on the cache. (No need to copy
@@ -239,13 +452,8 @@
new args applicable)))))
(set-cdr! (cdr exp) (cddr new))
res))
- ((null? args)
- (lookup-create-cmethod no-applicable-method (list gf '())))
(else
- ;; Mutate arglist to fit no-applicable-method
- (set-cdr! args (list (cons (car args) (cdr args))))
- (set-car! args gf)
- (lookup-create-cmethod no-applicable-method args)))))
+ (no-applicable-method gf args)))))
(set-procedure-property! memoize-method! 'system-procedure #t)
diff --git a/test-suite/tests/goops.test b/test-suite/tests/goops.test
index c7a03d6..18b2122 100644
--- a/test-suite/tests/goops.test
+++ b/test-suite/tests/goops.test
@@ -20,6 +20,9 @@
#:use-module (test-suite lib)
#:autoload (srfi srfi-1) (unfold))
+(define exception:no-applicable-method
+ '(goops-error . "^No applicable method"))
+
(pass-if "GOOPS loads"
(false-if-exception
(begin (resolve-module '(oop goops))
@@ -499,3 +502,23 @@
(= (x (o2 o)) 3)
(= (y (o2 o)) 5)))
(current-module))))
+
+(with-test-prefix "no-applicable-method"
+ (pass-if-exception "calling generic, no methods"
+ exception:no-applicable-method
+ (eval '(begin
+ (define-class <qux> ())
+ (define-generic quxy)
+ (quxy 1))
+ (current-module)))
+ (pass-if "calling generic, one method, applicable"
+ (eval '(begin
+ (define-method (quxy (q <qux>))
+ #t)
+ (define q (make <qux>))
+ (quxy q))
+ (current-module)))
+ (pass-if-exception "calling generic, one method, not applicable"
+ exception:no-applicable-method
+ (eval '(quxy 1)
+ (current-module))))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index 2e78a1a..610529d 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -325,7 +325,7 @@
(with-test-prefix "lambda"
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x) #f #f #f () (y) #f) (const 2)) #f))
+ (lambda-case (((x) #f #f #f () (y)) (const 2)) #f))
(program () (std-prelude 0 0 #f) (label _)
(program () (std-prelude 1 1 #f)
(bind (x #f 0)) (label _)
@@ -334,7 +334,7 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x y) #f #f #f () (x1 y1) #f)
+ (lambda-case (((x y) #f #f #f () (x1 y1))
(const 2))
#f))
(program () (std-prelude 0 0 #f) (label _)
@@ -346,7 +346,7 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case ((() #f x #f () (y) #f) (const 2))
+ (lambda-case ((() #f x #f () (y)) (const 2))
#f))
(program () (std-prelude 0 0 #f) (label _)
(program () (opt-prelude 0 0 0 1 #f)
@@ -357,7 +357,7 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x) #f x1 #f () (y y1) #f) (const 2))
+ (lambda-case (((x) #f x1 #f () (y y1)) (const 2))
#f))
(program () (std-prelude 0 0 #f) (label _)
(program () (opt-prelude 1 0 1 2 #f)
@@ -368,7 +368,7 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x) #f x1 #f () (y y1) #f) (lexical x y))
+ (lambda-case (((x) #f x1 #f () (y y1)) (lexical x y))
#f))
(program () (std-prelude 0 0 #f) (label _)
(program () (opt-prelude 1 0 1 2 #f)
@@ -379,7 +379,7 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x) #f x1 #f () (y y1) #f) (lexical x1 y1))
+ (lambda-case (((x) #f x1 #f () (y y1)) (lexical x1 y1))
#f))
(program () (std-prelude 0 0 #f) (label _)
(program () (opt-prelude 1 0 1 2 #f)
@@ -390,9 +390,9 @@
(assert-tree-il->glil
(lambda ()
- (lambda-case (((x) #f #f #f () (x1) #f)
+ (lambda-case (((x) #f #f #f () (x1))
(lambda ()
- (lambda-case (((y) #f #f #f () (y1) #f)
+ (lambda-case (((y) #f #f #f () (y1))
(lexical x x1))
#f)))
#f))
@@ -526,7 +526,7 @@
(parse-tree-il
'(lambda ()
(lambda-case
- (((x y) #f #f #f () (x1 y1) #f)
+ (((x y) #f #f #f () (x1 y1))
(apply (toplevel +)
(lexical x x1)
(lexical y y1)))
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, goops-cleanup, updated. release_1-9-4-85-gc3d3f9b,
Andy Wingo <=