[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, master, updated. release_1-9-4-128-gb1
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. release_1-9-4-128-gb10d933 |
Date: |
Sun, 15 Nov 2009 20:13:21 +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=b10d93309b4c96caa5d399716c9b09a862c8ce0e
The branch, master has been updated
via b10d93309b4c96caa5d399716c9b09a862c8ce0e (commit)
via aec4a84ac8bb3270e6f68f8299e76c49857e24d4 (commit)
via b4a595a5d6447ef41d57690e841c545aa45d3a08 (commit)
via 0e249fd35912fabb7678a395753f315e0302515a (commit)
via 1e2a8edb8b0cd0818e1ea3ffdf05b8fc7c7f507d (commit)
via e161c9f85cfac9aead3728b4d1239bd973600a7a (commit)
via 4d34fbe1815be52cd669b53e03158ab931d9e80b (commit)
via 092d7704bef29a999a6f861fae461e9662b6fb98 (commit)
via b8187a71cb2cdb103aad10e75dc2947b06617ca9 (commit)
via b7bff2ba9bc7b1b131b8e08059dd2870f76500be (commit)
via ceedcfaa0c273b466a371b9bef7c84ce27ec27fb (commit)
via fb0f1a40e72217861bb420cb20707618028b7a10 (commit)
via 26fe6af140fd7e3042bfc628e5fb60b382d6a126 (commit)
via efcebb5b56a315f42c32e8bbc682d218a38c9428 (commit)
via 11561496bad94481cc2b3d8acba1a154e3c052fc (commit)
via 521ac49bdea053227c973a92e37fcc0879fa20d0 (commit)
via 48c7c44e70e6ba80fe16bfb179320cffb6a03996 (commit)
via 730d8ad9e64c3d4b31871a50a4c790b7548bc478 (commit)
via 352c87d7e4c8845b935f8439432d28d80bf06879 (commit)
via 9e759da10b8ec9334239d6ce40e19bf45c2d00e7 (commit)
via ee7ef600b99465387fafff05adb99cab25d3685e (commit)
from cb65f76c7408569d72ed82b77a154acd79d29c69 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------
Summary of changes:
doc/ref/api-procedures.texi | 19 -
libguile.h | 1 -
libguile/Makefile.am | 4 -
libguile/debug.c | 3 +-
libguile/eq.c | 1 -
libguile/eval.c | 7 -
libguile/eval.i.c | 185 +-
libguile/goops.c | 251 +-
libguile/goops.h | 58 +-
libguile/init.c | 2 -
libguile/objects.c | 371 -
libguile/objects.h | 219 -
libguile/ports.c | 1 -
libguile/print.c | 1 -
libguile/procprop.c | 11 +-
libguile/procs.c | 12 +-
libguile/smob.c | 1 -
libguile/struct.c | 2 +-
libguile/struct.h | 6 +-
libguile/validate.h | 3 +-
libguile/values.c | 9 +-
libguile/vm-i-scheme.c | 49 +
libguile/vm-i-system.c | 34 +
module/ice-9/optargs.scm | 17 +-
module/ice-9/psyntax-pp.scm | 9255 ++++++++++++------------
module/ice-9/psyntax.scm | 112 +-
module/language/brainfuck/compile-tree-il.scm | 2 +-
module/language/ecmascript/compile-tree-il.scm | 14 +-
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 | 21 +-
module/srfi/srfi-35.scm | 6 +-
module/system/vm/program.scm | 2 +-
test-suite/tests/structs.test | 4 +-
test-suite/tests/tree-il.test | 18 +-
38 files changed, 5033 insertions(+), 5825 deletions(-)
delete mode 100644 libguile/objects.c
delete mode 100644 libguile/objects.h
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.h b/libguile.h
index 73b3de7..3b2f695 100644
--- a/libguile.h
+++ b/libguile.h
@@ -73,7 +73,6 @@ extern "C" {
#include "libguile/modules.h"
#include "libguile/net_db.h"
#include "libguile/numbers.h"
-#include "libguile/objects.h"
#include "libguile/objprop.h"
#include "libguile/options.h"
#include "libguile/pairs.h"
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 96c66a7..fc6bb6f 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -158,7 +158,6 @@ libguile_la_SOURCES = \
null-threads.c \
numbers.c \
objcodes.c \
- objects.c \
objprop.c \
options.c \
pairs.c \
@@ -251,7 +250,6 @@ DOT_X_FILES = \
mallocs.x \
modules.x \
numbers.x \
- objects.x \
objprop.x \
options.x \
pairs.x \
@@ -347,7 +345,6 @@ DOT_DOC_FILES = \
mallocs.doc \
modules.doc \
numbers.doc \
- objects.doc \
objprop.doc \
options.doc \
pairs.doc \
@@ -509,7 +506,6 @@ modinclude_HEADERS = \
null-threads.h \
numbers.h \
objcodes.h \
- objects.h \
objprop.h \
options.h \
pairs.h \
diff --git a/libguile/debug.c b/libguile/debug.c
index 5b42ddd..a6de84a 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -47,7 +47,6 @@
#include "libguile/ports.h"
#include "libguile/root.h"
#include "libguile/fluids.h"
-#include "libguile/objects.h"
#include "libguile/programs.h"
#include "libguile/validate.h"
@@ -356,7 +355,7 @@ SCM_DEFINE (scm_procedure_source, "procedure-source", 1, 0,
0,
}
}
case scm_tcs_struct:
- if (!SCM_I_OPERATORP (proc))
+ if (!(SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC))
break;
goto procprop;
case scm_tc7_smob:
diff --git a/libguile/eq.c b/libguile/eq.c
index fadd756..2db4ac0 100644
--- a/libguile/eq.c
+++ b/libguile/eq.c
@@ -34,7 +34,6 @@
#include "libguile/struct.h"
#include "libguile/goops.h"
-#include "libguile/objects.h"
#include "libguile/validate.h"
#include "libguile/eq.h"
diff --git a/libguile/eval.c b/libguile/eval.c
index cdb9042..df9e5ab 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -48,7 +48,6 @@
#include "libguile/list.h"
#include "libguile/macros.h"
#include "libguile/modules.h"
-#include "libguile/objects.h"
#include "libguile/ports.h"
#include "libguile/print.h"
#include "libguile/procprop.h"
@@ -3270,8 +3269,6 @@ scm_trampoline_0 (SCM proc)
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
trampoline = scm_call_generic_0;
- else if (SCM_I_OPERATORP (proc))
- trampoline = scm_call_0;
else
return NULL;
break;
@@ -3396,8 +3393,6 @@ scm_trampoline_1 (SCM proc)
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
trampoline = scm_call_generic_1;
- else if (SCM_I_OPERATORP (proc))
- trampoline = scm_call_1;
else
return NULL;
break;
@@ -3493,8 +3488,6 @@ scm_trampoline_2 (SCM proc)
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
trampoline = scm_call_generic_2;
- else if (SCM_I_OPERATORP (proc))
- trampoline = scm_call_2;
else
return NULL;
break;
diff --git a/libguile/eval.i.c b/libguile/eval.i.c
index 5b4604a..ccb6126 100644
--- a/libguile/eval.i.c
+++ b/libguile/eval.i.c
@@ -744,139 +744,10 @@ dispatch:
* (c.f. objects.c:scm_mcache_compute_cmethod) since that
* cuts down execution time for type dispatch to 50%. */
type_dispatch: /* inputs: x, arg1 */
- /* Type dispatch means to determine from the types of the function
- * arguments (i. e. the 'signature' of the call), which method from
- * a generic function is to be called. This process of selecting
- * the right method takes some time. To speed it up, guile uses
- * caching: Together with the macro call to dispatch the signatures
- * of some previous calls to that generic function from the same
- * place are stored (in the code!) in a cache that we call the
- * 'method cache'. This is done since it is likely, that
- * consecutive calls to dispatch from that position in the code will
- * have the same signature. Thus, the type dispatch works as
- * follows: First, determine a hash value from the signature of the
- * actual arguments. Second, use this hash value as an index to
- * find that same signature in the method cache stored at this
- * position in the code. If found, you have also found the
- * corresponding method that belongs to that signature. If the
- * signature is not found in the method cache, you have to perform a
- * full search over all signatures stored with the generic
- * function. */
- {
- unsigned long int specializers;
- unsigned long int hash_value;
- unsigned long int cache_end_pos;
- unsigned long int mask;
- SCM method_cache;
-
- {
- SCM z = SCM_CDDR (x);
- SCM tmp = SCM_CADR (z);
- specializers = scm_to_ulong (SCM_CAR (z));
-
- /* Compute a hash value for searching the method cache. There
- * are two variants for computing the hash value, a (rather)
- * complicated one, and a simple one. For the complicated one
- * explained below, tmp holds a number that is used in the
- * computation. */
- if (scm_is_simple_vector (tmp))
- {
- /* This method of determining the hash value is much
- * simpler: Set the hash value to zero and just perform a
- * linear search through the method cache. */
- method_cache = tmp;
- mask = (unsigned long int) ((long) -1);
- hash_value = 0;
- cache_end_pos = SCM_SIMPLE_VECTOR_LENGTH (method_cache);
- }
- else
- {
- /* Use the signature of the actual arguments to determine
- * the hash value. This is done as follows: Each class has
- * an array of random numbers, that are determined when the
- * class is created. The integer 'hashset' is an index into
- * that array of random numbers. Now, from all classes that
- * are part of the signature of the actual arguments, the
- * random numbers at index 'hashset' are taken and summed
- * up, giving the hash value. The value of 'hashset' is
- * stored at the call to dispatch. This allows to have
- * different 'formulas' for calculating the hash value at
- * different places where dispatch is called. This allows
- * to optimize the hash formula at every individual place
- * where dispatch is called, such that hopefully the hash
- * value that is computed will directly point to the right
- * method in the method cache. */
- unsigned long int hashset = scm_to_ulong (tmp);
- unsigned long int counter = specializers + 1;
- SCM tmp_arg = arg1;
- hash_value = 0;
- while (!scm_is_null (tmp_arg) && counter != 0)
- {
- SCM class = scm_class_of (SCM_CAR (tmp_arg));
- hash_value += SCM_INSTANCE_HASH (class, hashset);
- tmp_arg = SCM_CDR (tmp_arg);
- counter--;
- }
- z = SCM_CDDR (z);
- method_cache = SCM_CADR (z);
- mask = scm_to_ulong (SCM_CAR (z));
- hash_value &= mask;
- cache_end_pos = hash_value;
- }
- }
-
- {
- /* Search the method cache for a method with a matching
- * signature. Start the search at position 'hash_value'. The
- * hashing implementation uses linear probing for conflict
- * resolution, that is, if the signature in question is not
- * found at the starting index in the hash table, the next table
- * entry is tried, and so on, until in the worst case the whole
- * cache has been searched, but still the signature has not been
- * found. */
- SCM z;
- do
- {
- SCM args = arg1; /* list of arguments */
- z = SCM_SIMPLE_VECTOR_REF (method_cache, hash_value);
- while (!scm_is_null (args))
- {
- /* More arguments than specifiers => CLASS != ENV */
- SCM class_of_arg = scm_class_of (SCM_CAR (args));
- if (!scm_is_eq (class_of_arg, SCM_CAR (z)))
- goto next_method;
- args = SCM_CDR (args);
- z = SCM_CDR (z);
- }
- /* Fewer arguments than specifiers => CAR != CLASS */
- if (!scm_is_pair (z))
- goto apply_vm_cmethod;
- else if (!SCM_CLASSP (SCM_CAR (z))
- && !scm_is_symbol (SCM_CAR (z)))
- goto apply_memoized_cmethod;
- next_method:
- hash_value = (hash_value + 1) & mask;
- } while (hash_value != cache_end_pos);
-
- /* No appropriate method was found in the cache. */
- z = scm_memoize_method (x, arg1);
-
- if (scm_is_pair (z))
- goto apply_memoized_cmethod;
-
- apply_vm_cmethod:
- proc = z;
- PREP_APPLY (proc, arg1);
- goto apply_proc;
-
- apply_memoized_cmethod: /* inputs: z, arg1 */
- {
- SCM formals = SCM_CMETHOD_FORMALS (z);
- env = SCM_EXTEND_ENV (formals, arg1, SCM_CMETHOD_ENV (z));
- x = SCM_CMETHOD_BODY (z);
- goto nontoplevel_begin;
- }
- }
+ {
+ proc = scm_mcache_compute_cmethod (x, arg1);
+ PREP_APPLY (proc, arg1);
+ goto apply_proc;
}
@@ -1156,22 +1027,22 @@ dispatch:
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
{
- x = SCM_ENTITY_PROCEDURE (proc);
+ x = SCM_GENERIC_METHOD_CACHE (proc);
arg1 = SCM_EOL;
goto type_dispatch;
}
- else if (SCM_I_OPERATORP (proc))
+#if 0
+ else if (SCM_I_ENTITYP (proc))
{
arg1 = proc;
- proc = (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc));
+ proc = SCM_ENTITY_PROCEDURE (proc);
#ifdef DEVAL
debug.info->a.proc = proc;
debug.info->a.args = scm_list_1 (arg1);
#endif
goto evap1;
}
+#endif
else
goto badfun;
case scm_tc7_subr_1:
@@ -1285,7 +1156,7 @@ dispatch:
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
{
- x = SCM_ENTITY_PROCEDURE (proc);
+ x = SCM_GENERIC_METHOD_CACHE (proc);
#ifdef DEVAL
arg1 = debug.info->a.args;
#else
@@ -1293,19 +1164,19 @@ dispatch:
#endif
goto type_dispatch;
}
- else if (SCM_I_OPERATORP (proc))
+#if 0
+ else if (SCM_I_ENTITYP (proc))
{
arg2 = arg1;
arg1 = proc;
- proc = (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc));
+ proc = SCM_ENTITY_PROCEDURE (proc);
#ifdef DEVAL
debug.info->a.args = scm_cons (arg1, debug.info->a.args);
debug.info->a.proc = proc;
#endif
goto evap2;
}
+#endif
else
goto badfun;
case scm_tc7_subr_2:
@@ -1366,7 +1237,7 @@ dispatch:
case scm_tcs_struct:
if (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC)
{
- x = SCM_ENTITY_PROCEDURE (proc);
+ x = SCM_GENERIC_METHOD_CACHE (proc);
#ifdef DEVAL
arg1 = debug.info->a.args;
#else
@@ -1374,19 +1245,16 @@ dispatch:
#endif
goto type_dispatch;
}
- else if (SCM_I_OPERATORP (proc))
+#if 0
+ else if (SCM_I_ENTITYP (proc))
{
operatorn:
#ifdef DEVAL
- RETURN (SCM_APPLY (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc),
+ RETURN (SCM_APPLY (SCM_ENTITY_PROCEDURE (proc),
scm_cons (proc, debug.info->a.args),
SCM_EOL));
#else
- RETURN (SCM_APPLY (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc),
+ RETURN (SCM_APPLY (SCM_ENTITY_PROCEDURE (proc),
scm_cons2 (proc, arg1,
scm_cons (arg2,
scm_ceval_args (x,
@@ -1395,6 +1263,7 @@ dispatch:
SCM_EOL));
#endif
}
+#endif
else
goto badfun;
case scm_tc7_subr_0:
@@ -1601,11 +1470,13 @@ dispatch:
#else
arg1 = scm_cons2 (arg1, arg2, scm_ceval_args (x, env, proc));
#endif
- x = SCM_ENTITY_PROCEDURE (proc);
+ x = SCM_GENERIC_METHOD_CACHE (proc);
goto type_dispatch;
}
- else if (SCM_I_OPERATORP (proc))
+#if 0
+ else if (SCM_I_ENTITYP (proc))
goto operatorn;
+#endif
else
goto badfun;
case scm_tc7_subr_2:
@@ -1909,7 +1780,8 @@ tail:
#endif
RETURN (scm_apply_generic (proc, args));
}
- else if (SCM_I_OPERATORP (proc))
+#if 0
+ else if (SCM_I_ENTITYP (proc))
{
/* operator */
#ifdef DEVAL
@@ -1918,9 +1790,7 @@ tail:
args = (SCM_UNBNDP(arg1) ? SCM_EOL : scm_cons (arg1, args));
#endif
arg1 = proc;
- proc = (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc));
+ proc = SCM_ENTITY_PROCEDURE (proc);
#ifdef DEVAL
debug.vect[0].a.proc = proc;
debug.vect[0].a.args = scm_cons (arg1, args);
@@ -1930,6 +1800,7 @@ tail:
else
goto badproc;
}
+#endif
else
goto badproc;
default:
diff --git a/libguile/goops.c b/libguile/goops.c
index 24a823f..33e1c6e 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -44,9 +44,9 @@
#include "libguile/keywords.h"
#include "libguile/macros.h"
#include "libguile/modules.h"
-#include "libguile/objects.h"
#include "libguile/ports.h"
#include "libguile/procprop.h"
+#include "libguile/programs.h"
#include "libguile/random.h"
#include "libguile/root.h"
#include "libguile/smob.h"
@@ -54,12 +54,23 @@
#include "libguile/strports.h"
#include "libguile/vectors.h"
#include "libguile/weaks.h"
+#include "libguile/vm.h"
#include "libguile/validate.h"
#include "libguile/goops.h"
#define SPEC_OF(x) SCM_SLOT (x, scm_si_specializers)
+#define SCM_CMETHOD_CODE(cmethod) SCM_CDR (cmethod)
+#define SCM_CMETHOD_FORMALS(cmethod) SCM_CAR (SCM_CMETHOD_CODE (cmethod))
+#define SCM_CMETHOD_BODY(cmethod) SCM_CDR (SCM_CMETHOD_CODE (cmethod))
+#define SCM_CMETHOD_ENV(cmethod) SCM_CAR (cmethod)
+
+/* Port classes */
+#define SCM_IN_PCLASS_INDEX 0
+#define SCM_OUT_PCLASS_INDEX SCM_I_MAX_PORT_TYPE_COUNT
+#define SCM_INOUT_PCLASS_INDEX (2 * SCM_I_MAX_PORT_TYPE_COUNT)
+
/* this file is a mess. in theory, though, we shouldn't have many SCM
references
-- most of the references should be to vars. */
@@ -105,10 +116,6 @@ SCM_VARIABLE (scm_var_make_extended_generic,
"make-extended-generic");
h1.
*/
-/* The following definition is located in libguile/objects.h:
-#define SCM_OBJ_CLASS_REDEF(x) (SCM_STRUCT_VTABLE_DATA(x)[scm_si_redefined])
-*/
-
#define TEST_CHANGE_CLASS(obj, class) \
{ \
class = SCM_CLASS_OF (obj); \
@@ -145,7 +152,6 @@ SCM scm_class_extended_accessor;
SCM scm_class_method;
SCM scm_class_simple_method, scm_class_accessor_method;
SCM scm_class_procedure_class;
-SCM scm_class_operator_class, scm_class_operator_with_setter_class;
SCM scm_class_entity_class;
SCM scm_class_number, scm_class_list;
SCM scm_class_keyword;
@@ -288,9 +294,9 @@ SCM_DEFINE (scm_class_of, "class-of", 1, 0, 0,
if (!scm_is_symbol (name))
name = scm_string_to_symbol (scm_nullstr);
+ /* FIXME APPLICABLE structs */
class =
- scm_make_extended_class_from_symbol (name,
- SCM_I_OPERATORP (x));
+ scm_make_extended_class_from_symbol (name, 0);
SCM_SET_STRUCT_TABLE_CLASS (SCM_CDR (handle), class);
return class;
}
@@ -754,7 +760,7 @@ SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2,
0, 0,
}
flags &= SCM_CLASSF_INHERIT;
- if (! (flags & SCM_CLASSF_ENTITY))
+ if (! (flags & SCM_CLASSF_PURE_GENERIC))
{
long n = SCM_I_INUM (SCM_SLOT (class, scm_si_nfields));
#if 0
@@ -769,8 +775,7 @@ SCM_DEFINE (scm_sys_inherit_magic_x, "%inherit-magic!", 2,
0, 0,
#endif
if (n > 0 && !(flags & SCM_CLASSF_METACLASS))
{
- /* NOTE: The following depends on scm_struct_i_size. */
- flags |= SCM_STRUCTF_LIGHT + n * sizeof (SCM); /* use light
representation */
+ flags |= SCM_STRUCTF_LIGHT; /* use light representation */
}
}
SCM_SET_CLASS_FLAGS (class, flags);
@@ -786,7 +791,7 @@ prep_hashsets (SCM class)
{
unsigned int i;
- for (i = 0; i < 7; ++i)
+ for (i = 0; i < 8; ++i)
SCM_SET_HASHSET (class, i, scm_c_uniform32 (goops_rstate));
}
@@ -829,13 +834,8 @@ scm_basic_basic_make_class (SCM class, SCM name, SCM
dsupers, SCM dslots)
}
/* Support for the underlying structs: */
- SCM_SET_CLASS_FLAGS (z, (class == scm_class_entity_class
- ? (SCM_CLASSF_GOOPS_OR_VALID
- | SCM_CLASSF_OPERATOR
- | SCM_CLASSF_ENTITY)
- : class == scm_class_operator_class
- ? SCM_CLASSF_GOOPS_OR_VALID | SCM_CLASSF_OPERATOR
- : SCM_CLASSF_GOOPS_OR_VALID));
+ /* FIXME: set entity flag on z if class == entity_class ? */
+ SCM_SET_CLASS_FLAGS (z, SCM_CLASSF_GOOPS_OR_VALID);
return z;
}
@@ -1166,15 +1166,6 @@ SCM_DEFINE (scm_accessor_method_slot_definition,
"accessor-method-slot-definitio
}
#undef FUNC_NAME
-SCM_DEFINE (scm_sys_tag_body, "%tag-body", 1, 0, 0,
- (SCM body),
- "Internal GOOPS magic---don't use this function!")
-#define FUNC_NAME s_scm_sys_tag_body
-{
- return scm_cons (SCM_IM_LAMBDA, body);
-}
-#undef FUNC_NAME
-
/******************************************************************************
*
* S l o t a c c e s s
@@ -1569,22 +1560,18 @@ SCM_DEFINE (scm_sys_allocate_instance,
"%allocate-instance", 2, 0, 0,
n = SCM_I_INUM (SCM_SLOT (class, scm_si_nfields));
- /* Entities */
- if (SCM_CLASS_FLAGS (class) & SCM_CLASSF_ENTITY)
+ /* FIXME applicable structs */
+ /* Generic functions */
+ if (SCM_CLASS_FLAGS (class) & SCM_CLASSF_PURE_GENERIC)
{
+ SCM gf;
m = (SCM *) scm_alloc_struct (n, scm_struct_entity_n_extra_words,
- "entity struct");
+ "generic function");
m[scm_struct_i_setter] = SCM_BOOL_F;
m[scm_struct_i_procedure] = SCM_BOOL_F;
- /* Generic functions */
- if (SCM_CLASS_FLAGS (class) & SCM_CLASSF_PURE_GENERIC)
- {
- SCM gf = wrap_init (class, m, n);
- clear_method_cache (gf);
- return gf;
- }
- else
- return wrap_init (class, m, n);
+ gf = wrap_init (class, m, n);
+ clear_method_cache (gf);
+ return gf;
}
/* Class objects */
@@ -1599,10 +1586,7 @@ SCM_DEFINE (scm_sys_allocate_instance,
"%allocate-instance", 2, 0, 0,
for (i = scm_si_goops_fields; i < n; i++)
SCM_SET_SLOT (z, i, SCM_GOOPS_UNBOUND);
- if (SCM_SUBCLASSP (class, scm_class_entity_class))
- SCM_SET_CLASS_FLAGS (z, SCM_CLASSF_OPERATOR | SCM_CLASSF_ENTITY);
- else if (SCM_SUBCLASSP (class, scm_class_operator_class))
- SCM_SET_CLASS_FLAGS (z, SCM_CLASSF_OPERATOR);
+ /* FIXME propagate applicable struct flag */
return z;
}
@@ -1621,15 +1605,11 @@ SCM_DEFINE (scm_sys_set_object_setter_x,
"%set-object-setter!", 2, 0, 0,
#define FUNC_NAME s_scm_sys_set_object_setter_x
{
SCM_ASSERT (SCM_STRUCTP (obj)
- && ((SCM_CLASS_FLAGS (obj) & SCM_CLASSF_OPERATOR)
- || SCM_I_ENTITYP (obj)),
+ && (SCM_OBJ_CLASS_FLAGS (obj) & SCM_CLASSF_PURE_GENERIC),
obj,
SCM_ARG1,
FUNC_NAME);
- if (SCM_I_ENTITYP (obj))
- SCM_SET_ENTITY_SETTER (obj, setter);
- else
- SCM_OPERATOR_CLASS (obj)->setter = setter;
+ SCM_SET_GENERIC_SETTER (obj, setter);
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME
@@ -1794,6 +1774,154 @@ static SCM list_of_no_method;
SCM_GLOBAL_SYMBOL (scm_sym_args, "args");
+/* The cache argument for scm_mcache_lookup_cmethod has one of two possible
+ * formats:
+ *
+ * Format #1:
+ * (SCM_IM_DISPATCH ARGS N-SPECIALIZED
+ * #((TYPE1 ... ENV FORMALS FORM ...) ...)
+ * GF)
+ *
+ * Format #2:
+ * (SCM_IM_HASH_DISPATCH ARGS N-SPECIALIZED HASHSET MASK
+ * #((TYPE1 ... ENV FORMALS FORM ...) ...)
+ * GF)
+ *
+ * ARGS is either a list of expressions, in which case they
+ * are interpreted as the arguments of an application, or
+ * a non-pair, which is interpreted as a single expression
+ * yielding all arguments.
+ *
+ * SCM_IM_DISPATCH expressions in generic functions always
+ * have ARGS = the symbol `args' or the iloc address@hidden
+ *
+ * Need FORMALS in order to support varying arity. This
+ * also avoids the need for renaming of bindings.
+ *
+ * We should probably not complicate this mechanism by
+ * introducing "optimizations" for getters and setters or
+ * primitive methods. Getters and setter will normally be
+ * compiled into @slot-[ref|set!] or a procedure call.
+ * They rely on the dispatch performed before executing
+ * the code which contains them.
+ *
+ * We might want to use a more efficient representation of
+ * this form in the future, perhaps after we have introduced
+ * low-level support for syntax-case macros.
+ */
+
+SCM
+scm_mcache_lookup_cmethod (SCM cache, SCM args)
+{
+ unsigned long i, mask, n, end;
+ SCM ls, methods, z = SCM_CDDR (cache);
+ n = scm_to_ulong (SCM_CAR (z)); /* maximum number of specializers */
+ methods = SCM_CADR (z);
+
+ if (scm_is_simple_vector (methods))
+ {
+ /* cache format #1: prepare for linear search */
+ mask = -1;
+ i = 0;
+ end = SCM_SIMPLE_VECTOR_LENGTH (methods);
+ }
+ else
+ {
+ /* cache format #2: compute a hash value */
+ unsigned long hashset = scm_to_ulong (methods);
+ long j = n;
+ z = SCM_CDDR (z);
+ mask = scm_to_ulong (SCM_CAR (z));
+ methods = SCM_CADR (z);
+ i = 0;
+ ls = args;
+ if (!scm_is_null (ls))
+ do
+ {
+ i += SCM_STRUCT_DATA (scm_class_of (SCM_CAR (ls)))
+ [scm_si_hashsets + hashset];
+ ls = SCM_CDR (ls);
+ }
+ while (j-- && !scm_is_null (ls));
+ i &= mask;
+ end = i;
+ }
+
+ /* Search for match */
+ do
+ {
+ long j = n;
+ z = SCM_SIMPLE_VECTOR_REF (methods, i);
+ ls = args; /* list of arguments */
+ if (!scm_is_null (ls))
+ do
+ {
+ /* More arguments than specifiers => CLASS != ENV */
+ if (! scm_is_eq (scm_class_of (SCM_CAR (ls)), SCM_CAR (z)))
+ goto next_method;
+ ls = SCM_CDR (ls);
+ z = SCM_CDR (z);
+ }
+ while (j-- && !scm_is_null (ls));
+ /* Fewer arguments than specifiers => CAR != CLASS or `no-method' */
+ if (!scm_is_pair (z)
+ || (!SCM_CLASSP (SCM_CAR (z)) && !scm_is_symbol (SCM_CAR (z))))
+ return z;
+ next_method:
+ i = (i + 1) & mask;
+ } while (i != end);
+ return SCM_BOOL_F;
+}
+
+SCM
+scm_mcache_compute_cmethod (SCM cache, SCM args)
+{
+ SCM cmethod = scm_mcache_lookup_cmethod (cache, args);
+ if (scm_is_false (cmethod))
+ /* No match - memoize */
+ return scm_memoize_method (cache, args);
+ return cmethod;
+}
+
+SCM
+scm_apply_generic (SCM gf, SCM args)
+{
+ SCM cmethod = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (gf),
args);
+ if (SCM_PROGRAM_P (cmethod))
+ return scm_vm_apply (scm_the_vm (), cmethod, args);
+ else if (scm_is_pair (cmethod))
+ return scm_eval_body (SCM_CDR (SCM_CMETHOD_CODE (cmethod)),
+ SCM_EXTEND_ENV (SCM_CAR (SCM_CMETHOD_CODE (cmethod)),
+ args,
+ SCM_CMETHOD_ENV (cmethod)));
+ else
+ return scm_apply (cmethod, args, SCM_EOL);
+}
+
+SCM
+scm_call_generic_0 (SCM gf)
+{
+ return scm_apply_generic (gf, SCM_EOL);
+}
+
+SCM
+scm_call_generic_1 (SCM gf, SCM a1)
+{
+ return scm_apply_generic (gf, scm_list_1 (a1));
+}
+
+SCM
+scm_call_generic_2 (SCM gf, SCM a1, SCM a2)
+{
+ return scm_apply_generic (gf, scm_list_2 (a1, a2));
+}
+
+SCM
+scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3)
+{
+ return scm_apply_generic (gf, scm_list_3 (a1, a2, a3));
+}
+
SCM
scm_make_method_cache (SCM gf)
{
@@ -1809,7 +1937,7 @@ static void
clear_method_cache (SCM gf)
{
SCM cache = scm_make_method_cache (gf);
- SCM_SET_ENTITY_PROCEDURE (gf, cache);
+ SCM_SET_GENERIC_METHOD_CACHE (gf, cache);
SCM_SET_SLOT (gf, scm_si_used_by, SCM_BOOL_F);
}
@@ -1833,7 +1961,7 @@ SCM_DEFINE (scm_sys_invalidate_method_cache_x,
"%invalidate-method-cache!", 1, 0
{
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_ENTITY_PROCEDURE (gf), n);
+ SCM_SET_MCACHE_N_SPECIALIZED (SCM_GENERIC_METHOD_CACHE (gf), n);
}
return SCM_UNSPECIFIED;
}
@@ -2557,11 +2685,6 @@ create_standard_classes (void)
scm_class_class, scm_class_class, SCM_EOL);
make_stdcls (&scm_class_entity_class, "<entity-class>",
scm_class_class, scm_class_procedure_class, SCM_EOL);
- make_stdcls (&scm_class_operator_class, "<operator-class>",
- scm_class_class, scm_class_procedure_class, SCM_EOL);
- make_stdcls (&scm_class_operator_with_setter_class,
- "<operator-with-setter-class>",
- scm_class_class, scm_class_operator_class, SCM_EOL);
make_stdcls (&scm_class_method, "<method>",
scm_class_class, scm_class_object, method_slots);
make_stdcls (&scm_class_simple_method, "<simple-method>",
@@ -2576,21 +2699,27 @@ create_standard_classes (void)
scm_class_entity_class,
scm_list_2 (scm_class_object, scm_class_applicable),
SCM_EOL);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_entity, SCM_STRUCTF_LIGHT);
make_stdcls (&scm_class_entity_with_setter, "<entity-with-setter>",
scm_class_entity_class, scm_class_entity, SCM_EOL);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_entity_with_setter, SCM_STRUCTF_LIGHT);
make_stdcls (&scm_class_generic, "<generic>",
scm_class_entity_class, scm_class_entity, gf_slots);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_generic, SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_generic, SCM_CLASSF_PURE_GENERIC);
make_stdcls (&scm_class_extended_generic, "<extended-generic>",
scm_class_entity_class, scm_class_generic, egf_slots);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_extended_generic, SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_extended_generic, SCM_CLASSF_PURE_GENERIC);
make_stdcls (&scm_class_generic_with_setter, "<generic-with-setter>",
scm_class_entity_class,
scm_list_2 (scm_class_generic, scm_class_entity_with_setter),
SCM_EOL);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_generic_with_setter, SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_generic_with_setter, SCM_CLASSF_PURE_GENERIC);
make_stdcls (&scm_class_accessor, "<accessor>",
scm_class_entity_class, scm_class_generic_with_setter, SCM_EOL);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_accessor, SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_accessor, SCM_CLASSF_PURE_GENERIC);
make_stdcls (&scm_class_extended_generic_with_setter,
"<extended-generic-with-setter>",
@@ -2598,6 +2727,7 @@ create_standard_classes (void)
scm_list_2 (scm_class_generic_with_setter,
scm_class_extended_generic),
SCM_EOL);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_extended_generic_with_setter,
SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_extended_generic_with_setter,
SCM_CLASSF_PURE_GENERIC);
make_stdcls (&scm_class_extended_accessor, "<extended-accessor>",
@@ -2607,6 +2737,7 @@ create_standard_classes (void)
SCM_EOL);
fix_cpl (scm_class_extended_accessor,
scm_class_extended_generic, scm_class_generic);
+ SCM_CLEAR_CLASS_FLAGS (scm_class_extended_accessor, SCM_STRUCTF_LIGHT);
SCM_SET_CLASS_FLAGS (scm_class_extended_accessor, SCM_CLASSF_PURE_GENERIC);
/* Primitive types classes */
@@ -2835,7 +2966,7 @@ make_struct_class (void *closure SCM_UNUSED,
SCM sym = SCM_STRUCT_TABLE_NAME (data);
if (scm_is_true (sym))
{
- int applicablep = SCM_CLASS_FLAGS (vtable) & SCM_CLASSF_OPERATOR;
+ int applicablep = 0; /* FIXME SCM_CLASS_FLAGS (vtable) &
SCM_CLASSF_ENTITY */
SCM_SET_STRUCT_TABLE_CLASS (data,
scm_make_extended_class_from_symbol (sym,
applicablep));
@@ -2903,10 +3034,6 @@ scm_make_class (SCM meta, char *s_name, SCM supers,
size_t size,
SCM_SET_SLOT (class, scm_si_destructor, (SCM) destructor);
SCM_SET_CLASS_DESTRUCTOR (class, scm_free_foreign_object);
}
- else if (size > 0)
- {
- SCM_SET_CLASS_INSTANCE_SIZE (class, size);
- }
SCM_SET_SLOT (class, scm_si_layout, scm_from_locale_symbol (""));
SCM_SET_SLOT (class, scm_si_constructor, (SCM) constructor);
diff --git a/libguile/goops.h b/libguile/goops.h
index 8d13823..153aace 100644
--- a/libguile/goops.h
+++ b/libguile/goops.h
@@ -47,11 +47,9 @@
#define scm_si_setter 4
#define scm_si_goops_fields 5
-
-/* Defined in libguile/objects.h:
-#define scm_si_redefined 5 The class to which class was redefined.
+#define scm_si_redefined 5 /* The class to which class was
redefined. */
#define scm_si_hashsets 6
-*/
+
#define scm_si_name 14 /* a symbol */
#define scm_si_direct_supers 15 /* (class ...) */
#define scm_si_direct_slots 16 /* ((name . options) ...) */
@@ -61,6 +59,7 @@
#define scm_si_slotdef_class 20
#define scm_si_slots 21 /* ((name . options) ...) */
#define scm_si_name_access 22
+#define scm_si_getters_n_setters scm_si_name_access
#define scm_si_keyword_access 23
#define scm_si_nfields 24 /* an integer */
#define scm_si_environment 25 /* The environment in which class is built
*/
@@ -74,18 +73,25 @@ typedef struct scm_t_method {
#define SCM_METHOD(obj) ((scm_t_method *) SCM_STRUCT_DATA (obj))
+/* {Class flags}
+ *
+ * These are used for efficient identification of instances of a
+ * certain class or its subclasses when traversal of the inheritance
+ * graph would be too costly.
+ */
+#define SCM_CLASS_FLAGS(class) (SCM_STRUCT_DATA (class) [scm_struct_i_flags])
+#define SCM_OBJ_CLASS_FLAGS(obj) (SCM_STRUCT_VTABLE_DATA (obj)
[scm_struct_i_flags])
+#define SCM_SET_CLASS_FLAGS(c, f) (SCM_CLASS_FLAGS (c) |= (f))
+#define SCM_CLEAR_CLASS_FLAGS(c, f) (SCM_CLASS_FLAGS (c) &= ~(f))
+#define SCM_CLASSF_MASK SCM_STRUCTF_MASK
+
#define SCM_CLASSF_SIMPLE_METHOD (0x004 << 20)
#define SCM_CLASSF_ACCESSOR_METHOD (0x008 << 20)
-
-/* Defined in libguile/objects.c */
-/* #define SCM_CLASSF_PURE_GENERIC (0x010 << 20) */
-
+#define SCM_CLASSF_PURE_GENERIC SCM_STRUCTF_GOOPS_HACK
#define SCM_CLASSF_FOREIGN (0x020 << 20)
#define SCM_CLASSF_METACLASS (0x040 << 20)
-
-/* Defined in libguile/objects.c */
-/* #define SCM_CLASSF_GOOPS_VALID (0x080 << 20) */
-/* #define SCM_CLASSF_GOOPS (0x100 << 20) */
+#define SCM_CLASSF_GOOPS_VALID (0x080 << 20)
+#define SCM_CLASSF_GOOPS (0x100 << 20)
#define SCM_CLASSF_GOOPS_OR_VALID (SCM_CLASSF_GOOPS | SCM_CLASSF_GOOPS_VALID)
#define SCM_CLASSF_INHERIT (~(SCM_CLASSF_PURE_GENERIC \
@@ -94,9 +100,10 @@ typedef struct scm_t_method {
| SCM_STRUCTF_LIGHT) \
& SCM_CLASSF_MASK)
+#define SCM_CLASS_OF(x) SCM_STRUCT_VTABLE (x)
+#define SCM_OBJ_CLASS_REDEF(x) (SCM_PACK (SCM_STRUCT_VTABLE_DATA (x)
[scm_si_redefined]))
#define SCM_INST(x) SCM_STRUCT_DATA (x)
-/* Also defined in libguile/objects.c */
#define SCM_CLASS_OF(x) SCM_STRUCT_VTABLE (x)
#define SCM_ACCESSORS_OF(x) (SCM_PACK (SCM_STRUCT_VTABLE_DATA
(x)[scm_si_getters_n_setters]))
@@ -133,13 +140,17 @@ typedef struct scm_t_method {
(SCM_INSTANCEP (x) && SCM_SUBCLASSP (SCM_CLASS_OF (x), scm_class_method))
#define SCM_VALIDATE_METHOD(pos, x) SCM_MAKE_VALIDATE_MSG (pos, x, METHODP,
"method")
+#define SCM_SET_CLASS_DESTRUCTOR(c, d) SCM_SET_VTABLE_DESTRUCTOR (c, d)
+
+#define SCM_GENERIC_METHOD_CACHE(G) (SCM_PACK (SCM_STRUCT_DATA (G)
[scm_struct_i_procedure]))
+#define SCM_SET_GENERIC_METHOD_CACHE(G,C) (SCM_STRUCT_DATA (G)
[scm_struct_i_procedure] = SCM_UNPACK (C))
+#define SCM_GENERIC_SETTER(G) (SCM_PACK (SCM_STRUCT_DATA (G)
[scm_struct_i_setter]))
+#define SCM_SET_GENERIC_SETTER(G,C) (SCM_STRUCT_DATA (G) [scm_struct_i_setter]
= 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_INITIAL_MCACHE_SIZE 1
-#define scm_si_getters_n_setters scm_si_name_access
-
#define scm_si_constructor SCM_N_CLASS_SLOTS
#define scm_si_destructor SCM_N_CLASS_SLOTS + 1
@@ -189,8 +200,6 @@ SCM_API SCM scm_class_method;
SCM_API SCM scm_class_simple_method;
SCM_API SCM scm_class_accessor_method;
SCM_API SCM scm_class_procedure_class;
-SCM_API SCM scm_class_operator_class;
-SCM_API SCM scm_class_operator_with_setter_class;
SCM_API SCM scm_class_entity_class;
SCM_API SCM scm_class_number;
SCM_API SCM scm_class_list;
@@ -227,6 +236,8 @@ SCM_API SCM scm_make_foreign_object (SCM cls, SCM initargs);
SCM_API SCM scm_make_class (SCM meta, char *s_name, SCM supers, size_t size,
void * (*constructor) (SCM initargs),
size_t (*destructor) (void *));
+SCM_API SCM scm_make_extended_class (char const *type_name, int applicablep);
+SCM_API void scm_make_port_classes (long ptobnum, char *type_name);
SCM_API void scm_add_slot (SCM c, char *slot, SCM slot_class,
SCM (*getter) (SCM obj),
SCM (*setter) (SCM obj, SCM x),
@@ -255,6 +266,7 @@ SCM_API SCM scm_pure_generic_p (SCM obj);
#endif
SCM_API SCM scm_sys_compute_slots (SCM c);
+SCM_INTERNAL void scm_i_inherit_applicable (SCM c);
SCM_INTERNAL SCM scm_i_get_keyword (SCM key, SCM l, long len,
SCM default_value, const char *subr);
SCM_API SCM scm_get_keyword (SCM key, SCM l, SCM default_value);
@@ -298,6 +310,18 @@ SCM_API SCM stklos_version (void);
SCM_API SCM scm_make (SCM args);
SCM_API SCM scm_find_method (SCM args);
SCM_API SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs);
+SCM_API void scm_change_object_class (SCM, SCM, SCM);
+SCM_API SCM scm_memoize_method (SCM x, SCM args);
+SCM_API SCM scm_mcache_lookup_cmethod (SCM cache, SCM args);
+SCM_API SCM scm_mcache_compute_cmethod (SCM cache, SCM args);
+/* The following are declared in __scm.h
+SCM_API SCM scm_call_generic_0 (SCM gf);
+SCM_API SCM scm_call_generic_1 (SCM gf, SCM a1);
+SCM_API SCM scm_call_generic_2 (SCM gf, SCM a1, SCM a2);
+SCM_API SCM scm_apply_generic (SCM gf, SCM args);
+*/
+SCM_API SCM scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3);
+
SCM_INTERNAL SCM scm_init_goops_builtins (void);
SCM_INTERNAL void scm_init_goops (void);
diff --git a/libguile/init.c b/libguile/init.c
index 68156ef..82c73f7 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -82,7 +82,6 @@
#include "libguile/modules.h"
#include "libguile/net_db.h"
#include "libguile/numbers.h"
-#include "libguile/objects.h"
#include "libguile/objprop.h"
#include "libguile/options.h"
#include "libguile/pairs.h"
@@ -536,7 +535,6 @@ scm_i_init_guile (SCM_STACKITEM *base)
scm_init_symbols ();
scm_init_values (); /* Requires struct */
scm_init_load (); /* Requires strings */
- scm_init_objects (); /* Requires struct */
scm_init_print (); /* Requires strings, struct */
scm_init_read ();
scm_init_stime ();
diff --git a/libguile/objects.c b/libguile/objects.c
deleted file mode 100644
index f686c3a..0000000
--- a/libguile/objects.c
+++ /dev/null
@@ -1,371 +0,0 @@
-/* Copyright (C) 1995,1996,1999,2000,2001, 2003, 2004, 2006, 2008 Free
Software Foundation, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 3 of
- * the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-
-
-
-/* This file and objects.h contains those minimal pieces of the Guile
- * Object Oriented Programming System which need to be included in
- * libguile. See the comments in objects.h.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "libguile/_scm.h"
-
-#include "libguile/struct.h"
-#include "libguile/procprop.h"
-#include "libguile/chars.h"
-#include "libguile/keywords.h"
-#include "libguile/smob.h"
-#include "libguile/eval.h"
-#include "libguile/alist.h"
-#include "libguile/ports.h"
-#include "libguile/strings.h"
-#include "libguile/vectors.h"
-#include "libguile/programs.h"
-#include "libguile/vm.h"
-
-#include "libguile/validate.h"
-#include "libguile/objects.h"
-#include "libguile/goops.h"
-
-
-
-SCM scm_metaclass_standard;
-SCM scm_metaclass_operator;
-
-/* The cache argument for scm_mcache_lookup_cmethod has one of two possible
- * formats:
- *
- * Format #1:
- * (SCM_IM_DISPATCH ARGS N-SPECIALIZED
- * #((TYPE1 ... ENV FORMALS FORM ...) ...)
- * GF)
- *
- * Format #2:
- * (SCM_IM_HASH_DISPATCH ARGS N-SPECIALIZED HASHSET MASK
- * #((TYPE1 ... ENV FORMALS FORM ...) ...)
- * GF)
- *
- * ARGS is either a list of expressions, in which case they
- * are interpreted as the arguments of an application, or
- * a non-pair, which is interpreted as a single expression
- * yielding all arguments.
- *
- * SCM_IM_DISPATCH expressions in generic functions always
- * have ARGS = the symbol `args' or the iloc address@hidden
- *
- * Need FORMALS in order to support varying arity. This
- * also avoids the need for renaming of bindings.
- *
- * We should probably not complicate this mechanism by
- * introducing "optimizations" for getters and setters or
- * primitive methods. Getters and setter will normally be
- * compiled into @slot-[ref|set!] or a procedure call.
- * They rely on the dispatch performed before executing
- * the code which contains them.
- *
- * We might want to use a more efficient representation of
- * this form in the future, perhaps after we have introduced
- * low-level support for syntax-case macros.
- */
-
-SCM
-scm_mcache_lookup_cmethod (SCM cache, SCM args)
-{
- unsigned long i, mask, n, end;
- SCM ls, methods, z = SCM_CDDR (cache);
- n = scm_to_ulong (SCM_CAR (z)); /* maximum number of specializers */
- methods = SCM_CADR (z);
-
- if (scm_is_simple_vector (methods))
- {
- /* cache format #1: prepare for linear search */
- mask = -1;
- i = 0;
- end = SCM_SIMPLE_VECTOR_LENGTH (methods);
- }
- else
- {
- /* cache format #2: compute a hash value */
- unsigned long hashset = scm_to_ulong (methods);
- long j = n;
- z = SCM_CDDR (z);
- mask = scm_to_ulong (SCM_CAR (z));
- methods = SCM_CADR (z);
- i = 0;
- ls = args;
- if (!scm_is_null (ls))
- do
- {
- i += SCM_STRUCT_DATA (scm_class_of (SCM_CAR (ls)))
- [scm_si_hashsets + hashset];
- ls = SCM_CDR (ls);
- }
- while (j-- && !scm_is_null (ls));
- i &= mask;
- end = i;
- }
-
- /* Search for match */
- do
- {
- long j = n;
- z = SCM_SIMPLE_VECTOR_REF (methods, i);
- ls = args; /* list of arguments */
- if (!scm_is_null (ls))
- do
- {
- /* More arguments than specifiers => CLASS != ENV */
- if (! scm_is_eq (scm_class_of (SCM_CAR (ls)), SCM_CAR (z)))
- goto next_method;
- ls = SCM_CDR (ls);
- z = SCM_CDR (z);
- }
- while (j-- && !scm_is_null (ls));
- /* Fewer arguments than specifiers => CAR != CLASS or `no-method' */
- if (!scm_is_pair (z)
- || (!SCM_CLASSP (SCM_CAR (z)) && !scm_is_symbol (SCM_CAR (z))))
- return z;
- next_method:
- i = (i + 1) & mask;
- } while (i != end);
- return SCM_BOOL_F;
-}
-
-SCM
-scm_mcache_compute_cmethod (SCM cache, SCM args)
-{
- SCM cmethod = scm_mcache_lookup_cmethod (cache, args);
- if (scm_is_false (cmethod))
- /* No match - memoize */
- return scm_memoize_method (cache, args);
- return cmethod;
-}
-
-SCM
-scm_apply_generic (SCM gf, SCM args)
-{
- SCM cmethod = scm_mcache_compute_cmethod (SCM_ENTITY_PROCEDURE (gf), args);
- if (SCM_PROGRAM_P (cmethod))
- return scm_vm_apply (scm_the_vm (), cmethod, args);
- else if (scm_is_pair (cmethod))
- return scm_eval_body (SCM_CDR (SCM_CMETHOD_CODE (cmethod)),
- SCM_EXTEND_ENV (SCM_CAR (SCM_CMETHOD_CODE (cmethod)),
- args,
- SCM_CMETHOD_ENV (cmethod)));
- else
- return scm_apply (cmethod, args, SCM_EOL);
-}
-
-SCM
-scm_call_generic_0 (SCM gf)
-{
- return scm_apply_generic (gf, SCM_EOL);
-}
-
-SCM
-scm_call_generic_1 (SCM gf, SCM a1)
-{
- return scm_apply_generic (gf, scm_list_1 (a1));
-}
-
-SCM
-scm_call_generic_2 (SCM gf, SCM a1, SCM a2)
-{
- return scm_apply_generic (gf, scm_list_2 (a1, a2));
-}
-
-SCM
-scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3)
-{
- return scm_apply_generic (gf, scm_list_3 (a1, a2, a3));
-}
-
-SCM_DEFINE (scm_entity_p, "entity?", 1, 0, 0,
- (SCM obj),
- "Return @code{#t} if @var{obj} is an entity.")
-#define FUNC_NAME s_scm_entity_p
-{
- return scm_from_bool(SCM_STRUCTP (obj) && SCM_I_ENTITYP (obj));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_operator_p, "operator?", 1, 0, 0,
- (SCM obj),
- "Return @code{#t} if @var{obj} is an operator.")
-#define FUNC_NAME s_scm_operator_p
-{
- return scm_from_bool(SCM_STRUCTP (obj)
- && SCM_I_OPERATORP (obj)
- && !SCM_I_ENTITYP (obj));
-}
-#undef FUNC_NAME
-
-/* XXX - What code requires the object procedure to be only of certain
- types? */
-
-SCM_DEFINE (scm_valid_object_procedure_p, "valid-object-procedure?", 1, 0, 0,
- (SCM proc),
- "Return @code{#t} iff @var{proc} is a procedure that can be used "
- "with @code{set-object-procedure}. It is always valid to use "
- "a closure constructed by @code{lambda}.")
-#define FUNC_NAME s_scm_valid_object_procedure_p
-{
- if (SCM_IMP (proc))
- return SCM_BOOL_F;
- switch (SCM_TYP7 (proc))
- {
- default:
- return SCM_BOOL_F;
- case scm_tcs_closures:
- case scm_tc7_subr_1:
- case scm_tc7_subr_2:
- case scm_tc7_subr_3:
- case scm_tc7_lsubr_2:
- return SCM_BOOL_T;
- }
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_set_object_procedure_x, "set-object-procedure!", 2, 0, 0,
- (SCM obj, SCM proc),
- "Set the object procedure of @var{obj} to @var{proc}.\n"
- "@var{obj} must be either an entity or an operator.")
-#define FUNC_NAME s_scm_set_object_procedure_x
-{
- SCM_ASSERT (SCM_STRUCTP (obj)
- && ((SCM_CLASS_FLAGS (obj) & SCM_CLASSF_OPERATOR)
- || (SCM_I_ENTITYP (obj)
- && !(SCM_OBJ_CLASS_FLAGS (obj)
- & SCM_CLASSF_PURE_GENERIC))),
- obj,
- SCM_ARG1,
- FUNC_NAME);
- SCM_ASSERT (scm_valid_object_procedure_p (proc), proc, SCM_ARG2, FUNC_NAME);
- if (SCM_I_ENTITYP (obj))
- SCM_SET_ENTITY_PROCEDURE (obj, proc);
- else
- SCM_OPERATOR_CLASS (obj)->procedure = proc;
- return SCM_UNSPECIFIED;
-}
-#undef FUNC_NAME
-
-#ifdef GUILE_DEBUG
-SCM_DEFINE (scm_object_procedure, "object-procedure", 1, 0, 0,
- (SCM obj),
- "Return the object procedure of @var{obj}. @var{obj} must be\n"
- "an entity or an operator.")
-#define FUNC_NAME s_scm_object_procedure
-{
- SCM_ASSERT (SCM_STRUCTP (obj)
- && ((SCM_CLASS_FLAGS (obj) & SCM_CLASSF_OPERATOR)
- || SCM_I_ENTITYP (obj)),
- obj, SCM_ARG1, FUNC_NAME);
- return (SCM_I_ENTITYP (obj)
- ? SCM_ENTITY_PROCEDURE (obj)
- : SCM_OPERATOR_CLASS (obj)->procedure);
-}
-#undef FUNC_NAME
-#endif /* GUILE_DEBUG */
-
-/* The following procedures are not a part of Goops but a minimal
- * object system built upon structs. They are here for those who
- * want to implement their own object system.
- */
-
-SCM
-scm_i_make_class_object (SCM meta,
- SCM layout_string,
- unsigned long flags)
-{
- SCM c;
- SCM layout = scm_make_struct_layout (layout_string);
- c = scm_make_struct (meta,
- SCM_INUM0,
- scm_list_4 (layout, SCM_BOOL_F, SCM_EOL, SCM_EOL));
- SCM_SET_CLASS_FLAGS (c, flags);
- return c;
-}
-
-SCM_DEFINE (scm_make_class_object, "make-class-object", 2, 0, 0,
- (SCM metaclass, SCM layout),
- "Create a new class object of class @var{metaclass}, with the\n"
- "slot layout specified by @var{layout}.")
-#define FUNC_NAME s_scm_make_class_object
-{
- unsigned long flags = 0;
- SCM_VALIDATE_STRUCT (1, metaclass);
- SCM_VALIDATE_STRING (2, layout);
- if (scm_is_eq (metaclass, scm_metaclass_operator))
- flags = SCM_CLASSF_OPERATOR;
- return scm_i_make_class_object (metaclass, layout, flags);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_make_subclass_object, "make-subclass-object", 2, 0, 0,
- (SCM class, SCM layout),
- "Create a subclass object of @var{class}, with the slot layout\n"
- "specified by @var{layout}.")
-#define FUNC_NAME s_scm_make_subclass_object
-{
- SCM pl;
- SCM_VALIDATE_STRUCT (1, class);
- SCM_VALIDATE_STRING (2, layout);
- pl = SCM_PACK (SCM_STRUCT_DATA (class) [scm_vtable_index_layout]);
- pl = scm_symbol_to_string (pl);
- return scm_i_make_class_object (SCM_STRUCT_VTABLE (class),
- scm_string_append (scm_list_2 (pl, layout)),
- SCM_CLASS_FLAGS (class));
-}
-#undef FUNC_NAME
-
-void
-scm_init_objects ()
-{
- SCM ms = scm_from_locale_string (SCM_METACLASS_STANDARD_LAYOUT);
- SCM mt = scm_make_vtable_vtable (ms, SCM_INUM0,
- scm_list_3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
-
- SCM os = scm_from_locale_string (SCM_METACLASS_OPERATOR_LAYOUT);
- SCM ot = scm_make_vtable_vtable (os, SCM_INUM0,
- scm_list_3 (SCM_BOOL_F, SCM_EOL, SCM_EOL));
-
- SCM es = scm_from_locale_string (SCM_ENTITY_LAYOUT);
- SCM el = scm_make_struct_layout (es);
- SCM et = scm_make_struct (mt, SCM_INUM0,
- scm_list_4 (el, SCM_BOOL_F, SCM_EOL, SCM_EOL));
-
- scm_c_define ("<class>", mt);
- scm_metaclass_standard = mt;
- scm_c_define ("<operator-class>", ot);
- scm_metaclass_operator = ot;
- SCM_SET_CLASS_FLAGS (et, SCM_CLASSF_OPERATOR | SCM_CLASSF_ENTITY);
- scm_c_define ("<entity>", et);
-
-#include "libguile/objects.x"
-}
-
-/*
- Local Variables:
- c-file-style: "gnu"
- End:
-*/
diff --git a/libguile/objects.h b/libguile/objects.h
deleted file mode 100644
index 914a7ea..0000000
--- a/libguile/objects.h
+++ /dev/null
@@ -1,219 +0,0 @@
-/* classes: h_files */
-
-#ifndef SCM_OBJECTS_H
-#define SCM_OBJECTS_H
-
-/* Copyright (C) 1996,1999,2000,2001, 2003, 2006, 2008, 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 License
- * as published by the Free Software Foundation; either version 3 of
- * the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-
-
-/* This file and objects.c contains those minimal pieces of the Guile
- * Object Oriented Programming System which need to be included in
- * libguile.
- *
- * {Objects and structs}
- *
- * Objects are currently based upon structs. Although the struct
- * implementation will change thoroughly in the future, objects will
- * still be based upon structs.
- */
-
-#include "libguile/__scm.h"
-#include "libguile/struct.h"
-
-
-
-/* {Class flags}
- *
- * These are used for efficient identification of instances of a
- * certain class or its subclasses when traversal of the inheritance
- * graph would be too costly.
- */
-#define SCM_CLASS_FLAGS(class) (SCM_STRUCT_DATA (class) [scm_struct_i_flags])
-#define SCM_OBJ_CLASS_FLAGS(obj) (SCM_STRUCT_VTABLE_DATA (obj)
[scm_struct_i_flags])
-#define SCM_SET_CLASS_FLAGS(c, f) (SCM_CLASS_FLAGS (c) |= (f))
-#define SCM_CLEAR_CLASS_FLAGS(c, f) (SCM_CLASS_FLAGS (c) &= ~(f))
-#define SCM_CLASSF_MASK SCM_STRUCTF_MASK
-
-#define SCM_CLASSF_ENTITY SCM_STRUCTF_ENTITY
-/* Operator classes need to be identified in the evaluator.
- (Entities also have SCM_CLASSF_OPERATOR set in their vtable.) */
-#define SCM_CLASSF_OPERATOR (1L << 29)
-
-#define SCM_I_OPERATORP(obj)\
- ((SCM_OBJ_CLASS_FLAGS (obj) & SCM_CLASSF_OPERATOR) != 0)
-#define SCM_OPERATOR_CLASS(obj)\
-((struct scm_metaclass_operator *) SCM_STRUCT_DATA (obj))
-#define SCM_OBJ_OPERATOR_CLASS(obj)\
-((struct scm_metaclass_operator *) SCM_STRUCT_VTABLE_DATA (obj))
-#define SCM_OPERATOR_PROCEDURE(obj) (SCM_OBJ_OPERATOR_CLASS (obj)->procedure)
-#define SCM_OPERATOR_SETTER(obj) (SCM_OBJ_OPERATOR_CLASS (obj)->setter)
-
-#define SCM_I_ENTITYP(obj)\
- ((SCM_OBJ_CLASS_FLAGS (obj) & SCM_CLASSF_ENTITY) != 0)
-#define SCM_ENTITY_PROCEDURE(obj) \
- (SCM_PACK (SCM_STRUCT_DATA (obj) [scm_struct_i_procedure]))
-#define SCM_SET_ENTITY_PROCEDURE(obj, v) \
- (SCM_STRUCT_DATA (obj) [scm_struct_i_procedure] = SCM_UNPACK (v))
-#define SCM_ENTITY_SETTER(obj) (SCM_PACK (SCM_STRUCT_DATA
(obj)[scm_struct_i_setter]))
-#define SCM_SET_ENTITY_SETTER(obj, v) \
- (SCM_STRUCT_DATA (obj) [scm_struct_i_setter] = SCM_UNPACK (v))
-
-#define SCM_SET_CLASS_DESTRUCTOR(c, d) SCM_SET_VTABLE_DESTRUCTOR (c, d)
-#define SCM_SET_CLASS_INSTANCE_SIZE(c, s) \
- (SCM_STRUCT_DATA (c)[scm_struct_i_size] \
- = (SCM_STRUCT_DATA (c) [scm_struct_i_size] & SCM_STRUCTF_MASK) | s)
-
-/* {Operator classes}
- *
- * Instances of operator classes can work as operators, i. e., they
- * can be applied to arguments just as if they were ordinary
- * procedures.
- *
- * For instances of operator classes, the procedures to be applied are
- * stored in four dedicated slots in the associated class object.
- * Which one is selected depends on the number of arguments in the
- * application.
- *
- * If zero arguments are passed, the first will be selected.
- * If one argument is passed, the second will be selected.
- * If two arguments are passed, the third will be selected.
- * If three or more arguments are passed, the fourth will be selected.
- *
- * This is complicated and may seem gratuitous but has to do with the
- * architecture of the evaluator. Using only one procedure would
- * result in a great deal less efficient application, loss of
- * tail-recursion and would be difficult to reconcile with the
- * debugging evaluator.
- *
- * Also, using this "forked" application in low-level code has the
- * advantage of speeding up some code. An example is method dispatch
- * for generic operators applied to few arguments. On the user level,
- * the "forked" application will be hidden by mechanisms in the GOOPS
- * package.
- *
- * Operator classes have the metaclass <operator-metaclass>.
- *
- * An example of an operator class is the class <tk-command>.
- */
-#define SCM_METACLASS_STANDARD_LAYOUT ""
-struct scm_metaclass_standard {
- SCM layout;
- SCM vcell;
- SCM vtable;
- SCM print;
-};
-
-#define SCM_METACLASS_OPERATOR_LAYOUT "popo"
-struct scm_metaclass_operator {
- SCM layout;
- SCM vcell;
- SCM vtable;
- SCM print;
- SCM procedure;
- SCM setter;
-};
-
-/* {Entity classes}
- *
- * For instances of entity classes (entities), the procedures to be
- * applied are stored in the instance itself rather than in the class
- * object as is the case for instances of operator classes (see above).
- *
- * An example of an entity class is the class of generic methods.
- */
-#define SCM_ENTITY_LAYOUT ""
-
-/* {Interface to Goops}
- *
- * The evaluator contains a multi-method dispatch mechanism.
- * This interface is used by that mechanism and during creation of
- * smob and struct classes.
- */
-
-/* Internal representation of Goops objects. */
-#define SCM_CLASSF_PURE_GENERIC (0x010 << 20)
-#define SCM_CLASSF_GOOPS_VALID (0x080 << 20)
-#define SCM_CLASSF_GOOPS (0x100 << 20)
-#define scm_si_redefined 5
-#define scm_si_hashsets 6
-#define SCM_CLASS_OF(x) SCM_STRUCT_VTABLE (x)
-#define SCM_OBJ_CLASS_REDEF(x) (SCM_PACK (SCM_STRUCT_VTABLE_DATA (x)
[scm_si_redefined]))
-
-typedef struct scm_effective_slot_definition {
- SCM name;
- long location;
- SCM init_value;
- SCM (*get) (SCM obj, SCM slotdef);
- SCM (*set) (SCM obj, SCM slotdef, SCM value);
-} scm_effective_slot_definition;
-
-#define SCM_ESLOTDEF(x) ((scm_effective_slot_definition *) SCM_CDR (x))
-
-#define SCM_CMETHOD_CODE(cmethod) SCM_CDR (cmethod)
-#define SCM_CMETHOD_FORMALS(cmethod) SCM_CAR (SCM_CMETHOD_CODE (cmethod))
-#define SCM_CMETHOD_BODY(cmethod) SCM_CDR (SCM_CMETHOD_CODE (cmethod))
-#define SCM_CMETHOD_ENV(cmethod) SCM_CAR (cmethod)
-
-/* Port classes */
-#define SCM_IN_PCLASS_INDEX 0
-#define SCM_OUT_PCLASS_INDEX SCM_I_MAX_PORT_TYPE_COUNT
-#define SCM_INOUT_PCLASS_INDEX (2 * SCM_I_MAX_PORT_TYPE_COUNT)
-
-/* Plugin proxy classes for basic types. */
-SCM_API SCM scm_metaclass_standard;
-SCM_API SCM scm_metaclass_operator;
-
-/* Goops functions. */
-SCM_API SCM scm_make_extended_class (char const *type_name, int applicablep);
-SCM_INTERNAL void scm_i_inherit_applicable (SCM c);
-SCM_API void scm_make_port_classes (long ptobnum, char *type_name);
-SCM_API void scm_change_object_class (SCM, SCM, SCM);
-SCM_API SCM scm_memoize_method (SCM x, SCM args);
-
-SCM_API SCM scm_mcache_lookup_cmethod (SCM cache, SCM args);
-SCM_API SCM scm_mcache_compute_cmethod (SCM cache, SCM args);
-/* The following are declared in __scm.h
-SCM_API SCM scm_call_generic_0 (SCM gf);
-SCM_API SCM scm_call_generic_1 (SCM gf, SCM a1);
-SCM_API SCM scm_call_generic_2 (SCM gf, SCM a1, SCM a2);
-SCM_API SCM scm_apply_generic (SCM gf, SCM args);
-*/
-SCM_API SCM scm_call_generic_3 (SCM gf, SCM a1, SCM a2, SCM a3);
-SCM_API SCM scm_entity_p (SCM obj);
-SCM_API SCM scm_operator_p (SCM obj);
-SCM_API SCM scm_valid_object_procedure_p (SCM proc);
-SCM_API SCM scm_set_object_procedure_x (SCM obj, SCM proc);
-#ifdef GUILE_DEBUG
-SCM_API SCM scm_object_procedure (SCM obj);
-#endif
-SCM_API SCM scm_make_class_object (SCM metaclass, SCM layout);
-SCM_API SCM scm_make_subclass_object (SCM c, SCM layout);
-
-SCM_INTERNAL SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
- unsigned long flags);
-SCM_INTERNAL void scm_init_objects (void);
-
-#endif /* SCM_OBJECTS_H */
-
-/*
- Local Variables:
- c-file-style: "gnu"
- End:
-*/
diff --git a/libguile/ports.c b/libguile/ports.c
index 8127e98..e71ee0a 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -40,7 +40,6 @@
#include "libguile/async.h"
#include "libguile/eval.h"
#include "libguile/fports.h" /* direct access for seek and truncate */
-#include "libguile/objects.h"
#include "libguile/goops.h"
#include "libguile/smob.h"
#include "libguile/chars.h"
diff --git a/libguile/print.c b/libguile/print.c
index b07e206..fd984d3 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -38,7 +38,6 @@
#include "libguile/programs.h"
#include "libguile/alist.h"
#include "libguile/struct.h"
-#include "libguile/objects.h"
#include "libguile/ports.h"
#include "libguile/root.h"
#include "libguile/strings.h"
diff --git a/libguile/procprop.c b/libguile/procprop.c
index dcbfba7..2b67bb1 100644
--- a/libguile/procprop.c
+++ b/libguile/procprop.c
@@ -28,7 +28,6 @@
#include "libguile/eval.h"
#include "libguile/procs.h"
#include "libguile/gsubr.h"
-#include "libguile/objects.h"
#include "libguile/smob.h"
#include "libguile/root.h"
#include "libguile/vectors.h"
@@ -127,13 +126,13 @@ scm_i_procedure_arity (SCM proc)
r = 1;
break;
}
- else if (!SCM_I_OPERATORP (proc))
- return SCM_BOOL_F;
- proc = (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_PROCEDURE (proc)
- : SCM_OPERATOR_PROCEDURE (proc));
+ /* FIXME applicable structs */
+ return SCM_BOOL_F;
+#if 0
+ proc = SCM_ENTITY_PROCEDURE (proc);
a -= 1;
goto loop;
+#endif
default:
return SCM_BOOL_F;
}
diff --git a/libguile/procs.c b/libguile/procs.c
index 5de2f33..df62514 100644
--- a/libguile/procs.c
+++ b/libguile/procs.c
@@ -24,7 +24,6 @@
#include "libguile/_scm.h"
-#include "libguile/objects.h"
#include "libguile/strings.h"
#include "libguile/vectors.h"
#include "libguile/smob.h"
@@ -98,7 +97,7 @@ SCM_DEFINE (scm_procedure_p, "procedure?", 1, 0, 0,
switch (SCM_TYP7 (obj))
{
case scm_tcs_struct:
- if (!SCM_I_OPERATORP (obj))
+ if (!(SCM_OBJ_CLASS_FLAGS (obj) & SCM_CLASSF_PURE_GENERIC))
break;
case scm_tcs_closures:
case scm_tcs_subrs:
@@ -262,7 +261,8 @@ SCM_DEFINE (scm_procedure, "procedure", 1, 0, 0,
return SCM_PROCEDURE (proc);
else if (SCM_STRUCTP (proc))
{
- SCM_ASSERT (SCM_I_OPERATORP (proc), proc, SCM_ARG1, FUNC_NAME);
+ SCM_ASSERT (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC,
+ proc, SCM_ARG1, FUNC_NAME);
return proc;
}
SCM_WRONG_TYPE_ARG (1, proc);
@@ -281,11 +281,9 @@ scm_setter (SCM proc)
else if (SCM_STRUCTP (proc))
{
SCM setter;
- SCM_GASSERT1 (SCM_I_OPERATORP (proc),
+ SCM_GASSERT1 (SCM_OBJ_CLASS_FLAGS (proc) & SCM_CLASSF_PURE_GENERIC,
g_setter, proc, SCM_ARG1, s_setter);
- setter = (SCM_I_ENTITYP (proc)
- ? SCM_ENTITY_SETTER (proc)
- : SCM_OPERATOR_SETTER (proc));
+ setter = SCM_GENERIC_SETTER (proc);
if (SCM_NIMP (setter))
return setter;
/* fall through */
diff --git a/libguile/smob.c b/libguile/smob.c
index 42a51fd..31f6dd0 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -28,7 +28,6 @@
#include "libguile/_scm.h"
#include "libguile/async.h"
-#include "libguile/objects.h"
#include "libguile/goops.h"
#include "libguile/ports.h"
diff --git a/libguile/struct.c b/libguile/struct.c
index 9dd900e..33be8ad 100644
--- a/libguile/struct.c
+++ b/libguile/struct.c
@@ -420,7 +420,7 @@ SCM_DEFINE (scm_make_struct, "make-struct", 2, 0, 1,
need for a lock on the section below, as it does not access or update
any globals, so the critical section has been removed. */
- if (c_vtable[scm_struct_i_flags] & SCM_STRUCTF_ENTITY)
+ if (c_vtable[scm_struct_i_flags] & SCM_STRUCTF_GOOPS_HACK)
{
data = scm_alloc_struct (basic_size + tail_elts,
scm_struct_entity_n_extra_words,
diff --git a/libguile/struct.h b/libguile/struct.h
index a4626f3..8634659 100644
--- a/libguile/struct.h
+++ b/libguile/struct.h
@@ -38,7 +38,6 @@
#define scm_struct_i_free -4 /* Destructor */
#define scm_struct_i_ptr -3 /* Start of block (see alloc_struct) */
#define scm_struct_i_n_words -2 /* How many words allocated to this struct?
*/
-#define scm_struct_i_size -1 /* Instance size */
#define scm_struct_i_flags -1 /* Upper 12 bits used as flags */
/* These indices must correspond to required_vtable_fields in
@@ -51,7 +50,7 @@
typedef void (*scm_t_struct_free) (scm_t_bits * vtable, scm_t_bits * data);
#define SCM_STRUCTF_MASK (0xFFF << 20)
-#define SCM_STRUCTF_ENTITY (1L << 30) /* Indicates presence of proc slots */
+#define SCM_STRUCTF_GOOPS_HACK (0x010 << 20) /* FIXME -- PURE_GENERIC */
#define SCM_STRUCTF_LIGHT (1L << 31) /* Light representation
(no hidden words) */
@@ -78,9 +77,6 @@ typedef void (*scm_t_struct_free) (scm_t_bits * vtable,
scm_t_bits * data);
#define SCM_SET_STRUCT_TABLE_CLASS(X, CLASS) SCM_SETCDR (X, CLASS)
SCM_API SCM scm_struct_table;
-#define SCM_STRUCT_GC_CHAIN(X) SCM_CELL_OBJECT_3 (X)
-#define SCM_SET_STRUCT_GC_CHAIN(X, Y) SCM_SET_CELL_OBJECT_3 (X, Y)
-
SCM_API scm_t_bits * scm_alloc_struct (int n_words, int n_extra,
diff --git a/libguile/validate.h b/libguile/validate.h
index 8c79469..ec32aa6 100644
--- a/libguile/validate.h
+++ b/libguile/validate.h
@@ -377,8 +377,7 @@
#define SCM_VALIDATE_VTABLE(pos, v) \
do { \
- SCM_ASSERT (!SCM_IMP (v) && scm_is_true (scm_struct_vtable_p (v)), \
- v, pos, FUNC_NAME); \
+ SCM_ASSERT (scm_is_true (scm_struct_vtable_p (v)), v, pos, FUNC_NAME); \
} while (0)
#define SCM_VALIDATE_VECTOR_LEN(pos, v, len) \
diff --git a/libguile/values.c b/libguile/values.c
index 81fdcf8..71cdbe2 100644
--- a/libguile/values.c
+++ b/libguile/values.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2006, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2006, 2008, 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 License
@@ -80,12 +80,7 @@ scm_init_values (void)
SCM print = scm_c_define_subr ("%print-values", scm_tc7_subr_2,
print_values);
- scm_values_vtable
- = scm_permanent_object (
- scm_make_vtable_vtable (scm_from_locale_string ("pr"),
- SCM_INUM0, SCM_EOL));
-
- SCM_SET_STRUCT_PRINTER (scm_values_vtable, print);
+ scm_values_vtable = scm_make_vtable (scm_from_locale_string ("pr"), print);
scm_add_feature ("values");
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/libguile/vm-i-system.c b/libguile/vm-i-system.c
index f58ffce..8383a12 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -749,6 +749,17 @@ VM_DEFINE_INSTRUCTION (53, call, "call", 1, -1, 1)
APPLY_HOOK ();
NEXT;
}
+ if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC)
+ {
+ SCM args = SCM_EOL;
+ int n = nargs;
+ SCM* walk = sp;
+ SYNC_REGISTER ();
+ while (n--)
+ args = scm_cons (*walk--, args);
+ *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
+ goto vm_call;
+ }
/*
* Other interpreted or compiled call
*/
@@ -822,6 +833,17 @@ VM_DEFINE_INSTRUCTION (54, goto_args, "goto/args", 1, -1,
1)
APPLY_HOOK ();
NEXT;
}
+ if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC)
+ {
+ SCM args = SCM_EOL;
+ int n = nargs;
+ SCM* walk = sp;
+ SYNC_REGISTER ();
+ while (n--)
+ args = scm_cons (*walk--, args);
+ *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
+ goto vm_goto_args;
+ }
/*
* Other interpreted or compiled call
@@ -883,6 +905,7 @@ VM_DEFINE_INSTRUCTION (57, mv_call, "mv-call", 4, -1, 1)
FETCH_OFFSET (offset);
mvra = ip + offset;
+ vm_mv_call:
x = sp[-nargs];
/*
@@ -902,6 +925,17 @@ VM_DEFINE_INSTRUCTION (57, mv_call, "mv-call", 4, -1, 1)
APPLY_HOOK ();
NEXT;
}
+ if (SCM_STRUCTP (x) && SCM_OBJ_CLASS_FLAGS (x) & SCM_CLASSF_PURE_GENERIC)
+ {
+ SCM args = SCM_EOL;
+ int n = nargs;
+ SCM* walk = sp;
+ SYNC_REGISTER ();
+ while (n--)
+ args = scm_cons (*walk--, args);
+ *walk = scm_mcache_compute_cmethod (SCM_GENERIC_METHOD_CACHE (x), args);
+ goto vm_mv_call;
+ }
/*
* Other interpreted or compiled call
*/
diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm
index 195bd1e..22dfa9f 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))))))))))
@@ -166,7 +164,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 ...)
@@ -188,7 +185,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 ...)
@@ -285,7 +281,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)
@@ -325,12 +321,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)))
@@ -351,13 +347,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 a606187..ec655ac 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -123,383 +123,340 @@
#{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}#)
+ (letrec ((#{expand-body\ 331}#
+ (lambda (#{req\ 332}#
+ #{opt\ 333}#
+ #{rest\ 334}#
+ #{kw\ 335}#
+ #{body\ 336}#
+ #{vars\ 337}#
+ #{r*\ 338}#
+ #{w*\ 339}#
+ #{inits\ 340}#)
+ ((lambda (#{tmp\ 341}#)
+ ((lambda (#{tmp\ 342}#)
+ (if (if #{tmp\ 342}#
+ (apply (lambda (#{docstring\ 343}#
+ #{e1\ 344}#
+ #{e2\ 345}#)
(string?
(syntax->datum
- #{docstring\ 345}#)))
- #{tmp\ 344}#)
+ #{docstring\ 343}#)))
+ #{tmp\ 342}#)
#f)
- (apply (lambda (#{docstring\ 348}#
- #{e1\ 349}#
- #{e2\ 350}#)
+ (apply (lambda (#{docstring\ 346}#
+ #{e1\ 347}#
+ #{e2\ 348}#)
(values
(syntax->datum
- #{docstring\ 348}#)
- #{req\ 333}#
- #{opt\ 334}#
- #{rest\ 335}#
- #{kw\ 336}#
- #{inits\ 342}#
- #{vars\ 339}#
- #{pred\ 337}#
+ #{docstring\ 346}#)
+ #{req\ 332}#
+ #{opt\ 333}#
+ #{rest\ 334}#
+ #{kw\ 335}#
+ #{inits\ 340}#
+ #{vars\ 337}#
(#{chi-body\ 171}#
- (cons #{e1\ 349}# #{e2\ 350}#)
+ (cons #{e1\ 347}# #{e2\ 348}#)
(#{source-wrap\ 160}#
#{e\ 321}#
#{w\ 323}#
#{s\ 324}#
#{mod\ 325}#)
- #{r*\ 340}#
- #{w*\ 341}#
+ #{r*\ 338}#
+ #{w*\ 339}#
#{mod\ 325}#)))
- #{tmp\ 344}#)
- ((lambda (#{tmp\ 352}#)
- (if #{tmp\ 352}#
- (apply (lambda (#{e1\ 353}#
- #{e2\ 354}#)
+ #{tmp\ 342}#)
+ ((lambda (#{tmp\ 350}#)
+ (if #{tmp\ 350}#
+ (apply (lambda (#{e1\ 351}#
+ #{e2\ 352}#)
(values
#f
- #{req\ 333}#
- #{opt\ 334}#
- #{rest\ 335}#
- #{kw\ 336}#
- #{inits\ 342}#
- #{vars\ 339}#
- #{pred\ 337}#
+ #{req\ 332}#
+ #{opt\ 333}#
+ #{rest\ 334}#
+ #{kw\ 335}#
+ #{inits\ 340}#
+ #{vars\ 337}#
(#{chi-body\ 171}#
- (cons #{e1\ 353}#
- #{e2\ 354}#)
+ (cons #{e1\ 351}#
+ #{e2\ 352}#)
(#{source-wrap\ 160}#
#{e\ 321}#
#{w\ 323}#
#{s\ 324}#
#{mod\ 325}#)
- #{r*\ 340}#
- #{w*\ 341}#
+ #{r*\ 338}#
+ #{w*\ 339}#
#{mod\ 325}#)))
- #{tmp\ 352}#)
+ #{tmp\ 350}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 343}#)))
+ #{tmp\ 341}#)))
($sc-dispatch
- #{tmp\ 343}#
+ #{tmp\ 341}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 343}#
+ #{tmp\ 341}#
'(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}#)))
+ #{body\ 336}#)))
(#{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}#
+ (lambda (#{req\ 354}#
+ #{opt\ 355}#
+ #{rest\ 356}#
+ #{kw\ 357}#
+ #{body\ 358}#
+ #{vars\ 359}#
+ #{r*\ 360}#
+ #{w*\ 361}#
+ #{aok\ 362}#
+ #{out\ 363}#
+ #{inits\ 364}#)
+ (if (pair? #{kw\ 357}#)
+ ((lambda (#{tmp\ 365}#)
+ ((lambda (#{tmp\ 366}#)
+ (if #{tmp\ 366}#
+ (apply (lambda (#{k\ 367}#
+ #{id\ 368}#
+ #{i\ 369}#)
+ (let ((#{v\ 370}# (#{gen-var\
181}#
+ #{id\
368}#)))
+ (let ((#{l\ 371}#
(#{gen-labels\ 137}#
+ (list
#{v\ 370}#))))
+ (let ((#{r**\ 372}#
(#{extend-var-env\
126}#
- #{l\ 384}#
- (list #{v\ 383}#)
- #{r*\ 373}#)))
- (let ((#{w**\ 386}#
+ #{l\ 371}#
+ (list #{v\ 370}#)
+ #{r*\ 360}#)))
+ (let ((#{w**\ 373}#
(#{make-binding-wrap\ 148}#
- (list #{id\
381}#)
- #{l\ 384}#
- #{w*\ 374}#)))
+ (list #{id\
368}#)
+ #{l\ 371}#
+ #{w*\ 361}#)))
(#{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}#
+ #{req\ 354}#
+ #{opt\ 355}#
+ #{rest\ 356}#
+ (cdr #{kw\ 357}#)
+ #{body\ 358}#
+ (cons #{v\ 370}#
+ #{vars\ 359}#)
+ #{r**\ 372}#
+ #{w**\ 373}#
+ #{aok\ 362}#
(cons (list
(syntax->datum
- #{k\
380}#)
+ #{k\
367}#)
(syntax->datum
- #{id\
381}#)
- #{v\
383}#)
- #{out\ 376}#)
+ #{id\
368}#)
+ #{v\
370}#)
+ #{out\ 363}#)
(cons (#{chi\ 167}#
- #{i\ 382}#
- #{r*\ 373}#
- #{w*\ 374}#
+ #{i\ 369}#
+ #{r*\ 360}#
+ #{w*\ 361}#
#{mod\ 325}#)
- #{inits\
377}#)))))))
- #{tmp\ 379}#)
+ #{inits\
364}#)))))))
+ #{tmp\ 366}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 378}#)))
+ #{tmp\ 365}#)))
($sc-dispatch
- #{tmp\ 378}#
+ #{tmp\ 365}#
'(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\ 357}#))
+ (#{expand-body\ 331}#
+ #{req\ 354}#
+ #{opt\ 355}#
+ #{rest\ 356}#
+ (if (let ((#{t\ 374}# #{aok\ 362}#))
+ (if #{t\ 374}#
+ #{t\ 374}#
+ (pair? #{out\ 363}#)))
+ (cons #{aok\ 362}# (reverse #{out\ 363}#))
#f)
- #{pred\ 370}#
- #{body\ 371}#
- (reverse #{vars\ 372}#)
- #{r*\ 373}#
- #{w*\ 374}#
- (reverse #{inits\ 377}#)))))
+ #{body\ 358}#
+ (reverse #{vars\ 359}#)
+ #{r*\ 360}#
+ #{w*\ 361}#
+ (reverse #{inits\ 364}#)))))
(#{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}#
+ (lambda (#{req\ 375}#
+ #{opt\ 376}#
+ #{rest\ 377}#
+ #{kw\ 378}#
+ #{body\ 379}#
+ #{vars\ 380}#
+ #{r*\ 381}#
+ #{w*\ 382}#
+ #{out\ 383}#
+ #{inits\ 384}#)
+ (if (pair? #{opt\ 376}#)
+ ((lambda (#{tmp\ 385}#)
+ ((lambda (#{tmp\ 386}#)
+ (if #{tmp\ 386}#
+ (apply (lambda (#{id\ 387}# #{i\ 388}#)
+ (let ((#{v\ 389}# (#{gen-var\
181}#
+ #{id\
387}#)))
+ (let ((#{l\ 390}#
(#{gen-labels\ 137}#
+ (list
#{v\ 389}#))))
+ (let ((#{r**\ 391}#
(#{extend-var-env\
126}#
- #{l\ 404}#
- (list #{v\ 403}#)
- #{r*\ 395}#)))
- (let ((#{w**\ 406}#
+ #{l\ 390}#
+ (list #{v\ 389}#)
+ #{r*\ 381}#)))
+ (let ((#{w**\ 392}#
(#{make-binding-wrap\ 148}#
- (list #{id\
401}#)
- #{l\ 404}#
- #{w*\ 396}#)))
+ (list #{id\
387}#)
+ #{l\ 390}#
+ #{w*\ 382}#)))
(#{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}#
+ #{req\ 375}#
+ (cdr #{opt\ 376}#)
+ #{rest\ 377}#
+ #{kw\ 378}#
+ #{body\ 379}#
+ (cons #{v\ 389}#
+ #{vars\ 380}#)
+ #{r**\ 391}#
+ #{w**\ 392}#
(cons (syntax->datum
- #{id\ 401}#)
- #{out\ 397}#)
+ #{id\ 387}#)
+ #{out\ 383}#)
(cons (#{chi\ 167}#
- #{i\ 402}#
- #{r*\ 395}#
- #{w*\ 396}#
+ #{i\ 388}#
+ #{r*\ 381}#
+ #{w*\ 382}#
#{mod\ 325}#)
- #{inits\
398}#)))))))
- #{tmp\ 400}#)
+ #{inits\
384}#)))))))
+ #{tmp\ 386}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 399}#)))
+ #{tmp\ 385}#)))
($sc-dispatch
- #{tmp\ 399}#
+ #{tmp\ 385}#
'(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}#
+ (car #{opt\ 376}#))
+ (if #{rest\ 377}#
+ (let ((#{v\ 393}# (#{gen-var\ 181}#
+ #{rest\ 377}#)))
+ (let ((#{l\ 394}# (#{gen-labels\ 137}#
+ (list #{v\ 393}#))))
+ (let ((#{r*\ 395}#
(#{extend-var-env\ 126}#
- #{l\ 408}#
- (list #{v\ 407}#)
- #{r*\ 395}#)))
- (let ((#{w*\ 410}#
+ #{l\ 394}#
+ (list #{v\ 393}#)
+ #{r*\ 381}#)))
+ (let ((#{w*\ 396}#
(#{make-binding-wrap\ 148}#
- (list #{rest\ 390}#)
- #{l\ 408}#
- #{w*\ 396}#)))
+ (list #{rest\ 377}#)
+ #{l\ 394}#
+ #{w*\ 382}#)))
(#{expand-kw\ 330}#
- #{req\ 388}#
- (if (pair? #{out\ 397}#)
- (reverse #{out\ 397}#)
+ #{req\ 375}#
+ (if (pair? #{out\ 383}#)
+ (reverse #{out\ 383}#)
#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\ 377}#)
+ (if (pair? #{kw\ 378}#)
+ (cdr #{kw\ 378}#)
+ #{kw\ 378}#)
+ #{body\ 379}#
+ (cons #{v\ 393}# #{vars\ 380}#)
+ #{r*\ 395}#
+ #{w*\ 396}#
+ (if (pair? #{kw\ 378}#)
+ (car #{kw\ 378}#)
#f)
'()
- #{inits\ 398}#)))))
+ #{inits\ 384}#)))))
(#{expand-kw\ 330}#
- #{req\ 388}#
- (if (pair? #{out\ 397}#)
- (reverse #{out\ 397}#)
+ #{req\ 375}#
+ (if (pair? #{out\ 383}#)
+ (reverse #{out\ 383}#)
#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\ 378}#)
+ (cdr #{kw\ 378}#)
+ #{kw\ 378}#)
+ #{body\ 379}#
+ #{vars\ 380}#
+ #{r*\ 381}#
+ #{w*\ 382}#
+ (if (pair? #{kw\ 378}#) (car #{kw\ 378}#) #f)
'()
- #{inits\ 398}#)))))
+ #{inits\ 384}#)))))
(#{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}#
+ (lambda (#{req\ 397}#
+ #{opt\ 398}#
+ #{rest\ 399}#
+ #{kw\ 400}#
+ #{body\ 401}#)
+ (let ((#{vars\ 402}#
+ (map #{gen-var\ 181}# #{req\ 397}#))
+ (#{labels\ 403}#
+ (#{gen-labels\ 137}# #{req\ 397}#)))
+ (let ((#{r*\ 404}#
(#{extend-var-env\ 126}#
- #{labels\ 418}#
- #{vars\ 417}#
+ #{labels\ 403}#
+ #{vars\ 402}#
#{r\ 322}#))
- (#{w*\ 420}#
+ (#{w*\ 405}#
(#{make-binding-wrap\ 148}#
- #{req\ 411}#
- #{labels\ 418}#
+ #{req\ 397}#
+ #{labels\ 403}#
#{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}#
+ (map syntax->datum #{req\ 397}#)
+ #{opt\ 398}#
+ #{rest\ 399}#
+ #{kw\ 400}#
+ #{body\ 401}#
+ (reverse #{vars\ 402}#)
+ #{r*\ 404}#
+ #{w*\ 405}#
'()
'()))))))
- ((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\ 406}#)
+ ((lambda (#{tmp\ 407}#)
+ (if #{tmp\ 407}#
+ (apply (lambda () (values #f #f)) #{tmp\ 407}#)
+ ((lambda (#{tmp\ 408}#)
+ (if #{tmp\ 408}#
+ (apply (lambda (#{args\ 409}#
+ #{e1\ 410}#
+ #{e2\ 411}#
+ #{args*\ 412}#
+ #{e1*\ 413}#
+ #{e2*\ 414}#)
(call-with-values
(lambda ()
(#{get-formals\ 326}#
- #{args\ 424}#))
- (lambda (#{req\ 430}#
- #{opt\ 431}#
- #{rest\ 432}#
- #{kw\ 433}#
- #{pred\ 434}#)
+ #{args\ 409}#))
+ (lambda (#{req\ 415}#
+ #{opt\ 416}#
+ #{rest\ 417}#
+ #{kw\ 418}#)
(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}#)
+ #{req\ 415}#
+ #{opt\ 416}#
+ #{rest\ 417}#
+ #{kw\ 418}#
+ (cons #{e1\ 410}#
+ #{e2\ 411}#)))
+ (lambda (#{docstring\ 420}#
+ #{req\ 421}#
+ #{opt\ 422}#
+ #{rest\ 423}#
+ #{kw\ 424}#
+ #{inits\ 425}#
+ #{vars\ 426}#
+ #{body\ 427}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 179}#
@@ -509,205 +466,131 @@
#{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}#)
+ (map (lambda (#{tmp\ 430}#
+ #{tmp\ 429}#
+ #{tmp\
428}#)
+ (cons #{tmp\ 428}#
+ (cons #{tmp\
429}#
+ #{tmp\
430}#)))
+ #{e2*\ 414}#
+ #{e1*\ 413}#
+ #{args*\ 412}#)))
+ (lambda (#{docstring*\ 432}#
+ #{else*\ 433}#)
(values
- (let ((#{t\ 451}#
#{docstring\ 436}#))
- (if #{t\ 451}#
- #{t\ 451}#
- #{docstring*\ 449}#))
+ (let ((#{t\ 434}#
#{docstring\ 420}#))
+ (if #{t\ 434}#
+ #{t\ 434}#
+ #{docstring*\ 432}#))
(#{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}#)
+ #{req\ 421}#
+ #{opt\ 422}#
+ #{rest\ 423}#
+ #{kw\ 424}#
+ #{inits\ 425}#
+ #{vars\ 426}#
+ #{body\ 427}#
+ #{else*\ 433}#)))))))))
+ #{tmp\ 408}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 421}#)))
+ #{tmp\ 406}#)))
($sc-dispatch
- #{tmp\ 421}#
+ #{tmp\ 406}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
- ($sc-dispatch #{tmp\ 421}# (quote ()))))
+ ($sc-dispatch #{tmp\ 406}# (quote ()))))
#{clauses\ 327}#))))
(#{lambda*-formals\ 178}#
- (lambda (#{orig-args\ 452}#)
- (letrec ((#{check\ 458}#
- (lambda (#{req\ 459}#
- #{opt\ 460}#
- #{rest\ 461}#
- #{kw\ 462}#
- #{pred\ 463}#)
+ (lambda (#{orig-args\ 435}#)
+ (letrec ((#{check\ 440}#
+ (lambda (#{req\ 441}#
+ #{opt\ 442}#
+ #{rest\ 443}#
+ #{kw\ 444}#)
(if (#{distinct-bound-ids?\ 157}#
(append
- #{req\ 459}#
- (map car #{opt\ 460}#)
- (if #{rest\ 461}#
- (list #{rest\ 461}#)
+ #{req\ 441}#
+ (map car #{opt\ 442}#)
+ (if #{rest\ 443}#
+ (list #{rest\ 443}#)
'())
- (if (pair? #{kw\ 462}#)
- (map cadr (cdr #{kw\ 462}#))
+ (if (pair? #{kw\ 444}#)
+ (map cadr (cdr #{kw\ 444}#))
'())))
(values
- #{req\ 459}#
- #{opt\ 460}#
- #{rest\ 461}#
- #{kw\ 462}#
- #{pred\ 463}#)
+ #{req\ 441}#
+ #{opt\ 442}#
+ #{rest\ 443}#
+ #{kw\ 444}#)
(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\ 435}#))))
+ (#{rest\ 439}#
+ (lambda (#{args\ 445}#
+ #{req\ 446}#
+ #{opt\ 447}#
+ #{kw\ 448}#)
+ ((lambda (#{tmp\ 449}#)
+ ((lambda (#{tmp\ 450}#)
+ (if (if #{tmp\ 450}#
+ (apply (lambda (#{r\ 451}#)
+ (#{id?\ 131}# #{r\ 451}#))
+ #{tmp\ 450}#)
#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\ 452}#)
+ (#{check\ 440}#
+ #{req\ 446}#
+ #{opt\ 447}#
+ #{r\ 452}#
+ #{kw\ 448}#))
+ #{tmp\ 450}#)
+ ((lambda (#{else\ 453}#)
(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}#
- #{kw\ 477}#
- #f))
- #{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}#
- #{kw\ 477}#
- #f))
- #{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\ 435}#
+ #{args\ 445}#))
+ #{tmp\ 449}#)))
+ (list #{tmp\ 449}#)))
+ #{args\ 445}#)))
+ (#{key\ 438}#
+ (lambda (#{args\ 454}#
+ #{req\ 455}#
+ #{opt\ 456}#
+ #{rkey\ 457}#)
+ ((lambda (#{tmp\ 458}#)
+ ((lambda (#{tmp\ 459}#)
+ (if #{tmp\ 459}#
(apply (lambda ()
- (#{check\ 458}#
- #{req\ 495}#
- #{opt\ 496}#
+ (#{check\ 440}#
+ #{req\ 455}#
+ #{opt\ 456}#
#f
(cons #f
- (reverse #{rkey\ 497}#))
- #f))
- #{tmp\ 499}#)
- ((lambda (#{tmp\ 500}#)
- (if (if #{tmp\ 500}#
- (apply (lambda (#{a\ 501}#
- #{b\ 502}#)
+ (reverse #{rkey\ 457}#))))
+ #{tmp\ 459}#)
+ ((lambda (#{tmp\ 460}#)
+ (if (if #{tmp\ 460}#
+ (apply (lambda (#{a\ 461}#
+ #{b\ 462}#)
(#{id?\ 131}#
- #{a\ 501}#))
- #{tmp\ 500}#)
+ #{a\ 461}#))
+ #{tmp\ 460}#)
#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\ 463}# #{b\ 464}#)
+ ((lambda (#{tmp\ 465}#)
+ ((lambda (#{k\ 466}#)
+ (#{key\ 438}#
+ #{b\ 464}#
+ #{req\ 455}#
+ #{opt\ 456}#
+ (cons (cons #{k\
466}#
+ (cons
#{a\ 463}#
'(#(syntax-object
#f
((top)
@@ -741,7 +624,6 @@
"i"))
#(ribcage
(check rest
-
pred
key
opt
req)
@@ -749,13 +631,11 @@
(top)
(top)
(top)
-
(top)
(top))
("i"
"i"
"i"
"i"
-
"i"
"i"))
#(ribcage
#(orig-args)
@@ -1122,280 +1002,222 @@
"i")))
(hygiene
guile)))))
- #{rkey\
497}#)))
- #{tmp\ 505}#))
+ #{rkey\
457}#)))
+ #{tmp\ 465}#))
(symbol->keyword
(syntax->datum
- #{a\ 503}#))))
- #{tmp\ 500}#)
- ((lambda (#{tmp\ 507}#)
- (if (if #{tmp\ 507}#
- (apply (lambda (#{a\ 508}#
- #{init\ 509}#
- #{b\ 510}#)
+ #{a\ 463}#))))
+ #{tmp\ 460}#)
+ ((lambda (#{tmp\ 467}#)
+ (if (if #{tmp\ 467}#
+ (apply (lambda (#{a\ 468}#
+ #{init\ 469}#
+ #{b\ 470}#)
(#{id?\ 131}#
- #{a\ 508}#))
- #{tmp\ 507}#)
+ #{a\ 468}#))
+ #{tmp\ 467}#)
#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\ 471}#
+ #{init\ 472}#
+ #{b\ 473}#)
+ ((lambda (#{tmp\ 474}#)
+ ((lambda (#{k\ 475}#)
+ (#{key\ 438}#
+ #{b\ 473}#
+ #{req\ 455}#
+ #{opt\ 456}#
+ (cons (list
#{k\ 475}#
+
#{a\ 471}#
+
#{init\ 472}#)
+ #{rkey\
457}#)))
+ #{tmp\ 474}#))
(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}#)
+ #{a\ 471}#))))
+ #{tmp\ 467}#)
+ ((lambda (#{tmp\ 476}#)
+ (if (if #{tmp\ 476}#
+ (apply (lambda (#{a\
477}#
+ #{init\
478}#
+ #{k\
479}#
+ #{b\
480}#)
(if (#{id?\
131}#
- #{a\
517}#)
+ #{a\
477}#)
(keyword?
(syntax->datum
- #{k\
519}#))
+ #{k\
479}#))
#f))
- #{tmp\ 516}#)
+ #{tmp\ 476}#)
#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\ 481}#
+ #{init\
482}#
+ #{k\ 483}#
+ #{b\ 484}#)
+ (#{key\ 438}#
+ #{b\ 484}#
+ #{req\ 455}#
+ #{opt\ 456}#
+ (cons (list #{k\
483}#
+ #{a\
481}#
+
#{init\ 482}#)
+ #{rkey\
457}#)))
+ #{tmp\ 476}#)
+ ((lambda (#{tmp\ 485}#)
+ (if (if #{tmp\ 485}#
+ (apply (lambda
(#{aok\ 486}#)
(eq?
(syntax->datum
-
#{aok\ 526}#)
+
#{aok\ 486}#)
#:allow-other-keys))
- #{tmp\
525}#)
+ #{tmp\
485}#)
#f)
- (apply (lambda (#{aok\
527}#)
- (#{check\
458}#
- #{req\ 495}#
- #{opt\ 496}#
+ (apply (lambda (#{aok\
487}#)
+ (#{check\
440}#
+ #{req\ 455}#
+ #{opt\ 456}#
#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\ 457}#))))
+ #{tmp\ 485}#)
+ ((lambda (#{tmp\ 488}#)
+ (if (if #{tmp\ 488}#
+ (apply
(lambda (#{aok\ 489}#
+
#{a\ 490}#
+
#{b\ 491}#)
(if
(eq? (syntax->datum
-
#{aok\ 529}#)
+
#{aok\ 489}#)
#:allow-other-keys)
(eq? (syntax->datum
-
#{a\ 530}#)
-
#:predicate)
+
#{a\ 490}#)
+
#:rest)
#f))
- #{tmp\
528}#)
+ #{tmp\
488}#)
#f)
- (apply (lambda
(#{aok\ 532}#
-
#{a\ 533}#
-
#{b\ 534}#)
- (#{pred\
456}#
- #{b\
534}#
- #{req\
495}#
- #{opt\
496}#
+ (apply (lambda
(#{aok\ 492}#
+
#{a\ 493}#
+
#{b\ 494}#)
+ (#{rest\
439}#
+ #{b\
494}#
+ #{req\
455}#
+ #{opt\
456}#
(cons
#t
(reverse
-
#{rkey\ 497}#))))
- #{tmp\
528}#)
- ((lambda (#{tmp\
535}#)
- (if (if #{tmp\
535}#
- (apply
(lambda (#{aok\ 536}#
-
#{a\ 537}#
-
#{b\ 538}#)
+
#{rkey\ 457}#))))
+ #{tmp\
488}#)
+ ((lambda (#{tmp\
495}#)
+ (if (if #{tmp\
495}#
+ (apply
(lambda (#{aok\ 496}#
+
#{r\ 497}#)
(if (eq? (syntax->datum
-
#{aok\ 536}#)
+
#{aok\ 496}#)
#:allow-other-keys)
-
(eq? (syntax->datum
-
#{a\ 537}#)
-
#:rest)
+
(#{id?\ 131}#
+
#{r\ 497}#)
#f))
-
#{tmp\ 535}#)
+
#{tmp\ 495}#)
#f)
- (apply
(lambda (#{aok\ 539}#
-
#{a\ 540}#
-
#{b\ 541}#)
-
(#{rest\ 457}#
-
#{b\ 541}#
-
#{req\ 495}#
-
#{opt\ 496}#
+ (apply
(lambda (#{aok\ 498}#
+
#{r\ 499}#)
+
(#{rest\ 439}#
+
#{r\ 499}#
+
#{req\ 455}#
+
#{opt\ 456}#
(cons #t
(reverse
-
#{rkey\ 497}#))
-
#f))
-
#{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\ 457}#))))
+
#{tmp\ 495}#)
+ ((lambda
(#{tmp\ 500}#)
+ (if (if
#{tmp\ 500}#
+
(apply (lambda (#{a\ 501}#
+
#{b\ 502}#)
+
(eq? (syntax->datum
+
#{a\ 501}#)
+
#:rest))
+
#{tmp\ 500}#)
#f)
- (apply
(lambda (#{aok\ 545}#
-
#{r\ 546}#)
-
(#{rest\ 457}#
-
#{r\ 546}#
-
#{req\ 495}#
-
#{opt\ 496}#
-
(cons #t
+ (apply
(lambda (#{a\ 503}#
+
#{b\ 504}#)
+
(#{rest\ 439}#
+
#{b\ 504}#
+
#{req\ 455}#
+
#{opt\ 456}#
+
(cons #f
(reverse
-
#{rkey\ 497}#))
-
#f))
-
#{tmp\ 542}#)
-
((lambda (#{tmp\ 547}#)
- (if
(if #{tmp\ 547}#
-
(apply (lambda (#{a\ 548}#
-
#{b\ 549}#)
-
(eq? (syntax->datum
-
#{a\ 548}#)
-
#:predicate))
-
#{tmp\ 547}#)
+
#{rkey\ 457}#))))
+
#{tmp\ 500}#)
+
((lambda (#{tmp\ 505}#)
+ (if
(if #{tmp\ 505}#
+
(apply (lambda (#{r\ 506}#)
+
(#{id?\ 131}#
+
#{r\ 506}#))
+
#{tmp\ 505}#)
#f)
-
(apply (lambda (#{a\ 550}#
-
#{b\ 551}#)
-
(#{pred\ 456}#
-
#{b\ 551}#
-
#{req\ 495}#
-
#{opt\ 496}#
+
(apply (lambda (#{r\ 507}#)
+
(#{rest\ 439}#
+
#{r\ 507}#
+
#{req\ 455}#
+
#{opt\ 456}#
(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\ 457}#))))
+
#{tmp\ 505}#)
+
((lambda (#{else\ 508}#)
+
(syntax-violation
+
'lambda*
+
"invalid keyword argument list"
+
#{orig-args\ 435}#
+
#{args\ 454}#))
+
#{tmp\ 458}#)))
+ (list
#{tmp\ 458}#))))
($sc-dispatch
- #{tmp\
498}#
- '(any .
-
any)))))
+ #{tmp\
458}#
+ '(any
any)))))
($sc-dispatch
- #{tmp\ 498}#
- '(any any
+ #{tmp\ 458}#
+ '(any .
any)))))
($sc-dispatch
- #{tmp\ 498}#
- '(any any . any)))))
+ #{tmp\ 458}#
+ '(any any any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 458}#
'(any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 458}#
'((any any any) . any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 458}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 498}#
+ #{tmp\ 458}#
'(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\ 458}# (quote ()))))
+ #{args\ 454}#)))
+ (#{opt\ 437}#
+ (lambda (#{args\ 509}# #{req\ 510}# #{ropt\ 511}#)
+ ((lambda (#{tmp\ 512}#)
+ ((lambda (#{tmp\ 513}#)
+ (if #{tmp\ 513}#
(apply (lambda ()
- (#{check\ 458}#
- #{req\ 562}#
- (reverse #{ropt\ 563}#)
+ (#{check\ 440}#
+ #{req\ 510}#
+ (reverse #{ropt\ 511}#)
#f
- '()
- #f))
- #{tmp\ 565}#)
- ((lambda (#{tmp\ 566}#)
- (if (if #{tmp\ 566}#
- (apply (lambda (#{a\ 567}#
- #{b\ 568}#)
+ '()))
+ #{tmp\ 513}#)
+ ((lambda (#{tmp\ 514}#)
+ (if (if #{tmp\ 514}#
+ (apply (lambda (#{a\ 515}#
+ #{b\ 516}#)
(#{id?\ 131}#
- #{a\ 567}#))
- #{tmp\ 566}#)
+ #{a\ 515}#))
+ #{tmp\ 514}#)
#f)
- (apply (lambda (#{a\ 569}# #{b\ 570}#)
- (#{opt\ 454}#
- #{b\ 570}#
- #{req\ 562}#
- (cons (cons #{a\ 569}#
+ (apply (lambda (#{a\ 517}# #{b\ 518}#)
+ (#{opt\ 437}#
+ #{b\ 518}#
+ #{req\ 510}#
+ (cons (cons #{a\ 517}#
'(#(syntax-object
#f
((top)
@@ -1421,7 +1243,6 @@
"i"))
#(ribcage
(check
rest
-
pred
key
opt
req)
@@ -1429,13 +1250,11 @@
(top)
(top)
(top)
- (top)
(top))
("i"
"i"
"i"
"i"
- "i"
"i"))
#(ribcage
#(orig-args)
@@ -1802,375 +1621,328 @@
"i")))
(hygiene
guile))))
- #{ropt\ 563}#)))
- #{tmp\ 566}#)
- ((lambda (#{tmp\ 571}#)
- (if (if #{tmp\ 571}#
- (apply (lambda (#{a\ 572}#
- #{init\ 573}#
- #{b\ 574}#)
+ #{ropt\ 511}#)))
+ #{tmp\ 514}#)
+ ((lambda (#{tmp\ 519}#)
+ (if (if #{tmp\ 519}#
+ (apply (lambda (#{a\ 520}#
+ #{init\ 521}#
+ #{b\ 522}#)
(#{id?\ 131}#
- #{a\ 572}#))
- #{tmp\ 571}#)
+ #{a\ 520}#))
+ #{tmp\ 519}#)
#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\ 523}#
+ #{init\ 524}#
+ #{b\ 525}#)
+ (#{opt\ 437}#
+ #{b\ 525}#
+ #{req\ 510}#
+ (cons (list #{a\ 523}#
+ #{init\
524}#)
+ #{ropt\ 511}#)))
+ #{tmp\ 519}#)
+ ((lambda (#{tmp\ 526}#)
+ (if (if #{tmp\ 526}#
+ (apply (lambda (#{a\
527}#
+ #{b\
528}#)
(eq?
(syntax->datum
- #{a\
579}#)
+ #{a\
527}#)
#:key))
- #{tmp\ 578}#)
+ #{tmp\ 526}#)
#f)
- (apply (lambda (#{a\ 581}#
- #{b\ 582}#)
- (#{key\ 455}#
- #{b\ 582}#
- #{req\ 562}#
+ (apply (lambda (#{a\ 529}#
+ #{b\ 530}#)
+ (#{key\ 438}#
+ #{b\ 530}#
+ #{req\ 510}#
(reverse
- #{ropt\ 563}#)
+ #{ropt\ 511}#)
'()))
- #{tmp\ 578}#)
- ((lambda (#{tmp\ 583}#)
- (if (if #{tmp\ 583}#
- (apply (lambda
(#{a\ 584}#
-
#{b\ 585}#)
+ #{tmp\ 526}#)
+ ((lambda (#{tmp\ 531}#)
+ (if (if #{tmp\ 531}#
+ (apply (lambda
(#{a\ 532}#
+
#{b\ 533}#)
(eq?
(syntax->datum
-
#{a\ 584}#)
-
#:predicate))
- #{tmp\
583}#)
+
#{a\ 532}#)
+
#:rest))
+ #{tmp\
531}#)
#f)
- (apply (lambda (#{a\
586}#
- #{b\
587}#)
- (#{pred\ 456}#
- #{b\ 587}#
- #{req\ 562}#
+ (apply (lambda (#{a\
534}#
+ #{b\
535}#)
+ (#{rest\ 439}#
+ #{b\ 535}#
+ #{req\ 510}#
(reverse
- #{ropt\
563}#)
+ #{ropt\
511}#)
'()))
- #{tmp\ 583}#)
- ((lambda (#{tmp\ 588}#)
- (if (if #{tmp\ 588}#
- (apply
(lambda (#{a\ 589}#
-
#{b\ 590}#)
- (eq?
(syntax->datum
-
#{a\ 589}#)
-
#:rest))
- #{tmp\
588}#)
+ #{tmp\ 531}#)
+ ((lambda (#{tmp\ 536}#)
+ (if (if #{tmp\ 536}#
+ (apply
(lambda (#{r\ 537}#)
+
(#{id?\ 131}#
+
#{r\ 537}#))
+ #{tmp\
536}#)
#f)
- (apply (lambda
(#{a\ 591}#
-
#{b\ 592}#)
- (#{rest\
457}#
- #{b\
592}#
- #{req\
562}#
+ (apply (lambda
(#{r\ 538}#)
+ (#{rest\
439}#
+ #{r\
538}#
+ #{req\
510}#
(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\ 511}#)
+ '()))
+ #{tmp\
536}#)
+ ((lambda (#{else\
539}#)
+
(syntax-violation
+ 'lambda*
+ "invalid
optional argument list"
+ #{orig-args\
435}#
+ #{args\
509}#))
+ #{tmp\ 512}#)))
+ (list #{tmp\ 512}#))))
($sc-dispatch
- #{tmp\ 564}#
- '(any . any)))))
+ #{tmp\ 512}#
+ '(any any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 512}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 512}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 564}#
+ #{tmp\ 512}#
'(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\ 512}# (quote ()))))
+ #{args\ 509}#)))
+ (#{req\ 436}#
+ (lambda (#{args\ 540}# #{rreq\ 541}#)
+ ((lambda (#{tmp\ 542}#)
+ ((lambda (#{tmp\ 543}#)
+ (if #{tmp\ 543}#
(apply (lambda ()
- (#{check\ 458}#
- (reverse #{rreq\ 598}#)
+ (#{check\ 440}#
+ (reverse #{rreq\ 541}#)
'()
#f
- '()
- #f))
- #{tmp\ 600}#)
- ((lambda (#{tmp\ 601}#)
- (if (if #{tmp\ 601}#
- (apply (lambda (#{a\ 602}#
- #{b\ 603}#)
+ '()))
+ #{tmp\ 543}#)
+ ((lambda (#{tmp\ 544}#)
+ (if (if #{tmp\ 544}#
+ (apply (lambda (#{a\ 545}#
+ #{b\ 546}#)
(#{id?\ 131}#
- #{a\ 602}#))
- #{tmp\ 601}#)
+ #{a\ 545}#))
+ #{tmp\ 544}#)
#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\ 547}# #{b\ 548}#)
+ (#{req\ 436}#
+ #{b\ 548}#
+ (cons #{a\ 547}#
+ #{rreq\ 541}#)))
+ #{tmp\ 544}#)
+ ((lambda (#{tmp\ 549}#)
+ (if (if #{tmp\ 549}#
+ (apply (lambda (#{a\ 550}#
+ #{b\ 551}#)
(eq? (syntax->datum
- #{a\ 607}#)
+ #{a\ 550}#)
#:optional))
- #{tmp\ 606}#)
+ #{tmp\ 549}#)
#f)
- (apply (lambda (#{a\ 609}#
- #{b\ 610}#)
- (#{opt\ 454}#
- #{b\ 610}#
+ (apply (lambda (#{a\ 552}#
+ #{b\ 553}#)
+ (#{opt\ 437}#
+ #{b\ 553}#
(reverse
- #{rreq\ 598}#)
+ #{rreq\ 541}#)
'()))
- #{tmp\ 606}#)
- ((lambda (#{tmp\ 611}#)
- (if (if #{tmp\ 611}#
- (apply (lambda (#{a\
612}#
- #{b\
613}#)
+ #{tmp\ 549}#)
+ ((lambda (#{tmp\ 554}#)
+ (if (if #{tmp\ 554}#
+ (apply (lambda (#{a\
555}#
+ #{b\
556}#)
(eq?
(syntax->datum
- #{a\
612}#)
+ #{a\
555}#)
#:key))
- #{tmp\ 611}#)
+ #{tmp\ 554}#)
#f)
- (apply (lambda (#{a\ 614}#
- #{b\ 615}#)
- (#{key\ 455}#
- #{b\ 615}#
+ (apply (lambda (#{a\ 557}#
+ #{b\ 558}#)
+ (#{key\ 438}#
+ #{b\ 558}#
(reverse
- #{rreq\ 598}#)
+ #{rreq\ 541}#)
'()
'()))
- #{tmp\ 611}#)
- ((lambda (#{tmp\ 616}#)
- (if (if #{tmp\ 616}#
- (apply (lambda
(#{a\ 617}#
-
#{b\ 618}#)
+ #{tmp\ 554}#)
+ ((lambda (#{tmp\ 559}#)
+ (if (if #{tmp\ 559}#
+ (apply (lambda
(#{a\ 560}#
+
#{b\ 561}#)
(eq?
(syntax->datum
-
#{a\ 617}#)
-
#:predicate))
- #{tmp\
616}#)
+
#{a\ 560}#)
+
#:rest))
+ #{tmp\
559}#)
#f)
- (apply (lambda (#{a\
619}#
- #{b\
620}#)
- (#{pred\ 456}#
- #{b\ 620}#
+ (apply (lambda (#{a\
562}#
+ #{b\
563}#)
+ (#{rest\ 439}#
+ #{b\ 563}#
(reverse
- #{rreq\
598}#)
+ #{rreq\
541}#)
'()
'()))
- #{tmp\ 616}#)
- ((lambda (#{tmp\ 621}#)
- (if (if #{tmp\ 621}#
- (apply
(lambda (#{a\ 622}#
-
#{b\ 623}#)
- (eq?
(syntax->datum
-
#{a\ 622}#)
-
#:rest))
- #{tmp\
621}#)
+ #{tmp\ 559}#)
+ ((lambda (#{tmp\ 564}#)
+ (if (if #{tmp\ 564}#
+ (apply
(lambda (#{r\ 565}#)
+
(#{id?\ 131}#
+
#{r\ 565}#))
+ #{tmp\
564}#)
#f)
- (apply (lambda
(#{a\ 624}#
-
#{b\ 625}#)
- (#{rest\
457}#
- #{b\
625}#
+ (apply (lambda
(#{r\ 566}#)
+ (#{rest\
439}#
+ #{r\
566}#
(reverse
-
#{rreq\ 598}#)
- '()
+
#{rreq\ 541}#)
'()
- #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\
564}#)
+ ((lambda (#{else\
567}#)
+
(syntax-violation
+ 'lambda*
+ "invalid
argument list"
+ #{orig-args\
435}#
+ #{args\
540}#))
+ #{tmp\ 542}#)))
+ (list #{tmp\ 542}#))))
($sc-dispatch
- #{tmp\ 599}#
- '(any . any)))))
+ #{tmp\ 542}#
+ '(any any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 542}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 542}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 599}#
+ #{tmp\ 542}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 599}# (quote ()))))
- #{args\ 597}#))))
- (#{req\ 453}# #{orig-args\ 452}# (quote ())))))
+ ($sc-dispatch #{tmp\ 542}# (quote ()))))
+ #{args\ 540}#))))
+ (#{req\ 436}# #{orig-args\ 435}# (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}#)))
+ (lambda (#{e\ 568}#
+ #{r\ 569}#
+ #{w\ 570}#
+ #{s\ 571}#
+ #{mod\ 572}#
+ #{req\ 573}#
+ #{rest\ 574}#
+ #{docstring\ 575}#
+ #{body\ 576}#)
+ (let ((#{ids\ 577}#
+ (if #{rest\ 574}#
+ (append #{req\ 573}# (list #{rest\ 574}#))
+ #{req\ 573}#)))
+ (let ((#{vars\ 578}#
+ (map #{gen-var\ 181}# #{ids\ 577}#)))
+ (let ((#{labels\ 579}#
+ (#{gen-labels\ 137}# #{ids\ 577}#)))
(#{build-simple-lambda\ 105}#
- #{s\ 633}#
- (map syntax->datum #{req\ 635}#)
- (if #{rest\ 636}#
- (syntax->datum #{rest\ 636}#)
+ #{s\ 571}#
+ (map syntax->datum #{req\ 573}#)
+ (if #{rest\ 574}#
+ (syntax->datum #{rest\ 574}#)
#f)
- #{vars\ 640}#
- #{docstring\ 637}#
+ #{vars\ 578}#
+ #{docstring\ 575}#
(#{chi-body\ 171}#
- #{body\ 638}#
+ #{body\ 576}#
(#{source-wrap\ 160}#
- #{e\ 630}#
- #{w\ 632}#
- #{s\ 633}#
- #{mod\ 634}#)
+ #{e\ 568}#
+ #{w\ 570}#
+ #{s\ 571}#
+ #{mod\ 572}#)
(#{extend-var-env\ 126}#
- #{labels\ 641}#
- #{vars\ 640}#
- #{r\ 631}#)
+ #{labels\ 579}#
+ #{vars\ 578}#
+ #{r\ 569}#)
(#{make-binding-wrap\ 148}#
- #{ids\ 639}#
- #{labels\ 641}#
- #{w\ 632}#)
- #{mod\ 634}#)))))))
+ #{ids\ 577}#
+ #{labels\ 579}#
+ #{w\ 570}#)
+ #{mod\ 572}#)))))))
(#{lambda-formals\ 176}#
- (lambda (#{orig-args\ 642}#)
- (letrec ((#{check\ 644}#
- (lambda (#{req\ 645}# #{rest\ 646}#)
+ (lambda (#{orig-args\ 580}#)
+ (letrec ((#{check\ 582}#
+ (lambda (#{req\ 583}# #{rest\ 584}#)
(if (#{distinct-bound-ids?\ 157}#
- (if #{rest\ 646}#
- (cons #{rest\ 646}# #{req\ 645}#)
- #{req\ 645}#))
- (values #{req\ 645}# #f #{rest\ 646}# #f #f)
+ (if #{rest\ 584}#
+ (cons #{rest\ 584}# #{req\ 583}#)
+ #{req\ 583}#))
+ (values #{req\ 583}# #f #{rest\ 584}# #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\ 580}#))))
+ (#{req\ 581}#
+ (lambda (#{args\ 585}# #{rreq\ 586}#)
+ ((lambda (#{tmp\ 587}#)
+ ((lambda (#{tmp\ 588}#)
+ (if #{tmp\ 588}#
(apply (lambda ()
- (#{check\ 644}#
- (reverse #{rreq\ 648}#)
+ (#{check\ 582}#
+ (reverse #{rreq\ 586}#)
#f))
- #{tmp\ 650}#)
- ((lambda (#{tmp\ 651}#)
- (if (if #{tmp\ 651}#
- (apply (lambda (#{a\ 652}#
- #{b\ 653}#)
+ #{tmp\ 588}#)
+ ((lambda (#{tmp\ 589}#)
+ (if (if #{tmp\ 589}#
+ (apply (lambda (#{a\ 590}#
+ #{b\ 591}#)
(#{id?\ 131}#
- #{a\ 652}#))
- #{tmp\ 651}#)
+ #{a\ 590}#))
+ #{tmp\ 589}#)
#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}#)
+ (apply (lambda (#{a\ 592}# #{b\ 593}#)
+ (#{req\ 581}#
+ #{b\ 593}#
+ (cons #{a\ 592}#
+ #{rreq\ 586}#)))
+ #{tmp\ 589}#)
+ ((lambda (#{tmp\ 594}#)
+ (if (if #{tmp\ 594}#
+ (apply (lambda (#{r\ 595}#)
(#{id?\ 131}#
- #{r\ 657}#))
- #{tmp\ 656}#)
+ #{r\ 595}#))
+ #{tmp\ 594}#)
#f)
- (apply (lambda (#{r\ 658}#)
- (#{check\ 644}#
+ (apply (lambda (#{r\ 596}#)
+ (#{check\ 582}#
(reverse
- #{rreq\ 648}#)
- #{r\ 658}#))
- #{tmp\ 656}#)
- ((lambda (#{else\ 659}#)
+ #{rreq\ 586}#)
+ #{r\ 596}#))
+ #{tmp\ 594}#)
+ ((lambda (#{else\ 597}#)
(syntax-violation
'lambda
"invalid argument list"
- #{orig-args\ 642}#
- #{args\ 647}#))
- #{tmp\ 649}#)))
- (list #{tmp\ 649}#))))
+ #{orig-args\ 580}#
+ #{args\ 585}#))
+ #{tmp\ 587}#)))
+ (list #{tmp\ 587}#))))
($sc-dispatch
- #{tmp\ 649}#
+ #{tmp\ 587}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 649}# (quote ()))))
- #{args\ 647}#))))
- (#{req\ 643}# #{orig-args\ 642}# (quote ())))))
+ ($sc-dispatch #{tmp\ 587}# (quote ()))))
+ #{args\ 585}#))))
+ (#{req\ 581}# #{orig-args\ 580}# (quote ())))))
(#{ellipsis?\ 175}#
- (lambda (#{x\ 660}#)
- (if (#{nonsymbol-id?\ 130}# #{x\ 660}#)
+ (lambda (#{x\ 598}#)
+ (if (#{nonsymbol-id?\ 130}# #{x\ 598}#)
(#{free-id=?\ 154}#
- #{x\ 660}#
+ #{x\ 598}#
'#(syntax-object
...
((top)
@@ -2538,368 +2310,368 @@
(#{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}#
+ (lambda (#{expanded\ 599}# #{mod\ 600}#)
+ (let ((#{p\ 601}# (#{local-eval-hook\ 91}#
+ #{expanded\ 599}#
+ #{mod\ 600}#)))
+ (if (procedure? #{p\ 601}#)
+ #{p\ 601}#
(syntax-violation
#f
"nonprocedure transformer"
- #{p\ 663}#)))))
+ #{p\ 601}#)))))
(#{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}#))
+ (lambda (#{rec?\ 602}#
+ #{e\ 603}#
+ #{r\ 604}#
+ #{w\ 605}#
+ #{s\ 606}#
+ #{mod\ 607}#
+ #{k\ 608}#)
+ ((lambda (#{tmp\ 609}#)
+ ((lambda (#{tmp\ 610}#)
+ (if #{tmp\ 610}#
+ (apply (lambda (#{_\ 611}#
+ #{id\ 612}#
+ #{val\ 613}#
+ #{e1\ 614}#
+ #{e2\ 615}#)
+ (let ((#{ids\ 616}# #{id\ 612}#))
(if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 678}#))
+ #{ids\ 616}#))
(syntax-violation
#f
"duplicate bound keyword"
- #{e\ 665}#)
- (let ((#{labels\ 680}#
+ #{e\ 603}#)
+ (let ((#{labels\ 618}#
(#{gen-labels\ 137}#
- #{ids\ 678}#)))
- (let ((#{new-w\ 681}#
+ #{ids\ 616}#)))
+ (let ((#{new-w\ 619}#
(#{make-binding-wrap\ 148}#
- #{ids\ 678}#
- #{labels\ 680}#
- #{w\ 667}#)))
- (#{k\ 670}# (cons #{e1\ 676}#
- #{e2\ 677}#)
+ #{ids\ 616}#
+ #{labels\ 618}#
+ #{w\ 605}#)))
+ (#{k\ 608}# (cons #{e1\ 614}#
+ #{e2\ 615}#)
(#{extend-env\ 125}#
- #{labels\ 680}#
- (let ((#{w\ 683}# (if
#{rec?\ 664}#
-
#{new-w\ 681}#
- #{w\
667}#))
- (#{trans-r\ 684}#
+ #{labels\ 618}#
+ (let ((#{w\ 621}# (if
#{rec?\ 602}#
+
#{new-w\ 619}#
+ #{w\
605}#))
+ (#{trans-r\ 622}#
(#{macros-only-env\ 127}#
- #{r\ 666}#)))
- (map (lambda (#{x\
685}#)
+ #{r\ 604}#)))
+ (map (lambda (#{x\
623}#)
(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}#)
+ #{x\
623}#
+
#{trans-r\ 622}#
+ #{w\
621}#
+
#{mod\ 607}#)
+ #{mod\
607}#)))
+ #{val\ 613}#))
+ #{r\ 604}#)
+ #{new-w\ 619}#
+ #{s\ 606}#
+ #{mod\ 607}#))))))
+ #{tmp\ 610}#)
+ ((lambda (#{_\ 625}#)
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 160}#
- #{e\ 665}#
- #{w\ 667}#
- #{s\ 668}#
- #{mod\ 669}#)))
- #{tmp\ 671}#)))
+ #{e\ 603}#
+ #{w\ 605}#
+ #{s\ 606}#
+ #{mod\ 607}#)))
+ #{tmp\ 609}#)))
($sc-dispatch
- #{tmp\ 671}#
+ #{tmp\ 609}#
'(any #(each (any any)) any . each-any))))
- #{e\ 665}#)))
+ #{e\ 603}#)))
(#{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}#
+ (lambda (#{body\ 626}#
+ #{outer-form\ 627}#
+ #{r\ 628}#
+ #{w\ 629}#
+ #{mod\ 630}#)
+ (let ((#{r\ 631}# (cons '("placeholder" placeholder)
+ #{r\ 628}#)))
+ (let ((#{ribcage\ 632}#
(#{make-ribcage\ 138}#
'()
'()
'())))
- (let ((#{w\ 695}# (#{make-wrap\ 133}#
- (#{wrap-marks\ 134}# #{w\ 691}#)
- (cons #{ribcage\ 694}#
+ (let ((#{w\ 633}# (#{make-wrap\ 133}#
+ (#{wrap-marks\ 134}# #{w\ 629}#)
+ (cons #{ribcage\ 632}#
(#{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}#)
+ #{w\ 629}#)))))
+ (letrec ((#{parse\ 634}#
+ (lambda (#{body\ 635}#
+ #{ids\ 636}#
+ #{labels\ 637}#
+ #{var-ids\ 638}#
+ #{vars\ 639}#
+ #{vals\ 640}#
+ #{bindings\ 641}#)
+ (if (null? #{body\ 635}#)
(syntax-violation
#f
"no expressions in body"
- #{outer-form\ 689}#)
- (let ((#{e\ 705}# (cdar #{body\ 697}#))
- (#{er\ 706}# (caar #{body\ 697}#)))
+ #{outer-form\ 627}#)
+ (let ((#{e\ 643}# (cdar #{body\ 635}#))
+ (#{er\ 644}# (caar #{body\ 635}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{e\ 705}#
- #{er\ 706}#
+ #{e\ 643}#
+ #{er\ 644}#
'(())
(#{source-annotation\ 122}#
- #{er\ 706}#)
- #{ribcage\ 694}#
- #{mod\ 692}#
+ #{er\ 644}#)
+ #{ribcage\ 632}#
+ #{mod\ 630}#
#f))
- (lambda (#{type\ 707}#
- #{value\ 708}#
- #{e\ 709}#
- #{w\ 710}#
- #{s\ 711}#
- #{mod\ 712}#)
- (if (memv #{type\ 707}#
+ (lambda (#{type\ 645}#
+ #{value\ 646}#
+ #{e\ 647}#
+ #{w\ 648}#
+ #{s\ 649}#
+ #{mod\ 650}#)
+ (if (memv #{type\ 645}#
'(define-form))
- (let ((#{id\ 713}#
+ (let ((#{id\ 651}#
(#{wrap\ 159}#
- #{value\ 708}#
- #{w\ 710}#
- #{mod\ 712}#))
- (#{label\ 714}#
+ #{value\ 646}#
+ #{w\ 648}#
+ #{mod\ 650}#))
+ (#{label\ 652}#
(#{gen-label\ 136}#)))
- (let ((#{var\ 715}#
+ (let ((#{var\ 653}#
(#{gen-var\ 181}#
- #{id\ 713}#)))
+ #{id\ 651}#)))
(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}#
+ #{ribcage\ 632}#
+ #{id\ 651}#
+ #{label\ 652}#)
+ (#{parse\ 634}#
+ (cdr #{body\ 635}#)
+ (cons #{id\ 651}#
+ #{ids\ 636}#)
+ (cons #{label\ 652}#
+ #{labels\ 637}#)
+ (cons #{id\ 651}#
+ #{var-ids\ 638}#)
+ (cons #{var\ 653}#
+ #{vars\ 639}#)
+ (cons (cons #{er\ 644}#
(#{wrap\ 159}#
- #{e\ 709}#
- #{w\ 710}#
- #{mod\
712}#))
- #{vals\ 702}#)
+ #{e\ 647}#
+ #{w\ 648}#
+ #{mod\
650}#))
+ #{vals\ 640}#)
(cons (cons 'lexical
- #{var\ 715}#)
- #{bindings\
703}#)))))
- (if (memv #{type\ 707}#
+ #{var\ 653}#)
+ #{bindings\
641}#)))))
+ (if (memv #{type\ 645}#
'(define-syntax-form))
- (let ((#{id\ 716}#
+ (let ((#{id\ 654}#
(#{wrap\ 159}#
- #{value\ 708}#
- #{w\ 710}#
- #{mod\ 712}#))
- (#{label\ 717}#
+ #{value\ 646}#
+ #{w\ 648}#
+ #{mod\ 650}#))
+ (#{label\ 655}#
(#{gen-label\ 136}#)))
(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}#
+ #{ribcage\ 632}#
+ #{id\ 654}#
+ #{label\ 655}#)
+ (#{parse\ 634}#
+ (cdr #{body\ 635}#)
+ (cons #{id\ 654}#
+ #{ids\ 636}#)
+ (cons #{label\ 655}#
+ #{labels\ 637}#)
+ #{var-ids\ 638}#
+ #{vars\ 639}#
+ #{vals\ 640}#
(cons (cons 'macro
- (cons #{er\
706}#
+ (cons #{er\
644}#
(#{wrap\
159}#
- #{e\
709}#
- #{w\
710}#
- #{mod\
712}#)))
- #{bindings\ 703}#))))
- (if (memv #{type\ 707}#
+ #{e\
647}#
+ #{w\
648}#
+ #{mod\
650}#)))
+ #{bindings\ 641}#))))
+ (if (memv #{type\ 645}#
'(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}#
+ ((lambda (#{tmp\ 656}#)
+ ((lambda (#{tmp\ 657}#)
+ (if #{tmp\ 657}#
+ (apply (lambda (#{_\
658}#
+ #{e1\
659}#)
+ (#{parse\
634}#
+ (letrec
((#{f\ 660}# (lambda (#{forms\ 661}#)
+
(if (null? #{forms\ 661}#)
+
(cdr #{body\ 635}#)
+
(cons (cons #{er\ 644}#
(#{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}#)
+
(car #{forms\ 661}#)
+
#{w\ 648}#
+
#{mod\ 650}#))
+
(#{f\ 660}# (cdr #{forms\ 661}#)))))))
+ (#{f\
660}# #{e1\ 659}#))
+ #{ids\ 636}#
+ #{labels\
637}#
+ #{var-ids\
638}#
+ #{vars\
639}#
+ #{vals\
640}#
+ #{bindings\
641}#))
+ #{tmp\ 657}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 718}#)))
+ #{tmp\ 656}#)))
($sc-dispatch
- #{tmp\ 718}#
+ #{tmp\ 656}#
'(any . each-any))))
- #{e\ 709}#)
- (if (memv #{type\ 707}#
+ #{e\ 647}#)
+ (if (memv #{type\ 645}#
'(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}#
+ #{value\ 646}#
+ #{e\ 647}#
+ #{er\ 644}#
+ #{w\ 648}#
+ #{s\ 649}#
+ #{mod\ 650}#
+ (lambda (#{forms\ 663}#
+ #{er\ 664}#
+ #{w\ 665}#
+ #{s\ 666}#
+ #{mod\ 667}#)
+ (#{parse\ 634}#
+ (letrec ((#{f\ 668}#
(lambda (#{forms\ 669}#)
+
(if (null? #{forms\ 669}#)
+
(cdr #{body\ 635}#)
+
(cons (cons #{er\ 664}#
(#{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}#)
+
(car #{forms\ 669}#)
+
#{w\ 665}#
+
#{mod\ 667}#))
+
(#{f\ 668}# (cdr #{forms\ 669}#)))))))
+ (#{f\ 668}# #{forms\
663}#))
+ #{ids\ 636}#
+ #{labels\ 637}#
+ #{var-ids\ 638}#
+ #{vars\ 639}#
+ #{vals\ 640}#
+ #{bindings\ 641}#)))
+ (if (null? #{ids\ 636}#)
(#{build-sequence\ 110}#
#f
- (map (lambda (#{x\ 732}#)
+ (map (lambda (#{x\ 670}#)
(#{chi\ 167}#
- (cdr #{x\ 732}#)
- (car #{x\ 732}#)
+ (cdr #{x\ 670}#)
+ (car #{x\ 670}#)
'(())
- #{mod\ 712}#))
- (cons (cons #{er\
706}#
+ #{mod\ 650}#))
+ (cons (cons #{er\
644}#
(#{source-wrap\ 160}#
- #{e\
709}#
- #{w\
710}#
- #{s\
711}#
-
#{mod\ 712}#))
- (cdr #{body\
697}#))))
+ #{e\
647}#
+ #{w\
648}#
+ #{s\
649}#
+
#{mod\ 650}#))
+ (cdr #{body\
635}#))))
(begin
(if (not
(#{valid-bound-ids?\ 156}#
- #{ids\ 698}#))
+ #{ids\ 636}#))
(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\ 627}#))
+ (letrec ((#{loop\ 671}#
+ (lambda
(#{bs\ 672}#
+
#{er-cache\ 673}#
+
#{r-cache\ 674}#)
+ (if (not
(null? #{bs\ 672}#))
+ (let
((#{b\ 675}# (car #{bs\ 672}#)))
+ (if
(eq? (car #{b\ 675}#)
'macro)
- (let
((#{er\ 738}#
-
(cadr #{b\ 737}#)))
-
(let ((#{r-cache\ 739}#
-
(if (eq? #{er\ 738}#
-
#{er-cache\ 735}#)
-
#{r-cache\ 736}#
+ (let
((#{er\ 676}#
+
(cadr #{b\ 675}#)))
+
(let ((#{r-cache\ 677}#
+
(if (eq? #{er\ 676}#
+
#{er-cache\ 673}#)
+
#{r-cache\ 674}#
(#{macros-only-env\ 127}#
-
#{er\ 738}#))))
+
#{er\ 676}#))))
(begin
(set-cdr!
-
#{b\ 737}#
+
#{b\ 675}#
(#{eval-local-transformer\ 173}#
(#{chi\ 167}#
-
(cddr #{b\ 737}#)
-
#{r-cache\ 739}#
+
(cddr #{b\ 675}#)
+
#{r-cache\ 677}#
'(())
-
#{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\ 650}#)
+
#{mod\ 650}#))
+
(#{loop\ 671}#
+
(cdr #{bs\ 672}#)
+
#{er\ 676}#
+
#{r-cache\ 677}#))))
+
(#{loop\ 671}#
+
(cdr #{bs\ 672}#)
+
#{er-cache\ 673}#
+
#{r-cache\ 674}#)))))))
+ (#{loop\ 671}#
+ #{bindings\ 641}#
#f
#f))
(set-cdr!
- #{r\ 693}#
+ #{r\ 631}#
(#{extend-env\ 125}#
- #{labels\ 699}#
- #{bindings\ 703}#
- (cdr #{r\ 693}#)))
+ #{labels\ 637}#
+ #{bindings\ 641}#
+ (cdr #{r\ 631}#)))
(#{build-letrec\ 113}#
#f
(map syntax->datum
- #{var-ids\ 700}#)
- #{vars\ 701}#
- (map (lambda (#{x\
740}#)
+ #{var-ids\ 638}#)
+ #{vars\ 639}#
+ (map (lambda (#{x\
678}#)
(#{chi\ 167}#
- (cdr #{x\
740}#)
- (car #{x\
740}#)
+ (cdr #{x\
678}#)
+ (car #{x\
678}#)
'(())
- #{mod\ 712}#))
- #{vals\ 702}#)
+ #{mod\ 650}#))
+ #{vals\ 640}#)
(#{build-sequence\
110}#
#f
- (map (lambda (#{x\
741}#)
+ (map (lambda (#{x\
679}#)
(#{chi\ 167}#
- (cdr #{x\
741}#)
- (car #{x\
741}#)
+ (cdr #{x\
679}#)
+ (car #{x\
679}#)
'(())
- #{mod\
712}#))
- (cons (cons
#{er\ 706}#
+ #{mod\
650}#))
+ (cons (cons
#{er\ 644}#
(#{source-wrap\ 160}#
-
#{e\ 709}#
-
#{w\ 710}#
-
#{s\ 711}#
-
#{mod\ 712}#))
- (cdr
#{body\ 697}#))))))))))))))))))
- (#{parse\ 696}#
- (map (lambda (#{x\ 704}#)
- (cons #{r\ 693}#
+
#{e\ 647}#
+
#{w\ 648}#
+
#{s\ 649}#
+
#{mod\ 650}#))
+ (cdr
#{body\ 635}#))))))))))))))))))
+ (#{parse\ 634}#
+ (map (lambda (#{x\ 642}#)
+ (cons #{r\ 631}#
(#{wrap\ 159}#
- #{x\ 704}#
- #{w\ 695}#
- #{mod\ 692}#)))
- #{body\ 688}#)
+ #{x\ 642}#
+ #{w\ 633}#
+ #{mod\ 630}#)))
+ #{body\ 626}#)
'()
'()
'()
@@ -2907,850 +2679,850 @@
'()
'())))))))
(#{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)
+ (lambda (#{p\ 680}#
+ #{e\ 681}#
+ #{r\ 682}#
+ #{w\ 683}#
+ #{rib\ 684}#
+ #{mod\ 685}#)
+ (letrec ((#{rebuild-macro-output\ 686}#
+ (lambda (#{x\ 687}# #{m\ 688}#)
+ (if (pair? #{x\ 687}#)
+ (cons (#{rebuild-macro-output\ 686}#
+ (car #{x\ 687}#)
+ #{m\ 688}#)
+ (#{rebuild-macro-output\ 686}#
+ (cdr #{x\ 687}#)
+ #{m\ 688}#))
+ (if (#{syntax-object?\ 115}# #{x\ 687}#)
+ (let ((#{w\ 689}# (#{syntax-object-wrap\ 117}#
+ #{x\ 687}#)))
+ (let ((#{ms\ 690}#
+ (#{wrap-marks\ 134}# #{w\ 689}#))
+ (#{s\ 691}# (#{wrap-subst\ 135}#
+ #{w\ 689}#)))
+ (if (if (pair? #{ms\ 690}#)
+ (eq? (car #{ms\ 690}#) #f)
#f)
(#{make-syntax-object\ 114}#
(#{syntax-object-expression\ 116}#
- #{x\ 749}#)
+ #{x\ 687}#)
(#{make-wrap\ 133}#
- (cdr #{ms\ 752}#)
- (if #{rib\ 746}#
- (cons #{rib\ 746}#
- (cdr #{s\ 753}#))
- (cdr #{s\ 753}#)))
+ (cdr #{ms\ 690}#)
+ (if #{rib\ 684}#
+ (cons #{rib\ 684}#
+ (cdr #{s\ 691}#))
+ (cdr #{s\ 691}#)))
(#{syntax-object-module\ 118}#
- #{x\ 749}#))
+ #{x\ 687}#))
(#{make-syntax-object\ 114}#
(#{syntax-object-expression\ 116}#
- #{x\ 749}#)
+ #{x\ 687}#)
(#{make-wrap\ 133}#
- (cons #{m\ 750}# #{ms\ 752}#)
- (if #{rib\ 746}#
- (cons #{rib\ 746}#
+ (cons #{m\ 688}# #{ms\ 690}#)
+ (if #{rib\ 684}#
+ (cons #{rib\ 684}#
(cons 'shift
- #{s\ 753}#))
- (cons (quote shift) #{s\ 753}#)))
- (let ((#{pmod\ 754}#
- (procedure-module #{p\ 742}#)))
- (if #{pmod\ 754}#
+ #{s\ 691}#))
+ (cons (quote shift) #{s\ 691}#)))
+ (let ((#{pmod\ 692}#
+ (procedure-module #{p\ 680}#)))
+ (if #{pmod\ 692}#
(cons 'hygiene
- (module-name #{pmod\ 754}#))
+ (module-name #{pmod\ 692}#))
'(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 (vector? #{x\ 687}#)
+ (let ((#{n\ 693}# (vector-length
+ #{x\ 687}#)))
+ (let ((#{v\ 694}# (make-vector
+ #{n\ 693}#)))
+ (letrec ((#{loop\ 695}#
+ (lambda (#{i\ 696}#)
(if (#{fx=\ 88}#
- #{i\ 758}#
- #{n\ 755}#)
+ #{i\ 696}#
+ #{n\ 693}#)
(begin
(if #f #f)
- #{v\ 756}#)
+ #{v\ 694}#)
(begin
(vector-set!
- #{v\ 756}#
- #{i\ 758}#
-
(#{rebuild-macro-output\ 748}#
+ #{v\ 694}#
+ #{i\ 696}#
+
(#{rebuild-macro-output\ 686}#
(vector-ref
- #{x\ 749}#
- #{i\ 758}#)
- #{m\ 750}#))
- (#{loop\ 757}#
+ #{x\ 687}#
+ #{i\ 696}#)
+ #{m\ 688}#))
+ (#{loop\ 695}#
(#{fx+\ 86}#
- #{i\ 758}#
+ #{i\ 696}#
1)))))))
- (#{loop\ 757}# 0))))
- (if (symbol? #{x\ 749}#)
+ (#{loop\ 695}# 0))))
+ (if (symbol? #{x\ 687}#)
(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}#))
+ #{e\ 681}#
+ #{w\ 683}#
+ (#{wrap-subst\ 135}# #{w\ 683}#)
+ #{mod\ 685}#)
+ #{x\ 687}#)
+ #{x\ 687}#)))))))
+ (#{rebuild-macro-output\ 686}#
+ (#{p\ 680}# (#{wrap\ 159}#
+ #{e\ 681}#
+ (#{anti-mark\ 146}# #{w\ 683}#)
+ #{mod\ 685}#))
(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}#)
+ (lambda (#{x\ 697}#
+ #{e\ 698}#
+ #{r\ 699}#
+ #{w\ 700}#
+ #{s\ 701}#
+ #{mod\ 702}#)
+ ((lambda (#{tmp\ 703}#)
+ ((lambda (#{tmp\ 704}#)
+ (if #{tmp\ 704}#
+ (apply (lambda (#{e0\ 705}# #{e1\ 706}#)
(#{build-application\ 96}#
- #{s\ 763}#
- #{x\ 759}#
- (map (lambda (#{e\ 769}#)
+ #{s\ 701}#
+ #{x\ 697}#
+ (map (lambda (#{e\ 707}#)
(#{chi\ 167}#
- #{e\ 769}#
- #{r\ 761}#
- #{w\ 762}#
- #{mod\ 764}#))
- #{e1\ 768}#)))
- #{tmp\ 766}#)
+ #{e\ 707}#
+ #{r\ 699}#
+ #{w\ 700}#
+ #{mod\ 702}#))
+ #{e1\ 706}#)))
+ #{tmp\ 704}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 765}#)))
+ #{tmp\ 703}#)))
($sc-dispatch
- #{tmp\ 765}#
+ #{tmp\ 703}#
'(any . each-any))))
- #{e\ 760}#)))
+ #{e\ 698}#)))
(#{chi-expr\ 168}#
- (lambda (#{type\ 771}#
- #{value\ 772}#
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (lexical)))
+ (lambda (#{type\ 709}#
+ #{value\ 710}#
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (quote (lexical)))
(#{build-lexical-reference\ 98}#
'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\ 714}#
+ #{e\ 711}#
+ #{value\ 710}#)
+ (if (memv #{type\ 709}# (quote (core core-form)))
+ (#{value\ 710}#
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (quote (module-ref)))
(call-with-values
- (lambda () (#{value\ 772}# #{e\ 773}#))
- (lambda (#{id\ 778}# #{mod\ 779}#)
+ (lambda () (#{value\ 710}# #{e\ 711}#))
+ (lambda (#{id\ 716}# #{mod\ 717}#)
(#{build-global-reference\ 101}#
- #{s\ 776}#
- #{id\ 778}#
- #{mod\ 779}#)))
- (if (memv #{type\ 771}# (quote (lexical-call)))
+ #{s\ 714}#
+ #{id\ 716}#
+ #{mod\ 717}#)))
+ (if (memv #{type\ 709}# (quote (lexical-call)))
(#{chi-application\ 169}#
(#{build-lexical-reference\ 98}#
'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)))
+ (#{source-annotation\ 122}# (car #{e\ 711}#))
+ (car #{e\ 711}#)
+ #{value\ 710}#)
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (quote (global-call)))
(#{chi-application\ 169}#
(#{build-global-reference\ 101}#
- (#{source-annotation\ 122}# (car #{e\ 773}#))
- (if (#{syntax-object?\ 115}# #{value\ 772}#)
+ (#{source-annotation\ 122}# (car #{e\ 711}#))
+ (if (#{syntax-object?\ 115}# #{value\ 710}#)
(#{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)))
+ #{value\ 710}#)
+ #{value\ 710}#)
+ (if (#{syntax-object?\ 115}# #{value\ 710}#)
+ (#{syntax-object-module\ 118}# #{value\ 710}#)
+ #{mod\ 715}#))
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (quote (constant)))
(#{build-data\ 109}#
- #{s\ 776}#
+ #{s\ 714}#
(#{strip\ 180}#
(#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
+ #{e\ 711}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
'(())))
- (if (memv #{type\ 771}# (quote (global)))
+ (if (memv #{type\ 709}# (quote (global)))
(#{build-global-reference\ 101}#
- #{s\ 776}#
- #{value\ 772}#
- #{mod\ 777}#)
- (if (memv #{type\ 771}# (quote (call)))
+ #{s\ 714}#
+ #{value\ 710}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (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}#)
+ (car #{e\ 711}#)
+ #{r\ 712}#
+ #{w\ 713}#
+ #{mod\ 715}#)
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
+ (if (memv #{type\ 709}# (quote (begin-form)))
+ ((lambda (#{tmp\ 718}#)
+ ((lambda (#{tmp\ 719}#)
+ (if #{tmp\ 719}#
+ (apply (lambda (#{_\ 720}#
+ #{e1\ 721}#
+ #{e2\ 722}#)
(#{chi-sequence\ 161}#
- (cons #{e1\ 783}#
- #{e2\ 784}#)
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))
- #{tmp\ 781}#)
+ (cons #{e1\ 721}#
+ #{e2\ 722}#)
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#))
+ #{tmp\ 719}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 780}#)))
+ #{tmp\ 718}#)))
($sc-dispatch
- #{tmp\ 780}#
+ #{tmp\ 718}#
'(any any . each-any))))
- #{e\ 773}#)
- (if (memv #{type\ 771}#
+ #{e\ 711}#)
+ (if (memv #{type\ 709}#
'(local-syntax-form))
(#{chi-local-syntax\ 172}#
- #{value\ 772}#
- #{e\ 773}#
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#
+ #{value\ 710}#
+ #{e\ 711}#
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#
#{chi-sequence\ 161}#)
- (if (memv #{type\ 771}#
+ (if (memv #{type\ 709}#
'(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}#
+ ((lambda (#{tmp\ 724}#)
+ ((lambda (#{tmp\ 725}#)
+ (if #{tmp\ 725}#
+ (apply (lambda (#{_\ 726}#
+ #{x\ 727}#
+ #{e1\ 728}#
+ #{e2\ 729}#)
+ (let ((#{when-list\ 730}#
(#{chi-when-list\ 164}#
- #{e\ 773}#
- #{x\ 789}#
- #{w\ 775}#)))
+ #{e\ 711}#
+ #{x\ 727}#
+ #{w\ 713}#)))
(if (memq 'eval
- #{when-list\
792}#)
+ #{when-list\
730}#)
(#{chi-sequence\
161}#
- (cons #{e1\ 790}#
- #{e2\ 791}#)
- #{r\ 774}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#)
+ (cons #{e1\ 728}#
+ #{e2\ 729}#)
+ #{r\ 712}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#)
(#{chi-void\
174}#))))
- #{tmp\ 787}#)
+ #{tmp\ 725}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 786}#)))
+ #{tmp\ 724}#)))
($sc-dispatch
- #{tmp\ 786}#
+ #{tmp\ 724}#
'(any each-any any . each-any))))
- #{e\ 773}#)
- (if (memv #{type\ 771}#
+ #{e\ 711}#)
+ (if (memv #{type\ 709}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
- #{e\ 773}#
+ #{e\ 711}#
(#{wrap\ 159}#
- #{value\ 772}#
- #{w\ 775}#
- #{mod\ 777}#))
- (if (memv #{type\ 771}#
+ #{value\ 710}#
+ #{w\ 713}#
+ #{mod\ 715}#))
+ (if (memv #{type\ 709}#
'(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}#
+ #{e\ 711}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#))
+ (if (memv #{type\ 709}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside
its scope"
(#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))
+ #{e\ 711}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 160}#
- #{e\ 773}#
- #{w\ 775}#
- #{s\ 776}#
- #{mod\ 777}#))))))))))))))))))
+ #{e\ 711}#
+ #{w\ 713}#
+ #{s\ 714}#
+ #{mod\ 715}#))))))))))))))))))
(#{chi\ 167}#
- (lambda (#{e\ 795}# #{r\ 796}# #{w\ 797}# #{mod\ 798}#)
+ (lambda (#{e\ 733}# #{r\ 734}# #{w\ 735}# #{mod\ 736}#)
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{e\ 795}#
- #{r\ 796}#
- #{w\ 797}#
- (#{source-annotation\ 122}# #{e\ 795}#)
+ #{e\ 733}#
+ #{r\ 734}#
+ #{w\ 735}#
+ (#{source-annotation\ 122}# #{e\ 733}#)
#f
- #{mod\ 798}#
+ #{mod\ 736}#
#f))
- (lambda (#{type\ 799}#
- #{value\ 800}#
- #{e\ 801}#
- #{w\ 802}#
- #{s\ 803}#
- #{mod\ 804}#)
+ (lambda (#{type\ 737}#
+ #{value\ 738}#
+ #{e\ 739}#
+ #{w\ 740}#
+ #{s\ 741}#
+ #{mod\ 742}#)
(#{chi-expr\ 168}#
- #{type\ 799}#
- #{value\ 800}#
- #{e\ 801}#
- #{r\ 796}#
- #{w\ 802}#
- #{s\ 803}#
- #{mod\ 804}#)))))
+ #{type\ 737}#
+ #{value\ 738}#
+ #{e\ 739}#
+ #{r\ 734}#
+ #{w\ 740}#
+ #{s\ 741}#
+ #{mod\ 742}#)))))
(#{chi-top\ 166}#
- (lambda (#{e\ 805}#
- #{r\ 806}#
- #{w\ 807}#
- #{m\ 808}#
- #{esew\ 809}#
- #{mod\ 810}#)
+ (lambda (#{e\ 743}#
+ #{r\ 744}#
+ #{w\ 745}#
+ #{m\ 746}#
+ #{esew\ 747}#
+ #{mod\ 748}#)
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{e\ 805}#
- #{r\ 806}#
- #{w\ 807}#
- (#{source-annotation\ 122}# #{e\ 805}#)
+ #{e\ 743}#
+ #{r\ 744}#
+ #{w\ 745}#
+ (#{source-annotation\ 122}# #{e\ 743}#)
#f
- #{mod\ 810}#
+ #{mod\ 748}#
#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}#)
+ (lambda (#{type\ 756}#
+ #{value\ 757}#
+ #{e\ 758}#
+ #{w\ 759}#
+ #{s\ 760}#
+ #{mod\ 761}#)
+ (if (memv #{type\ 756}# (quote (begin-form)))
+ ((lambda (#{tmp\ 762}#)
+ ((lambda (#{tmp\ 763}#)
+ (if #{tmp\ 763}#
+ (apply (lambda (#{_\ 764}#) (#{chi-void\ 174}#))
+ #{tmp\ 763}#)
+ ((lambda (#{tmp\ 765}#)
+ (if #{tmp\ 765}#
+ (apply (lambda (#{_\ 766}#
+ #{e1\ 767}#
+ #{e2\ 768}#)
(#{chi-top-sequence\ 162}#
- (cons #{e1\ 829}# #{e2\ 830}#)
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
- #{m\ 808}#
- #{esew\ 809}#
- #{mod\ 823}#))
- #{tmp\ 827}#)
+ (cons #{e1\ 767}# #{e2\ 768}#)
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
+ #{m\ 746}#
+ #{esew\ 747}#
+ #{mod\ 761}#))
+ #{tmp\ 765}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 824}#)))
+ #{tmp\ 762}#)))
($sc-dispatch
- #{tmp\ 824}#
+ #{tmp\ 762}#
'(any any . each-any)))))
- ($sc-dispatch #{tmp\ 824}# (quote (any)))))
- #{e\ 820}#)
- (if (memv #{type\ 818}# (quote (local-syntax-form)))
+ ($sc-dispatch #{tmp\ 762}# (quote (any)))))
+ #{e\ 758}#)
+ (if (memv #{type\ 756}# (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}#)
+ #{value\ 757}#
+ #{e\ 758}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
+ #{mod\ 761}#
+ (lambda (#{body\ 770}#
+ #{r\ 771}#
+ #{w\ 772}#
+ #{s\ 773}#
+ #{mod\ 774}#)
(#{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}#
+ #{body\ 770}#
+ #{r\ 771}#
+ #{w\ 772}#
+ #{s\ 773}#
+ #{m\ 746}#
+ #{esew\ 747}#
+ #{mod\ 774}#)))
+ (if (memv #{type\ 756}# (quote (eval-when-form)))
+ ((lambda (#{tmp\ 775}#)
+ ((lambda (#{tmp\ 776}#)
+ (if #{tmp\ 776}#
+ (apply (lambda (#{_\ 777}#
+ #{x\ 778}#
+ #{e1\ 779}#
+ #{e2\ 780}#)
+ (let ((#{when-list\ 781}#
(#{chi-when-list\ 164}#
- #{e\ 820}#
- #{x\ 840}#
- #{w\ 821}#))
- (#{body\ 844}#
- (cons #{e1\ 841}#
- #{e2\ 842}#)))
- (if (eq? #{m\ 808}# (quote e))
+ #{e\ 758}#
+ #{x\ 778}#
+ #{w\ 759}#))
+ (#{body\ 782}#
+ (cons #{e1\ 779}#
+ #{e2\ 780}#)))
+ (if (eq? #{m\ 746}# (quote e))
(if (memq 'eval
- #{when-list\ 843}#)
+ #{when-list\ 781}#)
(#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ #{body\ 782}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
'e
'(eval)
- #{mod\ 823}#)
+ #{mod\ 761}#)
(#{chi-void\ 174}#))
(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\ 781}#)
+ (if (let ((#{t\ 785}# (memq
'compile
+
#{when-list\ 781}#)))
+ (if #{t\ 785}#
+ #{t\ 785}#
+ (if (eq? #{m\ 746}#
'c&e)
(memq 'eval
- #{when-list\
843}#)
+ #{when-list\
781}#)
#f)))
(#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ #{body\ 782}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
'c&e
'(compile load)
- #{mod\ 823}#)
- (if (memq #{m\ 808}#
+ #{mod\ 761}#)
+ (if (memq #{m\ 746}#
'(c c&e))
(#{chi-top-sequence\ 162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ #{body\ 782}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
'c
'(load)
- #{mod\ 823}#)
+ #{mod\ 761}#)
(#{chi-void\ 174}#)))
- (if (let ((#{t\ 848}# (memq
'compile
-
#{when-list\ 843}#)))
- (if #{t\ 848}#
- #{t\ 848}#
- (if (eq? #{m\ 808}#
+ (if (let ((#{t\ 786}# (memq
'compile
+
#{when-list\ 781}#)))
+ (if #{t\ 786}#
+ #{t\ 786}#
+ (if (eq? #{m\ 746}#
'c&e)
(memq 'eval
- #{when-list\
843}#)
+ #{when-list\
781}#)
#f)))
(begin
(#{top-level-eval-hook\
90}#
(#{chi-top-sequence\
162}#
- #{body\ 844}#
- #{r\ 806}#
- #{w\ 821}#
- #{s\ 822}#
+ #{body\ 782}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
'e
'(eval)
- #{mod\ 823}#)
- #{mod\ 823}#)
+ #{mod\ 761}#)
+ #{mod\ 761}#)
(#{chi-void\ 174}#))
(#{chi-void\ 174}#))))))
- #{tmp\ 838}#)
+ #{tmp\ 776}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 837}#)))
+ #{tmp\ 775}#)))
($sc-dispatch
- #{tmp\ 837}#
+ #{tmp\ 775}#
'(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}#
+ #{e\ 758}#)
+ (if (memv #{type\ 756}# (quote (define-syntax-form)))
+ (let ((#{n\ 787}# (#{id-var-name\ 153}#
+ #{value\ 757}#
+ #{w\ 759}#))
+ (#{r\ 788}# (#{macros-only-env\ 127}#
+ #{r\ 744}#)))
+ (if (memv #{m\ 746}# (quote (c)))
+ (if (memq (quote compile) #{esew\ 747}#)
+ (let ((#{e\ 789}# (#{chi-install-global\ 163}#
+ #{n\ 787}#
(#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ #{e\ 758}#
+ #{r\ 788}#
+ #{w\ 759}#
+ #{mod\ 761}#))))
(begin
(#{top-level-eval-hook\ 90}#
- #{e\ 851}#
- #{mod\ 823}#)
- (if (memq (quote load) #{esew\ 809}#)
- #{e\ 851}#
+ #{e\ 789}#
+ #{mod\ 761}#)
+ (if (memq (quote load) #{esew\ 747}#)
+ #{e\ 789}#
(#{chi-void\ 174}#))))
- (if (memq (quote load) #{esew\ 809}#)
+ (if (memq (quote load) #{esew\ 747}#)
(#{chi-install-global\ 163}#
- #{n\ 849}#
+ #{n\ 787}#
(#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))
+ #{e\ 758}#
+ #{r\ 788}#
+ #{w\ 759}#
+ #{mod\ 761}#))
(#{chi-void\ 174}#)))
- (if (memv #{m\ 808}# (quote (c&e)))
- (let ((#{e\ 852}# (#{chi-install-global\ 163}#
- #{n\ 849}#
+ (if (memv #{m\ 746}# (quote (c&e)))
+ (let ((#{e\ 790}# (#{chi-install-global\ 163}#
+ #{n\ 787}#
(#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ #{e\ 758}#
+ #{r\ 788}#
+ #{w\ 759}#
+ #{mod\ 761}#))))
(begin
(#{top-level-eval-hook\ 90}#
- #{e\ 852}#
- #{mod\ 823}#)
- #{e\ 852}#))
+ #{e\ 790}#
+ #{mod\ 761}#)
+ #{e\ 790}#))
(begin
- (if (memq (quote eval) #{esew\ 809}#)
+ (if (memq (quote eval) #{esew\ 747}#)
(#{top-level-eval-hook\ 90}#
(#{chi-install-global\ 163}#
- #{n\ 849}#
+ #{n\ 787}#
(#{chi\ 167}#
- #{e\ 820}#
- #{r\ 850}#
- #{w\ 821}#
- #{mod\ 823}#))
- #{mod\ 823}#))
+ #{e\ 758}#
+ #{r\ 788}#
+ #{w\ 759}#
+ #{mod\ 761}#))
+ #{mod\ 761}#))
(#{chi-void\ 174}#)))))
- (if (memv #{type\ 818}# (quote (define-form)))
- (let ((#{n\ 853}# (#{id-var-name\ 153}#
- #{value\ 819}#
- #{w\ 821}#)))
- (let ((#{type\ 854}#
+ (if (memv #{type\ 756}# (quote (define-form)))
+ (let ((#{n\ 791}# (#{id-var-name\ 153}#
+ #{value\ 757}#
+ #{w\ 759}#)))
+ (let ((#{type\ 792}#
(#{binding-type\ 123}#
(#{lookup\ 128}#
- #{n\ 853}#
- #{r\ 806}#
- #{mod\ 823}#))))
- (if (memv #{type\ 854}#
+ #{n\ 791}#
+ #{r\ 744}#
+ #{mod\ 761}#))))
+ (if (memv #{type\ 792}#
'(global core macro module-ref))
(begin
(if (if (not (module-local-variable
(current-module)
- #{n\ 853}#))
+ #{n\ 791}#))
(current-module)
#f)
- (let ((#{old\ 855}#
+ (let ((#{old\ 793}#
(module-variable
(current-module)
- #{n\ 853}#)))
+ #{n\ 791}#)))
(module-define!
(current-module)
- #{n\ 853}#
- (if (variable? #{old\ 855}#)
- (variable-ref #{old\ 855}#)
+ #{n\ 791}#
+ (if (variable? #{old\ 793}#)
+ (variable-ref #{old\ 793}#)
#f))))
- (let ((#{x\ 856}#
(#{build-global-definition\ 104}#
- #{s\ 822}#
- #{n\ 853}#
+ (let ((#{x\ 794}#
(#{build-global-definition\ 104}#
+ #{s\ 760}#
+ #{n\ 791}#
(#{chi\ 167}#
- #{e\ 820}#
- #{r\ 806}#
- #{w\ 821}#
- #{mod\ 823}#))))
+ #{e\ 758}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{mod\ 761}#))))
(begin
- (if (eq? #{m\ 808}# (quote c&e))
+ (if (eq? #{m\ 746}# (quote c&e))
(#{top-level-eval-hook\ 90}#
- #{x\ 856}#
- #{mod\ 823}#))
- #{x\ 856}#)))
- (if (memv #{type\ 854}#
+ #{x\ 794}#
+ #{mod\ 761}#))
+ #{x\ 794}#)))
+ (if (memv #{type\ 792}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
- #{e\ 820}#
+ #{e\ 758}#
(#{wrap\ 159}#
- #{value\ 819}#
- #{w\ 821}#
- #{mod\ 823}#))
+ #{value\ 757}#
+ #{w\ 759}#
+ #{mod\ 761}#))
(syntax-violation
#f
"cannot define keyword at top level"
- #{e\ 820}#
+ #{e\ 758}#
(#{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}#)))
+ #{value\ 757}#
+ #{w\ 759}#
+ #{mod\ 761}#))))))
+ (let ((#{x\ 795}# (#{chi-expr\ 168}#
+ #{type\ 756}#
+ #{value\ 757}#
+ #{e\ 758}#
+ #{r\ 744}#
+ #{w\ 759}#
+ #{s\ 760}#
+ #{mod\ 761}#)))
(begin
- (if (eq? #{m\ 808}# (quote c&e))
+ (if (eq? #{m\ 746}# (quote c&e))
(#{top-level-eval-hook\ 90}#
- #{x\ 857}#
- #{mod\ 823}#))
- #{x\ 857}#)))))))))))
+ #{x\ 795}#
+ #{mod\ 761}#))
+ #{x\ 795}#)))))))))))
(#{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)))
+ (lambda (#{e\ 796}#
+ #{r\ 797}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{rib\ 800}#
+ #{mod\ 801}#
+ #{for-car?\ 802}#)
+ (if (symbol? #{e\ 796}#)
+ (let ((#{n\ 803}# (#{id-var-name\ 153}#
+ #{e\ 796}#
+ #{w\ 798}#)))
+ (let ((#{b\ 804}# (#{lookup\ 128}#
+ #{n\ 803}#
+ #{r\ 797}#
+ #{mod\ 801}#)))
+ (let ((#{type\ 805}#
+ (#{binding-type\ 123}# #{b\ 804}#)))
+ (if (memv #{type\ 805}# (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\ 805}#
+ (#{binding-value\ 124}# #{b\ 804}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{type\ 805}# (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\ 805}#
+ #{n\ 803}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{type\ 805}# (quote (macro)))
+ (if #{for-car?\ 802}#
(values
- #{type\ 867}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
+ #{type\ 805}#
+ (#{binding-value\ 124}# #{b\ 804}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
(#{syntax-type\ 165}#
(#{chi-macro\ 170}#
- (#{binding-value\ 124}# #{b\ 866}#)
- #{e\ 858}#
- #{r\ 859}#
- #{w\ 860}#
- #{rib\ 862}#
- #{mod\ 863}#)
- #{r\ 859}#
+ (#{binding-value\ 124}# #{b\ 804}#)
+ #{e\ 796}#
+ #{r\ 797}#
+ #{w\ 798}#
+ #{rib\ 800}#
+ #{mod\ 801}#)
+ #{r\ 797}#
'(())
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
+ #{s\ 799}#
+ #{rib\ 800}#
+ #{mod\ 801}#
#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\ 805}#
+ (#{binding-value\ 124}# #{b\ 804}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)))))))
+ (if (pair? #{e\ 796}#)
+ (let ((#{first\ 806}# (car #{e\ 796}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{first\ 868}#
- #{r\ 859}#
- #{w\ 860}#
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
+ #{first\ 806}#
+ #{r\ 797}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{rib\ 800}#
+ #{mod\ 801}#
#t))
- (lambda (#{ftype\ 869}#
- #{fval\ 870}#
- #{fe\ 871}#
- #{fw\ 872}#
- #{fs\ 873}#
- #{fmod\ 874}#)
- (if (memv #{ftype\ 869}# (quote (lexical)))
+ (lambda (#{ftype\ 807}#
+ #{fval\ 808}#
+ #{fe\ 809}#
+ #{fw\ 810}#
+ #{fs\ 811}#
+ #{fmod\ 812}#)
+ (if (memv #{ftype\ 807}# (quote (lexical)))
(values
'lexical-call
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}# (quote (global)))
+ #{fval\ 808}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}# (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)))
+ #{fval\ 808}#
+ #{w\ 798}#
+ #{fmod\ 812}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}# (quote (macro)))
(#{syntax-type\ 165}#
(#{chi-macro\ 170}#
- #{fval\ 870}#
- #{e\ 858}#
- #{r\ 859}#
- #{w\ 860}#
- #{rib\ 862}#
- #{mod\ 863}#)
- #{r\ 859}#
+ #{fval\ 808}#
+ #{e\ 796}#
+ #{r\ 797}#
+ #{w\ 798}#
+ #{rib\ 800}#
+ #{mod\ 801}#)
+ #{r\ 797}#
'(())
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 863}#
- #{for-car?\ 864}#)
- (if (memv #{ftype\ 869}# (quote (module-ref)))
+ #{s\ 799}#
+ #{rib\ 800}#
+ #{mod\ 801}#
+ #{for-car?\ 802}#)
+ (if (memv #{ftype\ 807}# (quote (module-ref)))
(call-with-values
- (lambda () (#{fval\ 870}# #{e\ 858}#))
- (lambda (#{sym\ 875}# #{mod\ 876}#)
+ (lambda () (#{fval\ 808}# #{e\ 796}#))
+ (lambda (#{sym\ 813}# #{mod\ 814}#)
(#{syntax-type\ 165}#
- #{sym\ 875}#
- #{r\ 859}#
- #{w\ 860}#
- #{s\ 861}#
- #{rib\ 862}#
- #{mod\ 876}#
- #{for-car?\ 864}#)))
- (if (memv #{ftype\ 869}# (quote (core)))
+ #{sym\ 813}#
+ #{r\ 797}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{rib\ 800}#
+ #{mod\ 814}#
+ #{for-car?\ 802}#)))
+ (if (memv #{ftype\ 807}# (quote (core)))
(values
'core-form
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{fval\ 808}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}#
'(local-syntax))
(values
'local-syntax-form
- #{fval\ 870}#
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}# (quote (begin)))
+ #{fval\ 808}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}# (quote (begin)))
(values
'begin-form
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}#
'(eval-when))
(values
'eval-when-form
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
+ (if (memv #{ftype\ 807}#
'(define))
- ((lambda (#{tmp\ 877}#)
- ((lambda (#{tmp\ 878}#)
- (if (if #{tmp\ 878}#
- (apply (lambda (#{_\
879}#
- #{name\
880}#
- #{val\
881}#)
+ ((lambda (#{tmp\ 815}#)
+ ((lambda (#{tmp\ 816}#)
+ (if (if #{tmp\ 816}#
+ (apply (lambda (#{_\
817}#
+ #{name\
818}#
+ #{val\
819}#)
(#{id?\ 131}#
- #{name\
880}#))
- #{tmp\ 878}#)
+ #{name\
818}#))
+ #{tmp\ 816}#)
#f)
- (apply (lambda (#{_\ 882}#
- #{name\
883}#
- #{val\
884}#)
+ (apply (lambda (#{_\ 820}#
+ #{name\
821}#
+ #{val\
822}#)
(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}#)
+ #{name\ 821}#
+ #{val\ 822}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#))
+ #{tmp\ 816}#)
+ ((lambda (#{tmp\ 823}#)
+ (if (if #{tmp\ 823}#
+ (apply (lambda
(#{_\ 824}#
+
#{name\ 825}#
+
#{args\ 826}#
+
#{e1\ 827}#
+
#{e2\ 828}#)
(if
(#{id?\ 131}#
-
#{name\ 887}#)
+
#{name\ 825}#)
(#{valid-bound-ids?\ 156}#
(#{lambda-var-list\ 182}#
-
#{args\ 888}#))
+
#{args\ 826}#))
#f))
- #{tmp\
885}#)
+ #{tmp\
823}#)
#f)
- (apply (lambda (#{_\
891}#
-
#{name\ 892}#
-
#{args\ 893}#
- #{e1\
894}#
- #{e2\
895}#)
+ (apply (lambda (#{_\
829}#
+
#{name\ 830}#
+
#{args\ 831}#
+ #{e1\
832}#
+ #{e2\
833}#)
(values
'define-form
(#{wrap\
159}#
- #{name\
892}#
- #{w\ 860}#
- #{mod\
863}#)
+ #{name\
830}#
+ #{w\ 798}#
+ #{mod\
801}#)
(#{decorate-source\ 94}#
(cons
'#(syntax-object
lambda
@@ -4202,32 +3974,32 @@
(hygiene
guile))
(#{wrap\ 159}#
-
(cons #{args\ 893}#
-
(cons #{e1\ 894}#
-
#{e2\ 895}#))
-
#{w\ 860}#
-
#{mod\ 863}#))
- #{s\
861}#)
+
(cons #{args\ 831}#
+
(cons #{e1\ 832}#
+
#{e2\ 833}#))
+
#{w\ 798}#
+
#{mod\ 801}#))
+ #{s\
799}#)
'(())
- #{s\ 861}#
- #{mod\
863}#))
- #{tmp\ 885}#)
- ((lambda (#{tmp\ 897}#)
- (if (if #{tmp\ 897}#
- (apply
(lambda (#{_\ 898}#
-
#{name\ 899}#)
+ #{s\ 799}#
+ #{mod\
801}#))
+ #{tmp\ 823}#)
+ ((lambda (#{tmp\ 835}#)
+ (if (if #{tmp\ 835}#
+ (apply
(lambda (#{_\ 836}#
+
#{name\ 837}#)
(#{id?\ 131}#
-
#{name\ 899}#))
- #{tmp\
897}#)
+
#{name\ 837}#))
+ #{tmp\
835}#)
#f)
- (apply (lambda
(#{_\ 900}#
-
#{name\ 901}#)
+ (apply (lambda
(#{_\ 838}#
+
#{name\ 839}#)
(values
'define-form
(#{wrap\ 159}#
-
#{name\ 901}#
- #{w\
860}#
-
#{mod\ 863}#)
+
#{name\ 839}#
+ #{w\
798}#
+
#{mod\ 801}#)
'(#(syntax-object
if
((top)
@@ -5549,102 +5321,102 @@
(hygiene
guile)))
'(())
- #{s\
861}#
- #{mod\
863}#))
- #{tmp\
897}#)
+ #{s\
799}#
+ #{mod\
801}#))
+ #{tmp\
835}#)
(syntax-violation
#f
"source
expression failed to match any pattern"
- #{tmp\ 877}#)))
+ #{tmp\ 815}#)))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 815}#
'(any any)))))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 815}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 877}#
+ #{tmp\ 815}#
'(any any any))))
- #{e\ 858}#)
- (if (memv #{ftype\ 869}#
+ #{e\ 796}#)
+ (if (memv #{ftype\ 807}#
'(define-syntax))
- ((lambda (#{tmp\ 902}#)
- ((lambda (#{tmp\ 903}#)
- (if (if #{tmp\ 903}#
- (apply (lambda (#{_\
904}#
-
#{name\ 905}#
-
#{val\ 906}#)
+ ((lambda (#{tmp\ 840}#)
+ ((lambda (#{tmp\ 841}#)
+ (if (if #{tmp\ 841}#
+ (apply (lambda (#{_\
842}#
+
#{name\ 843}#
+
#{val\ 844}#)
(#{id?\ 131}#
- #{name\
905}#))
- #{tmp\ 903}#)
+ #{name\
843}#))
+ #{tmp\ 841}#)
#f)
- (apply (lambda (#{_\ 907}#
- #{name\
908}#
- #{val\
909}#)
+ (apply (lambda (#{_\ 845}#
+ #{name\
846}#
+ #{val\
847}#)
(values
'define-syntax-form
- #{name\ 908}#
- #{val\ 909}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#))
- #{tmp\ 903}#)
+ #{name\ 846}#
+ #{val\ 847}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#))
+ #{tmp\ 841}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 902}#)))
+ #{tmp\ 840}#)))
($sc-dispatch
- #{tmp\ 902}#
+ #{tmp\ 840}#
'(any any any))))
- #{e\ 858}#)
+ #{e\ 796}#)
(values
'call
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#))))))))))))))
- (if (#{syntax-object?\ 115}# #{e\ 858}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#))))))))))))))
+ (if (#{syntax-object?\ 115}# #{e\ 796}#)
(#{syntax-type\ 165}#
- (#{syntax-object-expression\ 116}# #{e\ 858}#)
- #{r\ 859}#
+ (#{syntax-object-expression\ 116}# #{e\ 796}#)
+ #{r\ 797}#
(#{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}#)
+ #{w\ 798}#
+ (#{syntax-object-wrap\ 117}# #{e\ 796}#))
+ #{s\ 799}#
+ #{rib\ 800}#
+ (let ((#{t\ 848}# (#{syntax-object-module\ 118}#
+ #{e\ 796}#)))
+ (if #{t\ 848}# #{t\ 848}# #{mod\ 801}#))
+ #{for-car?\ 802}#)
+ (if (self-evaluating? #{e\ 796}#)
(values
'constant
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)
(values
'other
#f
- #{e\ 858}#
- #{w\ 860}#
- #{s\ 861}#
- #{mod\ 863}#)))))))
+ #{e\ 796}#
+ #{w\ 798}#
+ #{s\ 799}#
+ #{mod\ 801}#)))))))
(#{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}#)))
+ (lambda (#{e\ 849}# #{when-list\ 850}# #{w\ 851}#)
+ (letrec ((#{f\ 852}# (lambda (#{when-list\ 853}#
+ #{situations\ 854}#)
+ (if (null? #{when-list\ 853}#)
+ #{situations\ 854}#
+ (#{f\ 852}# (cdr #{when-list\ 853}#)
+ (cons (let ((#{x\ 855}#
(car #{when-list\ 853}#)))
(if (#{free-id=?\
154}#
- #{x\ 917}#
+ #{x\ 855}#
'#(syntax-object
compile
((top)
@@ -6055,7 +5827,7 @@
guile)))
'compile
(if
(#{free-id=?\ 154}#
- #{x\ 917}#
+ #{x\ 855}#
'#(syntax-object
load
((top)
@@ -6466,7 +6238,7 @@
guile)))
'load
(if
(#{free-id=?\ 154}#
- #{x\
917}#
+ #{x\
855}#
'#(syntax-object
eval
((top)
@@ -6879,25 +6651,25 @@
(syntax-violation
'eval-when
"invalid
situation"
- #{e\ 911}#
+ #{e\ 849}#
(#{wrap\
159}#
- #{x\
917}#
- #{w\
913}#
+ #{x\
855}#
+ #{w\
851}#
#f))))))
- #{situations\
916}#))))))
- (#{f\ 914}# #{when-list\ 912}# (quote ())))))
+ #{situations\
854}#))))))
+ (#{f\ 852}# #{when-list\ 850}# (quote ())))))
(#{chi-install-global\ 163}#
- (lambda (#{name\ 918}# #{e\ 919}#)
+ (lambda (#{name\ 856}# #{e\ 857}#)
(#{build-global-definition\ 104}#
#f
- #{name\ 918}#
- (if (let ((#{v\ 920}# (module-variable
+ #{name\ 856}#
+ (if (let ((#{v\ 858}# (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\ 856}#)))
+ (if #{v\ 858}#
+ (if (variable-bound? #{v\ 858}#)
+ (if (macro? (variable-ref #{v\ 858}#))
+ (not (eq? (macro-type (variable-ref #{v\ 858}#))
'syncase-macro))
#f)
#f)
@@ -6916,1187 +6688,1176 @@
#f
'current-module)
'())
- (#{build-data\ 109}# #f #{name\ 918}#)))
+ (#{build-data\ 109}# #f #{name\ 856}#)))
(#{build-data\ 109}# #f (quote macro))
- #{e\ 919}#))
+ #{e\ 857}#))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
#f
'make-syncase-macro)
(list (#{build-data\ 109}# #f (quote macro))
- #{e\ 919}#))))))
+ #{e\ 857}#))))))
(#{chi-top-sequence\ 162}#
- (lambda (#{body\ 921}#
- #{r\ 922}#
- #{w\ 923}#
- #{s\ 924}#
- #{m\ 925}#
- #{esew\ 926}#
- #{mod\ 927}#)
+ (lambda (#{body\ 859}#
+ #{r\ 860}#
+ #{w\ 861}#
+ #{s\ 862}#
+ #{m\ 863}#
+ #{esew\ 864}#
+ #{mod\ 865}#)
(#{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}#)
+ #{s\ 862}#
+ (letrec ((#{dobody\ 866}#
+ (lambda (#{body\ 867}#
+ #{r\ 868}#
+ #{w\ 869}#
+ #{m\ 870}#
+ #{esew\ 871}#
+ #{mod\ 872}#)
+ (if (null? #{body\ 867}#)
'()
- (let ((#{first\ 935}#
+ (let ((#{first\ 873}#
(#{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}#)))))
+ (car #{body\ 867}#)
+ #{r\ 868}#
+ #{w\ 869}#
+ #{m\ 870}#
+ #{esew\ 871}#
+ #{mod\ 872}#)))
+ (cons #{first\ 873}#
+ (#{dobody\ 866}#
+ (cdr #{body\ 867}#)
+ #{r\ 868}#
+ #{w\ 869}#
+ #{m\ 870}#
+ #{esew\ 871}#
+ #{mod\ 872}#)))))))
+ (#{dobody\ 866}#
+ #{body\ 859}#
+ #{r\ 860}#
+ #{w\ 861}#
+ #{m\ 863}#
+ #{esew\ 864}#
+ #{mod\ 865}#)))))
(#{chi-sequence\ 161}#
- (lambda (#{body\ 936}#
- #{r\ 937}#
- #{w\ 938}#
- #{s\ 939}#
- #{mod\ 940}#)
+ (lambda (#{body\ 874}#
+ #{r\ 875}#
+ #{w\ 876}#
+ #{s\ 877}#
+ #{mod\ 878}#)
(#{build-sequence\ 110}#
- #{s\ 939}#
- (letrec ((#{dobody\ 941}#
- (lambda (#{body\ 942}#
- #{r\ 943}#
- #{w\ 944}#
- #{mod\ 945}#)
- (if (null? #{body\ 942}#)
+ #{s\ 877}#
+ (letrec ((#{dobody\ 879}#
+ (lambda (#{body\ 880}#
+ #{r\ 881}#
+ #{w\ 882}#
+ #{mod\ 883}#)
+ (if (null? #{body\ 880}#)
'()
- (let ((#{first\ 946}#
+ (let ((#{first\ 884}#
(#{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}#)))))
+ (car #{body\ 880}#)
+ #{r\ 881}#
+ #{w\ 882}#
+ #{mod\ 883}#)))
+ (cons #{first\ 884}#
+ (#{dobody\ 879}#
+ (cdr #{body\ 880}#)
+ #{r\ 881}#
+ #{w\ 882}#
+ #{mod\ 883}#)))))))
+ (#{dobody\ 879}#
+ #{body\ 874}#
+ #{r\ 875}#
+ #{w\ 876}#
+ #{mod\ 878}#)))))
(#{source-wrap\ 160}#
- (lambda (#{x\ 947}#
- #{w\ 948}#
- #{s\ 949}#
- #{defmod\ 950}#)
+ (lambda (#{x\ 885}#
+ #{w\ 886}#
+ #{s\ 887}#
+ #{defmod\ 888}#)
(#{wrap\ 159}#
- (#{decorate-source\ 94}# #{x\ 947}# #{s\ 949}#)
- #{w\ 948}#
- #{defmod\ 950}#)))
+ (#{decorate-source\ 94}# #{x\ 885}# #{s\ 887}#)
+ #{w\ 886}#
+ #{defmod\ 888}#)))
(#{wrap\ 159}#
- (lambda (#{x\ 951}# #{w\ 952}# #{defmod\ 953}#)
- (if (if (null? (#{wrap-marks\ 134}# #{w\ 952}#))
- (null? (#{wrap-subst\ 135}# #{w\ 952}#))
+ (lambda (#{x\ 889}# #{w\ 890}# #{defmod\ 891}#)
+ (if (if (null? (#{wrap-marks\ 134}# #{w\ 890}#))
+ (null? (#{wrap-subst\ 135}# #{w\ 890}#))
#f)
- #{x\ 951}#
- (if (#{syntax-object?\ 115}# #{x\ 951}#)
+ #{x\ 889}#
+ (if (#{syntax-object?\ 115}# #{x\ 889}#)
(#{make-syntax-object\ 114}#
- (#{syntax-object-expression\ 116}# #{x\ 951}#)
+ (#{syntax-object-expression\ 116}# #{x\ 889}#)
(#{join-wraps\ 150}#
- #{w\ 952}#
- (#{syntax-object-wrap\ 117}# #{x\ 951}#))
- (#{syntax-object-module\ 118}# #{x\ 951}#))
- (if (null? #{x\ 951}#)
- #{x\ 951}#
+ #{w\ 890}#
+ (#{syntax-object-wrap\ 117}# #{x\ 889}#))
+ (#{syntax-object-module\ 118}# #{x\ 889}#))
+ (if (null? #{x\ 889}#)
+ #{x\ 889}#
(#{make-syntax-object\ 114}#
- #{x\ 951}#
- #{w\ 952}#
- #{defmod\ 953}#))))))
+ #{x\ 889}#
+ #{w\ 890}#
+ #{defmod\ 891}#))))))
(#{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}#
+ (lambda (#{x\ 892}# #{list\ 893}#)
+ (if (not (null? #{list\ 893}#))
+ (let ((#{t\ 894}# (#{bound-id=?\ 155}#
+ #{x\ 892}#
+ (car #{list\ 893}#))))
+ (if #{t\ 894}#
+ #{t\ 894}#
(#{bound-id-member?\ 158}#
- #{x\ 954}#
- (cdr #{list\ 955}#))))
+ #{x\ 892}#
+ (cdr #{list\ 893}#))))
#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}#
+ (lambda (#{ids\ 895}#)
+ (letrec ((#{distinct?\ 896}#
+ (lambda (#{ids\ 897}#)
+ (let ((#{t\ 898}# (null? #{ids\ 897}#)))
+ (if #{t\ 898}#
+ #{t\ 898}#
(if (not (#{bound-id-member?\ 158}#
- (car #{ids\ 959}#)
- (cdr #{ids\ 959}#)))
- (#{distinct?\ 958}# (cdr #{ids\ 959}#))
+ (car #{ids\ 897}#)
+ (cdr #{ids\ 897}#)))
+ (#{distinct?\ 896}# (cdr #{ids\ 897}#))
#f))))))
- (#{distinct?\ 958}# #{ids\ 957}#))))
+ (#{distinct?\ 896}# #{ids\ 895}#))))
(#{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}#))
+ (lambda (#{ids\ 899}#)
+ (if (letrec ((#{all-ids?\ 900}#
+ (lambda (#{ids\ 901}#)
+ (let ((#{t\ 902}# (null? #{ids\ 901}#)))
+ (if #{t\ 902}#
+ #{t\ 902}#
+ (if (#{id?\ 131}# (car #{ids\ 901}#))
+ (#{all-ids?\ 900}# (cdr #{ids\ 901}#))
#f))))))
- (#{all-ids?\ 962}# #{ids\ 961}#))
- (#{distinct-bound-ids?\ 157}# #{ids\ 961}#)
+ (#{all-ids?\ 900}# #{ids\ 899}#))
+ (#{distinct-bound-ids?\ 157}# #{ids\ 899}#)
#f)))
(#{bound-id=?\ 155}#
- (lambda (#{i\ 965}# #{j\ 966}#)
- (if (if (#{syntax-object?\ 115}# #{i\ 965}#)
- (#{syntax-object?\ 115}# #{j\ 966}#)
+ (lambda (#{i\ 903}# #{j\ 904}#)
+ (if (if (#{syntax-object?\ 115}# #{i\ 903}#)
+ (#{syntax-object?\ 115}# #{j\ 904}#)
#f)
- (if (eq? (#{syntax-object-expression\ 116}# #{i\ 965}#)
- (#{syntax-object-expression\ 116}# #{j\ 966}#))
+ (if (eq? (#{syntax-object-expression\ 116}# #{i\ 903}#)
+ (#{syntax-object-expression\ 116}# #{j\ 904}#))
(#{same-marks?\ 152}#
(#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{i\ 965}#))
+ (#{syntax-object-wrap\ 117}# #{i\ 903}#))
(#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{j\ 966}#)))
+ (#{syntax-object-wrap\ 117}# #{j\ 904}#)))
#f)
- (eq? #{i\ 965}# #{j\ 966}#))))
+ (eq? #{i\ 903}# #{j\ 904}#))))
(#{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 (()))))
+ (lambda (#{i\ 905}# #{j\ 906}#)
+ (if (eq? (let ((#{x\ 907}# #{i\ 905}#))
+ (if (#{syntax-object?\ 115}# #{x\ 907}#)
+ (#{syntax-object-expression\ 116}# #{x\ 907}#)
+ #{x\ 907}#))
+ (let ((#{x\ 908}# #{j\ 906}#))
+ (if (#{syntax-object?\ 115}# #{x\ 908}#)
+ (#{syntax-object-expression\ 116}# #{x\ 908}#)
+ #{x\ 908}#)))
+ (eq? (#{id-var-name\ 153}# #{i\ 905}# (quote (())))
+ (#{id-var-name\ 153}# #{j\ 906}# (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}#)
+ (lambda (#{id\ 909}# #{w\ 910}#)
+ (letrec ((#{search-vector-rib\ 913}#
+ (lambda (#{sym\ 919}#
+ #{subst\ 920}#
+ #{marks\ 921}#
+ #{symnames\ 922}#
+ #{ribcage\ 923}#)
+ (let ((#{n\ 924}# (vector-length
+ #{symnames\ 922}#)))
+ (letrec ((#{f\ 925}# (lambda (#{i\ 926}#)
(if (#{fx=\ 88}#
- #{i\ 988}#
- #{n\ 986}#)
- (#{search\ 973}#
- #{sym\ 981}#
- (cdr #{subst\ 982}#)
- #{marks\ 983}#)
+ #{i\ 926}#
+ #{n\ 924}#)
+ (#{search\ 911}#
+ #{sym\ 919}#
+ (cdr #{subst\ 920}#)
+ #{marks\ 921}#)
(if (if (eq? (vector-ref
-
#{symnames\ 984}#
- #{i\
988}#)
- #{sym\
981}#)
+
#{symnames\ 922}#
+ #{i\
926}#)
+ #{sym\
919}#)
(#{same-marks?\
152}#
- #{marks\ 983}#
+ #{marks\ 921}#
(vector-ref
(#{ribcage-marks\ 141}#
- #{ribcage\
985}#)
- #{i\ 988}#))
+ #{ribcage\
923}#)
+ #{i\ 926}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 142}#
- #{ribcage\
985}#)
- #{i\ 988}#)
- #{marks\ 983}#)
- (#{f\ 987}# (#{fx+\
86}#
- #{i\
988}#
+ #{ribcage\
923}#)
+ #{i\ 926}#)
+ #{marks\ 921}#)
+ (#{f\ 925}# (#{fx+\
86}#
+ #{i\
926}#
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}#)
+ (#{f\ 925}# 0)))))
+ (#{search-list-rib\ 912}#
+ (lambda (#{sym\ 927}#
+ #{subst\ 928}#
+ #{marks\ 929}#
+ #{symnames\ 930}#
+ #{ribcage\ 931}#)
+ (letrec ((#{f\ 932}# (lambda (#{symnames\ 933}#
+ #{i\ 934}#)
+ (if (null? #{symnames\
933}#)
+ (#{search\ 911}#
+ #{sym\ 927}#
+ (cdr #{subst\ 928}#)
+ #{marks\ 929}#)
+ (if (if (eq? (car
#{symnames\ 933}#)
+ #{sym\ 927}#)
(#{same-marks?\
152}#
- #{marks\ 991}#
+ #{marks\ 929}#
(list-ref
(#{ribcage-marks\ 141}#
- #{ribcage\
993}#)
- #{i\ 996}#))
+ #{ribcage\
931}#)
+ #{i\ 934}#))
#f)
(values
(list-ref
(#{ribcage-labels\
142}#
- #{ribcage\ 993}#)
- #{i\ 996}#)
- #{marks\ 991}#)
- (#{f\ 994}# (cdr
#{symnames\ 995}#)
+ #{ribcage\ 931}#)
+ #{i\ 934}#)
+ #{marks\ 929}#)
+ (#{f\ 932}# (cdr
#{symnames\ 933}#)
(#{fx+\ 86}#
- #{i\ 996}#
+ #{i\ 934}#
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}#
+ (#{f\ 932}# #{symnames\ 930}# 0))))
+ (#{search\ 911}#
+ (lambda (#{sym\ 935}# #{subst\ 936}# #{marks\ 937}#)
+ (if (null? #{subst\ 936}#)
+ (values #f #{marks\ 937}#)
+ (let ((#{fst\ 938}# (car #{subst\ 936}#)))
+ (if (eq? #{fst\ 938}# (quote shift))
+ (#{search\ 911}#
+ #{sym\ 935}#
+ (cdr #{subst\ 936}#)
+ (cdr #{marks\ 937}#))
+ (let ((#{symnames\ 939}#
(#{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}#
- (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}#
+ #{fst\ 938}#)))
+ (if (vector? #{symnames\ 939}#)
+ (#{search-vector-rib\ 913}#
+ #{sym\ 935}#
+ #{subst\ 936}#
+ #{marks\ 937}#
+ #{symnames\ 939}#
+ #{fst\ 938}#)
+ (#{search-list-rib\ 912}#
+ #{sym\ 935}#
+ #{subst\ 936}#
+ #{marks\ 937}#
+ #{symnames\ 939}#
+ #{fst\ 938}#)))))))))
+ (if (symbol? #{id\ 909}#)
+ (let ((#{t\ 940}# (call-with-values
+ (lambda ()
+ (#{search\ 911}#
+ #{id\ 909}#
+ (#{wrap-subst\ 135}# #{w\ 910}#)
+ (#{wrap-marks\ 134}# #{w\ 910}#)))
+ (lambda (#{x\ 941}# . #{ignore\ 942}#)
+ #{x\ 941}#))))
+ (if #{t\ 940}# #{t\ 940}# #{id\ 909}#))
+ (if (#{syntax-object?\ 115}# #{id\ 909}#)
+ (let ((#{id\ 943}#
+ (#{syntax-object-expression\ 116}# #{id\ 909}#))
+ (#{w1\ 944}#
+ (#{syntax-object-wrap\ 117}# #{id\ 909}#)))
+ (let ((#{marks\ 945}#
(#{join-marks\ 151}#
- (#{wrap-marks\ 134}# #{w\ 972}#)
- (#{wrap-marks\ 134}# #{w1\ 1006}#))))
+ (#{wrap-marks\ 134}# #{w\ 910}#)
+ (#{wrap-marks\ 134}# #{w1\ 944}#))))
(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}#
- (call-with-values
- (lambda ()
- (#{search\ 973}#
- #{id\ 1005}#
- (#{wrap-subst\ 135}#
- #{w1\ 1006}#)
- #{marks\ 1009}#))
- (lambda (#{x\ 1012}#
- .
- #{ignore\ 1013}#)
- #{x\ 1012}#))))
- (if #{t\ 1011}#
- #{t\ 1011}#
- #{id\ 1005}#))))))))
+ (#{search\ 911}#
+ #{id\ 943}#
+ (#{wrap-subst\ 135}# #{w\ 910}#)
+ #{marks\ 945}#))
+ (lambda (#{new-id\ 946}# #{marks\ 947}#)
+ (let ((#{t\ 948}# #{new-id\ 946}#))
+ (if #{t\ 948}#
+ #{t\ 948}#
+ (let ((#{t\ 949}# (call-with-values
+ (lambda ()
+ (#{search\ 911}#
+ #{id\ 943}#
+ (#{wrap-subst\ 135}#
+ #{w1\ 944}#)
+ #{marks\ 947}#))
+ (lambda (#{x\ 950}#
+ .
+ #{ignore\ 951}#)
+ #{x\ 950}#))))
+ (if #{t\ 949}#
+ #{t\ 949}#
+ #{id\ 943}#))))))))
(syntax-violation
'id-var-name
"invalid id"
- #{id\ 971}#))))))
+ #{id\ 909}#))))))
(#{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}#))
+ (lambda (#{x\ 952}# #{y\ 953}#)
+ (let ((#{t\ 954}# (eq? #{x\ 952}# #{y\ 953}#)))
+ (if #{t\ 954}#
+ #{t\ 954}#
+ (if (not (null? #{x\ 952}#))
+ (if (not (null? #{y\ 953}#))
+ (if (eq? (car #{x\ 952}#) (car #{y\ 953}#))
(#{same-marks?\ 152}#
- (cdr #{x\ 1014}#)
- (cdr #{y\ 1015}#))
+ (cdr #{x\ 952}#)
+ (cdr #{y\ 953}#))
#f)
#f)
#f)))))
(#{join-marks\ 151}#
- (lambda (#{m1\ 1017}# #{m2\ 1018}#)
- (#{smart-append\ 149}# #{m1\ 1017}# #{m2\ 1018}#)))
+ (lambda (#{m1\ 955}# #{m2\ 956}#)
+ (#{smart-append\ 149}# #{m1\ 955}# #{m2\ 956}#)))
(#{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}#
+ (lambda (#{w1\ 957}# #{w2\ 958}#)
+ (let ((#{m1\ 959}# (#{wrap-marks\ 134}# #{w1\ 957}#))
+ (#{s1\ 960}# (#{wrap-subst\ 135}# #{w1\ 957}#)))
+ (if (null? #{m1\ 959}#)
+ (if (null? #{s1\ 960}#)
+ #{w2\ 958}#
(#{make-wrap\ 133}#
- (#{wrap-marks\ 134}# #{w2\ 1020}#)
+ (#{wrap-marks\ 134}# #{w2\ 958}#)
(#{smart-append\ 149}#
- #{s1\ 1022}#
- (#{wrap-subst\ 135}# #{w2\ 1020}#))))
+ #{s1\ 960}#
+ (#{wrap-subst\ 135}# #{w2\ 958}#))))
(#{make-wrap\ 133}#
(#{smart-append\ 149}#
- #{m1\ 1021}#
- (#{wrap-marks\ 134}# #{w2\ 1020}#))
+ #{m1\ 959}#
+ (#{wrap-marks\ 134}# #{w2\ 958}#))
(#{smart-append\ 149}#
- #{s1\ 1022}#
- (#{wrap-subst\ 135}# #{w2\ 1020}#)))))))
+ #{s1\ 960}#
+ (#{wrap-subst\ 135}# #{w2\ 958}#)))))))
(#{smart-append\ 149}#
- (lambda (#{m1\ 1023}# #{m2\ 1024}#)
- (if (null? #{m2\ 1024}#)
- #{m1\ 1023}#
- (append #{m1\ 1023}# #{m2\ 1024}#))))
+ (lambda (#{m1\ 961}# #{m2\ 962}#)
+ (if (null? #{m2\ 962}#)
+ #{m1\ 961}#
+ (append #{m1\ 961}# #{m2\ 962}#))))
(#{make-binding-wrap\ 148}#
- (lambda (#{ids\ 1025}# #{labels\ 1026}# #{w\ 1027}#)
- (if (null? #{ids\ 1025}#)
- #{w\ 1027}#
+ (lambda (#{ids\ 963}# #{labels\ 964}# #{w\ 965}#)
+ (if (null? #{ids\ 963}#)
+ #{w\ 965}#
(#{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}#)))
+ (#{wrap-marks\ 134}# #{w\ 965}#)
+ (cons (let ((#{labelvec\ 966}#
+ (list->vector #{labels\ 964}#)))
+ (let ((#{n\ 967}# (vector-length
+ #{labelvec\ 966}#)))
+ (let ((#{symnamevec\ 968}#
+ (make-vector #{n\ 967}#))
+ (#{marksvec\ 969}#
+ (make-vector #{n\ 967}#)))
(begin
- (letrec ((#{f\ 1032}#
- (lambda (#{ids\ 1033}# #{i\ 1034}#)
- (if (not (null? #{ids\ 1033}#))
- (call-with-values
- (lambda ()
- (#{id-sym-name&marks\ 132}#
- (car #{ids\ 1033}#)
- #{w\ 1027}#))
- (lambda (#{symname\ 1035}#
- #{marks\ 1036}#)
- (begin
- (vector-set!
- #{symnamevec\ 1030}#
- #{i\ 1034}#
- #{symname\ 1035}#)
- (vector-set!
- #{marksvec\ 1031}#
- #{i\ 1034}#
- #{marks\ 1036}#)
- (#{f\ 1032}#
- (cdr #{ids\ 1033}#)
- (#{fx+\ 86}#
- #{i\ 1034}#
- 1)))))))))
- (#{f\ 1032}# #{ids\ 1025}# 0))
+ (letrec ((#{f\ 970}# (lambda (#{ids\ 971}#
+ #{i\ 972}#)
+ (if (not (null? #{ids\
971}#))
+ (call-with-values
+ (lambda ()
+
(#{id-sym-name&marks\ 132}#
+ (car #{ids\
971}#)
+ #{w\ 965}#))
+ (lambda
(#{symname\ 973}#
+ #{marks\
974}#)
+ (begin
+ (vector-set!
+
#{symnamevec\ 968}#
+ #{i\ 972}#
+ #{symname\
973}#)
+ (vector-set!
+ #{marksvec\
969}#
+ #{i\ 972}#
+ #{marks\
974}#)
+ (#{f\ 970}#
(cdr #{ids\ 971}#)
+
(#{fx+\ 86}#
+
#{i\ 972}#
+
1)))))))))
+ (#{f\ 970}# #{ids\ 963}# 0))
(#{make-ribcage\ 138}#
- #{symnamevec\ 1030}#
- #{marksvec\ 1031}#
- #{labelvec\ 1028}#)))))
- (#{wrap-subst\ 135}# #{w\ 1027}#))))))
+ #{symnamevec\ 968}#
+ #{marksvec\ 969}#
+ #{labelvec\ 966}#)))))
+ (#{wrap-subst\ 135}# #{w\ 965}#))))))
(#{extend-ribcage!\ 147}#
- (lambda (#{ribcage\ 1037}# #{id\ 1038}# #{label\ 1039}#)
+ (lambda (#{ribcage\ 975}# #{id\ 976}# #{label\ 977}#)
(begin
(#{set-ribcage-symnames!\ 143}#
- #{ribcage\ 1037}#
- (cons (#{syntax-object-expression\ 116}# #{id\ 1038}#)
- (#{ribcage-symnames\ 140}# #{ribcage\ 1037}#)))
+ #{ribcage\ 975}#
+ (cons (#{syntax-object-expression\ 116}# #{id\ 976}#)
+ (#{ribcage-symnames\ 140}# #{ribcage\ 975}#)))
(#{set-ribcage-marks!\ 144}#
- #{ribcage\ 1037}#
+ #{ribcage\ 975}#
(cons (#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{id\ 1038}#))
- (#{ribcage-marks\ 141}# #{ribcage\ 1037}#)))
+ (#{syntax-object-wrap\ 117}# #{id\ 976}#))
+ (#{ribcage-marks\ 141}# #{ribcage\ 975}#)))
(#{set-ribcage-labels!\ 145}#
- #{ribcage\ 1037}#
- (cons #{label\ 1039}#
- (#{ribcage-labels\ 142}# #{ribcage\ 1037}#))))))
+ #{ribcage\ 975}#
+ (cons #{label\ 977}#
+ (#{ribcage-labels\ 142}# #{ribcage\ 975}#))))))
(#{anti-mark\ 146}#
- (lambda (#{w\ 1040}#)
+ (lambda (#{w\ 978}#)
(#{make-wrap\ 133}#
- (cons #f (#{wrap-marks\ 134}# #{w\ 1040}#))
+ (cons #f (#{wrap-marks\ 134}# #{w\ 978}#))
(cons 'shift
- (#{wrap-subst\ 135}# #{w\ 1040}#)))))
+ (#{wrap-subst\ 135}# #{w\ 978}#)))))
(#{set-ribcage-labels!\ 145}#
- (lambda (#{x\ 1041}# #{update\ 1042}#)
- (vector-set! #{x\ 1041}# 3 #{update\ 1042}#)))
+ (lambda (#{x\ 979}# #{update\ 980}#)
+ (vector-set! #{x\ 979}# 3 #{update\ 980}#)))
(#{set-ribcage-marks!\ 144}#
- (lambda (#{x\ 1043}# #{update\ 1044}#)
- (vector-set! #{x\ 1043}# 2 #{update\ 1044}#)))
+ (lambda (#{x\ 981}# #{update\ 982}#)
+ (vector-set! #{x\ 981}# 2 #{update\ 982}#)))
(#{set-ribcage-symnames!\ 143}#
- (lambda (#{x\ 1045}# #{update\ 1046}#)
- (vector-set! #{x\ 1045}# 1 #{update\ 1046}#)))
+ (lambda (#{x\ 983}# #{update\ 984}#)
+ (vector-set! #{x\ 983}# 1 #{update\ 984}#)))
(#{ribcage-labels\ 142}#
- (lambda (#{x\ 1047}#) (vector-ref #{x\ 1047}# 3)))
+ (lambda (#{x\ 985}#) (vector-ref #{x\ 985}# 3)))
(#{ribcage-marks\ 141}#
- (lambda (#{x\ 1048}#) (vector-ref #{x\ 1048}# 2)))
+ (lambda (#{x\ 986}#) (vector-ref #{x\ 986}# 2)))
(#{ribcage-symnames\ 140}#
- (lambda (#{x\ 1049}#) (vector-ref #{x\ 1049}# 1)))
+ (lambda (#{x\ 987}#) (vector-ref #{x\ 987}# 1)))
(#{ribcage?\ 139}#
- (lambda (#{x\ 1050}#)
- (if (vector? #{x\ 1050}#)
- (if (= (vector-length #{x\ 1050}#) 4)
- (eq? (vector-ref #{x\ 1050}# 0) (quote ribcage))
+ (lambda (#{x\ 988}#)
+ (if (vector? #{x\ 988}#)
+ (if (= (vector-length #{x\ 988}#) 4)
+ (eq? (vector-ref #{x\ 988}# 0) (quote ribcage))
#f)
#f)))
(#{make-ribcage\ 138}#
- (lambda (#{symnames\ 1051}#
- #{marks\ 1052}#
- #{labels\ 1053}#)
+ (lambda (#{symnames\ 989}#
+ #{marks\ 990}#
+ #{labels\ 991}#)
(vector
'ribcage
- #{symnames\ 1051}#
- #{marks\ 1052}#
- #{labels\ 1053}#)))
+ #{symnames\ 989}#
+ #{marks\ 990}#
+ #{labels\ 991}#)))
(#{gen-labels\ 137}#
- (lambda (#{ls\ 1054}#)
- (if (null? #{ls\ 1054}#)
+ (lambda (#{ls\ 992}#)
+ (if (null? #{ls\ 992}#)
'()
(cons (#{gen-label\ 136}#)
- (#{gen-labels\ 137}# (cdr #{ls\ 1054}#))))))
+ (#{gen-labels\ 137}# (cdr #{ls\ 992}#))))))
(#{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}#)
+ (lambda (#{x\ 993}# #{w\ 994}#)
+ (if (#{syntax-object?\ 115}# #{x\ 993}#)
(values
- (#{syntax-object-expression\ 116}# #{x\ 1055}#)
+ (#{syntax-object-expression\ 116}# #{x\ 993}#)
(#{join-marks\ 151}#
- (#{wrap-marks\ 134}# #{w\ 1056}#)
+ (#{wrap-marks\ 134}# #{w\ 994}#)
(#{wrap-marks\ 134}#
- (#{syntax-object-wrap\ 117}# #{x\ 1055}#))))
+ (#{syntax-object-wrap\ 117}# #{x\ 993}#))))
(values
- #{x\ 1055}#
- (#{wrap-marks\ 134}# #{w\ 1056}#)))))
+ #{x\ 993}#
+ (#{wrap-marks\ 134}# #{w\ 994}#)))))
(#{id?\ 131}#
- (lambda (#{x\ 1057}#)
- (if (symbol? #{x\ 1057}#)
+ (lambda (#{x\ 995}#)
+ (if (symbol? #{x\ 995}#)
#t
- (if (#{syntax-object?\ 115}# #{x\ 1057}#)
+ (if (#{syntax-object?\ 115}# #{x\ 995}#)
(symbol?
- (#{syntax-object-expression\ 116}# #{x\ 1057}#))
+ (#{syntax-object-expression\ 116}# #{x\ 995}#))
#f))))
(#{nonsymbol-id?\ 130}#
- (lambda (#{x\ 1058}#)
- (if (#{syntax-object?\ 115}# #{x\ 1058}#)
+ (lambda (#{x\ 996}#)
+ (if (#{syntax-object?\ 115}# #{x\ 996}#)
(symbol?
- (#{syntax-object-expression\ 116}# #{x\ 1058}#))
+ (#{syntax-object-expression\ 116}# #{x\ 996}#))
#f)))
(#{global-extend\ 129}#
- (lambda (#{type\ 1059}# #{sym\ 1060}# #{val\ 1061}#)
+ (lambda (#{type\ 997}# #{sym\ 998}# #{val\ 999}#)
(#{put-global-definition-hook\ 92}#
- #{sym\ 1060}#
- #{type\ 1059}#
- #{val\ 1061}#)))
+ #{sym\ 998}#
+ #{type\ 997}#
+ #{val\ 999}#)))
(#{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}#
+ (lambda (#{x\ 1000}# #{r\ 1001}# #{mod\ 1002}#)
+ (let ((#{t\ 1003}# (assq #{x\ 1000}# #{r\ 1001}#)))
+ (if #{t\ 1003}#
+ (cdr #{t\ 1003}#)
+ (if (symbol? #{x\ 1000}#)
+ (let ((#{t\ 1004}#
(#{get-global-definition-hook\ 93}#
- #{x\ 1062}#
- #{mod\ 1064}#)))
- (if #{t\ 1066}# #{t\ 1066}# (quote (global))))
+ #{x\ 1000}#
+ #{mod\ 1002}#)))
+ (if #{t\ 1004}# #{t\ 1004}# (quote (global))))
'(displaced-lexical))))))
(#{macros-only-env\ 127}#
- (lambda (#{r\ 1067}#)
- (if (null? #{r\ 1067}#)
+ (lambda (#{r\ 1005}#)
+ (if (null? #{r\ 1005}#)
'()
- (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}#)))))))
+ (let ((#{a\ 1006}# (car #{r\ 1005}#)))
+ (if (eq? (cadr #{a\ 1006}#) (quote macro))
+ (cons #{a\ 1006}#
+ (#{macros-only-env\ 127}# (cdr #{r\ 1005}#)))
+ (#{macros-only-env\ 127}# (cdr #{r\ 1005}#)))))))
(#{extend-var-env\ 126}#
- (lambda (#{labels\ 1069}# #{vars\ 1070}# #{r\ 1071}#)
- (if (null? #{labels\ 1069}#)
- #{r\ 1071}#
+ (lambda (#{labels\ 1007}# #{vars\ 1008}# #{r\ 1009}#)
+ (if (null? #{labels\ 1007}#)
+ #{r\ 1009}#
(#{extend-var-env\ 126}#
- (cdr #{labels\ 1069}#)
- (cdr #{vars\ 1070}#)
- (cons (cons (car #{labels\ 1069}#)
- (cons (quote lexical) (car #{vars\ 1070}#)))
- #{r\ 1071}#)))))
+ (cdr #{labels\ 1007}#)
+ (cdr #{vars\ 1008}#)
+ (cons (cons (car #{labels\ 1007}#)
+ (cons (quote lexical) (car #{vars\ 1008}#)))
+ #{r\ 1009}#)))))
(#{extend-env\ 125}#
- (lambda (#{labels\ 1072}# #{bindings\ 1073}# #{r\ 1074}#)
- (if (null? #{labels\ 1072}#)
- #{r\ 1074}#
+ (lambda (#{labels\ 1010}# #{bindings\ 1011}# #{r\ 1012}#)
+ (if (null? #{labels\ 1010}#)
+ #{r\ 1012}#
(#{extend-env\ 125}#
- (cdr #{labels\ 1072}#)
- (cdr #{bindings\ 1073}#)
- (cons (cons (car #{labels\ 1072}#)
- (car #{bindings\ 1073}#))
- #{r\ 1074}#)))))
+ (cdr #{labels\ 1010}#)
+ (cdr #{bindings\ 1011}#)
+ (cons (cons (car #{labels\ 1010}#)
+ (car #{bindings\ 1011}#))
+ #{r\ 1012}#)))))
(#{binding-value\ 124}# cdr)
(#{binding-type\ 123}# car)
(#{source-annotation\ 122}#
- (lambda (#{x\ 1075}#)
- (if (#{syntax-object?\ 115}# #{x\ 1075}#)
+ (lambda (#{x\ 1013}#)
+ (if (#{syntax-object?\ 115}# #{x\ 1013}#)
(#{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))
+ (#{syntax-object-expression\ 116}# #{x\ 1013}#))
+ (if (pair? #{x\ 1013}#)
+ (let ((#{props\ 1014}# (source-properties #{x\ 1013}#)))
+ (if (pair? #{props\ 1014}#) #{props\ 1014}# #f))
#f))))
(#{set-syntax-object-module!\ 121}#
- (lambda (#{x\ 1077}# #{update\ 1078}#)
- (vector-set! #{x\ 1077}# 3 #{update\ 1078}#)))
+ (lambda (#{x\ 1015}# #{update\ 1016}#)
+ (vector-set! #{x\ 1015}# 3 #{update\ 1016}#)))
(#{set-syntax-object-wrap!\ 120}#
- (lambda (#{x\ 1079}# #{update\ 1080}#)
- (vector-set! #{x\ 1079}# 2 #{update\ 1080}#)))
+ (lambda (#{x\ 1017}# #{update\ 1018}#)
+ (vector-set! #{x\ 1017}# 2 #{update\ 1018}#)))
(#{set-syntax-object-expression!\ 119}#
- (lambda (#{x\ 1081}# #{update\ 1082}#)
- (vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
+ (lambda (#{x\ 1019}# #{update\ 1020}#)
+ (vector-set! #{x\ 1019}# 1 #{update\ 1020}#)))
(#{syntax-object-module\ 118}#
- (lambda (#{x\ 1083}#) (vector-ref #{x\ 1083}# 3)))
+ (lambda (#{x\ 1021}#) (vector-ref #{x\ 1021}# 3)))
(#{syntax-object-wrap\ 117}#
- (lambda (#{x\ 1084}#) (vector-ref #{x\ 1084}# 2)))
+ (lambda (#{x\ 1022}#) (vector-ref #{x\ 1022}# 2)))
(#{syntax-object-expression\ 116}#
- (lambda (#{x\ 1085}#) (vector-ref #{x\ 1085}# 1)))
+ (lambda (#{x\ 1023}#) (vector-ref #{x\ 1023}# 1)))
(#{syntax-object?\ 115}#
- (lambda (#{x\ 1086}#)
- (if (vector? #{x\ 1086}#)
- (if (= (vector-length #{x\ 1086}#) 4)
- (eq? (vector-ref #{x\ 1086}# 0)
+ (lambda (#{x\ 1024}#)
+ (if (vector? #{x\ 1024}#)
+ (if (= (vector-length #{x\ 1024}#) 4)
+ (eq? (vector-ref #{x\ 1024}# 0)
'syntax-object)
#f)
#f)))
(#{make-syntax-object\ 114}#
- (lambda (#{expression\ 1087}#
- #{wrap\ 1088}#
- #{module\ 1089}#)
+ (lambda (#{expression\ 1025}#
+ #{wrap\ 1026}#
+ #{module\ 1027}#)
(vector
'syntax-object
- #{expression\ 1087}#
- #{wrap\ 1088}#
- #{module\ 1089}#)))
+ #{expression\ 1025}#
+ #{wrap\ 1026}#
+ #{module\ 1027}#)))
(#{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)))
+ (lambda (#{src\ 1028}#
+ #{ids\ 1029}#
+ #{vars\ 1030}#
+ #{val-exps\ 1031}#
+ #{body-exp\ 1032}#)
+ (if (null? #{vars\ 1030}#)
+ #{body-exp\ 1032}#
+ (let ((#{atom-key\ 1033}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1033}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 103}#
- #{ids\ 1091}#
- #{val-exps\ 1093}#)
+ #{ids\ 1029}#
+ #{val-exps\ 1031}#)
((@ (language tree-il) make-letrec)
- #{src\ 1090}#
- #{ids\ 1091}#
- #{vars\ 1092}#
- #{val-exps\ 1093}#
- #{body-exp\ 1094}#))
+ #{src\ 1028}#
+ #{ids\ 1029}#
+ #{vars\ 1030}#
+ #{val-exps\ 1031}#
+ #{body-exp\ 1032}#))
(#{decorate-source\ 94}#
(list 'letrec
- (map list #{vars\ 1092}# #{val-exps\ 1093}#)
- #{body-exp\ 1094}#)
- #{src\ 1090}#))))))
+ (map list #{vars\ 1030}# #{val-exps\ 1031}#)
+ #{body-exp\ 1032}#)
+ #{src\ 1028}#))))))
(#{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}#
+ (lambda (#{src\ 1034}#
+ #{ids\ 1035}#
+ #{vars\ 1036}#
+ #{val-exps\ 1037}#
+ #{body-exp\ 1038}#)
+ (let ((#{f\ 1039}# (car #{vars\ 1036}#))
+ (#{f-name\ 1040}# (car #{ids\ 1035}#))
+ (#{vars\ 1041}# (cdr #{vars\ 1036}#))
+ (#{ids\ 1042}# (cdr #{ids\ 1035}#)))
+ (let ((#{atom-key\ 1043}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1043}# (quote (c)))
+ (let ((#{proc\ 1044}#
(#{build-simple-lambda\ 105}#
- #{src\ 1096}#
- #{ids\ 1104}#
+ #{src\ 1034}#
+ #{ids\ 1042}#
#f
- #{vars\ 1103}#
+ #{vars\ 1041}#
#f
- #{body-exp\ 1100}#)))
+ #{body-exp\ 1038}#)))
(begin
(#{maybe-name-value!\ 103}#
- #{f-name\ 1102}#
- #{proc\ 1106}#)
+ #{f-name\ 1040}#
+ #{proc\ 1044}#)
(for-each
#{maybe-name-value!\ 103}#
- #{ids\ 1104}#
- #{val-exps\ 1099}#)
+ #{ids\ 1042}#
+ #{val-exps\ 1037}#)
((@ (language tree-il) make-letrec)
- #{src\ 1096}#
- (list #{f-name\ 1102}#)
- (list #{f\ 1101}#)
- (list #{proc\ 1106}#)
+ #{src\ 1034}#
+ (list #{f-name\ 1040}#)
+ (list #{f\ 1039}#)
+ (list #{proc\ 1044}#)
(#{build-application\ 96}#
- #{src\ 1096}#
+ #{src\ 1034}#
(#{build-lexical-reference\ 98}#
'fun
- #{src\ 1096}#
- #{f-name\ 1102}#
- #{f\ 1101}#)
- #{val-exps\ 1099}#))))
+ #{src\ 1034}#
+ #{f-name\ 1040}#
+ #{f\ 1039}#)
+ #{val-exps\ 1037}#))))
(#{decorate-source\ 94}#
(list 'let
- #{f\ 1101}#
- (map list #{vars\ 1103}# #{val-exps\ 1099}#)
- #{body-exp\ 1100}#)
- #{src\ 1096}#))))))
+ #{f\ 1039}#
+ (map list #{vars\ 1041}# #{val-exps\ 1037}#)
+ #{body-exp\ 1038}#)
+ #{src\ 1034}#))))))
(#{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)))
+ (lambda (#{src\ 1045}#
+ #{ids\ 1046}#
+ #{vars\ 1047}#
+ #{val-exps\ 1048}#
+ #{body-exp\ 1049}#)
+ (if (null? #{vars\ 1047}#)
+ #{body-exp\ 1049}#
+ (let ((#{atom-key\ 1050}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1050}# (quote (c)))
(begin
(for-each
#{maybe-name-value!\ 103}#
- #{ids\ 1108}#
- #{val-exps\ 1110}#)
+ #{ids\ 1046}#
+ #{val-exps\ 1048}#)
((@ (language tree-il) make-let)
- #{src\ 1107}#
- #{ids\ 1108}#
- #{vars\ 1109}#
- #{val-exps\ 1110}#
- #{body-exp\ 1111}#))
+ #{src\ 1045}#
+ #{ids\ 1046}#
+ #{vars\ 1047}#
+ #{val-exps\ 1048}#
+ #{body-exp\ 1049}#))
(#{decorate-source\ 94}#
(list 'let
- (map list #{vars\ 1109}# #{val-exps\ 1110}#)
- #{body-exp\ 1111}#)
- #{src\ 1107}#))))))
+ (map list #{vars\ 1047}# #{val-exps\ 1048}#)
+ #{body-exp\ 1049}#)
+ #{src\ 1045}#))))))
(#{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)))
+ (lambda (#{src\ 1051}# #{exps\ 1052}#)
+ (if (null? (cdr #{exps\ 1052}#))
+ (car #{exps\ 1052}#)
+ (let ((#{atom-key\ 1053}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1053}# (quote (c)))
((@ (language tree-il) make-sequence)
- #{src\ 1113}#
- #{exps\ 1114}#)
+ #{src\ 1051}#
+ #{exps\ 1052}#)
(#{decorate-source\ 94}#
- (cons (quote begin) #{exps\ 1114}#)
- #{src\ 1113}#))))))
+ (cons (quote begin) #{exps\ 1052}#)
+ #{src\ 1051}#))))))
(#{build-data\ 109}#
- (lambda (#{src\ 1116}# #{exp\ 1117}#)
- (let ((#{atom-key\ 1118}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1118}# (quote (c)))
+ (lambda (#{src\ 1054}# #{exp\ 1055}#)
+ (let ((#{atom-key\ 1056}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1056}# (quote (c)))
((@ (language tree-il) make-const)
- #{src\ 1116}#
- #{exp\ 1117}#)
+ #{src\ 1054}#
+ #{exp\ 1055}#)
(#{decorate-source\ 94}#
- (if (if (self-evaluating? #{exp\ 1117}#)
- (not (vector? #{exp\ 1117}#))
+ (if (if (self-evaluating? #{exp\ 1055}#)
+ (not (vector? #{exp\ 1055}#))
#f)
- #{exp\ 1117}#
- (list (quote quote) #{exp\ 1117}#))
- #{src\ 1116}#)))))
+ #{exp\ 1055}#
+ (list (quote quote) #{exp\ 1055}#))
+ #{src\ 1054}#)))))
(#{build-primref\ 108}#
- (lambda (#{src\ 1119}# #{name\ 1120}#)
+ (lambda (#{src\ 1057}# #{name\ 1058}#)
(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\ 1059}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1059}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
- #{src\ 1119}#
- #{name\ 1120}#)
+ #{src\ 1057}#
+ #{name\ 1058}#)
(#{decorate-source\ 94}#
- #{name\ 1120}#
- #{src\ 1119}#)))
- (let ((#{atom-key\ 1122}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1122}# (quote (c)))
+ #{name\ 1058}#
+ #{src\ 1057}#)))
+ (let ((#{atom-key\ 1060}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1060}# (quote (c)))
((@ (language tree-il) make-module-ref)
- #{src\ 1119}#
+ #{src\ 1057}#
'(guile)
- #{name\ 1120}#
+ #{name\ 1058}#
#f)
(#{decorate-source\ 94}#
- (list (quote @@) (quote (guile)) #{name\ 1120}#)
- #{src\ 1119}#))))))
+ (list (quote @@) (quote (guile)) #{name\ 1058}#)
+ #{src\ 1057}#))))))
(#{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)))
+ (lambda (#{src\ 1061}#
+ #{req\ 1062}#
+ #{opt\ 1063}#
+ #{rest\ 1064}#
+ #{kw\ 1065}#
+ #{inits\ 1066}#
+ #{vars\ 1067}#
+ #{body\ 1068}#
+ #{else-case\ 1069}#)
+ (let ((#{atom-key\ 1070}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1070}# (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\ 1061}#
+ #{req\ 1062}#
+ #{opt\ 1063}#
+ #{rest\ 1064}#
+ #{kw\ 1065}#
+ #{inits\ 1066}#
+ #{vars\ 1067}#
+ #{body\ 1068}#
+ #{else-case\ 1069}#)
+ (let ((#{nreq\ 1071}# (length #{req\ 1062}#)))
+ (let ((#{nopt\ 1072}#
+ (if #{opt\ 1063}# (length #{opt\ 1063}#) 0)))
+ (let ((#{rest-idx\ 1073}#
+ (if #{rest\ 1064}#
+ (+ #{nreq\ 1071}# #{nopt\ 1072}#)
#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?\ 1074}#
+ (if #{kw\ 1065}# (car #{kw\ 1065}#) #f)))
+ (let ((#{kw-indices\ 1075}#
+ (map (lambda (#{x\ 1076}#)
+ (cons (car #{x\ 1076}#)
(list-index
- #{vars\ 1129}#
- (caddr #{x\ 1139}#))))
- (if #{kw\ 1127}#
- (cdr #{kw\ 1127}#)
+ #{vars\ 1067}#
+ (caddr #{x\ 1076}#))))
+ (if #{kw\ 1065}#
+ (cdr #{kw\ 1065}#)
'()))))
- (let ((#{nargs\ 1140}#
+ (let ((#{nargs\ 1077}#
(apply max
- (+ #{nreq\ 1134}#
- #{nopt\ 1135}#
- (if #{rest\ 1126}# 1 0))
+ (+ #{nreq\ 1071}#
+ #{nopt\ 1072}#
+ (if #{rest\ 1064}# 1 0))
(map 1+
(map cdr
- #{kw-indices\ 1138}#)))))
+ #{kw-indices\ 1075}#)))))
(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\ 1078}#
+ (= #{nargs\ 1077}#
+ (length #{vars\ 1067}#)
+ (+ #{nreq\ 1071}#
+ (length #{inits\ 1066}#)
+ (if #{rest\ 1064}# 1 0)))))
+ (if #{t\ 1078}#
+ #{t\ 1078}#
(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}#)))
+ #{req\ 1062}#
+ #{opt\ 1063}#
+ #{rest\ 1064}#
+ #{kw\ 1065}#
+ #{inits\ 1066}#
+ #{vars\ 1067}#
+ #{nreq\ 1071}#
+ #{nopt\ 1072}#
+ #{kw-indices\ 1075}#
+ #{nargs\ 1077}#)))
(#{decorate-source\ 94}#
(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\
1071}#
+ #{nopt\
1072}#
+
#{rest-idx\ 1073}#
+
#{nargs\ 1077}#
+
#{allow-other-keys?\ 1074}#
+
#{kw-indices\ 1075}#))
(cons (cons 'list
- (map
(lambda (#{i\ 1142}#)
+ (map
(lambda (#{i\ 1079}#)
(list 'lambda
-
#{vars\ 1129}#
-
#{i\ 1142}#))
-
#{inits\ 1128}#))
- (cons (if
#{predicate\ 1130}#
- (list
'lambda
-
#{vars\ 1129}#
-
#{predicate\ 1130}#)
- #f)
-
'(%%args)))))
+
#{vars\ 1067}#
+
#{i\ 1079}#))
+
#{inits\ 1066}#))
+ '(%%args))))
'=>
(list 'lambda
'(%%%args . _)
(cons 'apply
(cons (list 'lambda
- #{vars\
1129}#
- #{body\
1131}#)
+ #{vars\
1067}#
+ #{body\
1068}#)
'(%%%args)))))
- (let ((#{t\ 1143}#
- #{else-case\ 1132}#))
- (if #{t\ 1143}#
- #{t\ 1143}#
+ (let ((#{t\ 1080}#
+ #{else-case\ 1069}#))
+ (if #{t\ 1080}#
+ #{t\ 1080}#
'((%%args
(error "wrong number of
arguments"
%%args))))))
- #{src\ 1123}#))))))))))))
+ #{src\ 1061}#))))))))))))
(#{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)))
+ (lambda (#{src\ 1081}#
+ #{docstring\ 1082}#
+ #{body\ 1083}#)
+ (let ((#{atom-key\ 1084}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1084}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 1144}#
- (if #{docstring\ 1145}#
- (list (cons (quote documentation) #{docstring\ 1145}#))
+ #{src\ 1081}#
+ (if #{docstring\ 1082}#
+ (list (cons (quote documentation) #{docstring\ 1082}#))
'())
- #{body\ 1146}#)
+ #{body\ 1083}#)
(#{decorate-source\ 94}#
(cons 'lambda
(cons '%%args
(append
- (if #{docstring\ 1145}#
- (list #{docstring\ 1145}#)
+ (if #{docstring\ 1082}#
+ (list #{docstring\ 1082}#)
'())
- (list (cons (quote cond) #{body\ 1146}#)))))
- #{src\ 1144}#)))))
+ (list (cons (quote cond) #{body\ 1083}#)))))
+ #{src\ 1081}#)))))
(#{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)))
+ (lambda (#{src\ 1085}#
+ #{req\ 1086}#
+ #{rest\ 1087}#
+ #{vars\ 1088}#
+ #{docstring\ 1089}#
+ #{exp\ 1090}#)
+ (let ((#{atom-key\ 1091}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1091}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 1148}#
- (if #{docstring\ 1152}#
- (list (cons (quote documentation) #{docstring\ 1152}#))
+ #{src\ 1085}#
+ (if #{docstring\ 1089}#
+ (list (cons (quote documentation) #{docstring\ 1089}#))
'())
((@ (language tree-il) make-lambda-case)
- #{src\ 1148}#
- #{req\ 1149}#
+ #{src\ 1085}#
+ #{req\ 1086}#
#f
- #{rest\ 1150}#
+ #{rest\ 1087}#
#f
'()
- #{vars\ 1151}#
- #f
- #{exp\ 1153}#
+ #{vars\ 1088}#
+ #{exp\ 1090}#
#f))
(#{decorate-source\ 94}#
(cons 'lambda
- (cons (if #{rest\ 1150}#
- (apply cons* #{vars\ 1151}#)
- #{vars\ 1151}#)
+ (cons (if #{rest\ 1087}#
+ (apply cons* #{vars\ 1088}#)
+ #{vars\ 1088}#)
(append
- (if #{docstring\ 1152}#
- (list #{docstring\ 1152}#)
+ (if #{docstring\ 1089}#
+ (list #{docstring\ 1089}#)
'())
- (list #{exp\ 1153}#))))
- #{src\ 1148}#)))))
+ (list #{exp\ 1090}#))))
+ #{src\ 1085}#)))))
(#{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)))
+ (lambda (#{source\ 1092}# #{var\ 1093}# #{exp\ 1094}#)
+ (let ((#{atom-key\ 1095}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1095}# (quote (c)))
(begin
(#{maybe-name-value!\ 103}#
- #{var\ 1156}#
- #{exp\ 1157}#)
+ #{var\ 1093}#
+ #{exp\ 1094}#)
((@ (language tree-il) make-toplevel-define)
- #{source\ 1155}#
- #{var\ 1156}#
- #{exp\ 1157}#))
+ #{source\ 1092}#
+ #{var\ 1093}#
+ #{exp\ 1094}#))
(#{decorate-source\ 94}#
- (list (quote define) #{var\ 1156}# #{exp\ 1157}#)
- #{source\ 1155}#)))))
+ (list (quote define) #{var\ 1093}# #{exp\ 1094}#)
+ #{source\ 1092}#)))))
(#{maybe-name-value!\ 103}#
- (lambda (#{name\ 1159}# #{val\ 1160}#)
- (if ((@ (language tree-il) lambda?) #{val\ 1160}#)
- (let ((#{meta\ 1161}#
+ (lambda (#{name\ 1096}# #{val\ 1097}#)
+ (if ((@ (language tree-il) lambda?) #{val\ 1097}#)
+ (let ((#{meta\ 1098}#
((@ (language tree-il) lambda-meta)
- #{val\ 1160}#)))
- (if (not (assq (quote name) #{meta\ 1161}#))
+ #{val\ 1097}#)))
+ (if (not (assq (quote name) #{meta\ 1098}#))
((setter (@ (language tree-il) lambda-meta))
- #{val\ 1160}#
+ #{val\ 1097}#
(acons 'name
- #{name\ 1159}#
- #{meta\ 1161}#)))))))
+ #{name\ 1096}#
+ #{meta\ 1098}#)))))))
(#{build-global-assignment\ 102}#
- (lambda (#{source\ 1162}#
- #{var\ 1163}#
- #{exp\ 1164}#
- #{mod\ 1165}#)
+ (lambda (#{source\ 1099}#
+ #{var\ 1100}#
+ #{exp\ 1101}#
+ #{mod\ 1102}#)
(#{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)))
+ #{mod\ 1102}#
+ #{var\ 1100}#
+ (lambda (#{mod\ 1103}# #{var\ 1104}# #{public?\ 1105}#)
+ (let ((#{atom-key\ 1106}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1106}# (quote (c)))
((@ (language tree-il) make-module-set)
- #{source\ 1162}#
- #{mod\ 1166}#
- #{var\ 1167}#
- #{public?\ 1168}#
- #{exp\ 1164}#)
+ #{source\ 1099}#
+ #{mod\ 1103}#
+ #{var\ 1104}#
+ #{public?\ 1105}#
+ #{exp\ 1101}#)
(#{decorate-source\ 94}#
(list 'set!
- (list (if #{public?\ 1168}#
+ (list (if #{public?\ 1105}#
'@
'@@)
- #{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\ 1103}#
+ #{var\ 1104}#)
+ #{exp\ 1101}#)
+ #{source\ 1099}#))))
+ (lambda (#{var\ 1107}#)
+ (let ((#{atom-key\ 1108}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1108}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
- #{source\ 1162}#
- #{var\ 1170}#
- #{exp\ 1164}#)
+ #{source\ 1099}#
+ #{var\ 1107}#
+ #{exp\ 1101}#)
(#{decorate-source\ 94}#
- (list (quote set!) #{var\ 1170}# #{exp\ 1164}#)
- #{source\ 1162}#)))))))
+ (list (quote set!) #{var\ 1107}# #{exp\ 1101}#)
+ #{source\ 1099}#)))))))
(#{build-global-reference\ 101}#
- (lambda (#{source\ 1172}# #{var\ 1173}# #{mod\ 1174}#)
+ (lambda (#{source\ 1109}# #{var\ 1110}# #{mod\ 1111}#)
(#{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)))
+ #{mod\ 1111}#
+ #{var\ 1110}#
+ (lambda (#{mod\ 1112}# #{var\ 1113}# #{public?\ 1114}#)
+ (let ((#{atom-key\ 1115}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1115}# (quote (c)))
((@ (language tree-il) make-module-ref)
- #{source\ 1172}#
- #{mod\ 1175}#
- #{var\ 1176}#
- #{public?\ 1177}#)
+ #{source\ 1109}#
+ #{mod\ 1112}#
+ #{var\ 1113}#
+ #{public?\ 1114}#)
(#{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)))
+ (list (if #{public?\ 1114}# (quote @) (quote @@))
+ #{mod\ 1112}#
+ #{var\ 1113}#)
+ #{source\ 1109}#))))
+ (lambda (#{var\ 1116}#)
+ (let ((#{atom-key\ 1117}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1117}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
- #{source\ 1172}#
- #{var\ 1179}#)
+ #{source\ 1109}#
+ #{var\ 1116}#)
(#{decorate-source\ 94}#
- #{var\ 1179}#
- #{source\ 1172}#)))))))
+ #{var\ 1116}#
+ #{source\ 1109}#)))))))
(#{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}#
+ (lambda (#{mod\ 1118}#
+ #{var\ 1119}#
+ #{modref-cont\ 1120}#
+ #{bare-cont\ 1121}#)
+ (if (not #{mod\ 1118}#)
+ (#{bare-cont\ 1121}# #{var\ 1119}#)
+ (let ((#{kind\ 1122}# (car #{mod\ 1118}#))
+ (#{mod\ 1123}# (cdr #{mod\ 1118}#)))
+ (if (memv #{kind\ 1122}# (quote (public)))
+ (#{modref-cont\ 1120}#
+ #{mod\ 1123}#
+ #{var\ 1119}#
#t)
- (if (memv #{kind\ 1185}# (quote (private)))
+ (if (memv #{kind\ 1122}# (quote (private)))
(if (not (equal?
- #{mod\ 1186}#
+ #{mod\ 1123}#
(module-name (current-module))))
- (#{modref-cont\ 1183}#
- #{mod\ 1186}#
- #{var\ 1182}#
+ (#{modref-cont\ 1120}#
+ #{mod\ 1123}#
+ #{var\ 1119}#
#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\ 1121}# #{var\ 1119}#))
+ (if (memv #{kind\ 1122}# (quote (bare)))
+ (#{bare-cont\ 1121}# #{var\ 1119}#)
+ (if (memv #{kind\ 1122}# (quote (hygiene)))
(if (if (not (equal?
- #{mod\ 1186}#
+ #{mod\ 1123}#
(module-name (current-module))))
(module-variable
- (resolve-module #{mod\ 1186}#)
- #{var\ 1182}#)
+ (resolve-module #{mod\ 1123}#)
+ #{var\ 1119}#)
#f)
- (#{modref-cont\ 1183}#
- #{mod\ 1186}#
- #{var\ 1182}#
+ (#{modref-cont\ 1120}#
+ #{mod\ 1123}#
+ #{var\ 1119}#
#f)
- (#{bare-cont\ 1184}# #{var\ 1182}#))
+ (#{bare-cont\ 1121}# #{var\ 1119}#))
(syntax-violation
#f
"bad module kind"
- #{var\ 1182}#
- #{mod\ 1186}#)))))))))
+ #{var\ 1119}#
+ #{mod\ 1123}#)))))))))
(#{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)))
+ (lambda (#{source\ 1124}#
+ #{name\ 1125}#
+ #{var\ 1126}#
+ #{exp\ 1127}#)
+ (let ((#{atom-key\ 1128}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1128}# (quote (c)))
((@ (language tree-il) make-lexical-set)
- #{source\ 1187}#
- #{name\ 1188}#
- #{var\ 1189}#
- #{exp\ 1190}#)
+ #{source\ 1124}#
+ #{name\ 1125}#
+ #{var\ 1126}#
+ #{exp\ 1127}#)
(#{decorate-source\ 94}#
- (list (quote set!) #{var\ 1189}# #{exp\ 1190}#)
- #{source\ 1187}#)))))
+ (list (quote set!) #{var\ 1126}# #{exp\ 1127}#)
+ #{source\ 1124}#)))))
(#{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)))
+ (lambda (#{type\ 1129}#
+ #{source\ 1130}#
+ #{name\ 1131}#
+ #{var\ 1132}#)
+ (let ((#{atom-key\ 1133}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1133}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
- #{source\ 1193}#
- #{name\ 1194}#
- #{var\ 1195}#)
+ #{source\ 1130}#
+ #{name\ 1131}#
+ #{var\ 1132}#)
(#{decorate-source\ 94}#
- #{var\ 1195}#
- #{source\ 1193}#)))))
+ #{var\ 1132}#
+ #{source\ 1130}#)))))
(#{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)))
+ (lambda (#{source\ 1134}#
+ #{test-exp\ 1135}#
+ #{then-exp\ 1136}#
+ #{else-exp\ 1137}#)
+ (let ((#{atom-key\ 1138}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1138}# (quote (c)))
((@ (language tree-il) make-conditional)
- #{source\ 1197}#
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#
- #{else-exp\ 1200}#)
+ #{source\ 1134}#
+ #{test-exp\ 1135}#
+ #{then-exp\ 1136}#
+ #{else-exp\ 1137}#)
(#{decorate-source\ 94}#
- (if (equal? #{else-exp\ 1200}# (quote (if #f #f)))
+ (if (equal? #{else-exp\ 1137}# (quote (if #f #f)))
(list 'if
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#)
+ #{test-exp\ 1135}#
+ #{then-exp\ 1136}#)
(list 'if
- #{test-exp\ 1198}#
- #{then-exp\ 1199}#
- #{else-exp\ 1200}#))
- #{source\ 1197}#)))))
+ #{test-exp\ 1135}#
+ #{then-exp\ 1136}#
+ #{else-exp\ 1137}#))
+ #{source\ 1134}#)))))
(#{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)))
+ (lambda (#{source\ 1139}#
+ #{fun-exp\ 1140}#
+ #{arg-exps\ 1141}#)
+ (let ((#{atom-key\ 1142}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1142}# (quote (c)))
((@ (language tree-il) make-application)
- #{source\ 1202}#
- #{fun-exp\ 1203}#
- #{arg-exps\ 1204}#)
+ #{source\ 1139}#
+ #{fun-exp\ 1140}#
+ #{arg-exps\ 1141}#)
(#{decorate-source\ 94}#
- (cons #{fun-exp\ 1203}# #{arg-exps\ 1204}#)
- #{source\ 1202}#)))))
+ (cons #{fun-exp\ 1140}# #{arg-exps\ 1141}#)
+ #{source\ 1139}#)))))
(#{build-void\ 95}#
- (lambda (#{source\ 1206}#)
- (let ((#{atom-key\ 1207}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1207}# (quote (c)))
+ (lambda (#{source\ 1143}#)
+ (let ((#{atom-key\ 1144}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1144}# (quote (c)))
((@ (language tree-il) make-void)
- #{source\ 1206}#)
+ #{source\ 1143}#)
(#{decorate-source\ 94}#
'(if #f #f)
- #{source\ 1206}#)))))
+ #{source\ 1143}#)))))
(#{decorate-source\ 94}#
- (lambda (#{e\ 1208}# #{s\ 1209}#)
+ (lambda (#{e\ 1145}# #{s\ 1146}#)
(begin
- (if (if (pair? #{e\ 1208}#) #{s\ 1209}# #f)
- (set-source-properties! #{e\ 1208}# #{s\ 1209}#))
- #{e\ 1208}#)))
+ (if (if (pair? #{e\ 1145}#) #{s\ 1146}# #f)
+ (set-source-properties! #{e\ 1145}# #{s\ 1146}#))
+ #{e\ 1145}#)))
(#{get-global-definition-hook\ 93}#
- (lambda (#{symbol\ 1210}# #{module\ 1211}#)
+ (lambda (#{symbol\ 1147}# #{module\ 1148}#)
(begin
- (if (if (not #{module\ 1211}#) (current-module) #f)
+ (if (if (not #{module\ 1148}#) (current-module) #f)
(warn "module system is booted, we should have a module"
- #{symbol\ 1210}#))
- (let ((#{v\ 1212}#
+ #{symbol\ 1147}#))
+ (let ((#{v\ 1149}#
(module-variable
- (if #{module\ 1211}#
- (resolve-module (cdr #{module\ 1211}#))
+ (if #{module\ 1148}#
+ (resolve-module (cdr #{module\ 1148}#))
(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\ 1147}#)))
+ (if #{v\ 1149}#
+ (if (variable-bound? #{v\ 1149}#)
+ (let ((#{val\ 1150}# (variable-ref #{v\ 1149}#)))
+ (if (macro? #{val\ 1150}#)
+ (if (syncase-macro-type #{val\ 1150}#)
+ (cons (syncase-macro-type #{val\ 1150}#)
+ (syncase-macro-binding #{val\ 1150}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 92}#
- (lambda (#{symbol\ 1214}# #{type\ 1215}# #{val\ 1216}#)
- (let ((#{existing\ 1217}#
- (let ((#{v\ 1218}#
+ (lambda (#{symbol\ 1151}# #{type\ 1152}# #{val\ 1153}#)
+ (let ((#{existing\ 1154}#
+ (let ((#{v\ 1155}#
(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\ 1151}#)))
+ (if #{v\ 1155}#
+ (if (variable-bound? #{v\ 1155}#)
+ (let ((#{val\ 1156}# (variable-ref #{v\ 1155}#)))
+ (if (macro? #{val\ 1156}#)
+ (if (not (syncase-macro-type #{val\ 1156}#))
+ #{val\ 1156}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
- #{symbol\ 1214}#
- (if #{existing\ 1217}#
+ #{symbol\ 1151}#
+ (if #{existing\ 1154}#
(make-extended-syncase-macro
- #{existing\ 1217}#
- #{type\ 1215}#
- #{val\ 1216}#)
- (make-syncase-macro #{type\ 1215}# #{val\ 1216}#))))))
+ #{existing\ 1154}#
+ #{type\ 1152}#
+ #{val\ 1153}#)
+ (make-syncase-macro #{type\ 1152}# #{val\ 1153}#))))))
(#{local-eval-hook\ 91}#
- (lambda (#{x\ 1220}# #{mod\ 1221}#)
+ (lambda (#{x\ 1157}# #{mod\ 1158}#)
(primitive-eval
(list #{noexpand\ 84}#
- (let ((#{atom-key\ 1222}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1222}# (quote (c)))
+ (let ((#{atom-key\ 1159}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1159}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 1220}#)
- #{x\ 1220}#))))))
+ #{x\ 1157}#)
+ #{x\ 1157}#))))))
(#{top-level-eval-hook\ 90}#
- (lambda (#{x\ 1223}# #{mod\ 1224}#)
+ (lambda (#{x\ 1160}# #{mod\ 1161}#)
(primitive-eval
(list #{noexpand\ 84}#
- (let ((#{atom-key\ 1225}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 1225}# (quote (c)))
+ (let ((#{atom-key\ 1162}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 1162}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 1223}#)
- #{x\ 1223}#))))))
+ #{x\ 1160}#)
+ #{x\ 1160}#))))))
(#{fx<\ 89}# <)
(#{fx=\ 88}# =)
(#{fx-\ 87}# -)
@@ -8115,1070 +7876,1068 @@
(#{global-extend\ 129}#
'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\ 1163}#
+ #{r\ 1164}#
+ #{w\ 1165}#
+ #{s\ 1166}#
+ #{mod\ 1167}#)
+ ((lambda (#{tmp\ 1168}#)
+ ((lambda (#{tmp\ 1169}#)
+ (if (if #{tmp\ 1169}#
+ (apply (lambda (#{_\ 1170}#
+ #{var\ 1171}#
+ #{val\ 1172}#
+ #{e1\ 1173}#
+ #{e2\ 1174}#)
+ (#{valid-bound-ids?\ 156}# #{var\ 1171}#))
+ #{tmp\ 1169}#)
#f)
- (apply (lambda (#{_\ 1239}#
- #{var\ 1240}#
- #{val\ 1241}#
- #{e1\ 1242}#
- #{e2\ 1243}#)
- (let ((#{names\ 1244}#
- (map (lambda (#{x\ 1245}#)
+ (apply (lambda (#{_\ 1176}#
+ #{var\ 1177}#
+ #{val\ 1178}#
+ #{e1\ 1179}#
+ #{e2\ 1180}#)
+ (let ((#{names\ 1181}#
+ (map (lambda (#{x\ 1182}#)
(#{id-var-name\ 153}#
- #{x\ 1245}#
- #{w\ 1228}#))
- #{var\ 1240}#)))
+ #{x\ 1182}#
+ #{w\ 1165}#))
+ #{var\ 1177}#)))
(begin
(for-each
- (lambda (#{id\ 1247}# #{n\ 1248}#)
- (let ((#{atom-key\ 1249}#
+ (lambda (#{id\ 1184}# #{n\ 1185}#)
+ (let ((#{atom-key\ 1186}#
(#{binding-type\ 123}#
(#{lookup\ 128}#
- #{n\ 1248}#
- #{r\ 1227}#
- #{mod\ 1230}#))))
- (if (memv #{atom-key\ 1249}#
+ #{n\ 1185}#
+ #{r\ 1164}#
+ #{mod\ 1167}#))))
+ (if (memv #{atom-key\ 1186}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
- #{e\ 1226}#
+ #{e\ 1163}#
(#{source-wrap\ 160}#
- #{id\ 1247}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)))))
- #{var\ 1240}#
- #{names\ 1244}#)
+ #{id\ 1184}#
+ #{w\ 1165}#
+ #{s\ 1166}#
+ #{mod\ 1167}#)))))
+ #{var\ 1177}#
+ #{names\ 1181}#)
(#{chi-body\ 171}#
- (cons #{e1\ 1242}# #{e2\ 1243}#)
+ (cons #{e1\ 1179}# #{e2\ 1180}#)
(#{source-wrap\ 160}#
- #{e\ 1226}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)
+ #{e\ 1163}#
+ #{w\ 1165}#
+ #{s\ 1166}#
+ #{mod\ 1167}#)
(#{extend-env\ 125}#
- #{names\ 1244}#
- (let ((#{trans-r\ 1252}#
+ #{names\ 1181}#
+ (let ((#{trans-r\ 1189}#
(#{macros-only-env\ 127}#
- #{r\ 1227}#)))
- (map (lambda (#{x\ 1253}#)
+ #{r\ 1164}#)))
+ (map (lambda (#{x\ 1190}#)
(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}#)
+ #{x\ 1190}#
+ #{trans-r\ 1189}#
+ #{w\ 1165}#
+ #{mod\ 1167}#)
+ #{mod\ 1167}#)))
+ #{val\ 1178}#))
+ #{r\ 1164}#)
+ #{w\ 1165}#
+ #{mod\ 1167}#))))
+ #{tmp\ 1169}#)
+ ((lambda (#{_\ 1192}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 160}#
- #{e\ 1226}#
- #{w\ 1228}#
- #{s\ 1229}#
- #{mod\ 1230}#)))
- #{tmp\ 1231}#)))
+ #{e\ 1163}#
+ #{w\ 1165}#
+ #{s\ 1166}#
+ #{mod\ 1167}#)))
+ #{tmp\ 1168}#)))
($sc-dispatch
- #{tmp\ 1231}#
+ #{tmp\ 1168}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1226}#)))
+ #{e\ 1163}#)))
(#{global-extend\ 129}#
'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}#)
+ (lambda (#{e\ 1193}#
+ #{r\ 1194}#
+ #{w\ 1195}#
+ #{s\ 1196}#
+ #{mod\ 1197}#)
+ ((lambda (#{tmp\ 1198}#)
+ ((lambda (#{tmp\ 1199}#)
+ (if #{tmp\ 1199}#
+ (apply (lambda (#{_\ 1200}# #{e\ 1201}#)
(#{build-data\ 109}#
- #{s\ 1259}#
- (#{strip\ 180}# #{e\ 1264}# #{w\ 1258}#)))
- #{tmp\ 1262}#)
- ((lambda (#{_\ 1265}#)
+ #{s\ 1196}#
+ (#{strip\ 180}# #{e\ 1201}# #{w\ 1195}#)))
+ #{tmp\ 1199}#)
+ ((lambda (#{_\ 1202}#)
(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}#)))
+ #{e\ 1193}#
+ #{w\ 1195}#
+ #{s\ 1196}#
+ #{mod\ 1197}#)))
+ #{tmp\ 1198}#)))
+ ($sc-dispatch #{tmp\ 1198}# (quote (any any)))))
+ #{e\ 1193}#)))
(#{global-extend\ 129}#
'core
'syntax
- (letrec ((#{regen\ 1273}#
- (lambda (#{x\ 1274}#)
- (let ((#{atom-key\ 1275}# (car #{x\ 1274}#)))
- (if (memv #{atom-key\ 1275}# (quote (ref)))
+ (letrec ((#{regen\ 1210}#
+ (lambda (#{x\ 1211}#)
+ (let ((#{atom-key\ 1212}# (car #{x\ 1211}#)))
+ (if (memv #{atom-key\ 1212}# (quote (ref)))
(#{build-lexical-reference\ 98}#
'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}#))
+ (cadr #{x\ 1211}#)
+ (cadr #{x\ 1211}#))
+ (if (memv #{atom-key\ 1212}# (quote (primitive)))
+ (#{build-primref\ 108}# #f (cadr #{x\ 1211}#))
+ (if (memv #{atom-key\ 1212}# (quote (quote)))
+ (#{build-data\ 109}# #f (cadr #{x\ 1211}#))
+ (if (memv #{atom-key\ 1212}# (quote (lambda)))
+ (if (list? (cadr #{x\ 1211}#))
(#{build-simple-lambda\ 105}#
#f
- (cadr #{x\ 1274}#)
+ (cadr #{x\ 1211}#)
#f
- (cadr #{x\ 1274}#)
+ (cadr #{x\ 1211}#)
#f
- (#{regen\ 1273}# (caddr #{x\ 1274}#)))
- (error "how did we get here" #{x\ 1274}#))
+ (#{regen\ 1210}# (caddr #{x\ 1211}#)))
+ (error "how did we get here" #{x\ 1211}#))
(#{build-application\ 96}#
#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\ 108}# #f (car #{x\ 1211}#))
+ (map #{regen\ 1210}#
+ (cdr #{x\ 1211}#))))))))))
+ (#{gen-vector\ 1209}#
+ (lambda (#{x\ 1213}#)
+ (if (eq? (car #{x\ 1213}#) (quote list))
+ (cons (quote vector) (cdr #{x\ 1213}#))
+ (if (eq? (car #{x\ 1213}#) (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\ 1213}#)))
+ (list (quote list->vector) #{x\ 1213}#)))))
+ (#{gen-append\ 1208}#
+ (lambda (#{x\ 1214}# #{y\ 1215}#)
+ (if (equal? #{y\ 1215}# (quote (quote ())))
+ #{x\ 1214}#
+ (list (quote append) #{x\ 1214}# #{y\ 1215}#))))
+ (#{gen-cons\ 1207}#
+ (lambda (#{x\ 1216}# #{y\ 1217}#)
+ (let ((#{atom-key\ 1218}# (car #{y\ 1217}#)))
+ (if (memv #{atom-key\ 1218}# (quote (quote)))
+ (if (eq? (car #{x\ 1216}#) (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\ 1216}#) (cadr #{y\ 1217}#)))
+ (if (eq? (cadr #{y\ 1217}#) (quote ()))
+ (list (quote list) #{x\ 1216}#)
+ (list (quote cons) #{x\ 1216}# #{y\ 1217}#)))
+ (if (memv #{atom-key\ 1218}# (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\ 1216}# (cdr #{y\ 1217}#)))
+ (list (quote cons) #{x\ 1216}# #{y\ 1217}#))))))
+ (#{gen-map\ 1206}#
+ (lambda (#{e\ 1219}# #{map-env\ 1220}#)
+ (let ((#{formals\ 1221}# (map cdr #{map-env\ 1220}#))
+ (#{actuals\ 1222}#
+ (map (lambda (#{x\ 1223}#)
+ (list (quote ref) (car #{x\ 1223}#)))
+ #{map-env\ 1220}#)))
+ (if (eq? (car #{e\ 1219}#) (quote ref))
+ (car #{actuals\ 1222}#)
(if (and-map
- (lambda (#{x\ 1287}#)
- (if (eq? (car #{x\ 1287}#) (quote ref))
- (memq (cadr #{x\ 1287}#) #{formals\ 1284}#)
+ (lambda (#{x\ 1224}#)
+ (if (eq? (car #{x\ 1224}#) (quote ref))
+ (memq (cadr #{x\ 1224}#) #{formals\ 1221}#)
#f))
- (cdr #{e\ 1282}#))
+ (cdr #{e\ 1219}#))
(cons 'map
(cons (list 'primitive
- (car #{e\ 1282}#))
- (map (let ((#{r\ 1288}#
+ (car #{e\ 1219}#))
+ (map (let ((#{r\ 1225}#
(map cons
- #{formals\ 1284}#
- #{actuals\ 1285}#)))
- (lambda (#{x\ 1289}#)
- (cdr (assq (cadr #{x\ 1289}#)
- #{r\ 1288}#))))
- (cdr #{e\ 1282}#))))
+ #{formals\ 1221}#
+ #{actuals\ 1222}#)))
+ (lambda (#{x\ 1226}#)
+ (cdr (assq (cadr #{x\ 1226}#)
+ #{r\ 1225}#))))
+ (cdr #{e\ 1219}#))))
(cons 'map
(cons (list 'lambda
- #{formals\ 1284}#
- #{e\ 1282}#)
- #{actuals\ 1285}#)))))))
- (#{gen-mappend\ 1268}#
- (lambda (#{e\ 1290}# #{map-env\ 1291}#)
+ #{formals\ 1221}#
+ #{e\ 1219}#)
+ #{actuals\ 1222}#)))))))
+ (#{gen-mappend\ 1205}#
+ (lambda (#{e\ 1227}# #{map-env\ 1228}#)
(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\ 1206}# #{e\ 1227}# #{map-env\ 1228}#))))
+ (#{gen-ref\ 1204}#
+ (lambda (#{src\ 1229}#
+ #{var\ 1230}#
+ #{level\ 1231}#
+ #{maps\ 1232}#)
+ (if (#{fx=\ 88}# #{level\ 1231}# 0)
+ (values #{var\ 1230}# #{maps\ 1232}#)
+ (if (null? #{maps\ 1232}#)
(syntax-violation
'syntax
"missing ellipsis"
- #{src\ 1292}#)
+ #{src\ 1229}#)
(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-ref\ 1204}#
+ #{src\ 1229}#
+ #{var\ 1230}#
+ (#{fx-\ 87}# #{level\ 1231}# 1)
+ (cdr #{maps\ 1232}#)))
+ (lambda (#{outer-var\ 1233}# #{outer-maps\ 1234}#)
+ (let ((#{b\ 1235}#
+ (assq #{outer-var\ 1233}#
+ (car #{maps\ 1232}#))))
+ (if #{b\ 1235}#
+ (values (cdr #{b\ 1235}#) #{maps\ 1232}#)
+ (let ((#{inner-var\ 1236}#
(#{gen-var\ 181}# (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}#
+ #{inner-var\ 1236}#
+ (cons (cons (cons #{outer-var\ 1233}#
+ #{inner-var\ 1236}#)
+ (car #{maps\ 1232}#))
+ #{outer-maps\ 1234}#)))))))))))
+ (#{gen-syntax\ 1203}#
+ (lambda (#{src\ 1237}#
+ #{e\ 1238}#
+ #{r\ 1239}#
+ #{maps\ 1240}#
+ #{ellipsis?\ 1241}#
+ #{mod\ 1242}#)
+ (if (#{id?\ 131}# #{e\ 1238}#)
+ (let ((#{label\ 1243}#
(#{id-var-name\ 153}#
- #{e\ 1301}#
+ #{e\ 1238}#
'(()))))
- (let ((#{b\ 1307}#
+ (let ((#{b\ 1244}#
(#{lookup\ 128}#
- #{label\ 1306}#
- #{r\ 1302}#
- #{mod\ 1305}#)))
- (if (eq? (#{binding-type\ 123}# #{b\ 1307}#)
+ #{label\ 1243}#
+ #{r\ 1239}#
+ #{mod\ 1242}#)))
+ (if (eq? (#{binding-type\ 123}# #{b\ 1244}#)
'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\ 1245}#
+ (#{binding-value\ 124}# #{b\ 1244}#)))
+ (#{gen-ref\ 1204}#
+ #{src\ 1237}#
+ (car #{var.lev\ 1245}#)
+ (cdr #{var.lev\ 1245}#)
+ #{maps\ 1240}#)))
+ (lambda (#{var\ 1246}# #{maps\ 1247}#)
(values
- (list (quote ref) #{var\ 1309}#)
- #{maps\ 1310}#)))
- (if (#{ellipsis?\ 1304}# #{e\ 1301}#)
+ (list (quote ref) #{var\ 1246}#)
+ #{maps\ 1247}#)))
+ (if (#{ellipsis?\ 1241}# #{e\ 1238}#)
(syntax-violation
'syntax
"misplaced ellipsis"
- #{src\ 1300}#)
+ #{src\ 1237}#)
(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\ 1238}#)
+ #{maps\ 1240}#)))))
+ ((lambda (#{tmp\ 1248}#)
+ ((lambda (#{tmp\ 1249}#)
+ (if (if #{tmp\ 1249}#
+ (apply (lambda (#{dots\ 1250}# #{e\ 1251}#)
+ (#{ellipsis?\ 1241}#
+ #{dots\ 1250}#))
+ #{tmp\ 1249}#)
#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\ 1252}# #{e\ 1253}#)
+ (#{gen-syntax\ 1203}#
+ #{src\ 1237}#
+ #{e\ 1253}#
+ #{r\ 1239}#
+ #{maps\ 1240}#
+ (lambda (#{x\ 1254}#) #f)
+ #{mod\ 1242}#))
+ #{tmp\ 1249}#)
+ ((lambda (#{tmp\ 1255}#)
+ (if (if #{tmp\ 1255}#
+ (apply (lambda (#{x\ 1256}#
+ #{dots\ 1257}#
+ #{y\ 1258}#)
+ (#{ellipsis?\ 1241}#
+ #{dots\ 1257}#))
+ #{tmp\ 1255}#)
#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\ 1259}#
+ #{dots\ 1260}#
+ #{y\ 1261}#)
+ (letrec ((#{f\ 1262}#
+ (lambda (#{y\ 1263}#
+ #{k\ 1264}#)
+ ((lambda (#{tmp\
1268}#)
+ ((lambda (#{tmp\
1269}#)
+ (if (if #{tmp\
1269}#
+ (apply
(lambda (#{dots\ 1270}#
+
#{y\ 1271}#)
+
(#{ellipsis?\ 1241}#
+
#{dots\ 1270}#))
+
#{tmp\ 1269}#)
#f)
- (apply
(lambda (#{dots\ 1335}#
-
#{y\ 1336}#)
-
(#{f\ 1325}#
-
#{y\ 1336}#
-
(lambda (#{maps\ 1337}#)
+ (apply
(lambda (#{dots\ 1272}#
+
#{y\ 1273}#)
+
(#{f\ 1262}#
+
#{y\ 1273}#
+
(lambda (#{maps\ 1274}#)
(call-with-values
(lambda ()
-
(#{k\ 1327}#
+
(#{k\ 1264}#
(cons '()
-
#{maps\ 1337}#)))
-
(lambda (#{x\ 1338}#
-
#{maps\ 1339}#)
-
(if (null? (car #{maps\ 1339}#))
+
#{maps\ 1274}#)))
+
(lambda (#{x\ 1275}#
+
#{maps\ 1276}#)
+
(if (null? (car #{maps\ 1276}#))
(syntax-violation
'syntax
"extra ellipsis"
-
#{src\ 1300}#)
+
#{src\ 1237}#)
(values
-
(#{gen-mappend\ 1268}#
-
#{x\ 1338}#
-
(car #{maps\ 1339}#))
-
(cdr #{maps\ 1339}#))))))))
-
#{tmp\ 1332}#)
- ((lambda
(#{_\ 1340}#)
+
(#{gen-mappend\ 1205}#
+
#{x\ 1275}#
+
(car #{maps\ 1276}#))
+
(cdr #{maps\ 1276}#))))))))
+
#{tmp\ 1269}#)
+ ((lambda
(#{_\ 1277}#)
(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\ 1203}#
+
#{src\ 1237}#
+
#{y\ 1263}#
+
#{r\ 1239}#
+
#{maps\ 1240}#
+
#{ellipsis?\ 1241}#
+
#{mod\ 1242}#))
+ (lambda
(#{y\ 1278}#
+
#{maps\ 1279}#)
(call-with-values
(lambda ()
-
(#{k\ 1327}#
-
#{maps\ 1342}#))
-
(lambda (#{x\ 1343}#
-
#{maps\ 1344}#)
+
(#{k\ 1264}#
+
#{maps\ 1279}#))
+
(lambda (#{x\ 1280}#
+
#{maps\ 1281}#)
(values
-
(#{gen-append\ 1271}#
-
#{x\ 1343}#
-
#{y\ 1341}#)
-
#{maps\ 1344}#))))))
- #{tmp\
1331}#)))
+
(#{gen-append\ 1208}#
+
#{x\ 1280}#
+
#{y\ 1278}#)
+
#{maps\ 1281}#))))))
+ #{tmp\
1268}#)))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 1268}#
'(any . any))))
- #{y\ 1326}#))))
- (#{f\ 1325}#
- #{y\ 1324}#
- (lambda (#{maps\ 1328}#)
+ #{y\ 1263}#))))
+ (#{f\ 1262}#
+ #{y\ 1261}#
+ (lambda (#{maps\ 1265}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{src\ 1300}#
- #{x\ 1322}#
- #{r\ 1302}#
+ (#{gen-syntax\ 1203}#
+ #{src\ 1237}#
+ #{x\ 1259}#
+ #{r\ 1239}#
(cons '()
- #{maps\ 1328}#)
- #{ellipsis?\ 1304}#
- #{mod\ 1305}#))
- (lambda (#{x\ 1329}#
- #{maps\ 1330}#)
- (if (null? (car #{maps\
1330}#))
+ #{maps\ 1265}#)
+ #{ellipsis?\ 1241}#
+ #{mod\ 1242}#))
+ (lambda (#{x\ 1266}#
+ #{maps\ 1267}#)
+ (if (null? (car #{maps\
1267}#))
(syntax-violation
'syntax
"extra ellipsis"
- #{src\ 1300}#)
+ #{src\ 1237}#)
(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\ 1206}#
+ #{x\ 1266}#
+ (car #{maps\
1267}#))
+ (cdr #{maps\
1267}#)))))))))
+ #{tmp\ 1255}#)
+ ((lambda (#{tmp\ 1282}#)
+ (if #{tmp\ 1282}#
+ (apply (lambda (#{x\ 1283}#
+ #{y\ 1284}#)
(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\ 1203}#
+ #{src\ 1237}#
+ #{x\ 1283}#
+ #{r\ 1239}#
+ #{maps\ 1240}#
+ #{ellipsis?\ 1241}#
+ #{mod\ 1242}#))
+ (lambda (#{x\ 1285}#
+ #{maps\ 1286}#)
(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\ 1203}#
+ #{src\ 1237}#
+ #{y\ 1284}#
+ #{r\ 1239}#
+ #{maps\ 1286}#
+ #{ellipsis?\ 1241}#
+ #{mod\ 1242}#))
+ (lambda (#{y\ 1287}#
+ #{maps\
1288}#)
(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\ 1207}#
+ #{x\ 1285}#
+ #{y\ 1287}#)
+ #{maps\
1288}#))))))
+ #{tmp\ 1282}#)
+ ((lambda (#{tmp\ 1289}#)
+ (if #{tmp\ 1289}#
+ (apply (lambda (#{e1\ 1290}#
+ #{e2\ 1291}#)
(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\
1203}#
+ #{src\ 1237}#
+ (cons #{e1\ 1290}#
+ #{e2\
1291}#)
+ #{r\ 1239}#
+ #{maps\ 1240}#
+ #{ellipsis?\
1241}#
+ #{mod\ 1242}#))
+ (lambda (#{e\ 1293}#
+ #{maps\
1294}#)
(values
- (#{gen-vector\
1272}#
- #{e\ 1356}#)
- #{maps\ 1357}#))))
- #{tmp\ 1352}#)
- ((lambda (#{_\ 1358}#)
+ (#{gen-vector\
1209}#
+ #{e\ 1293}#)
+ #{maps\ 1294}#))))
+ #{tmp\ 1289}#)
+ ((lambda (#{_\ 1295}#)
(values
(list 'quote
- #{e\ 1301}#)
- #{maps\ 1303}#))
- #{tmp\ 1311}#)))
+ #{e\ 1238}#)
+ #{maps\ 1240}#))
+ #{tmp\ 1248}#)))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1248}#
'#(vector (any . each-any))))))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1248}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1248}#
'(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}#
+ ($sc-dispatch #{tmp\ 1248}# (quote (any any)))))
+ #{e\ 1238}#)))))
+ (lambda (#{e\ 1296}#
+ #{r\ 1297}#
+ #{w\ 1298}#
+ #{s\ 1299}#
+ #{mod\ 1300}#)
+ (let ((#{e\ 1301}#
(#{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}#)
+ #{e\ 1296}#
+ #{w\ 1298}#
+ #{s\ 1299}#
+ #{mod\ 1300}#)))
+ ((lambda (#{tmp\ 1302}#)
+ ((lambda (#{tmp\ 1303}#)
+ (if #{tmp\ 1303}#
+ (apply (lambda (#{_\ 1304}# #{x\ 1305}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 1266}#
- #{e\ 1364}#
- #{x\ 1368}#
- #{r\ 1360}#
+ (#{gen-syntax\ 1203}#
+ #{e\ 1301}#
+ #{x\ 1305}#
+ #{r\ 1297}#
'()
#{ellipsis?\ 175}#
- #{mod\ 1363}#))
- (lambda (#{e\ 1369}# #{maps\ 1370}#)
- (#{regen\ 1273}# #{e\ 1369}#))))
- #{tmp\ 1366}#)
- ((lambda (#{_\ 1371}#)
+ #{mod\ 1300}#))
+ (lambda (#{e\ 1306}# #{maps\ 1307}#)
+ (#{regen\ 1210}# #{e\ 1306}#))))
+ #{tmp\ 1303}#)
+ ((lambda (#{_\ 1308}#)
(syntax-violation
'syntax
"bad `syntax' form"
- #{e\ 1364}#))
- #{tmp\ 1365}#)))
- ($sc-dispatch #{tmp\ 1365}# (quote (any any)))))
- #{e\ 1364}#)))))
+ #{e\ 1301}#))
+ #{tmp\ 1302}#)))
+ ($sc-dispatch #{tmp\ 1302}# (quote (any any)))))
+ #{e\ 1301}#)))))
(#{global-extend\ 129}#
'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\ 1309}#
+ #{r\ 1310}#
+ #{w\ 1311}#
+ #{s\ 1312}#
+ #{mod\ 1313}#)
+ ((lambda (#{tmp\ 1314}#)
+ ((lambda (#{tmp\ 1315}#)
+ (if (if #{tmp\ 1315}#
+ (apply (lambda (#{_\ 1316}#
+ #{args\ 1317}#
+ #{docstring\ 1318}#
+ #{e1\ 1319}#
+ #{e2\ 1320}#)
+ (string? (syntax->datum #{docstring\ 1318}#)))
+ #{tmp\ 1315}#)
#f)
- (apply (lambda (#{_\ 1384}#
- #{args\ 1385}#
- #{docstring\ 1386}#
- #{e1\ 1387}#
- #{e2\ 1388}#)
+ (apply (lambda (#{_\ 1321}#
+ #{args\ 1322}#
+ #{docstring\ 1323}#
+ #{e1\ 1324}#
+ #{e2\ 1325}#)
(call-with-values
(lambda ()
- (#{lambda-formals\ 176}# #{args\ 1385}#))
- (lambda (#{req\ 1389}#
- #{opt\ 1390}#
- #{rest\ 1391}#
- #{kw\ 1392}#
- #{pred\ 1393}#)
+ (#{lambda-formals\ 176}# #{args\ 1322}#))
+ (lambda (#{req\ 1326}#
+ #{opt\ 1327}#
+ #{rest\ 1328}#
+ #{kw\ 1329}#)
(#{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}#)
+ #{e\ 1309}#
+ #{r\ 1310}#
+ #{w\ 1311}#
+ #{s\ 1312}#
+ #{mod\ 1313}#
+ #{req\ 1326}#
+ #{rest\ 1328}#
+ (syntax->datum #{docstring\ 1323}#)
+ (cons #{e1\ 1324}# #{e2\ 1325}#)))))
+ #{tmp\ 1315}#)
+ ((lambda (#{tmp\ 1331}#)
+ (if #{tmp\ 1331}#
+ (apply (lambda (#{_\ 1332}#
+ #{args\ 1333}#
+ #{e1\ 1334}#
+ #{e2\ 1335}#)
(call-with-values
(lambda ()
- (#{lambda-formals\ 176}# #{args\ 1397}#))
- (lambda (#{req\ 1400}#
- #{opt\ 1401}#
- #{rest\ 1402}#
- #{kw\ 1403}#
- #{pred\ 1404}#)
+ (#{lambda-formals\ 176}# #{args\ 1333}#))
+ (lambda (#{req\ 1336}#
+ #{opt\ 1337}#
+ #{rest\ 1338}#
+ #{kw\ 1339}#)
(#{chi-simple-lambda\ 177}#
- #{e\ 1372}#
- #{r\ 1373}#
- #{w\ 1374}#
- #{s\ 1375}#
- #{mod\ 1376}#
- #{req\ 1400}#
- #{rest\ 1402}#
+ #{e\ 1309}#
+ #{r\ 1310}#
+ #{w\ 1311}#
+ #{s\ 1312}#
+ #{mod\ 1313}#
+ #{req\ 1336}#
+ #{rest\ 1338}#
#f
- (cons #{e1\ 1398}# #{e2\ 1399}#)))))
- #{tmp\ 1395}#)
- ((lambda (#{_\ 1406}#)
+ (cons #{e1\ 1334}# #{e2\ 1335}#)))))
+ #{tmp\ 1331}#)
+ ((lambda (#{_\ 1341}#)
(syntax-violation
'lambda
"bad lambda"
- #{e\ 1372}#))
- #{tmp\ 1377}#)))
+ #{e\ 1309}#))
+ #{tmp\ 1314}#)))
($sc-dispatch
- #{tmp\ 1377}#
+ #{tmp\ 1314}#
'(any any any . each-any)))))
($sc-dispatch
- #{tmp\ 1377}#
+ #{tmp\ 1314}#
'(any any any any . each-any))))
- #{e\ 1372}#)))
+ #{e\ 1309}#)))
(#{global-extend\ 129}#
'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\ 1342}#
+ #{r\ 1343}#
+ #{w\ 1344}#
+ #{s\ 1345}#
+ #{mod\ 1346}#)
+ ((lambda (#{tmp\ 1347}#)
+ ((lambda (#{tmp\ 1348}#)
+ (if #{tmp\ 1348}#
+ (apply (lambda (#{_\ 1349}#
+ #{args\ 1350}#
+ #{e1\ 1351}#
+ #{e2\ 1352}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 179}#
- #{e\ 1407}#
- #{r\ 1408}#
- #{w\ 1409}#
- #{s\ 1410}#
- #{mod\ 1411}#
+ #{e\ 1342}#
+ #{r\ 1343}#
+ #{w\ 1344}#
+ #{s\ 1345}#
+ #{mod\ 1346}#
#{lambda*-formals\ 178}#
- (list (cons #{args\ 1415}#
- (cons #{e1\ 1416}#
- #{e2\ 1417}#)))))
- (lambda (#{docstring\ 1419}# #{lcase\ 1420}#)
+ (list (cons #{args\ 1350}#
+ (cons #{e1\ 1351}#
+ #{e2\ 1352}#)))))
+ (lambda (#{docstring\ 1354}# #{lcase\ 1355}#)
(#{build-case-lambda\ 106}#
- #{s\ 1410}#
- #{docstring\ 1419}#
- #{lcase\ 1420}#))))
- #{tmp\ 1413}#)
- ((lambda (#{_\ 1421}#)
+ #{s\ 1345}#
+ #{docstring\ 1354}#
+ #{lcase\ 1355}#))))
+ #{tmp\ 1348}#)
+ ((lambda (#{_\ 1356}#)
(syntax-violation
'lambda
"bad lambda*"
- #{e\ 1407}#))
- #{tmp\ 1412}#)))
+ #{e\ 1342}#))
+ #{tmp\ 1347}#)))
($sc-dispatch
- #{tmp\ 1412}#
+ #{tmp\ 1347}#
'(any any any . each-any))))
- #{e\ 1407}#)))
+ #{e\ 1342}#)))
(#{global-extend\ 129}#
'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\ 1357}#
+ #{r\ 1358}#
+ #{w\ 1359}#
+ #{s\ 1360}#
+ #{mod\ 1361}#)
+ ((lambda (#{tmp\ 1362}#)
+ ((lambda (#{tmp\ 1363}#)
+ (if #{tmp\ 1363}#
+ (apply (lambda (#{_\ 1364}#
+ #{args\ 1365}#
+ #{e1\ 1366}#
+ #{e2\ 1367}#
+ #{args*\ 1368}#
+ #{e1*\ 1369}#
+ #{e2*\ 1370}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 179}#
- #{e\ 1422}#
- #{r\ 1423}#
- #{w\ 1424}#
- #{s\ 1425}#
- #{mod\ 1426}#
+ #{e\ 1357}#
+ #{r\ 1358}#
+ #{w\ 1359}#
+ #{s\ 1360}#
+ #{mod\ 1361}#
#{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}#)
+ (cons (cons #{args\ 1365}#
+ (cons #{e1\ 1366}# #{e2\ 1367}#))
+ (map (lambda (#{tmp\ 1374}#
+ #{tmp\ 1373}#
+ #{tmp\ 1372}#)
+ (cons #{tmp\ 1372}#
+ (cons #{tmp\ 1373}#
+ #{tmp\ 1374}#)))
+ #{e2*\ 1370}#
+ #{e1*\ 1369}#
+ #{args*\ 1368}#))))
+ (lambda (#{docstring\ 1376}# #{lcase\ 1377}#)
(#{build-case-lambda\ 106}#
- #{s\ 1425}#
- #{docstring\ 1441}#
- #{lcase\ 1442}#))))
- #{tmp\ 1428}#)
- ((lambda (#{_\ 1443}#)
+ #{s\ 1360}#
+ #{docstring\ 1376}#
+ #{lcase\ 1377}#))))
+ #{tmp\ 1363}#)
+ ((lambda (#{_\ 1378}#)
(syntax-violation
'case-lambda
"bad case-lambda"
- #{e\ 1422}#))
- #{tmp\ 1427}#)))
+ #{e\ 1357}#))
+ #{tmp\ 1362}#)))
($sc-dispatch
- #{tmp\ 1427}#
+ #{tmp\ 1362}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 1422}#)))
+ #{e\ 1357}#)))
(#{global-extend\ 129}#
'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\ 1379}#
+ #{r\ 1380}#
+ #{w\ 1381}#
+ #{s\ 1382}#
+ #{mod\ 1383}#)
+ ((lambda (#{tmp\ 1384}#)
+ ((lambda (#{tmp\ 1385}#)
+ (if #{tmp\ 1385}#
+ (apply (lambda (#{_\ 1386}#
+ #{args\ 1387}#
+ #{e1\ 1388}#
+ #{e2\ 1389}#
+ #{args*\ 1390}#
+ #{e1*\ 1391}#
+ #{e2*\ 1392}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 179}#
- #{e\ 1444}#
- #{r\ 1445}#
- #{w\ 1446}#
- #{s\ 1447}#
- #{mod\ 1448}#
+ #{e\ 1379}#
+ #{r\ 1380}#
+ #{w\ 1381}#
+ #{s\ 1382}#
+ #{mod\ 1383}#
#{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}#)
+ (cons (cons #{args\ 1387}#
+ (cons #{e1\ 1388}# #{e2\ 1389}#))
+ (map (lambda (#{tmp\ 1396}#
+ #{tmp\ 1395}#
+ #{tmp\ 1394}#)
+ (cons #{tmp\ 1394}#
+ (cons #{tmp\ 1395}#
+ #{tmp\ 1396}#)))
+ #{e2*\ 1392}#
+ #{e1*\ 1391}#
+ #{args*\ 1390}#))))
+ (lambda (#{docstring\ 1398}# #{lcase\ 1399}#)
(#{build-case-lambda\ 106}#
- #{s\ 1447}#
- #{docstring\ 1463}#
- #{lcase\ 1464}#))))
- #{tmp\ 1450}#)
- ((lambda (#{_\ 1465}#)
+ #{s\ 1382}#
+ #{docstring\ 1398}#
+ #{lcase\ 1399}#))))
+ #{tmp\ 1385}#)
+ ((lambda (#{_\ 1400}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
- #{e\ 1444}#))
- #{tmp\ 1449}#)))
+ #{e\ 1379}#))
+ #{tmp\ 1384}#)))
($sc-dispatch
- #{tmp\ 1449}#
+ #{tmp\ 1384}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 1444}#)))
+ #{e\ 1379}#)))
(#{global-extend\ 129}#
'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\ 1401}#
+ (lambda (#{e\ 1402}#
+ #{r\ 1403}#
+ #{w\ 1404}#
+ #{s\ 1405}#
+ #{mod\ 1406}#
+ #{constructor\ 1407}#
+ #{ids\ 1408}#
+ #{vals\ 1409}#
+ #{exps\ 1410}#)
+ (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1408}#))
(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}#
+ #{e\ 1402}#)
+ (let ((#{labels\ 1411}#
+ (#{gen-labels\ 137}# #{ids\ 1408}#))
+ (#{new-vars\ 1412}#
+ (map #{gen-var\ 181}# #{ids\ 1408}#)))
+ (let ((#{nw\ 1413}#
(#{make-binding-wrap\ 148}#
- #{ids\ 1473}#
- #{labels\ 1476}#
- #{w\ 1469}#))
- (#{nr\ 1479}#
+ #{ids\ 1408}#
+ #{labels\ 1411}#
+ #{w\ 1404}#))
+ (#{nr\ 1414}#
(#{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}#)
+ #{labels\ 1411}#
+ #{new-vars\ 1412}#
+ #{r\ 1403}#)))
+ (#{constructor\ 1407}#
+ #{s\ 1405}#
+ (map syntax->datum #{ids\ 1408}#)
+ #{new-vars\ 1412}#
+ (map (lambda (#{x\ 1415}#)
(#{chi\ 167}#
- #{x\ 1480}#
- #{r\ 1468}#
- #{w\ 1469}#
- #{mod\ 1471}#))
- #{vals\ 1474}#)
+ #{x\ 1415}#
+ #{r\ 1403}#
+ #{w\ 1404}#
+ #{mod\ 1406}#))
+ #{vals\ 1409}#)
(#{chi-body\ 171}#
- #{exps\ 1475}#
+ #{exps\ 1410}#
(#{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\ 1402}#
+ #{nw\ 1413}#
+ #{s\ 1405}#
+ #{mod\ 1406}#)
+ #{nr\ 1414}#
+ #{nw\ 1413}#
+ #{mod\ 1406}#))))))))
+ (lambda (#{e\ 1416}#
+ #{r\ 1417}#
+ #{w\ 1418}#
+ #{s\ 1419}#
+ #{mod\ 1420}#)
+ ((lambda (#{tmp\ 1421}#)
+ ((lambda (#{tmp\ 1422}#)
+ (if (if #{tmp\ 1422}#
+ (apply (lambda (#{_\ 1423}#
+ #{id\ 1424}#
+ #{val\ 1425}#
+ #{e1\ 1426}#
+ #{e2\ 1427}#)
+ (and-map #{id?\ 131}# #{id\ 1424}#))
+ #{tmp\ 1422}#)
#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}#
+ (apply (lambda (#{_\ 1429}#
+ #{id\ 1430}#
+ #{val\ 1431}#
+ #{e1\ 1432}#
+ #{e2\ 1433}#)
+ (#{chi-let\ 1401}#
+ #{e\ 1416}#
+ #{r\ 1417}#
+ #{w\ 1418}#
+ #{s\ 1419}#
+ #{mod\ 1420}#
#{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}#)
+ #{id\ 1430}#
+ #{val\ 1431}#
+ (cons #{e1\ 1432}# #{e2\ 1433}#)))
+ #{tmp\ 1422}#)
+ ((lambda (#{tmp\ 1437}#)
+ (if (if #{tmp\ 1437}#
+ (apply (lambda (#{_\ 1438}#
+ #{f\ 1439}#
+ #{id\ 1440}#
+ #{val\ 1441}#
+ #{e1\ 1442}#
+ #{e2\ 1443}#)
+ (if (#{id?\ 131}# #{f\ 1439}#)
+ (and-map #{id?\ 131}# #{id\ 1440}#)
#f))
- #{tmp\ 1502}#)
+ #{tmp\ 1437}#)
#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}#
+ (apply (lambda (#{_\ 1445}#
+ #{f\ 1446}#
+ #{id\ 1447}#
+ #{val\ 1448}#
+ #{e1\ 1449}#
+ #{e2\ 1450}#)
+ (#{chi-let\ 1401}#
+ #{e\ 1416}#
+ #{r\ 1417}#
+ #{w\ 1418}#
+ #{s\ 1419}#
+ #{mod\ 1420}#
#{build-named-let\ 112}#
- (cons #{f\ 1511}# #{id\ 1512}#)
- #{val\ 1513}#
- (cons #{e1\ 1514}# #{e2\ 1515}#)))
- #{tmp\ 1502}#)
- ((lambda (#{_\ 1519}#)
+ (cons #{f\ 1446}# #{id\ 1447}#)
+ #{val\ 1448}#
+ (cons #{e1\ 1449}# #{e2\ 1450}#)))
+ #{tmp\ 1437}#)
+ ((lambda (#{_\ 1454}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 160}#
- #{e\ 1481}#
- #{w\ 1483}#
- #{s\ 1484}#
- #{mod\ 1485}#)))
- #{tmp\ 1486}#)))
+ #{e\ 1416}#
+ #{w\ 1418}#
+ #{s\ 1419}#
+ #{mod\ 1420}#)))
+ #{tmp\ 1421}#)))
($sc-dispatch
- #{tmp\ 1486}#
+ #{tmp\ 1421}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1486}#
+ #{tmp\ 1421}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1481}#))))
+ #{e\ 1416}#))))
(#{global-extend\ 129}#
'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\ 1455}#
+ #{r\ 1456}#
+ #{w\ 1457}#
+ #{s\ 1458}#
+ #{mod\ 1459}#)
+ ((lambda (#{tmp\ 1460}#)
+ ((lambda (#{tmp\ 1461}#)
+ (if (if #{tmp\ 1461}#
+ (apply (lambda (#{_\ 1462}#
+ #{id\ 1463}#
+ #{val\ 1464}#
+ #{e1\ 1465}#
+ #{e2\ 1466}#)
+ (and-map #{id?\ 131}# #{id\ 1463}#))
+ #{tmp\ 1461}#)
#f)
- (apply (lambda (#{_\ 1533}#
- #{id\ 1534}#
- #{val\ 1535}#
- #{e1\ 1536}#
- #{e2\ 1537}#)
- (let ((#{ids\ 1538}# #{id\ 1534}#))
+ (apply (lambda (#{_\ 1468}#
+ #{id\ 1469}#
+ #{val\ 1470}#
+ #{e1\ 1471}#
+ #{e2\ 1472}#)
+ (let ((#{ids\ 1473}# #{id\ 1469}#))
(if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 1538}#))
+ #{ids\ 1473}#))
(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}#
+ #{e\ 1455}#)
+ (let ((#{labels\ 1475}#
+ (#{gen-labels\ 137}# #{ids\ 1473}#))
+ (#{new-vars\ 1476}#
+ (map #{gen-var\ 181}# #{ids\ 1473}#)))
+ (let ((#{w\ 1477}#
(#{make-binding-wrap\ 148}#
- #{ids\ 1538}#
- #{labels\ 1540}#
- #{w\ 1522}#))
- (#{r\ 1543}#
+ #{ids\ 1473}#
+ #{labels\ 1475}#
+ #{w\ 1457}#))
+ (#{r\ 1478}#
(#{extend-var-env\ 126}#
- #{labels\ 1540}#
- #{new-vars\ 1541}#
- #{r\ 1521}#)))
+ #{labels\ 1475}#
+ #{new-vars\ 1476}#
+ #{r\ 1456}#)))
(#{build-letrec\ 113}#
- #{s\ 1523}#
- (map syntax->datum #{ids\ 1538}#)
- #{new-vars\ 1541}#
- (map (lambda (#{x\ 1544}#)
+ #{s\ 1458}#
+ (map syntax->datum #{ids\ 1473}#)
+ #{new-vars\ 1476}#
+ (map (lambda (#{x\ 1479}#)
(#{chi\ 167}#
- #{x\ 1544}#
- #{r\ 1543}#
- #{w\ 1542}#
- #{mod\ 1524}#))
- #{val\ 1535}#)
+ #{x\ 1479}#
+ #{r\ 1478}#
+ #{w\ 1477}#
+ #{mod\ 1459}#))
+ #{val\ 1470}#)
(#{chi-body\ 171}#
- (cons #{e1\ 1536}# #{e2\ 1537}#)
+ (cons #{e1\ 1471}# #{e2\ 1472}#)
(#{source-wrap\ 160}#
- #{e\ 1520}#
- #{w\ 1542}#
- #{s\ 1523}#
- #{mod\ 1524}#)
- #{r\ 1543}#
- #{w\ 1542}#
- #{mod\ 1524}#)))))))
- #{tmp\ 1526}#)
- ((lambda (#{_\ 1547}#)
+ #{e\ 1455}#
+ #{w\ 1477}#
+ #{s\ 1458}#
+ #{mod\ 1459}#)
+ #{r\ 1478}#
+ #{w\ 1477}#
+ #{mod\ 1459}#)))))))
+ #{tmp\ 1461}#)
+ ((lambda (#{_\ 1482}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 160}#
- #{e\ 1520}#
- #{w\ 1522}#
- #{s\ 1523}#
- #{mod\ 1524}#)))
- #{tmp\ 1525}#)))
+ #{e\ 1455}#
+ #{w\ 1457}#
+ #{s\ 1458}#
+ #{mod\ 1459}#)))
+ #{tmp\ 1460}#)))
($sc-dispatch
- #{tmp\ 1525}#
+ #{tmp\ 1460}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1520}#)))
+ #{e\ 1455}#)))
(#{global-extend\ 129}#
'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\ 1483}#
+ #{r\ 1484}#
+ #{w\ 1485}#
+ #{s\ 1486}#
+ #{mod\ 1487}#)
+ ((lambda (#{tmp\ 1488}#)
+ ((lambda (#{tmp\ 1489}#)
+ (if (if #{tmp\ 1489}#
+ (apply (lambda (#{_\ 1490}# #{id\ 1491}# #{val\ 1492}#)
+ (#{id?\ 131}# #{id\ 1491}#))
+ #{tmp\ 1489}#)
#f)
- (apply (lambda (#{_\ 1558}# #{id\ 1559}# #{val\ 1560}#)
- (let ((#{val\ 1561}#
+ (apply (lambda (#{_\ 1493}# #{id\ 1494}# #{val\ 1495}#)
+ (let ((#{val\ 1496}#
(#{chi\ 167}#
- #{val\ 1560}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#))
- (#{n\ 1562}#
+ #{val\ 1495}#
+ #{r\ 1484}#
+ #{w\ 1485}#
+ #{mod\ 1487}#))
+ (#{n\ 1497}#
(#{id-var-name\ 153}#
- #{id\ 1559}#
- #{w\ 1550}#)))
- (let ((#{b\ 1563}#
+ #{id\ 1494}#
+ #{w\ 1485}#)))
+ (let ((#{b\ 1498}#
(#{lookup\ 128}#
- #{n\ 1562}#
- #{r\ 1549}#
- #{mod\ 1552}#)))
- (let ((#{atom-key\ 1564}#
- (#{binding-type\ 123}# #{b\ 1563}#)))
- (if (memv #{atom-key\ 1564}#
+ #{n\ 1497}#
+ #{r\ 1484}#
+ #{mod\ 1487}#)))
+ (let ((#{atom-key\ 1499}#
+ (#{binding-type\ 123}# #{b\ 1498}#)))
+ (if (memv #{atom-key\ 1499}#
'(lexical))
(#{build-lexical-assignment\ 99}#
- #{s\ 1551}#
- (syntax->datum #{id\ 1559}#)
- (#{binding-value\ 124}# #{b\ 1563}#)
- #{val\ 1561}#)
- (if (memv #{atom-key\ 1564}#
+ #{s\ 1486}#
+ (syntax->datum #{id\ 1494}#)
+ (#{binding-value\ 124}# #{b\ 1498}#)
+ #{val\ 1496}#)
+ (if (memv #{atom-key\ 1499}#
'(global))
(#{build-global-assignment\ 102}#
- #{s\ 1551}#
- #{n\ 1562}#
- #{val\ 1561}#
- #{mod\ 1552}#)
- (if (memv #{atom-key\ 1564}#
+ #{s\ 1486}#
+ #{n\ 1497}#
+ #{val\ 1496}#
+ #{mod\ 1487}#)
+ (if (memv #{atom-key\ 1499}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 159}#
- #{id\ 1559}#
- #{w\ 1550}#
- #{mod\ 1552}#))
+ #{id\ 1494}#
+ #{w\ 1485}#
+ #{mod\ 1487}#))
(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}#)
+ #{e\ 1483}#
+ #{w\ 1485}#
+ #{s\ 1486}#
+ #{mod\ 1487}#)))))))))
+ #{tmp\ 1489}#)
+ ((lambda (#{tmp\ 1500}#)
+ (if #{tmp\ 1500}#
+ (apply (lambda (#{_\ 1501}#
+ #{head\ 1502}#
+ #{tail\ 1503}#
+ #{val\ 1504}#)
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{head\ 1567}#
- #{r\ 1549}#
+ #{head\ 1502}#
+ #{r\ 1484}#
'(())
#f
#f
- #{mod\ 1552}#
+ #{mod\ 1487}#
#t))
- (lambda (#{type\ 1570}#
- #{value\ 1571}#
- #{ee\ 1572}#
- #{ww\ 1573}#
- #{ss\ 1574}#
- #{modmod\ 1575}#)
- (if (memv #{type\ 1570}#
+ (lambda (#{type\ 1505}#
+ #{value\ 1506}#
+ #{ee\ 1507}#
+ #{ww\ 1508}#
+ #{ss\ 1509}#
+ #{modmod\ 1510}#)
+ (if (memv #{type\ 1505}#
'(module-ref))
- (let ((#{val\ 1576}#
+ (let ((#{val\ 1511}#
(#{chi\ 167}#
- #{val\ 1569}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#)))
+ #{val\ 1504}#
+ #{r\ 1484}#
+ #{w\ 1485}#
+ #{mod\ 1487}#)))
(call-with-values
(lambda ()
- (#{value\ 1571}#
- (cons #{head\ 1567}#
- #{tail\ 1568}#)))
- (lambda (#{id\ 1578}# #{mod\ 1579}#)
+ (#{value\ 1506}#
+ (cons #{head\ 1502}#
+ #{tail\ 1503}#)))
+ (lambda (#{id\ 1513}# #{mod\ 1514}#)
(#{build-global-assignment\ 102}#
- #{s\ 1551}#
- #{id\ 1578}#
- #{val\ 1576}#
- #{mod\ 1579}#))))
+ #{s\ 1486}#
+ #{id\ 1513}#
+ #{val\ 1511}#
+ #{mod\ 1514}#))))
(#{build-application\ 96}#
- #{s\ 1551}#
+ #{s\ 1486}#
(#{chi\ 167}#
(list '#(syntax-object
setter
@@ -9578,53 +9337,53 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{head\ 1567}#)
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#)
- (map (lambda (#{e\ 1580}#)
+ #{head\ 1502}#)
+ #{r\ 1484}#
+ #{w\ 1485}#
+ #{mod\ 1487}#)
+ (map (lambda (#{e\ 1515}#)
(#{chi\ 167}#
- #{e\ 1580}#
- #{r\ 1549}#
- #{w\ 1550}#
- #{mod\ 1552}#))
+ #{e\ 1515}#
+ #{r\ 1484}#
+ #{w\ 1485}#
+ #{mod\ 1487}#))
(append
- #{tail\ 1568}#
- (list #{val\ 1569}#))))))))
- #{tmp\ 1565}#)
- ((lambda (#{_\ 1582}#)
+ #{tail\ 1503}#
+ (list #{val\ 1504}#))))))))
+ #{tmp\ 1500}#)
+ ((lambda (#{_\ 1517}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 160}#
- #{e\ 1548}#
- #{w\ 1550}#
- #{s\ 1551}#
- #{mod\ 1552}#)))
- #{tmp\ 1553}#)))
+ #{e\ 1483}#
+ #{w\ 1485}#
+ #{s\ 1486}#
+ #{mod\ 1487}#)))
+ #{tmp\ 1488}#)))
($sc-dispatch
- #{tmp\ 1553}#
+ #{tmp\ 1488}#
'(any (any . each-any) any)))))
($sc-dispatch
- #{tmp\ 1553}#
+ #{tmp\ 1488}#
'(any any any))))
- #{e\ 1548}#)))
+ #{e\ 1483}#)))
(#{global-extend\ 129}#
'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\ 1518}#)
+ ((lambda (#{tmp\ 1519}#)
+ ((lambda (#{tmp\ 1520}#)
+ (if (if #{tmp\ 1520}#
+ (apply (lambda (#{_\ 1521}# #{mod\ 1522}# #{id\ 1523}#)
+ (if (and-map #{id?\ 131}# #{mod\ 1522}#)
+ (#{id?\ 131}# #{id\ 1523}#)
#f))
- #{tmp\ 1585}#)
+ #{tmp\ 1520}#)
#f)
- (apply (lambda (#{_\ 1590}# #{mod\ 1591}# #{id\ 1592}#)
+ (apply (lambda (#{_\ 1525}# #{mod\ 1526}# #{id\ 1527}#)
(values
- (syntax->datum #{id\ 1592}#)
+ (syntax->datum #{id\ 1527}#)
(syntax->datum
(cons '#(syntax-object
public
@@ -9992,32 +9751,32 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1591}#))))
- #{tmp\ 1585}#)
+ #{mod\ 1526}#))))
+ #{tmp\ 1520}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1584}#)))
+ #{tmp\ 1519}#)))
($sc-dispatch
- #{tmp\ 1584}#
+ #{tmp\ 1519}#
'(any each-any any))))
- #{e\ 1583}#)))
+ #{e\ 1518}#)))
(#{global-extend\ 129}#
'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\ 1529}#)
+ ((lambda (#{tmp\ 1530}#)
+ ((lambda (#{tmp\ 1531}#)
+ (if (if #{tmp\ 1531}#
+ (apply (lambda (#{_\ 1532}# #{mod\ 1533}# #{id\ 1534}#)
+ (if (and-map #{id?\ 131}# #{mod\ 1533}#)
+ (#{id?\ 131}# #{id\ 1534}#)
#f))
- #{tmp\ 1596}#)
+ #{tmp\ 1531}#)
#f)
- (apply (lambda (#{_\ 1601}# #{mod\ 1602}# #{id\ 1603}#)
+ (apply (lambda (#{_\ 1536}# #{mod\ 1537}# #{id\ 1538}#)
(values
- (syntax->datum #{id\ 1603}#)
+ (syntax->datum #{id\ 1538}#)
(syntax->datum
(cons '#(syntax-object
private
@@ -10385,77 +10144,77 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1602}#))))
- #{tmp\ 1596}#)
+ #{mod\ 1537}#))))
+ #{tmp\ 1531}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1595}#)))
+ #{tmp\ 1530}#)))
($sc-dispatch
- #{tmp\ 1595}#
+ #{tmp\ 1530}#
'(any each-any any))))
- #{e\ 1594}#)))
+ #{e\ 1529}#)))
(#{global-extend\ 129}#
'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}#)
+ (lambda (#{e\ 1540}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{s\ 1543}#
+ #{mod\ 1544}#)
+ ((lambda (#{tmp\ 1545}#)
+ ((lambda (#{tmp\ 1546}#)
+ (if #{tmp\ 1546}#
+ (apply (lambda (#{_\ 1547}# #{test\ 1548}# #{then\ 1549}#)
(#{build-conditional\ 97}#
- #{s\ 1608}#
+ #{s\ 1543}#
(#{chi\ 167}#
- #{test\ 1613}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
+ #{test\ 1548}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{mod\ 1544}#)
(#{chi\ 167}#
- #{then\ 1614}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
+ #{then\ 1549}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{mod\ 1544}#)
(#{build-void\ 95}# #f)))
- #{tmp\ 1611}#)
- ((lambda (#{tmp\ 1615}#)
- (if #{tmp\ 1615}#
- (apply (lambda (#{_\ 1616}#
- #{test\ 1617}#
- #{then\ 1618}#
- #{else\ 1619}#)
+ #{tmp\ 1546}#)
+ ((lambda (#{tmp\ 1550}#)
+ (if #{tmp\ 1550}#
+ (apply (lambda (#{_\ 1551}#
+ #{test\ 1552}#
+ #{then\ 1553}#
+ #{else\ 1554}#)
(#{build-conditional\ 97}#
- #{s\ 1608}#
+ #{s\ 1543}#
(#{chi\ 167}#
- #{test\ 1617}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
+ #{test\ 1552}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{mod\ 1544}#)
(#{chi\ 167}#
- #{then\ 1618}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)
+ #{then\ 1553}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{mod\ 1544}#)
(#{chi\ 167}#
- #{else\ 1619}#
- #{r\ 1606}#
- #{w\ 1607}#
- #{mod\ 1609}#)))
- #{tmp\ 1615}#)
+ #{else\ 1554}#
+ #{r\ 1541}#
+ #{w\ 1542}#
+ #{mod\ 1544}#)))
+ #{tmp\ 1550}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1610}#)))
+ #{tmp\ 1545}#)))
($sc-dispatch
- #{tmp\ 1610}#
+ #{tmp\ 1545}#
'(any any any any)))))
($sc-dispatch
- #{tmp\ 1610}#
+ #{tmp\ 1545}#
'(any any any))))
- #{e\ 1605}#)))
+ #{e\ 1540}#)))
(#{global-extend\ 129}#
'begin
'begin
@@ -10475,13 +10234,13 @@
(#{global-extend\ 129}#
'core
'syntax-case
- (letrec ((#{gen-syntax-case\ 1623}#
- (lambda (#{x\ 1624}#
- #{keys\ 1625}#
- #{clauses\ 1626}#
- #{r\ 1627}#
- #{mod\ 1628}#)
- (if (null? #{clauses\ 1626}#)
+ (letrec ((#{gen-syntax-case\ 1558}#
+ (lambda (#{x\ 1559}#
+ #{keys\ 1560}#
+ #{clauses\ 1561}#
+ #{r\ 1562}#
+ #{mod\ 1563}#)
+ (if (null? #{clauses\ 1561}#)
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
@@ -10491,17 +10250,17 @@
(#{build-data\ 109}#
#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\ 1559}#))
+ ((lambda (#{tmp\ 1564}#)
+ ((lambda (#{tmp\ 1565}#)
+ (if #{tmp\ 1565}#
+ (apply (lambda (#{pat\ 1566}# #{exp\ 1567}#)
+ (if (if (#{id?\ 131}# #{pat\ 1566}#)
(and-map
- (lambda (#{x\ 1633}#)
+ (lambda (#{x\ 1568}#)
(not (#{free-id=?\ 154}#
- #{pat\ 1631}#
- #{x\ 1633}#)))
+ #{pat\ 1566}#
+ #{x\ 1568}#)))
(cons '#(syntax-object
...
((top)
@@ -10894,103 +10653,103 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{keys\ 1625}#))
+ #{keys\ 1560}#))
#f)
- (let ((#{labels\ 1634}#
+ (let ((#{labels\ 1569}#
(list (#{gen-label\ 136}#)))
- (#{var\ 1635}#
+ (#{var\ 1570}#
(#{gen-var\ 181}#
- #{pat\ 1631}#)))
+ #{pat\ 1566}#)))
(#{build-application\ 96}#
#f
(#{build-simple-lambda\ 105}#
#f
(list (syntax->datum
- #{pat\ 1631}#))
+ #{pat\ 1566}#))
#f
- (list #{var\ 1635}#)
+ (list #{var\ 1570}#)
#f
(#{chi\ 167}#
- #{exp\ 1632}#
+ #{exp\ 1567}#
(#{extend-env\ 125}#
- #{labels\ 1634}#
+ #{labels\ 1569}#
(list (cons 'syntax
- (cons #{var\
1635}#
+ (cons #{var\
1570}#
0)))
- #{r\ 1627}#)
+ #{r\ 1562}#)
(#{make-binding-wrap\ 148}#
- (list #{pat\ 1631}#)
- #{labels\ 1634}#
+ (list #{pat\ 1566}#)
+ #{labels\ 1569}#
'(()))
- #{mod\ 1628}#))
- (list #{x\ 1624}#)))
- (#{gen-clause\ 1622}#
- #{x\ 1624}#
- #{keys\ 1625}#
- (cdr #{clauses\ 1626}#)
- #{r\ 1627}#
- #{pat\ 1631}#
+ #{mod\ 1563}#))
+ (list #{x\ 1559}#)))
+ (#{gen-clause\ 1557}#
+ #{x\ 1559}#
+ #{keys\ 1560}#
+ (cdr #{clauses\ 1561}#)
+ #{r\ 1562}#
+ #{pat\ 1566}#
#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\ 1567}#
+ #{mod\ 1563}#)))
+ #{tmp\ 1565}#)
+ ((lambda (#{tmp\ 1571}#)
+ (if #{tmp\ 1571}#
+ (apply (lambda (#{pat\ 1572}#
+ #{fender\ 1573}#
+ #{exp\ 1574}#)
+ (#{gen-clause\ 1557}#
+ #{x\ 1559}#
+ #{keys\ 1560}#
+ (cdr #{clauses\ 1561}#)
+ #{r\ 1562}#
+ #{pat\ 1572}#
+ #{fender\ 1573}#
+ #{exp\ 1574}#
+ #{mod\ 1563}#))
+ #{tmp\ 1571}#)
+ ((lambda (#{_\ 1575}#)
(syntax-violation
'syntax-case
"invalid clause"
- (car #{clauses\ 1626}#)))
- #{tmp\ 1629}#)))
+ (car #{clauses\ 1561}#)))
+ #{tmp\ 1564}#)))
($sc-dispatch
- #{tmp\ 1629}#
+ #{tmp\ 1564}#
'(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\ 1564}# (quote (any any)))))
+ (car #{clauses\ 1561}#)))))
+ (#{gen-clause\ 1557}#
+ (lambda (#{x\ 1576}#
+ #{keys\ 1577}#
+ #{clauses\ 1578}#
+ #{r\ 1579}#
+ #{pat\ 1580}#
+ #{fender\ 1581}#
+ #{exp\ 1582}#
+ #{mod\ 1583}#)
(call-with-values
(lambda ()
- (#{convert-pattern\ 1620}#
- #{pat\ 1645}#
- #{keys\ 1642}#))
- (lambda (#{p\ 1649}# #{pvars\ 1650}#)
+ (#{convert-pattern\ 1555}#
+ #{pat\ 1580}#
+ #{keys\ 1577}#))
+ (lambda (#{p\ 1584}# #{pvars\ 1585}#)
(if (not (#{distinct-bound-ids?\ 157}#
- (map car #{pvars\ 1650}#)))
+ (map car #{pvars\ 1585}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
- #{pat\ 1645}#)
+ #{pat\ 1580}#)
(if (not (and-map
- (lambda (#{x\ 1651}#)
+ (lambda (#{x\ 1586}#)
(not (#{ellipsis?\ 175}#
- (car #{x\ 1651}#))))
- #{pvars\ 1650}#))
+ (car #{x\ 1586}#))))
+ #{pvars\ 1585}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
- #{pat\ 1645}#)
- (let ((#{y\ 1652}#
+ #{pat\ 1580}#)
+ (let ((#{y\ 1587}#
(#{gen-var\ 181}# (quote tmp))))
(#{build-application\ 96}#
#f
@@ -10998,630 +10757,630 @@
#f
(list (quote tmp))
#f
- (list #{y\ 1652}#)
+ (list #{y\ 1587}#)
#f
- (let ((#{y\ 1653}#
+ (let ((#{y\ 1588}#
(#{build-lexical-reference\ 98}#
'value
#f
'tmp
- #{y\ 1652}#)))
+ #{y\ 1587}#)))
(#{build-conditional\ 97}#
#f
- ((lambda (#{tmp\ 1654}#)
- ((lambda (#{tmp\ 1655}#)
- (if #{tmp\ 1655}#
- (apply (lambda () #{y\ 1653}#)
- #{tmp\ 1655}#)
- ((lambda (#{_\ 1656}#)
+ ((lambda (#{tmp\ 1589}#)
+ ((lambda (#{tmp\ 1590}#)
+ (if #{tmp\ 1590}#
+ (apply (lambda () #{y\ 1588}#)
+ #{tmp\ 1590}#)
+ ((lambda (#{_\ 1591}#)
(#{build-conditional\ 97}#
#f
- #{y\ 1653}#
- (#{build-dispatch-call\
1621}#
- #{pvars\ 1650}#
- #{fender\ 1646}#
- #{y\ 1653}#
- #{r\ 1644}#
- #{mod\ 1648}#)
+ #{y\ 1588}#
+ (#{build-dispatch-call\
1556}#
+ #{pvars\ 1585}#
+ #{fender\ 1581}#
+ #{y\ 1588}#
+ #{r\ 1579}#
+ #{mod\ 1583}#)
(#{build-data\ 109}#
#f
#f)))
- #{tmp\ 1654}#)))
+ #{tmp\ 1589}#)))
($sc-dispatch
- #{tmp\ 1654}#
+ #{tmp\ 1589}#
'#(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))
+ #{fender\ 1581}#)
+ (#{build-dispatch-call\ 1556}#
+ #{pvars\ 1585}#
+ #{exp\ 1582}#
+ #{y\ 1588}#
+ #{r\ 1579}#
+ #{mod\ 1583}#)
+ (#{gen-syntax-case\ 1558}#
+ #{x\ 1576}#
+ #{keys\ 1577}#
+ #{clauses\ 1578}#
+ #{r\ 1579}#
+ #{mod\ 1583}#))))
+ (list (if (eq? #{p\ 1584}# (quote any))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
#f
'list)
- (list #{x\ 1641}#))
+ (list #{x\ 1576}#))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
#f
'$sc-dispatch)
- (list #{x\ 1641}#
+ (list #{x\ 1576}#
(#{build-data\ 109}#
#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}#)))
+ #{p\ 1584}#)))))))))))))
+ (#{build-dispatch-call\ 1556}#
+ (lambda (#{pvars\ 1592}#
+ #{exp\ 1593}#
+ #{y\ 1594}#
+ #{r\ 1595}#
+ #{mod\ 1596}#)
+ (let ((#{ids\ 1597}# (map car #{pvars\ 1592}#))
+ (#{levels\ 1598}# (map cdr #{pvars\ 1592}#)))
+ (let ((#{labels\ 1599}#
+ (#{gen-labels\ 137}# #{ids\ 1597}#))
+ (#{new-vars\ 1600}#
+ (map #{gen-var\ 181}# #{ids\ 1597}#)))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}# #f (quote apply))
(list (#{build-simple-lambda\ 105}#
#f
- (map syntax->datum #{ids\ 1662}#)
+ (map syntax->datum #{ids\ 1597}#)
#f
- #{new-vars\ 1665}#
+ #{new-vars\ 1600}#
#f
(#{chi\ 167}#
- #{exp\ 1658}#
+ #{exp\ 1593}#
(#{extend-env\ 125}#
- #{labels\ 1664}#
- (map (lambda (#{var\ 1666}#
- #{level\ 1667}#)
+ #{labels\ 1599}#
+ (map (lambda (#{var\ 1601}#
+ #{level\ 1602}#)
(cons 'syntax
- (cons #{var\ 1666}#
- #{level\ 1667}#)))
- #{new-vars\ 1665}#
- (map cdr #{pvars\ 1657}#))
- #{r\ 1660}#)
+ (cons #{var\ 1601}#
+ #{level\ 1602}#)))
+ #{new-vars\ 1600}#
+ (map cdr #{pvars\ 1592}#))
+ #{r\ 1595}#)
(#{make-binding-wrap\ 148}#
- #{ids\ 1662}#
- #{labels\ 1664}#
+ #{ids\ 1597}#
+ #{labels\ 1599}#
'(()))
- #{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}#)
+ #{mod\ 1596}#))
+ #{y\ 1594}#))))))
+ (#{convert-pattern\ 1555}#
+ (lambda (#{pattern\ 1603}# #{keys\ 1604}#)
+ (letrec ((#{cvt\ 1605}#
+ (lambda (#{p\ 1606}# #{n\ 1607}# #{ids\ 1608}#)
+ (if (#{id?\ 131}# #{p\ 1606}#)
(if (#{bound-id-member?\ 158}#
- #{p\ 1671}#
- #{keys\ 1669}#)
+ #{p\ 1606}#
+ #{keys\ 1604}#)
(values
- (vector (quote free-id) #{p\ 1671}#)
- #{ids\ 1673}#)
+ (vector (quote free-id) #{p\ 1606}#)
+ #{ids\ 1608}#)
(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}#)
+ (cons (cons #{p\ 1606}# #{n\ 1607}#)
+ #{ids\ 1608}#)))
+ ((lambda (#{tmp\ 1609}#)
+ ((lambda (#{tmp\ 1610}#)
+ (if (if #{tmp\ 1610}#
+ (apply (lambda (#{x\ 1611}#
+ #{dots\ 1612}#)
(#{ellipsis?\ 175}#
- #{dots\ 1677}#))
- #{tmp\ 1675}#)
+ #{dots\ 1612}#))
+ #{tmp\ 1610}#)
#f)
- (apply (lambda (#{x\ 1678}#
- #{dots\ 1679}#)
+ (apply (lambda (#{x\ 1613}#
+ #{dots\ 1614}#)
(call-with-values
(lambda ()
- (#{cvt\ 1670}#
- #{x\ 1678}#
+ (#{cvt\ 1605}#
+ #{x\ 1613}#
(#{fx+\ 86}#
- #{n\ 1672}#
+ #{n\ 1607}#
1)
- #{ids\ 1673}#))
- (lambda (#{p\ 1680}#
- #{ids\ 1681}#)
+ #{ids\ 1608}#))
+ (lambda (#{p\ 1615}#
+ #{ids\ 1616}#)
(values
- (if (eq? #{p\ 1680}#
+ (if (eq? #{p\ 1615}#
'any)
'each-any
(vector
'each
- #{p\ 1680}#))
- #{ids\ 1681}#))))
- #{tmp\ 1675}#)
- ((lambda (#{tmp\ 1682}#)
- (if #{tmp\ 1682}#
- (apply (lambda (#{x\ 1683}#
- #{y\ 1684}#)
+ #{p\ 1615}#))
+ #{ids\ 1616}#))))
+ #{tmp\ 1610}#)
+ ((lambda (#{tmp\ 1617}#)
+ (if #{tmp\ 1617}#
+ (apply (lambda (#{x\ 1618}#
+ #{y\ 1619}#)
(call-with-values
(lambda ()
- (#{cvt\ 1670}#
- #{y\ 1684}#
- #{n\ 1672}#
- #{ids\ 1673}#))
- (lambda (#{y\
1685}#
- #{ids\
1686}#)
+ (#{cvt\ 1605}#
+ #{y\ 1619}#
+ #{n\ 1607}#
+ #{ids\ 1608}#))
+ (lambda (#{y\
1620}#
+ #{ids\
1621}#)
(call-with-values
(lambda ()
- (#{cvt\
1670}#
- #{x\ 1683}#
- #{n\ 1672}#
- #{ids\
1686}#))
- (lambda (#{x\
1687}#
-
#{ids\ 1688}#)
+ (#{cvt\
1605}#
+ #{x\ 1618}#
+ #{n\ 1607}#
+ #{ids\
1621}#))
+ (lambda (#{x\
1622}#
+
#{ids\ 1623}#)
(values
- (cons #{x\
1687}#
- #{y\
1685}#)
- #{ids\
1688}#))))))
- #{tmp\ 1682}#)
- ((lambda (#{tmp\ 1689}#)
- (if #{tmp\ 1689}#
+ (cons #{x\
1622}#
+ #{y\
1620}#)
+ #{ids\
1623}#))))))
+ #{tmp\ 1617}#)
+ ((lambda (#{tmp\ 1624}#)
+ (if #{tmp\ 1624}#
(apply (lambda ()
(values
'()
- #{ids\
1673}#))
- #{tmp\ 1689}#)
- ((lambda (#{tmp\ 1690}#)
- (if #{tmp\ 1690}#
- (apply (lambda
(#{x\ 1691}#)
+ #{ids\
1608}#))
+ #{tmp\ 1624}#)
+ ((lambda (#{tmp\ 1625}#)
+ (if #{tmp\ 1625}#
+ (apply (lambda
(#{x\ 1626}#)
(call-with-values
(lambda
()
-
(#{cvt\ 1670}#
- #{x\
1691}#
- #{n\
1672}#
-
#{ids\ 1673}#))
- (lambda
(#{p\ 1693}#
-
#{ids\ 1694}#)
+
(#{cvt\ 1605}#
+ #{x\
1626}#
+ #{n\
1607}#
+
#{ids\ 1608}#))
+ (lambda
(#{p\ 1628}#
+
#{ids\ 1629}#)
(values
(vector
'vector
-
#{p\ 1693}#)
-
#{ids\ 1694}#))))
- #{tmp\
1690}#)
- ((lambda (#{x\
1695}#)
+
#{p\ 1628}#)
+
#{ids\ 1629}#))))
+ #{tmp\
1625}#)
+ ((lambda (#{x\
1630}#)
(values
(vector
'atom
(#{strip\
180}#
- #{p\ 1671}#
+ #{p\ 1606}#
'(())))
- #{ids\ 1673}#))
- #{tmp\ 1674}#)))
+ #{ids\ 1608}#))
+ #{tmp\ 1609}#)))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 1609}#
'#(vector
each-any)))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 1609}#
'()))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 1609}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1674}#
+ #{tmp\ 1609}#
'(any any))))
- #{p\ 1671}#)))))
- (#{cvt\ 1670}# #{pattern\ 1668}# 0 (quote ()))))))
- (lambda (#{e\ 1696}#
- #{r\ 1697}#
- #{w\ 1698}#
- #{s\ 1699}#
- #{mod\ 1700}#)
- (let ((#{e\ 1701}#
+ #{p\ 1606}#)))))
+ (#{cvt\ 1605}# #{pattern\ 1603}# 0 (quote ()))))))
+ (lambda (#{e\ 1631}#
+ #{r\ 1632}#
+ #{w\ 1633}#
+ #{s\ 1634}#
+ #{mod\ 1635}#)
+ (let ((#{e\ 1636}#
(#{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}#)
+ #{e\ 1631}#
+ #{w\ 1633}#
+ #{s\ 1634}#
+ #{mod\ 1635}#)))
+ ((lambda (#{tmp\ 1637}#)
+ ((lambda (#{tmp\ 1638}#)
+ (if #{tmp\ 1638}#
+ (apply (lambda (#{_\ 1639}#
+ #{val\ 1640}#
+ #{key\ 1641}#
+ #{m\ 1642}#)
(if (and-map
- (lambda (#{x\ 1708}#)
- (if (#{id?\ 131}# #{x\ 1708}#)
- (not (#{ellipsis?\ 175}# #{x\ 1708}#))
+ (lambda (#{x\ 1643}#)
+ (if (#{id?\ 131}# #{x\ 1643}#)
+ (not (#{ellipsis?\ 175}# #{x\ 1643}#))
#f))
- #{key\ 1706}#)
- (let ((#{x\ 1710}#
+ #{key\ 1641}#)
+ (let ((#{x\ 1645}#
(#{gen-var\ 181}# (quote tmp))))
(#{build-application\ 96}#
- #{s\ 1699}#
+ #{s\ 1634}#
(#{build-simple-lambda\ 105}#
#f
(list (quote tmp))
#f
- (list #{x\ 1710}#)
+ (list #{x\ 1645}#)
#f
- (#{gen-syntax-case\ 1623}#
+ (#{gen-syntax-case\ 1558}#
(#{build-lexical-reference\ 98}#
'value
#f
'tmp
- #{x\ 1710}#)
- #{key\ 1706}#
- #{m\ 1707}#
- #{r\ 1697}#
- #{mod\ 1700}#))
+ #{x\ 1645}#)
+ #{key\ 1641}#
+ #{m\ 1642}#
+ #{r\ 1632}#
+ #{mod\ 1635}#))
(list (#{chi\ 167}#
- #{val\ 1705}#
- #{r\ 1697}#
+ #{val\ 1640}#
+ #{r\ 1632}#
'(())
- #{mod\ 1700}#))))
+ #{mod\ 1635}#))))
(syntax-violation
'syntax-case
"invalid literals list"
- #{e\ 1701}#)))
- #{tmp\ 1703}#)
+ #{e\ 1636}#)))
+ #{tmp\ 1638}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1702}#)))
+ #{tmp\ 1637}#)))
($sc-dispatch
- #{tmp\ 1702}#
+ #{tmp\ 1637}#
'(any any each-any . each-any))))
- #{e\ 1701}#)))))
+ #{e\ 1636}#)))))
(set! sc-expand
- (lambda (#{x\ 1713}# . #{rest\ 1714}#)
- (if (if (pair? #{x\ 1713}#)
- (equal? (car #{x\ 1713}#) #{noexpand\ 84}#)
+ (lambda (#{x\ 1648}# . #{rest\ 1649}#)
+ (if (if (pair? #{x\ 1648}#)
+ (equal? (car #{x\ 1648}#) #{noexpand\ 84}#)
#f)
- (cadr #{x\ 1713}#)
- (let ((#{m\ 1715}#
- (if (null? #{rest\ 1714}#)
+ (cadr #{x\ 1648}#)
+ (let ((#{m\ 1650}#
+ (if (null? #{rest\ 1649}#)
'e
- (car #{rest\ 1714}#)))
- (#{esew\ 1716}#
- (if (let ((#{t\ 1717}# (null? #{rest\ 1714}#)))
- (if #{t\ 1717}#
- #{t\ 1717}#
- (null? (cdr #{rest\ 1714}#))))
+ (car #{rest\ 1649}#)))
+ (#{esew\ 1651}#
+ (if (let ((#{t\ 1652}# (null? #{rest\ 1649}#)))
+ (if #{t\ 1652}#
+ #{t\ 1652}#
+ (null? (cdr #{rest\ 1649}#))))
'(eval)
- (cadr #{rest\ 1714}#))))
+ (cadr #{rest\ 1649}#))))
(with-fluid*
#{*mode*\ 85}#
- #{m\ 1715}#
+ #{m\ 1650}#
(lambda ()
(#{chi-top\ 166}#
- #{x\ 1713}#
+ #{x\ 1648}#
'()
'((top))
- #{m\ 1715}#
- #{esew\ 1716}#
+ #{m\ 1650}#
+ #{esew\ 1651}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
- (lambda (#{x\ 1718}#)
- (#{nonsymbol-id?\ 130}# #{x\ 1718}#)))
+ (lambda (#{x\ 1653}#)
+ (#{nonsymbol-id?\ 130}# #{x\ 1653}#)))
(set! datum->syntax
- (lambda (#{id\ 1719}# #{datum\ 1720}#)
+ (lambda (#{id\ 1654}# #{datum\ 1655}#)
(#{make-syntax-object\ 114}#
- #{datum\ 1720}#
- (#{syntax-object-wrap\ 117}# #{id\ 1719}#)
+ #{datum\ 1655}#
+ (#{syntax-object-wrap\ 117}# #{id\ 1654}#)
#f)))
(set! syntax->datum
- (lambda (#{x\ 1721}#)
- (#{strip\ 180}# #{x\ 1721}# (quote (())))))
+ (lambda (#{x\ 1656}#)
+ (#{strip\ 180}# #{x\ 1656}# (quote (())))))
(set! generate-temporaries
- (lambda (#{ls\ 1722}#)
+ (lambda (#{ls\ 1657}#)
(begin
- (let ((#{x\ 1723}# #{ls\ 1722}#))
- (if (not (list? #{x\ 1723}#))
+ (let ((#{x\ 1658}# #{ls\ 1657}#))
+ (if (not (list? #{x\ 1658}#))
(syntax-violation
'generate-temporaries
"invalid argument"
- #{x\ 1723}#)))
- (map (lambda (#{x\ 1724}#)
+ #{x\ 1658}#)))
+ (map (lambda (#{x\ 1659}#)
(#{wrap\ 159}# (gensym) (quote ((top))) #f))
- #{ls\ 1722}#))))
+ #{ls\ 1657}#))))
(set! free-identifier=?
- (lambda (#{x\ 1725}# #{y\ 1726}#)
+ (lambda (#{x\ 1660}# #{y\ 1661}#)
(begin
- (let ((#{x\ 1727}# #{x\ 1725}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1727}#))
+ (let ((#{x\ 1662}# #{x\ 1660}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1662}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1727}#)))
- (let ((#{x\ 1728}# #{y\ 1726}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1728}#))
+ #{x\ 1662}#)))
+ (let ((#{x\ 1663}# #{y\ 1661}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1663}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1728}#)))
- (#{free-id=?\ 154}# #{x\ 1725}# #{y\ 1726}#))))
+ #{x\ 1663}#)))
+ (#{free-id=?\ 154}# #{x\ 1660}# #{y\ 1661}#))))
(set! bound-identifier=?
- (lambda (#{x\ 1729}# #{y\ 1730}#)
+ (lambda (#{x\ 1664}# #{y\ 1665}#)
(begin
- (let ((#{x\ 1731}# #{x\ 1729}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1731}#))
+ (let ((#{x\ 1666}# #{x\ 1664}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1666}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1731}#)))
- (let ((#{x\ 1732}# #{y\ 1730}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1732}#))
+ #{x\ 1666}#)))
+ (let ((#{x\ 1667}# #{y\ 1665}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1667}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1732}#)))
- (#{bound-id=?\ 155}# #{x\ 1729}# #{y\ 1730}#))))
+ #{x\ 1667}#)))
+ (#{bound-id=?\ 155}# #{x\ 1664}# #{y\ 1665}#))))
(set! syntax-violation
- (lambda (#{who\ 1733}#
- #{message\ 1734}#
- #{form\ 1735}#
+ (lambda (#{who\ 1668}#
+ #{message\ 1669}#
+ #{form\ 1670}#
.
- #{subform\ 1736}#)
+ #{subform\ 1671}#)
(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\ 1672}# #{who\ 1668}#))
+ (if (not ((lambda (#{x\ 1673}#)
+ (let ((#{t\ 1674}# (not #{x\ 1673}#)))
+ (if #{t\ 1674}#
+ #{t\ 1674}#
+ (let ((#{t\ 1675}# (string? #{x\ 1673}#)))
+ (if #{t\ 1675}#
+ #{t\ 1675}#
+ (symbol? #{x\ 1673}#))))))
+ #{x\ 1672}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1737}#)))
- (let ((#{x\ 1741}# #{message\ 1734}#))
- (if (not (string? #{x\ 1741}#))
+ #{x\ 1672}#)))
+ (let ((#{x\ 1676}# #{message\ 1669}#))
+ (if (not (string? #{x\ 1676}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1741}#)))
+ #{x\ 1676}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
- (if #{who\ 1733}# "~a: " "")
+ (if #{who\ 1668}# "~a: " "")
"~a "
- (if (null? #{subform\ 1736}#)
+ (if (null? #{subform\ 1671}#)
"in ~a"
"in subform `~s' of `~s'"))
- (let ((#{tail\ 1742}#
- (cons #{message\ 1734}#
- (map (lambda (#{x\ 1743}#)
- (#{strip\ 180}# #{x\ 1743}# (quote (()))))
+ (let ((#{tail\ 1677}#
+ (cons #{message\ 1669}#
+ (map (lambda (#{x\ 1678}#)
+ (#{strip\ 180}# #{x\ 1678}# (quote (()))))
(append
- #{subform\ 1736}#
- (list #{form\ 1735}#))))))
- (if #{who\ 1733}#
- (cons #{who\ 1733}# #{tail\ 1742}#)
- #{tail\ 1742}#))
+ #{subform\ 1671}#
+ (list #{form\ 1670}#))))))
+ (if #{who\ 1668}#
+ (cons #{who\ 1668}# #{tail\ 1677}#)
+ #{tail\ 1677}#))
#f))))
- (letrec ((#{match\ 1748}#
- (lambda (#{e\ 1749}#
- #{p\ 1750}#
- #{w\ 1751}#
- #{r\ 1752}#
- #{mod\ 1753}#)
- (if (not #{r\ 1752}#)
+ (letrec ((#{match\ 1683}#
+ (lambda (#{e\ 1684}#
+ #{p\ 1685}#
+ #{w\ 1686}#
+ #{r\ 1687}#
+ #{mod\ 1688}#)
+ (if (not #{r\ 1687}#)
#f
- (if (eq? #{p\ 1750}# (quote any))
+ (if (eq? #{p\ 1685}# (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}#
+ #{e\ 1684}#
+ #{w\ 1686}#
+ #{mod\ 1688}#)
+ #{r\ 1687}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1684}#)
+ (#{match*\ 1682}#
+ (#{syntax-object-expression\ 116}# #{e\ 1684}#)
+ #{p\ 1685}#
(#{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}#)
+ #{w\ 1686}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1684}#))
+ #{r\ 1687}#
+ (#{syntax-object-module\ 118}# #{e\ 1684}#))
+ (#{match*\ 1682}#
+ #{e\ 1684}#
+ #{p\ 1685}#
+ #{w\ 1686}#
+ #{r\ 1687}#
+ #{mod\ 1688}#))))))
+ (#{match*\ 1682}#
+ (lambda (#{e\ 1689}#
+ #{p\ 1690}#
+ #{w\ 1691}#
+ #{r\ 1692}#
+ #{mod\ 1693}#)
+ (if (null? #{p\ 1690}#)
+ (if (null? #{e\ 1689}#) #{r\ 1692}# #f)
+ (if (pair? #{p\ 1690}#)
+ (if (pair? #{e\ 1689}#)
+ (#{match\ 1683}#
+ (car #{e\ 1689}#)
+ (car #{p\ 1690}#)
+ #{w\ 1691}#
+ (#{match\ 1683}#
+ (cdr #{e\ 1689}#)
+ (cdr #{p\ 1690}#)
+ #{w\ 1691}#
+ #{r\ 1692}#
+ #{mod\ 1693}#)
+ #{mod\ 1693}#)
#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\ 1690}# (quote each-any))
+ (let ((#{l\ 1694}#
+ (#{match-each-any\ 1680}#
+ #{e\ 1689}#
+ #{w\ 1691}#
+ #{mod\ 1693}#)))
+ (if #{l\ 1694}#
+ (cons #{l\ 1694}# #{r\ 1692}#)
#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\ 1695}# (vector-ref #{p\ 1690}# 0)))
+ (if (memv #{atom-key\ 1695}# (quote (each)))
+ (if (null? #{e\ 1689}#)
+ (#{match-empty\ 1681}#
+ (vector-ref #{p\ 1690}# 1)
+ #{r\ 1692}#)
+ (let ((#{l\ 1696}#
+ (#{match-each\ 1679}#
+ #{e\ 1689}#
+ (vector-ref #{p\ 1690}# 1)
+ #{w\ 1691}#
+ #{mod\ 1693}#)))
+ (if #{l\ 1696}#
+ (letrec ((#{collect\ 1697}#
+ (lambda (#{l\ 1698}#)
+ (if (null? (car #{l\ 1698}#))
+ #{r\ 1692}#
+ (cons (map car #{l\ 1698}#)
+ (#{collect\ 1697}#
(map cdr
- #{l\
1763}#)))))))
- (#{collect\ 1762}# #{l\ 1761}#))
+ #{l\
1698}#)))))))
+ (#{collect\ 1697}# #{l\ 1696}#))
#f)))
- (if (memv #{atom-key\ 1760}# (quote (free-id)))
- (if (#{id?\ 131}# #{e\ 1754}#)
+ (if (memv #{atom-key\ 1695}# (quote (free-id)))
+ (if (#{id?\ 131}# #{e\ 1689}#)
(if (#{free-id=?\ 154}#
(#{wrap\ 159}#
- #{e\ 1754}#
- #{w\ 1756}#
- #{mod\ 1758}#)
- (vector-ref #{p\ 1755}# 1))
- #{r\ 1757}#
+ #{e\ 1689}#
+ #{w\ 1691}#
+ #{mod\ 1693}#)
+ (vector-ref #{p\ 1690}# 1))
+ #{r\ 1692}#
#f)
#f)
- (if (memv #{atom-key\ 1760}# (quote (atom)))
+ (if (memv #{atom-key\ 1695}# (quote (atom)))
(if (equal?
- (vector-ref #{p\ 1755}# 1)
+ (vector-ref #{p\ 1690}# 1)
(#{strip\ 180}#
- #{e\ 1754}#
- #{w\ 1756}#))
- #{r\ 1757}#
+ #{e\ 1689}#
+ #{w\ 1691}#))
+ #{r\ 1692}#
#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\ 1695}# (quote (vector)))
+ (if (vector? #{e\ 1689}#)
+ (#{match\ 1683}#
+ (vector->list #{e\ 1689}#)
+ (vector-ref #{p\ 1690}# 1)
+ #{w\ 1691}#
+ #{r\ 1692}#
+ #{mod\ 1693}#)
#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\ 1681}#
+ (lambda (#{p\ 1699}# #{r\ 1700}#)
+ (if (null? #{p\ 1699}#)
+ #{r\ 1700}#
+ (if (eq? #{p\ 1699}# (quote any))
+ (cons (quote ()) #{r\ 1700}#)
+ (if (pair? #{p\ 1699}#)
+ (#{match-empty\ 1681}#
+ (car #{p\ 1699}#)
+ (#{match-empty\ 1681}#
+ (cdr #{p\ 1699}#)
+ #{r\ 1700}#))
+ (if (eq? #{p\ 1699}# (quote each-any))
+ (cons (quote ()) #{r\ 1700}#)
+ (let ((#{atom-key\ 1701}#
+ (vector-ref #{p\ 1699}# 0)))
+ (if (memv #{atom-key\ 1701}# (quote (each)))
+ (#{match-empty\ 1681}#
+ (vector-ref #{p\ 1699}# 1)
+ #{r\ 1700}#)
+ (if (memv #{atom-key\ 1701}#
'(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}#
+ #{r\ 1700}#
+ (if (memv #{atom-key\ 1701}# (quote (vector)))
+ (#{match-empty\ 1681}#
+ (vector-ref #{p\ 1699}# 1)
+ #{r\ 1700}#)))))))))))
+ (#{match-each-any\ 1680}#
+ (lambda (#{e\ 1702}# #{w\ 1703}# #{mod\ 1704}#)
+ (if (pair? #{e\ 1702}#)
+ (let ((#{l\ 1705}#
+ (#{match-each-any\ 1680}#
+ (cdr #{e\ 1702}#)
+ #{w\ 1703}#
+ #{mod\ 1704}#)))
+ (if #{l\ 1705}#
(cons (#{wrap\ 159}#
- (car #{e\ 1767}#)
- #{w\ 1768}#
- #{mod\ 1769}#)
- #{l\ 1770}#)
+ (car #{e\ 1702}#)
+ #{w\ 1703}#
+ #{mod\ 1704}#)
+ #{l\ 1705}#)
#f))
- (if (null? #{e\ 1767}#)
+ (if (null? #{e\ 1702}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1767}#)
- (#{match-each-any\ 1745}#
- (#{syntax-object-expression\ 116}# #{e\ 1767}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1702}#)
+ (#{match-each-any\ 1680}#
+ (#{syntax-object-expression\ 116}# #{e\ 1702}#)
(#{join-wraps\ 150}#
- #{w\ 1768}#
- (#{syntax-object-wrap\ 117}# #{e\ 1767}#))
- #{mod\ 1769}#)
+ #{w\ 1703}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1702}#))
+ #{mod\ 1704}#)
#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\ 1679}#
+ (lambda (#{e\ 1706}#
+ #{p\ 1707}#
+ #{w\ 1708}#
+ #{mod\ 1709}#)
+ (if (pair? #{e\ 1706}#)
+ (let ((#{first\ 1710}#
+ (#{match\ 1683}#
+ (car #{e\ 1706}#)
+ #{p\ 1707}#
+ #{w\ 1708}#
'()
- #{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\ 1709}#)))
+ (if #{first\ 1710}#
+ (let ((#{rest\ 1711}#
+ (#{match-each\ 1679}#
+ (cdr #{e\ 1706}#)
+ #{p\ 1707}#
+ #{w\ 1708}#
+ #{mod\ 1709}#)))
+ (if #{rest\ 1711}#
+ (cons #{first\ 1710}# #{rest\ 1711}#)
#f))
#f))
- (if (null? #{e\ 1771}#)
+ (if (null? #{e\ 1706}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1771}#)
- (#{match-each\ 1744}#
- (#{syntax-object-expression\ 116}# #{e\ 1771}#)
- #{p\ 1772}#
+ (if (#{syntax-object?\ 115}# #{e\ 1706}#)
+ (#{match-each\ 1679}#
+ (#{syntax-object-expression\ 116}# #{e\ 1706}#)
+ #{p\ 1707}#
(#{join-wraps\ 150}#
- #{w\ 1773}#
- (#{syntax-object-wrap\ 117}# #{e\ 1771}#))
- (#{syntax-object-module\ 118}# #{e\ 1771}#))
+ #{w\ 1708}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1706}#))
+ (#{syntax-object-module\ 118}# #{e\ 1706}#))
#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\ 1712}# #{p\ 1713}#)
+ (if (eq? #{p\ 1713}# (quote any))
+ (list #{e\ 1712}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1712}#)
+ (#{match*\ 1682}#
+ (#{syntax-object-expression\ 116}# #{e\ 1712}#)
+ #{p\ 1713}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1712}#)
'()
- (#{syntax-object-module\ 118}# #{e\ 1777}#))
- (#{match*\ 1747}#
- #{e\ 1777}#
- #{p\ 1778}#
+ (#{syntax-object-module\ 118}# #{e\ 1712}#))
+ (#{match*\ 1682}#
+ #{e\ 1712}#
+ #{p\ 1713}#
'(())
'()
#f)))))))))
@@ -11629,11 +11388,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\ 1714}#)
+ ((lambda (#{tmp\ 1715}#)
+ ((lambda (#{tmp\ 1716}#)
+ (if #{tmp\ 1716}#
+ (apply (lambda (#{_\ 1717}# #{e1\ 1718}# #{e2\ 1719}#)
(cons '#(syntax-object
begin
((top)
@@ -11644,15 +11403,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\ 1718}# #{e2\ 1719}#)))
+ #{tmp\ 1716}#)
+ ((lambda (#{tmp\ 1721}#)
+ (if #{tmp\ 1721}#
+ (apply (lambda (#{_\ 1722}#
+ #{out\ 1723}#
+ #{in\ 1724}#
+ #{e1\ 1725}#
+ #{e2\ 1726}#)
(list '#(syntax-object
syntax-case
((top)
@@ -11663,9 +11422,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- #{in\ 1789}#
+ #{in\ 1724}#
'()
- (list #{out\ 1788}#
+ (list #{out\ 1723}#
(cons '#(syntax-object
begin
((top)
@@ -11683,16 +11442,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\ 1725}#
+ #{e2\ 1726}#)))))
+ #{tmp\ 1721}#)
+ ((lambda (#{tmp\ 1728}#)
+ (if #{tmp\ 1728}#
+ (apply (lambda (#{_\ 1729}#
+ #{out\ 1730}#
+ #{in\ 1731}#
+ #{e1\ 1732}#
+ #{e2\ 1733}#)
(list '#(syntax-object
syntax-case
((top)
@@ -11720,9 +11479,9 @@
#((top))
#("i")))
(hygiene guile))
- #{in\ 1796}#)
+ #{in\ 1731}#)
'()
- (list #{out\ 1795}#
+ (list #{out\ 1730}#
(cons '#(syntax-object
begin
((top)
@@ -11744,36 +11503,36 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e1\ 1797}#
- #{e2\ 1798}#)))))
- #{tmp\ 1793}#)
+ (cons #{e1\ 1732}#
+ #{e2\ 1733}#)))))
+ #{tmp\ 1728}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1780}#)))
+ #{tmp\ 1715}#)))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 1715}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 1715}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1780}#
+ #{tmp\ 1715}#
'(any () any . each-any))))
- #{x\ 1779}#))))
+ #{x\ 1714}#))))
(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\ 1737}#)
+ ((lambda (#{tmp\ 1738}#)
+ ((lambda (#{tmp\ 1739}#)
+ (if #{tmp\ 1739}#
+ (apply (lambda (#{_\ 1740}#
+ #{k\ 1741}#
+ #{keyword\ 1742}#
+ #{pattern\ 1743}#
+ #{template\ 1744}#)
(list '#(syntax-object
lambda
((top)
@@ -11814,9 +11573,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- (cons #{k\ 1806}#
- (map (lambda (#{tmp\ 1812}#
- #{tmp\ 1811}#)
+ (cons #{k\ 1741}#
+ (map (lambda (#{tmp\ 1747}#
+ #{tmp\ 1746}#)
(list (cons
'#(syntax-object
dummy
((top)
@@ -11846,7 +11605,7 @@
#("i")))
(hygiene
guile))
- #{tmp\
1811}#)
+ #{tmp\
1746}#)
(list
'#(syntax-object
syntax
((top)
@@ -11876,43 +11635,43 @@
#("i")))
(hygiene
guile))
- #{tmp\
1812}#)))
- #{template\ 1809}#
- #{pattern\ 1808}#))))))
- #{tmp\ 1804}#)
+ #{tmp\
1747}#)))
+ #{template\ 1744}#
+ #{pattern\ 1743}#))))))
+ #{tmp\ 1739}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1803}#)))
+ #{tmp\ 1738}#)))
($sc-dispatch
- #{tmp\ 1803}#
+ #{tmp\ 1738}#
'(any each-any . #(each ((any . any) any))))))
- #{x\ 1802}#))))
+ #{x\ 1737}#))))
(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\ 1748}#)
+ ((lambda (#{tmp\ 1749}#)
+ ((lambda (#{tmp\ 1750}#)
+ (if (if #{tmp\ 1750}#
+ (apply (lambda (#{let*\ 1751}#
+ #{x\ 1752}#
+ #{v\ 1753}#
+ #{e1\ 1754}#
+ #{e2\ 1755}#)
+ (and-map identifier? #{x\ 1752}#))
+ #{tmp\ 1750}#)
#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*\ 1757}#
+ #{x\ 1758}#
+ #{v\ 1759}#
+ #{e1\ 1760}#
+ #{e2\ 1761}#)
+ (letrec ((#{f\ 1762}#
+ (lambda (#{bindings\ 1763}#)
+ (if (null? #{bindings\ 1763}#)
(cons '#(syntax-object
let
((top)
@@ -11936,13 +11695,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\ 1760}#
+ #{e2\ 1761}#)))
+ ((lambda (#{tmp\ 1767}#)
+ ((lambda (#{tmp\ 1768}#)
+ (if #{tmp\ 1768}#
+ (apply (lambda (#{body\ 1769}#
+ #{binding\
1770}#)
(list '#(syntax-object
let
((top)
@@ -11988,52 +11747,52 @@
#("i")))
(hygiene
guile))
- (list #{binding\
1835}#)
- #{body\ 1834}#))
- #{tmp\ 1833}#)
+ (list #{binding\
1770}#)
+ #{body\ 1769}#))
+ #{tmp\ 1768}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 1832}#)))
+ #{tmp\ 1767}#)))
($sc-dispatch
- #{tmp\ 1832}#
+ #{tmp\ 1767}#
'(any any))))
- (list (#{f\ 1827}#
- (cdr #{bindings\ 1828}#))
- (car #{bindings\ 1828}#)))))))
- (#{f\ 1827}# (map list #{x\ 1823}# #{v\ 1824}#))))
- #{tmp\ 1815}#)
+ (list (#{f\ 1762}#
+ (cdr #{bindings\ 1763}#))
+ (car #{bindings\ 1763}#)))))))
+ (#{f\ 1762}# (map list #{x\ 1758}# #{v\ 1759}#))))
+ #{tmp\ 1750}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1814}#)))
+ #{tmp\ 1749}#)))
($sc-dispatch
- #{tmp\ 1814}#
+ #{tmp\ 1749}#
'(any #(each (any any)) any . each-any))))
- #{x\ 1813}#))))
+ #{x\ 1748}#))))
(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\ 1771}#)
+ ((lambda (#{tmp\ 1772}#)
+ ((lambda (#{tmp\ 1773}#)
+ (if #{tmp\ 1773}#
+ (apply (lambda (#{_\ 1774}#
+ #{var\ 1775}#
+ #{init\ 1776}#
+ #{step\ 1777}#
+ #{e0\ 1778}#
+ #{e1\ 1779}#
+ #{c\ 1780}#)
+ ((lambda (#{tmp\ 1781}#)
+ ((lambda (#{tmp\ 1782}#)
+ (if #{tmp\ 1782}#
+ (apply (lambda (#{step\ 1783}#)
+ ((lambda (#{tmp\ 1784}#)
+ ((lambda (#{tmp\ 1785}#)
+ (if #{tmp\ 1785}#
(apply (lambda ()
(list '#(syntax-object
let
@@ -12114,8 +11873,8 @@
(hygiene
guile))
(map list
- #{var\
1840}#
- #{init\
1841}#)
+ #{var\
1775}#
+ #{init\
1776}#)
(list
'#(syntax-object
if
((top)
@@ -12194,7 +11953,7 @@
#("i")))
(hygiene
guile))
-
#{e0\ 1843}#)
+
#{e0\ 1778}#)
(cons
'#(syntax-object
begin
((top)
@@ -12235,7 +11994,7 @@
(hygiene
guile))
(append
-
#{c\ 1845}#
+
#{c\ 1780}#
(list (cons '#(syntax-object
doloop
((top)
@@ -12275,12 +12034,12 @@
#("i")))
(hygiene
guile))
-
#{step\ 1848}#)))))))
- #{tmp\ 1850}#)
- ((lambda (#{tmp\ 1855}#)
- (if #{tmp\ 1855}#
- (apply (lambda (#{e1\
1856}#
- #{e2\
1857}#)
+
#{step\ 1783}#)))))))
+ #{tmp\ 1785}#)
+ ((lambda (#{tmp\ 1790}#)
+ (if #{tmp\ 1790}#
+ (apply (lambda (#{e1\
1791}#
+ #{e2\
1792}#)
(list
'#(syntax-object
let
((top)
@@ -12374,8 +12133,8 @@
(hygiene
guile))
(map list
-
#{var\ 1840}#
-
#{init\ 1841}#)
+
#{var\ 1775}#
+
#{init\ 1776}#)
(list
'#(syntax-object
if
((top)
@@ -12422,7 +12181,7 @@
#("i")))
(hygiene
guile))
-
#{e0\ 1843}#
+
#{e0\ 1778}#
(cons '#(syntax-object
begin
((top)
@@ -12469,8 +12228,8 @@
#("i")))
(hygiene
guile))
-
(cons #{e1\ 1856}#
-
#{e2\ 1857}#))
+
(cons #{e1\ 1791}#
+
#{e2\ 1792}#))
(cons '#(syntax-object
begin
((top)
@@ -12518,7 +12277,7 @@
(hygiene
guile))
(append
-
#{c\ 1845}#
+
#{c\ 1780}#
(list (cons '#(syntax-object
doloop
((top)
@@ -12565,81 +12324,81 @@
#("i")))
(hygiene
guile))
-
#{step\ 1848}#)))))))
- #{tmp\ 1855}#)
+
#{step\ 1783}#)))))))
+ #{tmp\ 1790}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 1849}#)))
+ #{tmp\ 1784}#)))
($sc-dispatch
- #{tmp\ 1849}#
+ #{tmp\ 1784}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 1849}#
+ #{tmp\ 1784}#
'())))
- #{e1\ 1844}#))
- #{tmp\ 1847}#)
+ #{e1\ 1779}#))
+ #{tmp\ 1782}#)
(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\ 1781}#)))
+ ($sc-dispatch #{tmp\ 1781}# (quote each-any))))
+ (map (lambda (#{v\ 1799}# #{s\ 1800}#)
+ ((lambda (#{tmp\ 1801}#)
+ ((lambda (#{tmp\ 1802}#)
+ (if #{tmp\ 1802}#
+ (apply (lambda () #{v\ 1799}#)
+ #{tmp\ 1802}#)
+ ((lambda (#{tmp\ 1803}#)
+ (if #{tmp\ 1803}#
+ (apply (lambda (#{e\ 1804}#)
+ #{e\ 1804}#)
+ #{tmp\ 1803}#)
+ ((lambda (#{_\ 1805}#)
(syntax-violation
'do
"bad step expression"
- #{orig-x\ 1836}#
- #{s\ 1865}#))
- #{tmp\ 1866}#)))
+ #{orig-x\ 1771}#
+ #{s\ 1800}#))
+ #{tmp\ 1801}#)))
($sc-dispatch
- #{tmp\ 1866}#
+ #{tmp\ 1801}#
'(any)))))
- ($sc-dispatch #{tmp\ 1866}# (quote ()))))
- #{s\ 1865}#))
- #{var\ 1840}#
- #{step\ 1842}#)))
- #{tmp\ 1838}#)
+ ($sc-dispatch #{tmp\ 1801}# (quote ()))))
+ #{s\ 1800}#))
+ #{var\ 1775}#
+ #{step\ 1777}#)))
+ #{tmp\ 1773}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1837}#)))
+ #{tmp\ 1772}#)))
($sc-dispatch
- #{tmp\ 1837}#
+ #{tmp\ 1772}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
- #{orig-x\ 1836}#))))
+ #{orig-x\ 1771}#))))
(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\ 1808}#
+ (lambda (#{x\ 1812}# #{y\ 1813}#)
+ ((lambda (#{tmp\ 1814}#)
+ ((lambda (#{tmp\ 1815}#)
+ (if #{tmp\ 1815}#
+ (apply (lambda (#{x\ 1816}# #{y\ 1817}#)
+ ((lambda (#{tmp\ 1818}#)
+ ((lambda (#{tmp\ 1819}#)
+ (if #{tmp\ 1819}#
+ (apply (lambda (#{dy\ 1820}#)
+ ((lambda (#{tmp\ 1821}#)
+ ((lambda (#{tmp\ 1822}#)
+ (if #{tmp\ 1822}#
+ (apply (lambda
(#{dx\ 1823}#)
(list
'#(syntax-object
quote
((top)
@@ -12688,11 +12447,11 @@
"i")))
(hygiene
guile))
-
(cons #{dx\ 1888}#
-
#{dy\ 1885}#)))
- #{tmp\
1887}#)
- ((lambda (#{_\
1889}#)
- (if (null? #{dy\
1885}#)
+
(cons #{dx\ 1823}#
+
#{dy\ 1820}#)))
+ #{tmp\
1822}#)
+ ((lambda (#{_\
1824}#)
+ (if (null? #{dy\
1820}#)
(list
'#(syntax-object
list
((top)
@@ -12741,7 +12500,7 @@
"i")))
(hygiene
guile))
- #{x\
1881}#)
+ #{x\
1816}#)
(list
'#(syntax-object
cons
((top)
@@ -12790,11 +12549,11 @@
"i")))
(hygiene
guile))
- #{x\
1881}#
- #{y\
1882}#)))
- #{tmp\ 1886}#)))
+ #{x\
1816}#
+ #{y\
1817}#)))
+ #{tmp\ 1821}#)))
($sc-dispatch
- #{tmp\ 1886}#
+ #{tmp\ 1821}#
'(#(free-id
#(syntax-object
quote
@@ -12837,11 +12596,11 @@
(hygiene
guile)))
any))))
- #{x\ 1881}#))
- #{tmp\ 1884}#)
- ((lambda (#{tmp\ 1890}#)
- (if #{tmp\ 1890}#
- (apply (lambda (#{stuff\ 1891}#)
+ #{x\ 1816}#))
+ #{tmp\ 1819}#)
+ ((lambda (#{tmp\ 1825}#)
+ (if #{tmp\ 1825}#
+ (apply (lambda (#{stuff\ 1826}#)
(cons '#(syntax-object
list
((top)
@@ -12882,10 +12641,10 @@
"i")))
(hygiene
guile))
- (cons #{x\ 1881}#
- #{stuff\
1891}#)))
- #{tmp\ 1890}#)
- ((lambda (#{else\ 1892}#)
+ (cons #{x\ 1816}#
+ #{stuff\
1826}#)))
+ #{tmp\ 1825}#)
+ ((lambda (#{else\ 1827}#)
(list '#(syntax-object
cons
((top)
@@ -12917,11 +12676,11 @@
"i"
"i")))
(hygiene guile))
- #{x\ 1881}#
- #{y\ 1882}#))
- #{tmp\ 1883}#)))
+ #{x\ 1816}#
+ #{y\ 1817}#))
+ #{tmp\ 1818}#)))
($sc-dispatch
- #{tmp\ 1883}#
+ #{tmp\ 1818}#
'(#(free-id
#(syntax-object
list
@@ -12950,7 +12709,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1883}#
+ #{tmp\ 1818}#
'(#(free-id
#(syntax-object
quote
@@ -12974,26 +12733,26 @@
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
- #{y\ 1882}#))
- #{tmp\ 1880}#)
+ #{y\ 1817}#))
+ #{tmp\ 1815}#)
(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\ 1814}#)))
+ ($sc-dispatch #{tmp\ 1814}# (quote (any any)))))
+ (list #{x\ 1812}# #{y\ 1813}#))))
+ (#{quasiappend\ 1809}#
+ (lambda (#{x\ 1828}# #{y\ 1829}#)
+ ((lambda (#{tmp\ 1830}#)
+ ((lambda (#{tmp\ 1831}#)
+ (if #{tmp\ 1831}#
+ (apply (lambda (#{x\ 1832}# #{y\ 1833}#)
+ ((lambda (#{tmp\ 1834}#)
+ ((lambda (#{tmp\ 1835}#)
+ (if #{tmp\ 1835}#
+ (apply (lambda () #{x\ 1832}#)
+ #{tmp\ 1835}#)
+ ((lambda (#{_\ 1836}#)
(list '#(syntax-object
append
((top)
@@ -13022,11 +12781,11 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1897}#
- #{y\ 1898}#))
- #{tmp\ 1899}#)))
+ #{x\ 1832}#
+ #{y\ 1833}#))
+ #{tmp\ 1834}#)))
($sc-dispatch
- #{tmp\ 1899}#
+ #{tmp\ 1834}#
'(#(free-id
#(syntax-object
quote
@@ -13050,22 +12809,22 @@
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
- #{y\ 1898}#))
- #{tmp\ 1896}#)
+ #{y\ 1833}#))
+ #{tmp\ 1831}#)
(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\ 1830}#)))
+ ($sc-dispatch #{tmp\ 1830}# (quote (any any)))))
+ (list #{x\ 1828}# #{y\ 1829}#))))
+ (#{quasivector\ 1810}#
+ (lambda (#{x\ 1837}#)
+ ((lambda (#{tmp\ 1838}#)
+ ((lambda (#{x\ 1839}#)
+ ((lambda (#{tmp\ 1840}#)
+ ((lambda (#{tmp\ 1841}#)
+ (if #{tmp\ 1841}#
+ (apply (lambda (#{x\ 1842}#)
(list '#(syntax-object
quote
((top)
@@ -13091,11 +12850,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\ 1842}#)))
+ #{tmp\ 1841}#)
+ ((lambda (#{tmp\ 1844}#)
+ (if #{tmp\ 1844}#
+ (apply (lambda (#{x\ 1845}#)
(cons '#(syntax-object
vector
((top)
@@ -13124,9 +12883,9 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1910}#))
- #{tmp\ 1909}#)
- ((lambda (#{_\ 1912}#)
+ #{x\ 1845}#))
+ #{tmp\ 1844}#)
+ ((lambda (#{_\ 1847}#)
(list '#(syntax-object
list->vector
((top)
@@ -13152,10 +12911,10 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1904}#))
- #{tmp\ 1905}#)))
+ #{x\ 1839}#))
+ #{tmp\ 1840}#)))
($sc-dispatch
- #{tmp\ 1905}#
+ #{tmp\ 1840}#
'(#(free-id
#(syntax-object
list
@@ -13175,7 +12934,7 @@
.
each-any)))))
($sc-dispatch
- #{tmp\ 1905}#
+ #{tmp\ 1840}#
'(#(free-id
#(syntax-object
quote
@@ -13193,18 +12952,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\ 1839}#))
+ #{tmp\ 1838}#))
+ #{x\ 1837}#)))
+ (#{quasi\ 1811}#
+ (lambda (#{p\ 1848}# #{lev\ 1849}#)
+ ((lambda (#{tmp\ 1850}#)
+ ((lambda (#{tmp\ 1851}#)
+ (if #{tmp\ 1851}#
+ (apply (lambda (#{p\ 1852}#)
+ (if (= #{lev\ 1849}# 0)
+ #{p\ 1852}#
+ (#{quasicons\ 1808}#
'(#(syntax-object
quote
((top)
@@ -13239,21 +12998,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\ 1811}#
+ (list #{p\ 1852}#)
+ (- #{lev\ 1849}# 1)))))
+ #{tmp\ 1851}#)
+ ((lambda (#{tmp\ 1853}#)
+ (if (if #{tmp\ 1853}#
+ (apply (lambda (#{args\ 1854}#)
+ (= #{lev\ 1849}# 0))
+ #{tmp\ 1853}#)
#f)
- (apply (lambda (#{args\ 1920}#)
+ (apply (lambda (#{args\ 1855}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
- #{p\ 1913}#
+ #{p\ 1848}#
(cons '#(syntax-object
unquote
((top)
@@ -13274,19 +13033,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\ 1855}#)))
+ #{tmp\ 1853}#)
+ ((lambda (#{tmp\ 1856}#)
+ (if #{tmp\ 1856}#
+ (apply (lambda (#{p\ 1857}# #{q\ 1858}#)
+ (if (= #{lev\ 1849}# 0)
+ (#{quasiappend\ 1809}#
+ #{p\ 1857}#
+ (#{quasi\ 1811}#
+ #{q\ 1858}#
+ #{lev\ 1849}#))
+ (#{quasicons\ 1808}#
+ (#{quasicons\ 1808}#
'(#(syntax-object
quote
((top)
@@ -13333,26 +13092,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\ 1811}#
+ (list #{p\ 1857}#)
+ (- #{lev\ 1849}# 1)))
+ (#{quasi\ 1811}#
+ #{q\ 1858}#
+ #{lev\ 1849}#))))
+ #{tmp\ 1856}#)
+ ((lambda (#{tmp\ 1859}#)
+ (if (if #{tmp\ 1859}#
+ (apply (lambda (#{args\ 1860}#
+ #{q\ 1861}#)
+ (= #{lev\ 1849}# 0))
+ #{tmp\ 1859}#)
#f)
- (apply (lambda (#{args\ 1927}#
- #{q\ 1928}#)
+ (apply (lambda (#{args\ 1862}#
+ #{q\ 1863}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes
exactly one argument"
- #{p\ 1913}#
+ #{p\ 1848}#
(cons '#(syntax-object
unquote-splicing
((top)
@@ -13382,12 +13141,12 @@
"i"
"i")))
(hygiene guile))
- #{args\ 1927}#)))
- #{tmp\ 1924}#)
- ((lambda (#{tmp\ 1929}#)
- (if #{tmp\ 1929}#
- (apply (lambda (#{p\ 1930}#)
- (#{quasicons\ 1873}#
+ #{args\ 1862}#)))
+ #{tmp\ 1859}#)
+ ((lambda (#{tmp\ 1864}#)
+ (if #{tmp\ 1864}#
+ (apply (lambda (#{p\ 1865}#)
+ (#{quasicons\ 1808}#
'(#(syntax-object
quote
((top)
@@ -13446,32 +13205,32 @@
"i"
"i")))
(hygiene guile)))
- (#{quasi\ 1876}#
- (list #{p\ 1930}#)
- (+ #{lev\ 1914}#
+ (#{quasi\ 1811}#
+ (list #{p\ 1865}#)
+ (+ #{lev\ 1849}#
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\ 1864}#)
+ ((lambda (#{tmp\ 1866}#)
+ (if #{tmp\ 1866}#
+ (apply (lambda (#{p\ 1867}#
+ #{q\ 1868}#)
+ (#{quasicons\ 1808}#
+ (#{quasi\ 1811}#
+ #{p\ 1867}#
+ #{lev\ 1849}#)
+ (#{quasi\ 1811}#
+ #{q\ 1868}#
+ #{lev\ 1849}#)))
+ #{tmp\ 1866}#)
+ ((lambda (#{tmp\ 1869}#)
+ (if #{tmp\ 1869}#
+ (apply (lambda (#{x\
1870}#)
+
(#{quasivector\ 1810}#
+ (#{quasi\
1811}#
+ #{x\ 1870}#
+ #{lev\
1849}#)))
+ #{tmp\ 1869}#)
+ ((lambda (#{p\ 1872}#)
(list
'#(syntax-object
quote
((top)
@@ -13504,16 +13263,16 @@
"i")))
(hygiene
guile))
- #{p\ 1937}#))
- #{tmp\ 1915}#)))
+ #{p\ 1872}#))
+ #{tmp\ 1850}#)))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'#(vector each-any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'(#(free-id
#(syntax-object
quasiquote
@@ -13533,7 +13292,7 @@
(hygiene guile)))
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -13556,7 +13315,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -13578,7 +13337,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'(#(free-id
#(syntax-object
unquote
@@ -13596,7 +13355,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1915}#
+ #{tmp\ 1850}#
'(#(free-id
#(syntax-object
unquote
@@ -13609,49 +13368,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\ 1848}#))))
+ (lambda (#{x\ 1873}#)
+ ((lambda (#{tmp\ 1874}#)
+ ((lambda (#{tmp\ 1875}#)
+ (if #{tmp\ 1875}#
+ (apply (lambda (#{_\ 1876}# #{e\ 1877}#)
+ (#{quasi\ 1811}# #{e\ 1877}# 0))
+ #{tmp\ 1875}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1939}#)))
- ($sc-dispatch #{tmp\ 1939}# (quote (any any)))))
- #{x\ 1938}#)))))
+ #{tmp\ 1874}#)))
+ ($sc-dispatch #{tmp\ 1874}# (quote (any any)))))
+ #{x\ 1873}#)))))
(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\ 1878}#)
+ (letrec ((#{read-file\ 1879}#
+ (lambda (#{fn\ 1880}# #{k\ 1881}#)
+ (let ((#{p\ 1882}# (open-input-file #{fn\ 1880}#)))
+ (letrec ((#{f\ 1883}#
+ (lambda (#{x\ 1884}#)
+ (if (eof-object? #{x\ 1884}#)
(begin
- (close-input-port #{p\ 1947}#)
+ (close-input-port #{p\ 1882}#)
'())
(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\ 1881}#
+ #{x\ 1884}#)
+ (#{f\ 1883}# (read #{p\ 1882}#)))))))
+ (#{f\ 1883}# (read #{p\ 1882}#)))))))
+ ((lambda (#{tmp\ 1885}#)
+ ((lambda (#{tmp\ 1886}#)
+ (if #{tmp\ 1886}#
+ (apply (lambda (#{k\ 1887}# #{filename\ 1888}#)
+ (let ((#{fn\ 1889}#
+ (syntax->datum #{filename\ 1888}#)))
+ ((lambda (#{tmp\ 1890}#)
+ ((lambda (#{tmp\ 1891}#)
+ (if #{tmp\ 1891}#
+ (apply (lambda (#{exp\ 1892}#)
(cons '#(syntax-object
begin
((top)
@@ -13678,33 +13437,33 @@
#((top))
#("i")))
(hygiene guile))
- #{exp\ 1957}#))
- #{tmp\ 1956}#)
+ #{exp\ 1892}#))
+ #{tmp\ 1891}#)
(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\ 1890}#)))
+ ($sc-dispatch #{tmp\ 1890}# (quote each-any))))
+ (#{read-file\ 1879}# #{fn\ 1889}# #{k\ 1887}#))))
+ #{tmp\ 1886}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1950}#)))
- ($sc-dispatch #{tmp\ 1950}# (quote (any any)))))
- #{x\ 1943}#)))))
+ #{tmp\ 1885}#)))
+ ($sc-dispatch #{tmp\ 1885}# (quote (any any)))))
+ #{x\ 1878}#)))))
(define include-from-path
(make-syncase-macro
'macro
- (lambda (#{x\ 1959}#)
- ((lambda (#{tmp\ 1960}#)
- ((lambda (#{tmp\ 1961}#)
- (if #{tmp\ 1961}#
- (apply (lambda (#{k\ 1962}# #{filename\ 1963}#)
- (let ((#{fn\ 1964}# (syntax->datum #{filename\ 1963}#)))
- ((lambda (#{tmp\ 1965}#)
- ((lambda (#{fn\ 1966}#)
+ (lambda (#{x\ 1894}#)
+ ((lambda (#{tmp\ 1895}#)
+ ((lambda (#{tmp\ 1896}#)
+ (if #{tmp\ 1896}#
+ (apply (lambda (#{k\ 1897}# #{filename\ 1898}#)
+ (let ((#{fn\ 1899}# (syntax->datum #{filename\ 1898}#)))
+ ((lambda (#{tmp\ 1900}#)
+ ((lambda (#{fn\ 1901}#)
(list '#(syntax-object
include
((top)
@@ -13719,78 +13478,78 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- #{fn\ 1966}#))
- #{tmp\ 1965}#))
- (let ((#{t\ 1967}# (%search-load-path #{fn\ 1964}#)))
- (if #{t\ 1967}#
- #{t\ 1967}#
+ #{fn\ 1901}#))
+ #{tmp\ 1900}#))
+ (let ((#{t\ 1902}# (%search-load-path #{fn\ 1899}#)))
+ (if #{t\ 1902}#
+ #{t\ 1902}#
(syntax-violation
'include-from-path
"file not found in path"
- #{x\ 1959}#
- #{filename\ 1963}#))))))
- #{tmp\ 1961}#)
+ #{x\ 1894}#
+ #{filename\ 1898}#))))))
+ #{tmp\ 1896}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1960}#)))
- ($sc-dispatch #{tmp\ 1960}# (quote (any any)))))
- #{x\ 1959}#))))
+ #{tmp\ 1895}#)))
+ ($sc-dispatch #{tmp\ 1895}# (quote (any any)))))
+ #{x\ 1894}#))))
(define unquote
(make-syncase-macro
'macro
- (lambda (#{x\ 1968}#)
- ((lambda (#{tmp\ 1969}#)
- ((lambda (#{tmp\ 1970}#)
- (if #{tmp\ 1970}#
- (apply (lambda (#{_\ 1971}# #{e\ 1972}#)
+ (lambda (#{x\ 1903}#)
+ ((lambda (#{tmp\ 1904}#)
+ ((lambda (#{tmp\ 1905}#)
+ (if #{tmp\ 1905}#
+ (apply (lambda (#{_\ 1906}# #{e\ 1907}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
- #{x\ 1968}#))
- #{tmp\ 1970}#)
+ #{x\ 1903}#))
+ #{tmp\ 1905}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1969}#)))
- ($sc-dispatch #{tmp\ 1969}# (quote (any any)))))
- #{x\ 1968}#))))
+ #{tmp\ 1904}#)))
+ ($sc-dispatch #{tmp\ 1904}# (quote (any any)))))
+ #{x\ 1903}#))))
(define unquote-splicing
(make-syncase-macro
'macro
- (lambda (#{x\ 1973}#)
- ((lambda (#{tmp\ 1974}#)
- ((lambda (#{tmp\ 1975}#)
- (if #{tmp\ 1975}#
- (apply (lambda (#{_\ 1976}# #{e\ 1977}#)
+ (lambda (#{x\ 1908}#)
+ ((lambda (#{tmp\ 1909}#)
+ ((lambda (#{tmp\ 1910}#)
+ (if #{tmp\ 1910}#
+ (apply (lambda (#{_\ 1911}# #{e\ 1912}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
- #{x\ 1973}#))
- #{tmp\ 1975}#)
+ #{x\ 1908}#))
+ #{tmp\ 1910}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1974}#)))
- ($sc-dispatch #{tmp\ 1974}# (quote (any any)))))
- #{x\ 1973}#))))
+ #{tmp\ 1909}#)))
+ ($sc-dispatch #{tmp\ 1909}# (quote (any any)))))
+ #{x\ 1908}#))))
(define case
(make-extended-syncase-macro
(module-ref (current-module) (quote case))
'macro
- (lambda (#{x\ 1978}#)
- ((lambda (#{tmp\ 1979}#)
- ((lambda (#{tmp\ 1980}#)
- (if #{tmp\ 1980}#
- (apply (lambda (#{_\ 1981}#
- #{e\ 1982}#
- #{m1\ 1983}#
- #{m2\ 1984}#)
- ((lambda (#{tmp\ 1985}#)
- ((lambda (#{body\ 1986}#)
+ (lambda (#{x\ 1913}#)
+ ((lambda (#{tmp\ 1914}#)
+ ((lambda (#{tmp\ 1915}#)
+ (if #{tmp\ 1915}#
+ (apply (lambda (#{_\ 1916}#
+ #{e\ 1917}#
+ #{m1\ 1918}#
+ #{m2\ 1919}#)
+ ((lambda (#{tmp\ 1920}#)
+ ((lambda (#{body\ 1921}#)
(list '#(syntax-object
let
((top)
@@ -13819,17 +13578,17 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 1982}#))
- #{body\ 1986}#))
- #{tmp\ 1985}#))
- (letrec ((#{f\ 1987}#
- (lambda (#{clause\ 1988}# #{clauses\ 1989}#)
- (if (null? #{clauses\ 1989}#)
- ((lambda (#{tmp\ 1991}#)
- ((lambda (#{tmp\ 1992}#)
- (if #{tmp\ 1992}#
- (apply (lambda (#{e1\ 1993}#
- #{e2\ 1994}#)
+ #{e\ 1917}#))
+ #{body\ 1921}#))
+ #{tmp\ 1920}#))
+ (letrec ((#{f\ 1922}#
+ (lambda (#{clause\ 1923}# #{clauses\ 1924}#)
+ (if (null? #{clauses\ 1924}#)
+ ((lambda (#{tmp\ 1926}#)
+ ((lambda (#{tmp\ 1927}#)
+ (if #{tmp\ 1927}#
+ (apply (lambda (#{e1\ 1928}#
+ #{e2\ 1929}#)
(cons '#(syntax-object
begin
((top)
@@ -13875,14 +13634,14 @@
#("i")))
(hygiene
guile))
- (cons #{e1\
1993}#
- #{e2\
1994}#)))
- #{tmp\ 1992}#)
- ((lambda (#{tmp\ 1996}#)
- (if #{tmp\ 1996}#
- (apply (lambda (#{k\ 1997}#
- #{e1\
1998}#
- #{e2\
1999}#)
+ (cons #{e1\
1928}#
+ #{e2\
1929}#)))
+ #{tmp\ 1927}#)
+ ((lambda (#{tmp\ 1931}#)
+ (if #{tmp\ 1931}#
+ (apply (lambda (#{k\ 1932}#
+ #{e1\
1933}#
+ #{e2\
1934}#)
(list
'#(syntax-object
if
((top)
@@ -14083,7 +13842,7 @@
#("i")))
(hygiene
guile))
-
#{k\ 1997}#))
+
#{k\ 1932}#))
(cons
'#(syntax-object
begin
((top)
@@ -14134,24 +13893,24 @@
#("i")))
(hygiene
guile))
- (cons
#{e1\ 1998}#
-
#{e2\ 1999}#))))
- #{tmp\ 1996}#)
- ((lambda (#{_\ 2002}#)
+ (cons
#{e1\ 1933}#
+
#{e2\ 1934}#))))
+ #{tmp\ 1931}#)
+ ((lambda (#{_\ 1937}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1978}#
- #{clause\ 1988}#))
- #{tmp\ 1991}#)))
+ #{x\ 1913}#
+ #{clause\ 1923}#))
+ #{tmp\ 1926}#)))
($sc-dispatch
- #{tmp\ 1991}#
+ #{tmp\ 1926}#
'(each-any
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 1991}#
+ #{tmp\ 1926}#
'(#(free-id
#(syntax-object
else
@@ -14177,15 +13936,15 @@
any
.
each-any))))
- #{clause\ 1988}#)
- ((lambda (#{tmp\ 2003}#)
- ((lambda (#{rest\ 2004}#)
- ((lambda (#{tmp\ 2005}#)
- ((lambda (#{tmp\ 2006}#)
- (if #{tmp\ 2006}#
- (apply (lambda (#{k\
2007}#
- #{e1\
2008}#
- #{e2\
2009}#)
+ #{clause\ 1923}#)
+ ((lambda (#{tmp\ 1938}#)
+ ((lambda (#{rest\ 1939}#)
+ ((lambda (#{tmp\ 1940}#)
+ ((lambda (#{tmp\ 1941}#)
+ (if #{tmp\ 1941}#
+ (apply (lambda (#{k\
1942}#
+ #{e1\
1943}#
+ #{e2\
1944}#)
(list
'#(syntax-object
if
((top)
@@ -14402,7 +14161,7 @@
#("i")))
(hygiene
guile))
-
#{k\ 2007}#))
+
#{k\ 1942}#))
(cons
'#(syntax-object
begin
((top)
@@ -14457,47 +14216,47 @@
#("i")))
(hygiene
guile))
-
(cons #{e1\ 2008}#
-
#{e2\ 2009}#))
- #{rest\
2004}#))
- #{tmp\ 2006}#)
- ((lambda (#{_\ 2012}#)
+
(cons #{e1\ 1943}#
+
#{e2\ 1944}#))
+ #{rest\
1939}#))
+ #{tmp\ 1941}#)
+ ((lambda (#{_\ 1947}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1978}#
- #{clause\ 1988}#))
- #{tmp\ 2005}#)))
+ #{x\ 1913}#
+ #{clause\ 1923}#))
+ #{tmp\ 1940}#)))
($sc-dispatch
- #{tmp\ 2005}#
+ #{tmp\ 1940}#
'(each-any
any
.
each-any))))
- #{clause\ 1988}#))
- #{tmp\ 2003}#))
- (#{f\ 1987}#
- (car #{clauses\ 1989}#)
- (cdr #{clauses\ 1989}#)))))))
- (#{f\ 1987}# #{m1\ 1983}# #{m2\ 1984}#))))
- #{tmp\ 1980}#)
+ #{clause\ 1923}#))
+ #{tmp\ 1938}#))
+ (#{f\ 1922}#
+ (car #{clauses\ 1924}#)
+ (cdr #{clauses\ 1924}#)))))))
+ (#{f\ 1922}# #{m1\ 1918}# #{m2\ 1919}#))))
+ #{tmp\ 1915}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1979}#)))
+ #{tmp\ 1914}#)))
($sc-dispatch
- #{tmp\ 1979}#
+ #{tmp\ 1914}#
'(any any any . each-any))))
- #{x\ 1978}#))))
+ #{x\ 1913}#))))
(define identifier-syntax
(make-syncase-macro
'macro
- (lambda (#{x\ 2013}#)
- ((lambda (#{tmp\ 2014}#)
- ((lambda (#{tmp\ 2015}#)
- (if #{tmp\ 2015}#
- (apply (lambda (#{_\ 2016}# #{e\ 2017}#)
+ (lambda (#{x\ 1948}#)
+ ((lambda (#{tmp\ 1949}#)
+ ((lambda (#{tmp\ 1950}#)
+ (if #{tmp\ 1950}#
+ (apply (lambda (#{_\ 1951}# #{e\ 1952}#)
(list '#(syntax-object
lambda
((top)
@@ -14586,8 +14345,8 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 2017}#))
- (list (cons #{_\ 2016}#
+ #{e\ 1952}#))
+ (list (cons #{_\ 1951}#
'(#(syntax-object
x
((top)
@@ -14627,7 +14386,7 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e\ 2017}#
+ (cons #{e\ 1952}#
'(#(syntax-object
x
((top)
@@ -14655,26 +14414,26 @@
#("i")))
(hygiene
guile)))))))))
- #{tmp\ 2015}#)
+ #{tmp\ 1950}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 2014}#)))
- ($sc-dispatch #{tmp\ 2014}# (quote (any any)))))
- #{x\ 2013}#))))
+ #{tmp\ 1949}#)))
+ ($sc-dispatch #{tmp\ 1949}# (quote (any any)))))
+ #{x\ 1948}#))))
(define define*
(make-syncase-macro
'macro
- (lambda (#{x\ 2018}#)
- ((lambda (#{tmp\ 2019}#)
- ((lambda (#{tmp\ 2020}#)
- (if #{tmp\ 2020}#
- (apply (lambda (#{dummy\ 2021}#
- #{id\ 2022}#
- #{args\ 2023}#
- #{b0\ 2024}#
- #{b1\ 2025}#)
+ (lambda (#{x\ 1953}#)
+ ((lambda (#{tmp\ 1954}#)
+ ((lambda (#{tmp\ 1955}#)
+ (if #{tmp\ 1955}#
+ (apply (lambda (#{dummy\ 1956}#
+ #{id\ 1957}#
+ #{args\ 1958}#
+ #{b0\ 1959}#
+ #{b1\ 1960}#)
(list '#(syntax-object
define
((top)
@@ -14685,7 +14444,7 @@
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
- #{id\ 2022}#
+ #{id\ 1957}#
(cons '#(syntax-object
lambda*
((top)
@@ -14696,15 +14455,15 @@
#(ribcage () () ())
#(ribcage #(x) #(("m" top)) #("i")))
(hygiene guile))
- (cons #{args\ 2023}#
- (cons #{b0\ 2024}# #{b1\ 2025}#)))))
- #{tmp\ 2020}#)
+ (cons #{args\ 1958}#
+ (cons #{b0\ 1959}# #{b1\ 1960}#)))))
+ #{tmp\ 1955}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 2019}#)))
+ #{tmp\ 1954}#)))
($sc-dispatch
- #{tmp\ 2019}#
+ #{tmp\ 1954}#
'(any (any . any) any . each-any))))
- #{x\ 2018}#))))
+ #{x\ 1953}#))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index d0073c1..ae75bc6 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -449,10 +449,10 @@
(else (decorate-source `(define ,var ,exp) source)))))
;; 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.
+ ;; need special support in the interpreter for the full capabilities
+ ;; of 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)) #f))
+ (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)) #f))
- ((a . b) (eq? (syntax->datum #'a) #:predicate)
- (pred #'b req opt (cons #f (reverse rkey))))
+ (rest #'r req opt (cons #t (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 kw #f))
- ((x . b) (id? #'b)
- (rest #'b req opt kw #f))
- (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 a97a4c1..a97e555 100644
--- a/module/language/ecmascript/compile-tree-il.scm
+++ b/module/language/ecmascript/compile-tree-il.scm
@@ -337,14 +337,14 @@
formals)))
`(lambda ()
(lambda-case
- ((() ,formals #f #f ,(map (lambda (x) (@implv *undefined*))
formals) ,syms #f)
+ ((() ,formals #f #f ,(map (lambda (x) (@implv *undefined*))
formals) ,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)
@@ -447,13 +447,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*)))))))))
@@ -464,7 +464,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))))))
@@ -477,7 +477,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))
@@ -496,7 +496,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))
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 e06a5af..d00fe1d 100644
--- a/module/language/tree-il/analyze.scm
+++ b/module/language/tree-il/analyze.scm
@@ -190,8 +190,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))
@@ -226,7 +225,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
@@ -234,7 +233,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) '())))
@@ -381,13 +379,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 fba0c67..1781c46 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -60,7 +60,7 @@
(analyze-tree analyses x e))
(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)))
@@ -92,6 +92,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)
@@ -103,6 +107,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)
@@ -487,7 +492,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
@@ -495,15 +500,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))))
@@ -603,14 +661,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.
@@ -691,15 +748,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)))
@@ -828,8 +876,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 7871c2f..a9e26b5 100644
--- a/module/oop/goops.scm
+++ b/module/oop/goops.scm
@@ -73,7 +73,7 @@
primitive-generic-generic enable-primitive-generic!
method-procedure accessor-method-slot-definition
slot-exists? make find-method get-keyword)
- :replace (<class> <operator-class> <entity-class> <entity>)
+ :replace (<class> <entity-class> <entity>)
:no-backtrace)
(define *goops-module* (current-module))
@@ -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)
@@ -1125,11 +1131,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))
@@ -1484,14 +1485,6 @@
(set-object-procedure! object
(lambda args (apply proc args)))))))
-(define-method (initialize (class <operator-class>) initargs)
- (next-method)
- (initialize-object-procedure class initargs))
-
-(define-method (initialize (owsc <operator-with-setter-class>) initargs)
- (next-method)
- (%set-object-setter! owsc (get-keyword #:setter initargs #f)))
-
(define-method (initialize (entity <entity>) initargs)
(next-method)
(initialize-object-procedure entity initargs))
diff --git a/module/srfi/srfi-35.scm b/module/srfi/srfi-35.scm
index 7407feb..5d6557d 100644
--- a/module/srfi/srfi-35.scm
+++ b/module/srfi/srfi-35.scm
@@ -78,15 +78,15 @@
(define (condition-type-id ct)
(and (condition-type? ct)
- (struct-ref ct 3)))
+ (struct-ref ct (+ vtable-offset-user 0))))
(define (condition-type-parent ct)
(and (condition-type? ct)
- (struct-ref ct 4)))
+ (struct-ref ct (+ vtable-offset-user 1))))
(define (condition-type-all-fields ct)
(and (condition-type? ct)
- (struct-ref ct 5)))
+ (struct-ref ct (+ vtable-offset-user 2))))
(define (struct-layout-for-condition field-names)
diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm
index f02fbe6..24e3def 100644
--- a/module/system/vm/program.scm
+++ b/module/system/vm/program.scm
@@ -198,7 +198,7 @@
(source:line s) (source:column s))))
(number->string (object-address prog) 16))
(let ((arities (program-arities prog)))
- (if (null? arities)
+ (if (or (not arities) (null? arities))
""
(string-append
" " (string-join (map (lambda (a)
diff --git a/test-suite/tests/structs.test b/test-suite/tests/structs.test
index e114abb..2c2ca0c 100644
--- a/test-suite/tests/structs.test
+++ b/test-suite/tests/structs.test
@@ -1,7 +1,7 @@
;;;; structs.test --- Test suite for Guile's structures. -*- Scheme -*-
;;;; Ludovic Courtès <address@hidden>, 2006-06-12.
;;;;
-;;;; Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+;;;; Copyright (C) 2006, 2007, 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
@@ -86,7 +86,7 @@
(with-test-prefix "equal?"
(pass-if "simple structs"
- (let* ((vtable (make-vtable-vtable "pr" 0))
+ (let* ((vtable (make-vtable "pr"))
(s1 (make-struct vtable 0 "hello"))
(s2 (make-struct vtable 0 "hello")))
(equal? s1 s2)))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index 874552f..3fe6865 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -322,7 +322,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 _)
@@ -331,7 +331,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 _)
@@ -343,7 +343,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)
@@ -354,7 +354,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)
@@ -365,7 +365,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)
@@ -376,7 +376,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)
@@ -387,9 +387,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))
@@ -523,7 +523,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, master, updated. release_1-9-4-128-gb10d933,
Andy Wingo <=