[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-10-126-g3
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, master, updated. release_1-9-10-126-g3e5ea35 |
Date: |
Wed, 19 May 2010 23:00:48 +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=3e5ea35c2fa1bb3d21373723e9a51d213cf79187
The branch, master has been updated
via 3e5ea35c2fa1bb3d21373723e9a51d213cf79187 (commit)
via bdf7759c2b1116bd4dfeee725f0bd92fa256a27e (commit)
via 3d10018e7f7f7db1f9ae2f673a21f45bde0aa11b (commit)
via f7b61b39d398fecba5d2d14ca895d75785bf826a (commit)
via e1ca91007a26c64f4c9673158e5f88864818defb (commit)
via ccbc25f33f6ff4f7463f5ad5bbd5157d7bba26d4 (commit)
via dc3e203e075a2713791a1c5593c67b9296214156 (commit)
via 667361f6cec83a090d0a7e81df8e16e2aafb2403 (commit)
via 311fbeb7c3d13e863936eb9cdfbc5e6278e832e3 (commit)
from 12922f0dd1e327e6f0c5693619e1e6d600e6a866 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3e5ea35c2fa1bb3d21373723e9a51d213cf79187
Author: Andy Wingo <address@hidden>
Date: Thu May 20 01:00:37 2010 +0200
%null-pointer properly aligned
* libguile/foreign.c: Allocate %null-pointer on the heap, to assure
proper alignment.
commit bdf7759c2b1116bd4dfeee725f0bd92fa256a27e
Author: Andy Wingo <address@hidden>
Date: Wed May 19 23:56:00 2010 +0200
psyntax produces "expanded" structures directly
* module/ice-9/psyntax.scm: Remove a number of eval-versus-compile
cases, instead producing "expanded" structures directly, which happen
to coincide with tree-il.
* module/ice-9/psyntax-pp.scm: Regenerate.
commit 3d10018e7f7f7db1f9ae2f673a21f45bde0aa11b
Author: Andy Wingo <address@hidden>
Date: Wed May 19 23:37:27 2010 +0200
expanded type constructors in psyntax
* module/ice-9/psyntax.scm (define-expansion-constructors): Define
constructors for expanded types.
* module/ice-9/psyntax-pp.scm: Regenerated.
commit f7b61b39d398fecba5d2d14ca895d75785bf826a
Author: Andy Wingo <address@hidden>
Date: Wed May 19 23:27:14 2010 +0200
tree-il on expanded-vtables
* module/language/tree-il.scm: In a somewhat daring move, inherit
the "core" tree-il constructs from %expanded-vtables.
commit e1ca91007a26c64f4c9673158e5f88864818defb
Author: Andy Wingo <address@hidden>
Date: Wed May 19 23:25:50 2010 +0200
fix a couple expander naming bugs
* libguile/expand.h:
* libguile/memoize.c: Fix a couple bugs: it's application-args, not
application-exps, and public?, not public.
commit ccbc25f33f6ff4f7463f5ad5bbd5157d7bba26d4
Author: Andy Wingo <address@hidden>
Date: Wed May 19 22:57:52 2010 +0200
%expanded-vtables is a vector
* libguile/expand.c (scm_init_expand): %expanded-vtables is a vector.
commit dc3e203e075a2713791a1c5593c67b9296214156
Author: Andy Wingo <address@hidden>
Date: Wed May 19 22:51:31 2010 +0200
separate boot expansion from memoization
* libguile/Makefile.am:
* libguile/init.c:
* libguile/expand.c:
* libguile/expand.h: Add new expander. The idea is that macroexpansion
is one thing, and whether to compile or interpret the result of that
is another thing.
* libguile/memoize.c: Adapt to expand as necessary, and then memoize
expanded source without worrying about syntax errors.
* module/ice-9/eval.scm (make-general-closure): Allow alt clauses to not
possess the full make-general-closure arity.
commit 667361f6cec83a090d0a7e81df8e16e2aafb2403
Author: Andy Wingo <address@hidden>
Date: Tue May 18 22:30:58 2010 +0200
remove the new scm_memoize_begin, etc
* libguile/memoize.h:
* libguile/memoize.c: Remove the recently-added scm_memoize_begin,
scm_memoize_lambda, et al. We'll take a different tack.
commit 311fbeb7c3d13e863936eb9cdfbc5e6278e832e3
Author: Andy Wingo <address@hidden>
Date: Sun May 16 12:21:27 2010 +0200
scm_memoize_lambda update
* libguile/memoize.h:
* libguile/memoize.c (scm_memoize_lambda): Update to memoize
"full-arity" lambdas.
-----------------------------------------------------------------------
Summary of changes:
libguile/Makefile.am | 4 +
libguile/eval.c | 39 +-
libguile/expand.c | 1253 ++++
libguile/expand.h | 346 +
libguile/foreign.c | 12 +-
libguile/init.c | 2 +
libguile/memoize.c | 1418 +---
libguile/memoize.h | 15 -
module/ice-9/eval.scm | 10 +-
module/ice-9/psyntax-pp.scm |17176 +++++++++++++++++++++++--------------------
module/ice-9/psyntax.scm | 211 +-
module/language/tree-il.scm | 78 +-
12 files changed, 11047 insertions(+), 9517 deletions(-)
create mode 100644 libguile/expand.c
create mode 100644 libguile/expand.h
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index a841c9f..90d8b61 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -127,6 +127,7 @@ address@hidden@_la_SOURCES =
\
error.c \
eval.c \
evalext.c \
+ expand.c \
extensions.c \
feature.c \
fluids.c \
@@ -229,6 +230,7 @@ DOT_X_FILES = \
error.x \
eval.x \
evalext.x \
+ expand.x \
extensions.x \
feature.x \
fluids.x \
@@ -328,6 +330,7 @@ DOT_DOC_FILES = \
error.doc \
eval.doc \
evalext.doc \
+ expand.doc \
extensions.doc \
feature.doc \
fluids.doc \
@@ -487,6 +490,7 @@ modinclude_HEADERS = \
error.h \
eval.h \
evalext.h \
+ expand.h \
extensions.h \
feature.h \
filesys.h \
diff --git a/libguile/eval.c b/libguile/eval.c
index 7c21060..63808c6 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -114,15 +114,26 @@ static scm_t_bits scm_tc16_boot_closure;
#define BOOT_CLOSURE_IS_REST(x) scm_is_null (CDDDR (BOOT_CLOSURE_CODE (x)))
/* NB: One may only call the following accessors if the closure is not REST. */
#define BOOT_CLOSURE_IS_FULL(x) (1)
-#define BOOT_CLOSURE_PARSE_FULL(x,body,nargs,rest,nopt,kw,inits,alt) \
- do { SCM mx = BOOT_CLOSURE_CODE (x); \
- body = CAR (mx); mx = CDR (mx); \
- nreq = SCM_I_INUM (CAR (mx)); mx = CDR (mx); \
- rest = CAR (mx); mx = CDR (mx); \
- nopt = SCM_I_INUM (CAR (mx)); mx = CDR (mx); \
- kw = CAR (mx); mx = CDR (mx); \
- inits = CAR (mx); mx = CDR (mx); \
- alt = CAR (mx); \
+#define BOOT_CLOSURE_PARSE_FULL(fu_,body,nargs,rest,nopt,kw,inits,alt) \
+ do { SCM fu = fu_; \
+ body = CAR (fu); fu = CDR (fu); \
+ \
+ rest = kw = alt = SCM_BOOL_F; \
+ inits = SCM_EOL; \
+ nopt = 0; \
+ \
+ nreq = SCM_I_INUM (CAR (fu)); fu = CDR (fu); \
+ if (scm_is_pair (fu)) \
+ { \
+ rest = CAR (fu); fu = CDR (fu); \
+ if (scm_is_pair (fu)) \
+ { \
+ nopt = SCM_I_INUM (CAR (fu)); fu = CDR (fu); \
+ kw = CAR (fu); fu = CDR (fu); \
+ inits = CAR (fu); fu = CDR (fu); \
+ alt = CAR (fu); \
+ } \
+ } \
} while (0)
static void prepare_boot_closure_env_for_apply (SCM proc, SCM args,
SCM *out_body, SCM *out_env);
@@ -906,6 +917,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
{
int nreq = BOOT_CLOSURE_NUM_REQUIRED_ARGS (proc);
SCM env = BOOT_CLOSURE_ENV (proc);
+
if (BOOT_CLOSURE_IS_FIXED (proc)
|| (BOOT_CLOSURE_IS_REST (proc)
&& !BOOT_CLOSURE_HAS_REST_ARGS (proc)))
@@ -931,16 +943,17 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
{
int i, argc, nreq, nopt;
SCM body, rest, kw, inits, alt;
+ SCM mx = BOOT_CLOSURE_CODE (proc);
loop:
- BOOT_CLOSURE_PARSE_FULL (proc, body, nargs, rest, nopt, kw, inits, alt);
+ BOOT_CLOSURE_PARSE_FULL (mx, body, nargs, rest, nopt, kw, inits, alt);
argc = scm_ilength (args);
if (argc < nreq)
{
if (scm_is_true (alt))
{
- proc = alt;
+ mx = alt;
goto loop;
}
else
@@ -950,7 +963,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
{
if (scm_is_true (alt))
{
- proc = alt;
+ mx = alt;
goto loop;
}
else
@@ -1048,7 +1061,7 @@ prepare_boot_closure_env_for_apply (SCM proc, SCM args,
}
}
- *out_body = BOOT_CLOSURE_BODY (proc);
+ *out_body = body;
*out_env = env;
}
}
diff --git a/libguile/expand.c b/libguile/expand.c
new file mode 100644
index 0000000..80bc48d
--- /dev/null
+++ b/libguile/expand.c
@@ -0,0 +1,1253 @@
+/* Copyright (C)
1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010
+ * 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
+ */
+
+
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "libguile/__scm.h"
+#include "libguile/_scm.h"
+#include "libguile/continuations.h"
+#include "libguile/eq.h"
+#include "libguile/list.h"
+#include "libguile/macros.h"
+#include "libguile/expand.h"
+#include "libguile/modules.h"
+#include "libguile/srcprop.h"
+#include "libguile/ports.h"
+#include "libguile/print.h"
+#include "libguile/strings.h"
+#include "libguile/throw.h"
+#include "libguile/validate.h"
+
+
+
+
+
+SCM scm_exp_vtable_vtable;
+static SCM exp_vtables[SCM_NUM_EXPANDED_TYPES];
+static size_t exp_nfields[SCM_NUM_EXPANDED_TYPES];
+static const char* exp_names[SCM_NUM_EXPANDED_TYPES];
+static const char** exp_field_names[SCM_NUM_EXPANDED_TYPES];
+
+
+#define VOID(src) \
+ SCM_MAKE_EXPANDED_VOID(src)
+#define CONST(src, exp) \
+ SCM_MAKE_EXPANDED_CONST(src, exp)
+#define PRIMITIVE_REF_TYPE(src, name) \
+ SCM_MAKE_EXPANDED_PRIMITIVE_REF_TYPE(src, name)
+#define LEXICAL_REF(src, name, gensym) \
+ SCM_MAKE_EXPANDED_LEXICAL_REF(src, name, gensym)
+#define LEXICAL_SET(src, name, gensym, exp) \
+ SCM_MAKE_EXPANDED_LEXICAL_SET(src, name, gensym, exp)
+#define MODULE_REF(src, mod, name, public) \
+ SCM_MAKE_EXPANDED_MODULE_REF(src, mod, name, public)
+#define MODULE_SET(src, mod, name, public, exp) \
+ SCM_MAKE_EXPANDED_MODULE_SET(src, mod, name, public, exp)
+#define TOPLEVEL_REF(src, name) \
+ SCM_MAKE_EXPANDED_TOPLEVEL_REF(src, name)
+#define TOPLEVEL_SET(src, name, exp) \
+ SCM_MAKE_EXPANDED_TOPLEVEL_SET(src, name, exp)
+#define TOPLEVEL_DEFINE(src, name, exp) \
+ SCM_MAKE_EXPANDED_TOPLEVEL_DEFINE(src, name, exp)
+#define CONDITIONAL(src, test, consequent, alternate) \
+ SCM_MAKE_EXPANDED_CONDITIONAL(src, test, consequent, alternate)
+#define APPLICATION(src, proc, exps) \
+ SCM_MAKE_EXPANDED_APPLICATION(src, proc, exps)
+#define SEQUENCE(src, exps) \
+ SCM_MAKE_EXPANDED_SEQUENCE(src, exps)
+#define LAMBDA(src, meta, body) \
+ SCM_MAKE_EXPANDED_LAMBDA(src, meta, body)
+#define LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms, body, alternate) \
+ SCM_MAKE_EXPANDED_LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms, body,
alternate)
+#define LET(src, names, gensyms, vals, body) \
+ SCM_MAKE_EXPANDED_LET(src, names, gensyms, vals, body)
+#define LETREC(src, names, gensyms, vals, body) \
+ SCM_MAKE_EXPANDED_LETREC(src, names, gensyms, vals, body)
+#define DYNLET(src, fluids, vals, body) \
+ SCM_MAKE_EXPANDED_DYNLET(src, fluids, vals, body)
+
+#define CAR(x) SCM_CAR(x)
+#define CDR(x) SCM_CDR(x)
+#define CAAR(x) SCM_CAAR(x)
+#define CADR(x) SCM_CADR(x)
+#define CDAR(x) SCM_CDAR(x)
+#define CDDR(x) SCM_CDDR(x)
+#define CADDR(x) SCM_CADDR(x)
+#define CDDDR(x) SCM_CDDDR(x)
+#define CADDDR(x) SCM_CADDDR(x)
+
+
+static const char s_bad_expression[] = "Bad expression";
+static const char s_expression[] = "Missing or extra expression in";
+static const char s_missing_expression[] = "Missing expression in";
+static const char s_extra_expression[] = "Extra expression in";
+static const char s_empty_combination[] = "Illegal empty combination";
+static const char s_missing_body_expression[] = "Missing body expression in";
+static const char s_mixed_body_forms[] = "Mixed definitions and expressions
in";
+static const char s_bad_define[] = "Bad define placement";
+static const char s_missing_clauses[] = "Missing clauses";
+static const char s_misplaced_else_clause[] = "Misplaced else clause";
+static const char s_bad_case_clause[] = "Bad case clause";
+static const char s_bad_case_labels[] = "Bad case labels";
+static const char s_duplicate_case_label[] = "Duplicate case label";
+static const char s_bad_cond_clause[] = "Bad cond clause";
+static const char s_missing_recipient[] = "Missing recipient in";
+static const char s_bad_variable[] = "Bad variable";
+static const char s_bad_bindings[] = "Bad bindings";
+static const char s_bad_binding[] = "Bad binding";
+static const char s_duplicate_binding[] = "Duplicate binding";
+static const char s_bad_exit_clause[] = "Bad exit clause";
+static const char s_bad_formals[] = "Bad formals";
+static const char s_bad_formal[] = "Bad formal";
+static const char s_duplicate_formal[] = "Duplicate formal";
+static const char s_splicing[] = "Non-list result for unquote-splicing";
+static const char s_bad_slot_number[] = "Bad slot number";
+
+static void syntax_error (const char* const, const SCM, const SCM)
SCM_NORETURN;
+
+SCM_SYMBOL (syntax_error_key, "syntax-error");
+
+/* Shortcut macros to simplify syntax error handling. */
+#define ASSERT_SYNTAX(cond, message, form) \
+ { if (SCM_UNLIKELY (!(cond))) \
+ syntax_error (message, form, SCM_UNDEFINED); }
+#define ASSERT_SYNTAX_2(cond, message, form, expr) \
+ { if (SCM_UNLIKELY (!(cond))) \
+ syntax_error (message, form, expr); }
+
+
+
+
+/* Primitive syntax. */
+
+#define SCM_SYNTAX(STR, CFN) \
+SCM_SNARF_HERE(static SCM CFN (SCM xorig, SCM env)) \
+SCM_SNARF_INIT(scm_c_define (STR, scm_i_make_primitive_macro (STR, CFN)))
+
+
+/* True primitive syntax */
+SCM_SYNTAX ("@", expand_at);
+SCM_SYNTAX ("@@", expand_atat);
+SCM_SYNTAX ("begin", expand_begin);
+SCM_SYNTAX ("define", expand_define);
+SCM_SYNTAX ("with-fluids", expand_with_fluids);
+SCM_SYNTAX ("eval-when", expand_eval_when);
+SCM_SYNTAX ("if", expand_if);
+SCM_SYNTAX ("lambda", expand_lambda);
+SCM_SYNTAX ("let", expand_let);
+SCM_SYNTAX ("quote", expand_quote);
+SCM_SYNTAX ("set!", expand_set_x);
+
+/* Convenient syntax during boot, expands to primitive syntax. Replaced after
+ psyntax boots. */
+SCM_SYNTAX ("and", expand_and);
+SCM_SYNTAX ("cond", expand_cond);
+SCM_SYNTAX ("letrec", expand_letrec);
+SCM_SYNTAX ("let*", expand_letstar);
+SCM_SYNTAX ("or", expand_or);
+SCM_SYNTAX ("lambda*", expand_lambda_star);
+SCM_SYNTAX ("case-lambda", expand_case_lambda);
+SCM_SYNTAX ("case-lambda*", expand_case_lambda_star);
+
+
+SCM_GLOBAL_SYMBOL (scm_sym_apply, "apply");
+SCM_GLOBAL_SYMBOL (scm_sym_arrow, "=>");
+SCM_GLOBAL_SYMBOL (scm_sym_at, "@");
+SCM_GLOBAL_SYMBOL (scm_sym_atat, "@@");
+SCM_GLOBAL_SYMBOL (scm_sym_at_call_with_values, "@call-with-values");
+SCM_GLOBAL_SYMBOL (scm_sym_atapply, "@apply");
+SCM_GLOBAL_SYMBOL (scm_sym_atcall_cc, "@call-with-current-continuation");
+SCM_GLOBAL_SYMBOL (scm_sym_begin, "begin");
+SCM_GLOBAL_SYMBOL (scm_sym_case, "case");
+SCM_GLOBAL_SYMBOL (scm_sym_cond, "cond");
+SCM_GLOBAL_SYMBOL (scm_sym_define, "define");
+SCM_GLOBAL_SYMBOL (scm_sym_at_dynamic_wind, "@dynamic-wind");
+SCM_GLOBAL_SYMBOL (scm_sym_with_fluids, "with-fluids");
+SCM_GLOBAL_SYMBOL (scm_sym_else, "else");
+SCM_GLOBAL_SYMBOL (scm_sym_eval_when, "eval-when");
+SCM_GLOBAL_SYMBOL (scm_sym_if, "if");
+SCM_GLOBAL_SYMBOL (scm_sym_lambda, "lambda");
+SCM_GLOBAL_SYMBOL (scm_sym_let, "let");
+SCM_GLOBAL_SYMBOL (scm_sym_letrec, "letrec");
+SCM_GLOBAL_SYMBOL (scm_sym_letstar, "let*");
+SCM_GLOBAL_SYMBOL (scm_sym_or, "or");
+SCM_GLOBAL_SYMBOL (scm_sym_at_prompt, "@prompt");
+SCM_GLOBAL_SYMBOL (scm_sym_quote, "quote");
+SCM_GLOBAL_SYMBOL (scm_sym_set_x, "set!");
+SCM_SYMBOL (sym_lambda_star, "lambda*");
+SCM_SYMBOL (sym_eval, "eval");
+SCM_SYMBOL (sym_load, "load");
+
+SCM_GLOBAL_SYMBOL (scm_sym_unquote, "unquote");
+SCM_GLOBAL_SYMBOL (scm_sym_quasiquote, "quasiquote");
+SCM_GLOBAL_SYMBOL (scm_sym_uq_splicing, "unquote-splicing");
+
+SCM_KEYWORD (kw_allow_other_keys, "allow-other-keys");
+SCM_KEYWORD (kw_optional, "optional");
+SCM_KEYWORD (kw_key, "key");
+SCM_KEYWORD (kw_rest, "rest");
+
+
+
+
+
+/* Signal a syntax error. We distinguish between the form that caused the
+ * error and the enclosing expression. The error message will print out as
+ * shown in the following pattern. The file name and line number are only
+ * given when they can be determined from the erroneous form or from the
+ * enclosing expression.
+ *
+ * <filename>: In procedure memoization:
+ * <filename>: In file <name>, line <nr>: <error-message> in <expression>. */
+
+static void
+syntax_error (const char* const msg, const SCM form, const SCM expr)
+{
+ SCM msg_string = scm_from_locale_string (msg);
+ SCM filename = SCM_BOOL_F;
+ SCM linenr = SCM_BOOL_F;
+ const char *format;
+ SCM args;
+
+ if (scm_is_pair (form))
+ {
+ filename = scm_source_property (form, scm_sym_filename);
+ linenr = scm_source_property (form, scm_sym_line);
+ }
+
+ if (scm_is_false (filename) && scm_is_false (linenr) && scm_is_pair (expr))
+ {
+ filename = scm_source_property (expr, scm_sym_filename);
+ linenr = scm_source_property (expr, scm_sym_line);
+ }
+
+ if (!SCM_UNBNDP (expr))
+ {
+ if (scm_is_true (filename))
+ {
+ format = "In file ~S, line ~S: ~A ~S in expression ~S.";
+ args = scm_list_5 (filename, linenr, msg_string, form, expr);
+ }
+ else if (scm_is_true (linenr))
+ {
+ format = "In line ~S: ~A ~S in expression ~S.";
+ args = scm_list_4 (linenr, msg_string, form, expr);
+ }
+ else
+ {
+ format = "~A ~S in expression ~S.";
+ args = scm_list_3 (msg_string, form, expr);
+ }
+ }
+ else
+ {
+ if (scm_is_true (filename))
+ {
+ format = "In file ~S, line ~S: ~A ~S.";
+ args = scm_list_4 (filename, linenr, msg_string, form);
+ }
+ else if (scm_is_true (linenr))
+ {
+ format = "In line ~S: ~A ~S.";
+ args = scm_list_3 (linenr, msg_string, form);
+ }
+ else
+ {
+ format = "~A ~S.";
+ args = scm_list_2 (msg_string, form);
+ }
+ }
+
+ scm_error (syntax_error_key, "memoization", format, args, SCM_BOOL_F);
+}
+
+
+
+
+
+static int
+expand_env_var_is_free (SCM env, SCM x)
+{
+ for (; scm_is_pair (env); env = CDR (env))
+ if (scm_is_eq (x, CAAR (env)))
+ return 0; /* bound */
+ return 1; /* free */
+}
+
+static SCM
+expand_env_ref_macro (SCM env, SCM x)
+{
+ SCM var;
+ if (!expand_env_var_is_free (env, x))
+ return SCM_BOOL_F; /* lexical */
+
+ var = scm_module_variable (scm_current_module (), x);
+ if (scm_is_true (var) && scm_is_true (scm_variable_bound_p (var))
+ && scm_is_true (scm_macro_p (scm_variable_ref (var))))
+ return scm_variable_ref (var);
+ else
+ return SCM_BOOL_F; /* anything else */
+}
+
+static SCM
+expand_env_lexical_gensym (SCM env, SCM name)
+{
+ for (; scm_is_pair (env); env = CDR (env))
+ if (scm_is_eq (name, CAAR (env)))
+ return CDAR (env); /* bound */
+ return SCM_BOOL_F; /* free */
+}
+
+static SCM
+expand_env_extend (SCM env, SCM names, SCM vars)
+{
+ while (scm_is_pair (names))
+ {
+ env = scm_acons (CAR (names), CAR (vars), env);
+ names = CDR (names);
+ vars = CDR (vars);
+ }
+ return env;
+}
+
+static SCM
+expand (SCM exp, SCM env)
+{
+ if (scm_is_pair (exp))
+ {
+ SCM car;
+ scm_t_macro_primitive trans = NULL;
+ SCM macro = SCM_BOOL_F;
+
+ car = CAR (exp);
+ if (scm_is_symbol (car))
+ macro = expand_env_ref_macro (env, car);
+
+ if (scm_is_true (macro))
+ trans = scm_i_macro_primitive (macro);
+
+ if (trans)
+ return trans (exp, env);
+ else
+ {
+ SCM arg_exps = SCM_EOL;
+ SCM args = SCM_EOL;
+ SCM proc = CAR (exp);
+
+ for (arg_exps = CDR (exp); scm_is_pair (arg_exps);
+ arg_exps = CDR (arg_exps))
+ args = scm_cons (expand (CAR (arg_exps), env), args);
+ if (scm_is_null (arg_exps))
+ return APPLICATION (scm_source_properties (exp),
+ expand (proc, env),
+ scm_reverse_x (args, SCM_UNDEFINED));
+ else
+ syntax_error ("expected a proper list", exp, SCM_UNDEFINED);
+ }
+ }
+ else if (scm_is_symbol (exp))
+ {
+ SCM gensym = expand_env_lexical_gensym (env, exp);
+ if (scm_is_true (gensym))
+ return LEXICAL_REF (SCM_BOOL_F, exp, gensym);
+ else
+ return TOPLEVEL_REF (SCM_BOOL_F, exp);
+ }
+ else
+ return CONST (SCM_BOOL_F, exp);
+}
+
+static SCM
+expand_exprs (SCM forms, const SCM env)
+{
+ SCM ret = SCM_EOL;
+
+ for (; !scm_is_null (forms); forms = CDR (forms))
+ ret = scm_cons (expand (CAR (forms), env), ret);
+ return scm_reverse_x (ret, SCM_UNDEFINED);
+}
+
+static SCM
+expand_sequence (const SCM forms, const SCM env)
+{
+ ASSERT_SYNTAX (scm_ilength (forms) >= 1, s_bad_expression,
+ scm_cons (scm_sym_begin, forms));
+ if (scm_is_null (CDR (forms)))
+ return expand (CAR (forms), env);
+ else
+ return SEQUENCE (SCM_BOOL_F, expand_exprs (forms, env));
+}
+
+
+
+
+
+static SCM
+expand_at (SCM expr, SCM env SCM_UNUSED)
+{
+ ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
+
+ return MODULE_REF (scm_source_properties (expr),
+ CADR (expr), CADDR (expr), SCM_BOOL_T);
+}
+
+static SCM
+expand_atat (SCM expr, SCM env SCM_UNUSED)
+{
+ ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
+
+ return MODULE_REF (scm_source_properties (expr),
+ CADR (expr), CADDR (expr), SCM_BOOL_F);
+}
+
+static SCM
+expand_and (SCM expr, SCM env)
+{
+ const SCM cdr_expr = CDR (expr);
+
+ if (scm_is_null (cdr_expr))
+ return CONST (SCM_BOOL_F, SCM_BOOL_T);
+
+ ASSERT_SYNTAX (scm_is_pair (cdr_expr), s_bad_expression, expr);
+
+ if (scm_is_null (CDR (cdr_expr)))
+ return expand (CAR (cdr_expr), env);
+ else
+ return CONDITIONAL (scm_source_properties (expr),
+ expand (CAR (cdr_expr), env),
+ expand_and (cdr_expr, env),
+ CONST (SCM_BOOL_F, SCM_BOOL_F));
+}
+
+static SCM
+expand_begin (SCM expr, SCM env)
+{
+ const SCM cdr_expr = CDR (expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 1, s_bad_expression, expr);
+ return expand_sequence (cdr_expr, env);
+}
+
+static SCM
+expand_cond_clauses (SCM clause, SCM rest, int elp, int alp, SCM env)
+{
+ SCM test;
+ const long length = scm_ilength (clause);
+ ASSERT_SYNTAX (length >= 1, s_bad_cond_clause, clause);
+
+ test = CAR (clause);
+ if (scm_is_eq (test, scm_sym_else) && elp)
+ {
+ const int last_clause_p = scm_is_null (rest);
+ ASSERT_SYNTAX (length >= 2, s_bad_cond_clause, clause);
+ ASSERT_SYNTAX (last_clause_p, s_misplaced_else_clause, clause);
+ return expand_sequence (CDR (clause), env);
+ }
+
+ if (scm_is_null (rest))
+ rest = VOID (SCM_BOOL_F);
+ else
+ rest = expand_cond_clauses (CAR (rest), CDR (rest), elp, alp, env);
+
+ if (length >= 2
+ && scm_is_eq (CADR (clause), scm_sym_arrow)
+ && alp)
+ {
+ SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
+ SCM new_env = scm_acons (tmp, tmp, env);
+ ASSERT_SYNTAX (length > 2, s_missing_recipient, clause);
+ ASSERT_SYNTAX (length == 3, s_extra_expression, clause);
+ return LET (SCM_BOOL_F,
+ scm_list_1 (tmp),
+ scm_list_1 (tmp),
+ scm_list_1 (expand (test, env)),
+ CONDITIONAL (SCM_BOOL_F,
+ LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+ APPLICATION (SCM_BOOL_F,
+ expand (CADDR (clause), new_env),
+ scm_list_1 (LEXICAL_REF
(SCM_BOOL_F,
+ tmp,
tmp))),
+ rest));
+ }
+ /* FIXME length == 1 case */
+ else
+ return CONDITIONAL (SCM_BOOL_F,
+ expand (test, env),
+ expand_sequence (CDR (clause), env),
+ rest);
+}
+
+static SCM
+expand_cond (SCM expr, SCM env)
+{
+ const int else_literal_p = expand_env_var_is_free (env, scm_sym_else);
+ const int arrow_literal_p = expand_env_var_is_free (env, scm_sym_arrow);
+ const SCM clauses = CDR (expr);
+
+ ASSERT_SYNTAX (scm_ilength (clauses) >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (clauses) >= 1, s_missing_clauses, expr);
+
+ return expand_cond_clauses (CAR (clauses), CDR (clauses),
+ else_literal_p, arrow_literal_p, env);
+}
+
+/* lone forward decl */
+static SCM expand_lambda (SCM expr, SCM env);
+
+/* According to Section 5.2.1 of R5RS we first have to make sure that the
+ variable is bound, and then perform the `(set! variable expression)'
+ operation. However, EXPRESSION _can_ be evaluated before VARIABLE is
+ bound. This means that EXPRESSION won't necessarily be able to assign
+ values to VARIABLE as in `(define foo (begin (set! foo 1) (+ foo 1)))'. */
+static SCM
+expand_define (SCM expr, SCM env)
+{
+ const SCM cdr_expr = CDR (expr);
+ SCM body;
+ SCM variable;
+
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+ ASSERT_SYNTAX (!scm_is_pair (env), s_bad_define, expr);
+
+ body = CDR (cdr_expr);
+ variable = CAR (cdr_expr);
+
+ if (scm_is_pair (variable))
+ {
+ ASSERT_SYNTAX_2 (scm_is_symbol (CAR (variable)), s_bad_variable,
variable, expr);
+ return TOPLEVEL_DEFINE
+ (scm_source_properties (expr),
+ CAR (variable),
+ expand_lambda (scm_cons (scm_sym_lambda, scm_cons (CDR (variable),
body)),
+ env));
+ }
+ ASSERT_SYNTAX_2 (scm_is_symbol (variable), s_bad_variable, variable, expr);
+ ASSERT_SYNTAX (scm_ilength (body) == 1, s_expression, expr);
+ return TOPLEVEL_DEFINE (scm_source_properties (expr), variable,
+ expand (CAR (body), env));
+}
+
+static SCM
+expand_with_fluids (SCM expr, SCM env)
+{
+ SCM binds, fluids, vals;
+ ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
+ binds = CADR (expr);
+ ASSERT_SYNTAX_2 (scm_ilength (binds) >= 0, s_bad_bindings, binds, expr);
+ for (fluids = SCM_EOL, vals = SCM_EOL;
+ scm_is_pair (binds);
+ binds = CDR (binds))
+ {
+ SCM binding = CAR (binds);
+ ASSERT_SYNTAX_2 (scm_ilength (CAR (binds)) == 2, s_bad_binding,
+ binding, expr);
+ fluids = scm_cons (expand (CAR (binding), env), fluids);
+ vals = scm_cons (expand (CADR (binding), env), vals);
+ }
+
+ return DYNLET (scm_source_properties (expr),
+ scm_reverse_x (fluids, SCM_UNDEFINED),
+ scm_reverse_x (vals, SCM_UNDEFINED),
+ expand_sequence (CDDR (expr), env));
+}
+
+static SCM
+expand_eval_when (SCM expr, SCM env)
+{
+ ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
+
+ if (scm_is_true (scm_memq (sym_eval, CADR (expr)))
+ || scm_is_true (scm_memq (sym_load, CADR (expr))))
+ return expand_sequence (CDDR (expr), env);
+ else
+ return VOID (scm_source_properties (expr));
+}
+
+static SCM
+expand_if (SCM expr, SCM env SCM_UNUSED)
+{
+ const SCM cdr_expr = CDR (expr);
+ const long length = scm_ilength (cdr_expr);
+ ASSERT_SYNTAX (length == 2 || length == 3, s_expression, expr);
+ return CONDITIONAL (scm_source_properties (expr),
+ expand (CADR (expr), env),
+ expand (CADDR (expr), env),
+ ((length == 3)
+ ? expand (CADDDR (expr), env)
+ : VOID (SCM_BOOL_F)));
+}
+
+/* A helper function for expand_lambda to support checking for duplicate
+ * formal arguments: Return true if OBJ is `eq?' to one of the elements of
+ * LIST or to the CDR of the last cons. Therefore, LIST may have any of the
+ * forms that a formal argument can have:
+ * <rest>, (<arg1> ...), (<arg1> ... . <rest>) */
+static int
+c_improper_memq (SCM obj, SCM list)
+{
+ for (; scm_is_pair (list); list = CDR (list))
+ {
+ if (scm_is_eq (CAR (list), obj))
+ return 1;
+ }
+ return scm_is_eq (list, obj);
+}
+
+static SCM
+expand_lambda_case (SCM clause, SCM alternate, SCM env)
+{
+ SCM formals;
+ SCM rest;
+ SCM req = SCM_EOL;
+ SCM vars = SCM_EOL;
+ SCM body;
+ int nreq = 0;
+
+ ASSERT_SYNTAX (scm_is_pair (clause) && scm_is_pair (CDR (clause)),
+ s_bad_expression, scm_cons (scm_sym_lambda, clause));
+
+ /* Before iterating the list of formal arguments, make sure the formals
+ * actually are given as either a symbol or a non-cyclic list. */
+ formals = CAR (clause);
+ if (scm_is_pair (formals))
+ {
+ /* Dirk:FIXME:: We should check for a cyclic list of formals, and if
+ * detected, report a 'Bad formals' error. */
+ }
+ else
+ ASSERT_SYNTAX_2 (scm_is_symbol (formals) || scm_is_null (formals),
+ s_bad_formals, formals, scm_cons (scm_sym_lambda,
clause));
+
+ /* Now iterate the list of formal arguments to check if all formals are
+ * symbols, and that there are no duplicates. */
+ while (scm_is_pair (formals))
+ {
+ const SCM formal = CAR (formals);
+ formals = CDR (formals);
+ ASSERT_SYNTAX_2 (scm_is_symbol (formal), s_bad_formal, formal,
+ scm_cons (scm_sym_lambda, clause));
+ ASSERT_SYNTAX_2 (!c_improper_memq (formal, formals), s_duplicate_formal,
+ formal, scm_cons (scm_sym_lambda, clause));
+ nreq++;
+ req = scm_cons (formal, req);
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (formal, CAR (vars), env);
+ }
+
+ ASSERT_SYNTAX_2 (scm_is_null (formals) || scm_is_symbol (formals),
+ s_bad_formal, formals, scm_cons (scm_sym_lambda, clause));
+ if (scm_is_symbol (formals))
+ {
+ rest = formals;
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (rest, CAR (vars), env);
+ }
+ else
+ rest = SCM_BOOL_F;
+
+ body = expand_sequence (CDR (clause), env);
+ req = scm_reverse_x (req, SCM_UNDEFINED);
+ vars = scm_reverse_x (vars, SCM_UNDEFINED);
+
+ if (scm_is_true (alternate) && !(SCM_EXPANDED_P (alternate) &&
SCM_EXPANDED_TYPE (alternate) == SCM_EXPANDED_LAMBDA_CASE))
+ abort ();
+
+ return LAMBDA_CASE (SCM_BOOL_F, req, SCM_BOOL_F, rest, SCM_BOOL_F,
+ SCM_EOL, vars, body, alternate);
+}
+
+static SCM
+expand_lambda (SCM expr, SCM env)
+{
+ return LAMBDA (scm_source_properties (expr),
+ SCM_EOL,
+ expand_lambda_case (CDR (expr), SCM_BOOL_F, env));
+}
+
+static SCM
+expand_lambda_star_case (SCM clause, SCM alternate, SCM env)
+{
+ SCM req, opt, kw, allow_other_keys, rest, formals, vars, body, tmp;
+ SCM inits, kw_indices;
+ int nreq, nopt;
+
+ const long length = scm_ilength (clause);
+ ASSERT_SYNTAX (length >= 1, s_bad_expression,
+ scm_cons (sym_lambda_star, clause));
+ ASSERT_SYNTAX (length >= 2, s_missing_expression,
+ scm_cons (sym_lambda_star, clause));
+
+ formals = CAR (clause);
+ body = CDR (clause);
+
+ nreq = nopt = 0;
+ req = opt = kw = SCM_EOL;
+ rest = allow_other_keys = SCM_BOOL_F;
+
+ while (scm_is_pair (formals) && scm_is_symbol (CAR (formals)))
+ {
+ nreq++;
+ req = scm_cons (CAR (formals), req);
+ formals = scm_cdr (formals);
+ }
+
+ if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_optional))
+ {
+ formals = CDR (formals);
+ while (scm_is_pair (formals)
+ && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
+ {
+ nopt++;
+ opt = scm_cons (CAR (formals), opt);
+ formals = scm_cdr (formals);
+ }
+ }
+
+ if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_key))
+ {
+ formals = CDR (formals);
+ while (scm_is_pair (formals)
+ && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
+ {
+ kw = scm_cons (CAR (formals), kw);
+ formals = scm_cdr (formals);
+ }
+ }
+
+ if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_allow_other_keys))
+ {
+ formals = CDR (formals);
+ allow_other_keys = SCM_BOOL_T;
+ }
+
+ if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_rest))
+ {
+ ASSERT_SYNTAX (scm_ilength (formals) == 2, s_bad_formals,
+ CAR (clause));
+ rest = CADR (formals);
+ }
+ else if (scm_is_symbol (formals))
+ rest = formals;
+ else
+ {
+ ASSERT_SYNTAX (scm_is_null (formals), s_bad_formals, CAR (clause));
+ rest = SCM_BOOL_F;
+ }
+
+ /* Now, iterate through them a second time, building up an expansion-time
+ environment, checking, expanding and canonicalizing the opt/kw init forms,
+ and eventually memoizing the body as well. Note that the rest argument, if
+ any, is expanded before keyword args, thus necessitating the second
+ pass.
+
+ Also note that the specific environment during expansion of init
+ expressions here needs to coincide with the environment when psyntax
+ expands. A lot of effort for something that is only used in the bootstrap
+ expandr, you say? Yes. Yes it is.
+ */
+
+ vars = SCM_EOL;
+ req = scm_reverse_x (req, SCM_EOL);
+ for (tmp = req; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+ {
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (CAR (tmp), CAR (vars), env);
+ }
+
+ /* Build up opt inits and env */
+ inits = SCM_EOL;
+ opt = scm_reverse_x (opt, SCM_EOL);
+ for (tmp = opt; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+ {
+ SCM x = CAR (tmp);
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (x, CAR (vars), env);
+ if (scm_is_symbol (x))
+ inits = scm_cons (CONST (SCM_BOOL_F, SCM_BOOL_F), inits);
+ else
+ {
+ ASSERT_SYNTAX (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)),
+ s_bad_formals, CAR (clause));
+ inits = scm_cons (expand (CADR (x), env), inits);
+ }
+ env = scm_acons (scm_is_symbol (x) ? x : CAR (x), CAR (vars), env);
+ }
+ if (scm_is_null (opt))
+ opt = SCM_BOOL_F;
+
+ /* Process rest before keyword args */
+ if (scm_is_true (rest))
+ {
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (rest, CAR (vars), env);
+ }
+
+ /* Build up kw inits, env, and kw-indices alist */
+ if (scm_is_null (kw))
+ kw = SCM_BOOL_F;
+ else
+ {
+ int idx = nreq + nopt + (scm_is_true (rest) ? 1 : 0);
+
+ kw_indices = SCM_EOL;
+ kw = scm_reverse_x (kw, SCM_UNDEFINED);
+ for (tmp = kw; scm_is_pair (tmp); tmp = scm_cdr (tmp))
+ {
+ SCM x, sym, k, init;
+ x = CAR (tmp);
+ if (scm_is_symbol (x))
+ {
+ sym = x;
+ init = SCM_BOOL_F;
+ k = scm_symbol_to_keyword (sym);
+ }
+ else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
+ {
+ sym = CAR (x);
+ init = CADR (x);
+ k = scm_symbol_to_keyword (sym);
+ }
+ else if (scm_ilength (x) == 3 && scm_is_symbol (CAR (x))
+ && scm_is_keyword (CADDR (x)))
+ {
+ sym = CAR (x);
+ init = CADR (x);
+ k = CADDR (x);
+ }
+ else
+ syntax_error (s_bad_formals, CAR (clause), SCM_UNDEFINED);
+
+ kw_indices = scm_acons (k, SCM_I_MAKINUM (idx++), kw_indices);
+ inits = scm_cons (expand (init, env), inits);
+ vars = scm_cons (scm_gensym (SCM_UNDEFINED), vars);
+ env = scm_acons (sym, CAR (vars), env);
+ }
+ kw_indices = scm_reverse_x (kw_indices, SCM_UNDEFINED);
+ kw = scm_cons (allow_other_keys, kw_indices);
+ }
+
+ /* We should check for no duplicates, but given that psyntax does this
+ already, we can punt on it here... */
+
+ vars = scm_reverse_x (vars, SCM_UNDEFINED);
+ inits = scm_reverse_x (inits, SCM_UNDEFINED);
+ body = expand_sequence (body, env);
+
+ return LAMBDA_CASE (SCM_BOOL_F, req, opt, rest, kw, inits, vars, body,
+ alternate);
+}
+
+static SCM
+expand_lambda_star (SCM expr, SCM env)
+{
+ return LAMBDA (scm_source_properties (expr),
+ SCM_EOL,
+ expand_lambda_star_case (CDR (expr), SCM_BOOL_F, env));
+}
+
+static SCM
+expand_case_lambda_clauses (SCM expr, SCM rest, SCM env)
+{
+ SCM alt;
+
+ if (scm_is_pair (rest))
+ alt = expand_case_lambda_clauses (CAR (rest), CDR (rest), env);
+ else
+ alt = SCM_BOOL_F;
+
+ return expand_lambda_case (expr, alt, env);
+}
+
+static SCM
+expand_case_lambda (SCM expr, SCM env)
+{
+ ASSERT_SYNTAX (scm_is_pair (CDR (expr)), s_missing_expression, expr);
+
+ return LAMBDA (scm_source_properties (expr),
+ SCM_EOL,
+ expand_case_lambda_clauses (CADR (expr), CDDR (expr), env));
+}
+
+static SCM
+expand_case_lambda_star_clauses (SCM expr, SCM rest, SCM env)
+{
+ SCM alt;
+
+ if (scm_is_pair (rest))
+ alt = expand_case_lambda_star_clauses (CAR (rest), CDR (rest), env);
+ else
+ alt = SCM_BOOL_F;
+
+ return expand_lambda_star_case (expr, alt, env);
+}
+
+static SCM
+expand_case_lambda_star (SCM expr, SCM env)
+{
+ ASSERT_SYNTAX (scm_is_pair (CDR (expr)), s_missing_expression, expr);
+
+ return LAMBDA (scm_source_properties (expr),
+ SCM_EOL,
+ expand_case_lambda_star_clauses (CADR (expr), CDDR (expr),
env));
+}
+
+/* Check if the format of the bindings is ((<symbol> <init-form>) ...). */
+static void
+check_bindings (const SCM bindings, const SCM expr)
+{
+ SCM binding_idx;
+
+ ASSERT_SYNTAX_2 (scm_ilength (bindings) >= 0,
+ s_bad_bindings, bindings, expr);
+
+ binding_idx = bindings;
+ for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+ {
+ SCM name; /* const */
+
+ const SCM binding = CAR (binding_idx);
+ ASSERT_SYNTAX_2 (scm_ilength (binding) == 2,
+ s_bad_binding, binding, expr);
+
+ name = CAR (binding);
+ ASSERT_SYNTAX_2 (scm_is_symbol (name), s_bad_variable, name, expr);
+ }
+}
+
+/* The bindings, which must have the format ((v1 i1) (v2 i2) ... (vn in)), are
+ * transformed to the lists (vn .. v2 v1) and (i1 i2 ... in). If a duplicate
+ * variable name is detected, an error is signalled. */
+static void
+transform_bindings (const SCM bindings, const SCM expr,
+ SCM *const names, SCM *const vars, SCM *const initptr)
+{
+ SCM rnames = SCM_EOL;
+ SCM rvars = SCM_EOL;
+ SCM rinits = SCM_EOL;
+ SCM binding_idx = bindings;
+ for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+ {
+ const SCM binding = CAR (binding_idx);
+ const SCM CDR_binding = CDR (binding);
+ const SCM name = CAR (binding);
+ ASSERT_SYNTAX_2 (scm_is_false (scm_c_memq (name, rnames)),
+ s_duplicate_binding, name, expr);
+ rnames = scm_cons (name, rnames);
+ rvars = scm_cons (scm_gensym (SCM_UNDEFINED), rvars);
+ rinits = scm_cons (CAR (CDR_binding), rinits);
+ }
+ *names = scm_reverse_x (rnames, SCM_UNDEFINED);
+ *vars = scm_reverse_x (rvars, SCM_UNDEFINED);
+ *initptr = scm_reverse_x (rinits, SCM_UNDEFINED);
+}
+
+/* FIXME: Remove named let in this boot expander. */
+static SCM
+expand_named_let (const SCM expr, SCM env)
+{
+ SCM var_names, var_syms, inits;
+ SCM inner_env;
+ SCM name_sym;
+
+ const SCM cdr_expr = CDR (expr);
+ const SCM name = CAR (cdr_expr);
+ const SCM cddr_expr = CDR (cdr_expr);
+ const SCM bindings = CAR (cddr_expr);
+ check_bindings (bindings, expr);
+
+ transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
+ name_sym = scm_gensym (SCM_UNDEFINED);
+ inner_env = scm_acons (name, name_sym, env);
+ inner_env = expand_env_extend (inner_env, var_names, var_syms);
+
+ return LETREC
+ (scm_source_properties (expr),
+ scm_list_1 (name), scm_list_1 (name_sym),
+ scm_list_1 (LAMBDA (SCM_BOOL_F,
+ SCM_EOL,
+ LAMBDA_CASE (SCM_BOOL_F, var_names, SCM_BOOL_F,
SCM_BOOL_F,
+ SCM_BOOL_F, SCM_BOOL_F, var_syms,
+ expand_sequence (CDDDR (expr),
inner_env),
+ SCM_BOOL_F))),
+ APPLICATION (SCM_BOOL_F,
+ LEXICAL_REF (SCM_BOOL_F, name, name_sym),
+ expand_exprs (inits, env)));
+}
+
+static SCM
+expand_let (SCM expr, SCM env)
+{
+ SCM bindings;
+
+ const SCM cdr_expr = CDR (expr);
+ const long length = scm_ilength (cdr_expr);
+ ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+
+ bindings = CAR (cdr_expr);
+ if (scm_is_symbol (bindings))
+ {
+ ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
+ return expand_named_let (expr, env);
+ }
+
+ check_bindings (bindings, expr);
+ if (scm_is_null (bindings))
+ return expand_sequence (CDDR (expr), env);
+ else
+ {
+ SCM var_names, var_syms, inits;
+ transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
+ return LET (SCM_BOOL_F,
+ var_names, var_syms, expand_exprs (inits, env),
+ expand_sequence (CDDR (expr),
+ expand_env_extend (env, var_names,
+ var_syms)));
+ }
+}
+
+static SCM
+expand_letrec (SCM expr, SCM env)
+{
+ SCM bindings;
+
+ const SCM cdr_expr = CDR (expr);
+ const long length = scm_ilength (cdr_expr);
+ ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+
+ bindings = CAR (cdr_expr);
+ check_bindings (bindings, expr);
+ if (scm_is_null (bindings))
+ return expand_sequence (CDDR (expr), env);
+ else
+ {
+ SCM var_names, var_syms, inits;
+ transform_bindings (bindings, expr, &var_names, &var_syms, &inits);
+ env = expand_env_extend (env, var_names, var_syms);
+ return LETREC (SCM_BOOL_F,
+ var_names, var_syms, expand_exprs (inits, env),
+ expand_sequence (CDDR (expr), env));
+ }
+}
+
+static SCM
+expand_letstar_clause (SCM bindings, SCM body, SCM env SCM_UNUSED)
+{
+ if (scm_is_null (bindings))
+ return expand_sequence (body, env);
+ else
+ {
+ SCM bind, name, sym, init;
+
+ ASSERT_SYNTAX (scm_is_pair (bindings), s_bad_expression, bindings);
+ bind = CAR (bindings);
+ ASSERT_SYNTAX (scm_ilength (bind) == 2, s_bad_binding, bind);
+ name = CAR (bind);
+ sym = scm_gensym (SCM_UNDEFINED);
+ init = CADR (bind);
+
+ return LET (SCM_BOOL_F, scm_list_1 (name), scm_list_1 (sym),
+ scm_list_1 (expand (init, env)),
+ expand_letstar_clause (CDR (bindings), body,
+ scm_acons (name, sym, env)));
+ }
+}
+
+static SCM
+expand_letstar (SCM expr, SCM env SCM_UNUSED)
+{
+ const SCM cdr_expr = CDR (expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+
+ return expand_letstar_clause (CADR (expr), CDDR (expr), env);
+}
+
+static SCM
+expand_or (SCM expr, SCM env SCM_UNUSED)
+{
+ SCM tail = CDR (expr);
+ const long length = scm_ilength (tail);
+
+ ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+
+ if (scm_is_null (CDR (expr)))
+ return CONST (SCM_BOOL_F, SCM_BOOL_F);
+ else
+ {
+ SCM tmp = scm_gensym (SCM_UNDEFINED);
+ return LET (SCM_BOOL_F,
+ scm_list_1 (tmp), scm_list_1 (tmp),
+ scm_list_1 (expand (CADR (expr), env)),
+ CONDITIONAL (SCM_BOOL_F,
+ LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+ LEXICAL_REF (SCM_BOOL_F, tmp, tmp),
+ expand_or (CDR (expr),
+ scm_acons (tmp, tmp, env))));
+ }
+}
+
+static SCM
+expand_quote (SCM expr, SCM env SCM_UNUSED)
+{
+ SCM quotee;
+
+ const SCM cdr_expr = CDR (expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) == 1, s_expression, expr);
+ quotee = CAR (cdr_expr);
+ return CONST (scm_source_properties (expr), quotee);
+}
+
+static SCM
+expand_set_x (SCM expr, SCM env)
+{
+ SCM variable;
+ SCM vmem;
+
+ const SCM cdr_expr = CDR (expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
+ ASSERT_SYNTAX (scm_ilength (cdr_expr) == 2, s_expression, expr);
+ variable = CAR (cdr_expr);
+ vmem = expand (variable, env);
+
+ switch (SCM_EXPANDED_TYPE (vmem))
+ {
+ case SCM_EXPANDED_LEXICAL_REF:
+ return LEXICAL_SET (scm_source_properties (expr),
+ SCM_EXPANDED_REF (vmem, LEXICAL_REF, NAME),
+ SCM_EXPANDED_REF (vmem, LEXICAL_REF, GENSYM),
+ expand (CADDR (expr), env));
+ case SCM_EXPANDED_TOPLEVEL_REF:
+ return TOPLEVEL_SET (scm_source_properties (expr),
+ SCM_EXPANDED_REF (vmem, TOPLEVEL_REF, NAME),
+ expand (CADDR (expr), env));
+ case SCM_EXPANDED_MODULE_REF:
+ return MODULE_SET (scm_source_properties (expr),
+ SCM_EXPANDED_REF (vmem, MODULE_REF, MOD),
+ SCM_EXPANDED_REF (vmem, MODULE_REF, NAME),
+ SCM_EXPANDED_REF (vmem, MODULE_REF, PUBLIC),
+ expand (CADDR (expr), env));
+ default:
+ syntax_error (s_bad_variable, variable, expr);
+ }
+}
+
+
+
+
+SCM_DEFINE (scm_macroexpand, "macroexpand*", 1, 0, 0,
+ (SCM exp),
+ "Expand the expression @var{exp}.")
+#define FUNC_NAME s_scm_macroexpand
+{
+ return expand (exp, scm_current_module ());
+}
+#undef FUNC_NAME
+
+
+
+
+#define DEFINE_NAMES(type) \
+ { \
+ static const char *fields[] = SCM_EXPANDED_##type##_FIELD_NAMES; \
+ exp_field_names[SCM_EXPANDED_##type] = fields; \
+ exp_names[SCM_EXPANDED_##type] = SCM_EXPANDED_##type##_TYPE_NAME; \
+ exp_nfields[SCM_EXPANDED_##type] = SCM_NUM_EXPANDED_##type##_FIELDS; \
+ }
+
+static SCM
+make_exp_vtable (size_t n)
+{
+ SCM layout, printer, name, code, fields;
+
+ layout = scm_string_to_symbol
+ (scm_string_append (scm_make_list (scm_from_size_t (exp_nfields[n]),
+ scm_from_locale_string ("pw"))));
+ printer = SCM_BOOL_F;
+ name = scm_from_locale_symbol (exp_names[n]);
+ code = scm_from_size_t (n);
+ fields = SCM_EOL;
+ {
+ size_t m = exp_nfields[n];
+ while (m--)
+ fields = scm_cons (scm_from_locale_symbol (exp_field_names[n][m]),
fields);
+ }
+
+ return scm_c_make_struct (scm_exp_vtable_vtable, 0, 5,
+ SCM_UNPACK (layout), SCM_UNPACK (printer),
SCM_UNPACK (name),
+ SCM_UNPACK (code), SCM_UNPACK (fields));
+}
+
+void
+scm_init_expand ()
+{
+ size_t n;
+ SCM exp_vtable_list = SCM_EOL;
+
+ DEFINE_NAMES (VOID);
+ DEFINE_NAMES (CONST);
+ DEFINE_NAMES (PRIMITIVE_REF);
+ DEFINE_NAMES (LEXICAL_REF);
+ DEFINE_NAMES (LEXICAL_SET);
+ DEFINE_NAMES (MODULE_REF);
+ DEFINE_NAMES (MODULE_SET);
+ DEFINE_NAMES (TOPLEVEL_REF);
+ DEFINE_NAMES (TOPLEVEL_SET);
+ DEFINE_NAMES (TOPLEVEL_DEFINE);
+ DEFINE_NAMES (CONDITIONAL);
+ DEFINE_NAMES (APPLICATION);
+ DEFINE_NAMES (SEQUENCE);
+ DEFINE_NAMES (LAMBDA);
+ DEFINE_NAMES (LAMBDA_CASE);
+ DEFINE_NAMES (LET);
+ DEFINE_NAMES (LETREC);
+ DEFINE_NAMES (DYNLET);
+
+ scm_exp_vtable_vtable =
+ scm_make_vtable (scm_from_locale_string (SCM_VTABLE_BASE_LAYOUT "pwuwpw"),
+ SCM_BOOL_F);
+
+ for (n = 0; n < SCM_NUM_EXPANDED_TYPES; n++)
+ exp_vtables[n] = make_exp_vtable (n);
+
+ /* Now walk back down, consing in reverse. */
+ while (n--)
+ exp_vtable_list = scm_cons (exp_vtables[n], exp_vtable_list);
+
+ scm_c_define ("%expanded-vtables", scm_vector (exp_vtable_list));
+
+#include "libguile/expand.x"
+}
+
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/
diff --git a/libguile/expand.h b/libguile/expand.h
new file mode 100644
index 0000000..32b978b
--- /dev/null
+++ b/libguile/expand.h
@@ -0,0 +1,346 @@
+/* classes: h_files */
+
+#ifndef SCM_EXPAND_H
+#define SCM_EXPAND_H
+
+/* Copyright (C) 2010
+ * 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
+ */
+
+
+
+#include "libguile/__scm.h"
+
+
+
+
+#ifdef BUILDING_LIBGUILE
+
+/* All private for now. Ask if you want to use this. Surely this should be
+ auto-generated by something; for now I wrangle it with keyboard macros. */
+
+typedef enum
+ {
+ SCM_EXPANDED_VOID,
+ SCM_EXPANDED_CONST,
+ SCM_EXPANDED_PRIMITIVE_REF,
+ SCM_EXPANDED_LEXICAL_REF,
+ SCM_EXPANDED_LEXICAL_SET,
+ SCM_EXPANDED_MODULE_REF,
+ SCM_EXPANDED_MODULE_SET,
+ SCM_EXPANDED_TOPLEVEL_REF,
+ SCM_EXPANDED_TOPLEVEL_SET,
+ SCM_EXPANDED_TOPLEVEL_DEFINE,
+ SCM_EXPANDED_CONDITIONAL,
+ SCM_EXPANDED_APPLICATION,
+ SCM_EXPANDED_SEQUENCE,
+ SCM_EXPANDED_LAMBDA,
+ SCM_EXPANDED_LAMBDA_CASE,
+ SCM_EXPANDED_LET,
+ SCM_EXPANDED_LETREC,
+ SCM_EXPANDED_DYNLET,
+ SCM_NUM_EXPANDED_TYPES,
+ } scm_t_expanded_type;
+
+
+
+
+
+/* {Expanded Source}
+ */
+
+SCM_INTERNAL SCM scm_exp_vtable_vtable;
+
+enum
+ {
+ SCM_EXPANDED_TYPE_NAME = scm_vtable_offset_user,
+ SCM_EXPANDED_TYPE_CODE,
+ SCM_EXPANDED_TYPE_FIELDS,
+ };
+
+#define SCM_EXPANDED_P(x) \
+ (SCM_STRUCTP (x) && (SCM_STRUCT_VTABLE (SCM_STRUCT_VTABLE (x)) ==
scm_exp_vtable_vtable))
+#define SCM_EXPANDED_REF(x,type,field) \
+ (scm_struct_ref (x, SCM_I_MAKINUM (SCM_EXPANDED_##type##_##field)))
+#define SCM_EXPANDED_TYPE(x) \
+ SCM_STRUCT_DATA_REF (SCM_STRUCT_VTABLE (x), SCM_EXPANDED_TYPE_CODE)
+
+
+
+
+
+#define SCM_EXPANDED_VOID_TYPE_NAME "void"
+#define SCM_EXPANDED_VOID_FIELD_NAMES \
+ { "src" }
+enum
+ {
+ SCM_EXPANDED_VOID_SRC,
+ SCM_NUM_EXPANDED_VOID_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_VOID(src) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_VOID], 0,
SCM_NUM_EXPANDED_VOID_FIELDS, SCM_UNPACK (src))
+
+#define SCM_EXPANDED_CONST_TYPE_NAME "const"
+#define SCM_EXPANDED_CONST_FIELD_NAMES \
+ { "src", "exp", }
+enum
+ {
+ SCM_EXPANDED_CONST_SRC,
+ SCM_EXPANDED_CONST_EXP,
+ SCM_NUM_EXPANDED_CONST_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_CONST(src, exp) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_CONST], 0,
SCM_NUM_EXPANDED_CONST_FIELDS, SCM_UNPACK (src), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_PRIMITIVE_REF_TYPE_NAME "primitive-ref"
+#define SCM_EXPANDED_PRIMITIVE_REF_FIELD_NAMES \
+ { "src", "name", }
+enum
+ {
+ SCM_EXPANDED_PRIMITIVE_REF_SRC,
+ SCM_EXPANDED_PRIMITIVE_REF_NAME,
+ SCM_NUM_EXPANDED_PRIMITIVE_REF_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_PRIMITIVE_REF(src, name) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_PRIMITIVE_REF], 0,
SCM_NUM_EXPANDED_PRIMITIVE_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name))
+
+#define SCM_EXPANDED_LEXICAL_REF_TYPE_NAME "lexical-ref"
+#define SCM_EXPANDED_LEXICAL_REF_FIELD_NAMES \
+ { "src", "name", "gensym", }
+enum
+ {
+ SCM_EXPANDED_LEXICAL_REF_SRC,
+ SCM_EXPANDED_LEXICAL_REF_NAME,
+ SCM_EXPANDED_LEXICAL_REF_GENSYM,
+ SCM_NUM_EXPANDED_LEXICAL_REF_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LEXICAL_REF(src, name, gensym) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LEXICAL_REF], 0,
SCM_NUM_EXPANDED_LEXICAL_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name),
SCM_UNPACK (gensym))
+
+#define SCM_EXPANDED_LEXICAL_SET_TYPE_NAME "lexical-set"
+#define SCM_EXPANDED_LEXICAL_SET_FIELD_NAMES \
+ { "src", "name", "gensym", "exp", }
+enum
+ {
+ SCM_EXPANDED_LEXICAL_SET_SRC,
+ SCM_EXPANDED_LEXICAL_SET_NAME,
+ SCM_EXPANDED_LEXICAL_SET_GENSYM,
+ SCM_EXPANDED_LEXICAL_SET_EXP,
+ SCM_NUM_EXPANDED_LEXICAL_SET_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LEXICAL_SET(src, name, gensym, exp) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LEXICAL_SET], 0,
SCM_NUM_EXPANDED_LEXICAL_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name),
SCM_UNPACK (gensym), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_MODULE_REF_TYPE_NAME "module-ref"
+#define SCM_EXPANDED_MODULE_REF_FIELD_NAMES \
+ { "src", "mod", "name", "public?", }
+enum
+ {
+ SCM_EXPANDED_MODULE_REF_SRC,
+ SCM_EXPANDED_MODULE_REF_MOD,
+ SCM_EXPANDED_MODULE_REF_NAME,
+ SCM_EXPANDED_MODULE_REF_PUBLIC,
+ SCM_NUM_EXPANDED_MODULE_REF_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_MODULE_REF(src, mod, name, public) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_MODULE_REF], 0,
SCM_NUM_EXPANDED_MODULE_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (mod),
SCM_UNPACK (name), SCM_UNPACK (public))
+
+#define SCM_EXPANDED_MODULE_SET_TYPE_NAME "module-set"
+#define SCM_EXPANDED_MODULE_SET_FIELD_NAMES \
+ { "src", "mod", "name", "public?", "exp", }
+enum
+ {
+ SCM_EXPANDED_MODULE_SET_SRC,
+ SCM_EXPANDED_MODULE_SET_MOD,
+ SCM_EXPANDED_MODULE_SET_NAME,
+ SCM_EXPANDED_MODULE_SET_PUBLIC,
+ SCM_EXPANDED_MODULE_SET_EXP,
+ SCM_NUM_EXPANDED_MODULE_SET_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_MODULE_SET(src, mod, name, public, exp) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_MODULE_SET], 0,
SCM_NUM_EXPANDED_MODULE_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (mod),
SCM_UNPACK (name), SCM_UNPACK (public), SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_TOPLEVEL_REF_TYPE_NAME "toplevel-ref"
+#define SCM_EXPANDED_TOPLEVEL_REF_FIELD_NAMES \
+ { "src", "name", }
+enum
+ {
+ SCM_EXPANDED_TOPLEVEL_REF_SRC,
+ SCM_EXPANDED_TOPLEVEL_REF_NAME,
+ SCM_NUM_EXPANDED_TOPLEVEL_REF_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_REF(src, name) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_REF], 0,
SCM_NUM_EXPANDED_TOPLEVEL_REF_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name))
+
+#define SCM_EXPANDED_TOPLEVEL_SET_TYPE_NAME "toplevel-set"
+#define SCM_EXPANDED_TOPLEVEL_SET_FIELD_NAMES \
+ { "src", "name", "exp", }
+enum
+ {
+ SCM_EXPANDED_TOPLEVEL_SET_SRC,
+ SCM_EXPANDED_TOPLEVEL_SET_NAME,
+ SCM_EXPANDED_TOPLEVEL_SET_EXP,
+ SCM_NUM_EXPANDED_TOPLEVEL_SET_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_SET(src, name, exp) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_SET], 0,
SCM_NUM_EXPANDED_TOPLEVEL_SET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name),
SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_TOPLEVEL_DEFINE_TYPE_NAME "toplevel-define"
+#define SCM_EXPANDED_TOPLEVEL_DEFINE_FIELD_NAMES \
+ { "src", "name", "exp", }
+enum
+ {
+ SCM_EXPANDED_TOPLEVEL_DEFINE_SRC,
+ SCM_EXPANDED_TOPLEVEL_DEFINE_NAME,
+ SCM_EXPANDED_TOPLEVEL_DEFINE_EXP,
+ SCM_NUM_EXPANDED_TOPLEVEL_DEFINE_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_TOPLEVEL_DEFINE(src, name, exp) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_TOPLEVEL_DEFINE], 0,
SCM_NUM_EXPANDED_TOPLEVEL_DEFINE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name),
SCM_UNPACK (exp))
+
+#define SCM_EXPANDED_CONDITIONAL_TYPE_NAME "conditional"
+#define SCM_EXPANDED_CONDITIONAL_FIELD_NAMES \
+ { "src", "test", "consequent", "alternate", }
+enum
+ {
+ SCM_EXPANDED_CONDITIONAL_SRC,
+ SCM_EXPANDED_CONDITIONAL_TEST,
+ SCM_EXPANDED_CONDITIONAL_CONSEQUENT,
+ SCM_EXPANDED_CONDITIONAL_ALTERNATE,
+ SCM_NUM_EXPANDED_CONDITIONAL_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_CONDITIONAL(src, test, consequent, alternate) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_CONDITIONAL], 0,
SCM_NUM_EXPANDED_CONDITIONAL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (test),
SCM_UNPACK (consequent), SCM_UNPACK (alternate))
+
+#define SCM_EXPANDED_APPLICATION_TYPE_NAME "application"
+#define SCM_EXPANDED_APPLICATION_FIELD_NAMES \
+ { "src", "proc", "args", }
+enum
+ {
+ SCM_EXPANDED_APPLICATION_SRC,
+ SCM_EXPANDED_APPLICATION_PROC,
+ SCM_EXPANDED_APPLICATION_ARGS,
+ SCM_NUM_EXPANDED_APPLICATION_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_APPLICATION(src, proc, args) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_APPLICATION], 0,
SCM_NUM_EXPANDED_APPLICATION_FIELDS, SCM_UNPACK (src), SCM_UNPACK (proc),
SCM_UNPACK (args))
+
+#define SCM_EXPANDED_SEQUENCE_TYPE_NAME "sequence"
+#define SCM_EXPANDED_SEQUENCE_FIELD_NAMES \
+ { "src", "exps", }
+enum
+ {
+ SCM_EXPANDED_SEQUENCE_SRC,
+ SCM_EXPANDED_SEQUENCE_EXPS,
+ SCM_NUM_EXPANDED_SEQUENCE_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_SEQUENCE(src, exps) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_SEQUENCE], 0,
SCM_NUM_EXPANDED_SEQUENCE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (exps))
+
+#define SCM_EXPANDED_LAMBDA_TYPE_NAME "lambda"
+#define SCM_EXPANDED_LAMBDA_FIELD_NAMES \
+ { "src", "meta", "body", }
+enum
+ {
+ SCM_EXPANDED_LAMBDA_SRC,
+ SCM_EXPANDED_LAMBDA_META,
+ SCM_EXPANDED_LAMBDA_BODY,
+ SCM_NUM_EXPANDED_LAMBDA_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LAMBDA(src, meta, body) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LAMBDA], 0,
SCM_NUM_EXPANDED_LAMBDA_FIELDS, SCM_UNPACK (src), SCM_UNPACK (meta), SCM_UNPACK
(body))
+
+#define SCM_EXPANDED_LAMBDA_CASE_TYPE_NAME "lambda-case"
+#define SCM_EXPANDED_LAMBDA_CASE_FIELD_NAMES \
+ { "src", "req", "opt", "rest", "kw", "inits", "gensyms", "body",
"alternate", }
+enum
+ {
+ SCM_EXPANDED_LAMBDA_CASE_SRC,
+ SCM_EXPANDED_LAMBDA_CASE_REQ,
+ SCM_EXPANDED_LAMBDA_CASE_OPT,
+ SCM_EXPANDED_LAMBDA_CASE_REST,
+ SCM_EXPANDED_LAMBDA_CASE_KW,
+ SCM_EXPANDED_LAMBDA_CASE_INITS,
+ SCM_EXPANDED_LAMBDA_CASE_GENSYMS,
+ SCM_EXPANDED_LAMBDA_CASE_BODY,
+ SCM_EXPANDED_LAMBDA_CASE_ALTERNATE,
+ SCM_NUM_EXPANDED_LAMBDA_CASE_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LAMBDA_CASE(src, req, opt, rest, kw, inits, gensyms,
body, alternate) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LAMBDA_CASE], 0,
SCM_NUM_EXPANDED_LAMBDA_CASE_FIELDS, SCM_UNPACK (src), SCM_UNPACK (req),
SCM_UNPACK (opt), SCM_UNPACK (rest), SCM_UNPACK (kw), SCM_UNPACK (inits),
SCM_UNPACK (gensyms), SCM_UNPACK (body), SCM_UNPACK (alternate))
+
+#define SCM_EXPANDED_LET_TYPE_NAME "let"
+#define SCM_EXPANDED_LET_FIELD_NAMES \
+ { "src", "names", "gensyms", "vals", "body", }
+enum
+ {
+ SCM_EXPANDED_LET_SRC,
+ SCM_EXPANDED_LET_NAMES,
+ SCM_EXPANDED_LET_GENSYMS,
+ SCM_EXPANDED_LET_VALS,
+ SCM_EXPANDED_LET_BODY,
+ SCM_NUM_EXPANDED_LET_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LET(src, names, gensyms, vals, body) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LET], 0,
SCM_NUM_EXPANDED_LET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (names), SCM_UNPACK
(gensyms), SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#define SCM_EXPANDED_LETREC_TYPE_NAME "letrec"
+#define SCM_EXPANDED_LETREC_FIELD_NAMES \
+ { "src", "names", "gensyms", "vals", "body", }
+enum
+ {
+ SCM_EXPANDED_LETREC_SRC,
+ SCM_EXPANDED_LETREC_NAMES,
+ SCM_EXPANDED_LETREC_GENSYMS,
+ SCM_EXPANDED_LETREC_VALS,
+ SCM_EXPANDED_LETREC_BODY,
+ SCM_NUM_EXPANDED_LETREC_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_LETREC(src, names, gensyms, vals, body) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_LETREC], 0,
SCM_NUM_EXPANDED_LETREC_FIELDS, SCM_UNPACK (src), SCM_UNPACK (names),
SCM_UNPACK (gensyms), SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#define SCM_EXPANDED_DYNLET_TYPE_NAME "dynlet"
+#define SCM_EXPANDED_DYNLET_FIELD_NAMES \
+ { "src", "fluids", "vals", "body", }
+enum
+ {
+ SCM_EXPANDED_DYNLET_SRC,
+ SCM_EXPANDED_DYNLET_FLUIDS,
+ SCM_EXPANDED_DYNLET_VALS,
+ SCM_EXPANDED_DYNLET_BODY,
+ SCM_NUM_EXPANDED_DYNLET_FIELDS,
+ };
+#define SCM_MAKE_EXPANDED_DYNLET(src, fluids, vals, body) \
+ scm_c_make_struct (exp_vtables[SCM_EXPANDED_DYNLET], 0,
SCM_NUM_EXPANDED_DYNLET_FIELDS, SCM_UNPACK (src), SCM_UNPACK (fluids),
SCM_UNPACK (vals), SCM_UNPACK (body))
+
+#endif /* BUILDING_LIBGUILE */
+
+
+
+SCM_INTERNAL SCM scm_macroexpand (SCM exp);
+
+SCM_INTERNAL void scm_init_expand (void);
+
+
+#endif /* SCM_EXPAND_H */
+
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/
diff --git a/libguile/foreign.c b/libguile/foreign.c
index eaeea6c..a58634a 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -55,11 +55,7 @@ SCM_SYMBOL (sym_null, "%null-pointer");
SCM_SYMBOL (sym_null_pointer_error, "null-pointer-error");
/* The cell representing the null pointer. */
-static const scm_t_bits null_pointer[2] =
- {
- scm_tc7_foreign | (SCM_FOREIGN_TYPE_VOID << 8UL),
- 0
- };
+static SCM null_pointer;
/* Raise a null pointer dereference error. */
static void
@@ -172,7 +168,7 @@ SCM_DEFINE (scm_foreign_set_x, "foreign-set!", 2, 0, 0,
SCM_VALIDATE_FOREIGN (1, foreign);
- if (SCM_UNLIKELY (scm_is_eq (foreign, PTR2SCM (&null_pointer))))
+ if (SCM_UNLIKELY (scm_is_eq (foreign, null_pointer)))
/* Attempting to modify the pointer value of NULL_POINTER (which is
read-only anyway), so raise an error. */
null_pointer_error (FUNC_NAME);
@@ -1095,7 +1091,9 @@ scm_init_foreign (void)
#endif
);
- scm_define (sym_null, PTR2SCM (&null_pointer));
+ null_pointer = scm_cell (scm_tc7_foreign | (SCM_FOREIGN_TYPE_VOID << 8UL),
+ 0);
+ scm_define (sym_null, null_pointer);
}
void
diff --git a/libguile/init.c b/libguile/init.c
index 0d4f8c2..6313b65 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -54,6 +54,7 @@
#include "libguile/error.h"
#include "libguile/eval.h"
#include "libguile/evalext.h"
+#include "libguile/expand.h"
#include "libguile/feature.h"
#include "libguile/filesys.h"
#include "libguile/fluids.h"
@@ -546,6 +547,7 @@ scm_i_init_guile (SCM_STACKITEM *base)
scm_init_guardians (); /* requires smob_prehistory */
scm_init_vports ();
scm_init_standard_ports (); /* Requires fports */
+ scm_init_expand (); /* Requires structs */
scm_init_memoize (); /* Requires smob_prehistory */
scm_init_eval (); /* Requires smob_prehistory */
scm_init_load_path ();
diff --git a/libguile/memoize.c b/libguile/memoize.c
index 544de7c..bacd097 100644
--- a/libguile/memoize.c
+++ b/libguile/memoize.c
@@ -27,6 +27,7 @@
#include "libguile/_scm.h"
#include "libguile/continuations.h"
#include "libguile/eq.h"
+#include "libguile/expand.h"
#include "libguile/list.h"
#include "libguile/macros.h"
#include "libguile/memoize.h"
@@ -53,117 +54,7 @@
#define CADDDR(x) SCM_CADDDR(x)
-static const char s_bad_expression[] = "Bad expression";
-static const char s_expression[] = "Missing or extra expression in";
-static const char s_missing_expression[] = "Missing expression in";
-static const char s_extra_expression[] = "Extra expression in";
-static const char s_empty_combination[] = "Illegal empty combination";
-static const char s_missing_body_expression[] = "Missing body expression in";
-static const char s_mixed_body_forms[] = "Mixed definitions and expressions
in";
-static const char s_bad_define[] = "Bad define placement";
-static const char s_missing_clauses[] = "Missing clauses";
-static const char s_misplaced_else_clause[] = "Misplaced else clause";
-static const char s_bad_case_clause[] = "Bad case clause";
-static const char s_bad_case_labels[] = "Bad case labels";
-static const char s_duplicate_case_label[] = "Duplicate case label";
-static const char s_bad_cond_clause[] = "Bad cond clause";
-static const char s_missing_recipient[] = "Missing recipient in";
-static const char s_bad_variable[] = "Bad variable";
-static const char s_bad_bindings[] = "Bad bindings";
-static const char s_bad_binding[] = "Bad binding";
-static const char s_duplicate_binding[] = "Duplicate binding";
-static const char s_bad_exit_clause[] = "Bad exit clause";
-static const char s_bad_formals[] = "Bad formals";
-static const char s_bad_formal[] = "Bad formal";
-static const char s_duplicate_formal[] = "Duplicate formal";
-static const char s_splicing[] = "Non-list result for unquote-splicing";
-static const char s_bad_slot_number[] = "Bad slot number";
-
-
-/* Signal a syntax error. We distinguish between the form that caused the
- * error and the enclosing expression. The error message will print out as
- * shown in the following pattern. The file name and line number are only
- * given when they can be determined from the erroneous form or from the
- * enclosing expression.
- *
- * <filename>: In procedure memoization:
- * <filename>: In file <name>, line <nr>: <error-message> in <expression>. */
-
-SCM_SYMBOL (syntax_error_key, "syntax-error");
-
-/* The prototype is needed to indicate that the function does not return. */
-static void
-syntax_error (const char* const, const SCM, const SCM) SCM_NORETURN;
-
-static void
-syntax_error (const char* const msg, const SCM form, const SCM expr)
-{
- SCM msg_string = scm_from_locale_string (msg);
- SCM filename = SCM_BOOL_F;
- SCM linenr = SCM_BOOL_F;
- const char *format;
- SCM args;
-
- if (scm_is_pair (form))
- {
- filename = scm_source_property (form, scm_sym_filename);
- linenr = scm_source_property (form, scm_sym_line);
- }
-
- if (scm_is_false (filename) && scm_is_false (linenr) && scm_is_pair (expr))
- {
- filename = scm_source_property (expr, scm_sym_filename);
- linenr = scm_source_property (expr, scm_sym_line);
- }
-
- if (!SCM_UNBNDP (expr))
- {
- if (scm_is_true (filename))
- {
- format = "In file ~S, line ~S: ~A ~S in expression ~S.";
- args = scm_list_5 (filename, linenr, msg_string, form, expr);
- }
- else if (scm_is_true (linenr))
- {
- format = "In line ~S: ~A ~S in expression ~S.";
- args = scm_list_4 (linenr, msg_string, form, expr);
- }
- else
- {
- format = "~A ~S in expression ~S.";
- args = scm_list_3 (msg_string, form, expr);
- }
- }
- else
- {
- if (scm_is_true (filename))
- {
- format = "In file ~S, line ~S: ~A ~S.";
- args = scm_list_4 (filename, linenr, msg_string, form);
- }
- else if (scm_is_true (linenr))
- {
- format = "In line ~S: ~A ~S.";
- args = scm_list_3 (linenr, msg_string, form);
- }
- else
- {
- format = "~A ~S.";
- args = scm_list_2 (msg_string, form);
- }
- }
-
- scm_error (syntax_error_key, "memoization", format, args, SCM_BOOL_F);
-}
-
-
-/* Shortcut macros to simplify syntax error handling. */
-#define ASSERT_SYNTAX(cond, message, form) \
- { if (SCM_UNLIKELY (!(cond))) \
- syntax_error (message, form, SCM_UNDEFINED); }
-#define ASSERT_SYNTAX_2(cond, message, form, expr) \
- { if (SCM_UNLIKELY (!(cond))) \
- syntax_error (message, form, expr); }
+SCM_SYMBOL (sym_case_lambda_star, "case-lambda*");
@@ -262,993 +153,246 @@ scm_print_memoized (SCM memoized, SCM port,
scm_print_state *pstate)
return 1;
}
-static SCM scm_m_at (SCM xorig, SCM env);
-static SCM scm_m_atat (SCM xorig, SCM env);
-static SCM scm_m_and (SCM xorig, SCM env);
-static SCM scm_m_begin (SCM xorig, SCM env);
-static SCM scm_m_cond (SCM xorig, SCM env);
-static SCM scm_m_define (SCM x, SCM env);
-static SCM scm_m_with_fluids (SCM xorig, SCM env);
-static SCM scm_m_eval_when (SCM xorig, SCM env);
-static SCM scm_m_if (SCM xorig, SCM env);
-static SCM scm_m_lambda (SCM xorig, SCM env);
-static SCM scm_m_lambda_star (SCM xorig, SCM env);
-static SCM scm_m_case_lambda (SCM xorig, SCM env);
-static SCM scm_m_case_lambda_star (SCM xorig, SCM env);
-static SCM scm_m_let (SCM xorig, SCM env);
-static SCM scm_m_letrec (SCM xorig, SCM env);
-static SCM scm_m_letstar (SCM xorig, SCM env);
-static SCM scm_m_or (SCM xorig, SCM env);
-static SCM scm_m_quote (SCM xorig, SCM env);
-static SCM scm_m_set_x (SCM xorig, SCM env);
-static SCM
-memoize_env_ref_macro (SCM env, SCM x)
-{
- SCM var;
- for (; scm_is_pair (env); env = CDR (env))
- if (scm_is_eq (x, CAR (env)))
- return SCM_BOOL_F; /* lexical */
-
- var = scm_module_variable (env, x);
- if (scm_is_true (var) && scm_is_true (scm_variable_bound_p (var))
- && (scm_is_true (scm_macro_p (scm_variable_ref (var)))
- || SCM_MEMOIZER_P (scm_variable_ref (var))))
- return scm_variable_ref (var);
- else
- return SCM_BOOL_F; /* anything else */
-}
-
-static int
-memoize_env_var_is_free (SCM env, SCM x)
-{
- for (; scm_is_pair (env); env = CDR (env))
- if (scm_is_eq (x, CAR (env)))
- return 0; /* bound */
- return 1; /* free */
-}
-
static int
-memoize_env_lexical_index (SCM env, SCM x)
+lookup (SCM x, SCM env)
{
int i = 0;
for (; scm_is_pair (env); env = CDR (env), i++)
if (scm_is_eq (x, CAR (env)))
return i; /* bound */
- return -1; /* free */
+ abort ();
}
-static SCM
-memoize_env_extend (SCM env, SCM vars)
-{
- return scm_append (scm_list_2 (vars, env));
-}
-static SCM
-memoize (SCM exp, SCM env)
-{
- if (scm_is_pair (exp))
- {
- SCM car;
- scm_t_macro_primitive trans = NULL;
- SCM macro = SCM_BOOL_F, memoizer = SCM_BOOL_F;
-
- car = CAR (exp);
- if (scm_is_symbol (car))
- macro = memoize_env_ref_macro (env, car);
-
- if (scm_is_true (scm_macro_p (macro)))
- trans = scm_i_macro_primitive (macro);
- else if (SCM_MEMOIZER_P (macro))
- memoizer = SCM_MEMOIZER (macro);
+/* Abbreviate SCM_EXPANDED_REF. Copied because I'm not sure about symbol
pasting */
+#define REF(x,type,field) \
+ (scm_struct_ref (x, SCM_I_MAKINUM (SCM_EXPANDED_##type##_##field)))
- if (trans)
- return trans (exp, env);
- else
- {
- SCM args = SCM_EOL;
- int nargs = 0;
- SCM proc = CAR (exp);
-
- for (exp = CDR (exp); scm_is_pair (exp); exp = CDR (exp), nargs++)
- args = scm_cons (memoize (CAR (exp), env), args);
- if (scm_is_null (exp))
- {
- if (scm_is_true (memoizer))
- return scm_apply (memoizer, scm_reverse_x (args,
SCM_UNDEFINED),
- SCM_EOL);
- else
- return MAKMEMO_CALL (memoize (proc, env),
- nargs,
- scm_reverse_x (args, SCM_UNDEFINED));
- }
-
- else
- syntax_error ("expected a proper list", exp, SCM_UNDEFINED);
- }
- }
- else if (scm_is_symbol (exp))
- {
- int i = memoize_env_lexical_index (env, exp);
- if (i < 0)
- return MAKMEMO_TOP_REF (exp);
- else
- return MAKMEMO_LEX_REF (i);
- }
- else
- return MAKMEMO_QUOTE (exp);
-}
+static SCM list_of_guile = SCM_BOOL_F;
-static SCM
-memoize_exprs (SCM forms, const SCM env)
-{
- SCM ret = SCM_EOL;
-
- for (; !scm_is_null (forms); forms = CDR (forms))
- ret = scm_cons (memoize (CAR (forms), env), ret);
- return scm_reverse_x (ret, SCM_UNDEFINED);
-}
+static SCM memoize (SCM exp, SCM env);
static SCM
-memoize_sequence (const SCM forms, const SCM env)
+memoize_exps (SCM exps, SCM env)
{
- ASSERT_SYNTAX (scm_ilength (forms) >= 1, s_bad_expression,
- scm_cons (scm_sym_begin, forms));
- if (scm_is_null (CDR (forms)))
- return memoize (CAR (forms), env);
- else
- return MAKMEMO_BEGIN (memoize_exprs (forms, env));
-}
-
-
-
-/* Memoization. */
-
-#define SCM_SYNTAX(RANAME, STR, CFN) \
-SCM_SNARF_HERE(static const char RANAME[]=STR)\
-SCM_SNARF_INIT(scm_c_define (RANAME, scm_i_make_primitive_macro (RANAME, CFN)))
-
-
-/* True primitive syntax */
-SCM_SYNTAX (s_at, "@", scm_m_at);
-SCM_SYNTAX (s_atat, "@@", scm_m_atat);
-SCM_SYNTAX (s_begin, "begin", scm_m_begin);
-SCM_SYNTAX (s_define, "define", scm_m_define);
-SCM_SYNTAX (s_with_fluids, "with-fluids", scm_m_with_fluids);
-SCM_SYNTAX (s_eval_when, "eval-when", scm_m_eval_when);
-SCM_SYNTAX (s_if, "if", scm_m_if);
-SCM_SYNTAX (s_lambda, "lambda", scm_m_lambda);
-SCM_SYNTAX (s_let, "let", scm_m_let);
-SCM_SYNTAX (s_quote, "quote", scm_m_quote);
-SCM_SYNTAX (s_set_x, "set!", scm_m_set_x);
-
-/* Convenient syntax during boot, expands to primitive syntax. Replaced after
- psyntax boots. */
-SCM_SYNTAX (s_and, "and", scm_m_and);
-SCM_SYNTAX (s_cond, "cond", scm_m_cond);
-SCM_SYNTAX (s_letrec, "letrec", scm_m_letrec);
-SCM_SYNTAX (s_letstar, "let*", scm_m_letstar);
-SCM_SYNTAX (s_or, "or", scm_m_or);
-SCM_SYNTAX (s_lambda_star, "lambda*", scm_m_lambda_star);
-SCM_SYNTAX (s_case_lambda, "case-lambda", scm_m_case_lambda);
-SCM_SYNTAX (s_case_lambda_star, "case-lambda*", scm_m_case_lambda_star);
-
-SCM_GLOBAL_SYMBOL (scm_sym_apply, "apply");
-SCM_GLOBAL_SYMBOL (scm_sym_arrow, "=>");
-SCM_GLOBAL_SYMBOL (scm_sym_at, "@");
-SCM_GLOBAL_SYMBOL (scm_sym_atat, "@@");
-SCM_GLOBAL_SYMBOL (scm_sym_at_call_with_values, "@call-with-values");
-SCM_GLOBAL_SYMBOL (scm_sym_atapply, "@apply");
-SCM_GLOBAL_SYMBOL (scm_sym_atcall_cc, "@call-with-current-continuation");
-SCM_GLOBAL_SYMBOL (scm_sym_begin, "begin");
-SCM_GLOBAL_SYMBOL (scm_sym_case, "case");
-SCM_GLOBAL_SYMBOL (scm_sym_cond, "cond");
-SCM_GLOBAL_SYMBOL (scm_sym_define, "define");
-SCM_GLOBAL_SYMBOL (scm_sym_at_dynamic_wind, "@dynamic-wind");
-SCM_GLOBAL_SYMBOL (scm_sym_with_fluids, "with-fluids");
-SCM_GLOBAL_SYMBOL (scm_sym_else, "else");
-SCM_GLOBAL_SYMBOL (scm_sym_eval_when, "eval-when");
-SCM_GLOBAL_SYMBOL (scm_sym_if, "if");
-SCM_GLOBAL_SYMBOL (scm_sym_lambda, "lambda");
-SCM_GLOBAL_SYMBOL (scm_sym_let, "let");
-SCM_GLOBAL_SYMBOL (scm_sym_letrec, "letrec");
-SCM_GLOBAL_SYMBOL (scm_sym_letstar, "let*");
-SCM_GLOBAL_SYMBOL (scm_sym_or, "or");
-SCM_GLOBAL_SYMBOL (scm_sym_at_prompt, "@prompt");
-SCM_GLOBAL_SYMBOL (scm_sym_quote, "quote");
-SCM_GLOBAL_SYMBOL (scm_sym_set_x, "set!");
-SCM_SYMBOL (sym_lambda_star, "lambda*");
-SCM_SYMBOL (sym_case_lambda, "case-lambda");
-SCM_SYMBOL (sym_case_lambda_star, "case-lambda*");
-SCM_SYMBOL (sym_eval, "eval");
-SCM_SYMBOL (sym_load, "load");
-
-SCM_GLOBAL_SYMBOL (scm_sym_unquote, "unquote");
-SCM_GLOBAL_SYMBOL (scm_sym_quasiquote, "quasiquote");
-SCM_GLOBAL_SYMBOL (scm_sym_uq_splicing, "unquote-splicing");
-
-SCM_KEYWORD (kw_allow_other_keys, "allow-other-keys");
-SCM_KEYWORD (kw_optional, "optional");
-SCM_KEYWORD (kw_key, "key");
-SCM_KEYWORD (kw_rest, "rest");
-
-
-static SCM
-scm_m_at (SCM expr, SCM env SCM_UNUSED)
-{
- ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
-
- return MAKMEMO_MOD_REF (CADR (expr), CADDR (expr), SCM_BOOL_T);
-}
-
-static SCM
-scm_m_atat (SCM expr, SCM env SCM_UNUSED)
-{
- ASSERT_SYNTAX (scm_ilength (expr) == 3, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_is_symbol (CADDR (expr)), s_bad_expression, expr);
-
- return MAKMEMO_MOD_REF (CADR (expr), CADDR (expr), SCM_BOOL_F);
-}
-
-static SCM
-scm_m_and (SCM expr, SCM env)
-{
- const SCM cdr_expr = CDR (expr);
-
- if (scm_is_null (cdr_expr))
- return MAKMEMO_QUOTE (SCM_BOOL_T);
- ASSERT_SYNTAX (scm_is_pair (cdr_expr), s_bad_expression, expr);
-
- if (scm_is_null (CDR (cdr_expr)))
- return memoize (CAR (cdr_expr), env);
- else
- return MAKMEMO_IF (memoize (CAR (cdr_expr), env),
- scm_m_and (cdr_expr, env),
- MAKMEMO_QUOTE (SCM_BOOL_F));
-}
-
-static SCM
-scm_m_begin (SCM expr, SCM env)
-{
- const SCM cdr_expr = CDR (expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 1, s_bad_expression, expr);
- return MAKMEMO_BEGIN (memoize_exprs (cdr_expr, env));
-}
-
-static SCM
-scm_m_cond (SCM expr, SCM env)
-{
- /* Check, whether 'else or '=> is a literal, i. e. not bound to a value. */
- const int else_literal_p = memoize_env_var_is_free (env, scm_sym_else);
- const int arrow_literal_p = memoize_env_var_is_free (env, scm_sym_arrow);
-
- const SCM clauses = CDR (expr);
- SCM clause_idx;
- SCM ret, loc;
-
- ASSERT_SYNTAX (scm_ilength (clauses) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (clauses) >= 1, s_missing_clauses, expr);
-
- ret = scm_cons (SCM_UNDEFINED, MAKMEMO_QUOTE (SCM_UNSPECIFIED));
- loc = ret;
-
- for (clause_idx = clauses;
- !scm_is_null (clause_idx);
- clause_idx = CDR (clause_idx))
- {
- SCM test;
-
- const SCM clause = CAR (clause_idx);
- const long length = scm_ilength (clause);
- ASSERT_SYNTAX_2 (length >= 1, s_bad_cond_clause, clause, expr);
-
- test = CAR (clause);
- if (scm_is_eq (test, scm_sym_else) && else_literal_p)
- {
- const int last_clause_p = scm_is_null (CDR (clause_idx));
- ASSERT_SYNTAX_2 (length >= 2,
- s_bad_cond_clause, clause, expr);
- ASSERT_SYNTAX_2 (last_clause_p,
- s_misplaced_else_clause, clause, expr);
- SCM_SETCDR (loc,
- memoize (scm_cons (scm_sym_begin, CDR (clause)), env));
- }
- else if (length >= 2
- && scm_is_eq (CADR (clause), scm_sym_arrow)
- && arrow_literal_p)
- {
- SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
- SCM i;
- SCM new_env = scm_cons (tmp, env);
- ASSERT_SYNTAX_2 (length > 2, s_missing_recipient, clause, expr);
- ASSERT_SYNTAX_2 (length == 3, s_extra_expression, clause, expr);
- i = MAKMEMO_IF (MAKMEMO_LEX_REF (0),
- MAKMEMO_CALL (memoize (CADDR (clause),
- scm_cons (tmp, new_env)),
- 1,
- scm_list_1 (MAKMEMO_LEX_REF (0))),
- MAKMEMO_QUOTE (SCM_UNSPECIFIED));
- SCM_SETCDR (loc,
- MAKMEMO_LET (scm_list_1 (memoize (CAR (clause), env)),
- i));
- env = new_env;
- loc = scm_last_pair (SCM_MEMOIZED_ARGS (i));
- }
- /* FIXME length == 1 case */
- else
- {
- SCM i = MAKMEMO_IF (memoize (CAR (clause), env),
- memoize (scm_cons (scm_sym_begin, CDR (clause)),
env),
- MAKMEMO_QUOTE (SCM_UNSPECIFIED));
- SCM_SETCDR (loc, i);
- loc = scm_last_pair (SCM_MEMOIZED_ARGS (i));
- }
- }
-
- return CDR (ret);
-}
-
-/* According to Section 5.2.1 of R5RS we first have to make sure that the
- variable is bound, and then perform the `(set! variable expression)'
- operation. However, EXPRESSION _can_ be evaluated before VARIABLE is
- bound. This means that EXPRESSION won't necessarily be able to assign
- values to VARIABLE as in `(define foo (begin (set! foo 1) (+ foo 1)))'. */
-static SCM
-scm_m_define (SCM expr, SCM env)
-{
- const SCM cdr_expr = CDR (expr);
- SCM body;
- SCM variable;
-
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
- ASSERT_SYNTAX (!scm_is_pair (env), s_bad_define, expr);
-
- body = CDR (cdr_expr);
- variable = CAR (cdr_expr);
-
- if (scm_is_pair (variable))
- {
- ASSERT_SYNTAX_2 (scm_is_symbol (CAR (variable)), s_bad_variable,
variable, expr);
- return MAKMEMO_DEFINE (CAR (variable),
- memoize (scm_cons (scm_sym_lambda,
- scm_cons (CDR (variable),
body)),
- env));
- }
- ASSERT_SYNTAX_2 (scm_is_symbol (variable), s_bad_variable, variable, expr);
- ASSERT_SYNTAX (scm_ilength (body) == 1, s_expression, expr);
- return MAKMEMO_DEFINE (variable, memoize (CAR (body), env));
-}
-
-static SCM
-scm_m_with_fluids (SCM expr, SCM env)
-{
- SCM binds, fluids, vals;
- ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
- binds = CADR (expr);
- ASSERT_SYNTAX_2 (scm_ilength (binds) >= 0, s_bad_bindings, binds, expr);
- for (fluids = SCM_EOL, vals = SCM_EOL;
- scm_is_pair (binds);
- binds = CDR (binds))
- {
- SCM binding = CAR (binds);
- ASSERT_SYNTAX_2 (scm_ilength (CAR (binds)) == 2, s_bad_binding,
- binding, expr);
- fluids = scm_cons (memoize (CAR (binding), env), fluids);
- vals = scm_cons (memoize (CADR (binding), env), vals);
- }
-
- return MAKMEMO_WITH_FLUIDS (scm_reverse_x (fluids, SCM_UNDEFINED),
- scm_reverse_x (vals, SCM_UNDEFINED),
- memoize_sequence (CDDR (expr), env));
-}
-
-static SCM
-scm_m_eval_when (SCM expr, SCM env)
-{
- ASSERT_SYNTAX (scm_ilength (expr) >= 3, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (CADR (expr)) > 0, s_bad_expression, expr);
-
- if (scm_is_true (scm_memq (sym_eval, CADR (expr)))
- || scm_is_true (scm_memq (sym_load, CADR (expr))))
- return MAKMEMO_BEGIN (memoize_exprs (CDDR (expr), env));
- else
- return MAKMEMO_QUOTE (SCM_UNSPECIFIED);
-}
-
-static SCM
-scm_m_if (SCM expr, SCM env SCM_UNUSED)
-{
- const SCM cdr_expr = CDR (expr);
- const long length = scm_ilength (cdr_expr);
- ASSERT_SYNTAX (length == 2 || length == 3, s_expression, expr);
- return MAKMEMO_IF (memoize (CADR (expr), env),
- memoize (CADDR (expr), env),
- ((length == 3)
- ? memoize (CADDDR (expr), env)
- : MAKMEMO_QUOTE (SCM_UNSPECIFIED)));
-}
-
-/* A helper function for memoize_lambda to support checking for duplicate
- * formal arguments: Return true if OBJ is `eq?' to one of the elements of
- * LIST or to the CDR of the last cons. Therefore, LIST may have any of the
- * forms that a formal argument can have:
- * <rest>, (<arg1> ...), (<arg1> ... . <rest>) */
-static int
-c_improper_memq (SCM obj, SCM list)
-{
- for (; scm_is_pair (list); list = CDR (list))
- {
- if (scm_is_eq (CAR (list), obj))
- return 1;
- }
- return scm_is_eq (list, obj);
-}
-
-static SCM
-scm_m_lambda (SCM expr, SCM env SCM_UNUSED)
-{
- SCM formals;
- SCM formals_idx;
- SCM formal_vars = SCM_EOL;
- SCM body;
- int nreq = 0;
-
- const SCM cdr_expr = CDR (expr);
- const long length = scm_ilength (cdr_expr);
- ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
- /* Before iterating the list of formal arguments, make sure the formals
- * actually are given as either a symbol or a non-cyclic list. */
- formals = CAR (cdr_expr);
- if (scm_is_pair (formals))
- {
- /* Dirk:FIXME:: We should check for a cyclic list of formals, and if
- * detected, report a 'Bad formals' error. */
- }
- else
- {
- ASSERT_SYNTAX_2 (scm_is_symbol (formals) || scm_is_null (formals),
- s_bad_formals, formals, expr);
- }
-
- /* Now iterate the list of formal arguments to check if all formals are
- * symbols, and that there are no duplicates. */
- formals_idx = formals;
- while (scm_is_pair (formals_idx))
- {
- const SCM formal = CAR (formals_idx);
- const SCM next_idx = CDR (formals_idx);
- ASSERT_SYNTAX_2 (scm_is_symbol (formal), s_bad_formal, formal, expr);
- ASSERT_SYNTAX_2 (!c_improper_memq (formal, next_idx),
- s_duplicate_formal, formal, expr);
- nreq++;
- formal_vars = scm_cons (formal, formal_vars);
- formals_idx = next_idx;
- }
- ASSERT_SYNTAX_2 (scm_is_null (formals_idx) || scm_is_symbol (formals_idx),
- s_bad_formal, formals_idx, expr);
- if (scm_is_symbol (formals_idx))
- formal_vars = scm_cons (formals_idx, formal_vars);
-
- body = memoize_sequence (CDDR (expr), memoize_env_extend (env, formal_vars));
-
- if (scm_is_symbol (formals_idx))
- return MAKMEMO_LAMBDA (body, REST_ARITY (nreq, SCM_BOOL_T));
- else
- return MAKMEMO_LAMBDA (body, FIXED_ARITY (nreq));
-}
-
-static SCM
-scm_m_lambda_star (SCM expr, SCM env)
-{
- SCM req, opt, kw, allow_other_keys, rest, formals, body;
- SCM inits, kw_indices;
- int nreq, nopt;
-
- const long length = scm_ilength (expr);
- ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
- ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
-
- formals = CADR (expr);
- body = CDDR (expr);
-
- nreq = nopt = 0;
- req = opt = kw = SCM_EOL;
- rest = allow_other_keys = SCM_BOOL_F;
-
- while (scm_is_pair (formals) && scm_is_symbol (CAR (formals)))
- {
- nreq++;
- req = scm_cons (CAR (formals), req);
- formals = scm_cdr (formals);
- }
-
- if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_optional))
- {
- formals = CDR (formals);
- while (scm_is_pair (formals)
- && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
- {
- nopt++;
- opt = scm_cons (CAR (formals), opt);
- formals = scm_cdr (formals);
- }
- }
-
- if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_key))
- {
- formals = CDR (formals);
- while (scm_is_pair (formals)
- && (scm_is_symbol (CAR (formals)) || scm_is_pair (CAR (formals))))
- {
- kw = scm_cons (CAR (formals), kw);
- formals = scm_cdr (formals);
- }
- }
-
- if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_allow_other_keys))
- {
- formals = CDR (formals);
- allow_other_keys = SCM_BOOL_T;
- }
-
- if (scm_is_pair (formals) && scm_is_eq (CAR (formals), kw_rest))
- {
- if (scm_ilength (formals) != 2)
- syntax_error (s_bad_formals, CADR (expr), expr);
- else
- rest = CADR (formals);
- }
- else if (scm_is_symbol (formals))
- rest = formals;
- else if (!scm_is_null (formals))
- syntax_error (s_bad_formals, CADR (expr), expr);
- else
- rest = SCM_BOOL_F;
-
- /* Now, iterate through them a second time, building up an expansion-time
- environment, checking, expanding and canonicalizing the opt/kw init forms,
- and eventually memoizing the body as well. Note that the rest argument, if
- any, is expanded before keyword args, thus necessitating the second
- pass.
-
- Also note that the specific environment during expansion of init
- expressions here needs to coincide with the environment when psyntax
- expands. A lot of effort for something that is only used in the bootstrap
- memoizer, you say? Yes. Yes it is.
- */
-
- inits = SCM_EOL;
-
- /* nreq is already set, and req is already reversed: simply extend. */
- env = memoize_env_extend (env, req);
-
- /* Build up opt inits and env */
- opt = scm_reverse_x (opt, SCM_EOL);
- while (scm_is_pair (opt))
- {
- SCM x = CAR (opt);
- if (scm_is_symbol (x))
- inits = scm_cons (MAKMEMO_QUOTE (SCM_BOOL_F), inits);
- else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
- inits = scm_cons (memoize (CADR (x), env), inits);
- else
- syntax_error (s_bad_formals, CADR (expr), expr);
- env = scm_cons (scm_is_symbol (x) ? x : CAR (x), env);
- opt = CDR (opt);
- }
-
- /* Process rest before keyword args */
- if (scm_is_true (rest))
- env = scm_cons (rest, env);
-
- /* Build up kw inits, env, and kw-indices alist */
- if (scm_is_null (kw))
- kw_indices = SCM_BOOL_F;
- else
- {
- int idx = nreq + nopt + (scm_is_true (rest) ? 1 : 0);
-
- kw_indices = SCM_EOL;
- kw = scm_reverse_x (kw, SCM_EOL);
- while (scm_is_pair (kw))
- {
- SCM x, sym, k, init;
- x = CAR (kw);
- if (scm_is_symbol (x))
- {
- sym = x;
- init = SCM_BOOL_F;
- k = scm_symbol_to_keyword (sym);
- }
- else if (scm_ilength (x) == 2 && scm_is_symbol (CAR (x)))
- {
- sym = CAR (x);
- init = CADR (x);
- k = scm_symbol_to_keyword (sym);
- }
- else if (scm_ilength (x) == 3 && scm_is_symbol (CAR (x))
- && scm_is_keyword (CADDR (x)))
- {
- sym = CAR (x);
- init = CADR (x);
- k = CADDR (x);
- }
- else
- syntax_error (s_bad_formals, CADR (expr), expr);
-
- kw_indices = scm_acons (k, SCM_I_MAKINUM (idx++), kw_indices);
- inits = scm_cons (memoize (init, env), inits);
- env = scm_cons (sym, env);
- kw = CDR (kw);
- }
- kw_indices = scm_cons (allow_other_keys,
- scm_reverse_x (kw_indices, SCM_UNDEFINED));
- }
-
- /* We should check for no duplicates, but given that psyntax does this
- already, we can punt on it here... */
-
- inits = scm_reverse_x (inits, SCM_UNDEFINED);
- body = memoize_sequence (body, env);
-
- if (scm_is_false (kw_indices) && scm_is_false (rest) && !nopt)
- return MAKMEMO_LAMBDA (body, FIXED_ARITY (nreq));
- if (scm_is_false (kw_indices) && !nopt)
- return MAKMEMO_LAMBDA (body, REST_ARITY (nreq, SCM_BOOL_T));
- else
- return MAKMEMO_LAMBDA (body, FULL_ARITY (nreq, rest, nopt, kw_indices,
inits,
- SCM_BOOL_F));
-}
-
-static SCM
-patch_case_lambda (SCM a, SCM b)
-{
- SCM mx, body, rest, kw_indices, inits;
- int nreq, nopt;
-
- mx = SCM_SMOB_OBJECT_1 (a);
- body = CAR (mx);
- mx = CDR (mx);
-
- if (scm_is_null (CDR (mx)))
- {
- nreq = scm_to_int16 (CAR (mx));
- rest = SCM_BOOL_F;
- nopt = 0;
- kw_indices = SCM_BOOL_F;
- inits = SCM_EOL;
- }
- else if (scm_is_null (CDDR (mx)))
- {
- nreq = scm_to_int16 (CAR (mx));
- rest = CADR (mx);
- nopt = 0;
- kw_indices = SCM_BOOL_F;
- inits = SCM_EOL;
- }
- else
- {
- nreq = scm_to_int16 (CAR (mx));
- rest = CADR (mx);
- nopt = scm_to_int16 (CADDR (mx));
- kw_indices = CADDDR (mx);
- inits = CADR (CDDDR (mx));
- }
-
- return MAKMEMO_LAMBDA
- (body, FULL_ARITY (nreq, rest, nopt, kw_indices, inits, b));
+ SCM ret;
+ for (ret = SCM_EOL; scm_is_pair (exps); exps = CDR (exps))
+ ret = scm_cons (memoize (CAR (exps), env), ret);
+ return scm_reverse_x (ret, SCM_UNDEFINED);
}
-
-static SCM
-scm_m_case_lambda (SCM expr, SCM env)
-{
- SCM ret, clauses;
-
- const long length = scm_ilength (expr);
- ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
- ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
- clauses = scm_reverse (CDR (expr));
- ret = SCM_BOOL_F;
- for (; scm_is_pair (clauses); clauses = CDR (clauses))
- ret = patch_case_lambda
- (scm_m_lambda (scm_cons (scm_sym_lambda, CAR (clauses)), env), ret);
-
- return ret;
-}
-
static SCM
-scm_m_case_lambda_star (SCM expr, SCM env)
-{
- SCM ret, clauses;
-
- const long length = scm_ilength (expr);
- ASSERT_SYNTAX (length >= 1, s_bad_expression, expr);
- ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
-
- clauses = scm_reverse (CDR (expr));
- ret = SCM_BOOL_F;
-
- for (; scm_is_pair (clauses); clauses = CDR (clauses))
- ret = patch_case_lambda
- (scm_m_lambda_star (scm_cons (sym_lambda_star, CAR (clauses)), env),
ret);
-
- return ret;
-}
-
-/* Check if the format of the bindings is ((<symbol> <init-form>) ...). */
-static void
-check_bindings (const SCM bindings, const SCM expr)
+memoize (SCM exp, SCM env)
{
- SCM binding_idx;
-
- ASSERT_SYNTAX_2 (scm_ilength (bindings) >= 0,
- s_bad_bindings, bindings, expr);
+ if (!SCM_EXPANDED_P (exp))
+ abort ();
- binding_idx = bindings;
- for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
+ switch (SCM_EXPANDED_TYPE (exp))
{
- SCM name; /* const */
-
- const SCM binding = CAR (binding_idx);
- ASSERT_SYNTAX_2 (scm_ilength (binding) == 2,
- s_bad_binding, binding, expr);
-
- name = CAR (binding);
- ASSERT_SYNTAX_2 (scm_is_symbol (name), s_bad_variable, name, expr);
- }
-}
+ case SCM_EXPANDED_VOID:
+ return MAKMEMO_QUOTE (SCM_UNSPECIFIED);
+
+ case SCM_EXPANDED_CONST:
+ return MAKMEMO_QUOTE (REF (exp, CONST, EXP));
-/* The bindings, which must have the format ((v1 i1) (v2 i2) ... (vn in)), are
- * transformed to the lists (vn .. v2 v1) and (i1 i2 ... in). If a duplicate
- * variable name is detected, an error is signalled. */
-static int
-transform_bindings (const SCM bindings, const SCM expr,
- SCM *const rvarptr, SCM *const initptr)
-{
- SCM rvariables = SCM_EOL;
- SCM rinits = SCM_EOL;
- SCM binding_idx = bindings;
- int n = 0;
- for (; !scm_is_null (binding_idx); binding_idx = CDR (binding_idx))
- {
- const SCM binding = CAR (binding_idx);
- const SCM CDR_binding = CDR (binding);
- const SCM name = CAR (binding);
- ASSERT_SYNTAX_2 (scm_is_false (scm_c_memq (name, rvariables)),
- s_duplicate_binding, name, expr);
- rvariables = scm_cons (name, rvariables);
- rinits = scm_cons (CAR (CDR_binding), rinits);
- n++;
- }
- *rvarptr = rvariables;
- *initptr = scm_reverse_x (rinits, SCM_UNDEFINED);
- return n;
-}
+ case SCM_EXPANDED_PRIMITIVE_REF:
+ if (scm_is_eq (scm_current_module (), scm_the_root_module ()))
+ return MAKMEMO_TOP_REF (REF (exp, PRIMITIVE_REF, NAME));
+ else
+ return MAKMEMO_MOD_REF (list_of_guile, REF (exp, PRIMITIVE_REF, NAME),
+ SCM_BOOL_F);
+
+ case SCM_EXPANDED_LEXICAL_REF:
+ return MAKMEMO_LEX_REF (lookup (REF (exp, LEXICAL_REF, GENSYM), env));
+
+ case SCM_EXPANDED_LEXICAL_SET:
+ return MAKMEMO_LEX_SET (lookup (REF (exp, LEXICAL_SET, GENSYM), env),
+ memoize (REF (exp, LEXICAL_SET, EXP), env));
+
+ case SCM_EXPANDED_MODULE_REF:
+ return MAKMEMO_MOD_REF (REF (exp, MODULE_REF, MOD),
+ REF (exp, MODULE_REF, NAME),
+ REF (exp, MODULE_REF, PUBLIC));
+
+ case SCM_EXPANDED_MODULE_SET:
+ return MAKMEMO_MOD_SET (memoize (REF (exp, MODULE_SET, EXP), env),
+ REF (exp, MODULE_SET, MOD),
+ REF (exp, MODULE_SET, NAME),
+ REF (exp, MODULE_SET, PUBLIC));
+
+ case SCM_EXPANDED_TOPLEVEL_REF:
+ return MAKMEMO_TOP_REF (REF (exp, TOPLEVEL_REF, NAME));
+
+ case SCM_EXPANDED_TOPLEVEL_SET:
+ return MAKMEMO_TOP_SET (REF (exp, TOPLEVEL_SET, NAME),
+ memoize (REF (exp, TOPLEVEL_SET, EXP), env));
+
+ case SCM_EXPANDED_TOPLEVEL_DEFINE:
+ return MAKMEMO_DEFINE (REF (exp, TOPLEVEL_DEFINE, NAME),
+ memoize (REF (exp, TOPLEVEL_DEFINE, EXP), env));
+
+ case SCM_EXPANDED_CONDITIONAL:
+ return MAKMEMO_IF (memoize (REF (exp, CONDITIONAL, TEST), env),
+ memoize (REF (exp, CONDITIONAL, CONSEQUENT), env),
+ memoize (REF (exp, CONDITIONAL, ALTERNATE), env));
+
+ case SCM_EXPANDED_APPLICATION:
+ {
+ SCM proc, args;
-/* This function is a helper function for memoize_let. It transforms
- * (let name ((var init) ...) body ...) into
- * ((letrec ((name (lambda (var ...) body ...))) name) init ...)
- * and memoizes the expression. It is assumed that the caller has checked
- * that name is a symbol and that there are bindings and a body. */
-static SCM
-memoize_named_let (const SCM expr, SCM env)
-{
- SCM rvariables;
- SCM inits;
- int nreq;
-
- const SCM cdr_expr = CDR (expr);
- const SCM name = CAR (cdr_expr);
- const SCM cddr_expr = CDR (cdr_expr);
- const SCM bindings = CAR (cddr_expr);
- check_bindings (bindings, expr);
-
- nreq = transform_bindings (bindings, expr, &rvariables, &inits);
-
- env = scm_cons (name, env);
- return MAKMEMO_LET
- (scm_list_1 (MAKMEMO_QUOTE (SCM_UNDEFINED)),
- MAKMEMO_BEGIN
- (scm_list_2 (MAKMEMO_LEX_SET
- (0,
- MAKMEMO_LAMBDA (memoize_sequence
- (CDDDR (expr),
- memoize_env_extend (env, rvariables)),
- FIXED_ARITY (nreq))),
- MAKMEMO_CALL (MAKMEMO_LEX_REF (0),
- nreq,
- memoize_exprs (inits, env)))));
-}
+ proc = REF (exp, APPLICATION, PROC);
+ args = memoize_exps (REF (exp, APPLICATION, ARGS), env);
-/* (let ((v1 i1) (v2 i2) ...) body) with variables v1 .. vn and initializers
- * i1 .. in is transformed to (address@hidden (vn ... v2 v1) (i1 i2 ...)
body). */
-static SCM
-scm_m_let (SCM expr, SCM env)
-{
- SCM bindings;
+ if (SCM_EXPANDED_TYPE (proc) == SCM_EXPANDED_TOPLEVEL_REF)
+ {
+ SCM var = scm_module_variable (scm_current_module (),
+ REF (proc, TOPLEVEL_REF, NAME));
+ if (SCM_VARIABLEP (var))
+ {
+ SCM val = SCM_VARIABLE_REF (var);
+ if (SCM_MEMOIZER_P (val))
+ return scm_apply (SCM_SMOB_OBJECT_1 (val), args, SCM_EOL);
+ }
+ }
+ /* otherwise we all fall down here */
+ return MAKMEMO_CALL (memoize (proc, env), scm_ilength (args), args);
+ }
- const SCM cdr_expr = CDR (expr);
- const long length = scm_ilength (cdr_expr);
- ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (length >= 2, s_missing_expression, expr);
+ case SCM_EXPANDED_SEQUENCE:
+ return MAKMEMO_BEGIN (memoize_exps (REF (exp, SEQUENCE, EXPS), env));
- bindings = CAR (cdr_expr);
- if (scm_is_symbol (bindings))
- {
- ASSERT_SYNTAX (length >= 3, s_missing_expression, expr);
- return memoize_named_let (expr, env);
- }
+ case SCM_EXPANDED_LAMBDA:
+ /* The body will be a lambda-case. */
+ return memoize (REF (exp, LAMBDA, BODY), env);
- check_bindings (bindings, expr);
- if (scm_is_null (bindings))
- return memoize_sequence (CDDR (expr), env);
- else
- {
- SCM rvariables;
- SCM inits;
- transform_bindings (bindings, expr, &rvariables, &inits);
- return MAKMEMO_LET (memoize_exprs (inits, env),
- memoize_sequence (CDDR (expr),
- memoize_env_extend (env,
rvariables)));
- }
-}
+ case SCM_EXPANDED_LAMBDA_CASE:
+ {
+ SCM req, rest, opt, kw, inits, vars, body, alt;
+ SCM walk, minits, arity, new_env;
+ int nreq, nopt;
+
+ req = REF (exp, LAMBDA_CASE, REQ);
+ rest = REF (exp, LAMBDA_CASE, REST);
+ opt = REF (exp, LAMBDA_CASE, OPT);
+ kw = REF (exp, LAMBDA_CASE, KW);
+ inits = REF (exp, LAMBDA_CASE, INITS);
+ vars = REF (exp, LAMBDA_CASE, GENSYMS);
+ body = REF (exp, LAMBDA_CASE, BODY);
+ alt = REF (exp, LAMBDA_CASE, ALTERNATE);
+
+ nreq = scm_ilength (req);
+ nopt = scm_is_pair (opt) ? scm_ilength (opt) : 0;
+
+ /* The vars are the gensyms, according to the divine plan. But we need
+ to memoize the inits within their appropriate environment,
+ complicating things. */
+ new_env = env;
+ for (walk = req; scm_is_pair (walk);
+ walk = CDR (walk), vars = CDR (vars))
+ new_env = scm_cons (CAR (vars), new_env);
+
+ minits = SCM_EOL;
+ for (walk = opt; scm_is_pair (walk);
+ walk = CDR (walk), vars = CDR (vars), inits = CDR (inits))
+ {
+ minits = scm_cons (memoize (CAR (inits), new_env), minits);
+ new_env = scm_cons (CAR (vars), new_env);
+ }
-static SCM
-scm_m_letrec (SCM expr, SCM env)
-{
- SCM bindings;
+ if (scm_is_true (rest))
+ {
+ new_env = scm_cons (CAR (vars), new_env);
+ vars = CDR (vars);
+ }
- const SCM cdr_expr = CDR (expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+ for (; scm_is_pair (inits); vars = CDR (vars), inits = CDR (inits))
+ {
+ minits = scm_cons (memoize (CAR (inits), new_env), minits);
+ new_env = scm_cons (CAR (vars), new_env);
+ }
+ if (!scm_is_null (vars))
+ abort ();
- bindings = CAR (cdr_expr);
- if (scm_is_null (bindings))
- return memoize_sequence (CDDR (expr), env);
- else
- {
- SCM rvariables;
- SCM inits;
- SCM v, i;
- SCM undefs = SCM_EOL;
- SCM vals = SCM_EOL;
- SCM sets = SCM_EOL;
- SCM new_env;
- int offset;
- int n = transform_bindings (bindings, expr, &rvariables, &inits);
- offset = n;
- new_env = memoize_env_extend (env, rvariables);
- for (v = scm_reverse (rvariables), i = inits; scm_is_pair (v);
- v = CDR (v), i = CDR (i), n--)
- {
- undefs = scm_cons (MAKMEMO_QUOTE (SCM_UNDEFINED), undefs);
- vals = scm_cons (memoize (CAR (i), new_env), vals);
- sets = scm_cons (MAKMEMO_LEX_SET ((n-1) + offset,
- MAKMEMO_LEX_REF (n-1)),
- sets);
- }
- return MAKMEMO_LET
- (undefs,
- MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (scm_reverse (vals),
- MAKMEMO_BEGIN (sets)),
- memoize_sequence (CDDR (expr),
- new_env))));
- }
-}
+ minits = scm_reverse_x (minits, SCM_UNDEFINED);
-static SCM
-scm_m_letstar (SCM expr, SCM env SCM_UNUSED)
-{
- SCM bindings;
+ if (scm_is_false (alt) && scm_is_false (kw) && scm_is_false (opt))
+ {
+ if (scm_is_false (rest))
+ arity = FIXED_ARITY (nreq);
+ else
+ arity = REST_ARITY (nreq, SCM_BOOL_T);
+ }
+ else if (scm_is_true (alt))
+ arity = FULL_ARITY (nreq, rest, nopt, kw, minits,
+ SCM_MEMOIZED_ARGS (memoize (alt, env)));
+ else
+ arity = FULL_ARITY (nreq, rest, nopt, kw, minits, SCM_BOOL_F);
- const SCM cdr_expr = CDR (expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 2, s_missing_expression, expr);
+ return MAKMEMO_LAMBDA (memoize (body, new_env), arity);
+ }
- bindings = CAR (cdr_expr);
- if (scm_is_null (bindings))
- return memoize_sequence (CDDR (expr), env);
- else
- {
- SCM rvariables;
- SCM variables;
- SCM inits;
- SCM ret, loc;
- transform_bindings (bindings, expr, &rvariables, &inits);
- variables = scm_reverse (rvariables);
- ret = scm_cons (SCM_UNDEFINED, SCM_UNSPECIFIED);
- loc = ret;
- for (; scm_is_pair (variables);
- variables = CDR (variables), inits = CDR (inits))
- { SCM x = MAKMEMO_LET (scm_list_1 (memoize (CAR (inits), env)),
- MAKMEMO_QUOTE (SCM_UNSPECIFIED));
- SCM_SETCDR (loc, x);
- loc = scm_last_pair (SCM_MEMOIZED_ARGS (x));
- env = scm_cons (CAR (variables), env);
- }
- SCM_SETCDR (loc, memoize_sequence (CDDR (expr), env));
- return CDR (ret);
- }
-}
+ case SCM_EXPANDED_LET:
+ {
+ SCM vars, exps, body, inits, new_env;
+
+ vars = REF (exp, LET, GENSYMS);
+ exps = REF (exp, LET, VALS);
+ body = REF (exp, LET, BODY);
+
+ inits = SCM_EOL;
+ new_env = env;
+ for (; scm_is_pair (vars); vars = CDR (vars), exps = CDR (exps))
+ {
+ new_env = scm_cons (CAR (vars), new_env);
+ inits = scm_cons (memoize (CAR (exps), env), inits);
+ }
-static SCM
-scm_m_or (SCM expr, SCM env SCM_UNUSED)
-{
- SCM tail = CDR (expr);
- SCM ret, loc;
- const long length = scm_ilength (tail);
+ return MAKMEMO_LET (scm_reverse_x (inits, SCM_UNDEFINED),
+ memoize (body, new_env));
+ }
- ASSERT_SYNTAX (length >= 0, s_bad_expression, expr);
+ case SCM_EXPANDED_LETREC:
+ {
+ SCM vars, exps, body, undefs, inits, sets, new_env;
+ int i, nvars;
+
+ vars = REF (exp, LET, GENSYMS);
+ exps = REF (exp, LET, VALS);
+ body = REF (exp, LET, BODY);
+ nvars = i = scm_ilength (vars);
+ inits = undefs = sets = SCM_EOL;
+ new_env = env;
+
+ for (; scm_is_pair (vars); vars = CDR (vars), i--)
+ {
+ new_env = scm_cons (CAR (vars), new_env);
+ undefs = scm_cons (MAKMEMO_QUOTE (SCM_UNDEFINED), undefs);
+ sets = scm_cons (MAKMEMO_LEX_SET ((i-1) + nvars,
+ MAKMEMO_LEX_REF (i-1)),
+ sets);
+ }
- ret = scm_cons (SCM_UNDEFINED, SCM_UNSPECIFIED);
- loc = ret;
- for (; scm_is_pair (tail); tail = CDR (tail))
- {
- SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
- SCM x = MAKMEMO_IF (MAKMEMO_LEX_REF (0),
- MAKMEMO_LEX_REF (0),
- MAKMEMO_QUOTE (SCM_UNSPECIFIED));
- SCM new_env = scm_cons (tmp, env);
- SCM_SETCDR (loc, MAKMEMO_LET (scm_list_1 (memoize (CAR (tail),
- env)),
- x));
- env = new_env;
- loc = scm_last_pair (SCM_MEMOIZED_ARGS (x));
- }
- SCM_SETCDR (loc, MAKMEMO_QUOTE (SCM_BOOL_F));
- return CDR (ret);
-}
+ for (; scm_is_pair (exps); exps = CDR (exps))
+ inits = scm_cons (memoize (CAR (exps), new_env), inits);
+ inits = scm_reverse_x (inits, SCM_UNDEFINED);
-static SCM
-scm_m_quote (SCM expr, SCM env SCM_UNUSED)
-{
- SCM quotee;
+ return MAKMEMO_LET
+ (undefs,
+ MAKMEMO_BEGIN (scm_list_2 (MAKMEMO_LET (inits, MAKMEMO_BEGIN
(sets)),
+ memoize (body, new_env))));
+ }
- const SCM cdr_expr = CDR (expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) == 1, s_expression, expr);
- quotee = CAR (cdr_expr);
- return MAKMEMO_QUOTE (quotee);
-}
+ case SCM_EXPANDED_DYNLET:
+ return MAKMEMO_WITH_FLUIDS (memoize_exps (REF (exp, DYNLET, FLUIDS),
env),
+ memoize_exps (REF (exp, DYNLET, VALS), env),
+ memoize (REF (exp, DYNLET, BODY), env));
-static SCM
-scm_m_set_x (SCM expr, SCM env)
-{
- SCM variable;
- SCM vmem;
-
- const SCM cdr_expr = CDR (expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) >= 0, s_bad_expression, expr);
- ASSERT_SYNTAX (scm_ilength (cdr_expr) == 2, s_expression, expr);
- variable = CAR (cdr_expr);
- vmem = memoize (variable, env);
-
- switch (SCM_MEMOIZED_TAG (vmem))
- {
- case SCM_M_LEXICAL_REF:
- return MAKMEMO_LEX_SET (SCM_I_INUM (SCM_MEMOIZED_ARGS (vmem)),
- memoize (CADDR (expr), env));
- case SCM_M_TOPLEVEL_REF:
- return MAKMEMO_TOP_SET (variable,
- memoize (CADDR (expr), env));
- case SCM_M_MODULE_REF:
- return MAKMEMO_MOD_SET (memoize (CADDR (expr), env),
- CAR (SCM_MEMOIZED_ARGS (vmem)),
- CADR (SCM_MEMOIZED_ARGS (vmem)),
- CDDR (SCM_MEMOIZED_ARGS (vmem)));
default:
- syntax_error (s_bad_variable, variable, expr);
+ abort ();
}
}
@@ -1260,6 +404,8 @@ SCM_DEFINE (scm_memoize_expression, "memoize-expression",
1, 0, 0,
"Memoize the expression @var{exp}.")
#define FUNC_NAME s_scm_memoize_expression
{
+ if (!SCM_EXPANDED_P (exp))
+ exp = scm_macroexpand (exp);
return memoize (exp, scm_current_module ());
}
#undef FUNC_NAME
@@ -1334,167 +480,6 @@ static SCM m_prompt (SCM tag, SCM exp, SCM handler)
}
#undef FUNC_NAME
-SCM_DEFINE (scm_memoizer_p, "memoizer?", 1, 0, 0,
- (SCM x), "")
-{
- return scm_from_bool (SCM_MEMOIZER_P (x));
-}
-
-SCM_DEFINE (scm_memoizer, "memoizer", 1, 0, 0,
- (SCM memoizer), "")
-{
- SCM_ASSERT (SCM_MEMOIZER_P (memoizer), memoizer, 1, "memoizer?");
- return SCM_MEMOIZER (memoizer);
-}
-
-
-
-
-#define SCM_VALIDATE_MEMOIZED_LIST(n, exps) \
- { \
- SCM walk; \
- for (walk = exps; scm_is_pair (walk); walk = scm_cdr (walk)) \
- SCM_ASSERT (SCM_MEMOIZED_P (scm_car (walk)), exps, n, FUNC_NAME); \
- SCM_ASSERT (scm_is_null (walk), exps, n, FUNC_NAME); \
- }
-
-SCM_DEFINE (scm_memoize_begin, "memoize-begin", 1, 0, 0,
- (SCM exps), "")
-#define FUNC_NAME s_scm_memoize_begin
-{
- SCM_VALIDATE_MEMOIZED_LIST (1, exps);
- return MAKMEMO_BEGIN (exps);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_if, "memoize-if", 3, 0, 0,
- (SCM test, SCM then, SCM else_), "")
-#define FUNC_NAME s_scm_memoize_if
-{
- SCM_VALIDATE_MEMOIZED (1, test);
- SCM_VALIDATE_MEMOIZED (2, then);
- SCM_VALIDATE_MEMOIZED (3, else_);
- return MAKMEMO_IF (test, then, else_);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lambda, "memoize-lambda", 3, 0, 0,
- (SCM nreq, SCM rest, SCM body), "")
-#define FUNC_NAME s_scm_memoize_lambda
-{
- SCM_VALIDATE_BOOL (2, rest);
- SCM_VALIDATE_MEMOIZED (3, body);
- return MAKMEMO_LAMBDA (body, REST_ARITY (scm_to_uint16 (nreq), rest));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_let, "memoize-let", 2, 0, 0,
- (SCM inits, SCM body), "")
-#define FUNC_NAME s_scm_memoize_let
-{
- SCM_VALIDATE_MEMOIZED_LIST (1, inits);
- SCM_VALIDATE_MEMOIZED (2, body);
- return MAKMEMO_LET (inits, body);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_quote, "memoize-quote", 1, 0, 0,
- (SCM exp), "")
-#define FUNC_NAME s_scm_memoize_quote
-{
- return MAKMEMO_QUOTE (exp);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_define, "memoize-define", 2, 0, 0,
- (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_define
-{
- SCM_VALIDATE_SYMBOL (1, var);
- SCM_VALIDATE_MEMOIZED (2, val);
- return MAKMEMO_DEFINE (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_with_fluids, "memoize-with-fluids", 3, 0, 0,
- (SCM fluids, SCM vals, SCM expr), "")
-#define FUNC_NAME s_scm_memoize_with_fluids
-{
- SCM_VALIDATE_MEMOIZED_LIST (1, fluids);
- SCM_VALIDATE_MEMOIZED_LIST (2, vals);
- SCM_ASSERT (scm_ilength (fluids) == scm_ilength (vals), vals, 2, FUNC_NAME);
- SCM_VALIDATE_MEMOIZED (3, expr);
- return MAKMEMO_WITH_FLUIDS (fluids, vals, expr);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_call, "memoize-call", 3, 0, 0,
- (SCM proc, SCM nargs, SCM args), "")
-#define FUNC_NAME s_scm_memoize_call
-{
- SCM_VALIDATE_MEMOIZED (1, proc);
- SCM_VALIDATE_MEMOIZED_LIST (3, args);
- return MAKMEMO_CALL (proc, scm_to_uint16 (nargs), args);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_ref, "memoize-lexical-ref", 1, 0, 0,
- (SCM n), "")
-#define FUNC_NAME s_scm_memoize_lexical_ref
-{
- return MAKMEMO_LEX_REF (scm_to_uint16 (n));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_set, "memoize-lexical-set!", 2, 0, 0,
- (SCM n, SCM val), "")
-#define FUNC_NAME s_scm_memoize_lexical_set
-{
- SCM_VALIDATE_MEMOIZED (1, val);
- return MAKMEMO_LEX_SET (n, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_ref, "memoize-toplevel-ref", 1, 0, 0,
- (SCM var), "")
-#define FUNC_NAME s_scm_memoize_toplevel_ref
-{
- SCM_VALIDATE_SYMBOL (1, var);
- return MAKMEMO_TOP_REF (var);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_set, "memoize-toplevel-set!", 2, 0, 0,
- (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_toplevel_set
-{
- SCM_VALIDATE_SYMBOL (1, var);
- SCM_VALIDATE_MEMOIZED (2, val);
- return MAKMEMO_TOP_SET (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_ref, "memoize-module-ref", 3, 0, 0,
- (SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_ref
-{
- SCM_VALIDATE_SYMBOL (2, var);
- SCM_VALIDATE_BOOL (3, public);
- return MAKMEMO_MOD_REF (mod, var, public);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_set, "memoize-module-set!", 4, 0, 0,
- (SCM val, SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_set
-{
- SCM_VALIDATE_MEMOIZED (1, val);
- SCM_VALIDATE_SYMBOL (3, var);
- SCM_VALIDATE_BOOL (4, public);
- return MAKMEMO_MOD_SET (val, mod, var, public);
-}
-#undef FUNC_NAME
-
@@ -1820,6 +805,7 @@ scm_init_memoize ()
scm_c_define ("macroexpand",
scm_variable_ref (scm_c_lookup ("memoize-expression")));
+ list_of_guile = scm_list_1 (scm_from_locale_symbol ("guile"));
}
/*
diff --git a/libguile/memoize.h b/libguile/memoize.h
index c04031e..d4802a9 100644
--- a/libguile/memoize.h
+++ b/libguile/memoize.h
@@ -107,21 +107,6 @@ SCM_API SCM scm_memoized_p (SCM obj);
SCM_INTERNAL SCM scm_memoizer_p (SCM obj);
SCM_INTERNAL SCM scm_memoizer (SCM obj);
-SCM_INTERNAL SCM scm_memoize_begin (SCM exps);
-SCM_INTERNAL SCM scm_memoize_if (SCM test, SCM then, SCM else_);
-SCM_INTERNAL SCM scm_memoize_lambda (SCM nreq, SCM rest, SCM body);
-SCM_INTERNAL SCM scm_memoize_let (SCM inits, SCM body);
-SCM_INTERNAL SCM scm_memoize_quote (SCM exp);
-SCM_INTERNAL SCM scm_memoize_define (SCM var, SCM val);
-SCM_INTERNAL SCM scm_memoize_with_fluids (SCM fluids, SCM vals, SCM expr);
-SCM_INTERNAL SCM scm_memoize_call (SCM proc, SCM nargs, SCM args);
-SCM_INTERNAL SCM scm_memoize_lexical_ref (SCM n);
-SCM_INTERNAL SCM scm_memoize_lexical_set (SCM n, SCM val);
-SCM_INTERNAL SCM scm_memoize_toplevel_ref (SCM var);
-SCM_INTERNAL SCM scm_memoize_toplevel_set (SCM var, SCM val);
-SCM_INTERNAL SCM scm_memoize_module_ref (SCM mod, SCM var, SCM public);
-SCM_INTERNAL SCM scm_memoize_module_set (SCM val, SCM mod, SCM var, SCM
public);
-
SCM_INTERNAL void scm_init_memoize (void);
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index e6e5f17..460369e 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -223,7 +223,15 @@
(define (make-general-closure env body nreq rest? nopt kw inits alt)
(define alt-proc
(and alt
- (apply make-general-closure env (memoized-expression-data alt))))
+ (let* ((body (car alt))
+ (nreq (cadr alt))
+ (rest (if (null? (cddr alt)) #f (caddr alt)))
+ (tail (and (pair? (cddr alt)) (pair? (cdddr alt)) (cdddr
alt)))
+ (nopt (if tail (car tail) 0))
+ (kw (and tail (cadr tail)))
+ (inits (if tail (caddr tail) '()))
+ (alt (and tail (cadddr tail))))
+ (make-general-closure env body nreq rest nopt kw inits alt))))
(lambda %args
(let lp ((env env)
(nreq* nreq)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index f9ee8f8..8145801 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,643 +1,657 @@
(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
-(letrec ((#{and-map*\ 466}#
- (lambda (#{f\ 528}# #{first\ 529}# . #{rest\ 530}#)
- (let ((#{t\ 536}# (null? #{first\ 529}#)))
- (if #{t\ 536}#
- #{t\ 536}#
- (if (null? #{rest\ 530}#)
- (letrec ((#{andmap\ 540}#
- (lambda (#{first\ 541}#)
- (let ((#{x\ 544}# (car #{first\ 541}#))
- (#{first\ 545}# (cdr #{first\ 541}#)))
- (if (null? #{first\ 545}#)
- (#{f\ 528}# #{x\ 544}#)
- (if (#{f\ 528}# #{x\ 544}#)
- (#{andmap\ 540}# #{first\ 545}#)
+(letrec ((#{and-map*\ 12627}#
+ (lambda (#{f\ 12741}# #{first\ 12742}# . #{rest\ 12743}#)
+ (let ((#{t\ 12749}# (null? #{first\ 12742}#)))
+ (if #{t\ 12749}#
+ #{t\ 12749}#
+ (if (null? #{rest\ 12743}#)
+ (letrec ((#{andmap\ 12753}#
+ (lambda (#{first\ 12754}#)
+ (let ((#{x\ 12757}# (car #{first\ 12754}#))
+ (#{first\ 12758}#
+ (cdr #{first\ 12754}#)))
+ (if (null? #{first\ 12758}#)
+ (#{f\ 12741}# #{x\ 12757}#)
+ (if (#{f\ 12741}# #{x\ 12757}#)
+ (#{andmap\ 12753}# #{first\ 12758}#)
#f))))))
- (#{andmap\ 540}# #{first\ 529}#))
- (letrec ((#{andmap\ 551}#
- (lambda (#{first\ 552}# #{rest\ 553}#)
- (let ((#{x\ 558}# (car #{first\ 552}#))
- (#{xr\ 559}# (map car #{rest\ 553}#))
- (#{first\ 560}# (cdr #{first\ 552}#))
- (#{rest\ 561}# (map cdr #{rest\ 553}#)))
- (if (null? #{first\ 560}#)
- (apply #{f\ 528}#
- (cons #{x\ 558}# #{xr\ 559}#))
- (if (apply #{f\ 528}#
- (cons #{x\ 558}# #{xr\ 559}#))
- (#{andmap\ 551}#
- #{first\ 560}#
- #{rest\ 561}#)
+ (#{andmap\ 12753}# #{first\ 12742}#))
+ (letrec ((#{andmap\ 12764}#
+ (lambda (#{first\ 12765}# #{rest\ 12766}#)
+ (let ((#{x\ 12771}# (car #{first\ 12765}#))
+ (#{xr\ 12772}# (map car #{rest\ 12766}#))
+ (#{first\ 12773}# (cdr #{first\ 12765}#))
+ (#{rest\ 12774}#
+ (map cdr #{rest\ 12766}#)))
+ (if (null? #{first\ 12773}#)
+ (apply #{f\ 12741}#
+ (cons #{x\ 12771}# #{xr\ 12772}#))
+ (if (apply #{f\ 12741}#
+ (cons #{x\ 12771}#
+ #{xr\ 12772}#))
+ (#{andmap\ 12764}#
+ #{first\ 12773}#
+ #{rest\ 12774}#)
#f))))))
- (#{andmap\ 551}# #{first\ 529}# #{rest\ 530}#))))))))
- (letrec ((#{lambda-var-list\ 781}#
- (lambda (#{vars\ 996}#)
- (letrec ((#{lvl\ 1002}#
- (lambda (#{vars\ 1003}# #{ls\ 1004}# #{w\ 1005}#)
- (if (pair? #{vars\ 1003}#)
- (#{lvl\ 1002}#
- (cdr #{vars\ 1003}#)
- (cons (#{wrap\ 735}#
- (car #{vars\ 1003}#)
- #{w\ 1005}#
+ (#{andmap\ 12764}#
+ #{first\ 12742}#
+ #{rest\ 12743}#))))))))
+ (letrec ((#{lambda-var-list\ 13031}#
+ (lambda (#{vars\ 13246}#)
+ (letrec ((#{lvl\ 13252}#
+ (lambda (#{vars\ 13253}# #{ls\ 13254}# #{w\ 13255}#)
+ (if (pair? #{vars\ 13253}#)
+ (#{lvl\ 13252}#
+ (cdr #{vars\ 13253}#)
+ (cons (#{wrap\ 12985}#
+ (car #{vars\ 13253}#)
+ #{w\ 13255}#
#f)
- #{ls\ 1004}#)
- #{w\ 1005}#)
- (if (#{id?\ 666}# #{vars\ 1003}#)
- (cons (#{wrap\ 735}#
- #{vars\ 1003}#
- #{w\ 1005}#
+ #{ls\ 13254}#)
+ #{w\ 13255}#)
+ (if (#{id?\ 12916}# #{vars\ 13253}#)
+ (cons (#{wrap\ 12985}#
+ #{vars\ 13253}#
+ #{w\ 13255}#
#f)
- #{ls\ 1004}#)
- (if (null? #{vars\ 1003}#)
- #{ls\ 1004}#
- (if (#{syntax-object?\ 630}# #{vars\ 1003}#)
- (#{lvl\ 1002}#
- (#{syntax-object-expression\ 632}#
- #{vars\ 1003}#)
- #{ls\ 1004}#
- (#{join-wraps\ 717}#
- #{w\ 1005}#
- (#{syntax-object-wrap\ 634}#
- #{vars\ 1003}#)))
- (cons #{vars\ 1003}# #{ls\ 1004}#))))))))
- (#{lvl\ 1002}#
- #{vars\ 996}#
+ #{ls\ 13254}#)
+ (if (null? #{vars\ 13253}#)
+ #{ls\ 13254}#
+ (if (#{syntax-object?\ 12880}#
+ #{vars\ 13253}#)
+ (#{lvl\ 13252}#
+ (#{syntax-object-expression\ 12882}#
+ #{vars\ 13253}#)
+ #{ls\ 13254}#
+ (#{join-wraps\ 12967}#
+ #{w\ 13255}#
+ (#{syntax-object-wrap\ 12884}#
+ #{vars\ 13253}#)))
+ (cons #{vars\ 13253}# #{ls\ 13254}#))))))))
+ (#{lvl\ 13252}#
+ #{vars\ 13246}#
'()
'(())))))
- (#{gen-var\ 779}#
- (lambda (#{id\ 1016}#)
- (let ((#{id\ 1019}#
- (if (#{syntax-object?\ 630}# #{id\ 1016}#)
- (#{syntax-object-expression\ 632}# #{id\ 1016}#)
- #{id\ 1016}#)))
+ (#{gen-var\ 13029}#
+ (lambda (#{id\ 13266}#)
+ (let ((#{id\ 13269}#
+ (if (#{syntax-object?\ 12880}# #{id\ 13266}#)
+ (#{syntax-object-expression\ 12882}#
+ #{id\ 13266}#)
+ #{id\ 13266}#)))
(gensym
- (string-append (symbol->string #{id\ 1019}#) " ")))))
- (#{strip\ 777}#
- (lambda (#{x\ 1021}# #{w\ 1022}#)
+ (string-append
+ (symbol->string #{id\ 13269}#)
+ " ")))))
+ (#{strip\ 13027}#
+ (lambda (#{x\ 13271}# #{w\ 13272}#)
(if (memq 'top
- (#{wrap-marks\ 673}# #{w\ 1022}#))
- #{x\ 1021}#
- (letrec ((#{f\ 1028}#
- (lambda (#{x\ 1029}#)
- (if (#{syntax-object?\ 630}# #{x\ 1029}#)
- (#{strip\ 777}#
- (#{syntax-object-expression\ 632}#
- #{x\ 1029}#)
- (#{syntax-object-wrap\ 634}# #{x\ 1029}#))
- (if (pair? #{x\ 1029}#)
- (let ((#{a\ 1036}#
- (#{f\ 1028}# (car #{x\ 1029}#)))
- (#{d\ 1037}#
- (#{f\ 1028}# (cdr #{x\ 1029}#))))
- (if (if (eq? #{a\ 1036}# (car #{x\ 1029}#))
- (eq? #{d\ 1037}# (cdr #{x\ 1029}#))
+ (#{wrap-marks\ 12923}# #{w\ 13272}#))
+ #{x\ 13271}#
+ (letrec ((#{f\ 13278}#
+ (lambda (#{x\ 13279}#)
+ (if (#{syntax-object?\ 12880}# #{x\ 13279}#)
+ (#{strip\ 13027}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 13279}#)
+ (#{syntax-object-wrap\ 12884}# #{x\ 13279}#))
+ (if (pair? #{x\ 13279}#)
+ (let ((#{a\ 13286}#
+ (#{f\ 13278}# (car #{x\ 13279}#)))
+ (#{d\ 13287}#
+ (#{f\ 13278}# (cdr #{x\ 13279}#))))
+ (if (if (eq? #{a\ 13286}#
+ (car #{x\ 13279}#))
+ (eq? #{d\ 13287}# (cdr #{x\ 13279}#))
#f)
- #{x\ 1029}#
- (cons #{a\ 1036}# #{d\ 1037}#)))
- (if (vector? #{x\ 1029}#)
- (let ((#{old\ 1043}#
- (vector->list #{x\ 1029}#)))
- (let ((#{new\ 1045}#
- (map #{f\ 1028}# #{old\ 1043}#)))
- (if (#{and-map*\ 466}#
+ #{x\ 13279}#
+ (cons #{a\ 13286}# #{d\ 13287}#)))
+ (if (vector? #{x\ 13279}#)
+ (let ((#{old\ 13293}#
+ (vector->list #{x\ 13279}#)))
+ (let ((#{new\ 13295}#
+ (map #{f\ 13278}#
+ #{old\ 13293}#)))
+ (if (#{and-map*\ 12627}#
eq?
- #{old\ 1043}#
- #{new\ 1045}#)
- #{x\ 1029}#
- (list->vector #{new\ 1045}#))))
- #{x\ 1029}#))))))
- (#{f\ 1028}# #{x\ 1021}#)))))
- (#{chi-lambda-case\ 775}#
- (lambda (#{e\ 1047}#
- #{r\ 1048}#
- #{w\ 1049}#
- #{s\ 1050}#
- #{mod\ 1051}#
- #{get-formals\ 1052}#
- #{clauses\ 1053}#)
- (letrec ((#{expand-body\ 1068}#
- (lambda (#{req\ 1069}#
- #{opt\ 1070}#
- #{rest\ 1071}#
- #{kw\ 1072}#
- #{body\ 1073}#
- #{vars\ 1074}#
- #{r*\ 1075}#
- #{w*\ 1076}#
- #{inits\ 1077}#
- #{meta\ 1078}#)
- ((lambda (#{tmp\ 1089}#)
- ((lambda (#{tmp\ 1090}#)
- (if (if #{tmp\ 1090}#
- (apply (lambda (#{docstring\ 1094}#
- #{e1\ 1095}#
- #{e2\ 1096}#)
+ #{old\ 13293}#
+ #{new\ 13295}#)
+ #{x\ 13279}#
+ (list->vector #{new\ 13295}#))))
+ #{x\ 13279}#))))))
+ (#{f\ 13278}# #{x\ 13271}#)))))
+ (#{chi-lambda-case\ 13025}#
+ (lambda (#{e\ 13297}#
+ #{r\ 13298}#
+ #{w\ 13299}#
+ #{s\ 13300}#
+ #{mod\ 13301}#
+ #{get-formals\ 13302}#
+ #{clauses\ 13303}#)
+ (letrec ((#{expand-body\ 13318}#
+ (lambda (#{req\ 13319}#
+ #{opt\ 13320}#
+ #{rest\ 13321}#
+ #{kw\ 13322}#
+ #{body\ 13323}#
+ #{vars\ 13324}#
+ #{r*\ 13325}#
+ #{w*\ 13326}#
+ #{inits\ 13327}#
+ #{meta\ 13328}#)
+ ((lambda (#{tmp\ 13339}#)
+ ((lambda (#{tmp\ 13340}#)
+ (if (if #{tmp\ 13340}#
+ (apply (lambda (#{docstring\ 13344}#
+ #{e1\ 13345}#
+ #{e2\ 13346}#)
(string?
(syntax->datum
- #{docstring\ 1094}#)))
- #{tmp\ 1090}#)
+ #{docstring\ 13344}#)))
+ #{tmp\ 13340}#)
#f)
- (apply (lambda (#{docstring\ 1100}#
- #{e1\ 1101}#
- #{e2\ 1102}#)
- (#{expand-body\ 1068}#
- #{req\ 1069}#
- #{opt\ 1070}#
- #{rest\ 1071}#
- #{kw\ 1072}#
- (cons #{e1\ 1101}# #{e2\ 1102}#)
- #{vars\ 1074}#
- #{r*\ 1075}#
- #{w*\ 1076}#
- #{inits\ 1077}#
+ (apply (lambda (#{docstring\ 13350}#
+ #{e1\ 13351}#
+ #{e2\ 13352}#)
+ (#{expand-body\ 13318}#
+ #{req\ 13319}#
+ #{opt\ 13320}#
+ #{rest\ 13321}#
+ #{kw\ 13322}#
+ (cons #{e1\ 13351}#
+ #{e2\ 13352}#)
+ #{vars\ 13324}#
+ #{r*\ 13325}#
+ #{w*\ 13326}#
+ #{inits\ 13327}#
(append
- #{meta\ 1078}#
+ #{meta\ 13328}#
(list (cons 'documentation
(syntax->datum
- #{docstring\
1100}#))))))
- #{tmp\ 1090}#)
- ((lambda (#{tmp\ 1105}#)
- (if #{tmp\ 1105}#
- (apply (lambda (#{k\ 1110}#
- #{v\ 1111}#
- #{e1\ 1112}#
- #{e2\ 1113}#)
- (#{expand-body\ 1068}#
- #{req\ 1069}#
- #{opt\ 1070}#
- #{rest\ 1071}#
- #{kw\ 1072}#
- (cons #{e1\ 1112}#
- #{e2\ 1113}#)
- #{vars\ 1074}#
- #{r*\ 1075}#
- #{w*\ 1076}#
- #{inits\ 1077}#
+ #{docstring\
13350}#))))))
+ #{tmp\ 13340}#)
+ ((lambda (#{tmp\ 13355}#)
+ (if #{tmp\ 13355}#
+ (apply (lambda (#{k\ 13360}#
+ #{v\ 13361}#
+ #{e1\ 13362}#
+ #{e2\ 13363}#)
+ (#{expand-body\ 13318}#
+ #{req\ 13319}#
+ #{opt\ 13320}#
+ #{rest\ 13321}#
+ #{kw\ 13322}#
+ (cons #{e1\ 13362}#
+ #{e2\ 13363}#)
+ #{vars\ 13324}#
+ #{r*\ 13325}#
+ #{w*\ 13326}#
+ #{inits\ 13327}#
(append
- #{meta\ 1078}#
+ #{meta\ 13328}#
(syntax->datum
(map cons
- #{k\ 1110}#
- #{v\ 1111}#)))))
- #{tmp\ 1105}#)
- ((lambda (#{tmp\ 1117}#)
- (if #{tmp\ 1117}#
- (apply (lambda (#{e1\ 1120}#
- #{e2\ 1121}#)
+ #{k\ 13360}#
+ #{v\ 13361}#)))))
+ #{tmp\ 13355}#)
+ ((lambda (#{tmp\ 13367}#)
+ (if #{tmp\ 13367}#
+ (apply (lambda (#{e1\ 13370}#
+ #{e2\ 13371}#)
(values
- #{meta\ 1078}#
- #{req\ 1069}#
- #{opt\ 1070}#
- #{rest\ 1071}#
- #{kw\ 1072}#
- #{inits\ 1077}#
- #{vars\ 1074}#
- (#{chi-body\ 759}#
- (cons #{e1\ 1120}#
- #{e2\ 1121}#)
- (#{source-wrap\
737}#
- #{e\ 1047}#
- #{w\ 1049}#
- #{s\ 1050}#
- #{mod\ 1051}#)
- #{r*\ 1075}#
- #{w*\ 1076}#
- #{mod\ 1051}#)))
- #{tmp\ 1117}#)
+ #{meta\ 13328}#
+ #{req\ 13319}#
+ #{opt\ 13320}#
+ #{rest\ 13321}#
+ #{kw\ 13322}#
+ #{inits\ 13327}#
+ #{vars\ 13324}#
+ (#{chi-body\ 13009}#
+ (cons #{e1\ 13370}#
+ #{e2\ 13371}#)
+ (#{source-wrap\
12987}#
+ #{e\ 13297}#
+ #{w\ 13299}#
+ #{s\ 13300}#
+ #{mod\ 13301}#)
+ #{r*\ 13325}#
+ #{w*\ 13326}#
+ #{mod\ 13301}#)))
+ #{tmp\ 13367}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 1089}#)))
+ #{tmp\ 13339}#)))
($sc-dispatch
- #{tmp\ 1089}#
+ #{tmp\ 13339}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 1089}#
+ #{tmp\ 13339}#
'(#(vector #(each (any . any)))
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 1089}#
+ #{tmp\ 13339}#
'(any any . each-any))))
- #{body\ 1073}#)))
- (#{expand-kw\ 1066}#
- (lambda (#{req\ 1123}#
- #{opt\ 1124}#
- #{rest\ 1125}#
- #{kw\ 1126}#
- #{body\ 1127}#
- #{vars\ 1128}#
- #{r*\ 1129}#
- #{w*\ 1130}#
- #{aok\ 1131}#
- #{out\ 1132}#
- #{inits\ 1133}#)
- (if (pair? #{kw\ 1126}#)
- ((lambda (#{tmp\ 1147}#)
- ((lambda (#{tmp\ 1148}#)
- (if #{tmp\ 1148}#
- (apply (lambda (#{k\ 1152}#
- #{id\ 1153}#
- #{i\ 1154}#)
- (let ((#{v\ 1157}#
- (#{gen-var\ 779}#
- #{id\ 1153}#)))
- (let ((#{l\ 1159}#
- (#{gen-labels\ 684}#
- (list #{v\
1157}#))))
- (let ((#{r**\ 1161}#
- (#{extend-var-env\
656}#
- #{l\ 1159}#
- (list #{v\ 1157}#)
- #{r*\ 1129}#)))
- (let ((#{w**\ 1163}#
-
(#{make-binding-wrap\ 713}#
- (list #{id\
1153}#)
- #{l\ 1159}#
- #{w*\ 1130}#)))
- (#{expand-kw\ 1066}#
- #{req\ 1123}#
- #{opt\ 1124}#
- #{rest\ 1125}#
- (cdr #{kw\ 1126}#)
- #{body\ 1127}#
- (cons #{v\ 1157}#
- #{vars\ 1128}#)
- #{r**\ 1161}#
- #{w**\ 1163}#
- #{aok\ 1131}#
+ #{body\ 13323}#)))
+ (#{expand-kw\ 13316}#
+ (lambda (#{req\ 13373}#
+ #{opt\ 13374}#
+ #{rest\ 13375}#
+ #{kw\ 13376}#
+ #{body\ 13377}#
+ #{vars\ 13378}#
+ #{r*\ 13379}#
+ #{w*\ 13380}#
+ #{aok\ 13381}#
+ #{out\ 13382}#
+ #{inits\ 13383}#)
+ (if (pair? #{kw\ 13376}#)
+ ((lambda (#{tmp\ 13397}#)
+ ((lambda (#{tmp\ 13398}#)
+ (if #{tmp\ 13398}#
+ (apply (lambda (#{k\ 13402}#
+ #{id\ 13403}#
+ #{i\ 13404}#)
+ (let ((#{v\ 13407}#
+ (#{gen-var\ 13029}#
+ #{id\ 13403}#)))
+ (let ((#{l\ 13409}#
+ (#{gen-labels\ 12934}#
+ (list #{v\
13407}#))))
+ (let ((#{r**\ 13411}#
+ (#{extend-var-env\
12906}#
+ #{l\ 13409}#
+ (list #{v\
13407}#)
+ #{r*\ 13379}#)))
+ (let ((#{w**\ 13413}#
+
(#{make-binding-wrap\ 12963}#
+ (list #{id\
13403}#)
+ #{l\ 13409}#
+ #{w*\ 13380}#)))
+ (#{expand-kw\ 13316}#
+ #{req\ 13373}#
+ #{opt\ 13374}#
+ #{rest\ 13375}#
+ (cdr #{kw\ 13376}#)
+ #{body\ 13377}#
+ (cons #{v\ 13407}#
+ #{vars\ 13378}#)
+ #{r**\ 13411}#
+ #{w**\ 13413}#
+ #{aok\ 13381}#
(cons (list
(syntax->datum
- #{k\
1152}#)
+ #{k\
13402}#)
(syntax->datum
- #{id\
1153}#)
- #{v\
1157}#)
- #{out\ 1132}#)
- (cons (#{chi\ 751}#
- #{i\ 1154}#
- #{r*\ 1129}#
- #{w*\ 1130}#
- #{mod\ 1051}#)
- #{inits\
1133}#)))))))
- #{tmp\ 1148}#)
+ #{id\
13403}#)
+ #{v\
13407}#)
+ #{out\ 13382}#)
+ (cons (#{chi\ 13001}#
+ #{i\ 13404}#
+ #{r*\ 13379}#
+ #{w*\ 13380}#
+ #{mod\
13301}#)
+ #{inits\
13383}#)))))))
+ #{tmp\ 13398}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1147}#)))
+ #{tmp\ 13397}#)))
($sc-dispatch
- #{tmp\ 1147}#
+ #{tmp\ 13397}#
'(any any any))))
- (car #{kw\ 1126}#))
- (#{expand-body\ 1068}#
- #{req\ 1123}#
- #{opt\ 1124}#
- #{rest\ 1125}#
- (if (let ((#{t\ 1167}# #{aok\ 1131}#))
- (if #{t\ 1167}#
- #{t\ 1167}#
- (pair? #{out\ 1132}#)))
- (cons #{aok\ 1131}# (reverse #{out\ 1132}#))
+ (car #{kw\ 13376}#))
+ (#{expand-body\ 13318}#
+ #{req\ 13373}#
+ #{opt\ 13374}#
+ #{rest\ 13375}#
+ (if (let ((#{t\ 13417}# #{aok\ 13381}#))
+ (if #{t\ 13417}#
+ #{t\ 13417}#
+ (pair? #{out\ 13382}#)))
+ (cons #{aok\ 13381}#
+ (reverse #{out\ 13382}#))
#f)
- #{body\ 1127}#
- (reverse #{vars\ 1128}#)
- #{r*\ 1129}#
- #{w*\ 1130}#
- (reverse #{inits\ 1133}#)
+ #{body\ 13377}#
+ (reverse #{vars\ 13378}#)
+ #{r*\ 13379}#
+ #{w*\ 13380}#
+ (reverse #{inits\ 13383}#)
'()))))
- (#{expand-opt\ 1064}#
- (lambda (#{req\ 1169}#
- #{opt\ 1170}#
- #{rest\ 1171}#
- #{kw\ 1172}#
- #{body\ 1173}#
- #{vars\ 1174}#
- #{r*\ 1175}#
- #{w*\ 1176}#
- #{out\ 1177}#
- #{inits\ 1178}#)
- (if (pair? #{opt\ 1170}#)
- ((lambda (#{tmp\ 1191}#)
- ((lambda (#{tmp\ 1192}#)
- (if #{tmp\ 1192}#
- (apply (lambda (#{id\ 1195}# #{i\ 1196}#)
- (let ((#{v\ 1199}#
- (#{gen-var\ 779}#
- #{id\ 1195}#)))
- (let ((#{l\ 1201}#
- (#{gen-labels\ 684}#
- (list #{v\
1199}#))))
- (let ((#{r**\ 1203}#
- (#{extend-var-env\
656}#
- #{l\ 1201}#
- (list #{v\ 1199}#)
- #{r*\ 1175}#)))
- (let ((#{w**\ 1205}#
-
(#{make-binding-wrap\ 713}#
- (list #{id\
1195}#)
- #{l\ 1201}#
- #{w*\ 1176}#)))
- (#{expand-opt\ 1064}#
- #{req\ 1169}#
- (cdr #{opt\ 1170}#)
- #{rest\ 1171}#
- #{kw\ 1172}#
- #{body\ 1173}#
- (cons #{v\ 1199}#
- #{vars\ 1174}#)
- #{r**\ 1203}#
- #{w**\ 1205}#
+ (#{expand-opt\ 13314}#
+ (lambda (#{req\ 13419}#
+ #{opt\ 13420}#
+ #{rest\ 13421}#
+ #{kw\ 13422}#
+ #{body\ 13423}#
+ #{vars\ 13424}#
+ #{r*\ 13425}#
+ #{w*\ 13426}#
+ #{out\ 13427}#
+ #{inits\ 13428}#)
+ (if (pair? #{opt\ 13420}#)
+ ((lambda (#{tmp\ 13441}#)
+ ((lambda (#{tmp\ 13442}#)
+ (if #{tmp\ 13442}#
+ (apply (lambda (#{id\ 13445}#
+ #{i\ 13446}#)
+ (let ((#{v\ 13449}#
+ (#{gen-var\ 13029}#
+ #{id\ 13445}#)))
+ (let ((#{l\ 13451}#
+ (#{gen-labels\ 12934}#
+ (list #{v\
13449}#))))
+ (let ((#{r**\ 13453}#
+ (#{extend-var-env\
12906}#
+ #{l\ 13451}#
+ (list #{v\
13449}#)
+ #{r*\ 13425}#)))
+ (let ((#{w**\ 13455}#
+
(#{make-binding-wrap\ 12963}#
+ (list #{id\
13445}#)
+ #{l\ 13451}#
+ #{w*\ 13426}#)))
+ (#{expand-opt\ 13314}#
+ #{req\ 13419}#
+ (cdr #{opt\ 13420}#)
+ #{rest\ 13421}#
+ #{kw\ 13422}#
+ #{body\ 13423}#
+ (cons #{v\ 13449}#
+ #{vars\ 13424}#)
+ #{r**\ 13453}#
+ #{w**\ 13455}#
(cons (syntax->datum
- #{id\ 1195}#)
- #{out\ 1177}#)
- (cons (#{chi\ 751}#
- #{i\ 1196}#
- #{r*\ 1175}#
- #{w*\ 1176}#
- #{mod\ 1051}#)
- #{inits\
1178}#)))))))
- #{tmp\ 1192}#)
+ #{id\ 13445}#)
+ #{out\ 13427}#)
+ (cons (#{chi\ 13001}#
+ #{i\ 13446}#
+ #{r*\ 13425}#
+ #{w*\ 13426}#
+ #{mod\
13301}#)
+ #{inits\
13428}#)))))))
+ #{tmp\ 13442}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1191}#)))
+ #{tmp\ 13441}#)))
($sc-dispatch
- #{tmp\ 1191}#
+ #{tmp\ 13441}#
'(any any))))
- (car #{opt\ 1170}#))
- (if #{rest\ 1171}#
- (let ((#{v\ 1210}#
- (#{gen-var\ 779}# #{rest\ 1171}#)))
- (let ((#{l\ 1212}#
- (#{gen-labels\ 684}#
- (list #{v\ 1210}#))))
- (let ((#{r*\ 1214}#
- (#{extend-var-env\ 656}#
- #{l\ 1212}#
- (list #{v\ 1210}#)
- #{r*\ 1175}#)))
- (let ((#{w*\ 1216}#
- (#{make-binding-wrap\ 713}#
- (list #{rest\ 1171}#)
- #{l\ 1212}#
- #{w*\ 1176}#)))
- (#{expand-kw\ 1066}#
- #{req\ 1169}#
- (if (pair? #{out\ 1177}#)
- (reverse #{out\ 1177}#)
+ (car #{opt\ 13420}#))
+ (if #{rest\ 13421}#
+ (let ((#{v\ 13460}#
+ (#{gen-var\ 13029}# #{rest\ 13421}#)))
+ (let ((#{l\ 13462}#
+ (#{gen-labels\ 12934}#
+ (list #{v\ 13460}#))))
+ (let ((#{r*\ 13464}#
+ (#{extend-var-env\ 12906}#
+ #{l\ 13462}#
+ (list #{v\ 13460}#)
+ #{r*\ 13425}#)))
+ (let ((#{w*\ 13466}#
+ (#{make-binding-wrap\ 12963}#
+ (list #{rest\ 13421}#)
+ #{l\ 13462}#
+ #{w*\ 13426}#)))
+ (#{expand-kw\ 13316}#
+ #{req\ 13419}#
+ (if (pair? #{out\ 13427}#)
+ (reverse #{out\ 13427}#)
#f)
- (syntax->datum #{rest\ 1171}#)
- (if (pair? #{kw\ 1172}#)
- (cdr #{kw\ 1172}#)
- #{kw\ 1172}#)
- #{body\ 1173}#
- (cons #{v\ 1210}# #{vars\ 1174}#)
- #{r*\ 1214}#
- #{w*\ 1216}#
- (if (pair? #{kw\ 1172}#)
- (car #{kw\ 1172}#)
+ (syntax->datum #{rest\ 13421}#)
+ (if (pair? #{kw\ 13422}#)
+ (cdr #{kw\ 13422}#)
+ #{kw\ 13422}#)
+ #{body\ 13423}#
+ (cons #{v\ 13460}# #{vars\ 13424}#)
+ #{r*\ 13464}#
+ #{w*\ 13466}#
+ (if (pair? #{kw\ 13422}#)
+ (car #{kw\ 13422}#)
#f)
'()
- #{inits\ 1178}#)))))
- (#{expand-kw\ 1066}#
- #{req\ 1169}#
- (if (pair? #{out\ 1177}#)
- (reverse #{out\ 1177}#)
+ #{inits\ 13428}#)))))
+ (#{expand-kw\ 13316}#
+ #{req\ 13419}#
+ (if (pair? #{out\ 13427}#)
+ (reverse #{out\ 13427}#)
#f)
#f
- (if (pair? #{kw\ 1172}#)
- (cdr #{kw\ 1172}#)
- #{kw\ 1172}#)
- #{body\ 1173}#
- #{vars\ 1174}#
- #{r*\ 1175}#
- #{w*\ 1176}#
- (if (pair? #{kw\ 1172}#)
- (car #{kw\ 1172}#)
+ (if (pair? #{kw\ 13422}#)
+ (cdr #{kw\ 13422}#)
+ #{kw\ 13422}#)
+ #{body\ 13423}#
+ #{vars\ 13424}#
+ #{r*\ 13425}#
+ #{w*\ 13426}#
+ (if (pair? #{kw\ 13422}#)
+ (car #{kw\ 13422}#)
#f)
'()
- #{inits\ 1178}#)))))
- (#{expand-req\ 1062}#
- (lambda (#{req\ 1218}#
- #{opt\ 1219}#
- #{rest\ 1220}#
- #{kw\ 1221}#
- #{body\ 1222}#)
- (let ((#{vars\ 1230}#
- (map #{gen-var\ 779}# #{req\ 1218}#))
- (#{labels\ 1231}#
- (#{gen-labels\ 684}# #{req\ 1218}#)))
- (let ((#{r*\ 1234}#
- (#{extend-var-env\ 656}#
- #{labels\ 1231}#
- #{vars\ 1230}#
- #{r\ 1048}#))
- (#{w*\ 1235}#
- (#{make-binding-wrap\ 713}#
- #{req\ 1218}#
- #{labels\ 1231}#
- #{w\ 1049}#)))
- (#{expand-opt\ 1064}#
- (map syntax->datum #{req\ 1218}#)
- #{opt\ 1219}#
- #{rest\ 1220}#
- #{kw\ 1221}#
- #{body\ 1222}#
- (reverse #{vars\ 1230}#)
- #{r*\ 1234}#
- #{w*\ 1235}#
+ #{inits\ 13428}#)))))
+ (#{expand-req\ 13312}#
+ (lambda (#{req\ 13468}#
+ #{opt\ 13469}#
+ #{rest\ 13470}#
+ #{kw\ 13471}#
+ #{body\ 13472}#)
+ (let ((#{vars\ 13480}#
+ (map #{gen-var\ 13029}# #{req\ 13468}#))
+ (#{labels\ 13481}#
+ (#{gen-labels\ 12934}# #{req\ 13468}#)))
+ (let ((#{r*\ 13484}#
+ (#{extend-var-env\ 12906}#
+ #{labels\ 13481}#
+ #{vars\ 13480}#
+ #{r\ 13298}#))
+ (#{w*\ 13485}#
+ (#{make-binding-wrap\ 12963}#
+ #{req\ 13468}#
+ #{labels\ 13481}#
+ #{w\ 13299}#)))
+ (#{expand-opt\ 13314}#
+ (map syntax->datum #{req\ 13468}#)
+ #{opt\ 13469}#
+ #{rest\ 13470}#
+ #{kw\ 13471}#
+ #{body\ 13472}#
+ (reverse #{vars\ 13480}#)
+ #{r*\ 13484}#
+ #{w*\ 13485}#
'()
'()))))))
- ((lambda (#{tmp\ 1236}#)
- ((lambda (#{tmp\ 1237}#)
- (if #{tmp\ 1237}#
+ ((lambda (#{tmp\ 13486}#)
+ ((lambda (#{tmp\ 13487}#)
+ (if #{tmp\ 13487}#
(apply (lambda () (values (quote ()) #f))
- #{tmp\ 1237}#)
- ((lambda (#{tmp\ 1238}#)
- (if #{tmp\ 1238}#
- (apply (lambda (#{args\ 1245}#
- #{e1\ 1246}#
- #{e2\ 1247}#
- #{args*\ 1248}#
- #{e1*\ 1249}#
- #{e2*\ 1250}#)
+ #{tmp\ 13487}#)
+ ((lambda (#{tmp\ 13488}#)
+ (if #{tmp\ 13488}#
+ (apply (lambda (#{args\ 13495}#
+ #{e1\ 13496}#
+ #{e2\ 13497}#
+ #{args*\ 13498}#
+ #{e1*\ 13499}#
+ #{e2*\ 13500}#)
(call-with-values
(lambda ()
- (#{get-formals\ 1052}#
- #{args\ 1245}#))
- (lambda (#{req\ 1251}#
- #{opt\ 1252}#
- #{rest\ 1253}#
- #{kw\ 1254}#)
+ (#{get-formals\ 13302}#
+ #{args\ 13495}#))
+ (lambda (#{req\ 13501}#
+ #{opt\ 13502}#
+ #{rest\ 13503}#
+ #{kw\ 13504}#)
(call-with-values
(lambda ()
- (#{expand-req\ 1062}#
- #{req\ 1251}#
- #{opt\ 1252}#
- #{rest\ 1253}#
- #{kw\ 1254}#
- (cons #{e1\ 1246}#
- #{e2\ 1247}#)))
- (lambda (#{meta\ 1260}#
- #{req\ 1261}#
- #{opt\ 1262}#
- #{rest\ 1263}#
- #{kw\ 1264}#
- #{inits\ 1265}#
- #{vars\ 1266}#
- #{body\ 1267}#)
+ (#{expand-req\ 13312}#
+ #{req\ 13501}#
+ #{opt\ 13502}#
+ #{rest\ 13503}#
+ #{kw\ 13504}#
+ (cons #{e1\ 13496}#
+ #{e2\ 13497}#)))
+ (lambda (#{meta\ 13510}#
+ #{req\ 13511}#
+ #{opt\ 13512}#
+ #{rest\ 13513}#
+ #{kw\ 13514}#
+ #{inits\ 13515}#
+ #{vars\ 13516}#
+ #{body\ 13517}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 775}#
- #{e\ 1047}#
- #{r\ 1048}#
- #{w\ 1049}#
- #{s\ 1050}#
- #{mod\ 1051}#
- #{get-formals\ 1052}#
- (map (lambda (#{tmp\
1278}#
- #{tmp\
1277}#
- #{tmp\
1276}#)
- (cons #{tmp\ 1276}#
- (cons #{tmp\
1277}#
- #{tmp\
1278}#)))
- #{e2*\ 1250}#
- #{e1*\ 1249}#
- #{args*\ 1248}#)))
- (lambda (#{meta*\ 1280}#
- #{else*\ 1281}#)
+ (#{chi-lambda-case\ 13025}#
+ #{e\ 13297}#
+ #{r\ 13298}#
+ #{w\ 13299}#
+ #{s\ 13300}#
+ #{mod\ 13301}#
+ #{get-formals\ 13302}#
+ (map (lambda (#{tmp\
13528}#
+ #{tmp\
13527}#
+ #{tmp\
13526}#)
+ (cons #{tmp\
13526}#
+ (cons #{tmp\
13527}#
+ #{tmp\
13528}#)))
+ #{e2*\ 13500}#
+ #{e1*\ 13499}#
+ #{args*\ 13498}#)))
+ (lambda (#{meta*\ 13530}#
+ #{else*\ 13531}#)
(values
(append
- #{meta\ 1260}#
- #{meta*\ 1280}#)
- (#{build-lambda-case\
612}#
- #{s\ 1050}#
- #{req\ 1261}#
- #{opt\ 1262}#
- #{rest\ 1263}#
- #{kw\ 1264}#
- #{inits\ 1265}#
- #{vars\ 1266}#
- #{body\ 1267}#
- #{else*\ 1281}#)))))))))
- #{tmp\ 1238}#)
+ #{meta\ 13510}#
+ #{meta*\ 13530}#)
+ (#{build-lambda-case\
12862}#
+ #{s\ 13300}#
+ #{req\ 13511}#
+ #{opt\ 13512}#
+ #{rest\ 13513}#
+ #{kw\ 13514}#
+ #{inits\ 13515}#
+ #{vars\ 13516}#
+ #{body\ 13517}#
+ #{else*\
13531}#)))))))))
+ #{tmp\ 13488}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1236}#)))
+ #{tmp\ 13486}#)))
($sc-dispatch
- #{tmp\ 1236}#
+ #{tmp\ 13486}#
'((any any . each-any)
.
#(each (any any . each-any)))))))
- ($sc-dispatch #{tmp\ 1236}# (quote ()))))
- #{clauses\ 1053}#))))
- (#{lambda*-formals\ 773}#
- (lambda (#{orig-args\ 1284}#)
- (letrec ((#{check\ 1295}#
- (lambda (#{req\ 1296}#
- #{opt\ 1297}#
- #{rest\ 1298}#
- #{kw\ 1299}#)
- (if (#{distinct-bound-ids?\ 731}#
+ ($sc-dispatch #{tmp\ 13486}# (quote ()))))
+ #{clauses\ 13303}#))))
+ (#{lambda*-formals\ 13023}#
+ (lambda (#{orig-args\ 13534}#)
+ (letrec ((#{check\ 13545}#
+ (lambda (#{req\ 13546}#
+ #{opt\ 13547}#
+ #{rest\ 13548}#
+ #{kw\ 13549}#)
+ (if (#{distinct-bound-ids?\ 12981}#
(append
- #{req\ 1296}#
- (map car #{opt\ 1297}#)
- (if #{rest\ 1298}#
- (list #{rest\ 1298}#)
+ #{req\ 13546}#
+ (map car #{opt\ 13547}#)
+ (if #{rest\ 13548}#
+ (list #{rest\ 13548}#)
'())
- (if (pair? #{kw\ 1299}#)
- (map cadr (cdr #{kw\ 1299}#))
+ (if (pair? #{kw\ 13549}#)
+ (map cadr (cdr #{kw\ 13549}#))
'())))
(values
- #{req\ 1296}#
- #{opt\ 1297}#
- #{rest\ 1298}#
- #{kw\ 1299}#)
+ #{req\ 13546}#
+ #{opt\ 13547}#
+ #{rest\ 13548}#
+ #{kw\ 13549}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
- #{orig-args\ 1284}#))))
- (#{rest\ 1293}#
- (lambda (#{args\ 1307}#
- #{req\ 1308}#
- #{opt\ 1309}#
- #{kw\ 1310}#)
- ((lambda (#{tmp\ 1315}#)
- ((lambda (#{tmp\ 1316}#)
- (if (if #{tmp\ 1316}#
- (apply (lambda (#{r\ 1318}#)
- (#{id?\ 666}# #{r\ 1318}#))
- #{tmp\ 1316}#)
+ #{orig-args\ 13534}#))))
+ (#{rest\ 13543}#
+ (lambda (#{args\ 13557}#
+ #{req\ 13558}#
+ #{opt\ 13559}#
+ #{kw\ 13560}#)
+ ((lambda (#{tmp\ 13565}#)
+ ((lambda (#{tmp\ 13566}#)
+ (if (if #{tmp\ 13566}#
+ (apply (lambda (#{r\ 13568}#)
+ (#{id?\ 12916}# #{r\ 13568}#))
+ #{tmp\ 13566}#)
#f)
- (apply (lambda (#{r\ 1320}#)
- (#{check\ 1295}#
- #{req\ 1308}#
- #{opt\ 1309}#
- #{r\ 1320}#
- #{kw\ 1310}#))
- #{tmp\ 1316}#)
- ((lambda (#{else\ 1322}#)
+ (apply (lambda (#{r\ 13570}#)
+ (#{check\ 13545}#
+ #{req\ 13558}#
+ #{opt\ 13559}#
+ #{r\ 13570}#
+ #{kw\ 13560}#))
+ #{tmp\ 13566}#)
+ ((lambda (#{else\ 13572}#)
(syntax-violation
'lambda*
"invalid rest argument"
- #{orig-args\ 1284}#
- #{args\ 1307}#))
- #{tmp\ 1315}#)))
- (list #{tmp\ 1315}#)))
- #{args\ 1307}#)))
- (#{key\ 1291}#
- (lambda (#{args\ 1323}#
- #{req\ 1324}#
- #{opt\ 1325}#
- #{rkey\ 1326}#)
- ((lambda (#{tmp\ 1331}#)
- ((lambda (#{tmp\ 1332}#)
- (if #{tmp\ 1332}#
+ #{orig-args\ 13534}#
+ #{args\ 13557}#))
+ #{tmp\ 13565}#)))
+ (list #{tmp\ 13565}#)))
+ #{args\ 13557}#)))
+ (#{key\ 13541}#
+ (lambda (#{args\ 13573}#
+ #{req\ 13574}#
+ #{opt\ 13575}#
+ #{rkey\ 13576}#)
+ ((lambda (#{tmp\ 13581}#)
+ ((lambda (#{tmp\ 13582}#)
+ (if #{tmp\ 13582}#
(apply (lambda ()
- (#{check\ 1295}#
- #{req\ 1324}#
- #{opt\ 1325}#
+ (#{check\ 13545}#
+ #{req\ 13574}#
+ #{opt\ 13575}#
#f
(cons #f
(reverse
- #{rkey\ 1326}#))))
- #{tmp\ 1332}#)
- ((lambda (#{tmp\ 1333}#)
- (if (if #{tmp\ 1333}#
- (apply (lambda (#{a\ 1336}#
- #{b\ 1337}#)
- (#{id?\ 666}#
- #{a\ 1336}#))
- #{tmp\ 1333}#)
+ #{rkey\ 13576}#))))
+ #{tmp\ 13582}#)
+ ((lambda (#{tmp\ 13583}#)
+ (if (if #{tmp\ 13583}#
+ (apply (lambda (#{a\ 13586}#
+ #{b\ 13587}#)
+ (#{id?\ 12916}#
+ #{a\ 13586}#))
+ #{tmp\ 13583}#)
#f)
- (apply (lambda (#{a\ 1340}#
- #{b\ 1341}#)
- ((lambda (#{tmp\ 1343}#)
- ((lambda (#{k\ 1345}#)
- (#{key\ 1291}#
- #{b\ 1341}#
- #{req\ 1324}#
- #{opt\ 1325}#
- (cons (cons #{k\
1345}#
- (cons
#{a\ 1340}#
+ (apply (lambda (#{a\ 13590}#
+ #{b\ 13591}#)
+ ((lambda (#{tmp\ 13593}#)
+ ((lambda (#{k\ 13595}#)
+ (#{key\ 13541}#
+ #{b\ 13591}#
+ #{req\ 13574}#
+ #{opt\ 13575}#
+ (cons (cons #{k\
13595}#
+ (cons
#{a\ 13590}#
'(#(syntax-object
#f
((top)
#(ribcage
#(k)
#((top))
-
#("i1344"))
+
#("i13594"))
#(ribcage
#(a
b)
#((top)
(top))
-
#("i1338"
-
"i1339"))
+
#("i13588"
+
"i13589"))
#(ribcage
()
()
@@ -651,10 +665,10 @@
(top)
(top)
(top))
-
#("i1327"
-
"i1328"
-
"i1329"
-
"i1330"))
+
#("i13577"
+
"i13578"
+
"i13579"
+
"i13580"))
#(ribcage
(check rest
key
@@ -665,15 +679,15 @@
(top)
(top)
(top))
-
("i1294"
-
"i1292"
-
"i1290"
-
"i1288"
-
"i1286"))
+
("i13544"
+
"i13542"
+
"i13540"
+
"i13538"
+
"i13536"))
#(ribcage
#(orig-args)
#((top))
-
#("i1285"))
+
#("i13535"))
#(ribcage
(lambda-var-list
gen-var
@@ -791,6 +805,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -908,350 +940,391 @@
(top)
(top)
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
(top))
-
("i780"
-
"i778"
-
"i776"
-
"i774"
-
"i772"
-
"i770"
-
"i768"
-
"i766"
-
"i764"
-
"i762"
-
"i760"
-
"i758"
-
"i756"
-
"i754"
-
"i752"
-
"i750"
-
"i748"
-
"i746"
-
"i744"
-
"i742"
-
"i740"
-
"i738"
-
"i736"
-
"i734"
-
"i732"
-
"i730"
-
"i728"
-
"i726"
-
"i724"
-
"i722"
-
"i720"
-
"i718"
-
"i716"
-
"i714"
-
"i712"
-
"i710"
-
"i709"
-
"i708"
-
"i706"
-
"i705"
-
"i704"
-
"i703"
-
"i702"
-
"i700"
-
"i698"
-
"i696"
-
"i694"
-
"i692"
-
"i690"
-
"i688"
-
"i686"
-
"i683"
-
"i681"
-
"i680"
-
"i679"
-
"i678"
-
"i677"
-
"i676"
-
"i674"
-
"i672"
-
"i670"
-
"i668"
-
"i667"
-
"i665"
-
"i663"
-
"i661"
-
"i659"
-
"i657"
-
"i655"
-
"i653"
-
"i652"
-
"i650"
-
"i648"
-
"i647"
-
"i646"
-
"i644"
-
"i643"
-
"i641"
-
"i639"
-
"i637"
-
"i635"
-
"i633"
-
"i631"
-
"i629"
-
"i627"
-
"i625"
-
"i623"
-
"i621"
-
"i619"
-
"i617"
-
"i615"
-
"i613"
-
"i611"
-
"i609"
-
"i607"
-
"i605"
-
"i603"
-
"i601"
-
"i599"
-
"i597"
-
"i595"
-
"i593"
-
"i591"
-
"i589"
-
"i587"
-
"i585"
-
"i583"
-
"i581"
-
"i579"
-
"i578"
-
"i576"
-
"i574"
-
"i572"
-
"i570"
-
"i568"
-
"i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+
(top)
(top))
-
("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile)))))
- #{rkey\
1326}#)))
- #{tmp\ 1343}#))
+ #{rkey\
13576}#)))
+ #{tmp\ 13593}#))
(symbol->keyword
(syntax->datum
- #{a\ 1340}#))))
- #{tmp\ 1333}#)
- ((lambda (#{tmp\ 1346}#)
- (if (if #{tmp\ 1346}#
- (apply (lambda (#{a\ 1350}#
- #{init\
1351}#
- #{b\ 1352}#)
- (#{id?\ 666}#
- #{a\ 1350}#))
- #{tmp\ 1346}#)
+ #{a\ 13590}#))))
+ #{tmp\ 13583}#)
+ ((lambda (#{tmp\ 13596}#)
+ (if (if #{tmp\ 13596}#
+ (apply (lambda (#{a\ 13600}#
+ #{init\
13601}#
+ #{b\ 13602}#)
+ (#{id?\ 12916}#
+ #{a\ 13600}#))
+ #{tmp\ 13596}#)
#f)
- (apply (lambda (#{a\ 1356}#
- #{init\ 1357}#
- #{b\ 1358}#)
- ((lambda (#{tmp\ 1360}#)
- ((lambda (#{k\
1362}#)
- (#{key\ 1291}#
- #{b\ 1358}#
- #{req\ 1324}#
- #{opt\ 1325}#
- (cons (list
#{k\ 1362}#
-
#{a\ 1356}#
-
#{init\ 1357}#)
- #{rkey\
1326}#)))
- #{tmp\ 1360}#))
+ (apply (lambda (#{a\ 13606}#
+ #{init\ 13607}#
+ #{b\ 13608}#)
+ ((lambda (#{tmp\
13610}#)
+ ((lambda (#{k\
13612}#)
+ (#{key\ 13541}#
+ #{b\ 13608}#
+ #{req\ 13574}#
+ #{opt\ 13575}#
+ (cons (list
#{k\ 13612}#
+
#{a\ 13606}#
+
#{init\ 13607}#)
+ #{rkey\
13576}#)))
+ #{tmp\ 13610}#))
(symbol->keyword
(syntax->datum
- #{a\ 1356}#))))
- #{tmp\ 1346}#)
- ((lambda (#{tmp\ 1363}#)
- (if (if #{tmp\ 1363}#
- (apply (lambda (#{a\
1368}#
- #{init\
1369}#
- #{k\
1370}#
- #{b\
1371}#)
- (if (#{id?\
666}#
- #{a\
1368}#)
+ #{a\ 13606}#))))
+ #{tmp\ 13596}#)
+ ((lambda (#{tmp\ 13613}#)
+ (if (if #{tmp\ 13613}#
+ (apply (lambda (#{a\
13618}#
+ #{init\
13619}#
+ #{k\
13620}#
+ #{b\
13621}#)
+ (if (#{id?\
12916}#
+ #{a\
13618}#)
(keyword?
(syntax->datum
- #{k\
1370}#))
+ #{k\
13620}#))
#f))
- #{tmp\ 1363}#)
+ #{tmp\ 13613}#)
#f)
- (apply (lambda (#{a\ 1378}#
- #{init\
1379}#
- #{k\ 1380}#
- #{b\ 1381}#)
- (#{key\ 1291}#
- #{b\ 1381}#
- #{req\ 1324}#
- #{opt\ 1325}#
- (cons (list #{k\
1380}#
- #{a\
1378}#
-
#{init\ 1379}#)
- #{rkey\
1326}#)))
- #{tmp\ 1363}#)
- ((lambda (#{tmp\ 1382}#)
- (if (if #{tmp\ 1382}#
- (apply (lambda
(#{aok\ 1384}#)
+ (apply (lambda (#{a\ 13628}#
+ #{init\
13629}#
+ #{k\ 13630}#
+ #{b\
13631}#)
+ (#{key\ 13541}#
+ #{b\ 13631}#
+ #{req\ 13574}#
+ #{opt\ 13575}#
+ (cons (list #{k\
13630}#
+ #{a\
13628}#
+
#{init\ 13629}#)
+ #{rkey\
13576}#)))
+ #{tmp\ 13613}#)
+ ((lambda (#{tmp\ 13632}#)
+ (if (if #{tmp\ 13632}#
+ (apply (lambda
(#{aok\ 13634}#)
(eq?
(syntax->datum
-
#{aok\ 1384}#)
+
#{aok\ 13634}#)
#:allow-other-keys))
- #{tmp\
1382}#)
+ #{tmp\
13632}#)
#f)
- (apply (lambda (#{aok\
1386}#)
- (#{check\
1295}#
- #{req\
1324}#
- #{opt\
1325}#
+ (apply (lambda (#{aok\
13636}#)
+ (#{check\
13545}#
+ #{req\
13574}#
+ #{opt\
13575}#
#f
(cons #t
(reverse
-
#{rkey\ 1326}#))))
- #{tmp\ 1382}#)
- ((lambda (#{tmp\
1387}#)
- (if (if #{tmp\
1387}#
- (apply
(lambda (#{aok\ 1391}#
-
#{a\ 1392}#
-
#{b\ 1393}#)
+
#{rkey\ 13576}#))))
+ #{tmp\ 13632}#)
+ ((lambda (#{tmp\
13637}#)
+ (if (if #{tmp\
13637}#
+ (apply
(lambda (#{aok\ 13641}#
+
#{a\ 13642}#
+
#{b\ 13643}#)
(if
(eq? (syntax->datum
-
#{aok\ 1391}#)
+
#{aok\ 13641}#)
#:allow-other-keys)
(eq? (syntax->datum
-
#{a\ 1392}#)
+
#{a\ 13642}#)
#:rest)
#f))
- #{tmp\
1387}#)
+ #{tmp\
13637}#)
#f)
- (apply (lambda
(#{aok\ 1399}#
-
#{a\ 1400}#
-
#{b\ 1401}#)
- (#{rest\
1293}#
- #{b\
1401}#
- #{req\
1324}#
- #{opt\
1325}#
+ (apply (lambda
(#{aok\ 13649}#
+
#{a\ 13650}#
+
#{b\ 13651}#)
+ (#{rest\
13543}#
+ #{b\
13651}#
+ #{req\
13574}#
+ #{opt\
13575}#
(cons
#t
(reverse
-
#{rkey\ 1326}#))))
- #{tmp\
1387}#)
- ((lambda (#{tmp\
1402}#)
- (if (if #{tmp\
1402}#
- (apply
(lambda (#{aok\ 1405}#
-
#{r\ 1406}#)
+
#{rkey\ 13576}#))))
+ #{tmp\
13637}#)
+ ((lambda (#{tmp\
13652}#)
+ (if (if #{tmp\
13652}#
+ (apply
(lambda (#{aok\ 13655}#
+
#{r\ 13656}#)
(if (eq? (syntax->datum
-
#{aok\ 1405}#)
+
#{aok\ 13655}#)
#:allow-other-keys)
-
(#{id?\ 666}#
-
#{r\ 1406}#)
+
(#{id?\ 12916}#
+
#{r\ 13656}#)
#f))
-
#{tmp\ 1402}#)
+
#{tmp\ 13652}#)
#f)
- (apply
(lambda (#{aok\ 1411}#
-
#{r\ 1412}#)
-
(#{rest\ 1293}#
-
#{r\ 1412}#
-
#{req\ 1324}#
-
#{opt\ 1325}#
+ (apply
(lambda (#{aok\ 13661}#
+
#{r\ 13662}#)
+
(#{rest\ 13543}#
+
#{r\ 13662}#
+
#{req\ 13574}#
+
#{opt\ 13575}#
(cons #t
(reverse
-
#{rkey\ 1326}#))))
-
#{tmp\ 1402}#)
- ((lambda
(#{tmp\ 1413}#)
- (if (if
#{tmp\ 1413}#
-
(apply (lambda (#{a\ 1416}#
-
#{b\ 1417}#)
+
#{rkey\ 13576}#))))
+
#{tmp\ 13652}#)
+ ((lambda
(#{tmp\ 13663}#)
+ (if (if
#{tmp\ 13663}#
+
(apply (lambda (#{a\ 13666}#
+
#{b\ 13667}#)
(eq? (syntax->datum
-
#{a\ 1416}#)
+
#{a\ 13666}#)
#:rest))
-
#{tmp\ 1413}#)
+
#{tmp\ 13663}#)
#f)
- (apply
(lambda (#{a\ 1420}#
-
#{b\ 1421}#)
-
(#{rest\ 1293}#
-
#{b\ 1421}#
-
#{req\ 1324}#
-
#{opt\ 1325}#
+ (apply
(lambda (#{a\ 13670}#
+
#{b\ 13671}#)
+
(#{rest\ 13543}#
+
#{b\ 13671}#
+
#{req\ 13574}#
+
#{opt\ 13575}#
(cons #f
(reverse
-
#{rkey\ 1326}#))))
-
#{tmp\ 1413}#)
-
((lambda (#{tmp\ 1422}#)
- (if
(if #{tmp\ 1422}#
-
(apply (lambda (#{r\ 1424}#)
-
(#{id?\ 666}#
-
#{r\ 1424}#))
-
#{tmp\ 1422}#)
+
#{rkey\ 13576}#))))
+
#{tmp\ 13663}#)
+
((lambda (#{tmp\ 13672}#)
+ (if
(if #{tmp\ 13672}#
+
(apply (lambda (#{r\ 13674}#)
+
(#{id?\ 12916}#
+
#{r\ 13674}#))
+
#{tmp\ 13672}#)
#f)
-
(apply (lambda (#{r\ 1426}#)
-
(#{rest\ 1293}#
-
#{r\ 1426}#
-
#{req\ 1324}#
-
#{opt\ 1325}#
+
(apply (lambda (#{r\ 13676}#)
+
(#{rest\ 13543}#
+
#{r\ 13676}#
+
#{req\ 13574}#
+
#{opt\ 13575}#
(cons #f
(reverse
-
#{rkey\ 1326}#))))
-
#{tmp\ 1422}#)
-
((lambda (#{else\ 1428}#)
+
#{rkey\ 13576}#))))
+
#{tmp\ 13672}#)
+
((lambda (#{else\ 13678}#)
(syntax-violation
'lambda*
"invalid keyword argument list"
-
#{orig-args\ 1284}#
-
#{args\ 1323}#))
-
#{tmp\ 1331}#)))
- (list
#{tmp\ 1331}#))))
+
#{orig-args\ 13534}#
+
#{args\ 13573}#))
+
#{tmp\ 13581}#)))
+ (list
#{tmp\ 13581}#))))
($sc-dispatch
- #{tmp\
1331}#
+ #{tmp\
13581}#
'(any
any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'(any .
any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'(any any any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'(any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'((any any any) . any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 1331}#
+ #{tmp\ 13581}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 1331}# (quote ()))))
- #{args\ 1323}#)))
- (#{opt\ 1289}#
- (lambda (#{args\ 1429}# #{req\ 1430}# #{ropt\ 1431}#)
- ((lambda (#{tmp\ 1435}#)
- ((lambda (#{tmp\ 1436}#)
- (if #{tmp\ 1436}#
+ ($sc-dispatch #{tmp\ 13581}# (quote ()))))
+ #{args\ 13573}#)))
+ (#{opt\ 13539}#
+ (lambda (#{args\ 13679}#
+ #{req\ 13680}#
+ #{ropt\ 13681}#)
+ ((lambda (#{tmp\ 13685}#)
+ ((lambda (#{tmp\ 13686}#)
+ (if #{tmp\ 13686}#
(apply (lambda ()
- (#{check\ 1295}#
- #{req\ 1430}#
- (reverse #{ropt\ 1431}#)
+ (#{check\ 13545}#
+ #{req\ 13680}#
+ (reverse #{ropt\ 13681}#)
#f
'()))
- #{tmp\ 1436}#)
- ((lambda (#{tmp\ 1437}#)
- (if (if #{tmp\ 1437}#
- (apply (lambda (#{a\ 1440}#
- #{b\ 1441}#)
- (#{id?\ 666}#
- #{a\ 1440}#))
- #{tmp\ 1437}#)
+ #{tmp\ 13686}#)
+ ((lambda (#{tmp\ 13687}#)
+ (if (if #{tmp\ 13687}#
+ (apply (lambda (#{a\ 13690}#
+ #{b\ 13691}#)
+ (#{id?\ 12916}#
+ #{a\ 13690}#))
+ #{tmp\ 13687}#)
#f)
- (apply (lambda (#{a\ 1444}#
- #{b\ 1445}#)
- (#{opt\ 1289}#
- #{b\ 1445}#
- #{req\ 1430}#
- (cons (cons #{a\ 1444}#
+ (apply (lambda (#{a\ 13694}#
+ #{b\ 13695}#)
+ (#{opt\ 13539}#
+ #{b\ 13695}#
+ #{req\ 13680}#
+ (cons (cons #{a\ 13694}#
'(#(syntax-object
#f
((top)
@@ -1259,8 +1332,8 @@
#(a b)
#((top)
(top))
-
#("i1442"
-
"i1443"))
+
#("i13692"
+
"i13693"))
#(ribcage
()
()
@@ -1272,9 +1345,9 @@
#((top)
(top)
(top))
-
#("i1432"
-
"i1433"
-
"i1434"))
+
#("i13682"
+
"i13683"
+
"i13684"))
#(ribcage
(check
rest
key
@@ -1285,15 +1358,15 @@
(top)
(top)
(top))
- ("i1294"
- "i1292"
- "i1290"
- "i1288"
-
"i1286"))
+
("i13544"
+
"i13542"
+
"i13540"
+
"i13538"
+
"i13536"))
#(ribcage
#(orig-args)
#((top))
-
#("i1285"))
+
#("i13535"))
#(ribcage
(lambda-var-list
gen-var
@@ -1411,6 +1484,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -1528,463 +1619,502 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+ (top)
(top))
- ("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile))))
- #{ropt\ 1431}#)))
- #{tmp\ 1437}#)
- ((lambda (#{tmp\ 1446}#)
- (if (if #{tmp\ 1446}#
- (apply (lambda (#{a\ 1450}#
- #{init\
1451}#
- #{b\ 1452}#)
- (#{id?\ 666}#
- #{a\ 1450}#))
- #{tmp\ 1446}#)
+ #{ropt\ 13681}#)))
+ #{tmp\ 13687}#)
+ ((lambda (#{tmp\ 13696}#)
+ (if (if #{tmp\ 13696}#
+ (apply (lambda (#{a\ 13700}#
+ #{init\
13701}#
+ #{b\ 13702}#)
+ (#{id?\ 12916}#
+ #{a\ 13700}#))
+ #{tmp\ 13696}#)
#f)
- (apply (lambda (#{a\ 1456}#
- #{init\ 1457}#
- #{b\ 1458}#)
- (#{opt\ 1289}#
- #{b\ 1458}#
- #{req\ 1430}#
- (cons (list #{a\
1456}#
- #{init\
1457}#)
- #{ropt\
1431}#)))
- #{tmp\ 1446}#)
- ((lambda (#{tmp\ 1459}#)
- (if (if #{tmp\ 1459}#
- (apply (lambda (#{a\
1462}#
- #{b\
1463}#)
+ (apply (lambda (#{a\ 13706}#
+ #{init\ 13707}#
+ #{b\ 13708}#)
+ (#{opt\ 13539}#
+ #{b\ 13708}#
+ #{req\ 13680}#
+ (cons (list #{a\
13706}#
+ #{init\
13707}#)
+ #{ropt\
13681}#)))
+ #{tmp\ 13696}#)
+ ((lambda (#{tmp\ 13709}#)
+ (if (if #{tmp\ 13709}#
+ (apply (lambda (#{a\
13712}#
+ #{b\
13713}#)
(eq?
(syntax->datum
- #{a\
1462}#)
+ #{a\
13712}#)
#:key))
- #{tmp\ 1459}#)
+ #{tmp\ 13709}#)
#f)
- (apply (lambda (#{a\ 1466}#
- #{b\ 1467}#)
- (#{key\ 1291}#
- #{b\ 1467}#
- #{req\ 1430}#
+ (apply (lambda (#{a\ 13716}#
+ #{b\
13717}#)
+ (#{key\ 13541}#
+ #{b\ 13717}#
+ #{req\ 13680}#
(reverse
- #{ropt\ 1431}#)
+ #{ropt\
13681}#)
'()))
- #{tmp\ 1459}#)
- ((lambda (#{tmp\ 1468}#)
- (if (if #{tmp\ 1468}#
- (apply (lambda
(#{a\ 1471}#
-
#{b\ 1472}#)
+ #{tmp\ 13709}#)
+ ((lambda (#{tmp\ 13718}#)
+ (if (if #{tmp\ 13718}#
+ (apply (lambda
(#{a\ 13721}#
+
#{b\ 13722}#)
(eq?
(syntax->datum
-
#{a\ 1471}#)
+
#{a\ 13721}#)
#:rest))
- #{tmp\
1468}#)
+ #{tmp\
13718}#)
#f)
- (apply (lambda (#{a\
1475}#
- #{b\
1476}#)
- (#{rest\
1293}#
- #{b\ 1476}#
- #{req\
1430}#
+ (apply (lambda (#{a\
13725}#
+ #{b\
13726}#)
+ (#{rest\
13543}#
+ #{b\ 13726}#
+ #{req\
13680}#
(reverse
- #{ropt\
1431}#)
+ #{ropt\
13681}#)
'()))
- #{tmp\ 1468}#)
- ((lambda (#{tmp\
1477}#)
- (if (if #{tmp\
1477}#
- (apply
(lambda (#{r\ 1479}#)
-
(#{id?\ 666}#
-
#{r\ 1479}#))
- #{tmp\
1477}#)
+ #{tmp\ 13718}#)
+ ((lambda (#{tmp\
13727}#)
+ (if (if #{tmp\
13727}#
+ (apply
(lambda (#{r\ 13729}#)
+
(#{id?\ 12916}#
+
#{r\ 13729}#))
+ #{tmp\
13727}#)
#f)
- (apply (lambda
(#{r\ 1481}#)
- (#{rest\
1293}#
- #{r\
1481}#
- #{req\
1430}#
+ (apply (lambda
(#{r\ 13731}#)
+ (#{rest\
13543}#
+ #{r\
13731}#
+ #{req\
13680}#
(reverse
-
#{ropt\ 1431}#)
+
#{ropt\ 13681}#)
'()))
- #{tmp\
1477}#)
- ((lambda (#{else\
1483}#)
+ #{tmp\
13727}#)
+ ((lambda (#{else\
13733}#)
(syntax-violation
'lambda*
"invalid
optional argument list"
- #{orig-args\
1284}#
- #{args\
1429}#))
- #{tmp\ 1435}#)))
- (list #{tmp\
1435}#))))
+ #{orig-args\
13534}#
+ #{args\
13679}#))
+ #{tmp\ 13685}#)))
+ (list #{tmp\
13685}#))))
($sc-dispatch
- #{tmp\ 1435}#
+ #{tmp\ 13685}#
'(any any)))))
($sc-dispatch
- #{tmp\ 1435}#
+ #{tmp\ 13685}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1435}#
+ #{tmp\ 13685}#
'((any any) . any)))))
($sc-dispatch
- #{tmp\ 1435}#
+ #{tmp\ 13685}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 1435}# (quote ()))))
- #{args\ 1429}#)))
- (#{req\ 1287}#
- (lambda (#{args\ 1484}# #{rreq\ 1485}#)
- ((lambda (#{tmp\ 1488}#)
- ((lambda (#{tmp\ 1489}#)
- (if #{tmp\ 1489}#
+ ($sc-dispatch #{tmp\ 13685}# (quote ()))))
+ #{args\ 13679}#)))
+ (#{req\ 13537}#
+ (lambda (#{args\ 13734}# #{rreq\ 13735}#)
+ ((lambda (#{tmp\ 13738}#)
+ ((lambda (#{tmp\ 13739}#)
+ (if #{tmp\ 13739}#
(apply (lambda ()
- (#{check\ 1295}#
- (reverse #{rreq\ 1485}#)
+ (#{check\ 13545}#
+ (reverse #{rreq\ 13735}#)
'()
#f
'()))
- #{tmp\ 1489}#)
- ((lambda (#{tmp\ 1490}#)
- (if (if #{tmp\ 1490}#
- (apply (lambda (#{a\ 1493}#
- #{b\ 1494}#)
- (#{id?\ 666}#
- #{a\ 1493}#))
- #{tmp\ 1490}#)
+ #{tmp\ 13739}#)
+ ((lambda (#{tmp\ 13740}#)
+ (if (if #{tmp\ 13740}#
+ (apply (lambda (#{a\ 13743}#
+ #{b\ 13744}#)
+ (#{id?\ 12916}#
+ #{a\ 13743}#))
+ #{tmp\ 13740}#)
#f)
- (apply (lambda (#{a\ 1497}#
- #{b\ 1498}#)
- (#{req\ 1287}#
- #{b\ 1498}#
- (cons #{a\ 1497}#
- #{rreq\ 1485}#)))
- #{tmp\ 1490}#)
- ((lambda (#{tmp\ 1499}#)
- (if (if #{tmp\ 1499}#
- (apply (lambda (#{a\ 1502}#
- #{b\ 1503}#)
+ (apply (lambda (#{a\ 13747}#
+ #{b\ 13748}#)
+ (#{req\ 13537}#
+ #{b\ 13748}#
+ (cons #{a\ 13747}#
+ #{rreq\ 13735}#)))
+ #{tmp\ 13740}#)
+ ((lambda (#{tmp\ 13749}#)
+ (if (if #{tmp\ 13749}#
+ (apply (lambda (#{a\ 13752}#
+ #{b\ 13753}#)
(eq? (syntax->datum
- #{a\ 1502}#)
+ #{a\ 13752}#)
#:optional))
- #{tmp\ 1499}#)
+ #{tmp\ 13749}#)
#f)
- (apply (lambda (#{a\ 1506}#
- #{b\ 1507}#)
- (#{opt\ 1289}#
- #{b\ 1507}#
+ (apply (lambda (#{a\ 13756}#
+ #{b\ 13757}#)
+ (#{opt\ 13539}#
+ #{b\ 13757}#
(reverse
- #{rreq\ 1485}#)
+ #{rreq\ 13735}#)
'()))
- #{tmp\ 1499}#)
- ((lambda (#{tmp\ 1508}#)
- (if (if #{tmp\ 1508}#
- (apply (lambda (#{a\
1511}#
- #{b\
1512}#)
+ #{tmp\ 13749}#)
+ ((lambda (#{tmp\ 13758}#)
+ (if (if #{tmp\ 13758}#
+ (apply (lambda (#{a\
13761}#
+ #{b\
13762}#)
(eq?
(syntax->datum
- #{a\
1511}#)
+ #{a\
13761}#)
#:key))
- #{tmp\ 1508}#)
+ #{tmp\ 13758}#)
#f)
- (apply (lambda (#{a\ 1515}#
- #{b\ 1516}#)
- (#{key\ 1291}#
- #{b\ 1516}#
+ (apply (lambda (#{a\ 13765}#
+ #{b\
13766}#)
+ (#{key\ 13541}#
+ #{b\ 13766}#
(reverse
- #{rreq\ 1485}#)
+ #{rreq\
13735}#)
'()
'()))
- #{tmp\ 1508}#)
- ((lambda (#{tmp\ 1517}#)
- (if (if #{tmp\ 1517}#
- (apply (lambda
(#{a\ 1520}#
-
#{b\ 1521}#)
+ #{tmp\ 13758}#)
+ ((lambda (#{tmp\ 13767}#)
+ (if (if #{tmp\ 13767}#
+ (apply (lambda
(#{a\ 13770}#
+
#{b\ 13771}#)
(eq?
(syntax->datum
-
#{a\ 1520}#)
+
#{a\ 13770}#)
#:rest))
- #{tmp\
1517}#)
+ #{tmp\
13767}#)
#f)
- (apply (lambda (#{a\
1524}#
- #{b\
1525}#)
- (#{rest\
1293}#
- #{b\ 1525}#
+ (apply (lambda (#{a\
13774}#
+ #{b\
13775}#)
+ (#{rest\
13543}#
+ #{b\ 13775}#
(reverse
- #{rreq\
1485}#)
+ #{rreq\
13735}#)
'()
'()))
- #{tmp\ 1517}#)
- ((lambda (#{tmp\
1526}#)
- (if (if #{tmp\
1526}#
- (apply
(lambda (#{r\ 1528}#)
-
(#{id?\ 666}#
-
#{r\ 1528}#))
- #{tmp\
1526}#)
+ #{tmp\ 13767}#)
+ ((lambda (#{tmp\
13776}#)
+ (if (if #{tmp\
13776}#
+ (apply
(lambda (#{r\ 13778}#)
+
(#{id?\ 12916}#
+
#{r\ 13778}#))
+ #{tmp\
13776}#)
#f)
- (apply (lambda
(#{r\ 1530}#)
- (#{rest\
1293}#
- #{r\
1530}#
+ (apply (lambda
(#{r\ 13780}#)
+ (#{rest\
13543}#
+ #{r\
13780}#
(reverse
-
#{rreq\ 1485}#)
+
#{rreq\ 13735}#)
'()
'()))
- #{tmp\
1526}#)
- ((lambda (#{else\
1532}#)
+ #{tmp\
13776}#)
+ ((lambda (#{else\
13782}#)
(syntax-violation
'lambda*
"invalid
argument list"
- #{orig-args\
1284}#
- #{args\
1484}#))
- #{tmp\ 1488}#)))
- (list #{tmp\
1488}#))))
+ #{orig-args\
13534}#
+ #{args\
13734}#))
+ #{tmp\ 13738}#)))
+ (list #{tmp\
13738}#))))
($sc-dispatch
- #{tmp\ 1488}#
+ #{tmp\ 13738}#
'(any any)))))
($sc-dispatch
- #{tmp\ 1488}#
+ #{tmp\ 13738}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1488}#
+ #{tmp\ 13738}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1488}#
+ #{tmp\ 13738}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 1488}# (quote ()))))
- #{args\ 1484}#))))
- (#{req\ 1287}# #{orig-args\ 1284}# (quote ())))))
- (#{chi-simple-lambda\ 771}#
- (lambda (#{e\ 1533}#
- #{r\ 1534}#
- #{w\ 1535}#
- #{s\ 1536}#
- #{mod\ 1537}#
- #{req\ 1538}#
- #{rest\ 1539}#
- #{meta\ 1540}#
- #{body\ 1541}#)
- (let ((#{ids\ 1553}#
- (if #{rest\ 1539}#
- (append #{req\ 1538}# (list #{rest\ 1539}#))
- #{req\ 1538}#)))
- (let ((#{vars\ 1555}#
- (map #{gen-var\ 779}# #{ids\ 1553}#)))
- (let ((#{labels\ 1557}#
- (#{gen-labels\ 684}# #{ids\ 1553}#)))
- (#{build-simple-lambda\ 608}#
- #{s\ 1536}#
- (map syntax->datum #{req\ 1538}#)
- (if #{rest\ 1539}#
- (syntax->datum #{rest\ 1539}#)
+ ($sc-dispatch #{tmp\ 13738}# (quote ()))))
+ #{args\ 13734}#))))
+ (#{req\ 13537}# #{orig-args\ 13534}# (quote ())))))
+ (#{chi-simple-lambda\ 13021}#
+ (lambda (#{e\ 13783}#
+ #{r\ 13784}#
+ #{w\ 13785}#
+ #{s\ 13786}#
+ #{mod\ 13787}#
+ #{req\ 13788}#
+ #{rest\ 13789}#
+ #{meta\ 13790}#
+ #{body\ 13791}#)
+ (let ((#{ids\ 13803}#
+ (if #{rest\ 13789}#
+ (append #{req\ 13788}# (list #{rest\ 13789}#))
+ #{req\ 13788}#)))
+ (let ((#{vars\ 13805}#
+ (map #{gen-var\ 13029}# #{ids\ 13803}#)))
+ (let ((#{labels\ 13807}#
+ (#{gen-labels\ 12934}# #{ids\ 13803}#)))
+ (#{build-simple-lambda\ 12858}#
+ #{s\ 13786}#
+ (map syntax->datum #{req\ 13788}#)
+ (if #{rest\ 13789}#
+ (syntax->datum #{rest\ 13789}#)
#f)
- #{vars\ 1555}#
- #{meta\ 1540}#
- (#{chi-body\ 759}#
- #{body\ 1541}#
- (#{source-wrap\ 737}#
- #{e\ 1533}#
- #{w\ 1535}#
- #{s\ 1536}#
- #{mod\ 1537}#)
- (#{extend-var-env\ 656}#
- #{labels\ 1557}#
- #{vars\ 1555}#
- #{r\ 1534}#)
- (#{make-binding-wrap\ 713}#
- #{ids\ 1553}#
- #{labels\ 1557}#
- #{w\ 1535}#)
- #{mod\ 1537}#)))))))
- (#{lambda-formals\ 769}#
- (lambda (#{orig-args\ 1560}#)
- (letrec ((#{check\ 1565}#
- (lambda (#{req\ 1566}# #{rest\ 1567}#)
- (if (#{distinct-bound-ids?\ 731}#
- (if #{rest\ 1567}#
- (cons #{rest\ 1567}# #{req\ 1566}#)
- #{req\ 1566}#))
- (values #{req\ 1566}# #f #{rest\ 1567}# #f)
+ #{vars\ 13805}#
+ #{meta\ 13790}#
+ (#{chi-body\ 13009}#
+ #{body\ 13791}#
+ (#{source-wrap\ 12987}#
+ #{e\ 13783}#
+ #{w\ 13785}#
+ #{s\ 13786}#
+ #{mod\ 13787}#)
+ (#{extend-var-env\ 12906}#
+ #{labels\ 13807}#
+ #{vars\ 13805}#
+ #{r\ 13784}#)
+ (#{make-binding-wrap\ 12963}#
+ #{ids\ 13803}#
+ #{labels\ 13807}#
+ #{w\ 13785}#)
+ #{mod\ 13787}#)))))))
+ (#{lambda-formals\ 13019}#
+ (lambda (#{orig-args\ 13810}#)
+ (letrec ((#{check\ 13815}#
+ (lambda (#{req\ 13816}# #{rest\ 13817}#)
+ (if (#{distinct-bound-ids?\ 12981}#
+ (if #{rest\ 13817}#
+ (cons #{rest\ 13817}# #{req\ 13816}#)
+ #{req\ 13816}#))
+ (values #{req\ 13816}# #f #{rest\ 13817}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
- #{orig-args\ 1560}#))))
- (#{req\ 1563}#
- (lambda (#{args\ 1573}# #{rreq\ 1574}#)
- ((lambda (#{tmp\ 1577}#)
- ((lambda (#{tmp\ 1578}#)
- (if #{tmp\ 1578}#
+ #{orig-args\ 13810}#))))
+ (#{req\ 13813}#
+ (lambda (#{args\ 13823}# #{rreq\ 13824}#)
+ ((lambda (#{tmp\ 13827}#)
+ ((lambda (#{tmp\ 13828}#)
+ (if #{tmp\ 13828}#
(apply (lambda ()
- (#{check\ 1565}#
- (reverse #{rreq\ 1574}#)
+ (#{check\ 13815}#
+ (reverse #{rreq\ 13824}#)
#f))
- #{tmp\ 1578}#)
- ((lambda (#{tmp\ 1579}#)
- (if (if #{tmp\ 1579}#
- (apply (lambda (#{a\ 1582}#
- #{b\ 1583}#)
- (#{id?\ 666}#
- #{a\ 1582}#))
- #{tmp\ 1579}#)
+ #{tmp\ 13828}#)
+ ((lambda (#{tmp\ 13829}#)
+ (if (if #{tmp\ 13829}#
+ (apply (lambda (#{a\ 13832}#
+ #{b\ 13833}#)
+ (#{id?\ 12916}#
+ #{a\ 13832}#))
+ #{tmp\ 13829}#)
#f)
- (apply (lambda (#{a\ 1586}#
- #{b\ 1587}#)
- (#{req\ 1563}#
- #{b\ 1587}#
- (cons #{a\ 1586}#
- #{rreq\ 1574}#)))
- #{tmp\ 1579}#)
- ((lambda (#{tmp\ 1588}#)
- (if (if #{tmp\ 1588}#
- (apply (lambda (#{r\ 1590}#)
- (#{id?\ 666}#
- #{r\ 1590}#))
- #{tmp\ 1588}#)
+ (apply (lambda (#{a\ 13836}#
+ #{b\ 13837}#)
+ (#{req\ 13813}#
+ #{b\ 13837}#
+ (cons #{a\ 13836}#
+ #{rreq\ 13824}#)))
+ #{tmp\ 13829}#)
+ ((lambda (#{tmp\ 13838}#)
+ (if (if #{tmp\ 13838}#
+ (apply (lambda (#{r\ 13840}#)
+ (#{id?\ 12916}#
+ #{r\ 13840}#))
+ #{tmp\ 13838}#)
#f)
- (apply (lambda (#{r\ 1592}#)
- (#{check\ 1565}#
+ (apply (lambda (#{r\ 13842}#)
+ (#{check\ 13815}#
(reverse
- #{rreq\ 1574}#)
- #{r\ 1592}#))
- #{tmp\ 1588}#)
- ((lambda (#{else\ 1594}#)
+ #{rreq\ 13824}#)
+ #{r\ 13842}#))
+ #{tmp\ 13838}#)
+ ((lambda (#{else\ 13844}#)
(syntax-violation
'lambda
"invalid argument list"
- #{orig-args\ 1560}#
- #{args\ 1573}#))
- #{tmp\ 1577}#)))
- (list #{tmp\ 1577}#))))
+ #{orig-args\ 13810}#
+ #{args\ 13823}#))
+ #{tmp\ 13827}#)))
+ (list #{tmp\ 13827}#))))
($sc-dispatch
- #{tmp\ 1577}#
+ #{tmp\ 13827}#
'(any . any)))))
- ($sc-dispatch #{tmp\ 1577}# (quote ()))))
- #{args\ 1573}#))))
- (#{req\ 1563}# #{orig-args\ 1560}# (quote ())))))
- (#{ellipsis?\ 767}#
- (lambda (#{x\ 1595}#)
- (if (#{nonsymbol-id?\ 664}# #{x\ 1595}#)
- (#{free-id=?\ 725}#
- #{x\ 1595}#
+ ($sc-dispatch #{tmp\ 13827}# (quote ()))))
+ #{args\ 13823}#))))
+ (#{req\ 13813}# #{orig-args\ 13810}# (quote ())))))
+ (#{ellipsis?\ 13017}#
+ (lambda (#{x\ 13845}#)
+ (if (#{nonsymbol-id?\ 12914}# #{x\ 13845}#)
+ (#{free-id=?\ 12975}#
+ #{x\ 13845}#
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i1596"))
+ #(ribcage #(x) #((top)) #("i13846"))
#(ribcage
(lambda-var-list
gen-var
@@ -2102,6 +2232,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -2219,1412 +2367,1460 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
- (define-structure and-map*)
- ((top) (top))
- ("i467" "i465")))
+ (define-structure
+ define-expansion-constructors
+ and-map*)
+ ((top) (top) (top))
+ ("i12629" "i12628" "i12626")))
(hygiene guile)))
#f)))
- (#{chi-void\ 765}#
- (lambda () (#{build-void\ 586}# #f)))
- (#{eval-local-transformer\ 763}#
- (lambda (#{expanded\ 1600}# #{mod\ 1601}#)
- (let ((#{p\ 1605}#
- (#{local-eval-hook\ 577}#
- #{expanded\ 1600}#
- #{mod\ 1601}#)))
- (if (procedure? #{p\ 1605}#)
- (cons #{p\ 1605}# (module-name (current-module)))
+ (#{chi-void\ 13015}#
+ (lambda () (#{build-void\ 12836}# #f)))
+ (#{eval-local-transformer\ 13013}#
+ (lambda (#{expanded\ 13850}# #{mod\ 13851}#)
+ (let ((#{p\ 13855}#
+ (#{local-eval-hook\ 12827}#
+ #{expanded\ 13850}#
+ #{mod\ 13851}#)))
+ (if (procedure? #{p\ 13855}#)
+ (cons #{p\ 13855}#
+ (module-name (current-module)))
(syntax-violation
#f
"nonprocedure transformer"
- #{p\ 1605}#)))))
- (#{chi-local-syntax\ 761}#
- (lambda (#{rec?\ 1606}#
- #{e\ 1607}#
- #{r\ 1608}#
- #{w\ 1609}#
- #{s\ 1610}#
- #{mod\ 1611}#
- #{k\ 1612}#)
- ((lambda (#{tmp\ 1620}#)
- ((lambda (#{tmp\ 1621}#)
- (if #{tmp\ 1621}#
- (apply (lambda (#{_\ 1627}#
- #{id\ 1628}#
- #{val\ 1629}#
- #{e1\ 1630}#
- #{e2\ 1631}#)
- (let ((#{ids\ 1633}# #{id\ 1628}#))
- (if (not (#{valid-bound-ids?\ 729}#
- #{ids\ 1633}#))
+ #{p\ 13855}#)))))
+ (#{chi-local-syntax\ 13011}#
+ (lambda (#{rec?\ 13856}#
+ #{e\ 13857}#
+ #{r\ 13858}#
+ #{w\ 13859}#
+ #{s\ 13860}#
+ #{mod\ 13861}#
+ #{k\ 13862}#)
+ ((lambda (#{tmp\ 13870}#)
+ ((lambda (#{tmp\ 13871}#)
+ (if #{tmp\ 13871}#
+ (apply (lambda (#{_\ 13877}#
+ #{id\ 13878}#
+ #{val\ 13879}#
+ #{e1\ 13880}#
+ #{e2\ 13881}#)
+ (let ((#{ids\ 13883}# #{id\ 13878}#))
+ (if (not (#{valid-bound-ids?\ 12979}#
+ #{ids\ 13883}#))
(syntax-violation
#f
"duplicate bound keyword"
- #{e\ 1607}#)
- (let ((#{labels\ 1636}#
- (#{gen-labels\ 684}#
- #{ids\ 1633}#)))
- (let ((#{new-w\ 1638}#
- (#{make-binding-wrap\ 713}#
- #{ids\ 1633}#
- #{labels\ 1636}#
- #{w\ 1609}#)))
- (#{k\ 1612}#
- (cons #{e1\ 1630}# #{e2\ 1631}#)
- (#{extend-env\ 654}#
- #{labels\ 1636}#
- (let ((#{w\ 1642}#
- (if #{rec?\ 1606}#
- #{new-w\ 1638}#
- #{w\ 1609}#))
- (#{trans-r\ 1643}#
- (#{macros-only-env\ 658}#
- #{r\ 1608}#)))
- (map (lambda (#{x\ 1644}#)
+ #{e\ 13857}#)
+ (let ((#{labels\ 13886}#
+ (#{gen-labels\ 12934}#
+ #{ids\ 13883}#)))
+ (let ((#{new-w\ 13888}#
+ (#{make-binding-wrap\ 12963}#
+ #{ids\ 13883}#
+ #{labels\ 13886}#
+ #{w\ 13859}#)))
+ (#{k\ 13862}#
+ (cons #{e1\ 13880}# #{e2\ 13881}#)
+ (#{extend-env\ 12904}#
+ #{labels\ 13886}#
+ (let ((#{w\ 13892}#
+ (if #{rec?\ 13856}#
+ #{new-w\ 13888}#
+ #{w\ 13859}#))
+ (#{trans-r\ 13893}#
+ (#{macros-only-env\ 12908}#
+ #{r\ 13858}#)))
+ (map (lambda (#{x\ 13894}#)
(cons 'macro
-
(#{eval-local-transformer\ 763}#
- (#{chi\ 751}#
- #{x\ 1644}#
- #{trans-r\
1643}#
- #{w\ 1642}#
- #{mod\ 1611}#)
- #{mod\ 1611}#)))
- #{val\ 1629}#))
- #{r\ 1608}#)
- #{new-w\ 1638}#
- #{s\ 1610}#
- #{mod\ 1611}#))))))
- #{tmp\ 1621}#)
- ((lambda (#{_\ 1649}#)
+
(#{eval-local-transformer\ 13013}#
+ (#{chi\ 13001}#
+ #{x\ 13894}#
+ #{trans-r\
13893}#
+ #{w\ 13892}#
+ #{mod\ 13861}#)
+ #{mod\ 13861}#)))
+ #{val\ 13879}#))
+ #{r\ 13858}#)
+ #{new-w\ 13888}#
+ #{s\ 13860}#
+ #{mod\ 13861}#))))))
+ #{tmp\ 13871}#)
+ ((lambda (#{_\ 13899}#)
(syntax-violation
#f
"bad local syntax definition"
- (#{source-wrap\ 737}#
- #{e\ 1607}#
- #{w\ 1609}#
- #{s\ 1610}#
- #{mod\ 1611}#)))
- #{tmp\ 1620}#)))
+ (#{source-wrap\ 12987}#
+ #{e\ 13857}#
+ #{w\ 13859}#
+ #{s\ 13860}#
+ #{mod\ 13861}#)))
+ #{tmp\ 13870}#)))
($sc-dispatch
- #{tmp\ 1620}#
+ #{tmp\ 13870}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1607}#)))
- (#{chi-body\ 759}#
- (lambda (#{body\ 1650}#
- #{outer-form\ 1651}#
- #{r\ 1652}#
- #{w\ 1653}#
- #{mod\ 1654}#)
- (let ((#{r\ 1662}#
+ #{e\ 13857}#)))
+ (#{chi-body\ 13009}#
+ (lambda (#{body\ 13900}#
+ #{outer-form\ 13901}#
+ #{r\ 13902}#
+ #{w\ 13903}#
+ #{mod\ 13904}#)
+ (let ((#{r\ 13912}#
(cons '("placeholder" placeholder)
- #{r\ 1652}#)))
- (let ((#{ribcage\ 1664}#
- (#{make-ribcage\ 687}#
+ #{r\ 13902}#)))
+ (let ((#{ribcage\ 13914}#
+ (#{make-ribcage\ 12937}#
'()
'()
'())))
- (let ((#{w\ 1667}#
- (#{make-wrap\ 671}#
- (#{wrap-marks\ 673}# #{w\ 1653}#)
- (cons #{ribcage\ 1664}#
- (#{wrap-subst\ 675}# #{w\ 1653}#)))))
- (letrec ((#{parse\ 1676}#
- (lambda (#{body\ 1677}#
- #{ids\ 1678}#
- #{labels\ 1679}#
- #{var-ids\ 1680}#
- #{vars\ 1681}#
- #{vals\ 1682}#
- #{bindings\ 1683}#)
- (if (null? #{body\ 1677}#)
+ (let ((#{w\ 13917}#
+ (#{make-wrap\ 12921}#
+ (#{wrap-marks\ 12923}# #{w\ 13903}#)
+ (cons #{ribcage\ 13914}#
+ (#{wrap-subst\ 12925}# #{w\ 13903}#)))))
+ (letrec ((#{parse\ 13926}#
+ (lambda (#{body\ 13927}#
+ #{ids\ 13928}#
+ #{labels\ 13929}#
+ #{var-ids\ 13930}#
+ #{vars\ 13931}#
+ #{vals\ 13932}#
+ #{bindings\ 13933}#)
+ (if (null? #{body\ 13927}#)
(syntax-violation
#f
"no expressions in body"
- #{outer-form\ 1651}#)
- (let ((#{e\ 1688}# (cdar #{body\ 1677}#))
- (#{er\ 1689}# (caar #{body\ 1677}#)))
+ #{outer-form\ 13901}#)
+ (let ((#{e\ 13938}# (cdar #{body\ 13927}#))
+ (#{er\ 13939}#
+ (caar #{body\ 13927}#)))
(call-with-values
(lambda ()
- (#{syntax-type\ 747}#
- #{e\ 1688}#
- #{er\ 1689}#
+ (#{syntax-type\ 12997}#
+ #{e\ 13938}#
+ #{er\ 13939}#
'(())
- (#{source-annotation\ 645}#
- #{er\ 1689}#)
- #{ribcage\ 1664}#
- #{mod\ 1654}#
+ (#{source-annotation\ 12895}#
+ #{er\ 13939}#)
+ #{ribcage\ 13914}#
+ #{mod\ 13904}#
#f))
- (lambda (#{type\ 1691}#
- #{value\ 1692}#
- #{e\ 1693}#
- #{w\ 1694}#
- #{s\ 1695}#
- #{mod\ 1696}#)
- (if (memv #{type\ 1691}#
+ (lambda (#{type\ 13941}#
+ #{value\ 13942}#
+ #{e\ 13943}#
+ #{w\ 13944}#
+ #{s\ 13945}#
+ #{mod\ 13946}#)
+ (if (memv #{type\ 13941}#
'(define-form))
- (let ((#{id\ 1706}#
- (#{wrap\ 735}#
- #{value\ 1692}#
- #{w\ 1694}#
- #{mod\ 1696}#))
- (#{label\ 1707}#
- (#{gen-label\ 682}#)))
- (let ((#{var\ 1709}#
- (#{gen-var\ 779}#
- #{id\ 1706}#)))
+ (let ((#{id\ 13956}#
+ (#{wrap\ 12985}#
+ #{value\ 13942}#
+ #{w\ 13944}#
+ #{mod\ 13946}#))
+ (#{label\ 13957}#
+ (#{gen-label\ 12932}#)))
+ (let ((#{var\ 13959}#
+ (#{gen-var\ 13029}#
+ #{id\ 13956}#)))
(begin
- (#{extend-ribcage!\ 711}#
- #{ribcage\ 1664}#
- #{id\ 1706}#
- #{label\ 1707}#)
- (#{parse\ 1676}#
- (cdr #{body\ 1677}#)
- (cons #{id\ 1706}#
- #{ids\ 1678}#)
- (cons #{label\ 1707}#
- #{labels\ 1679}#)
- (cons #{id\ 1706}#
- #{var-ids\ 1680}#)
- (cons #{var\ 1709}#
- #{vars\ 1681}#)
- (cons (cons #{er\ 1689}#
- (#{wrap\ 735}#
- #{e\ 1693}#
- #{w\ 1694}#
- #{mod\
1696}#))
- #{vals\ 1682}#)
+ (#{extend-ribcage!\ 12961}#
+ #{ribcage\ 13914}#
+ #{id\ 13956}#
+ #{label\ 13957}#)
+ (#{parse\ 13926}#
+ (cdr #{body\ 13927}#)
+ (cons #{id\ 13956}#
+ #{ids\ 13928}#)
+ (cons #{label\ 13957}#
+ #{labels\ 13929}#)
+ (cons #{id\ 13956}#
+ #{var-ids\ 13930}#)
+ (cons #{var\ 13959}#
+ #{vars\ 13931}#)
+ (cons (cons #{er\ 13939}#
+ (#{wrap\
12985}#
+ #{e\ 13943}#
+ #{w\ 13944}#
+ #{mod\
13946}#))
+ #{vals\ 13932}#)
(cons (cons 'lexical
- #{var\ 1709}#)
- #{bindings\
1683}#)))))
- (if (memv #{type\ 1691}#
+ #{var\ 13959}#)
+ #{bindings\
13933}#)))))
+ (if (memv #{type\ 13941}#
'(define-syntax-form))
- (let ((#{id\ 1714}#
- (#{wrap\ 735}#
- #{value\ 1692}#
- #{w\ 1694}#
- #{mod\ 1696}#))
- (#{label\ 1715}#
- (#{gen-label\ 682}#)))
+ (let ((#{id\ 13964}#
+ (#{wrap\ 12985}#
+ #{value\ 13942}#
+ #{w\ 13944}#
+ #{mod\ 13946}#))
+ (#{label\ 13965}#
+ (#{gen-label\ 12932}#)))
(begin
- (#{extend-ribcage!\ 711}#
- #{ribcage\ 1664}#
- #{id\ 1714}#
- #{label\ 1715}#)
- (#{parse\ 1676}#
- (cdr #{body\ 1677}#)
- (cons #{id\ 1714}#
- #{ids\ 1678}#)
- (cons #{label\ 1715}#
- #{labels\ 1679}#)
- #{var-ids\ 1680}#
- #{vars\ 1681}#
- #{vals\ 1682}#
+ (#{extend-ribcage!\ 12961}#
+ #{ribcage\ 13914}#
+ #{id\ 13964}#
+ #{label\ 13965}#)
+ (#{parse\ 13926}#
+ (cdr #{body\ 13927}#)
+ (cons #{id\ 13964}#
+ #{ids\ 13928}#)
+ (cons #{label\ 13965}#
+ #{labels\ 13929}#)
+ #{var-ids\ 13930}#
+ #{vars\ 13931}#
+ #{vals\ 13932}#
(cons (cons 'macro
- (cons #{er\
1689}#
- (#{wrap\
735}#
- #{e\
1693}#
- #{w\
1694}#
- #{mod\
1696}#)))
- #{bindings\
1683}#))))
- (if (memv #{type\ 1691}#
+ (cons #{er\
13939}#
+ (#{wrap\
12985}#
+ #{e\
13943}#
+ #{w\
13944}#
+ #{mod\
13946}#)))
+ #{bindings\
13933}#))))
+ (if (memv #{type\ 13941}#
'(begin-form))
- ((lambda (#{tmp\ 1718}#)
- ((lambda (#{tmp\ 1719}#)
- (if #{tmp\ 1719}#
- (apply (lambda (#{_\
1722}#
- #{e1\
1723}#)
- (#{parse\
1676}#
- (letrec
((#{f\ 1726}#
-
(lambda (#{forms\ 1727}#)
-
(if (null? #{forms\ 1727}#)
-
(cdr #{body\ 1677}#)
-
(cons (cons #{er\ 1689}#
-
(#{wrap\ 735}#
-
(car #{forms\ 1727}#)
-
#{w\ 1694}#
-
#{mod\ 1696}#))
-
(#{f\ 1726}#
-
(cdr #{forms\ 1727}#)))))))
- (#{f\
1726}#
- #{e1\
1723}#))
- #{ids\
1678}#
- #{labels\
1679}#
- #{var-ids\
1680}#
- #{vars\
1681}#
- #{vals\
1682}#
- #{bindings\
1683}#))
- #{tmp\ 1719}#)
+ ((lambda (#{tmp\ 13968}#)
+ ((lambda (#{tmp\ 13969}#)
+ (if #{tmp\ 13969}#
+ (apply (lambda (#{_\
13972}#
+ #{e1\
13973}#)
+ (#{parse\
13926}#
+ (letrec
((#{f\ 13976}#
+
(lambda (#{forms\ 13977}#)
+
(if (null? #{forms\ 13977}#)
+
(cdr #{body\ 13927}#)
+
(cons (cons #{er\ 13939}#
+
(#{wrap\ 12985}#
+
(car #{forms\ 13977}#)
+
#{w\ 13944}#
+
#{mod\ 13946}#))
+
(#{f\ 13976}#
+
(cdr #{forms\ 13977}#)))))))
+ (#{f\
13976}#
+ #{e1\
13973}#))
+ #{ids\
13928}#
+ #{labels\
13929}#
+ #{var-ids\
13930}#
+ #{vars\
13931}#
+ #{vals\
13932}#
+ #{bindings\
13933}#))
+ #{tmp\ 13969}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 1718}#)))
+ #{tmp\ 13968}#)))
($sc-dispatch
- #{tmp\ 1718}#
+ #{tmp\ 13968}#
'(any . each-any))))
- #{e\ 1693}#)
- (if (memv #{type\ 1691}#
+ #{e\ 13943}#)
+ (if (memv #{type\ 13941}#
'(local-syntax-form))
- (#{chi-local-syntax\ 761}#
- #{value\ 1692}#
- #{e\ 1693}#
- #{er\ 1689}#
- #{w\ 1694}#
- #{s\ 1695}#
- #{mod\ 1696}#
- (lambda (#{forms\ 1730}#
- #{er\ 1731}#
- #{w\ 1732}#
- #{s\ 1733}#
- #{mod\ 1734}#)
- (#{parse\ 1676}#
- (letrec ((#{f\ 1742}#
- (lambda
(#{forms\ 1743}#)
- (if
(null? #{forms\ 1743}#)
- (cdr
#{body\ 1677}#)
- (cons
(cons #{er\ 1731}#
-
(#{wrap\ 735}#
-
(car #{forms\ 1743}#)
-
#{w\ 1732}#
-
#{mod\ 1734}#))
-
(#{f\ 1742}#
-
(cdr #{forms\ 1743}#)))))))
- (#{f\ 1742}#
- #{forms\ 1730}#))
- #{ids\ 1678}#
- #{labels\ 1679}#
- #{var-ids\ 1680}#
- #{vars\ 1681}#
- #{vals\ 1682}#
- #{bindings\ 1683}#)))
- (if (null? #{ids\ 1678}#)
- (#{build-sequence\ 618}#
+ (#{chi-local-syntax\ 13011}#
+ #{value\ 13942}#
+ #{e\ 13943}#
+ #{er\ 13939}#
+ #{w\ 13944}#
+ #{s\ 13945}#
+ #{mod\ 13946}#
+ (lambda (#{forms\ 13980}#
+ #{er\ 13981}#
+ #{w\ 13982}#
+ #{s\ 13983}#
+ #{mod\ 13984}#)
+ (#{parse\ 13926}#
+ (letrec ((#{f\ 13992}#
+ (lambda
(#{forms\ 13993}#)
+ (if
(null? #{forms\ 13993}#)
+ (cdr
#{body\ 13927}#)
+ (cons
(cons #{er\ 13981}#
+
(#{wrap\ 12985}#
+
(car #{forms\ 13993}#)
+
#{w\ 13982}#
+
#{mod\ 13984}#))
+
(#{f\ 13992}#
+
(cdr #{forms\ 13993}#)))))))
+ (#{f\ 13992}#
+ #{forms\ 13980}#))
+ #{ids\ 13928}#
+ #{labels\ 13929}#
+ #{var-ids\ 13930}#
+ #{vars\ 13931}#
+ #{vals\ 13932}#
+ #{bindings\ 13933}#)))
+ (if (null? #{ids\ 13928}#)
+ (#{build-sequence\ 12868}#
#f
- (map (lambda (#{x\
1746}#)
- (#{chi\ 751}#
- (cdr #{x\
1746}#)
- (car #{x\
1746}#)
+ (map (lambda (#{x\
13996}#)
+ (#{chi\ 13001}#
+ (cdr #{x\
13996}#)
+ (car #{x\
13996}#)
'(())
- #{mod\ 1696}#))
- (cons (cons #{er\
1689}#
-
(#{source-wrap\ 737}#
- #{e\
1693}#
- #{w\
1694}#
- #{s\
1695}#
-
#{mod\ 1696}#))
- (cdr #{body\
1677}#))))
+ #{mod\ 13946}#))
+ (cons (cons #{er\
13939}#
+
(#{source-wrap\ 12987}#
+ #{e\
13943}#
+ #{w\
13944}#
+ #{s\
13945}#
+
#{mod\ 13946}#))
+ (cdr #{body\
13927}#))))
(begin
- (if (not
(#{valid-bound-ids?\ 729}#
- #{ids\
1678}#))
+ (if (not
(#{valid-bound-ids?\ 12979}#
+ #{ids\
13928}#))
(syntax-violation
#f
"invalid or
duplicate identifier in definition"
- #{outer-form\
1651}#))
- (letrec ((#{loop\ 1753}#
- (lambda
(#{bs\ 1754}#
-
#{er-cache\ 1755}#
-
#{r-cache\ 1756}#)
- (if (not
(null? #{bs\ 1754}#))
- (let
((#{b\ 1759}#
-
(car #{bs\ 1754}#)))
- (if
(eq? (car #{b\ 1759}#)
+ #{outer-form\
13901}#))
+ (letrec ((#{loop\ 14003}#
+ (lambda
(#{bs\ 14004}#
+
#{er-cache\ 14005}#
+
#{r-cache\ 14006}#)
+ (if (not
(null? #{bs\ 14004}#))
+ (let
((#{b\ 14009}#
+
(car #{bs\ 14004}#)))
+ (if
(eq? (car #{b\ 14009}#)
'macro)
- (let
((#{er\ 1762}#
-
(cadr #{b\ 1759}#)))
-
(let ((#{r-cache\ 1764}#
-
(if (eq? #{er\ 1762}#
-
#{er-cache\ 1755}#)
-
#{r-cache\ 1756}#
-
(#{macros-only-env\ 658}#
-
#{er\ 1762}#))))
+ (let
((#{er\ 14012}#
+
(cadr #{b\ 14009}#)))
+
(let ((#{r-cache\ 14014}#
+
(if (eq? #{er\ 14012}#
+
#{er-cache\ 14005}#)
+
#{r-cache\ 14006}#
+
(#{macros-only-env\ 12908}#
+
#{er\ 14012}#))))
(begin
(set-cdr!
-
#{b\ 1759}#
-
(#{eval-local-transformer\ 763}#
-
(#{chi\ 751}#
-
(cddr #{b\ 1759}#)
-
#{r-cache\ 1764}#
+
#{b\ 14009}#
+
(#{eval-local-transformer\ 13013}#
+
(#{chi\ 13001}#
+
(cddr #{b\ 14009}#)
+
#{r-cache\ 14014}#
'(())
-
#{mod\ 1696}#)
-
#{mod\ 1696}#))
-
(#{loop\ 1753}#
-
(cdr #{bs\ 1754}#)
-
#{er\ 1762}#
-
#{r-cache\ 1764}#))))
-
(#{loop\ 1753}#
-
(cdr #{bs\ 1754}#)
-
#{er-cache\ 1755}#
-
#{r-cache\ 1756}#)))))))
- (#{loop\ 1753}#
- #{bindings\ 1683}#
+
#{mod\ 13946}#)
+
#{mod\ 13946}#))
+
(#{loop\ 14003}#
+
(cdr #{bs\ 14004}#)
+
#{er\ 14012}#
+
#{r-cache\ 14014}#))))
+
(#{loop\ 14003}#
+
(cdr #{bs\ 14004}#)
+
#{er-cache\ 14005}#
+
#{r-cache\ 14006}#)))))))
+ (#{loop\ 14003}#
+ #{bindings\ 13933}#
#f
#f))
(set-cdr!
- #{r\ 1662}#
- (#{extend-env\ 654}#
- #{labels\ 1679}#
- #{bindings\ 1683}#
- (cdr #{r\ 1662}#)))
- (#{build-letrec\ 624}#
+ #{r\ 13912}#
+ (#{extend-env\ 12904}#
+ #{labels\ 13929}#
+ #{bindings\ 13933}#
+ (cdr #{r\ 13912}#)))
+ (#{build-letrec\ 12874}#
#f
(map syntax->datum
- #{var-ids\ 1680}#)
- #{vars\ 1681}#
- (map (lambda (#{x\
1767}#)
- (#{chi\ 751}#
- (cdr #{x\
1767}#)
- (car #{x\
1767}#)
+ #{var-ids\
13930}#)
+ #{vars\ 13931}#
+ (map (lambda (#{x\
14017}#)
+ (#{chi\ 13001}#
+ (cdr #{x\
14017}#)
+ (car #{x\
14017}#)
'(())
- #{mod\
1696}#))
- #{vals\ 1682}#)
- (#{build-sequence\
618}#
+ #{mod\
13946}#))
+ #{vals\ 13932}#)
+ (#{build-sequence\
12868}#
#f
- (map (lambda (#{x\
1771}#)
- (#{chi\ 751}#
- (cdr #{x\
1771}#)
- (car #{x\
1771}#)
+ (map (lambda (#{x\
14021}#)
+ (#{chi\
13001}#
+ (cdr #{x\
14021}#)
+ (car #{x\
14021}#)
'(())
- #{mod\
1696}#))
- (cons (cons
#{er\ 1689}#
-
(#{source-wrap\ 737}#
-
#{e\ 1693}#
-
#{w\ 1694}#
-
#{s\ 1695}#
-
#{mod\ 1696}#))
- (cdr
#{body\ 1677}#))))))))))))))))))
- (#{parse\ 1676}#
- (map (lambda (#{x\ 1684}#)
- (cons #{r\ 1662}#
- (#{wrap\ 735}#
- #{x\ 1684}#
- #{w\ 1667}#
- #{mod\ 1654}#)))
- #{body\ 1650}#)
+ #{mod\
13946}#))
+ (cons (cons
#{er\ 13939}#
+
(#{source-wrap\ 12987}#
+
#{e\ 13943}#
+
#{w\ 13944}#
+
#{s\ 13945}#
+
#{mod\ 13946}#))
+ (cdr
#{body\ 13927}#))))))))))))))))))
+ (#{parse\ 13926}#
+ (map (lambda (#{x\ 13934}#)
+ (cons #{r\ 13912}#
+ (#{wrap\ 12985}#
+ #{x\ 13934}#
+ #{w\ 13917}#
+ #{mod\ 13904}#)))
+ #{body\ 13900}#)
'()
'()
'()
'()
'()
'())))))))
- (#{chi-macro\ 757}#
- (lambda (#{p\ 1774}#
- #{e\ 1775}#
- #{r\ 1776}#
- #{w\ 1777}#
- #{rib\ 1778}#
- #{mod\ 1779}#)
- (letrec ((#{rebuild-macro-output\ 1787}#
- (lambda (#{x\ 1788}# #{m\ 1789}#)
- (if (pair? #{x\ 1788}#)
- (cons (#{rebuild-macro-output\ 1787}#
- (car #{x\ 1788}#)
- #{m\ 1789}#)
- (#{rebuild-macro-output\ 1787}#
- (cdr #{x\ 1788}#)
- #{m\ 1789}#))
- (if (#{syntax-object?\ 630}# #{x\ 1788}#)
- (let ((#{w\ 1797}#
- (#{syntax-object-wrap\ 634}#
- #{x\ 1788}#)))
- (let ((#{ms\ 1800}#
- (#{wrap-marks\ 673}# #{w\ 1797}#))
- (#{s\ 1801}#
- (#{wrap-subst\ 675}# #{w\ 1797}#)))
- (if (if (pair? #{ms\ 1800}#)
- (eq? (car #{ms\ 1800}#) #f)
+ (#{chi-macro\ 13007}#
+ (lambda (#{p\ 14024}#
+ #{e\ 14025}#
+ #{r\ 14026}#
+ #{w\ 14027}#
+ #{rib\ 14028}#
+ #{mod\ 14029}#)
+ (letrec ((#{rebuild-macro-output\ 14037}#
+ (lambda (#{x\ 14038}# #{m\ 14039}#)
+ (if (pair? #{x\ 14038}#)
+ (cons (#{rebuild-macro-output\ 14037}#
+ (car #{x\ 14038}#)
+ #{m\ 14039}#)
+ (#{rebuild-macro-output\ 14037}#
+ (cdr #{x\ 14038}#)
+ #{m\ 14039}#))
+ (if (#{syntax-object?\ 12880}# #{x\ 14038}#)
+ (let ((#{w\ 14047}#
+ (#{syntax-object-wrap\ 12884}#
+ #{x\ 14038}#)))
+ (let ((#{ms\ 14050}#
+ (#{wrap-marks\ 12923}# #{w\ 14047}#))
+ (#{s\ 14051}#
+ (#{wrap-subst\ 12925}#
+ #{w\ 14047}#)))
+ (if (if (pair? #{ms\ 14050}#)
+ (eq? (car #{ms\ 14050}#) #f)
#f)
- (#{make-syntax-object\ 628}#
- (#{syntax-object-expression\ 632}#
- #{x\ 1788}#)
- (#{make-wrap\ 671}#
- (cdr #{ms\ 1800}#)
- (if #{rib\ 1778}#
- (cons #{rib\ 1778}#
- (cdr #{s\ 1801}#))
- (cdr #{s\ 1801}#)))
- (#{syntax-object-module\ 636}#
- #{x\ 1788}#))
- (#{make-syntax-object\ 628}#
- (#{syntax-object-expression\ 632}#
- #{x\ 1788}#)
- (#{make-wrap\ 671}#
- (cons #{m\ 1789}# #{ms\ 1800}#)
- (if #{rib\ 1778}#
- (cons #{rib\ 1778}#
+ (#{make-syntax-object\ 12878}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14038}#)
+ (#{make-wrap\ 12921}#
+ (cdr #{ms\ 14050}#)
+ (if #{rib\ 14028}#
+ (cons #{rib\ 14028}#
+ (cdr #{s\ 14051}#))
+ (cdr #{s\ 14051}#)))
+ (#{syntax-object-module\ 12886}#
+ #{x\ 14038}#))
+ (#{make-syntax-object\ 12878}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14038}#)
+ (#{make-wrap\ 12921}#
+ (cons #{m\ 14039}# #{ms\ 14050}#)
+ (if #{rib\ 14028}#
+ (cons #{rib\ 14028}#
(cons 'shift
- #{s\ 1801}#))
- (cons (quote shift) #{s\ 1801}#)))
+ #{s\ 14051}#))
+ (cons (quote shift) #{s\ 14051}#)))
(cons 'hygiene
- (cdr #{p\ 1774}#))))))
- (if (vector? #{x\ 1788}#)
- (let ((#{n\ 1809}#
- (vector-length #{x\ 1788}#)))
- (let ((#{v\ 1811}#
- (make-vector #{n\ 1809}#)))
- (letrec ((#{loop\ 1814}#
- (lambda (#{i\ 1815}#)
- (if (#{fx=\ 571}#
- #{i\ 1815}#
- #{n\ 1809}#)
+ (cdr #{p\ 14024}#))))))
+ (if (vector? #{x\ 14038}#)
+ (let ((#{n\ 14059}#
+ (vector-length #{x\ 14038}#)))
+ (let ((#{v\ 14061}#
+ (make-vector #{n\ 14059}#)))
+ (letrec ((#{loop\ 14064}#
+ (lambda (#{i\ 14065}#)
+ (if (#{fx=\ 12821}#
+ #{i\ 14065}#
+ #{n\ 14059}#)
(begin
(if #f #f)
- #{v\ 1811}#)
+ #{v\ 14061}#)
(begin
(vector-set!
- #{v\ 1811}#
- #{i\ 1815}#
-
(#{rebuild-macro-output\ 1787}#
+ #{v\ 14061}#
+ #{i\ 14065}#
+
(#{rebuild-macro-output\ 14037}#
(vector-ref
- #{x\ 1788}#
- #{i\ 1815}#)
- #{m\ 1789}#))
- (#{loop\ 1814}#
- (#{fx+\ 567}#
- #{i\ 1815}#
+ #{x\ 14038}#
+ #{i\ 14065}#)
+ #{m\ 14039}#))
+ (#{loop\ 14064}#
+ (#{fx+\ 12817}#
+ #{i\ 14065}#
1)))))))
- (#{loop\ 1814}# 0))))
- (if (symbol? #{x\ 1788}#)
+ (#{loop\ 14064}# 0))))
+ (if (symbol? #{x\ 14038}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
- (#{source-wrap\ 737}#
- #{e\ 1775}#
- #{w\ 1777}#
- (#{wrap-subst\ 675}# #{w\ 1777}#)
- #{mod\ 1779}#)
- #{x\ 1788}#)
- #{x\ 1788}#)))))))
- (#{rebuild-macro-output\ 1787}#
- ((car #{p\ 1774}#)
- (#{wrap\ 735}#
- #{e\ 1775}#
- (#{anti-mark\ 707}# #{w\ 1777}#)
- #{mod\ 1779}#))
+ (#{source-wrap\ 12987}#
+ #{e\ 14025}#
+ #{w\ 14027}#
+ (#{wrap-subst\ 12925}# #{w\ 14027}#)
+ #{mod\ 14029}#)
+ #{x\ 14038}#)
+ #{x\ 14038}#)))))))
+ (#{rebuild-macro-output\ 14037}#
+ ((car #{p\ 14024}#)
+ (#{wrap\ 12985}#
+ #{e\ 14025}#
+ (#{anti-mark\ 12957}# #{w\ 14027}#)
+ #{mod\ 14029}#))
(gensym "m")))))
- (#{chi-application\ 755}#
- (lambda (#{x\ 1822}#
- #{e\ 1823}#
- #{r\ 1824}#
- #{w\ 1825}#
- #{s\ 1826}#
- #{mod\ 1827}#)
- ((lambda (#{tmp\ 1834}#)
- ((lambda (#{tmp\ 1835}#)
- (if #{tmp\ 1835}#
- (apply (lambda (#{e0\ 1838}# #{e1\ 1839}#)
- (#{build-application\ 588}#
- #{s\ 1826}#
- #{x\ 1822}#
- (map (lambda (#{e\ 1840}#)
- (#{chi\ 751}#
- #{e\ 1840}#
- #{r\ 1824}#
- #{w\ 1825}#
- #{mod\ 1827}#))
- #{e1\ 1839}#)))
- #{tmp\ 1835}#)
+ (#{chi-application\ 13005}#
+ (lambda (#{x\ 14072}#
+ #{e\ 14073}#
+ #{r\ 14074}#
+ #{w\ 14075}#
+ #{s\ 14076}#
+ #{mod\ 14077}#)
+ ((lambda (#{tmp\ 14084}#)
+ ((lambda (#{tmp\ 14085}#)
+ (if #{tmp\ 14085}#
+ (apply (lambda (#{e0\ 14088}# #{e1\ 14089}#)
+ (#{build-application\ 12838}#
+ #{s\ 14076}#
+ #{x\ 14072}#
+ (map (lambda (#{e\ 14090}#)
+ (#{chi\ 13001}#
+ #{e\ 14090}#
+ #{r\ 14074}#
+ #{w\ 14075}#
+ #{mod\ 14077}#))
+ #{e1\ 14089}#)))
+ #{tmp\ 14085}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1834}#)))
+ #{tmp\ 14084}#)))
($sc-dispatch
- #{tmp\ 1834}#
+ #{tmp\ 14084}#
'(any . each-any))))
- #{e\ 1823}#)))
- (#{chi-expr\ 753}#
- (lambda (#{type\ 1843}#
- #{value\ 1844}#
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (lexical)))
- (#{build-lexical-reference\ 594}#
+ #{e\ 14073}#)))
+ (#{chi-expr\ 13003}#
+ (lambda (#{type\ 14093}#
+ #{value\ 14094}#
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (lexical)))
+ (#{build-lexical-reference\ 12844}#
'value
- #{s\ 1848}#
- #{e\ 1845}#
- #{value\ 1844}#)
- (if (memv #{type\ 1843}# (quote (core core-form)))
- (#{value\ 1844}#
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (module-ref)))
+ #{s\ 14098}#
+ #{e\ 14095}#
+ #{value\ 14094}#)
+ (if (memv #{type\ 14093}# (quote (core core-form)))
+ (#{value\ 14094}#
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (module-ref)))
(call-with-values
(lambda ()
- (#{value\ 1844}#
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#))
- (lambda (#{e\ 1860}#
- #{r\ 1861}#
- #{w\ 1862}#
- #{s\ 1863}#
- #{mod\ 1864}#)
- (#{chi\ 751}#
- #{e\ 1860}#
- #{r\ 1861}#
- #{w\ 1862}#
- #{mod\ 1864}#)))
- (if (memv #{type\ 1843}# (quote (lexical-call)))
- (#{chi-application\ 755}#
- (#{build-lexical-reference\ 594}#
+ (#{value\ 14094}#
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#))
+ (lambda (#{e\ 14110}#
+ #{r\ 14111}#
+ #{w\ 14112}#
+ #{s\ 14113}#
+ #{mod\ 14114}#)
+ (#{chi\ 13001}#
+ #{e\ 14110}#
+ #{r\ 14111}#
+ #{w\ 14112}#
+ #{mod\ 14114}#)))
+ (if (memv #{type\ 14093}# (quote (lexical-call)))
+ (#{chi-application\ 13005}#
+ (#{build-lexical-reference\ 12844}#
'fun
- (#{source-annotation\ 645}# (car #{e\ 1845}#))
- (car #{e\ 1845}#)
- #{value\ 1844}#)
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (global-call)))
- (#{chi-application\ 755}#
- (#{build-global-reference\ 600}#
- (#{source-annotation\ 645}# (car #{e\ 1845}#))
- (if (#{syntax-object?\ 630}# #{value\ 1844}#)
- (#{syntax-object-expression\ 632}#
- #{value\ 1844}#)
- #{value\ 1844}#)
- (if (#{syntax-object?\ 630}# #{value\ 1844}#)
- (#{syntax-object-module\ 636}# #{value\ 1844}#)
- #{mod\ 1849}#))
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (constant)))
- (#{build-data\ 616}#
- #{s\ 1848}#
- (#{strip\ 777}#
- (#{source-wrap\ 737}#
- #{e\ 1845}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
+ (#{source-annotation\ 12895}# (car #{e\ 14095}#))
+ (car #{e\ 14095}#)
+ #{value\ 14094}#)
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (global-call)))
+ (#{chi-application\ 13005}#
+ (#{build-global-reference\ 12850}#
+ (#{source-annotation\ 12895}# (car #{e\ 14095}#))
+ (if (#{syntax-object?\ 12880}# #{value\ 14094}#)
+ (#{syntax-object-expression\ 12882}#
+ #{value\ 14094}#)
+ #{value\ 14094}#)
+ (if (#{syntax-object?\ 12880}# #{value\ 14094}#)
+ (#{syntax-object-module\ 12886}#
+ #{value\ 14094}#)
+ #{mod\ 14099}#))
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (constant)))
+ (#{build-data\ 12866}#
+ #{s\ 14098}#
+ (#{strip\ 13027}#
+ (#{source-wrap\ 12987}#
+ #{e\ 14095}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
'(())))
- (if (memv #{type\ 1843}# (quote (global)))
- (#{build-global-reference\ 600}#
- #{s\ 1848}#
- #{value\ 1844}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (call)))
- (#{chi-application\ 755}#
- (#{chi\ 751}#
- (car #{e\ 1845}#)
- #{r\ 1846}#
- #{w\ 1847}#
- #{mod\ 1849}#)
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (if (memv #{type\ 1843}# (quote (begin-form)))
- ((lambda (#{tmp\ 1877}#)
- ((lambda (#{tmp\ 1878}#)
- (if #{tmp\ 1878}#
- (apply (lambda (#{_\ 1882}#
- #{e1\ 1883}#
- #{e2\ 1884}#)
- (#{chi-sequence\ 739}#
- (cons #{e1\ 1883}#
- #{e2\ 1884}#)
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#))
- #{tmp\ 1878}#)
+ (if (memv #{type\ 14093}# (quote (global)))
+ (#{build-global-reference\ 12850}#
+ #{s\ 14098}#
+ #{value\ 14094}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (call)))
+ (#{chi-application\ 13005}#
+ (#{chi\ 13001}#
+ (car #{e\ 14095}#)
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{mod\ 14099}#)
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (if (memv #{type\ 14093}# (quote (begin-form)))
+ ((lambda (#{tmp\ 14127}#)
+ ((lambda (#{tmp\ 14128}#)
+ (if #{tmp\ 14128}#
+ (apply (lambda (#{_\ 14132}#
+ #{e1\ 14133}#
+ #{e2\ 14134}#)
+ (#{chi-sequence\ 12989}#
+ (cons #{e1\ 14133}#
+ #{e2\ 14134}#)
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#))
+ #{tmp\ 14128}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 1877}#)))
+ #{tmp\ 14127}#)))
($sc-dispatch
- #{tmp\ 1877}#
+ #{tmp\ 14127}#
'(any any . each-any))))
- #{e\ 1845}#)
- (if (memv #{type\ 1843}#
+ #{e\ 14095}#)
+ (if (memv #{type\ 14093}#
'(local-syntax-form))
- (#{chi-local-syntax\ 761}#
- #{value\ 1844}#
- #{e\ 1845}#
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#
- #{chi-sequence\ 739}#)
- (if (memv #{type\ 1843}#
+ (#{chi-local-syntax\ 13011}#
+ #{value\ 14094}#
+ #{e\ 14095}#
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#
+ #{chi-sequence\ 12989}#)
+ (if (memv #{type\ 14093}#
'(eval-when-form))
- ((lambda (#{tmp\ 1888}#)
- ((lambda (#{tmp\ 1889}#)
- (if #{tmp\ 1889}#
- (apply (lambda (#{_\ 1894}#
- #{x\ 1895}#
- #{e1\ 1896}#
- #{e2\ 1897}#)
- (let ((#{when-list\
1899}#
-
(#{chi-when-list\ 745}#
- #{e\ 1845}#
- #{x\ 1895}#
- #{w\ 1847}#)))
+ ((lambda (#{tmp\ 14138}#)
+ ((lambda (#{tmp\ 14139}#)
+ (if #{tmp\ 14139}#
+ (apply (lambda (#{_\ 14144}#
+ #{x\ 14145}#
+ #{e1\ 14146}#
+ #{e2\ 14147}#)
+ (let ((#{when-list\
14149}#
+
(#{chi-when-list\ 12995}#
+ #{e\ 14095}#
+ #{x\ 14145}#
+ #{w\ 14097}#)))
(if (memq 'eval
- #{when-list\
1899}#)
- (#{chi-sequence\
739}#
- (cons #{e1\ 1896}#
- #{e2\ 1897}#)
- #{r\ 1846}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#)
- (#{chi-void\
765}#))))
- #{tmp\ 1889}#)
+ #{when-list\
14149}#)
+ (#{chi-sequence\
12989}#
+ (cons #{e1\ 14146}#
+ #{e2\
14147}#)
+ #{r\ 14096}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#)
+ (#{chi-void\
13015}#))))
+ #{tmp\ 14139}#)
(syntax-violation
#f
"source expression failed to
match any pattern"
- #{tmp\ 1888}#)))
+ #{tmp\ 14138}#)))
($sc-dispatch
- #{tmp\ 1888}#
+ #{tmp\ 14138}#
'(any each-any any . each-any))))
- #{e\ 1845}#)
- (if (memv #{type\ 1843}#
+ #{e\ 14095}#)
+ (if (memv #{type\ 14093}#
'(define-form
define-syntax-form))
(syntax-violation
#f
"definition in expression context"
- #{e\ 1845}#
- (#{wrap\ 735}#
- #{value\ 1844}#
- #{w\ 1847}#
- #{mod\ 1849}#))
- (if (memv #{type\ 1843}#
+ #{e\ 14095}#
+ (#{wrap\ 12985}#
+ #{value\ 14094}#
+ #{w\ 14097}#
+ #{mod\ 14099}#))
+ (if (memv #{type\ 14093}#
'(syntax))
(syntax-violation
#f
"reference to pattern variable
outside syntax form"
- (#{source-wrap\ 737}#
- #{e\ 1845}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#))
- (if (memv #{type\ 1843}#
+ (#{source-wrap\ 12987}#
+ #{e\ 14095}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#))
+ (if (memv #{type\ 14093}#
'(displaced-lexical))
(syntax-violation
#f
"reference to identifier outside
its scope"
- (#{source-wrap\ 737}#
- #{e\ 1845}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#))
+ (#{source-wrap\ 12987}#
+ #{e\ 14095}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#))
(syntax-violation
#f
"unexpected syntax"
- (#{source-wrap\ 737}#
- #{e\ 1845}#
- #{w\ 1847}#
- #{s\ 1848}#
- #{mod\ 1849}#))))))))))))))))))
- (#{chi\ 751}#
- (lambda (#{e\ 1906}#
- #{r\ 1907}#
- #{w\ 1908}#
- #{mod\ 1909}#)
+ (#{source-wrap\ 12987}#
+ #{e\ 14095}#
+ #{w\ 14097}#
+ #{s\ 14098}#
+ #{mod\ 14099}#))))))))))))))))))
+ (#{chi\ 13001}#
+ (lambda (#{e\ 14156}#
+ #{r\ 14157}#
+ #{w\ 14158}#
+ #{mod\ 14159}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 747}#
- #{e\ 1906}#
- #{r\ 1907}#
- #{w\ 1908}#
- (#{source-annotation\ 645}# #{e\ 1906}#)
+ (#{syntax-type\ 12997}#
+ #{e\ 14156}#
+ #{r\ 14157}#
+ #{w\ 14158}#
+ (#{source-annotation\ 12895}# #{e\ 14156}#)
#f
- #{mod\ 1909}#
+ #{mod\ 14159}#
#f))
- (lambda (#{type\ 1914}#
- #{value\ 1915}#
- #{e\ 1916}#
- #{w\ 1917}#
- #{s\ 1918}#
- #{mod\ 1919}#)
- (#{chi-expr\ 753}#
- #{type\ 1914}#
- #{value\ 1915}#
- #{e\ 1916}#
- #{r\ 1907}#
- #{w\ 1917}#
- #{s\ 1918}#
- #{mod\ 1919}#)))))
- (#{chi-top\ 749}#
- (lambda (#{e\ 1926}#
- #{r\ 1927}#
- #{w\ 1928}#
- #{m\ 1929}#
- #{esew\ 1930}#
- #{mod\ 1931}#)
+ (lambda (#{type\ 14164}#
+ #{value\ 14165}#
+ #{e\ 14166}#
+ #{w\ 14167}#
+ #{s\ 14168}#
+ #{mod\ 14169}#)
+ (#{chi-expr\ 13003}#
+ #{type\ 14164}#
+ #{value\ 14165}#
+ #{e\ 14166}#
+ #{r\ 14157}#
+ #{w\ 14167}#
+ #{s\ 14168}#
+ #{mod\ 14169}#)))))
+ (#{chi-top\ 12999}#
+ (lambda (#{e\ 14176}#
+ #{r\ 14177}#
+ #{w\ 14178}#
+ #{m\ 14179}#
+ #{esew\ 14180}#
+ #{mod\ 14181}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 747}#
- #{e\ 1926}#
- #{r\ 1927}#
- #{w\ 1928}#
- (#{source-annotation\ 645}# #{e\ 1926}#)
+ (#{syntax-type\ 12997}#
+ #{e\ 14176}#
+ #{r\ 14177}#
+ #{w\ 14178}#
+ (#{source-annotation\ 12895}# #{e\ 14176}#)
#f
- #{mod\ 1931}#
+ #{mod\ 14181}#
#f))
- (lambda (#{type\ 1952}#
- #{value\ 1953}#
- #{e\ 1954}#
- #{w\ 1955}#
- #{s\ 1956}#
- #{mod\ 1957}#)
- (if (memv #{type\ 1952}# (quote (begin-form)))
- ((lambda (#{tmp\ 1965}#)
- ((lambda (#{tmp\ 1966}#)
- (if #{tmp\ 1966}#
- (apply (lambda (#{_\ 1968}#) (#{chi-void\ 765}#))
- #{tmp\ 1966}#)
- ((lambda (#{tmp\ 1969}#)
- (if #{tmp\ 1969}#
- (apply (lambda (#{_\ 1973}#
- #{e1\ 1974}#
- #{e2\ 1975}#)
- (#{chi-top-sequence\ 741}#
- (cons #{e1\ 1974}# #{e2\ 1975}#)
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
- #{m\ 1929}#
- #{esew\ 1930}#
- #{mod\ 1957}#))
- #{tmp\ 1969}#)
+ (lambda (#{type\ 14202}#
+ #{value\ 14203}#
+ #{e\ 14204}#
+ #{w\ 14205}#
+ #{s\ 14206}#
+ #{mod\ 14207}#)
+ (if (memv #{type\ 14202}# (quote (begin-form)))
+ ((lambda (#{tmp\ 14215}#)
+ ((lambda (#{tmp\ 14216}#)
+ (if #{tmp\ 14216}#
+ (apply (lambda (#{_\ 14218}#)
+ (#{chi-void\ 13015}#))
+ #{tmp\ 14216}#)
+ ((lambda (#{tmp\ 14219}#)
+ (if #{tmp\ 14219}#
+ (apply (lambda (#{_\ 14223}#
+ #{e1\ 14224}#
+ #{e2\ 14225}#)
+ (#{chi-top-sequence\ 12991}#
+ (cons #{e1\ 14224}# #{e2\ 14225}#)
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
+ #{m\ 14179}#
+ #{esew\ 14180}#
+ #{mod\ 14207}#))
+ #{tmp\ 14219}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1965}#)))
+ #{tmp\ 14215}#)))
($sc-dispatch
- #{tmp\ 1965}#
+ #{tmp\ 14215}#
'(any any . each-any)))))
- ($sc-dispatch #{tmp\ 1965}# (quote (any)))))
- #{e\ 1954}#)
- (if (memv #{type\ 1952}# (quote (local-syntax-form)))
- (#{chi-local-syntax\ 761}#
- #{value\ 1953}#
- #{e\ 1954}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
- #{mod\ 1957}#
- (lambda (#{body\ 1978}#
- #{r\ 1979}#
- #{w\ 1980}#
- #{s\ 1981}#
- #{mod\ 1982}#)
- (#{chi-top-sequence\ 741}#
- #{body\ 1978}#
- #{r\ 1979}#
- #{w\ 1980}#
- #{s\ 1981}#
- #{m\ 1929}#
- #{esew\ 1930}#
- #{mod\ 1982}#)))
- (if (memv #{type\ 1952}# (quote (eval-when-form)))
- ((lambda (#{tmp\ 1989}#)
- ((lambda (#{tmp\ 1990}#)
- (if #{tmp\ 1990}#
- (apply (lambda (#{_\ 1995}#
- #{x\ 1996}#
- #{e1\ 1997}#
- #{e2\ 1998}#)
- (let ((#{when-list\ 2001}#
- (#{chi-when-list\ 745}#
- #{e\ 1954}#
- #{x\ 1996}#
- #{w\ 1955}#))
- (#{body\ 2002}#
- (cons #{e1\ 1997}#
- #{e2\ 1998}#)))
- (if (eq? #{m\ 1929}# (quote e))
+ ($sc-dispatch #{tmp\ 14215}# (quote (any)))))
+ #{e\ 14204}#)
+ (if (memv #{type\ 14202}#
+ '(local-syntax-form))
+ (#{chi-local-syntax\ 13011}#
+ #{value\ 14203}#
+ #{e\ 14204}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
+ #{mod\ 14207}#
+ (lambda (#{body\ 14228}#
+ #{r\ 14229}#
+ #{w\ 14230}#
+ #{s\ 14231}#
+ #{mod\ 14232}#)
+ (#{chi-top-sequence\ 12991}#
+ #{body\ 14228}#
+ #{r\ 14229}#
+ #{w\ 14230}#
+ #{s\ 14231}#
+ #{m\ 14179}#
+ #{esew\ 14180}#
+ #{mod\ 14232}#)))
+ (if (memv #{type\ 14202}# (quote (eval-when-form)))
+ ((lambda (#{tmp\ 14239}#)
+ ((lambda (#{tmp\ 14240}#)
+ (if #{tmp\ 14240}#
+ (apply (lambda (#{_\ 14245}#
+ #{x\ 14246}#
+ #{e1\ 14247}#
+ #{e2\ 14248}#)
+ (let ((#{when-list\ 14251}#
+ (#{chi-when-list\ 12995}#
+ #{e\ 14204}#
+ #{x\ 14246}#
+ #{w\ 14205}#))
+ (#{body\ 14252}#
+ (cons #{e1\ 14247}#
+ #{e2\ 14248}#)))
+ (if (eq? #{m\ 14179}# (quote e))
(if (memq 'eval
- #{when-list\ 2001}#)
- (#{chi-top-sequence\ 741}#
- #{body\ 2002}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
+ #{when-list\ 14251}#)
+ (#{chi-top-sequence\ 12991}#
+ #{body\ 14252}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
(if (memq 'expand
- #{when-list\
2001}#)
+ #{when-list\
14251}#)
'c&e
'e)
'(eval)
- #{mod\ 1957}#)
+ #{mod\ 14207}#)
(begin
(if (memq 'expand
- #{when-list\
2001}#)
- (#{top-level-eval-hook\
575}#
- (#{chi-top-sequence\
741}#
- #{body\ 2002}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
+ #{when-list\
14251}#)
+ (#{top-level-eval-hook\
12825}#
+ (#{chi-top-sequence\
12991}#
+ #{body\ 14252}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
'e
'(eval)
- #{mod\ 1957}#)
- #{mod\ 1957}#))
- (#{chi-void\ 765}#)))
+ #{mod\ 14207}#)
+ #{mod\ 14207}#))
+ (#{chi-void\ 13015}#)))
(if (memq 'load
- #{when-list\ 2001}#)
- (if (let ((#{t\ 2011}#
+ #{when-list\ 14251}#)
+ (if (let ((#{t\ 14261}#
(memq 'compile
- #{when-list\
2001}#)))
- (if #{t\ 2011}#
- #{t\ 2011}#
- (let ((#{t\ 2014}#
+ #{when-list\
14251}#)))
+ (if #{t\ 14261}#
+ #{t\ 14261}#
+ (let ((#{t\ 14264}#
(memq 'expand
-
#{when-list\ 2001}#)))
- (if #{t\ 2014}#
- #{t\ 2014}#
- (if (eq? #{m\
1929}#
+
#{when-list\ 14251}#)))
+ (if #{t\ 14264}#
+ #{t\ 14264}#
+ (if (eq? #{m\
14179}#
'c&e)
(memq 'eval
-
#{when-list\ 2001}#)
+
#{when-list\ 14251}#)
#f)))))
- (#{chi-top-sequence\ 741}#
- #{body\ 2002}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
+ (#{chi-top-sequence\ 12991}#
+ #{body\ 14252}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
'c&e
'(compile load)
- #{mod\ 1957}#)
- (if (memq #{m\ 1929}#
+ #{mod\ 14207}#)
+ (if (memq #{m\ 14179}#
'(c c&e))
- (#{chi-top-sequence\ 741}#
- #{body\ 2002}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
+ (#{chi-top-sequence\
12991}#
+ #{body\ 14252}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
'c
'(load)
- #{mod\ 1957}#)
- (#{chi-void\ 765}#)))
- (if (let ((#{t\ 2022}#
+ #{mod\ 14207}#)
+ (#{chi-void\ 13015}#)))
+ (if (let ((#{t\ 14272}#
(memq 'compile
- #{when-list\
2001}#)))
- (if #{t\ 2022}#
- #{t\ 2022}#
- (let ((#{t\ 2025}#
+ #{when-list\
14251}#)))
+ (if #{t\ 14272}#
+ #{t\ 14272}#
+ (let ((#{t\ 14275}#
(memq 'expand
-
#{when-list\ 2001}#)))
- (if #{t\ 2025}#
- #{t\ 2025}#
- (if (eq? #{m\
1929}#
+
#{when-list\ 14251}#)))
+ (if #{t\ 14275}#
+ #{t\ 14275}#
+ (if (eq? #{m\
14179}#
'c&e)
(memq 'eval
-
#{when-list\ 2001}#)
+
#{when-list\ 14251}#)
#f)))))
(begin
- (#{top-level-eval-hook\
575}#
- (#{chi-top-sequence\
741}#
- #{body\ 2002}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
+ (#{top-level-eval-hook\
12825}#
+ (#{chi-top-sequence\
12991}#
+ #{body\ 14252}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
'e
'(eval)
- #{mod\ 1957}#)
- #{mod\ 1957}#)
- (#{chi-void\ 765}#))
- (#{chi-void\ 765}#))))))
- #{tmp\ 1990}#)
+ #{mod\ 14207}#)
+ #{mod\ 14207}#)
+ (#{chi-void\ 13015}#))
+ (#{chi-void\ 13015}#))))))
+ #{tmp\ 14240}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 1989}#)))
+ #{tmp\ 14239}#)))
($sc-dispatch
- #{tmp\ 1989}#
+ #{tmp\ 14239}#
'(any each-any any . each-any))))
- #{e\ 1954}#)
- (if (memv #{type\ 1952}#
+ #{e\ 14204}#)
+ (if (memv #{type\ 14202}#
'(define-syntax-form))
- (let ((#{n\ 2033}#
- (#{id-var-name\ 723}#
- #{value\ 1953}#
- #{w\ 1955}#))
- (#{r\ 2034}#
- (#{macros-only-env\ 658}# #{r\ 1927}#)))
- (if (memv #{m\ 1929}# (quote (c)))
- (if (memq (quote compile) #{esew\ 1930}#)
- (let ((#{e\ 2037}#
- (#{chi-install-global\ 743}#
- #{n\ 2033}#
- (#{chi\ 751}#
- #{e\ 1954}#
- #{r\ 2034}#
- #{w\ 1955}#
- #{mod\ 1957}#))))
+ (let ((#{n\ 14283}#
+ (#{id-var-name\ 12973}#
+ #{value\ 14203}#
+ #{w\ 14205}#))
+ (#{r\ 14284}#
+ (#{macros-only-env\ 12908}# #{r\ 14177}#)))
+ (if (memv #{m\ 14179}# (quote (c)))
+ (if (memq (quote compile) #{esew\ 14180}#)
+ (let ((#{e\ 14287}#
+ (#{chi-install-global\ 12993}#
+ #{n\ 14283}#
+ (#{chi\ 13001}#
+ #{e\ 14204}#
+ #{r\ 14284}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))))
(begin
- (#{top-level-eval-hook\ 575}#
- #{e\ 2037}#
- #{mod\ 1957}#)
- (if (memq (quote load) #{esew\ 1930}#)
- #{e\ 2037}#
- (#{chi-void\ 765}#))))
- (if (memq (quote load) #{esew\ 1930}#)
- (#{chi-install-global\ 743}#
- #{n\ 2033}#
- (#{chi\ 751}#
- #{e\ 1954}#
- #{r\ 2034}#
- #{w\ 1955}#
- #{mod\ 1957}#))
- (#{chi-void\ 765}#)))
- (if (memv #{m\ 1929}# (quote (c&e)))
- (let ((#{e\ 2040}#
- (#{chi-install-global\ 743}#
- #{n\ 2033}#
- (#{chi\ 751}#
- #{e\ 1954}#
- #{r\ 2034}#
- #{w\ 1955}#
- #{mod\ 1957}#))))
+ (#{top-level-eval-hook\ 12825}#
+ #{e\ 14287}#
+ #{mod\ 14207}#)
+ (if (memq (quote load) #{esew\ 14180}#)
+ #{e\ 14287}#
+ (#{chi-void\ 13015}#))))
+ (if (memq (quote load) #{esew\ 14180}#)
+ (#{chi-install-global\ 12993}#
+ #{n\ 14283}#
+ (#{chi\ 13001}#
+ #{e\ 14204}#
+ #{r\ 14284}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))
+ (#{chi-void\ 13015}#)))
+ (if (memv #{m\ 14179}# (quote (c&e)))
+ (let ((#{e\ 14290}#
+ (#{chi-install-global\ 12993}#
+ #{n\ 14283}#
+ (#{chi\ 13001}#
+ #{e\ 14204}#
+ #{r\ 14284}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))))
(begin
- (#{top-level-eval-hook\ 575}#
- #{e\ 2040}#
- #{mod\ 1957}#)
- #{e\ 2040}#))
+ (#{top-level-eval-hook\ 12825}#
+ #{e\ 14290}#
+ #{mod\ 14207}#)
+ #{e\ 14290}#))
(begin
- (if (memq (quote eval) #{esew\ 1930}#)
- (#{top-level-eval-hook\ 575}#
- (#{chi-install-global\ 743}#
- #{n\ 2033}#
- (#{chi\ 751}#
- #{e\ 1954}#
- #{r\ 2034}#
- #{w\ 1955}#
- #{mod\ 1957}#))
- #{mod\ 1957}#))
- (#{chi-void\ 765}#)))))
- (if (memv #{type\ 1952}# (quote (define-form)))
- (let ((#{n\ 2045}#
- (#{id-var-name\ 723}#
- #{value\ 1953}#
- #{w\ 1955}#)))
- (let ((#{type\ 2047}#
- (#{binding-type\ 649}#
- (#{lookup\ 660}#
- #{n\ 2045}#
- #{r\ 1927}#
- #{mod\ 1957}#))))
- (if (memv #{type\ 2047}#
+ (if (memq (quote eval) #{esew\ 14180}#)
+ (#{top-level-eval-hook\ 12825}#
+ (#{chi-install-global\ 12993}#
+ #{n\ 14283}#
+ (#{chi\ 13001}#
+ #{e\ 14204}#
+ #{r\ 14284}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))
+ #{mod\ 14207}#))
+ (#{chi-void\ 13015}#)))))
+ (if (memv #{type\ 14202}# (quote (define-form)))
+ (let ((#{n\ 14295}#
+ (#{id-var-name\ 12973}#
+ #{value\ 14203}#
+ #{w\ 14205}#)))
+ (let ((#{type\ 14297}#
+ (#{binding-type\ 12899}#
+ (#{lookup\ 12910}#
+ #{n\ 14295}#
+ #{r\ 14177}#
+ #{mod\ 14207}#))))
+ (if (memv #{type\ 14297}#
'(global core macro module-ref))
(begin
- (if (if (memq #{m\ 1929}# (quote (c c&e)))
+ (if (if (memq #{m\ 14179}#
+ '(c c&e))
(if (not (module-local-variable
(current-module)
- #{n\ 2045}#))
+ #{n\ 14295}#))
(current-module)
#f)
#f)
- (let ((#{old\ 2053}#
+ (let ((#{old\ 14303}#
(module-variable
(current-module)
- #{n\ 2045}#)))
+ #{n\ 14295}#)))
(module-define!
(current-module)
- #{n\ 2045}#
- (if (variable? #{old\ 2053}#)
- (variable-ref #{old\ 2053}#)
+ #{n\ 14295}#
+ (if (variable? #{old\ 14303}#)
+ (variable-ref #{old\ 14303}#)
#f))))
- (let ((#{x\ 2056}#
- (#{build-global-definition\ 606}#
- #{s\ 1956}#
- #{n\ 2045}#
- (#{chi\ 751}#
- #{e\ 1954}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{mod\ 1957}#))))
+ (let ((#{x\ 14306}#
+ (#{build-global-definition\
12856}#
+ #{s\ 14206}#
+ #{n\ 14295}#
+ (#{chi\ 13001}#
+ #{e\ 14204}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))))
(begin
- (if (eq? #{m\ 1929}# (quote c&e))
- (#{top-level-eval-hook\ 575}#
- #{x\ 2056}#
- #{mod\ 1957}#))
- #{x\ 2056}#)))
- (if (memv #{type\ 2047}#
+ (if (eq? #{m\ 14179}# (quote c&e))
+ (#{top-level-eval-hook\ 12825}#
+ #{x\ 14306}#
+ #{mod\ 14207}#))
+ #{x\ 14306}#)))
+ (if (memv #{type\ 14297}#
'(displaced-lexical))
(syntax-violation
#f
"identifier out of context"
- #{e\ 1954}#
- (#{wrap\ 735}#
- #{value\ 1953}#
- #{w\ 1955}#
- #{mod\ 1957}#))
+ #{e\ 14204}#
+ (#{wrap\ 12985}#
+ #{value\ 14203}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))
(syntax-violation
#f
"cannot define keyword at top level"
- #{e\ 1954}#
- (#{wrap\ 735}#
- #{value\ 1953}#
- #{w\ 1955}#
- #{mod\ 1957}#))))))
- (let ((#{x\ 2062}#
- (#{chi-expr\ 753}#
- #{type\ 1952}#
- #{value\ 1953}#
- #{e\ 1954}#
- #{r\ 1927}#
- #{w\ 1955}#
- #{s\ 1956}#
- #{mod\ 1957}#)))
+ #{e\ 14204}#
+ (#{wrap\ 12985}#
+ #{value\ 14203}#
+ #{w\ 14205}#
+ #{mod\ 14207}#))))))
+ (let ((#{x\ 14312}#
+ (#{chi-expr\ 13003}#
+ #{type\ 14202}#
+ #{value\ 14203}#
+ #{e\ 14204}#
+ #{r\ 14177}#
+ #{w\ 14205}#
+ #{s\ 14206}#
+ #{mod\ 14207}#)))
(begin
- (if (eq? #{m\ 1929}# (quote c&e))
- (#{top-level-eval-hook\ 575}#
- #{x\ 2062}#
- #{mod\ 1957}#))
- #{x\ 2062}#)))))))))))
- (#{syntax-type\ 747}#
- (lambda (#{e\ 2063}#
- #{r\ 2064}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{rib\ 2067}#
- #{mod\ 2068}#
- #{for-car?\ 2069}#)
- (if (symbol? #{e\ 2063}#)
- (let ((#{n\ 2081}#
- (#{id-var-name\ 723}# #{e\ 2063}# #{w\ 2065}#)))
- (let ((#{b\ 2083}#
- (#{lookup\ 660}#
- #{n\ 2081}#
- #{r\ 2064}#
- #{mod\ 2068}#)))
- (let ((#{type\ 2085}#
- (#{binding-type\ 649}# #{b\ 2083}#)))
- (if (memv #{type\ 2085}# (quote (lexical)))
+ (if (eq? #{m\ 14179}# (quote c&e))
+ (#{top-level-eval-hook\ 12825}#
+ #{x\ 14312}#
+ #{mod\ 14207}#))
+ #{x\ 14312}#)))))))))))
+ (#{syntax-type\ 12997}#
+ (lambda (#{e\ 14313}#
+ #{r\ 14314}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#
+ #{for-car?\ 14319}#)
+ (if (symbol? #{e\ 14313}#)
+ (let ((#{n\ 14331}#
+ (#{id-var-name\ 12973}#
+ #{e\ 14313}#
+ #{w\ 14315}#)))
+ (let ((#{b\ 14333}#
+ (#{lookup\ 12910}#
+ #{n\ 14331}#
+ #{r\ 14314}#
+ #{mod\ 14318}#)))
+ (let ((#{type\ 14335}#
+ (#{binding-type\ 12899}# #{b\ 14333}#)))
+ (if (memv #{type\ 14335}# (quote (lexical)))
(values
- #{type\ 2085}#
- (#{binding-value\ 651}# #{b\ 2083}#)
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{type\ 2085}# (quote (global)))
+ #{type\ 14335}#
+ (#{binding-value\ 12901}# #{b\ 14333}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{type\ 14335}# (quote (global)))
(values
- #{type\ 2085}#
- #{n\ 2081}#
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{type\ 2085}# (quote (macro)))
- (if #{for-car?\ 2069}#
+ #{type\ 14335}#
+ #{n\ 14331}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{type\ 14335}# (quote (macro)))
+ (if #{for-car?\ 14319}#
(values
- #{type\ 2085}#
- (#{binding-value\ 651}# #{b\ 2083}#)
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (#{syntax-type\ 747}#
- (#{chi-macro\ 757}#
- (#{binding-value\ 651}# #{b\ 2083}#)
- #{e\ 2063}#
- #{r\ 2064}#
- #{w\ 2065}#
- #{rib\ 2067}#
- #{mod\ 2068}#)
- #{r\ 2064}#
+ #{type\ 14335}#
+ (#{binding-value\ 12901}# #{b\ 14333}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (#{syntax-type\ 12997}#
+ (#{chi-macro\ 13007}#
+ (#{binding-value\ 12901}# #{b\ 14333}#)
+ #{e\ 14313}#
+ #{r\ 14314}#
+ #{w\ 14315}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#)
+ #{r\ 14314}#
'(())
- #{s\ 2066}#
- #{rib\ 2067}#
- #{mod\ 2068}#
+ #{s\ 14316}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#
#f))
(values
- #{type\ 2085}#
- (#{binding-value\ 651}# #{b\ 2083}#)
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)))))))
- (if (pair? #{e\ 2063}#)
- (let ((#{first\ 2094}# (car #{e\ 2063}#)))
+ #{type\ 14335}#
+ (#{binding-value\ 12901}# #{b\ 14333}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)))))))
+ (if (pair? #{e\ 14313}#)
+ (let ((#{first\ 14344}# (car #{e\ 14313}#)))
(call-with-values
(lambda ()
- (#{syntax-type\ 747}#
- #{first\ 2094}#
- #{r\ 2064}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{rib\ 2067}#
- #{mod\ 2068}#
+ (#{syntax-type\ 12997}#
+ #{first\ 14344}#
+ #{r\ 14314}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#
#t))
- (lambda (#{ftype\ 2095}#
- #{fval\ 2096}#
- #{fe\ 2097}#
- #{fw\ 2098}#
- #{fs\ 2099}#
- #{fmod\ 2100}#)
- (if (memv #{ftype\ 2095}# (quote (lexical)))
+ (lambda (#{ftype\ 14345}#
+ #{fval\ 14346}#
+ #{fe\ 14347}#
+ #{fw\ 14348}#
+ #{fs\ 14349}#
+ #{fmod\ 14350}#)
+ (if (memv #{ftype\ 14345}# (quote (lexical)))
(values
'lexical-call
- #{fval\ 2096}#
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}# (quote (global)))
+ #{fval\ 14346}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}# (quote (global)))
(values
'global-call
- (#{make-syntax-object\ 628}#
- #{fval\ 2096}#
- #{w\ 2065}#
- #{fmod\ 2100}#)
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}# (quote (macro)))
- (#{syntax-type\ 747}#
- (#{chi-macro\ 757}#
- #{fval\ 2096}#
- #{e\ 2063}#
- #{r\ 2064}#
- #{w\ 2065}#
- #{rib\ 2067}#
- #{mod\ 2068}#)
- #{r\ 2064}#
+ (#{make-syntax-object\ 12878}#
+ #{fval\ 14346}#
+ #{w\ 14315}#
+ #{fmod\ 14350}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}# (quote (macro)))
+ (#{syntax-type\ 12997}#
+ (#{chi-macro\ 13007}#
+ #{fval\ 14346}#
+ #{e\ 14313}#
+ #{r\ 14314}#
+ #{w\ 14315}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#)
+ #{r\ 14314}#
'(())
- #{s\ 2066}#
- #{rib\ 2067}#
- #{mod\ 2068}#
- #{for-car?\ 2069}#)
- (if (memv #{ftype\ 2095}# (quote (module-ref)))
+ #{s\ 14316}#
+ #{rib\ 14317}#
+ #{mod\ 14318}#
+ #{for-car?\ 14319}#)
+ (if (memv #{ftype\ 14345}# (quote (module-ref)))
(call-with-values
(lambda ()
- (#{fval\ 2096}#
- #{e\ 2063}#
- #{r\ 2064}#
- #{w\ 2065}#))
- (lambda (#{e\ 2112}#
- #{r\ 2113}#
- #{w\ 2114}#
- #{s\ 2115}#
- #{mod\ 2116}#)
- (#{syntax-type\ 747}#
- #{e\ 2112}#
- #{r\ 2113}#
- #{w\ 2114}#
- #{s\ 2115}#
- #{rib\ 2067}#
- #{mod\ 2116}#
- #{for-car?\ 2069}#)))
- (if (memv #{ftype\ 2095}# (quote (core)))
+ (#{fval\ 14346}#
+ #{e\ 14313}#
+ #{r\ 14314}#
+ #{w\ 14315}#))
+ (lambda (#{e\ 14362}#
+ #{r\ 14363}#
+ #{w\ 14364}#
+ #{s\ 14365}#
+ #{mod\ 14366}#)
+ (#{syntax-type\ 12997}#
+ #{e\ 14362}#
+ #{r\ 14363}#
+ #{w\ 14364}#
+ #{s\ 14365}#
+ #{rib\ 14317}#
+ #{mod\ 14366}#
+ #{for-car?\ 14319}#)))
+ (if (memv #{ftype\ 14345}# (quote (core)))
(values
'core-form
- #{fval\ 2096}#
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}#
+ #{fval\ 14346}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}#
'(local-syntax))
(values
'local-syntax-form
- #{fval\ 2096}#
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}# (quote (begin)))
+ #{fval\ 14346}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}#
+ '(begin))
(values
'begin-form
#f
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}#
'(eval-when))
(values
'eval-when-form
#f
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
- (if (memv #{ftype\ 2095}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
+ (if (memv #{ftype\ 14345}#
'(define))
- ((lambda (#{tmp\ 2127}#)
- ((lambda (#{tmp\ 2128}#)
- (if (if #{tmp\ 2128}#
- (apply (lambda (#{_\
2132}#
- #{name\
2133}#
- #{val\
2134}#)
- (#{id?\ 666}#
- #{name\
2133}#))
- #{tmp\ 2128}#)
+ ((lambda (#{tmp\ 14377}#)
+ ((lambda (#{tmp\ 14378}#)
+ (if (if #{tmp\ 14378}#
+ (apply (lambda (#{_\
14382}#
+ #{name\
14383}#
+ #{val\
14384}#)
+ (#{id?\ 12916}#
+ #{name\
14383}#))
+ #{tmp\ 14378}#)
#f)
- (apply (lambda (#{_\ 2138}#
- #{name\
2139}#
- #{val\
2140}#)
+ (apply (lambda (#{_\ 14388}#
+ #{name\
14389}#
+ #{val\
14390}#)
(values
'define-form
- #{name\ 2139}#
- #{val\ 2140}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#))
- #{tmp\ 2128}#)
- ((lambda (#{tmp\ 2141}#)
- (if (if #{tmp\ 2141}#
- (apply (lambda
(#{_\ 2147}#
-
#{name\ 2148}#
-
#{args\ 2149}#
-
#{e1\ 2150}#
-
#{e2\ 2151}#)
- (if
(#{id?\ 666}#
-
#{name\ 2148}#)
-
(#{valid-bound-ids?\ 729}#
-
(#{lambda-var-list\ 781}#
-
#{args\ 2149}#))
+ #{name\ 14389}#
+ #{val\ 14390}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#))
+ #{tmp\ 14378}#)
+ ((lambda (#{tmp\ 14391}#)
+ (if (if #{tmp\ 14391}#
+ (apply (lambda
(#{_\ 14397}#
+
#{name\ 14398}#
+
#{args\ 14399}#
+
#{e1\ 14400}#
+
#{e2\ 14401}#)
+ (if
(#{id?\ 12916}#
+
#{name\ 14398}#)
+
(#{valid-bound-ids?\ 12979}#
+
(#{lambda-var-list\ 13031}#
+
#{args\ 14399}#))
#f))
- #{tmp\
2141}#)
+ #{tmp\
14391}#)
#f)
- (apply (lambda (#{_\
2159}#
-
#{name\ 2160}#
-
#{args\ 2161}#
- #{e1\
2162}#
- #{e2\
2163}#)
+ (apply (lambda (#{_\
14409}#
+
#{name\ 14410}#
+
#{args\ 14411}#
+ #{e1\
14412}#
+ #{e2\
14413}#)
(values
'define-form
- (#{wrap\
735}#
- #{name\
2160}#
- #{w\
2065}#
- #{mod\
2068}#)
-
(#{decorate-source\ 584}#
+ (#{wrap\
12985}#
+ #{name\
14410}#
+ #{w\
14315}#
+ #{mod\
14318}#)
+
(#{decorate-source\ 12834}#
(cons
'#(syntax-object
lambda
((top)
@@ -3639,11 +3835,11 @@
(top)
(top)
(top))
-
#("i2154"
-
"i2155"
-
"i2156"
-
"i2157"
-
"i2158"))
+
#("i14404"
+
"i14405"
+
"i14406"
+
"i14407"
+
"i14408"))
#(ribcage
()
()
@@ -3665,12 +3861,12 @@
(top)
(top)
(top))
-
#("i2101"
-
"i2102"
-
"i2103"
-
"i2104"
-
"i2105"
-
"i2106"))
+
#("i14351"
+
"i14352"
+
"i14353"
+
"i14354"
+
"i14355"
+
"i14356"))
#(ribcage
()
()
@@ -3678,7 +3874,7 @@
#(ribcage
#(first)
#((top))
-
#("i2093"))
+
#("i14343"))
#(ribcage
()
()
@@ -3706,13 +3902,13 @@
(top)
(top)
(top))
-
#("i2070"
-
"i2071"
-
"i2072"
-
"i2073"
-
"i2074"
-
"i2075"
-
"i2076"))
+
#("i14320"
+
"i14321"
+
"i14322"
+
"i14323"
+
"i14324"
+
"i14325"
+
"i14326"))
#(ribcage
(lambda-var-list
gen-var
@@ -3830,6 +4026,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -3947,160 +4161,199 @@
(top)
(top)
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
(top))
-
("i780"
-
"i778"
-
"i776"
-
"i774"
-
"i772"
-
"i770"
-
"i768"
-
"i766"
-
"i764"
-
"i762"
-
"i760"
-
"i758"
-
"i756"
-
"i754"
-
"i752"
-
"i750"
-
"i748"
-
"i746"
-
"i744"
-
"i742"
-
"i740"
-
"i738"
-
"i736"
-
"i734"
-
"i732"
-
"i730"
-
"i728"
-
"i726"
-
"i724"
-
"i722"
-
"i720"
-
"i718"
-
"i716"
-
"i714"
-
"i712"
-
"i710"
-
"i709"
-
"i708"
-
"i706"
-
"i705"
-
"i704"
-
"i703"
-
"i702"
-
"i700"
-
"i698"
-
"i696"
-
"i694"
-
"i692"
-
"i690"
-
"i688"
-
"i686"
-
"i683"
-
"i681"
-
"i680"
-
"i679"
-
"i678"
-
"i677"
-
"i676"
-
"i674"
-
"i672"
-
"i670"
-
"i668"
-
"i667"
-
"i665"
-
"i663"
-
"i661"
-
"i659"
-
"i657"
-
"i655"
-
"i653"
-
"i652"
-
"i650"
-
"i648"
-
"i647"
-
"i646"
-
"i644"
-
"i643"
-
"i641"
-
"i639"
-
"i637"
-
"i635"
-
"i633"
-
"i631"
-
"i629"
-
"i627"
-
"i625"
-
"i623"
-
"i621"
-
"i619"
-
"i617"
-
"i615"
-
"i613"
-
"i611"
-
"i609"
-
"i607"
-
"i605"
-
"i603"
-
"i601"
-
"i599"
-
"i597"
-
"i595"
-
"i593"
-
"i591"
-
"i589"
-
"i587"
-
"i585"
-
"i583"
-
"i581"
-
"i579"
-
"i578"
-
"i576"
-
"i574"
-
"i572"
-
"i570"
-
"i568"
-
"i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+
(top)
(top))
-
("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile))
-
(#{wrap\ 735}#
-
(cons #{args\ 2161}#
-
(cons #{e1\ 2162}#
-
#{e2\ 2163}#))
-
#{w\ 2065}#
-
#{mod\ 2068}#))
- #{s\
2066}#)
+
(#{wrap\ 12985}#
+
(cons #{args\ 14411}#
+
(cons #{e1\ 14412}#
+
#{e2\ 14413}#))
+
#{w\ 14315}#
+
#{mod\ 14318}#))
+ #{s\
14316}#)
'(())
- #{s\ 2066}#
- #{mod\
2068}#))
- #{tmp\ 2141}#)
- ((lambda (#{tmp\
2166}#)
- (if (if #{tmp\
2166}#
- (apply
(lambda (#{_\ 2169}#
-
#{name\ 2170}#)
-
(#{id?\ 666}#
-
#{name\ 2170}#))
- #{tmp\
2166}#)
+ #{s\ 14316}#
+ #{mod\
14318}#))
+ #{tmp\ 14391}#)
+ ((lambda (#{tmp\
14416}#)
+ (if (if #{tmp\
14416}#
+ (apply
(lambda (#{_\ 14419}#
+
#{name\ 14420}#)
+
(#{id?\ 12916}#
+
#{name\ 14420}#))
+ #{tmp\
14416}#)
#f)
- (apply (lambda
(#{_\ 2173}#
-
#{name\ 2174}#)
+ (apply (lambda
(#{_\ 14423}#
+
#{name\ 14424}#)
(values
'define-form
-
(#{wrap\ 735}#
-
#{name\ 2174}#
- #{w\
2065}#
-
#{mod\ 2068}#)
+
(#{wrap\ 12985}#
+
#{name\ 14424}#
+ #{w\
14315}#
+
#{mod\ 14318}#)
'(#(syntax-object
if
((top)
@@ -4109,8 +4362,8 @@
name)
#((top)
(top))
-
#("i2171"
-
"i2172"))
+
#("i14421"
+
"i14422"))
#(ribcage
()
()
@@ -4132,12 +4385,12 @@
(top)
(top)
(top))
-
#("i2101"
-
"i2102"
-
"i2103"
-
"i2104"
-
"i2105"
-
"i2106"))
+
#("i14351"
+
"i14352"
+
"i14353"
+
"i14354"
+
"i14355"
+
"i14356"))
#(ribcage
()
()
@@ -4145,7 +4398,7 @@
#(ribcage
#(first)
#((top))
-
#("i2093"))
+
#("i14343"))
#(ribcage
()
()
@@ -4173,13 +4426,13 @@
(top)
(top)
(top))
-
#("i2070"
-
"i2071"
-
"i2072"
-
"i2073"
-
"i2074"
-
"i2075"
-
"i2076"))
+
#("i14320"
+
"i14321"
+
"i14322"
+
"i14323"
+
"i14324"
+
"i14325"
+
"i14326"))
#(ribcage
(lambda-var-list
gen-var
@@ -4297,6 +4550,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -4414,131 +4685,170 @@
(top)
(top)
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
(top))
-
("i780"
-
"i778"
-
"i776"
-
"i774"
-
"i772"
-
"i770"
-
"i768"
-
"i766"
-
"i764"
-
"i762"
-
"i760"
-
"i758"
-
"i756"
-
"i754"
-
"i752"
-
"i750"
-
"i748"
-
"i746"
-
"i744"
-
"i742"
-
"i740"
-
"i738"
-
"i736"
-
"i734"
-
"i732"
-
"i730"
-
"i728"
-
"i726"
-
"i724"
-
"i722"
-
"i720"
-
"i718"
-
"i716"
-
"i714"
-
"i712"
-
"i710"
-
"i709"
-
"i708"
-
"i706"
-
"i705"
-
"i704"
-
"i703"
-
"i702"
-
"i700"
-
"i698"
-
"i696"
-
"i694"
-
"i692"
-
"i690"
-
"i688"
-
"i686"
-
"i683"
-
"i681"
-
"i680"
-
"i679"
-
"i678"
-
"i677"
-
"i676"
-
"i674"
-
"i672"
-
"i670"
-
"i668"
-
"i667"
-
"i665"
-
"i663"
-
"i661"
-
"i659"
-
"i657"
-
"i655"
-
"i653"
-
"i652"
-
"i650"
-
"i648"
-
"i647"
-
"i646"
-
"i644"
-
"i643"
-
"i641"
-
"i639"
-
"i637"
-
"i635"
-
"i633"
-
"i631"
-
"i629"
-
"i627"
-
"i625"
-
"i623"
-
"i621"
-
"i619"
-
"i617"
-
"i615"
-
"i613"
-
"i611"
-
"i609"
-
"i607"
-
"i605"
-
"i603"
-
"i601"
-
"i599"
-
"i597"
-
"i595"
-
"i593"
-
"i591"
-
"i589"
-
"i587"
-
"i585"
-
"i583"
-
"i581"
-
"i579"
-
"i578"
-
"i576"
-
"i574"
-
"i572"
-
"i570"
-
"i568"
-
"i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+
(top)
(top))
-
("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile))
#(syntax-object
@@ -4549,8 +4859,8 @@
name)
#((top)
(top))
-
#("i2171"
-
"i2172"))
+
#("i14421"
+
"i14422"))
#(ribcage
()
()
@@ -4572,12 +4882,12 @@
(top)
(top)
(top))
-
#("i2101"
-
"i2102"
-
"i2103"
-
"i2104"
-
"i2105"
-
"i2106"))
+
#("i14351"
+
"i14352"
+
"i14353"
+
"i14354"
+
"i14355"
+
"i14356"))
#(ribcage
()
()
@@ -4585,7 +4895,7 @@
#(ribcage
#(first)
#((top))
-
#("i2093"))
+
#("i14343"))
#(ribcage
()
()
@@ -4613,13 +4923,13 @@
(top)
(top)
(top))
-
#("i2070"
-
"i2071"
-
"i2072"
-
"i2073"
-
"i2074"
-
"i2075"
-
"i2076"))
+
#("i14320"
+
"i14321"
+
"i14322"
+
"i14323"
+
"i14324"
+
"i14325"
+
"i14326"))
#(ribcage
(lambda-var-list
gen-var
@@ -4737,6 +5047,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -4854,131 +5182,170 @@
(top)
(top)
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
(top))
-
("i780"
-
"i778"
-
"i776"
-
"i774"
-
"i772"
-
"i770"
-
"i768"
-
"i766"
-
"i764"
-
"i762"
-
"i760"
-
"i758"
-
"i756"
-
"i754"
-
"i752"
-
"i750"
-
"i748"
-
"i746"
-
"i744"
-
"i742"
-
"i740"
-
"i738"
-
"i736"
-
"i734"
-
"i732"
-
"i730"
-
"i728"
-
"i726"
-
"i724"
-
"i722"
-
"i720"
-
"i718"
-
"i716"
-
"i714"
-
"i712"
-
"i710"
-
"i709"
-
"i708"
-
"i706"
-
"i705"
-
"i704"
-
"i703"
-
"i702"
-
"i700"
-
"i698"
-
"i696"
-
"i694"
-
"i692"
-
"i690"
-
"i688"
-
"i686"
-
"i683"
-
"i681"
-
"i680"
-
"i679"
-
"i678"
-
"i677"
-
"i676"
-
"i674"
-
"i672"
-
"i670"
-
"i668"
-
"i667"
-
"i665"
-
"i663"
-
"i661"
-
"i659"
-
"i657"
-
"i655"
-
"i653"
-
"i652"
-
"i650"
-
"i648"
-
"i647"
-
"i646"
-
"i644"
-
"i643"
-
"i641"
-
"i639"
-
"i637"
-
"i635"
-
"i633"
-
"i631"
-
"i629"
-
"i627"
-
"i625"
-
"i623"
-
"i621"
-
"i619"
-
"i617"
-
"i615"
-
"i613"
-
"i611"
-
"i609"
-
"i607"
-
"i605"
-
"i603"
-
"i601"
-
"i599"
-
"i597"
-
"i595"
-
"i593"
-
"i591"
-
"i589"
-
"i587"
-
"i585"
-
"i583"
-
"i581"
-
"i579"
-
"i578"
-
"i576"
-
"i574"
-
"i572"
-
"i570"
-
"i568"
-
"i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+
(top)
(top))
-
("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile))
#(syntax-object
@@ -4989,8 +5356,8 @@
name)
#((top)
(top))
-
#("i2171"
-
"i2172"))
+
#("i14421"
+
"i14422"))
#(ribcage
()
()
@@ -5012,12 +5379,12 @@
(top)
(top)
(top))
-
#("i2101"
-
"i2102"
-
"i2103"
-
"i2104"
-
"i2105"
-
"i2106"))
+
#("i14351"
+
"i14352"
+
"i14353"
+
"i14354"
+
"i14355"
+
"i14356"))
#(ribcage
()
()
@@ -5025,7 +5392,7 @@
#(ribcage
#(first)
#((top))
-
#("i2093"))
+
#("i14343"))
#(ribcage
()
()
@@ -5053,13 +5420,13 @@
(top)
(top)
(top))
-
#("i2070"
-
"i2071"
-
"i2072"
-
"i2073"
-
"i2074"
-
"i2075"
-
"i2076"))
+
#("i14320"
+
"i14321"
+
"i14322"
+
"i14323"
+
"i14324"
+
"i14325"
+
"i14326"))
#(ribcage
(lambda-var-list
gen-var
@@ -5177,6 +5544,24 @@
fx=
fx-
fx+
+
make-dynlet
+
make-letrec
+
make-let
+
make-lambda-case
+
make-lambda
+
make-sequence
+
make-application
+
make-conditional
+
make-toplevel-define
+
make-toplevel-set
+
make-toplevel-ref
+
make-module-set
+
make-module-ref
+
make-lexical-set
+
make-lexical-ref
+
make-primitive-ref
+
make-const
+
make-void
*mode*)
((top)
(top)
@@ -5294,232 +5679,272 @@
(top)
(top)
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
+
(top)
(top))
-
("i780"
-
"i778"
-
"i776"
-
"i774"
-
"i772"
-
"i770"
-
"i768"
-
"i766"
-
"i764"
-
"i762"
-
"i760"
-
"i758"
-
"i756"
-
"i754"
-
"i752"
-
"i750"
-
"i748"
-
"i746"
-
"i744"
-
"i742"
-
"i740"
-
"i738"
-
"i736"
-
"i734"
-
"i732"
-
"i730"
-
"i728"
-
"i726"
-
"i724"
-
"i722"
-
"i720"
-
"i718"
-
"i716"
-
"i714"
-
"i712"
-
"i710"
-
"i709"
-
"i708"
-
"i706"
-
"i705"
-
"i704"
-
"i703"
-
"i702"
-
"i700"
-
"i698"
-
"i696"
-
"i694"
-
"i692"
-
"i690"
-
"i688"
-
"i686"
-
"i683"
-
"i681"
-
"i680"
-
"i679"
-
"i678"
-
"i677"
-
"i676"
-
"i674"
-
"i672"
-
"i670"
-
"i668"
-
"i667"
-
"i665"
-
"i663"
-
"i661"
-
"i659"
-
"i657"
-
"i655"
-
"i653"
-
"i652"
-
"i650"
-
"i648"
-
"i647"
-
"i646"
-
"i644"
-
"i643"
-
"i641"
-
"i639"
-
"i637"
-
"i635"
-
"i633"
-
"i631"
-
"i629"
-
"i627"
-
"i625"
-
"i623"
-
"i621"
-
"i619"
-
"i617"
-
"i615"
-
"i613"
-
"i611"
-
"i609"
-
"i607"
-
"i605"
-
"i603"
-
"i601"
-
"i599"
-
"i597"
-
"i595"
-
"i593"
-
"i591"
-
"i589"
-
"i587"
-
"i585"
-
"i583"
-
"i581"
-
"i579"
-
"i578"
-
"i576"
-
"i574"
-
"i572"
-
"i570"
-
"i568"
-
"i566"
-
"i564"))
+
("i13030"
+
"i13028"
+
"i13026"
+
"i13024"
+
"i13022"
+
"i13020"
+
"i13018"
+
"i13016"
+
"i13014"
+
"i13012"
+
"i13010"
+
"i13008"
+
"i13006"
+
"i13004"
+
"i13002"
+
"i13000"
+
"i12998"
+
"i12996"
+
"i12994"
+
"i12992"
+
"i12990"
+
"i12988"
+
"i12986"
+
"i12984"
+
"i12982"
+
"i12980"
+
"i12978"
+
"i12976"
+
"i12974"
+
"i12972"
+
"i12970"
+
"i12968"
+
"i12966"
+
"i12964"
+
"i12962"
+
"i12960"
+
"i12959"
+
"i12958"
+
"i12956"
+
"i12955"
+
"i12954"
+
"i12953"
+
"i12952"
+
"i12950"
+
"i12948"
+
"i12946"
+
"i12944"
+
"i12942"
+
"i12940"
+
"i12938"
+
"i12936"
+
"i12933"
+
"i12931"
+
"i12930"
+
"i12929"
+
"i12928"
+
"i12927"
+
"i12926"
+
"i12924"
+
"i12922"
+
"i12920"
+
"i12918"
+
"i12917"
+
"i12915"
+
"i12913"
+
"i12911"
+
"i12909"
+
"i12907"
+
"i12905"
+
"i12903"
+
"i12902"
+
"i12900"
+
"i12898"
+
"i12897"
+
"i12896"
+
"i12894"
+
"i12893"
+
"i12891"
+
"i12889"
+
"i12887"
+
"i12885"
+
"i12883"
+
"i12881"
+
"i12879"
+
"i12877"
+
"i12875"
+
"i12873"
+
"i12871"
+
"i12869"
+
"i12867"
+
"i12865"
+
"i12863"
+
"i12861"
+
"i12859"
+
"i12857"
+
"i12855"
+
"i12853"
+
"i12851"
+
"i12849"
+
"i12847"
+
"i12845"
+
"i12843"
+
"i12841"
+
"i12839"
+
"i12837"
+
"i12835"
+
"i12833"
+
"i12831"
+
"i12829"
+
"i12828"
+
"i12826"
+
"i12824"
+
"i12822"
+
"i12820"
+
"i12818"
+
"i12816"
+
"i12814"
+
"i12812"
+
"i12810"
+
"i12808"
+
"i12806"
+
"i12804"
+
"i12802"
+
"i12800"
+
"i12798"
+
"i12796"
+
"i12794"
+
"i12792"
+
"i12790"
+
"i12788"
+
"i12786"
+
"i12784"
+
"i12782"
+
"i12780"
+
"i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
((top)
+
(top)
(top))
-
("i467"
-
"i465")))
+
("i12629"
+
"i12628"
+
"i12626")))
(hygiene
guile)))
'(())
- #{s\
2066}#
- #{mod\
2068}#))
- #{tmp\
2166}#)
+ #{s\
14316}#
+ #{mod\
14318}#))
+ #{tmp\
14416}#)
(syntax-violation
#f
"source
expression failed to match any pattern"
- #{tmp\ 2127}#)))
+ #{tmp\
14377}#)))
($sc-dispatch
- #{tmp\ 2127}#
+ #{tmp\ 14377}#
'(any any)))))
($sc-dispatch
- #{tmp\ 2127}#
+ #{tmp\ 14377}#
'(any (any . any)
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 2127}#
+ #{tmp\ 14377}#
'(any any any))))
- #{e\ 2063}#)
- (if (memv #{ftype\ 2095}#
+ #{e\ 14313}#)
+ (if (memv #{ftype\ 14345}#
'(define-syntax))
- ((lambda (#{tmp\ 2177}#)
- ((lambda (#{tmp\ 2178}#)
- (if (if #{tmp\ 2178}#
- (apply (lambda (#{_\
2182}#
-
#{name\ 2183}#
-
#{val\ 2184}#)
- (#{id?\ 666}#
- #{name\
2183}#))
- #{tmp\ 2178}#)
+ ((lambda (#{tmp\ 14427}#)
+ ((lambda (#{tmp\ 14428}#)
+ (if (if #{tmp\ 14428}#
+ (apply (lambda (#{_\
14432}#
+
#{name\ 14433}#
+
#{val\ 14434}#)
+ (#{id?\
12916}#
+ #{name\
14433}#))
+ #{tmp\ 14428}#)
#f)
- (apply (lambda (#{_\
2188}#
- #{name\
2189}#
- #{val\
2190}#)
+ (apply (lambda (#{_\
14438}#
+ #{name\
14439}#
+ #{val\
14440}#)
(values
'define-syntax-form
- #{name\ 2189}#
- #{val\ 2190}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#))
- #{tmp\ 2178}#)
+ #{name\ 14439}#
+ #{val\ 14440}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\
14318}#))
+ #{tmp\ 14428}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 2177}#)))
+ #{tmp\ 14427}#)))
($sc-dispatch
- #{tmp\ 2177}#
+ #{tmp\ 14427}#
'(any any any))))
- #{e\ 2063}#)
+ #{e\ 14313}#)
(values
'call
#f
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#))))))))))))))
- (if (#{syntax-object?\ 630}# #{e\ 2063}#)
- (#{syntax-type\ 747}#
- (#{syntax-object-expression\ 632}# #{e\ 2063}#)
- #{r\ 2064}#
- (#{join-wraps\ 717}#
- #{w\ 2065}#
- (#{syntax-object-wrap\ 634}# #{e\ 2063}#))
- #{s\ 2066}#
- #{rib\ 2067}#
- (let ((#{t\ 2196}#
- (#{syntax-object-module\ 636}# #{e\ 2063}#)))
- (if #{t\ 2196}# #{t\ 2196}# #{mod\ 2068}#))
- #{for-car?\ 2069}#)
- (if (self-evaluating? #{e\ 2063}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#))))))))))))))
+ (if (#{syntax-object?\ 12880}# #{e\ 14313}#)
+ (#{syntax-type\ 12997}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 14313}#)
+ #{r\ 14314}#
+ (#{join-wraps\ 12967}#
+ #{w\ 14315}#
+ (#{syntax-object-wrap\ 12884}# #{e\ 14313}#))
+ #{s\ 14316}#
+ #{rib\ 14317}#
+ (let ((#{t\ 14446}#
+ (#{syntax-object-module\ 12886}# #{e\ 14313}#)))
+ (if #{t\ 14446}# #{t\ 14446}# #{mod\ 14318}#))
+ #{for-car?\ 14319}#)
+ (if (self-evaluating? #{e\ 14313}#)
(values
'constant
#f
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)
(values
'other
#f
- #{e\ 2063}#
- #{w\ 2065}#
- #{s\ 2066}#
- #{mod\ 2068}#)))))))
- (#{chi-when-list\ 745}#
- (lambda (#{e\ 2201}# #{when-list\ 2202}# #{w\ 2203}#)
- (letrec ((#{f\ 2210}#
- (lambda (#{when-list\ 2211}# #{situations\ 2212}#)
- (if (null? #{when-list\ 2211}#)
- #{situations\ 2212}#
- (#{f\ 2210}#
- (cdr #{when-list\ 2211}#)
- (cons (let ((#{x\ 2214}#
- (car #{when-list\ 2211}#)))
- (if (#{free-id=?\ 725}#
- #{x\ 2214}#
+ #{e\ 14313}#
+ #{w\ 14315}#
+ #{s\ 14316}#
+ #{mod\ 14318}#)))))))
+ (#{chi-when-list\ 12995}#
+ (lambda (#{e\ 14451}# #{when-list\ 14452}# #{w\ 14453}#)
+ (letrec ((#{f\ 14460}#
+ (lambda (#{when-list\ 14461}# #{situations\ 14462}#)
+ (if (null? #{when-list\ 14461}#)
+ #{situations\ 14462}#
+ (#{f\ 14460}#
+ (cdr #{when-list\ 14461}#)
+ (cons (let ((#{x\ 14464}#
+ (car #{when-list\ 14461}#)))
+ (if (#{free-id=?\ 12975}#
+ #{x\ 14464}#
'#(syntax-object
compile
((top)
@@ -5529,17 +5954,21 @@
#(ribcage
#(x)
#((top))
- #("i2213"))
+ #("i14463"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
- #("i2207" "i2208" "i2209"))
+ #("i14457"
+ "i14458"
+ "i14459"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
- #("i2204" "i2205" "i2206"))
+ #("i14454"
+ "i14455"
+ "i14456"))
#(ribcage
(lambda-var-list
gen-var
@@ -5657,6 +6086,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -5774,132 +6221,172 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
- (define-structure and-map*)
- ((top) (top))
- ("i467" "i465")))
+ (define-structure
+
define-expansion-constructors
+ and-map*)
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile)))
'compile
- (if (#{free-id=?\ 725}#
- #{x\ 2214}#
+ (if (#{free-id=?\ 12975}#
+ #{x\ 14464}#
'#(syntax-object
load
((top)
@@ -5909,21 +6396,21 @@
#(ribcage
#(x)
#((top))
- #("i2213"))
+ #("i14463"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
- #("i2207"
- "i2208"
- "i2209"))
+ #("i14457"
+ "i14458"
+ "i14459"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
- #("i2204"
- "i2205"
- "i2206"))
+ #("i14454"
+ "i14455"
+ "i14456"))
#(ribcage
(lambda-var-list
gen-var
@@ -6041,6 +6528,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -6158,133 +6663,172 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
- ((top) (top))
- ("i467" "i465")))
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile)))
'load
- (if (#{free-id=?\ 725}#
- #{x\ 2214}#
+ (if (#{free-id=?\ 12975}#
+ #{x\ 14464}#
'#(syntax-object
eval
((top)
@@ -6294,23 +6838,23 @@
#(ribcage
#(x)
#((top))
- #("i2213"))
+ #("i14463"))
#(ribcage () () ())
#(ribcage
#(f
when-list
situations)
#((top) (top) (top))
- #("i2207"
- "i2208"
- "i2209"))
+ #("i14457"
+ "i14458"
+ "i14459"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
- #("i2204"
- "i2205"
- "i2206"))
+ #("i14454"
+ "i14455"
+ "i14456"))
#(ribcage
(lambda-var-list
gen-var
@@ -6428,6 +6972,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -6545,133 +7107,172 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
- ((top) (top))
- ("i467" "i465")))
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile)))
'eval
- (if (#{free-id=?\ 725}#
- #{x\ 2214}#
+ (if (#{free-id=?\ 12975}#
+ #{x\ 14464}#
'#(syntax-object
expand
((top)
@@ -6681,23 +7282,23 @@
#(ribcage
#(x)
#((top))
- #("i2213"))
+ #("i14463"))
#(ribcage () () ())
#(ribcage
#(f
when-list
situations)
#((top) (top) (top))
- #("i2207"
- "i2208"
- "i2209"))
+ #("i14457"
+ "i14458"
+ "i14459"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
- #("i2204"
- "i2205"
- "i2206"))
+ #("i14454"
+ "i14455"
+ "i14456"))
#(ribcage
(lambda-var-list
gen-var
@@ -6815,6 +7416,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+
make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -6932,2466 +7551,2547 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
- ((top) (top))
- ("i467" "i465")))
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile)))
'expand
(syntax-violation
'eval-when
"invalid situation"
- #{e\ 2201}#
- (#{wrap\ 735}#
- #{x\ 2214}#
- #{w\ 2203}#
+ #{e\ 14451}#
+ (#{wrap\ 12985}#
+ #{x\ 14464}#
+ #{w\ 14453}#
#f)))))))
- #{situations\ 2212}#))))))
- (#{f\ 2210}# #{when-list\ 2202}# (quote ())))))
- (#{chi-install-global\ 743}#
- (lambda (#{name\ 2224}# #{e\ 2225}#)
- (#{build-global-definition\ 606}#
+ #{situations\ 14462}#))))))
+ (#{f\ 14460}# #{when-list\ 14452}# (quote ())))))
+ (#{chi-install-global\ 12993}#
+ (lambda (#{name\ 14474}# #{e\ 14475}#)
+ (#{build-global-definition\ 12856}#
#f
- #{name\ 2224}#
- (#{build-application\ 588}#
+ #{name\ 14474}#
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'make-syntax-transformer)
- (list (#{build-data\ 616}# #f #{name\ 2224}#)
- (#{build-data\ 616}# #f (quote macro))
- (#{build-application\ 588}#
+ (list (#{build-data\ 12866}# #f #{name\ 14474}#)
+ (#{build-data\ 12866}# #f (quote macro))
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}# #f (quote cons))
- (list #{e\ 2225}#
- (#{build-application\ 588}#
+ (#{build-primref\ 12864}# #f (quote cons))
+ (list #{e\ 14475}#
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'module-name)
- (list (#{build-application\ 588}#
+ (list (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'current-module)
'()))))))))))
- (#{chi-top-sequence\ 741}#
- (lambda (#{body\ 2239}#
- #{r\ 2240}#
- #{w\ 2241}#
- #{s\ 2242}#
- #{m\ 2243}#
- #{esew\ 2244}#
- #{mod\ 2245}#)
- (#{build-sequence\ 618}#
- #{s\ 2242}#
- (letrec ((#{dobody\ 2261}#
- (lambda (#{body\ 2262}#
- #{r\ 2263}#
- #{w\ 2264}#
- #{m\ 2265}#
- #{esew\ 2266}#
- #{mod\ 2267}#
- #{out\ 2268}#)
- (if (null? #{body\ 2262}#)
- (reverse #{out\ 2268}#)
- (#{dobody\ 2261}#
- (cdr #{body\ 2262}#)
- #{r\ 2263}#
- #{w\ 2264}#
- #{m\ 2265}#
- #{esew\ 2266}#
- #{mod\ 2267}#
- (cons (#{chi-top\ 749}#
- (car #{body\ 2262}#)
- #{r\ 2263}#
- #{w\ 2264}#
- #{m\ 2265}#
- #{esew\ 2266}#
- #{mod\ 2267}#)
- #{out\ 2268}#))))))
- (#{dobody\ 2261}#
- #{body\ 2239}#
- #{r\ 2240}#
- #{w\ 2241}#
- #{m\ 2243}#
- #{esew\ 2244}#
- #{mod\ 2245}#
+ (#{chi-top-sequence\ 12991}#
+ (lambda (#{body\ 14489}#
+ #{r\ 14490}#
+ #{w\ 14491}#
+ #{s\ 14492}#
+ #{m\ 14493}#
+ #{esew\ 14494}#
+ #{mod\ 14495}#)
+ (#{build-sequence\ 12868}#
+ #{s\ 14492}#
+ (letrec ((#{dobody\ 14511}#
+ (lambda (#{body\ 14512}#
+ #{r\ 14513}#
+ #{w\ 14514}#
+ #{m\ 14515}#
+ #{esew\ 14516}#
+ #{mod\ 14517}#
+ #{out\ 14518}#)
+ (if (null? #{body\ 14512}#)
+ (reverse #{out\ 14518}#)
+ (#{dobody\ 14511}#
+ (cdr #{body\ 14512}#)
+ #{r\ 14513}#
+ #{w\ 14514}#
+ #{m\ 14515}#
+ #{esew\ 14516}#
+ #{mod\ 14517}#
+ (cons (#{chi-top\ 12999}#
+ (car #{body\ 14512}#)
+ #{r\ 14513}#
+ #{w\ 14514}#
+ #{m\ 14515}#
+ #{esew\ 14516}#
+ #{mod\ 14517}#)
+ #{out\ 14518}#))))))
+ (#{dobody\ 14511}#
+ #{body\ 14489}#
+ #{r\ 14490}#
+ #{w\ 14491}#
+ #{m\ 14493}#
+ #{esew\ 14494}#
+ #{mod\ 14495}#
'())))))
- (#{chi-sequence\ 739}#
- (lambda (#{body\ 2269}#
- #{r\ 2270}#
- #{w\ 2271}#
- #{s\ 2272}#
- #{mod\ 2273}#)
- (#{build-sequence\ 618}#
- #{s\ 2272}#
- (letrec ((#{dobody\ 2284}#
- (lambda (#{body\ 2285}#
- #{r\ 2286}#
- #{w\ 2287}#
- #{mod\ 2288}#)
- (if (null? #{body\ 2285}#)
+ (#{chi-sequence\ 12989}#
+ (lambda (#{body\ 14519}#
+ #{r\ 14520}#
+ #{w\ 14521}#
+ #{s\ 14522}#
+ #{mod\ 14523}#)
+ (#{build-sequence\ 12868}#
+ #{s\ 14522}#
+ (letrec ((#{dobody\ 14534}#
+ (lambda (#{body\ 14535}#
+ #{r\ 14536}#
+ #{w\ 14537}#
+ #{mod\ 14538}#)
+ (if (null? #{body\ 14535}#)
'()
- (let ((#{first\ 2290}#
- (#{chi\ 751}#
- (car #{body\ 2285}#)
- #{r\ 2286}#
- #{w\ 2287}#
- #{mod\ 2288}#)))
- (cons #{first\ 2290}#
- (#{dobody\ 2284}#
- (cdr #{body\ 2285}#)
- #{r\ 2286}#
- #{w\ 2287}#
- #{mod\ 2288}#)))))))
- (#{dobody\ 2284}#
- #{body\ 2269}#
- #{r\ 2270}#
- #{w\ 2271}#
- #{mod\ 2273}#)))))
- (#{source-wrap\ 737}#
- (lambda (#{x\ 2291}#
- #{w\ 2292}#
- #{s\ 2293}#
- #{defmod\ 2294}#)
- (#{wrap\ 735}#
- (#{decorate-source\ 584}#
- #{x\ 2291}#
- #{s\ 2293}#)
- #{w\ 2292}#
- #{defmod\ 2294}#)))
- (#{wrap\ 735}#
- (lambda (#{x\ 2299}# #{w\ 2300}# #{defmod\ 2301}#)
- (if (if (null? (#{wrap-marks\ 673}# #{w\ 2300}#))
- (null? (#{wrap-subst\ 675}# #{w\ 2300}#))
+ (let ((#{first\ 14540}#
+ (#{chi\ 13001}#
+ (car #{body\ 14535}#)
+ #{r\ 14536}#
+ #{w\ 14537}#
+ #{mod\ 14538}#)))
+ (cons #{first\ 14540}#
+ (#{dobody\ 14534}#
+ (cdr #{body\ 14535}#)
+ #{r\ 14536}#
+ #{w\ 14537}#
+ #{mod\ 14538}#)))))))
+ (#{dobody\ 14534}#
+ #{body\ 14519}#
+ #{r\ 14520}#
+ #{w\ 14521}#
+ #{mod\ 14523}#)))))
+ (#{source-wrap\ 12987}#
+ (lambda (#{x\ 14541}#
+ #{w\ 14542}#
+ #{s\ 14543}#
+ #{defmod\ 14544}#)
+ (#{wrap\ 12985}#
+ (#{decorate-source\ 12834}#
+ #{x\ 14541}#
+ #{s\ 14543}#)
+ #{w\ 14542}#
+ #{defmod\ 14544}#)))
+ (#{wrap\ 12985}#
+ (lambda (#{x\ 14549}# #{w\ 14550}# #{defmod\ 14551}#)
+ (if (if (null? (#{wrap-marks\ 12923}# #{w\ 14550}#))
+ (null? (#{wrap-subst\ 12925}# #{w\ 14550}#))
#f)
- #{x\ 2299}#
- (if (#{syntax-object?\ 630}# #{x\ 2299}#)
- (#{make-syntax-object\ 628}#
- (#{syntax-object-expression\ 632}# #{x\ 2299}#)
- (#{join-wraps\ 717}#
- #{w\ 2300}#
- (#{syntax-object-wrap\ 634}# #{x\ 2299}#))
- (#{syntax-object-module\ 636}# #{x\ 2299}#))
- (if (null? #{x\ 2299}#)
- #{x\ 2299}#
- (#{make-syntax-object\ 628}#
- #{x\ 2299}#
- #{w\ 2300}#
- #{defmod\ 2301}#))))))
- (#{bound-id-member?\ 733}#
- (lambda (#{x\ 2314}# #{list\ 2315}#)
- (if (not (null? #{list\ 2315}#))
- (let ((#{t\ 2322}#
- (#{bound-id=?\ 727}#
- #{x\ 2314}#
- (car #{list\ 2315}#))))
- (if #{t\ 2322}#
- #{t\ 2322}#
- (#{bound-id-member?\ 733}#
- #{x\ 2314}#
- (cdr #{list\ 2315}#))))
+ #{x\ 14549}#
+ (if (#{syntax-object?\ 12880}# #{x\ 14549}#)
+ (#{make-syntax-object\ 12878}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14549}#)
+ (#{join-wraps\ 12967}#
+ #{w\ 14550}#
+ (#{syntax-object-wrap\ 12884}# #{x\ 14549}#))
+ (#{syntax-object-module\ 12886}# #{x\ 14549}#))
+ (if (null? #{x\ 14549}#)
+ #{x\ 14549}#
+ (#{make-syntax-object\ 12878}#
+ #{x\ 14549}#
+ #{w\ 14550}#
+ #{defmod\ 14551}#))))))
+ (#{bound-id-member?\ 12983}#
+ (lambda (#{x\ 14564}# #{list\ 14565}#)
+ (if (not (null? #{list\ 14565}#))
+ (let ((#{t\ 14572}#
+ (#{bound-id=?\ 12977}#
+ #{x\ 14564}#
+ (car #{list\ 14565}#))))
+ (if #{t\ 14572}#
+ #{t\ 14572}#
+ (#{bound-id-member?\ 12983}#
+ #{x\ 14564}#
+ (cdr #{list\ 14565}#))))
#f)))
- (#{distinct-bound-ids?\ 731}#
- (lambda (#{ids\ 2324}#)
- (letrec ((#{distinct?\ 2328}#
- (lambda (#{ids\ 2329}#)
- (let ((#{t\ 2332}# (null? #{ids\ 2329}#)))
- (if #{t\ 2332}#
- #{t\ 2332}#
- (if (not (#{bound-id-member?\ 733}#
- (car #{ids\ 2329}#)
- (cdr #{ids\ 2329}#)))
- (#{distinct?\ 2328}# (cdr #{ids\ 2329}#))
+ (#{distinct-bound-ids?\ 12981}#
+ (lambda (#{ids\ 14574}#)
+ (letrec ((#{distinct?\ 14578}#
+ (lambda (#{ids\ 14579}#)
+ (let ((#{t\ 14582}# (null? #{ids\ 14579}#)))
+ (if #{t\ 14582}#
+ #{t\ 14582}#
+ (if (not (#{bound-id-member?\ 12983}#
+ (car #{ids\ 14579}#)
+ (cdr #{ids\ 14579}#)))
+ (#{distinct?\ 14578}# (cdr #{ids\ 14579}#))
#f))))))
- (#{distinct?\ 2328}# #{ids\ 2324}#))))
- (#{valid-bound-ids?\ 729}#
- (lambda (#{ids\ 2336}#)
- (if (letrec ((#{all-ids?\ 2341}#
- (lambda (#{ids\ 2342}#)
- (let ((#{t\ 2345}# (null? #{ids\ 2342}#)))
- (if #{t\ 2345}#
- #{t\ 2345}#
- (if (#{id?\ 666}# (car #{ids\ 2342}#))
- (#{all-ids?\ 2341}# (cdr #{ids\ 2342}#))
+ (#{distinct?\ 14578}# #{ids\ 14574}#))))
+ (#{valid-bound-ids?\ 12979}#
+ (lambda (#{ids\ 14586}#)
+ (if (letrec ((#{all-ids?\ 14591}#
+ (lambda (#{ids\ 14592}#)
+ (let ((#{t\ 14595}# (null? #{ids\ 14592}#)))
+ (if #{t\ 14595}#
+ #{t\ 14595}#
+ (if (#{id?\ 12916}# (car #{ids\ 14592}#))
+ (#{all-ids?\ 14591}#
+ (cdr #{ids\ 14592}#))
#f))))))
- (#{all-ids?\ 2341}# #{ids\ 2336}#))
- (#{distinct-bound-ids?\ 731}# #{ids\ 2336}#)
+ (#{all-ids?\ 14591}# #{ids\ 14586}#))
+ (#{distinct-bound-ids?\ 12981}# #{ids\ 14586}#)
#f)))
- (#{bound-id=?\ 727}#
- (lambda (#{i\ 2350}# #{j\ 2351}#)
- (if (if (#{syntax-object?\ 630}# #{i\ 2350}#)
- (#{syntax-object?\ 630}# #{j\ 2351}#)
+ (#{bound-id=?\ 12977}#
+ (lambda (#{i\ 14600}# #{j\ 14601}#)
+ (if (if (#{syntax-object?\ 12880}# #{i\ 14600}#)
+ (#{syntax-object?\ 12880}# #{j\ 14601}#)
#f)
- (if (eq? (#{syntax-object-expression\ 632}# #{i\ 2350}#)
- (#{syntax-object-expression\ 632}# #{j\ 2351}#))
- (#{same-marks?\ 721}#
- (#{wrap-marks\ 673}#
- (#{syntax-object-wrap\ 634}# #{i\ 2350}#))
- (#{wrap-marks\ 673}#
- (#{syntax-object-wrap\ 634}# #{j\ 2351}#)))
+ (if (eq? (#{syntax-object-expression\ 12882}#
+ #{i\ 14600}#)
+ (#{syntax-object-expression\ 12882}#
+ #{j\ 14601}#))
+ (#{same-marks?\ 12971}#
+ (#{wrap-marks\ 12923}#
+ (#{syntax-object-wrap\ 12884}# #{i\ 14600}#))
+ (#{wrap-marks\ 12923}#
+ (#{syntax-object-wrap\ 12884}# #{j\ 14601}#)))
#f)
- (eq? #{i\ 2350}# #{j\ 2351}#))))
- (#{free-id=?\ 725}#
- (lambda (#{i\ 2358}# #{j\ 2359}#)
- (if (eq? (let ((#{x\ 2365}# #{i\ 2358}#))
- (if (#{syntax-object?\ 630}# #{x\ 2365}#)
- (#{syntax-object-expression\ 632}# #{x\ 2365}#)
- #{x\ 2365}#))
- (let ((#{x\ 2368}# #{j\ 2359}#))
- (if (#{syntax-object?\ 630}# #{x\ 2368}#)
- (#{syntax-object-expression\ 632}# #{x\ 2368}#)
- #{x\ 2368}#)))
- (eq? (#{id-var-name\ 723}# #{i\ 2358}# (quote (())))
- (#{id-var-name\ 723}# #{j\ 2359}# (quote (()))))
+ (eq? #{i\ 14600}# #{j\ 14601}#))))
+ (#{free-id=?\ 12975}#
+ (lambda (#{i\ 14608}# #{j\ 14609}#)
+ (if (eq? (let ((#{x\ 14615}# #{i\ 14608}#))
+ (if (#{syntax-object?\ 12880}# #{x\ 14615}#)
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14615}#)
+ #{x\ 14615}#))
+ (let ((#{x\ 14618}# #{j\ 14609}#))
+ (if (#{syntax-object?\ 12880}# #{x\ 14618}#)
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14618}#)
+ #{x\ 14618}#)))
+ (eq? (#{id-var-name\ 12973}#
+ #{i\ 14608}#
+ '(()))
+ (#{id-var-name\ 12973}#
+ #{j\ 14609}#
+ '(())))
#f)))
- (#{id-var-name\ 723}#
- (lambda (#{id\ 2372}# #{w\ 2373}#)
- (letrec ((#{search-vector-rib\ 2382}#
- (lambda (#{sym\ 2394}#
- #{subst\ 2395}#
- #{marks\ 2396}#
- #{symnames\ 2397}#
- #{ribcage\ 2398}#)
- (let ((#{n\ 2405}#
- (vector-length #{symnames\ 2397}#)))
- (letrec ((#{f\ 2408}#
- (lambda (#{i\ 2409}#)
- (if (#{fx=\ 571}#
- #{i\ 2409}#
- #{n\ 2405}#)
- (#{search\ 2378}#
- #{sym\ 2394}#
- (cdr #{subst\ 2395}#)
- #{marks\ 2396}#)
+ (#{id-var-name\ 12973}#
+ (lambda (#{id\ 14622}# #{w\ 14623}#)
+ (letrec ((#{search-vector-rib\ 14632}#
+ (lambda (#{sym\ 14644}#
+ #{subst\ 14645}#
+ #{marks\ 14646}#
+ #{symnames\ 14647}#
+ #{ribcage\ 14648}#)
+ (let ((#{n\ 14655}#
+ (vector-length #{symnames\ 14647}#)))
+ (letrec ((#{f\ 14658}#
+ (lambda (#{i\ 14659}#)
+ (if (#{fx=\ 12821}#
+ #{i\ 14659}#
+ #{n\ 14655}#)
+ (#{search\ 14628}#
+ #{sym\ 14644}#
+ (cdr #{subst\ 14645}#)
+ #{marks\ 14646}#)
(if (if (eq? (vector-ref
- #{symnames\ 2397}#
- #{i\ 2409}#)
- #{sym\ 2394}#)
- (#{same-marks?\ 721}#
- #{marks\ 2396}#
+ #{symnames\ 14647}#
+ #{i\ 14659}#)
+ #{sym\ 14644}#)
+ (#{same-marks?\ 12971}#
+ #{marks\ 14646}#
(vector-ref
- (#{ribcage-marks\ 693}#
- #{ribcage\ 2398}#)
- #{i\ 2409}#))
+ (#{ribcage-marks\
12943}#
+ #{ribcage\ 14648}#)
+ #{i\ 14659}#))
#f)
(values
(vector-ref
- (#{ribcage-labels\ 695}#
- #{ribcage\ 2398}#)
- #{i\ 2409}#)
- #{marks\ 2396}#)
- (#{f\ 2408}#
- (#{fx+\ 567}#
- #{i\ 2409}#
+ (#{ribcage-labels\ 12945}#
+ #{ribcage\ 14648}#)
+ #{i\ 14659}#)
+ #{marks\ 14646}#)
+ (#{f\ 14658}#
+ (#{fx+\ 12817}#
+ #{i\ 14659}#
1)))))))
- (#{f\ 2408}# 0)))))
- (#{search-list-rib\ 2380}#
- (lambda (#{sym\ 2417}#
- #{subst\ 2418}#
- #{marks\ 2419}#
- #{symnames\ 2420}#
- #{ribcage\ 2421}#)
- (letrec ((#{f\ 2430}#
- (lambda (#{symnames\ 2431}# #{i\ 2432}#)
- (if (null? #{symnames\ 2431}#)
- (#{search\ 2378}#
- #{sym\ 2417}#
- (cdr #{subst\ 2418}#)
- #{marks\ 2419}#)
- (if (if (eq? (car #{symnames\
2431}#)
- #{sym\ 2417}#)
- (#{same-marks?\ 721}#
- #{marks\ 2419}#
+ (#{f\ 14658}# 0)))))
+ (#{search-list-rib\ 14630}#
+ (lambda (#{sym\ 14667}#
+ #{subst\ 14668}#
+ #{marks\ 14669}#
+ #{symnames\ 14670}#
+ #{ribcage\ 14671}#)
+ (letrec ((#{f\ 14680}#
+ (lambda (#{symnames\ 14681}#
+ #{i\ 14682}#)
+ (if (null? #{symnames\ 14681}#)
+ (#{search\ 14628}#
+ #{sym\ 14667}#
+ (cdr #{subst\ 14668}#)
+ #{marks\ 14669}#)
+ (if (if (eq? (car #{symnames\
14681}#)
+ #{sym\ 14667}#)
+ (#{same-marks?\ 12971}#
+ #{marks\ 14669}#
(list-ref
- (#{ribcage-marks\ 693}#
- #{ribcage\ 2421}#)
- #{i\ 2432}#))
+ (#{ribcage-marks\ 12943}#
+ #{ribcage\ 14671}#)
+ #{i\ 14682}#))
#f)
(values
(list-ref
- (#{ribcage-labels\ 695}#
- #{ribcage\ 2421}#)
- #{i\ 2432}#)
- #{marks\ 2419}#)
- (#{f\ 2430}#
- (cdr #{symnames\ 2431}#)
- (#{fx+\ 567}#
- #{i\ 2432}#
+ (#{ribcage-labels\ 12945}#
+ #{ribcage\ 14671}#)
+ #{i\ 14682}#)
+ #{marks\ 14669}#)
+ (#{f\ 14680}#
+ (cdr #{symnames\ 14681}#)
+ (#{fx+\ 12817}#
+ #{i\ 14682}#
1)))))))
- (#{f\ 2430}# #{symnames\ 2420}# 0))))
- (#{search\ 2378}#
- (lambda (#{sym\ 2440}#
- #{subst\ 2441}#
- #{marks\ 2442}#)
- (if (null? #{subst\ 2441}#)
- (values #f #{marks\ 2442}#)
- (let ((#{fst\ 2447}# (car #{subst\ 2441}#)))
- (if (eq? #{fst\ 2447}# (quote shift))
- (#{search\ 2378}#
- #{sym\ 2440}#
- (cdr #{subst\ 2441}#)
- (cdr #{marks\ 2442}#))
- (let ((#{symnames\ 2449}#
- (#{ribcage-symnames\ 691}#
- #{fst\ 2447}#)))
- (if (vector? #{symnames\ 2449}#)
- (#{search-vector-rib\ 2382}#
- #{sym\ 2440}#
- #{subst\ 2441}#
- #{marks\ 2442}#
- #{symnames\ 2449}#
- #{fst\ 2447}#)
- (#{search-list-rib\ 2380}#
- #{sym\ 2440}#
- #{subst\ 2441}#
- #{marks\ 2442}#
- #{symnames\ 2449}#
- #{fst\ 2447}#)))))))))
- (if (symbol? #{id\ 2372}#)
- (let ((#{t\ 2452}#
+ (#{f\ 14680}# #{symnames\ 14670}# 0))))
+ (#{search\ 14628}#
+ (lambda (#{sym\ 14690}#
+ #{subst\ 14691}#
+ #{marks\ 14692}#)
+ (if (null? #{subst\ 14691}#)
+ (values #f #{marks\ 14692}#)
+ (let ((#{fst\ 14697}# (car #{subst\ 14691}#)))
+ (if (eq? #{fst\ 14697}# (quote shift))
+ (#{search\ 14628}#
+ #{sym\ 14690}#
+ (cdr #{subst\ 14691}#)
+ (cdr #{marks\ 14692}#))
+ (let ((#{symnames\ 14699}#
+ (#{ribcage-symnames\ 12941}#
+ #{fst\ 14697}#)))
+ (if (vector? #{symnames\ 14699}#)
+ (#{search-vector-rib\ 14632}#
+ #{sym\ 14690}#
+ #{subst\ 14691}#
+ #{marks\ 14692}#
+ #{symnames\ 14699}#
+ #{fst\ 14697}#)
+ (#{search-list-rib\ 14630}#
+ #{sym\ 14690}#
+ #{subst\ 14691}#
+ #{marks\ 14692}#
+ #{symnames\ 14699}#
+ #{fst\ 14697}#)))))))))
+ (if (symbol? #{id\ 14622}#)
+ (let ((#{t\ 14702}#
(call-with-values
(lambda ()
- (#{search\ 2378}#
- #{id\ 2372}#
- (#{wrap-subst\ 675}# #{w\ 2373}#)
- (#{wrap-marks\ 673}# #{w\ 2373}#)))
- (lambda (#{x\ 2454}# . #{ignore\ 2455}#)
- #{x\ 2454}#))))
- (if #{t\ 2452}# #{t\ 2452}# #{id\ 2372}#))
- (if (#{syntax-object?\ 630}# #{id\ 2372}#)
- (let ((#{id\ 2463}#
- (#{syntax-object-expression\ 632}# #{id\ 2372}#))
- (#{w1\ 2464}#
- (#{syntax-object-wrap\ 634}# #{id\ 2372}#)))
- (let ((#{marks\ 2466}#
- (#{join-marks\ 719}#
- (#{wrap-marks\ 673}# #{w\ 2373}#)
- (#{wrap-marks\ 673}# #{w1\ 2464}#))))
+ (#{search\ 14628}#
+ #{id\ 14622}#
+ (#{wrap-subst\ 12925}# #{w\ 14623}#)
+ (#{wrap-marks\ 12923}# #{w\ 14623}#)))
+ (lambda (#{x\ 14704}# . #{ignore\ 14705}#)
+ #{x\ 14704}#))))
+ (if #{t\ 14702}# #{t\ 14702}# #{id\ 14622}#))
+ (if (#{syntax-object?\ 12880}# #{id\ 14622}#)
+ (let ((#{id\ 14713}#
+ (#{syntax-object-expression\ 12882}#
+ #{id\ 14622}#))
+ (#{w1\ 14714}#
+ (#{syntax-object-wrap\ 12884}# #{id\ 14622}#)))
+ (let ((#{marks\ 14716}#
+ (#{join-marks\ 12969}#
+ (#{wrap-marks\ 12923}# #{w\ 14623}#)
+ (#{wrap-marks\ 12923}# #{w1\ 14714}#))))
(call-with-values
(lambda ()
- (#{search\ 2378}#
- #{id\ 2463}#
- (#{wrap-subst\ 675}# #{w\ 2373}#)
- #{marks\ 2466}#))
- (lambda (#{new-id\ 2467}# #{marks\ 2468}#)
- (let ((#{t\ 2473}# #{new-id\ 2467}#))
- (if #{t\ 2473}#
- #{t\ 2473}#
- (let ((#{t\ 2476}#
+ (#{search\ 14628}#
+ #{id\ 14713}#
+ (#{wrap-subst\ 12925}# #{w\ 14623}#)
+ #{marks\ 14716}#))
+ (lambda (#{new-id\ 14717}# #{marks\ 14718}#)
+ (let ((#{t\ 14723}# #{new-id\ 14717}#))
+ (if #{t\ 14723}#
+ #{t\ 14723}#
+ (let ((#{t\ 14726}#
(call-with-values
(lambda ()
- (#{search\ 2378}#
- #{id\ 2463}#
- (#{wrap-subst\ 675}#
- #{w1\ 2464}#)
- #{marks\ 2468}#))
- (lambda (#{x\ 2478}#
+ (#{search\ 14628}#
+ #{id\ 14713}#
+ (#{wrap-subst\ 12925}#
+ #{w1\ 14714}#)
+ #{marks\ 14718}#))
+ (lambda (#{x\ 14728}#
.
- #{ignore\ 2479}#)
- #{x\ 2478}#))))
- (if #{t\ 2476}#
- #{t\ 2476}#
- #{id\ 2463}#))))))))
+ #{ignore\ 14729}#)
+ #{x\ 14728}#))))
+ (if #{t\ 14726}#
+ #{t\ 14726}#
+ #{id\ 14713}#))))))))
(syntax-violation
'id-var-name
"invalid id"
- #{id\ 2372}#))))))
- (#{same-marks?\ 721}#
- (lambda (#{x\ 2484}# #{y\ 2485}#)
- (let ((#{t\ 2490}# (eq? #{x\ 2484}# #{y\ 2485}#)))
- (if #{t\ 2490}#
- #{t\ 2490}#
- (if (not (null? #{x\ 2484}#))
- (if (not (null? #{y\ 2485}#))
- (if (eq? (car #{x\ 2484}#) (car #{y\ 2485}#))
- (#{same-marks?\ 721}#
- (cdr #{x\ 2484}#)
- (cdr #{y\ 2485}#))
+ #{id\ 14622}#))))))
+ (#{same-marks?\ 12971}#
+ (lambda (#{x\ 14734}# #{y\ 14735}#)
+ (let ((#{t\ 14740}# (eq? #{x\ 14734}# #{y\ 14735}#)))
+ (if #{t\ 14740}#
+ #{t\ 14740}#
+ (if (not (null? #{x\ 14734}#))
+ (if (not (null? #{y\ 14735}#))
+ (if (eq? (car #{x\ 14734}#) (car #{y\ 14735}#))
+ (#{same-marks?\ 12971}#
+ (cdr #{x\ 14734}#)
+ (cdr #{y\ 14735}#))
#f)
#f)
#f)))))
- (#{join-marks\ 719}#
- (lambda (#{m1\ 2496}# #{m2\ 2497}#)
- (#{smart-append\ 715}# #{m1\ 2496}# #{m2\ 2497}#)))
- (#{join-wraps\ 717}#
- (lambda (#{w1\ 2500}# #{w2\ 2501}#)
- (let ((#{m1\ 2506}# (#{wrap-marks\ 673}# #{w1\ 2500}#))
- (#{s1\ 2507}# (#{wrap-subst\ 675}# #{w1\ 2500}#)))
- (if (null? #{m1\ 2506}#)
- (if (null? #{s1\ 2507}#)
- #{w2\ 2501}#
- (#{make-wrap\ 671}#
- (#{wrap-marks\ 673}# #{w2\ 2501}#)
- (#{smart-append\ 715}#
- #{s1\ 2507}#
- (#{wrap-subst\ 675}# #{w2\ 2501}#))))
- (#{make-wrap\ 671}#
- (#{smart-append\ 715}#
- #{m1\ 2506}#
- (#{wrap-marks\ 673}# #{w2\ 2501}#))
- (#{smart-append\ 715}#
- #{s1\ 2507}#
- (#{wrap-subst\ 675}# #{w2\ 2501}#)))))))
- (#{smart-append\ 715}#
- (lambda (#{m1\ 2508}# #{m2\ 2509}#)
- (if (null? #{m2\ 2509}#)
- #{m1\ 2508}#
- (append #{m1\ 2508}# #{m2\ 2509}#))))
- (#{make-binding-wrap\ 713}#
- (lambda (#{ids\ 2512}# #{labels\ 2513}# #{w\ 2514}#)
- (if (null? #{ids\ 2512}#)
- #{w\ 2514}#
- (#{make-wrap\ 671}#
- (#{wrap-marks\ 673}# #{w\ 2514}#)
- (cons (let ((#{labelvec\ 2519}#
- (list->vector #{labels\ 2513}#)))
- (let ((#{n\ 2521}#
- (vector-length #{labelvec\ 2519}#)))
- (let ((#{symnamevec\ 2524}#
- (make-vector #{n\ 2521}#))
- (#{marksvec\ 2525}#
- (make-vector #{n\ 2521}#)))
+ (#{join-marks\ 12969}#
+ (lambda (#{m1\ 14746}# #{m2\ 14747}#)
+ (#{smart-append\ 12965}#
+ #{m1\ 14746}#
+ #{m2\ 14747}#)))
+ (#{join-wraps\ 12967}#
+ (lambda (#{w1\ 14750}# #{w2\ 14751}#)
+ (let ((#{m1\ 14756}#
+ (#{wrap-marks\ 12923}# #{w1\ 14750}#))
+ (#{s1\ 14757}#
+ (#{wrap-subst\ 12925}# #{w1\ 14750}#)))
+ (if (null? #{m1\ 14756}#)
+ (if (null? #{s1\ 14757}#)
+ #{w2\ 14751}#
+ (#{make-wrap\ 12921}#
+ (#{wrap-marks\ 12923}# #{w2\ 14751}#)
+ (#{smart-append\ 12965}#
+ #{s1\ 14757}#
+ (#{wrap-subst\ 12925}# #{w2\ 14751}#))))
+ (#{make-wrap\ 12921}#
+ (#{smart-append\ 12965}#
+ #{m1\ 14756}#
+ (#{wrap-marks\ 12923}# #{w2\ 14751}#))
+ (#{smart-append\ 12965}#
+ #{s1\ 14757}#
+ (#{wrap-subst\ 12925}# #{w2\ 14751}#)))))))
+ (#{smart-append\ 12965}#
+ (lambda (#{m1\ 14758}# #{m2\ 14759}#)
+ (if (null? #{m2\ 14759}#)
+ #{m1\ 14758}#
+ (append #{m1\ 14758}# #{m2\ 14759}#))))
+ (#{make-binding-wrap\ 12963}#
+ (lambda (#{ids\ 14762}# #{labels\ 14763}# #{w\ 14764}#)
+ (if (null? #{ids\ 14762}#)
+ #{w\ 14764}#
+ (#{make-wrap\ 12921}#
+ (#{wrap-marks\ 12923}# #{w\ 14764}#)
+ (cons (let ((#{labelvec\ 14769}#
+ (list->vector #{labels\ 14763}#)))
+ (let ((#{n\ 14771}#
+ (vector-length #{labelvec\ 14769}#)))
+ (let ((#{symnamevec\ 14774}#
+ (make-vector #{n\ 14771}#))
+ (#{marksvec\ 14775}#
+ (make-vector #{n\ 14771}#)))
(begin
- (letrec ((#{f\ 2529}#
- (lambda (#{ids\ 2530}# #{i\ 2531}#)
- (if (not (null? #{ids\ 2530}#))
+ (letrec ((#{f\ 14779}#
+ (lambda (#{ids\ 14780}#
+ #{i\ 14781}#)
+ (if (not (null? #{ids\ 14780}#))
(call-with-values
(lambda ()
- (#{id-sym-name&marks\ 669}#
- (car #{ids\ 2530}#)
- #{w\ 2514}#))
- (lambda (#{symname\ 2532}#
- #{marks\ 2533}#)
+ (#{id-sym-name&marks\
12919}#
+ (car #{ids\ 14780}#)
+ #{w\ 14764}#))
+ (lambda (#{symname\ 14782}#
+ #{marks\ 14783}#)
(begin
(vector-set!
- #{symnamevec\ 2524}#
- #{i\ 2531}#
- #{symname\ 2532}#)
+ #{symnamevec\ 14774}#
+ #{i\ 14781}#
+ #{symname\ 14782}#)
(vector-set!
- #{marksvec\ 2525}#
- #{i\ 2531}#
- #{marks\ 2533}#)
- (#{f\ 2529}#
- (cdr #{ids\ 2530}#)
- (#{fx+\ 567}#
- #{i\ 2531}#
+ #{marksvec\ 14775}#
+ #{i\ 14781}#
+ #{marks\ 14783}#)
+ (#{f\ 14779}#
+ (cdr #{ids\ 14780}#)
+ (#{fx+\ 12817}#
+ #{i\ 14781}#
1)))))))))
- (#{f\ 2529}# #{ids\ 2512}# 0))
- (#{make-ribcage\ 687}#
- #{symnamevec\ 2524}#
- #{marksvec\ 2525}#
- #{labelvec\ 2519}#)))))
- (#{wrap-subst\ 675}# #{w\ 2514}#))))))
- (#{extend-ribcage!\ 711}#
- (lambda (#{ribcage\ 2536}# #{id\ 2537}# #{label\ 2538}#)
+ (#{f\ 14779}# #{ids\ 14762}# 0))
+ (#{make-ribcage\ 12937}#
+ #{symnamevec\ 14774}#
+ #{marksvec\ 14775}#
+ #{labelvec\ 14769}#)))))
+ (#{wrap-subst\ 12925}# #{w\ 14764}#))))))
+ (#{extend-ribcage!\ 12961}#
+ (lambda (#{ribcage\ 14786}#
+ #{id\ 14787}#
+ #{label\ 14788}#)
(begin
- (#{set-ribcage-symnames!\ 697}#
- #{ribcage\ 2536}#
- (cons (#{syntax-object-expression\ 632}# #{id\ 2537}#)
- (#{ribcage-symnames\ 691}# #{ribcage\ 2536}#)))
- (#{set-ribcage-marks!\ 699}#
- #{ribcage\ 2536}#
- (cons (#{wrap-marks\ 673}#
- (#{syntax-object-wrap\ 634}# #{id\ 2537}#))
- (#{ribcage-marks\ 693}# #{ribcage\ 2536}#)))
- (#{set-ribcage-labels!\ 701}#
- #{ribcage\ 2536}#
- (cons #{label\ 2538}#
- (#{ribcage-labels\ 695}# #{ribcage\ 2536}#))))))
- (#{anti-mark\ 707}#
- (lambda (#{w\ 2542}#)
- (#{make-wrap\ 671}#
- (cons #f (#{wrap-marks\ 673}# #{w\ 2542}#))
+ (#{set-ribcage-symnames!\ 12947}#
+ #{ribcage\ 14786}#
+ (cons (#{syntax-object-expression\ 12882}#
+ #{id\ 14787}#)
+ (#{ribcage-symnames\ 12941}# #{ribcage\ 14786}#)))
+ (#{set-ribcage-marks!\ 12949}#
+ #{ribcage\ 14786}#
+ (cons (#{wrap-marks\ 12923}#
+ (#{syntax-object-wrap\ 12884}# #{id\ 14787}#))
+ (#{ribcage-marks\ 12943}# #{ribcage\ 14786}#)))
+ (#{set-ribcage-labels!\ 12951}#
+ #{ribcage\ 14786}#
+ (cons #{label\ 14788}#
+ (#{ribcage-labels\ 12945}# #{ribcage\ 14786}#))))))
+ (#{anti-mark\ 12957}#
+ (lambda (#{w\ 14792}#)
+ (#{make-wrap\ 12921}#
+ (cons #f (#{wrap-marks\ 12923}# #{w\ 14792}#))
(cons 'shift
- (#{wrap-subst\ 675}# #{w\ 2542}#)))))
- (#{set-ribcage-labels!\ 701}#
- (lambda (#{x\ 2545}# #{update\ 2546}#)
- (vector-set! #{x\ 2545}# 3 #{update\ 2546}#)))
- (#{set-ribcage-marks!\ 699}#
- (lambda (#{x\ 2549}# #{update\ 2550}#)
- (vector-set! #{x\ 2549}# 2 #{update\ 2550}#)))
- (#{set-ribcage-symnames!\ 697}#
- (lambda (#{x\ 2553}# #{update\ 2554}#)
- (vector-set! #{x\ 2553}# 1 #{update\ 2554}#)))
- (#{ribcage-labels\ 695}#
- (lambda (#{x\ 2557}#) (vector-ref #{x\ 2557}# 3)))
- (#{ribcage-marks\ 693}#
- (lambda (#{x\ 2559}#) (vector-ref #{x\ 2559}# 2)))
- (#{ribcage-symnames\ 691}#
- (lambda (#{x\ 2561}#) (vector-ref #{x\ 2561}# 1)))
- (#{ribcage?\ 689}#
- (lambda (#{x\ 2563}#)
- (if (vector? #{x\ 2563}#)
- (if (= (vector-length #{x\ 2563}#) 4)
- (eq? (vector-ref #{x\ 2563}# 0) (quote ribcage))
+ (#{wrap-subst\ 12925}# #{w\ 14792}#)))))
+ (#{set-ribcage-labels!\ 12951}#
+ (lambda (#{x\ 14795}# #{update\ 14796}#)
+ (vector-set! #{x\ 14795}# 3 #{update\ 14796}#)))
+ (#{set-ribcage-marks!\ 12949}#
+ (lambda (#{x\ 14799}# #{update\ 14800}#)
+ (vector-set! #{x\ 14799}# 2 #{update\ 14800}#)))
+ (#{set-ribcage-symnames!\ 12947}#
+ (lambda (#{x\ 14803}# #{update\ 14804}#)
+ (vector-set! #{x\ 14803}# 1 #{update\ 14804}#)))
+ (#{ribcage-labels\ 12945}#
+ (lambda (#{x\ 14807}#)
+ (vector-ref #{x\ 14807}# 3)))
+ (#{ribcage-marks\ 12943}#
+ (lambda (#{x\ 14809}#)
+ (vector-ref #{x\ 14809}# 2)))
+ (#{ribcage-symnames\ 12941}#
+ (lambda (#{x\ 14811}#)
+ (vector-ref #{x\ 14811}# 1)))
+ (#{ribcage?\ 12939}#
+ (lambda (#{x\ 14813}#)
+ (if (vector? #{x\ 14813}#)
+ (if (= (vector-length #{x\ 14813}#) 4)
+ (eq? (vector-ref #{x\ 14813}# 0) (quote ribcage))
#f)
#f)))
- (#{make-ribcage\ 687}#
- (lambda (#{symnames\ 2568}#
- #{marks\ 2569}#
- #{labels\ 2570}#)
+ (#{make-ribcage\ 12937}#
+ (lambda (#{symnames\ 14818}#
+ #{marks\ 14819}#
+ #{labels\ 14820}#)
(vector
'ribcage
- #{symnames\ 2568}#
- #{marks\ 2569}#
- #{labels\ 2570}#)))
- (#{gen-labels\ 684}#
- (lambda (#{ls\ 2574}#)
- (if (null? #{ls\ 2574}#)
+ #{symnames\ 14818}#
+ #{marks\ 14819}#
+ #{labels\ 14820}#)))
+ (#{gen-labels\ 12934}#
+ (lambda (#{ls\ 14824}#)
+ (if (null? #{ls\ 14824}#)
'()
- (cons (#{gen-label\ 682}#)
- (#{gen-labels\ 684}# (cdr #{ls\ 2574}#))))))
- (#{gen-label\ 682}#
+ (cons (#{gen-label\ 12932}#)
+ (#{gen-labels\ 12934}# (cdr #{ls\ 14824}#))))))
+ (#{gen-label\ 12932}#
(lambda () (symbol->string (gensym "i"))))
- (#{wrap-subst\ 675}# cdr)
- (#{wrap-marks\ 673}# car)
- (#{make-wrap\ 671}# cons)
- (#{id-sym-name&marks\ 669}#
- (lambda (#{x\ 2576}# #{w\ 2577}#)
- (if (#{syntax-object?\ 630}# #{x\ 2576}#)
+ (#{wrap-subst\ 12925}# cdr)
+ (#{wrap-marks\ 12923}# car)
+ (#{make-wrap\ 12921}# cons)
+ (#{id-sym-name&marks\ 12919}#
+ (lambda (#{x\ 14826}# #{w\ 14827}#)
+ (if (#{syntax-object?\ 12880}# #{x\ 14826}#)
(values
- (#{syntax-object-expression\ 632}# #{x\ 2576}#)
- (#{join-marks\ 719}#
- (#{wrap-marks\ 673}# #{w\ 2577}#)
- (#{wrap-marks\ 673}#
- (#{syntax-object-wrap\ 634}# #{x\ 2576}#))))
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14826}#)
+ (#{join-marks\ 12969}#
+ (#{wrap-marks\ 12923}# #{w\ 14827}#)
+ (#{wrap-marks\ 12923}#
+ (#{syntax-object-wrap\ 12884}# #{x\ 14826}#))))
(values
- #{x\ 2576}#
- (#{wrap-marks\ 673}# #{w\ 2577}#)))))
- (#{id?\ 666}#
- (lambda (#{x\ 2580}#)
- (if (symbol? #{x\ 2580}#)
+ #{x\ 14826}#
+ (#{wrap-marks\ 12923}# #{w\ 14827}#)))))
+ (#{id?\ 12916}#
+ (lambda (#{x\ 14830}#)
+ (if (symbol? #{x\ 14830}#)
#t
- (if (#{syntax-object?\ 630}# #{x\ 2580}#)
+ (if (#{syntax-object?\ 12880}# #{x\ 14830}#)
(symbol?
- (#{syntax-object-expression\ 632}# #{x\ 2580}#))
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14830}#))
#f))))
- (#{nonsymbol-id?\ 664}#
- (lambda (#{x\ 2587}#)
- (if (#{syntax-object?\ 630}# #{x\ 2587}#)
+ (#{nonsymbol-id?\ 12914}#
+ (lambda (#{x\ 14837}#)
+ (if (#{syntax-object?\ 12880}# #{x\ 14837}#)
(symbol?
- (#{syntax-object-expression\ 632}# #{x\ 2587}#))
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14837}#))
#f)))
- (#{global-extend\ 662}#
- (lambda (#{type\ 2591}# #{sym\ 2592}# #{val\ 2593}#)
- (#{put-global-definition-hook\ 580}#
- #{sym\ 2592}#
- #{type\ 2591}#
- #{val\ 2593}#)))
- (#{lookup\ 660}#
- (lambda (#{x\ 2597}# #{r\ 2598}# #{mod\ 2599}#)
- (let ((#{t\ 2605}# (assq #{x\ 2597}# #{r\ 2598}#)))
- (if #{t\ 2605}#
- (cdr #{t\ 2605}#)
- (if (symbol? #{x\ 2597}#)
- (let ((#{t\ 2611}#
- (#{get-global-definition-hook\ 582}#
- #{x\ 2597}#
- #{mod\ 2599}#)))
- (if #{t\ 2611}# #{t\ 2611}# (quote (global))))
+ (#{global-extend\ 12912}#
+ (lambda (#{type\ 14841}# #{sym\ 14842}# #{val\ 14843}#)
+ (#{put-global-definition-hook\ 12830}#
+ #{sym\ 14842}#
+ #{type\ 14841}#
+ #{val\ 14843}#)))
+ (#{lookup\ 12910}#
+ (lambda (#{x\ 14847}# #{r\ 14848}# #{mod\ 14849}#)
+ (let ((#{t\ 14855}# (assq #{x\ 14847}# #{r\ 14848}#)))
+ (if #{t\ 14855}#
+ (cdr #{t\ 14855}#)
+ (if (symbol? #{x\ 14847}#)
+ (let ((#{t\ 14861}#
+ (#{get-global-definition-hook\ 12832}#
+ #{x\ 14847}#
+ #{mod\ 14849}#)))
+ (if #{t\ 14861}# #{t\ 14861}# (quote (global))))
'(displaced-lexical))))))
- (#{macros-only-env\ 658}#
- (lambda (#{r\ 2616}#)
- (if (null? #{r\ 2616}#)
+ (#{macros-only-env\ 12908}#
+ (lambda (#{r\ 14866}#)
+ (if (null? #{r\ 14866}#)
'()
- (let ((#{a\ 2619}# (car #{r\ 2616}#)))
- (if (eq? (cadr #{a\ 2619}#) (quote macro))
- (cons #{a\ 2619}#
- (#{macros-only-env\ 658}# (cdr #{r\ 2616}#)))
- (#{macros-only-env\ 658}# (cdr #{r\ 2616}#)))))))
- (#{extend-var-env\ 656}#
- (lambda (#{labels\ 2620}# #{vars\ 2621}# #{r\ 2622}#)
- (if (null? #{labels\ 2620}#)
- #{r\ 2622}#
- (#{extend-var-env\ 656}#
- (cdr #{labels\ 2620}#)
- (cdr #{vars\ 2621}#)
- (cons (cons (car #{labels\ 2620}#)
- (cons (quote lexical) (car #{vars\ 2621}#)))
- #{r\ 2622}#)))))
- (#{extend-env\ 654}#
- (lambda (#{labels\ 2627}# #{bindings\ 2628}# #{r\ 2629}#)
- (if (null? #{labels\ 2627}#)
- #{r\ 2629}#
- (#{extend-env\ 654}#
- (cdr #{labels\ 2627}#)
- (cdr #{bindings\ 2628}#)
- (cons (cons (car #{labels\ 2627}#)
- (car #{bindings\ 2628}#))
- #{r\ 2629}#)))))
- (#{binding-value\ 651}# cdr)
- (#{binding-type\ 649}# car)
- (#{source-annotation\ 645}#
- (lambda (#{x\ 2633}#)
- (if (#{syntax-object?\ 630}# #{x\ 2633}#)
- (#{source-annotation\ 645}#
- (#{syntax-object-expression\ 632}# #{x\ 2633}#))
- (if (pair? #{x\ 2633}#)
- (let ((#{props\ 2640}# (source-properties #{x\ 2633}#)))
- (if (pair? #{props\ 2640}#) #{props\ 2640}# #f))
+ (let ((#{a\ 14869}# (car #{r\ 14866}#)))
+ (if (eq? (cadr #{a\ 14869}#) (quote macro))
+ (cons #{a\ 14869}#
+ (#{macros-only-env\ 12908}# (cdr #{r\ 14866}#)))
+ (#{macros-only-env\ 12908}# (cdr #{r\ 14866}#)))))))
+ (#{extend-var-env\ 12906}#
+ (lambda (#{labels\ 14870}# #{vars\ 14871}# #{r\ 14872}#)
+ (if (null? #{labels\ 14870}#)
+ #{r\ 14872}#
+ (#{extend-var-env\ 12906}#
+ (cdr #{labels\ 14870}#)
+ (cdr #{vars\ 14871}#)
+ (cons (cons (car #{labels\ 14870}#)
+ (cons (quote lexical) (car #{vars\ 14871}#)))
+ #{r\ 14872}#)))))
+ (#{extend-env\ 12904}#
+ (lambda (#{labels\ 14877}#
+ #{bindings\ 14878}#
+ #{r\ 14879}#)
+ (if (null? #{labels\ 14877}#)
+ #{r\ 14879}#
+ (#{extend-env\ 12904}#
+ (cdr #{labels\ 14877}#)
+ (cdr #{bindings\ 14878}#)
+ (cons (cons (car #{labels\ 14877}#)
+ (car #{bindings\ 14878}#))
+ #{r\ 14879}#)))))
+ (#{binding-value\ 12901}# cdr)
+ (#{binding-type\ 12899}# car)
+ (#{source-annotation\ 12895}#
+ (lambda (#{x\ 14883}#)
+ (if (#{syntax-object?\ 12880}# #{x\ 14883}#)
+ (#{source-annotation\ 12895}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 14883}#))
+ (if (pair? #{x\ 14883}#)
+ (let ((#{props\ 14890}#
+ (source-properties #{x\ 14883}#)))
+ (if (pair? #{props\ 14890}#) #{props\ 14890}# #f))
#f))))
- (#{set-syntax-object-module!\ 642}#
- (lambda (#{x\ 2642}# #{update\ 2643}#)
- (vector-set! #{x\ 2642}# 3 #{update\ 2643}#)))
- (#{set-syntax-object-wrap!\ 640}#
- (lambda (#{x\ 2646}# #{update\ 2647}#)
- (vector-set! #{x\ 2646}# 2 #{update\ 2647}#)))
- (#{set-syntax-object-expression!\ 638}#
- (lambda (#{x\ 2650}# #{update\ 2651}#)
- (vector-set! #{x\ 2650}# 1 #{update\ 2651}#)))
- (#{syntax-object-module\ 636}#
- (lambda (#{x\ 2654}#) (vector-ref #{x\ 2654}# 3)))
- (#{syntax-object-wrap\ 634}#
- (lambda (#{x\ 2656}#) (vector-ref #{x\ 2656}# 2)))
- (#{syntax-object-expression\ 632}#
- (lambda (#{x\ 2658}#) (vector-ref #{x\ 2658}# 1)))
- (#{syntax-object?\ 630}#
- (lambda (#{x\ 2660}#)
- (if (vector? #{x\ 2660}#)
- (if (= (vector-length #{x\ 2660}#) 4)
- (eq? (vector-ref #{x\ 2660}# 0)
+ (#{set-syntax-object-module!\ 12892}#
+ (lambda (#{x\ 14892}# #{update\ 14893}#)
+ (vector-set! #{x\ 14892}# 3 #{update\ 14893}#)))
+ (#{set-syntax-object-wrap!\ 12890}#
+ (lambda (#{x\ 14896}# #{update\ 14897}#)
+ (vector-set! #{x\ 14896}# 2 #{update\ 14897}#)))
+ (#{set-syntax-object-expression!\ 12888}#
+ (lambda (#{x\ 14900}# #{update\ 14901}#)
+ (vector-set! #{x\ 14900}# 1 #{update\ 14901}#)))
+ (#{syntax-object-module\ 12886}#
+ (lambda (#{x\ 14904}#)
+ (vector-ref #{x\ 14904}# 3)))
+ (#{syntax-object-wrap\ 12884}#
+ (lambda (#{x\ 14906}#)
+ (vector-ref #{x\ 14906}# 2)))
+ (#{syntax-object-expression\ 12882}#
+ (lambda (#{x\ 14908}#)
+ (vector-ref #{x\ 14908}# 1)))
+ (#{syntax-object?\ 12880}#
+ (lambda (#{x\ 14910}#)
+ (if (vector? #{x\ 14910}#)
+ (if (= (vector-length #{x\ 14910}#) 4)
+ (eq? (vector-ref #{x\ 14910}# 0)
'syntax-object)
#f)
#f)))
- (#{make-syntax-object\ 628}#
- (lambda (#{expression\ 2665}#
- #{wrap\ 2666}#
- #{module\ 2667}#)
+ (#{make-syntax-object\ 12878}#
+ (lambda (#{expression\ 14915}#
+ #{wrap\ 14916}#
+ #{module\ 14917}#)
(vector
'syntax-object
- #{expression\ 2665}#
- #{wrap\ 2666}#
- #{module\ 2667}#)))
- (#{build-letrec\ 624}#
- (lambda (#{src\ 2671}#
- #{ids\ 2672}#
- #{vars\ 2673}#
- #{val-exps\ 2674}#
- #{body-exp\ 2675}#)
- (if (null? #{vars\ 2673}#)
- #{body-exp\ 2675}#
- (let ((#{atom-key\ 2683}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2683}# (quote (c)))
- (begin
- (for-each
- #{maybe-name-value!\ 604}#
- #{ids\ 2672}#
- #{val-exps\ 2674}#)
- ((@ (language tree-il) make-letrec)
- #{src\ 2671}#
- #{ids\ 2672}#
- #{vars\ 2673}#
- #{val-exps\ 2674}#
- #{body-exp\ 2675}#))
- (#{decorate-source\ 584}#
- (list 'letrec
- (map list #{vars\ 2673}# #{val-exps\ 2674}#)
- #{body-exp\ 2675}#)
- #{src\ 2671}#))))))
- (#{build-named-let\ 622}#
- (lambda (#{src\ 2687}#
- #{ids\ 2688}#
- #{vars\ 2689}#
- #{val-exps\ 2690}#
- #{body-exp\ 2691}#)
- (let ((#{f\ 2701}# (car #{vars\ 2689}#))
- (#{f-name\ 2702}# (car #{ids\ 2688}#))
- (#{vars\ 2703}# (cdr #{vars\ 2689}#))
- (#{ids\ 2704}# (cdr #{ids\ 2688}#)))
- (let ((#{atom-key\ 2707}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2707}# (quote (c)))
- (let ((#{proc\ 2710}#
- (#{build-simple-lambda\ 608}#
- #{src\ 2687}#
- #{ids\ 2704}#
- #f
- #{vars\ 2703}#
- '()
- #{body-exp\ 2691}#)))
- (begin
- (#{maybe-name-value!\ 604}#
- #{f-name\ 2702}#
- #{proc\ 2710}#)
- (for-each
- #{maybe-name-value!\ 604}#
- #{ids\ 2704}#
- #{val-exps\ 2690}#)
- ((@ (language tree-il) make-letrec)
- #{src\ 2687}#
- (list #{f-name\ 2702}#)
- (list #{f\ 2701}#)
- (list #{proc\ 2710}#)
- (#{build-application\ 588}#
- #{src\ 2687}#
- (#{build-lexical-reference\ 594}#
- 'fun
- #{src\ 2687}#
- #{f-name\ 2702}#
- #{f\ 2701}#)
- #{val-exps\ 2690}#))))
- (#{decorate-source\ 584}#
- (list 'letrec
- (list (list #{f\ 2701}#
- (list 'lambda
- #{vars\ 2703}#
- #{body-exp\ 2691}#)))
- (cons #{f\ 2701}# #{val-exps\ 2690}#))
- #{src\ 2687}#))))))
- (#{build-let\ 620}#
- (lambda (#{src\ 2713}#
- #{ids\ 2714}#
- #{vars\ 2715}#
- #{val-exps\ 2716}#
- #{body-exp\ 2717}#)
- (if (null? #{vars\ 2715}#)
- #{body-exp\ 2717}#
- (let ((#{atom-key\ 2725}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2725}# (quote (c)))
- (begin
- (for-each
- #{maybe-name-value!\ 604}#
- #{ids\ 2714}#
- #{val-exps\ 2716}#)
- ((@ (language tree-il) make-let)
- #{src\ 2713}#
- #{ids\ 2714}#
- #{vars\ 2715}#
- #{val-exps\ 2716}#
- #{body-exp\ 2717}#))
- (#{decorate-source\ 584}#
- (list 'let
- (map list #{vars\ 2715}# #{val-exps\ 2716}#)
- #{body-exp\ 2717}#)
- #{src\ 2713}#))))))
- (#{build-sequence\ 618}#
- (lambda (#{src\ 2729}# #{exps\ 2730}#)
- (if (null? (cdr #{exps\ 2730}#))
- (car #{exps\ 2730}#)
- (let ((#{atom-key\ 2735}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2735}# (quote (c)))
- ((@ (language tree-il) make-sequence)
- #{src\ 2729}#
- #{exps\ 2730}#)
- (#{decorate-source\ 584}#
- (cons (quote begin) #{exps\ 2730}#)
- #{src\ 2729}#))))))
- (#{build-data\ 616}#
- (lambda (#{src\ 2739}# #{exp\ 2740}#)
- (let ((#{atom-key\ 2745}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2745}# (quote (c)))
- ((@ (language tree-il) make-const)
- #{src\ 2739}#
- #{exp\ 2740}#)
- (#{decorate-source\ 584}#
- (if (if (self-evaluating? #{exp\ 2740}#)
- (not (vector? #{exp\ 2740}#))
- #f)
- #{exp\ 2740}#
- (list (quote quote) #{exp\ 2740}#))
- #{src\ 2739}#)))))
- (#{build-primref\ 614}#
- (lambda (#{src\ 2750}# #{name\ 2751}#)
+ #{expression\ 14915}#
+ #{wrap\ 14916}#
+ #{module\ 14917}#)))
+ (#{build-letrec\ 12874}#
+ (lambda (#{src\ 14921}#
+ #{ids\ 14922}#
+ #{vars\ 14923}#
+ #{val-exps\ 14924}#
+ #{body-exp\ 14925}#)
+ (if (null? #{vars\ 14923}#)
+ #{body-exp\ 14925}#
+ (#{make-letrec\ 12813}#
+ #{src\ 14921}#
+ #{ids\ 14922}#
+ #{vars\ 14923}#
+ #{val-exps\ 14924}#
+ #{body-exp\ 14925}#))))
+ (#{build-named-let\ 12872}#
+ (lambda (#{src\ 14931}#
+ #{ids\ 14932}#
+ #{vars\ 14933}#
+ #{val-exps\ 14934}#
+ #{body-exp\ 14935}#)
+ (let ((#{f\ 14945}# (car #{vars\ 14933}#))
+ (#{f-name\ 14946}# (car #{ids\ 14932}#))
+ (#{vars\ 14947}# (cdr #{vars\ 14933}#))
+ (#{ids\ 14948}# (cdr #{ids\ 14932}#)))
+ (let ((#{proc\ 14950}#
+ (#{build-simple-lambda\ 12858}#
+ #{src\ 14931}#
+ #{ids\ 14948}#
+ #f
+ #{vars\ 14947}#
+ '()
+ #{body-exp\ 14935}#)))
+ (#{make-letrec\ 12813}#
+ #{src\ 14931}#
+ (list #{f-name\ 14946}#)
+ (list #{f\ 14945}#)
+ (list #{proc\ 14950}#)
+ (#{build-application\ 12838}#
+ #{src\ 14931}#
+ (#{build-lexical-reference\ 12844}#
+ 'fun
+ #{src\ 14931}#
+ #{f-name\ 14946}#
+ #{f\ 14945}#)
+ #{val-exps\ 14934}#))))))
+ (#{build-let\ 12870}#
+ (lambda (#{src\ 14951}#
+ #{ids\ 14952}#
+ #{vars\ 14953}#
+ #{val-exps\ 14954}#
+ #{body-exp\ 14955}#)
+ (if (null? #{vars\ 14953}#)
+ #{body-exp\ 14955}#
+ (#{make-let\ 12811}#
+ #{src\ 14951}#
+ #{ids\ 14952}#
+ #{vars\ 14953}#
+ #{val-exps\ 14954}#
+ #{body-exp\ 14955}#))))
+ (#{build-sequence\ 12868}#
+ (lambda (#{src\ 14961}# #{exps\ 14962}#)
+ (if (null? (cdr #{exps\ 14962}#))
+ (car #{exps\ 14962}#)
+ (#{make-sequence\ 12805}#
+ #{src\ 14961}#
+ #{exps\ 14962}#))))
+ (#{build-data\ 12866}#
+ (lambda (#{src\ 14965}# #{exp\ 14966}#)
+ (#{make-const\ 12783}#
+ #{src\ 14965}#
+ #{exp\ 14966}#)))
+ (#{build-primref\ 12864}#
+ (lambda (#{src\ 14969}# #{name\ 14970}#)
(if (equal?
(module-name (current-module))
'(guile))
- (let ((#{atom-key\ 2756}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2756}# (quote (c)))
- ((@ (language tree-il) make-toplevel-ref)
- #{src\ 2750}#
- #{name\ 2751}#)
- (#{decorate-source\ 584}#
- #{name\ 2751}#
- #{src\ 2750}#)))
- (let ((#{atom-key\ 2761}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2761}# (quote (c)))
- ((@ (language tree-il) make-module-ref)
- #{src\ 2750}#
- '(guile)
- #{name\ 2751}#
- #f)
- (#{decorate-source\ 584}#
- (list (quote @@) (quote (guile)) #{name\ 2751}#)
- #{src\ 2750}#))))))
- (#{build-lambda-case\ 612}#
- (lambda (#{src\ 2765}#
- #{req\ 2766}#
- #{opt\ 2767}#
- #{rest\ 2768}#
- #{kw\ 2769}#
- #{inits\ 2770}#
- #{vars\ 2771}#
- #{body\ 2772}#
- #{else-case\ 2773}#)
- (let ((#{atom-key\ 2785}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2785}# (quote (c)))
- ((@ (language tree-il) make-lambda-case)
- #{src\ 2765}#
- #{req\ 2766}#
- #{opt\ 2767}#
- #{rest\ 2768}#
- #{kw\ 2769}#
- #{inits\ 2770}#
- #{vars\ 2771}#
- #{body\ 2772}#
- #{else-case\ 2773}#)
- (let ((#{nreq\ 2790}# (length #{req\ 2766}#)))
- (let ((#{nopt\ 2792}#
- (if #{opt\ 2767}# (length #{opt\ 2767}#) 0)))
- (let ((#{rest-idx\ 2794}#
- (if #{rest\ 2768}#
- (+ #{nreq\ 2790}# #{nopt\ 2792}#)
+ (#{make-toplevel-ref\ 12795}#
+ #{src\ 14969}#
+ #{name\ 14970}#)
+ (#{make-module-ref\ 12791}#
+ #{src\ 14969}#
+ '(guile)
+ #{name\ 14970}#
+ #f))))
+ (#{build-lambda-case\ 12862}#
+ (lambda (#{src\ 14973}#
+ #{req\ 14974}#
+ #{opt\ 14975}#
+ #{rest\ 14976}#
+ #{kw\ 14977}#
+ #{inits\ 14978}#
+ #{vars\ 14979}#
+ #{body\ 14980}#
+ #{else-case\ 14981}#)
+ (let ((#{atom-key\ 14993}#
+ (fluid-ref #{*mode*\ 12778}#)))
+ (if (memv #{atom-key\ 14993}# (quote (c)))
+ (#{make-lambda-case\ 12809}#
+ #{src\ 14973}#
+ #{req\ 14974}#
+ #{opt\ 14975}#
+ #{rest\ 14976}#
+ #{kw\ 14977}#
+ #{inits\ 14978}#
+ #{vars\ 14979}#
+ #{body\ 14980}#
+ #{else-case\ 14981}#)
+ (let ((#{nreq\ 14998}# (length #{req\ 14974}#)))
+ (let ((#{nopt\ 15000}#
+ (if #{opt\ 14975}# (length #{opt\ 14975}#) 0)))
+ (let ((#{rest-idx\ 15002}#
+ (if #{rest\ 14976}#
+ (+ #{nreq\ 14998}# #{nopt\ 15000}#)
#f)))
- (let ((#{allow-other-keys?\ 2798}#
- (if #{kw\ 2769}# (car #{kw\ 2769}#) #f)))
- (let ((#{kw-indices\ 2800}#
- (map (lambda (#{x\ 2801}#)
- (cons (car #{x\ 2801}#)
+ (let ((#{allow-other-keys?\ 15006}#
+ (if #{kw\ 14977}# (car #{kw\ 14977}#) #f)))
+ (let ((#{kw-indices\ 15008}#
+ (map (lambda (#{x\ 15009}#)
+ (cons (car #{x\ 15009}#)
(list-index
- #{vars\ 2771}#
- (caddr #{x\ 2801}#))))
- (if #{kw\ 2769}#
- (cdr #{kw\ 2769}#)
+ #{vars\ 14979}#
+ (caddr #{x\ 15009}#))))
+ (if #{kw\ 14977}#
+ (cdr #{kw\ 14977}#)
'()))))
- (let ((#{nargs\ 2804}#
+ (let ((#{nargs\ 15012}#
(apply max
- (+ #{nreq\ 2790}#
- #{nopt\ 2792}#
- (if #{rest\ 2768}# 1 0))
+ (+ #{nreq\ 14998}#
+ #{nopt\ 15000}#
+ (if #{rest\ 14976}# 1 0))
(map 1+
(map cdr
- #{kw-indices\ 2800}#)))))
+ #{kw-indices\
15008}#)))))
(begin
- (let ((#{t\ 2807}#
- (= #{nargs\ 2804}#
- (length #{vars\ 2771}#)
- (+ #{nreq\ 2790}#
- (length #{inits\ 2770}#)
- (if #{rest\ 2768}# 1 0)))))
- (if #{t\ 2807}#
- #{t\ 2807}#
+ (let ((#{t\ 15015}#
+ (= #{nargs\ 15012}#
+ (length #{vars\ 14979}#)
+ (+ #{nreq\ 14998}#
+ (length #{inits\ 14978}#)
+ (if #{rest\ 14976}# 1 0)))))
+ (if #{t\ 15015}#
+ #{t\ 15015}#
(error "something went wrong"
- #{req\ 2766}#
- #{opt\ 2767}#
- #{rest\ 2768}#
- #{kw\ 2769}#
- #{inits\ 2770}#
- #{vars\ 2771}#
- #{nreq\ 2790}#
- #{nopt\ 2792}#
- #{kw-indices\ 2800}#
- #{nargs\ 2804}#)))
- (#{decorate-source\ 584}#
- (cons (list (append
- (list-head
- #{vars\ 2771}#
- #{nreq\ 2790}#)
- (append
- (if #{opt\ 2767}#
- (cons #:optional
- (map list
- (list-head
- (list-tail
- #{vars\
2771}#
- #{nreq\
2790}#)
- #{nopt\
2792}#)
- (list-head
- #{inits\
2770}#
- #{nopt\
2792}#)))
- '())
- (append
- (if #{kw\ 2769}#
- (cons #:key
- (map (lambda
(#{x\ 2812}#
-
#{init\ 2813}#)
- (list
(caddr #{x\ 2812}#)
-
#{init\ 2813}#
- (car
#{x\ 2812}#)))
- (cdr #{kw\
2769}#)
- (list-tail
- #{inits\
2770}#
- #{nopt\
2792}#)))
- '())
- (append
- (if
#{allow-other-keys?\ 2798}#
- '(#:allow-other-keys)
- '())
- (if #{rest\ 2768}#
- (list-ref
- #{vars\ 2771}#
- #{rest-idx\ 2794}#)
- '())))))
- #{body\ 2772}#)
- (let ((#{t\ 2818}#
- #{else-case\ 2773}#))
- (if #{t\ 2818}#
- #{t\ 2818}#
- '())))
- #{src\ 2765}#))))))))))))
- (#{build-case-lambda\ 610}#
- (lambda (#{src\ 2820}# #{meta\ 2821}# #{body\ 2822}#)
- (let ((#{atom-key\ 2828}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2828}# (quote (c)))
- ((@ (language tree-il) make-lambda)
- #{src\ 2820}#
- #{meta\ 2821}#
- #{body\ 2822}#)
- (#{decorate-source\ 584}#
- (cons (quote case-lambda*) #{body\ 2822}#)
- #{src\ 2820}#)))))
- (#{build-simple-lambda\ 608}#
- (lambda (#{src\ 2832}#
- #{req\ 2833}#
- #{rest\ 2834}#
- #{vars\ 2835}#
- #{meta\ 2836}#
- #{exp\ 2837}#)
- (let ((#{atom-key\ 2846}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2846}# (quote (c)))
- ((@ (language tree-il) make-lambda)
- #{src\ 2832}#
- #{meta\ 2836}#
- ((@ (language tree-il) make-lambda-case)
- #{src\ 2832}#
- #{req\ 2833}#
- #f
- #{rest\ 2834}#
- #f
- '()
- #{vars\ 2835}#
- #{exp\ 2837}#
- #f))
- (#{decorate-source\ 584}#
- (list 'lambda
- (if #{rest\ 2834}#
- (apply cons* #{vars\ 2835}#)
- #{vars\ 2835}#)
- #{exp\ 2837}#)
- #{src\ 2832}#)))))
- (#{build-global-definition\ 606}#
- (lambda (#{source\ 2850}# #{var\ 2851}# #{exp\ 2852}#)
- (let ((#{atom-key\ 2858}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2858}# (quote (c)))
- (begin
- (#{maybe-name-value!\ 604}#
- #{var\ 2851}#
- #{exp\ 2852}#)
- ((@ (language tree-il) make-toplevel-define)
- #{source\ 2850}#
- #{var\ 2851}#
- #{exp\ 2852}#))
- (#{decorate-source\ 584}#
- (list (quote define) #{var\ 2851}# #{exp\ 2852}#)
- #{source\ 2850}#)))))
- (#{maybe-name-value!\ 604}#
- (lambda (#{name\ 2862}# #{val\ 2863}#)
- (if ((@ (language tree-il) lambda?) #{val\ 2863}#)
- (let ((#{meta\ 2869}#
+ #{req\ 14974}#
+ #{opt\ 14975}#
+ #{rest\ 14976}#
+ #{kw\ 14977}#
+ #{inits\ 14978}#
+ #{vars\ 14979}#
+ #{nreq\ 14998}#
+ #{nopt\ 15000}#
+ #{kw-indices\ 15008}#
+ #{nargs\ 15012}#)))
+ (#{make-lambda-case\ 12809}#
+ #{src\ 14973}#
+ #{req\ 14974}#
+ #{opt\ 14975}#
+ #{rest\ 14976}#
+ (if #{kw\ 14977}#
+ (cons #{allow-other-keys?\ 15006}#
+ #{kw-indices\ 15008}#)
+ #f)
+ #{inits\ 14978}#
+ #{vars\ 14979}#
+ #{body\ 14980}#
+ #{else-case\ 14981}#))))))))))))
+ (#{build-case-lambda\ 12860}#
+ (lambda (#{src\ 15019}# #{meta\ 15020}# #{body\ 15021}#)
+ (#{make-lambda\ 12807}#
+ #{src\ 15019}#
+ #{meta\ 15020}#
+ #{body\ 15021}#)))
+ (#{build-simple-lambda\ 12858}#
+ (lambda (#{src\ 15025}#
+ #{req\ 15026}#
+ #{rest\ 15027}#
+ #{vars\ 15028}#
+ #{meta\ 15029}#
+ #{exp\ 15030}#)
+ (#{make-lambda\ 12807}#
+ #{src\ 15025}#
+ #{meta\ 15029}#
+ (#{make-lambda-case\ 12809}#
+ #{src\ 15025}#
+ #{req\ 15026}#
+ #f
+ #{rest\ 15027}#
+ #f
+ '()
+ #{vars\ 15028}#
+ #{exp\ 15030}#
+ #f))))
+ (#{build-global-definition\ 12856}#
+ (lambda (#{source\ 15037}# #{var\ 15038}# #{exp\ 15039}#)
+ (#{make-toplevel-define\ 12799}#
+ #{source\ 15037}#
+ #{var\ 15038}#
+ #{exp\ 15039}#)))
+ (#{maybe-name-value!\ 12854}#
+ (lambda (#{name\ 15043}# #{val\ 15044}#)
+ (if ((@ (language tree-il) lambda?) #{val\ 15044}#)
+ (let ((#{meta\ 15050}#
((@ (language tree-il) lambda-meta)
- #{val\ 2863}#)))
- (if (not (assq (quote name) #{meta\ 2869}#))
+ #{val\ 15044}#)))
+ (if (not (assq (quote name) #{meta\ 15050}#))
((setter (@ (language tree-il) lambda-meta))
- #{val\ 2863}#
+ #{val\ 15044}#
(acons 'name
- #{name\ 2862}#
- #{meta\ 2869}#)))))))
- (#{build-global-assignment\ 602}#
- (lambda (#{source\ 2870}#
- #{var\ 2871}#
- #{exp\ 2872}#
- #{mod\ 2873}#)
- (#{analyze-variable\ 598}#
- #{mod\ 2873}#
- #{var\ 2871}#
- (lambda (#{mod\ 2878}# #{var\ 2879}# #{public?\ 2880}#)
- (let ((#{atom-key\ 2886}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2886}# (quote (c)))
- ((@ (language tree-il) make-module-set)
- #{source\ 2870}#
- #{mod\ 2878}#
- #{var\ 2879}#
- #{public?\ 2880}#
- #{exp\ 2872}#)
- (#{decorate-source\ 584}#
- (list 'set!
- (list (if #{public?\ 2880}#
- '@
- '@@)
- #{mod\ 2878}#
- #{var\ 2879}#)
- #{exp\ 2872}#)
- #{source\ 2870}#))))
- (lambda (#{var\ 2890}#)
- (let ((#{atom-key\ 2894}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2894}# (quote (c)))
- ((@ (language tree-il) make-toplevel-set)
- #{source\ 2870}#
- #{var\ 2890}#
- #{exp\ 2872}#)
- (#{decorate-source\ 584}#
- (list (quote set!) #{var\ 2890}# #{exp\ 2872}#)
- #{source\ 2870}#)))))))
- (#{build-global-reference\ 600}#
- (lambda (#{source\ 2898}# #{var\ 2899}# #{mod\ 2900}#)
- (#{analyze-variable\ 598}#
- #{mod\ 2900}#
- #{var\ 2899}#
- (lambda (#{mod\ 2904}# #{var\ 2905}# #{public?\ 2906}#)
- (let ((#{atom-key\ 2912}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2912}# (quote (c)))
- ((@ (language tree-il) make-module-ref)
- #{source\ 2898}#
- #{mod\ 2904}#
- #{var\ 2905}#
- #{public?\ 2906}#)
- (#{decorate-source\ 584}#
- (list (if #{public?\ 2906}# (quote @) (quote @@))
- #{mod\ 2904}#
- #{var\ 2905}#)
- #{source\ 2898}#))))
- (lambda (#{var\ 2915}#)
- (let ((#{atom-key\ 2919}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2919}# (quote (c)))
- ((@ (language tree-il) make-toplevel-ref)
- #{source\ 2898}#
- #{var\ 2915}#)
- (#{decorate-source\ 584}#
- #{var\ 2915}#
- #{source\ 2898}#)))))))
- (#{analyze-variable\ 598}#
- (lambda (#{mod\ 2922}#
- #{var\ 2923}#
- #{modref-cont\ 2924}#
- #{bare-cont\ 2925}#)
- (if (not #{mod\ 2922}#)
- (#{bare-cont\ 2925}# #{var\ 2923}#)
- (let ((#{kind\ 2932}# (car #{mod\ 2922}#))
- (#{mod\ 2933}# (cdr #{mod\ 2922}#)))
- (if (memv #{kind\ 2932}# (quote (public)))
- (#{modref-cont\ 2924}#
- #{mod\ 2933}#
- #{var\ 2923}#
+ #{name\ 15043}#
+ #{meta\ 15050}#)))))))
+ (#{build-global-assignment\ 12852}#
+ (lambda (#{source\ 15051}#
+ #{var\ 15052}#
+ #{exp\ 15053}#
+ #{mod\ 15054}#)
+ (#{analyze-variable\ 12848}#
+ #{mod\ 15054}#
+ #{var\ 15052}#
+ (lambda (#{mod\ 15059}#
+ #{var\ 15060}#
+ #{public?\ 15061}#)
+ (#{make-module-set\ 12793}#
+ #{source\ 15051}#
+ #{mod\ 15059}#
+ #{var\ 15060}#
+ #{public?\ 15061}#
+ #{exp\ 15053}#))
+ (lambda (#{var\ 15065}#)
+ (#{make-toplevel-set\ 12797}#
+ #{source\ 15051}#
+ #{var\ 15065}#
+ #{exp\ 15053}#)))))
+ (#{build-global-reference\ 12850}#
+ (lambda (#{source\ 15067}# #{var\ 15068}# #{mod\ 15069}#)
+ (#{analyze-variable\ 12848}#
+ #{mod\ 15069}#
+ #{var\ 15068}#
+ (lambda (#{mod\ 15073}#
+ #{var\ 15074}#
+ #{public?\ 15075}#)
+ (#{make-module-ref\ 12791}#
+ #{source\ 15067}#
+ #{mod\ 15073}#
+ #{var\ 15074}#
+ #{public?\ 15075}#))
+ (lambda (#{var\ 15079}#)
+ (#{make-toplevel-ref\ 12795}#
+ #{source\ 15067}#
+ #{var\ 15079}#)))))
+ (#{analyze-variable\ 12848}#
+ (lambda (#{mod\ 15081}#
+ #{var\ 15082}#
+ #{modref-cont\ 15083}#
+ #{bare-cont\ 15084}#)
+ (if (not #{mod\ 15081}#)
+ (#{bare-cont\ 15084}# #{var\ 15082}#)
+ (let ((#{kind\ 15091}# (car #{mod\ 15081}#))
+ (#{mod\ 15092}# (cdr #{mod\ 15081}#)))
+ (if (memv #{kind\ 15091}# (quote (public)))
+ (#{modref-cont\ 15083}#
+ #{mod\ 15092}#
+ #{var\ 15082}#
#t)
- (if (memv #{kind\ 2932}# (quote (private)))
+ (if (memv #{kind\ 15091}# (quote (private)))
(if (not (equal?
- #{mod\ 2933}#
+ #{mod\ 15092}#
(module-name (current-module))))
- (#{modref-cont\ 2924}#
- #{mod\ 2933}#
- #{var\ 2923}#
+ (#{modref-cont\ 15083}#
+ #{mod\ 15092}#
+ #{var\ 15082}#
#f)
- (#{bare-cont\ 2925}# #{var\ 2923}#))
- (if (memv #{kind\ 2932}# (quote (bare)))
- (#{bare-cont\ 2925}# #{var\ 2923}#)
- (if (memv #{kind\ 2932}# (quote (hygiene)))
+ (#{bare-cont\ 15084}# #{var\ 15082}#))
+ (if (memv #{kind\ 15091}# (quote (bare)))
+ (#{bare-cont\ 15084}# #{var\ 15082}#)
+ (if (memv #{kind\ 15091}# (quote (hygiene)))
(if (if (not (equal?
- #{mod\ 2933}#
+ #{mod\ 15092}#
(module-name (current-module))))
(module-variable
- (resolve-module #{mod\ 2933}#)
- #{var\ 2923}#)
+ (resolve-module #{mod\ 15092}#)
+ #{var\ 15082}#)
#f)
- (#{modref-cont\ 2924}#
- #{mod\ 2933}#
- #{var\ 2923}#
+ (#{modref-cont\ 15083}#
+ #{mod\ 15092}#
+ #{var\ 15082}#
#f)
- (#{bare-cont\ 2925}# #{var\ 2923}#))
+ (#{bare-cont\ 15084}# #{var\ 15082}#))
(syntax-violation
#f
"bad module kind"
- #{var\ 2923}#
- #{mod\ 2933}#)))))))))
- (#{build-lexical-assignment\ 596}#
- (lambda (#{source\ 2941}#
- #{name\ 2942}#
- #{var\ 2943}#
- #{exp\ 2944}#)
- (let ((#{atom-key\ 2951}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2951}# (quote (c)))
- ((@ (language tree-il) make-lexical-set)
- #{source\ 2941}#
- #{name\ 2942}#
- #{var\ 2943}#
- #{exp\ 2944}#)
- (#{decorate-source\ 584}#
- (list (quote set!) #{var\ 2943}# #{exp\ 2944}#)
- #{source\ 2941}#)))))
- (#{build-lexical-reference\ 594}#
- (lambda (#{type\ 2955}#
- #{source\ 2956}#
- #{name\ 2957}#
- #{var\ 2958}#)
- (let ((#{atom-key\ 2965}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2965}# (quote (c)))
- ((@ (language tree-il) make-lexical-ref)
- #{source\ 2956}#
- #{name\ 2957}#
- #{var\ 2958}#)
- (#{decorate-source\ 584}#
- #{var\ 2958}#
- #{source\ 2956}#)))))
- (#{build-dynlet\ 592}#
- (lambda (#{source\ 2968}#
- #{fluids\ 2969}#
- #{vals\ 2970}#
- #{body\ 2971}#)
- (let ((#{atom-key\ 2978}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2978}# (quote (c)))
- ((@ (language tree-il) make-dynlet)
- #{source\ 2968}#
- #{fluids\ 2969}#
- #{vals\ 2970}#
- #{body\ 2971}#)
- (#{decorate-source\ 584}#
- (list 'with-fluids
- (map list #{fluids\ 2969}# #{vals\ 2970}#)
- #{body\ 2971}#)
- #{source\ 2968}#)))))
- (#{build-conditional\ 590}#
- (lambda (#{source\ 2982}#
- #{test-exp\ 2983}#
- #{then-exp\ 2984}#
- #{else-exp\ 2985}#)
- (let ((#{atom-key\ 2992}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 2992}# (quote (c)))
- ((@ (language tree-il) make-conditional)
- #{source\ 2982}#
- #{test-exp\ 2983}#
- #{then-exp\ 2984}#
- #{else-exp\ 2985}#)
- (#{decorate-source\ 584}#
- (if (equal? #{else-exp\ 2985}# (quote (if #f #f)))
- (list 'if
- #{test-exp\ 2983}#
- #{then-exp\ 2984}#)
- (list 'if
- #{test-exp\ 2983}#
- #{then-exp\ 2984}#
- #{else-exp\ 2985}#))
- #{source\ 2982}#)))))
- (#{build-application\ 588}#
- (lambda (#{source\ 2997}#
- #{fun-exp\ 2998}#
- #{arg-exps\ 2999}#)
- (let ((#{atom-key\ 3005}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 3005}# (quote (c)))
- ((@ (language tree-il) make-application)
- #{source\ 2997}#
- #{fun-exp\ 2998}#
- #{arg-exps\ 2999}#)
- (#{decorate-source\ 584}#
- (cons #{fun-exp\ 2998}# #{arg-exps\ 2999}#)
- #{source\ 2997}#)))))
- (#{build-void\ 586}#
- (lambda (#{source\ 3009}#)
- (let ((#{atom-key\ 3013}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 3013}# (quote (c)))
- ((@ (language tree-il) make-void)
- #{source\ 3009}#)
- (#{decorate-source\ 584}#
- '(if #f #f)
- #{source\ 3009}#)))))
- (#{decorate-source\ 584}#
- (lambda (#{e\ 3016}# #{s\ 3017}#)
+ #{var\ 15082}#
+ #{mod\ 15092}#)))))))))
+ (#{build-lexical-assignment\ 12846}#
+ (lambda (#{source\ 15100}#
+ #{name\ 15101}#
+ #{var\ 15102}#
+ #{exp\ 15103}#)
+ (#{make-lexical-set\ 12789}#
+ #{source\ 15100}#
+ #{name\ 15101}#
+ #{var\ 15102}#
+ #{exp\ 15103}#)))
+ (#{build-lexical-reference\ 12844}#
+ (lambda (#{type\ 15108}#
+ #{source\ 15109}#
+ #{name\ 15110}#
+ #{var\ 15111}#)
+ (#{make-lexical-ref\ 12787}#
+ #{source\ 15109}#
+ #{name\ 15110}#
+ #{var\ 15111}#)))
+ (#{build-dynlet\ 12842}#
+ (lambda (#{source\ 15116}#
+ #{fluids\ 15117}#
+ #{vals\ 15118}#
+ #{body\ 15119}#)
+ (#{make-dynlet\ 12815}#
+ #{source\ 15116}#
+ #{fluids\ 15117}#
+ #{vals\ 15118}#
+ #{body\ 15119}#)))
+ (#{build-conditional\ 12840}#
+ (lambda (#{source\ 15124}#
+ #{test-exp\ 15125}#
+ #{then-exp\ 15126}#
+ #{else-exp\ 15127}#)
+ (#{make-conditional\ 12801}#
+ #{source\ 15124}#
+ #{test-exp\ 15125}#
+ #{then-exp\ 15126}#
+ #{else-exp\ 15127}#)))
+ (#{build-application\ 12838}#
+ (lambda (#{source\ 15132}#
+ #{fun-exp\ 15133}#
+ #{arg-exps\ 15134}#)
+ (#{make-application\ 12803}#
+ #{source\ 15132}#
+ #{fun-exp\ 15133}#
+ #{arg-exps\ 15134}#)))
+ (#{build-void\ 12836}#
+ (lambda (#{source\ 15138}#)
+ (#{make-void\ 12781}# #{source\ 15138}#)))
+ (#{decorate-source\ 12834}#
+ (lambda (#{e\ 15140}# #{s\ 15141}#)
(begin
- (if (if (pair? #{e\ 3016}#) #{s\ 3017}# #f)
- (set-source-properties! #{e\ 3016}# #{s\ 3017}#))
- #{e\ 3016}#)))
- (#{get-global-definition-hook\ 582}#
- (lambda (#{symbol\ 3022}# #{module\ 3023}#)
+ (if (if (pair? #{e\ 15140}#) #{s\ 15141}# #f)
+ (set-source-properties!
+ #{e\ 15140}#
+ #{s\ 15141}#))
+ #{e\ 15140}#)))
+ (#{get-global-definition-hook\ 12832}#
+ (lambda (#{symbol\ 15146}# #{module\ 15147}#)
(begin
- (if (if (not #{module\ 3023}#) (current-module) #f)
+ (if (if (not #{module\ 15147}#) (current-module) #f)
(warn "module system is booted, we should have a module"
- #{symbol\ 3022}#))
- (let ((#{v\ 3029}#
+ #{symbol\ 15146}#))
+ (let ((#{v\ 15153}#
(module-variable
- (if #{module\ 3023}#
- (resolve-module (cdr #{module\ 3023}#))
+ (if #{module\ 15147}#
+ (resolve-module (cdr #{module\ 15147}#))
(current-module))
- #{symbol\ 3022}#)))
- (if #{v\ 3029}#
- (if (variable-bound? #{v\ 3029}#)
- (let ((#{val\ 3034}# (variable-ref #{v\ 3029}#)))
- (if (macro? #{val\ 3034}#)
- (if (macro-type #{val\ 3034}#)
- (cons (macro-type #{val\ 3034}#)
- (macro-binding #{val\ 3034}#))
+ #{symbol\ 15146}#)))
+ (if #{v\ 15153}#
+ (if (variable-bound? #{v\ 15153}#)
+ (let ((#{val\ 15158}# (variable-ref #{v\ 15153}#)))
+ (if (macro? #{val\ 15158}#)
+ (if (macro-type #{val\ 15158}#)
+ (cons (macro-type #{val\ 15158}#)
+ (macro-binding #{val\ 15158}#))
#f)
#f))
#f)
#f)))))
- (#{put-global-definition-hook\ 580}#
- (lambda (#{symbol\ 3038}# #{type\ 3039}# #{val\ 3040}#)
+ (#{put-global-definition-hook\ 12830}#
+ (lambda (#{symbol\ 15162}#
+ #{type\ 15163}#
+ #{val\ 15164}#)
(module-define!
(current-module)
- #{symbol\ 3038}#
+ #{symbol\ 15162}#
(make-syntax-transformer
- #{symbol\ 3038}#
- #{type\ 3039}#
- #{val\ 3040}#))))
- (#{local-eval-hook\ 577}#
- (lambda (#{x\ 3044}# #{mod\ 3045}#)
+ #{symbol\ 15162}#
+ #{type\ 15163}#
+ #{val\ 15164}#))))
+ (#{local-eval-hook\ 12827}#
+ (lambda (#{x\ 15168}# #{mod\ 15169}#)
(primitive-eval
- (memoize-expression
- (let ((#{atom-key\ 3050}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 3050}# (quote (c)))
- ((@ (language tree-il) tree-il->scheme)
- #{x\ 3044}#)
- #{x\ 3044}#))))))
- (#{top-level-eval-hook\ 575}#
- (lambda (#{x\ 3053}# #{mod\ 3054}#)
+ (memoize-expression #{x\ 15168}#))))
+ (#{top-level-eval-hook\ 12825}#
+ (lambda (#{x\ 15172}# #{mod\ 15173}#)
(primitive-eval
- (memoize-expression
- (let ((#{atom-key\ 3059}# (fluid-ref #{*mode*\ 565}#)))
- (if (memv #{atom-key\ 3059}# (quote (c)))
- ((@ (language tree-il) tree-il->scheme)
- #{x\ 3053}#)
- #{x\ 3053}#))))))
- (#{fx<\ 573}# <)
- (#{fx=\ 571}# =)
- (#{fx-\ 569}# -)
- (#{fx+\ 567}# +)
- (#{*mode*\ 565}# (make-fluid)))
+ (memoize-expression #{x\ 15172}#))))
+ (#{fx<\ 12823}# <)
+ (#{fx=\ 12821}# =)
+ (#{fx-\ 12819}# -)
+ (#{fx+\ 12817}# +)
+ (#{make-dynlet\ 12815}#
+ (lambda (#{src\ 15176}#
+ #{fluids\ 15177}#
+ #{vals\ 15178}#
+ #{body\ 15179}#)
+ (make-struct
+ (vector-ref %expanded-vtables 17)
+ 0
+ #{src\ 15176}#
+ #{fluids\ 15177}#
+ #{vals\ 15178}#
+ #{body\ 15179}#)))
+ (#{make-letrec\ 12813}#
+ (lambda (#{src\ 15184}#
+ #{names\ 15185}#
+ #{gensyms\ 15186}#
+ #{vals\ 15187}#
+ #{body\ 15188}#)
+ (make-struct
+ (vector-ref %expanded-vtables 16)
+ 0
+ #{src\ 15184}#
+ #{names\ 15185}#
+ #{gensyms\ 15186}#
+ #{vals\ 15187}#
+ #{body\ 15188}#)))
+ (#{make-let\ 12811}#
+ (lambda (#{src\ 15194}#
+ #{names\ 15195}#
+ #{gensyms\ 15196}#
+ #{vals\ 15197}#
+ #{body\ 15198}#)
+ (make-struct
+ (vector-ref %expanded-vtables 15)
+ 0
+ #{src\ 15194}#
+ #{names\ 15195}#
+ #{gensyms\ 15196}#
+ #{vals\ 15197}#
+ #{body\ 15198}#)))
+ (#{make-lambda-case\ 12809}#
+ (lambda (#{src\ 15204}#
+ #{req\ 15205}#
+ #{opt\ 15206}#
+ #{rest\ 15207}#
+ #{kw\ 15208}#
+ #{inits\ 15209}#
+ #{gensyms\ 15210}#
+ #{body\ 15211}#
+ #{alternate\ 15212}#)
+ (make-struct
+ (vector-ref %expanded-vtables 14)
+ 0
+ #{src\ 15204}#
+ #{req\ 15205}#
+ #{opt\ 15206}#
+ #{rest\ 15207}#
+ #{kw\ 15208}#
+ #{inits\ 15209}#
+ #{gensyms\ 15210}#
+ #{body\ 15211}#
+ #{alternate\ 15212}#)))
+ (#{make-lambda\ 12807}#
+ (lambda (#{src\ 15222}# #{meta\ 15223}# #{body\ 15224}#)
+ (make-struct
+ (vector-ref %expanded-vtables 13)
+ 0
+ #{src\ 15222}#
+ #{meta\ 15223}#
+ #{body\ 15224}#)))
+ (#{make-sequence\ 12805}#
+ (lambda (#{src\ 15228}# #{exps\ 15229}#)
+ (make-struct
+ (vector-ref %expanded-vtables 12)
+ 0
+ #{src\ 15228}#
+ #{exps\ 15229}#)))
+ (#{make-application\ 12803}#
+ (lambda (#{src\ 15232}# #{proc\ 15233}# #{args\ 15234}#)
+ (make-struct
+ (vector-ref %expanded-vtables 11)
+ 0
+ #{src\ 15232}#
+ #{proc\ 15233}#
+ #{args\ 15234}#)))
+ (#{make-conditional\ 12801}#
+ (lambda (#{src\ 15238}#
+ #{test\ 15239}#
+ #{consequent\ 15240}#
+ #{alternate\ 15241}#)
+ (make-struct
+ (vector-ref %expanded-vtables 10)
+ 0
+ #{src\ 15238}#
+ #{test\ 15239}#
+ #{consequent\ 15240}#
+ #{alternate\ 15241}#)))
+ (#{make-toplevel-define\ 12799}#
+ (lambda (#{src\ 15246}# #{name\ 15247}# #{exp\ 15248}#)
+ (make-struct
+ (vector-ref %expanded-vtables 9)
+ 0
+ #{src\ 15246}#
+ #{name\ 15247}#
+ #{exp\ 15248}#)))
+ (#{make-toplevel-set\ 12797}#
+ (lambda (#{src\ 15252}# #{name\ 15253}# #{exp\ 15254}#)
+ (make-struct
+ (vector-ref %expanded-vtables 8)
+ 0
+ #{src\ 15252}#
+ #{name\ 15253}#
+ #{exp\ 15254}#)))
+ (#{make-toplevel-ref\ 12795}#
+ (lambda (#{src\ 15258}# #{name\ 15259}#)
+ (make-struct
+ (vector-ref %expanded-vtables 7)
+ 0
+ #{src\ 15258}#
+ #{name\ 15259}#)))
+ (#{make-module-set\ 12793}#
+ (lambda (#{src\ 15262}#
+ #{mod\ 15263}#
+ #{name\ 15264}#
+ #{public?\ 15265}#
+ #{exp\ 15266}#)
+ (make-struct
+ (vector-ref %expanded-vtables 6)
+ 0
+ #{src\ 15262}#
+ #{mod\ 15263}#
+ #{name\ 15264}#
+ #{public?\ 15265}#
+ #{exp\ 15266}#)))
+ (#{make-module-ref\ 12791}#
+ (lambda (#{src\ 15272}#
+ #{mod\ 15273}#
+ #{name\ 15274}#
+ #{public?\ 15275}#)
+ (make-struct
+ (vector-ref %expanded-vtables 5)
+ 0
+ #{src\ 15272}#
+ #{mod\ 15273}#
+ #{name\ 15274}#
+ #{public?\ 15275}#)))
+ (#{make-lexical-set\ 12789}#
+ (lambda (#{src\ 15280}#
+ #{name\ 15281}#
+ #{gensym\ 15282}#
+ #{exp\ 15283}#)
+ (make-struct
+ (vector-ref %expanded-vtables 4)
+ 0
+ #{src\ 15280}#
+ #{name\ 15281}#
+ #{gensym\ 15282}#
+ #{exp\ 15283}#)))
+ (#{make-lexical-ref\ 12787}#
+ (lambda (#{src\ 15288}#
+ #{name\ 15289}#
+ #{gensym\ 15290}#)
+ (make-struct
+ (vector-ref %expanded-vtables 3)
+ 0
+ #{src\ 15288}#
+ #{name\ 15289}#
+ #{gensym\ 15290}#)))
+ (#{make-primitive-ref\ 12785}#
+ (lambda (#{src\ 15294}# #{name\ 15295}#)
+ (make-struct
+ (vector-ref %expanded-vtables 2)
+ 0
+ #{src\ 15294}#
+ #{name\ 15295}#)))
+ (#{make-const\ 12783}#
+ (lambda (#{src\ 15298}# #{exp\ 15299}#)
+ (make-struct
+ (vector-ref %expanded-vtables 1)
+ 0
+ #{src\ 15298}#
+ #{exp\ 15299}#)))
+ (#{make-void\ 12781}#
+ (lambda (#{src\ 15302}#)
+ (make-struct
+ (vector-ref %expanded-vtables 0)
+ 0
+ #{src\ 15302}#)))
+ (#{*mode*\ 12778}# (make-fluid)))
(begin
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'local-syntax
'letrec-syntax
#t)
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'local-syntax
'let-syntax
#f)
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'core
'fluid-let-syntax
- (lambda (#{e\ 3062}#
- #{r\ 3063}#
- #{w\ 3064}#
- #{s\ 3065}#
- #{mod\ 3066}#)
- ((lambda (#{tmp\ 3072}#)
- ((lambda (#{tmp\ 3073}#)
- (if (if #{tmp\ 3073}#
- (apply (lambda (#{_\ 3079}#
- #{var\ 3080}#
- #{val\ 3081}#
- #{e1\ 3082}#
- #{e2\ 3083}#)
- (#{valid-bound-ids?\ 729}# #{var\ 3080}#))
- #{tmp\ 3073}#)
+ (lambda (#{e\ 15304}#
+ #{r\ 15305}#
+ #{w\ 15306}#
+ #{s\ 15307}#
+ #{mod\ 15308}#)
+ ((lambda (#{tmp\ 15314}#)
+ ((lambda (#{tmp\ 15315}#)
+ (if (if #{tmp\ 15315}#
+ (apply (lambda (#{_\ 15321}#
+ #{var\ 15322}#
+ #{val\ 15323}#
+ #{e1\ 15324}#
+ #{e2\ 15325}#)
+ (#{valid-bound-ids?\ 12979}# #{var\ 15322}#))
+ #{tmp\ 15315}#)
#f)
- (apply (lambda (#{_\ 3090}#
- #{var\ 3091}#
- #{val\ 3092}#
- #{e1\ 3093}#
- #{e2\ 3094}#)
- (let ((#{names\ 3096}#
- (map (lambda (#{x\ 3097}#)
- (#{id-var-name\ 723}#
- #{x\ 3097}#
- #{w\ 3064}#))
- #{var\ 3091}#)))
+ (apply (lambda (#{_\ 15332}#
+ #{var\ 15333}#
+ #{val\ 15334}#
+ #{e1\ 15335}#
+ #{e2\ 15336}#)
+ (let ((#{names\ 15338}#
+ (map (lambda (#{x\ 15339}#)
+ (#{id-var-name\ 12973}#
+ #{x\ 15339}#
+ #{w\ 15306}#))
+ #{var\ 15333}#)))
(begin
(for-each
- (lambda (#{id\ 3100}# #{n\ 3101}#)
- (let ((#{atom-key\ 3106}#
- (#{binding-type\ 649}#
- (#{lookup\ 660}#
- #{n\ 3101}#
- #{r\ 3063}#
- #{mod\ 3066}#))))
- (if (memv #{atom-key\ 3106}#
+ (lambda (#{id\ 15342}# #{n\ 15343}#)
+ (let ((#{atom-key\ 15348}#
+ (#{binding-type\ 12899}#
+ (#{lookup\ 12910}#
+ #{n\ 15343}#
+ #{r\ 15305}#
+ #{mod\ 15308}#))))
+ (if (memv #{atom-key\ 15348}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
- #{e\ 3062}#
- (#{source-wrap\ 737}#
- #{id\ 3100}#
- #{w\ 3064}#
- #{s\ 3065}#
- #{mod\ 3066}#)))))
- #{var\ 3091}#
- #{names\ 3096}#)
- (#{chi-body\ 759}#
- (cons #{e1\ 3093}# #{e2\ 3094}#)
- (#{source-wrap\ 737}#
- #{e\ 3062}#
- #{w\ 3064}#
- #{s\ 3065}#
- #{mod\ 3066}#)
- (#{extend-env\ 654}#
- #{names\ 3096}#
- (let ((#{trans-r\ 3111}#
- (#{macros-only-env\ 658}#
- #{r\ 3063}#)))
- (map (lambda (#{x\ 3112}#)
+ #{e\ 15304}#
+ (#{source-wrap\ 12987}#
+ #{id\ 15342}#
+ #{w\ 15306}#
+ #{s\ 15307}#
+ #{mod\ 15308}#)))))
+ #{var\ 15333}#
+ #{names\ 15338}#)
+ (#{chi-body\ 13009}#
+ (cons #{e1\ 15335}# #{e2\ 15336}#)
+ (#{source-wrap\ 12987}#
+ #{e\ 15304}#
+ #{w\ 15306}#
+ #{s\ 15307}#
+ #{mod\ 15308}#)
+ (#{extend-env\ 12904}#
+ #{names\ 15338}#
+ (let ((#{trans-r\ 15353}#
+ (#{macros-only-env\ 12908}#
+ #{r\ 15305}#)))
+ (map (lambda (#{x\ 15354}#)
(cons 'macro
- (#{eval-local-transformer\
763}#
- (#{chi\ 751}#
- #{x\ 3112}#
- #{trans-r\ 3111}#
- #{w\ 3064}#
- #{mod\ 3066}#)
- #{mod\ 3066}#)))
- #{val\ 3092}#))
- #{r\ 3063}#)
- #{w\ 3064}#
- #{mod\ 3066}#))))
- #{tmp\ 3073}#)
- ((lambda (#{_\ 3117}#)
+ (#{eval-local-transformer\
13013}#
+ (#{chi\ 13001}#
+ #{x\ 15354}#
+ #{trans-r\ 15353}#
+ #{w\ 15306}#
+ #{mod\ 15308}#)
+ #{mod\ 15308}#)))
+ #{val\ 15334}#))
+ #{r\ 15305}#)
+ #{w\ 15306}#
+ #{mod\ 15308}#))))
+ #{tmp\ 15315}#)
+ ((lambda (#{_\ 15359}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
- (#{source-wrap\ 737}#
- #{e\ 3062}#
- #{w\ 3064}#
- #{s\ 3065}#
- #{mod\ 3066}#)))
- #{tmp\ 3072}#)))
+ (#{source-wrap\ 12987}#
+ #{e\ 15304}#
+ #{w\ 15306}#
+ #{s\ 15307}#
+ #{mod\ 15308}#)))
+ #{tmp\ 15314}#)))
($sc-dispatch
- #{tmp\ 3072}#
+ #{tmp\ 15314}#
'(any #(each (any any)) any . each-any))))
- #{e\ 3062}#)))
- (#{global-extend\ 662}#
+ #{e\ 15304}#)))
+ (#{global-extend\ 12912}#
'core
'quote
- (lambda (#{e\ 3118}#
- #{r\ 3119}#
- #{w\ 3120}#
- #{s\ 3121}#
- #{mod\ 3122}#)
- ((lambda (#{tmp\ 3128}#)
- ((lambda (#{tmp\ 3129}#)
- (if #{tmp\ 3129}#
- (apply (lambda (#{_\ 3132}# #{e\ 3133}#)
- (#{build-data\ 616}#
- #{s\ 3121}#
- (#{strip\ 777}# #{e\ 3133}# #{w\ 3120}#)))
- #{tmp\ 3129}#)
- ((lambda (#{_\ 3135}#)
+ (lambda (#{e\ 15360}#
+ #{r\ 15361}#
+ #{w\ 15362}#
+ #{s\ 15363}#
+ #{mod\ 15364}#)
+ ((lambda (#{tmp\ 15370}#)
+ ((lambda (#{tmp\ 15371}#)
+ (if #{tmp\ 15371}#
+ (apply (lambda (#{_\ 15374}# #{e\ 15375}#)
+ (#{build-data\ 12866}#
+ #{s\ 15363}#
+ (#{strip\ 13027}# #{e\ 15375}# #{w\ 15362}#)))
+ #{tmp\ 15371}#)
+ ((lambda (#{_\ 15377}#)
(syntax-violation
'quote
"bad syntax"
- (#{source-wrap\ 737}#
- #{e\ 3118}#
- #{w\ 3120}#
- #{s\ 3121}#
- #{mod\ 3122}#)))
- #{tmp\ 3128}#)))
- ($sc-dispatch #{tmp\ 3128}# (quote (any any)))))
- #{e\ 3118}#)))
- (#{global-extend\ 662}#
+ (#{source-wrap\ 12987}#
+ #{e\ 15360}#
+ #{w\ 15362}#
+ #{s\ 15363}#
+ #{mod\ 15364}#)))
+ #{tmp\ 15370}#)))
+ ($sc-dispatch #{tmp\ 15370}# (quote (any any)))))
+ #{e\ 15360}#)))
+ (#{global-extend\ 12912}#
'core
'syntax
- (letrec ((#{regen\ 3151}#
- (lambda (#{x\ 3152}#)
- (let ((#{atom-key\ 3156}# (car #{x\ 3152}#)))
- (if (memv #{atom-key\ 3156}# (quote (ref)))
- (#{build-lexical-reference\ 594}#
+ (letrec ((#{regen\ 15393}#
+ (lambda (#{x\ 15394}#)
+ (let ((#{atom-key\ 15398}# (car #{x\ 15394}#)))
+ (if (memv #{atom-key\ 15398}# (quote (ref)))
+ (#{build-lexical-reference\ 12844}#
'value
#f
- (cadr #{x\ 3152}#)
- (cadr #{x\ 3152}#))
- (if (memv #{atom-key\ 3156}# (quote (primitive)))
- (#{build-primref\ 614}# #f (cadr #{x\ 3152}#))
- (if (memv #{atom-key\ 3156}# (quote (quote)))
- (#{build-data\ 616}# #f (cadr #{x\ 3152}#))
- (if (memv #{atom-key\ 3156}# (quote (lambda)))
- (if (list? (cadr #{x\ 3152}#))
- (#{build-simple-lambda\ 608}#
+ (cadr #{x\ 15394}#)
+ (cadr #{x\ 15394}#))
+ (if (memv #{atom-key\ 15398}# (quote (primitive)))
+ (#{build-primref\ 12864}# #f (cadr #{x\ 15394}#))
+ (if (memv #{atom-key\ 15398}# (quote (quote)))
+ (#{build-data\ 12866}# #f (cadr #{x\ 15394}#))
+ (if (memv #{atom-key\ 15398}# (quote (lambda)))
+ (if (list? (cadr #{x\ 15394}#))
+ (#{build-simple-lambda\ 12858}#
#f
- (cadr #{x\ 3152}#)
+ (cadr #{x\ 15394}#)
#f
- (cadr #{x\ 3152}#)
+ (cadr #{x\ 15394}#)
'()
- (#{regen\ 3151}# (caddr #{x\ 3152}#)))
- (error "how did we get here" #{x\ 3152}#))
- (#{build-application\ 588}#
+ (#{regen\ 15393}# (caddr #{x\ 15394}#)))
+ (error "how did we get here" #{x\ 15394}#))
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}# #f (car #{x\ 3152}#))
- (map #{regen\ 3151}#
- (cdr #{x\ 3152}#))))))))))
- (#{gen-vector\ 3149}#
- (lambda (#{x\ 3168}#)
- (if (eq? (car #{x\ 3168}#) (quote list))
- (cons (quote vector) (cdr #{x\ 3168}#))
- (if (eq? (car #{x\ 3168}#) (quote quote))
+ (#{build-primref\ 12864}#
+ #f
+ (car #{x\ 15394}#))
+ (map #{regen\ 15393}#
+ (cdr #{x\ 15394}#))))))))))
+ (#{gen-vector\ 15391}#
+ (lambda (#{x\ 15410}#)
+ (if (eq? (car #{x\ 15410}#) (quote list))
+ (cons (quote vector) (cdr #{x\ 15410}#))
+ (if (eq? (car #{x\ 15410}#) (quote quote))
(list 'quote
- (list->vector (cadr #{x\ 3168}#)))
- (list (quote list->vector) #{x\ 3168}#)))))
- (#{gen-append\ 3147}#
- (lambda (#{x\ 3178}# #{y\ 3179}#)
- (if (equal? #{y\ 3179}# (quote (quote ())))
- #{x\ 3178}#
- (list (quote append) #{x\ 3178}# #{y\ 3179}#))))
- (#{gen-cons\ 3145}#
- (lambda (#{x\ 3183}# #{y\ 3184}#)
- (let ((#{atom-key\ 3189}# (car #{y\ 3184}#)))
- (if (memv #{atom-key\ 3189}# (quote (quote)))
- (if (eq? (car #{x\ 3183}#) (quote quote))
+ (list->vector (cadr #{x\ 15410}#)))
+ (list (quote list->vector) #{x\ 15410}#)))))
+ (#{gen-append\ 15389}#
+ (lambda (#{x\ 15420}# #{y\ 15421}#)
+ (if (equal? #{y\ 15421}# (quote (quote ())))
+ #{x\ 15420}#
+ (list (quote append) #{x\ 15420}# #{y\ 15421}#))))
+ (#{gen-cons\ 15387}#
+ (lambda (#{x\ 15425}# #{y\ 15426}#)
+ (let ((#{atom-key\ 15431}# (car #{y\ 15426}#)))
+ (if (memv #{atom-key\ 15431}# (quote (quote)))
+ (if (eq? (car #{x\ 15425}#) (quote quote))
(list 'quote
- (cons (cadr #{x\ 3183}#) (cadr #{y\ 3184}#)))
- (if (eq? (cadr #{y\ 3184}#) (quote ()))
- (list (quote list) #{x\ 3183}#)
- (list (quote cons) #{x\ 3183}# #{y\ 3184}#)))
- (if (memv #{atom-key\ 3189}# (quote (list)))
+ (cons (cadr #{x\ 15425}#)
+ (cadr #{y\ 15426}#)))
+ (if (eq? (cadr #{y\ 15426}#) (quote ()))
+ (list (quote list) #{x\ 15425}#)
+ (list (quote cons) #{x\ 15425}# #{y\ 15426}#)))
+ (if (memv #{atom-key\ 15431}# (quote (list)))
(cons 'list
- (cons #{x\ 3183}# (cdr #{y\ 3184}#)))
- (list (quote cons) #{x\ 3183}# #{y\ 3184}#))))))
- (#{gen-map\ 3143}#
- (lambda (#{e\ 3198}# #{map-env\ 3199}#)
- (let ((#{formals\ 3204}# (map cdr #{map-env\ 3199}#))
- (#{actuals\ 3205}#
- (map (lambda (#{x\ 3206}#)
- (list (quote ref) (car #{x\ 3206}#)))
- #{map-env\ 3199}#)))
- (if (eq? (car #{e\ 3198}#) (quote ref))
- (car #{actuals\ 3205}#)
+ (cons #{x\ 15425}# (cdr #{y\ 15426}#)))
+ (list (quote cons) #{x\ 15425}# #{y\ 15426}#))))))
+ (#{gen-map\ 15385}#
+ (lambda (#{e\ 15440}# #{map-env\ 15441}#)
+ (let ((#{formals\ 15446}# (map cdr #{map-env\ 15441}#))
+ (#{actuals\ 15447}#
+ (map (lambda (#{x\ 15448}#)
+ (list (quote ref) (car #{x\ 15448}#)))
+ #{map-env\ 15441}#)))
+ (if (eq? (car #{e\ 15440}#) (quote ref))
+ (car #{actuals\ 15447}#)
(if (and-map
- (lambda (#{x\ 3213}#)
- (if (eq? (car #{x\ 3213}#) (quote ref))
- (memq (cadr #{x\ 3213}#) #{formals\ 3204}#)
+ (lambda (#{x\ 15455}#)
+ (if (eq? (car #{x\ 15455}#) (quote ref))
+ (memq (cadr #{x\ 15455}#)
+ #{formals\ 15446}#)
#f))
- (cdr #{e\ 3198}#))
+ (cdr #{e\ 15440}#))
(cons 'map
(cons (list 'primitive
- (car #{e\ 3198}#))
- (map (let ((#{r\ 3219}#
+ (car #{e\ 15440}#))
+ (map (let ((#{r\ 15461}#
(map cons
- #{formals\ 3204}#
- #{actuals\ 3205}#)))
- (lambda (#{x\ 3220}#)
- (cdr (assq (cadr #{x\ 3220}#)
- #{r\ 3219}#))))
- (cdr #{e\ 3198}#))))
+ #{formals\ 15446}#
+ #{actuals\ 15447}#)))
+ (lambda (#{x\ 15462}#)
+ (cdr (assq (cadr #{x\ 15462}#)
+ #{r\ 15461}#))))
+ (cdr #{e\ 15440}#))))
(cons 'map
(cons (list 'lambda
- #{formals\ 3204}#
- #{e\ 3198}#)
- #{actuals\ 3205}#)))))))
- (#{gen-mappend\ 3141}#
- (lambda (#{e\ 3224}# #{map-env\ 3225}#)
+ #{formals\ 15446}#
+ #{e\ 15440}#)
+ #{actuals\ 15447}#)))))))
+ (#{gen-mappend\ 15383}#
+ (lambda (#{e\ 15466}# #{map-env\ 15467}#)
(list 'apply
'(primitive append)
- (#{gen-map\ 3143}# #{e\ 3224}# #{map-env\ 3225}#))))
- (#{gen-ref\ 3139}#
- (lambda (#{src\ 3229}#
- #{var\ 3230}#
- #{level\ 3231}#
- #{maps\ 3232}#)
- (if (#{fx=\ 571}# #{level\ 3231}# 0)
- (values #{var\ 3230}# #{maps\ 3232}#)
- (if (null? #{maps\ 3232}#)
+ (#{gen-map\ 15385}#
+ #{e\ 15466}#
+ #{map-env\ 15467}#))))
+ (#{gen-ref\ 15381}#
+ (lambda (#{src\ 15471}#
+ #{var\ 15472}#
+ #{level\ 15473}#
+ #{maps\ 15474}#)
+ (if (#{fx=\ 12821}# #{level\ 15473}# 0)
+ (values #{var\ 15472}# #{maps\ 15474}#)
+ (if (null? #{maps\ 15474}#)
(syntax-violation
'syntax
"missing ellipsis"
- #{src\ 3229}#)
+ #{src\ 15471}#)
(call-with-values
(lambda ()
- (#{gen-ref\ 3139}#
- #{src\ 3229}#
- #{var\ 3230}#
- (#{fx-\ 569}# #{level\ 3231}# 1)
- (cdr #{maps\ 3232}#)))
- (lambda (#{outer-var\ 3237}# #{outer-maps\ 3238}#)
- (let ((#{b\ 3242}#
- (assq #{outer-var\ 3237}#
- (car #{maps\ 3232}#))))
- (if #{b\ 3242}#
- (values (cdr #{b\ 3242}#) #{maps\ 3232}#)
- (let ((#{inner-var\ 3244}#
- (#{gen-var\ 779}# (quote tmp))))
+ (#{gen-ref\ 15381}#
+ #{src\ 15471}#
+ #{var\ 15472}#
+ (#{fx-\ 12819}# #{level\ 15473}# 1)
+ (cdr #{maps\ 15474}#)))
+ (lambda (#{outer-var\ 15479}# #{outer-maps\ 15480}#)
+ (let ((#{b\ 15484}#
+ (assq #{outer-var\ 15479}#
+ (car #{maps\ 15474}#))))
+ (if #{b\ 15484}#
+ (values (cdr #{b\ 15484}#) #{maps\ 15474}#)
+ (let ((#{inner-var\ 15486}#
+ (#{gen-var\ 13029}# (quote tmp))))
(values
- #{inner-var\ 3244}#
- (cons (cons (cons #{outer-var\ 3237}#
- #{inner-var\ 3244}#)
- (car #{maps\ 3232}#))
- #{outer-maps\ 3238}#)))))))))))
- (#{gen-syntax\ 3137}#
- (lambda (#{src\ 3245}#
- #{e\ 3246}#
- #{r\ 3247}#
- #{maps\ 3248}#
- #{ellipsis?\ 3249}#
- #{mod\ 3250}#)
- (if (#{id?\ 666}# #{e\ 3246}#)
- (let ((#{label\ 3258}#
- (#{id-var-name\ 723}#
- #{e\ 3246}#
+ #{inner-var\ 15486}#
+ (cons (cons (cons #{outer-var\ 15479}#
+ #{inner-var\ 15486}#)
+ (car #{maps\ 15474}#))
+ #{outer-maps\ 15480}#)))))))))))
+ (#{gen-syntax\ 15379}#
+ (lambda (#{src\ 15487}#
+ #{e\ 15488}#
+ #{r\ 15489}#
+ #{maps\ 15490}#
+ #{ellipsis?\ 15491}#
+ #{mod\ 15492}#)
+ (if (#{id?\ 12916}# #{e\ 15488}#)
+ (let ((#{label\ 15500}#
+ (#{id-var-name\ 12973}#
+ #{e\ 15488}#
'(()))))
- (let ((#{b\ 3261}#
- (#{lookup\ 660}#
- #{label\ 3258}#
- #{r\ 3247}#
- #{mod\ 3250}#)))
- (if (eq? (#{binding-type\ 649}# #{b\ 3261}#)
+ (let ((#{b\ 15503}#
+ (#{lookup\ 12910}#
+ #{label\ 15500}#
+ #{r\ 15489}#
+ #{mod\ 15492}#)))
+ (if (eq? (#{binding-type\ 12899}# #{b\ 15503}#)
'syntax)
(call-with-values
(lambda ()
- (let ((#{var.lev\ 3263}#
- (#{binding-value\ 651}# #{b\ 3261}#)))
- (#{gen-ref\ 3139}#
- #{src\ 3245}#
- (car #{var.lev\ 3263}#)
- (cdr #{var.lev\ 3263}#)
- #{maps\ 3248}#)))
- (lambda (#{var\ 3264}# #{maps\ 3265}#)
+ (let ((#{var.lev\ 15505}#
+ (#{binding-value\ 12901}#
+ #{b\ 15503}#)))
+ (#{gen-ref\ 15381}#
+ #{src\ 15487}#
+ (car #{var.lev\ 15505}#)
+ (cdr #{var.lev\ 15505}#)
+ #{maps\ 15490}#)))
+ (lambda (#{var\ 15506}# #{maps\ 15507}#)
(values
- (list (quote ref) #{var\ 3264}#)
- #{maps\ 3265}#)))
- (if (#{ellipsis?\ 3249}# #{e\ 3246}#)
+ (list (quote ref) #{var\ 15506}#)
+ #{maps\ 15507}#)))
+ (if (#{ellipsis?\ 15491}# #{e\ 15488}#)
(syntax-violation
'syntax
"misplaced ellipsis"
- #{src\ 3245}#)
+ #{src\ 15487}#)
(values
- (list (quote quote) #{e\ 3246}#)
- #{maps\ 3248}#)))))
- ((lambda (#{tmp\ 3270}#)
- ((lambda (#{tmp\ 3271}#)
- (if (if #{tmp\ 3271}#
- (apply (lambda (#{dots\ 3274}# #{e\ 3275}#)
- (#{ellipsis?\ 3249}#
- #{dots\ 3274}#))
- #{tmp\ 3271}#)
+ (list (quote quote) #{e\ 15488}#)
+ #{maps\ 15490}#)))))
+ ((lambda (#{tmp\ 15512}#)
+ ((lambda (#{tmp\ 15513}#)
+ (if (if #{tmp\ 15513}#
+ (apply (lambda (#{dots\ 15516}#
+ #{e\ 15517}#)
+ (#{ellipsis?\ 15491}#
+ #{dots\ 15516}#))
+ #{tmp\ 15513}#)
#f)
- (apply (lambda (#{dots\ 3278}# #{e\ 3279}#)
- (#{gen-syntax\ 3137}#
- #{src\ 3245}#
- #{e\ 3279}#
- #{r\ 3247}#
- #{maps\ 3248}#
- (lambda (#{x\ 3280}#) #f)
- #{mod\ 3250}#))
- #{tmp\ 3271}#)
- ((lambda (#{tmp\ 3282}#)
- (if (if #{tmp\ 3282}#
- (apply (lambda (#{x\ 3286}#
- #{dots\ 3287}#
- #{y\ 3288}#)
- (#{ellipsis?\ 3249}#
- #{dots\ 3287}#))
- #{tmp\ 3282}#)
+ (apply (lambda (#{dots\ 15520}# #{e\ 15521}#)
+ (#{gen-syntax\ 15379}#
+ #{src\ 15487}#
+ #{e\ 15521}#
+ #{r\ 15489}#
+ #{maps\ 15490}#
+ (lambda (#{x\ 15522}#) #f)
+ #{mod\ 15492}#))
+ #{tmp\ 15513}#)
+ ((lambda (#{tmp\ 15524}#)
+ (if (if #{tmp\ 15524}#
+ (apply (lambda (#{x\ 15528}#
+ #{dots\ 15529}#
+ #{y\ 15530}#)
+ (#{ellipsis?\ 15491}#
+ #{dots\ 15529}#))
+ #{tmp\ 15524}#)
#f)
- (apply (lambda (#{x\ 3292}#
- #{dots\ 3293}#
- #{y\ 3294}#)
- (letrec ((#{f\ 3298}#
- (lambda (#{y\ 3299}#
- #{k\ 3300}#)
- ((lambda (#{tmp\
3307}#)
- ((lambda (#{tmp\
3308}#)
- (if (if #{tmp\
3308}#
- (apply
(lambda (#{dots\ 3311}#
-
#{y\ 3312}#)
-
(#{ellipsis?\ 3249}#
-
#{dots\ 3311}#))
-
#{tmp\ 3308}#)
+ (apply (lambda (#{x\ 15534}#
+ #{dots\ 15535}#
+ #{y\ 15536}#)
+ (letrec ((#{f\ 15540}#
+ (lambda (#{y\ 15541}#
+ #{k\ 15542}#)
+ ((lambda (#{tmp\
15549}#)
+ ((lambda (#{tmp\
15550}#)
+ (if (if #{tmp\
15550}#
+ (apply
(lambda (#{dots\ 15553}#
+
#{y\ 15554}#)
+
(#{ellipsis?\ 15491}#
+
#{dots\ 15553}#))
+
#{tmp\ 15550}#)
#f)
- (apply
(lambda (#{dots\ 3315}#
-
#{y\ 3316}#)
-
(#{f\ 3298}#
-
#{y\ 3316}#
-
(lambda (#{maps\ 3317}#)
+ (apply
(lambda (#{dots\ 15557}#
+
#{y\ 15558}#)
+
(#{f\ 15540}#
+
#{y\ 15558}#
+
(lambda (#{maps\ 15559}#)
(call-with-values
(lambda ()
-
(#{k\ 3300}#
+
(#{k\ 15542}#
(cons '()
-
#{maps\ 3317}#)))
-
(lambda (#{x\ 3319}#
-
#{maps\ 3320}#)
-
(if (null? (car #{maps\ 3320}#))
+
#{maps\ 15559}#)))
+
(lambda (#{x\ 15561}#
+
#{maps\ 15562}#)
+
(if (null? (car #{maps\ 15562}#))
(syntax-violation
'syntax
"extra ellipsis"
-
#{src\ 3245}#)
+
#{src\ 15487}#)
(values
-
(#{gen-mappend\ 3141}#
-
#{x\ 3319}#
-
(car #{maps\ 3320}#))
-
(cdr #{maps\ 3320}#))))))))
-
#{tmp\ 3308}#)
- ((lambda
(#{_\ 3324}#)
+
(#{gen-mappend\ 15383}#
+
#{x\ 15561}#
+
(car #{maps\ 15562}#))
+
(cdr #{maps\ 15562}#))))))))
+
#{tmp\ 15550}#)
+ ((lambda
(#{_\ 15566}#)
(call-with-values
(lambda
()
-
(#{gen-syntax\ 3137}#
-
#{src\ 3245}#
-
#{y\ 3299}#
-
#{r\ 3247}#
-
#{maps\ 3248}#
-
#{ellipsis?\ 3249}#
-
#{mod\ 3250}#))
- (lambda
(#{y\ 3325}#
-
#{maps\ 3326}#)
+
(#{gen-syntax\ 15379}#
+
#{src\ 15487}#
+
#{y\ 15541}#
+
#{r\ 15489}#
+
#{maps\ 15490}#
+
#{ellipsis?\ 15491}#
+
#{mod\ 15492}#))
+ (lambda
(#{y\ 15567}#
+
#{maps\ 15568}#)
(call-with-values
(lambda ()
-
(#{k\ 3300}#
-
#{maps\ 3326}#))
-
(lambda (#{x\ 3329}#
-
#{maps\ 3330}#)
+
(#{k\ 15542}#
+
#{maps\ 15568}#))
+
(lambda (#{x\ 15571}#
+
#{maps\ 15572}#)
(values
-
(#{gen-append\ 3147}#
-
#{x\ 3329}#
-
#{y\ 3325}#)
-
#{maps\ 3330}#))))))
- #{tmp\
3307}#)))
+
(#{gen-append\ 15389}#
+
#{x\ 15571}#
+
#{y\ 15567}#)
+
#{maps\ 15572}#))))))
+ #{tmp\
15549}#)))
($sc-dispatch
- #{tmp\ 3307}#
+ #{tmp\ 15549}#
'(any . any))))
- #{y\ 3299}#))))
- (#{f\ 3298}#
- #{y\ 3294}#
- (lambda (#{maps\ 3301}#)
+ #{y\ 15541}#))))
+ (#{f\ 15540}#
+ #{y\ 15536}#
+ (lambda (#{maps\ 15543}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 3137}#
- #{src\ 3245}#
- #{x\ 3292}#
- #{r\ 3247}#
+ (#{gen-syntax\ 15379}#
+ #{src\ 15487}#
+ #{x\ 15534}#
+ #{r\ 15489}#
(cons '()
- #{maps\ 3301}#)
- #{ellipsis?\ 3249}#
- #{mod\ 3250}#))
- (lambda (#{x\ 3303}#
- #{maps\ 3304}#)
- (if (null? (car #{maps\
3304}#))
+ #{maps\ 15543}#)
+ #{ellipsis?\ 15491}#
+ #{mod\ 15492}#))
+ (lambda (#{x\ 15545}#
+ #{maps\ 15546}#)
+ (if (null? (car #{maps\
15546}#))
(syntax-violation
'syntax
"extra ellipsis"
- #{src\ 3245}#)
+ #{src\ 15487}#)
(values
- (#{gen-map\ 3143}#
- #{x\ 3303}#
- (car #{maps\
3304}#))
- (cdr #{maps\
3304}#)))))))))
- #{tmp\ 3282}#)
- ((lambda (#{tmp\ 3333}#)
- (if #{tmp\ 3333}#
- (apply (lambda (#{x\ 3336}#
- #{y\ 3337}#)
+ (#{gen-map\ 15385}#
+ #{x\ 15545}#
+ (car #{maps\
15546}#))
+ (cdr #{maps\
15546}#)))))))))
+ #{tmp\ 15524}#)
+ ((lambda (#{tmp\ 15575}#)
+ (if #{tmp\ 15575}#
+ (apply (lambda (#{x\ 15578}#
+ #{y\ 15579}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 3137}#
- #{src\ 3245}#
- #{x\ 3336}#
- #{r\ 3247}#
- #{maps\ 3248}#
- #{ellipsis?\ 3249}#
- #{mod\ 3250}#))
- (lambda (#{x\ 3338}#
- #{maps\ 3339}#)
+ (#{gen-syntax\ 15379}#
+ #{src\ 15487}#
+ #{x\ 15578}#
+ #{r\ 15489}#
+ #{maps\ 15490}#
+ #{ellipsis?\ 15491}#
+ #{mod\ 15492}#))
+ (lambda (#{x\ 15580}#
+ #{maps\ 15581}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 3137}#
- #{src\ 3245}#
- #{y\ 3337}#
- #{r\ 3247}#
- #{maps\ 3339}#
- #{ellipsis?\ 3249}#
- #{mod\ 3250}#))
- (lambda (#{y\ 3342}#
- #{maps\
3343}#)
+ (#{gen-syntax\
15379}#
+ #{src\ 15487}#
+ #{y\ 15579}#
+ #{r\ 15489}#
+ #{maps\ 15581}#
+ #{ellipsis?\
15491}#
+ #{mod\ 15492}#))
+ (lambda (#{y\ 15584}#
+ #{maps\
15585}#)
(values
- (#{gen-cons\ 3145}#
- #{x\ 3338}#
- #{y\ 3342}#)
- #{maps\
3343}#))))))
- #{tmp\ 3333}#)
- ((lambda (#{tmp\ 3346}#)
- (if #{tmp\ 3346}#
- (apply (lambda (#{e1\ 3349}#
- #{e2\ 3350}#)
+ (#{gen-cons\
15387}#
+ #{x\ 15580}#
+ #{y\ 15584}#)
+ #{maps\
15585}#))))))
+ #{tmp\ 15575}#)
+ ((lambda (#{tmp\ 15588}#)
+ (if #{tmp\ 15588}#
+ (apply (lambda (#{e1\ 15591}#
+ #{e2\ 15592}#)
(call-with-values
(lambda ()
- (#{gen-syntax\
3137}#
- #{src\ 3245}#
- (cons #{e1\ 3349}#
- #{e2\
3350}#)
- #{r\ 3247}#
- #{maps\ 3248}#
- #{ellipsis?\
3249}#
- #{mod\ 3250}#))
- (lambda (#{e\ 3352}#
- #{maps\
3353}#)
+ (#{gen-syntax\
15379}#
+ #{src\ 15487}#
+ (cons #{e1\
15591}#
+ #{e2\
15592}#)
+ #{r\ 15489}#
+ #{maps\ 15490}#
+ #{ellipsis?\
15491}#
+ #{mod\ 15492}#))
+ (lambda (#{e\ 15594}#
+ #{maps\
15595}#)
(values
- (#{gen-vector\
3149}#
- #{e\ 3352}#)
- #{maps\ 3353}#))))
- #{tmp\ 3346}#)
- ((lambda (#{_\ 3357}#)
+ (#{gen-vector\
15391}#
+ #{e\ 15594}#)
+ #{maps\
15595}#))))
+ #{tmp\ 15588}#)
+ ((lambda (#{_\ 15599}#)
(values
(list 'quote
- #{e\ 3246}#)
- #{maps\ 3248}#))
- #{tmp\ 3270}#)))
+ #{e\ 15488}#)
+ #{maps\ 15490}#))
+ #{tmp\ 15512}#)))
($sc-dispatch
- #{tmp\ 3270}#
+ #{tmp\ 15512}#
'#(vector (any . each-any))))))
($sc-dispatch
- #{tmp\ 3270}#
+ #{tmp\ 15512}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 3270}#
+ #{tmp\ 15512}#
'(any any . any)))))
- ($sc-dispatch #{tmp\ 3270}# (quote (any any)))))
- #{e\ 3246}#)))))
- (lambda (#{e\ 3359}#
- #{r\ 3360}#
- #{w\ 3361}#
- #{s\ 3362}#
- #{mod\ 3363}#)
- (let ((#{e\ 3370}#
- (#{source-wrap\ 737}#
- #{e\ 3359}#
- #{w\ 3361}#
- #{s\ 3362}#
- #{mod\ 3363}#)))
- ((lambda (#{tmp\ 3371}#)
- ((lambda (#{tmp\ 3372}#)
- (if #{tmp\ 3372}#
- (apply (lambda (#{_\ 3375}# #{x\ 3376}#)
+ ($sc-dispatch #{tmp\ 15512}# (quote (any any)))))
+ #{e\ 15488}#)))))
+ (lambda (#{e\ 15601}#
+ #{r\ 15602}#
+ #{w\ 15603}#
+ #{s\ 15604}#
+ #{mod\ 15605}#)
+ (let ((#{e\ 15612}#
+ (#{source-wrap\ 12987}#
+ #{e\ 15601}#
+ #{w\ 15603}#
+ #{s\ 15604}#
+ #{mod\ 15605}#)))
+ ((lambda (#{tmp\ 15613}#)
+ ((lambda (#{tmp\ 15614}#)
+ (if #{tmp\ 15614}#
+ (apply (lambda (#{_\ 15617}# #{x\ 15618}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 3137}#
- #{e\ 3370}#
- #{x\ 3376}#
- #{r\ 3360}#
+ (#{gen-syntax\ 15379}#
+ #{e\ 15612}#
+ #{x\ 15618}#
+ #{r\ 15602}#
'()
- #{ellipsis?\ 767}#
- #{mod\ 3363}#))
- (lambda (#{e\ 3377}# #{maps\ 3378}#)
- (#{regen\ 3151}# #{e\ 3377}#))))
- #{tmp\ 3372}#)
- ((lambda (#{_\ 3382}#)
+ #{ellipsis?\ 13017}#
+ #{mod\ 15605}#))
+ (lambda (#{e\ 15619}# #{maps\ 15620}#)
+ (#{regen\ 15393}# #{e\ 15619}#))))
+ #{tmp\ 15614}#)
+ ((lambda (#{_\ 15624}#)
(syntax-violation
'syntax
"bad `syntax' form"
- #{e\ 3370}#))
- #{tmp\ 3371}#)))
- ($sc-dispatch #{tmp\ 3371}# (quote (any any)))))
- #{e\ 3370}#)))))
- (#{global-extend\ 662}#
+ #{e\ 15612}#))
+ #{tmp\ 15613}#)))
+ ($sc-dispatch #{tmp\ 15613}# (quote (any any)))))
+ #{e\ 15612}#)))))
+ (#{global-extend\ 12912}#
'core
'lambda
- (lambda (#{e\ 3383}#
- #{r\ 3384}#
- #{w\ 3385}#
- #{s\ 3386}#
- #{mod\ 3387}#)
- ((lambda (#{tmp\ 3393}#)
- ((lambda (#{tmp\ 3394}#)
- (if #{tmp\ 3394}#
- (apply (lambda (#{_\ 3399}#
- #{args\ 3400}#
- #{e1\ 3401}#
- #{e2\ 3402}#)
+ (lambda (#{e\ 15625}#
+ #{r\ 15626}#
+ #{w\ 15627}#
+ #{s\ 15628}#
+ #{mod\ 15629}#)
+ ((lambda (#{tmp\ 15635}#)
+ ((lambda (#{tmp\ 15636}#)
+ (if #{tmp\ 15636}#
+ (apply (lambda (#{_\ 15641}#
+ #{args\ 15642}#
+ #{e1\ 15643}#
+ #{e2\ 15644}#)
(call-with-values
(lambda ()
- (#{lambda-formals\ 769}# #{args\ 3400}#))
- (lambda (#{req\ 3403}#
- #{opt\ 3404}#
- #{rest\ 3405}#
- #{kw\ 3406}#)
- (letrec ((#{lp\ 3414}#
- (lambda (#{body\ 3415}#
- #{meta\ 3416}#)
- ((lambda (#{tmp\ 3418}#)
- ((lambda (#{tmp\ 3419}#)
- (if (if #{tmp\ 3419}#
- (apply (lambda
(#{docstring\ 3423}#
- #{e1\
3424}#
- #{e2\
3425}#)
+ (#{lambda-formals\ 13019}# #{args\ 15642}#))
+ (lambda (#{req\ 15645}#
+ #{opt\ 15646}#
+ #{rest\ 15647}#
+ #{kw\ 15648}#)
+ (letrec ((#{lp\ 15656}#
+ (lambda (#{body\ 15657}#
+ #{meta\ 15658}#)
+ ((lambda (#{tmp\ 15660}#)
+ ((lambda (#{tmp\ 15661}#)
+ (if (if #{tmp\ 15661}#
+ (apply (lambda
(#{docstring\ 15665}#
+ #{e1\
15666}#
+ #{e2\
15667}#)
(string?
(syntax->datum
-
#{docstring\ 3423}#)))
- #{tmp\ 3419}#)
+
#{docstring\ 15665}#)))
+ #{tmp\ 15661}#)
#f)
- (apply (lambda
(#{docstring\ 3429}#
- #{e1\
3430}#
- #{e2\
3431}#)
- (#{lp\ 3414}#
- (cons #{e1\
3430}#
- #{e2\
3431}#)
+ (apply (lambda
(#{docstring\ 15671}#
+ #{e1\
15672}#
+ #{e2\
15673}#)
+ (#{lp\ 15656}#
+ (cons #{e1\
15672}#
+ #{e2\
15673}#)
(append
- #{meta\ 3416}#
+ #{meta\
15658}#
(list (cons
'documentation
(syntax->datum
-
#{docstring\ 3429}#))))))
- #{tmp\ 3419}#)
- ((lambda (#{tmp\ 3434}#)
- (if #{tmp\ 3434}#
- (apply (lambda (#{k\
3439}#
- #{v\
3440}#
- #{e1\
3441}#
- #{e2\
3442}#)
- (#{lp\ 3414}#
- (cons
#{e1\ 3441}#
-
#{e2\ 3442}#)
+
#{docstring\ 15671}#))))))
+ #{tmp\ 15661}#)
+ ((lambda (#{tmp\ 15676}#)
+ (if #{tmp\ 15676}#
+ (apply (lambda (#{k\
15681}#
+ #{v\
15682}#
+ #{e1\
15683}#
+ #{e2\
15684}#)
+ (#{lp\
15656}#
+ (cons
#{e1\ 15683}#
+
#{e2\ 15684}#)
(append
- #{meta\
3416}#
+ #{meta\
15658}#
(syntax->datum
(map
cons
-
#{k\ 3439}#
-
#{v\ 3440}#)))))
- #{tmp\ 3434}#)
- ((lambda (#{_\ 3447}#)
-
(#{chi-simple-lambda\ 771}#
- #{e\ 3383}#
- #{r\ 3384}#
- #{w\ 3385}#
- #{s\ 3386}#
- #{mod\ 3387}#
- #{req\ 3403}#
- #{rest\ 3405}#
- #{meta\ 3416}#
- #{body\ 3415}#))
- #{tmp\ 3418}#)))
+
#{k\ 15681}#
+
#{v\ 15682}#)))))
+ #{tmp\ 15676}#)
+ ((lambda (#{_\
15689}#)
+
(#{chi-simple-lambda\ 13021}#
+ #{e\ 15625}#
+ #{r\ 15626}#
+ #{w\ 15627}#
+ #{s\ 15628}#
+ #{mod\ 15629}#
+ #{req\ 15645}#
+ #{rest\ 15647}#
+ #{meta\ 15658}#
+ #{body\ 15657}#))
+ #{tmp\ 15660}#)))
($sc-dispatch
- #{tmp\ 3418}#
+ #{tmp\ 15660}#
'(#(vector
#(each (any . any)))
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 3418}#
+ #{tmp\ 15660}#
'(any any . each-any))))
- #{body\ 3415}#))))
- (#{lp\ 3414}#
- (cons #{e1\ 3401}# #{e2\ 3402}#)
+ #{body\ 15657}#))))
+ (#{lp\ 15656}#
+ (cons #{e1\ 15643}# #{e2\ 15644}#)
'())))))
- #{tmp\ 3394}#)
- ((lambda (#{_\ 3449}#)
+ #{tmp\ 15636}#)
+ ((lambda (#{_\ 15691}#)
(syntax-violation
'lambda
"bad lambda"
- #{e\ 3383}#))
- #{tmp\ 3393}#)))
+ #{e\ 15625}#))
+ #{tmp\ 15635}#)))
($sc-dispatch
- #{tmp\ 3393}#
+ #{tmp\ 15635}#
'(any any any . each-any))))
- #{e\ 3383}#)))
- (#{global-extend\ 662}#
+ #{e\ 15625}#)))
+ (#{global-extend\ 12912}#
'core
'lambda*
- (lambda (#{e\ 3450}#
- #{r\ 3451}#
- #{w\ 3452}#
- #{s\ 3453}#
- #{mod\ 3454}#)
- ((lambda (#{tmp\ 3460}#)
- ((lambda (#{tmp\ 3461}#)
- (if #{tmp\ 3461}#
- (apply (lambda (#{_\ 3466}#
- #{args\ 3467}#
- #{e1\ 3468}#
- #{e2\ 3469}#)
+ (lambda (#{e\ 15692}#
+ #{r\ 15693}#
+ #{w\ 15694}#
+ #{s\ 15695}#
+ #{mod\ 15696}#)
+ ((lambda (#{tmp\ 15702}#)
+ ((lambda (#{tmp\ 15703}#)
+ (if #{tmp\ 15703}#
+ (apply (lambda (#{_\ 15708}#
+ #{args\ 15709}#
+ #{e1\ 15710}#
+ #{e2\ 15711}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 775}#
- #{e\ 3450}#
- #{r\ 3451}#
- #{w\ 3452}#
- #{s\ 3453}#
- #{mod\ 3454}#
- #{lambda*-formals\ 773}#
- (list (cons #{args\ 3467}#
- (cons #{e1\ 3468}#
- #{e2\ 3469}#)))))
- (lambda (#{meta\ 3471}# #{lcase\ 3472}#)
- (#{build-case-lambda\ 610}#
- #{s\ 3453}#
- #{meta\ 3471}#
- #{lcase\ 3472}#))))
- #{tmp\ 3461}#)
- ((lambda (#{_\ 3476}#)
+ (#{chi-lambda-case\ 13025}#
+ #{e\ 15692}#
+ #{r\ 15693}#
+ #{w\ 15694}#
+ #{s\ 15695}#
+ #{mod\ 15696}#
+ #{lambda*-formals\ 13023}#
+ (list (cons #{args\ 15709}#
+ (cons #{e1\ 15710}#
+ #{e2\ 15711}#)))))
+ (lambda (#{meta\ 15713}# #{lcase\ 15714}#)
+ (#{build-case-lambda\ 12860}#
+ #{s\ 15695}#
+ #{meta\ 15713}#
+ #{lcase\ 15714}#))))
+ #{tmp\ 15703}#)
+ ((lambda (#{_\ 15718}#)
(syntax-violation
'lambda
"bad lambda*"
- #{e\ 3450}#))
- #{tmp\ 3460}#)))
+ #{e\ 15692}#))
+ #{tmp\ 15702}#)))
($sc-dispatch
- #{tmp\ 3460}#
+ #{tmp\ 15702}#
'(any any any . each-any))))
- #{e\ 3450}#)))
- (#{global-extend\ 662}#
+ #{e\ 15692}#)))
+ (#{global-extend\ 12912}#
'core
'case-lambda
- (lambda (#{e\ 3477}#
- #{r\ 3478}#
- #{w\ 3479}#
- #{s\ 3480}#
- #{mod\ 3481}#)
- ((lambda (#{tmp\ 3487}#)
- ((lambda (#{tmp\ 3488}#)
- (if #{tmp\ 3488}#
- (apply (lambda (#{_\ 3496}#
- #{args\ 3497}#
- #{e1\ 3498}#
- #{e2\ 3499}#
- #{args*\ 3500}#
- #{e1*\ 3501}#
- #{e2*\ 3502}#)
+ (lambda (#{e\ 15719}#
+ #{r\ 15720}#
+ #{w\ 15721}#
+ #{s\ 15722}#
+ #{mod\ 15723}#)
+ ((lambda (#{tmp\ 15729}#)
+ ((lambda (#{tmp\ 15730}#)
+ (if #{tmp\ 15730}#
+ (apply (lambda (#{_\ 15738}#
+ #{args\ 15739}#
+ #{e1\ 15740}#
+ #{e2\ 15741}#
+ #{args*\ 15742}#
+ #{e1*\ 15743}#
+ #{e2*\ 15744}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 775}#
- #{e\ 3477}#
- #{r\ 3478}#
- #{w\ 3479}#
- #{s\ 3480}#
- #{mod\ 3481}#
- #{lambda-formals\ 769}#
- (cons (cons #{args\ 3497}#
- (cons #{e1\ 3498}# #{e2\ 3499}#))
- (map (lambda (#{tmp\ 3506}#
- #{tmp\ 3505}#
- #{tmp\ 3504}#)
- (cons #{tmp\ 3504}#
- (cons #{tmp\ 3505}#
- #{tmp\ 3506}#)))
- #{e2*\ 3502}#
- #{e1*\ 3501}#
- #{args*\ 3500}#))))
- (lambda (#{meta\ 3508}# #{lcase\ 3509}#)
- (#{build-case-lambda\ 610}#
- #{s\ 3480}#
- #{meta\ 3508}#
- #{lcase\ 3509}#))))
- #{tmp\ 3488}#)
- ((lambda (#{_\ 3513}#)
+ (#{chi-lambda-case\ 13025}#
+ #{e\ 15719}#
+ #{r\ 15720}#
+ #{w\ 15721}#
+ #{s\ 15722}#
+ #{mod\ 15723}#
+ #{lambda-formals\ 13019}#
+ (cons (cons #{args\ 15739}#
+ (cons #{e1\ 15740}#
+ #{e2\ 15741}#))
+ (map (lambda (#{tmp\ 15748}#
+ #{tmp\ 15747}#
+ #{tmp\ 15746}#)
+ (cons #{tmp\ 15746}#
+ (cons #{tmp\ 15747}#
+ #{tmp\ 15748}#)))
+ #{e2*\ 15744}#
+ #{e1*\ 15743}#
+ #{args*\ 15742}#))))
+ (lambda (#{meta\ 15750}# #{lcase\ 15751}#)
+ (#{build-case-lambda\ 12860}#
+ #{s\ 15722}#
+ #{meta\ 15750}#
+ #{lcase\ 15751}#))))
+ #{tmp\ 15730}#)
+ ((lambda (#{_\ 15755}#)
(syntax-violation
'case-lambda
"bad case-lambda"
- #{e\ 3477}#))
- #{tmp\ 3487}#)))
+ #{e\ 15719}#))
+ #{tmp\ 15729}#)))
($sc-dispatch
- #{tmp\ 3487}#
+ #{tmp\ 15729}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 3477}#)))
- (#{global-extend\ 662}#
+ #{e\ 15719}#)))
+ (#{global-extend\ 12912}#
'core
'case-lambda*
- (lambda (#{e\ 3514}#
- #{r\ 3515}#
- #{w\ 3516}#
- #{s\ 3517}#
- #{mod\ 3518}#)
- ((lambda (#{tmp\ 3524}#)
- ((lambda (#{tmp\ 3525}#)
- (if #{tmp\ 3525}#
- (apply (lambda (#{_\ 3533}#
- #{args\ 3534}#
- #{e1\ 3535}#
- #{e2\ 3536}#
- #{args*\ 3537}#
- #{e1*\ 3538}#
- #{e2*\ 3539}#)
+ (lambda (#{e\ 15756}#
+ #{r\ 15757}#
+ #{w\ 15758}#
+ #{s\ 15759}#
+ #{mod\ 15760}#)
+ ((lambda (#{tmp\ 15766}#)
+ ((lambda (#{tmp\ 15767}#)
+ (if #{tmp\ 15767}#
+ (apply (lambda (#{_\ 15775}#
+ #{args\ 15776}#
+ #{e1\ 15777}#
+ #{e2\ 15778}#
+ #{args*\ 15779}#
+ #{e1*\ 15780}#
+ #{e2*\ 15781}#)
(call-with-values
(lambda ()
- (#{chi-lambda-case\ 775}#
- #{e\ 3514}#
- #{r\ 3515}#
- #{w\ 3516}#
- #{s\ 3517}#
- #{mod\ 3518}#
- #{lambda*-formals\ 773}#
- (cons (cons #{args\ 3534}#
- (cons #{e1\ 3535}# #{e2\ 3536}#))
- (map (lambda (#{tmp\ 3543}#
- #{tmp\ 3542}#
- #{tmp\ 3541}#)
- (cons #{tmp\ 3541}#
- (cons #{tmp\ 3542}#
- #{tmp\ 3543}#)))
- #{e2*\ 3539}#
- #{e1*\ 3538}#
- #{args*\ 3537}#))))
- (lambda (#{meta\ 3545}# #{lcase\ 3546}#)
- (#{build-case-lambda\ 610}#
- #{s\ 3517}#
- #{meta\ 3545}#
- #{lcase\ 3546}#))))
- #{tmp\ 3525}#)
- ((lambda (#{_\ 3550}#)
+ (#{chi-lambda-case\ 13025}#
+ #{e\ 15756}#
+ #{r\ 15757}#
+ #{w\ 15758}#
+ #{s\ 15759}#
+ #{mod\ 15760}#
+ #{lambda*-formals\ 13023}#
+ (cons (cons #{args\ 15776}#
+ (cons #{e1\ 15777}#
+ #{e2\ 15778}#))
+ (map (lambda (#{tmp\ 15785}#
+ #{tmp\ 15784}#
+ #{tmp\ 15783}#)
+ (cons #{tmp\ 15783}#
+ (cons #{tmp\ 15784}#
+ #{tmp\ 15785}#)))
+ #{e2*\ 15781}#
+ #{e1*\ 15780}#
+ #{args*\ 15779}#))))
+ (lambda (#{meta\ 15787}# #{lcase\ 15788}#)
+ (#{build-case-lambda\ 12860}#
+ #{s\ 15759}#
+ #{meta\ 15787}#
+ #{lcase\ 15788}#))))
+ #{tmp\ 15767}#)
+ ((lambda (#{_\ 15792}#)
(syntax-violation
'case-lambda
"bad case-lambda*"
- #{e\ 3514}#))
- #{tmp\ 3524}#)))
+ #{e\ 15756}#))
+ #{tmp\ 15766}#)))
($sc-dispatch
- #{tmp\ 3524}#
+ #{tmp\ 15766}#
'(any (any any . each-any)
.
#(each (any any . each-any))))))
- #{e\ 3514}#)))
- (#{global-extend\ 662}#
+ #{e\ 15756}#)))
+ (#{global-extend\ 12912}#
'core
'let
- (letrec ((#{chi-let\ 3552}#
- (lambda (#{e\ 3553}#
- #{r\ 3554}#
- #{w\ 3555}#
- #{s\ 3556}#
- #{mod\ 3557}#
- #{constructor\ 3558}#
- #{ids\ 3559}#
- #{vals\ 3560}#
- #{exps\ 3561}#)
- (if (not (#{valid-bound-ids?\ 729}# #{ids\ 3559}#))
+ (letrec ((#{chi-let\ 15794}#
+ (lambda (#{e\ 15795}#
+ #{r\ 15796}#
+ #{w\ 15797}#
+ #{s\ 15798}#
+ #{mod\ 15799}#
+ #{constructor\ 15800}#
+ #{ids\ 15801}#
+ #{vals\ 15802}#
+ #{exps\ 15803}#)
+ (if (not (#{valid-bound-ids?\ 12979}# #{ids\ 15801}#))
(syntax-violation
'let
"duplicate bound variable"
- #{e\ 3553}#)
- (let ((#{labels\ 3573}#
- (#{gen-labels\ 684}# #{ids\ 3559}#))
- (#{new-vars\ 3574}#
- (map #{gen-var\ 779}# #{ids\ 3559}#)))
- (let ((#{nw\ 3577}#
- (#{make-binding-wrap\ 713}#
- #{ids\ 3559}#
- #{labels\ 3573}#
- #{w\ 3555}#))
- (#{nr\ 3578}#
- (#{extend-var-env\ 656}#
- #{labels\ 3573}#
- #{new-vars\ 3574}#
- #{r\ 3554}#)))
- (#{constructor\ 3558}#
- #{s\ 3556}#
- (map syntax->datum #{ids\ 3559}#)
- #{new-vars\ 3574}#
- (map (lambda (#{x\ 3579}#)
- (#{chi\ 751}#
- #{x\ 3579}#
- #{r\ 3554}#
- #{w\ 3555}#
- #{mod\ 3557}#))
- #{vals\ 3560}#)
- (#{chi-body\ 759}#
- #{exps\ 3561}#
- (#{source-wrap\ 737}#
- #{e\ 3553}#
- #{nw\ 3577}#
- #{s\ 3556}#
- #{mod\ 3557}#)
- #{nr\ 3578}#
- #{nw\ 3577}#
- #{mod\ 3557}#))))))))
- (lambda (#{e\ 3581}#
- #{r\ 3582}#
- #{w\ 3583}#
- #{s\ 3584}#
- #{mod\ 3585}#)
- ((lambda (#{tmp\ 3591}#)
- ((lambda (#{tmp\ 3592}#)
- (if (if #{tmp\ 3592}#
- (apply (lambda (#{_\ 3598}#
- #{id\ 3599}#
- #{val\ 3600}#
- #{e1\ 3601}#
- #{e2\ 3602}#)
- (and-map #{id?\ 666}# #{id\ 3599}#))
- #{tmp\ 3592}#)
+ #{e\ 15795}#)
+ (let ((#{labels\ 15815}#
+ (#{gen-labels\ 12934}# #{ids\ 15801}#))
+ (#{new-vars\ 15816}#
+ (map #{gen-var\ 13029}# #{ids\ 15801}#)))
+ (let ((#{nw\ 15819}#
+ (#{make-binding-wrap\ 12963}#
+ #{ids\ 15801}#
+ #{labels\ 15815}#
+ #{w\ 15797}#))
+ (#{nr\ 15820}#
+ (#{extend-var-env\ 12906}#
+ #{labels\ 15815}#
+ #{new-vars\ 15816}#
+ #{r\ 15796}#)))
+ (#{constructor\ 15800}#
+ #{s\ 15798}#
+ (map syntax->datum #{ids\ 15801}#)
+ #{new-vars\ 15816}#
+ (map (lambda (#{x\ 15821}#)
+ (#{chi\ 13001}#
+ #{x\ 15821}#
+ #{r\ 15796}#
+ #{w\ 15797}#
+ #{mod\ 15799}#))
+ #{vals\ 15802}#)
+ (#{chi-body\ 13009}#
+ #{exps\ 15803}#
+ (#{source-wrap\ 12987}#
+ #{e\ 15795}#
+ #{nw\ 15819}#
+ #{s\ 15798}#
+ #{mod\ 15799}#)
+ #{nr\ 15820}#
+ #{nw\ 15819}#
+ #{mod\ 15799}#))))))))
+ (lambda (#{e\ 15823}#
+ #{r\ 15824}#
+ #{w\ 15825}#
+ #{s\ 15826}#
+ #{mod\ 15827}#)
+ ((lambda (#{tmp\ 15833}#)
+ ((lambda (#{tmp\ 15834}#)
+ (if (if #{tmp\ 15834}#
+ (apply (lambda (#{_\ 15840}#
+ #{id\ 15841}#
+ #{val\ 15842}#
+ #{e1\ 15843}#
+ #{e2\ 15844}#)
+ (and-map #{id?\ 12916}# #{id\ 15841}#))
+ #{tmp\ 15834}#)
#f)
- (apply (lambda (#{_\ 3609}#
- #{id\ 3610}#
- #{val\ 3611}#
- #{e1\ 3612}#
- #{e2\ 3613}#)
- (#{chi-let\ 3552}#
- #{e\ 3581}#
- #{r\ 3582}#
- #{w\ 3583}#
- #{s\ 3584}#
- #{mod\ 3585}#
- #{build-let\ 620}#
- #{id\ 3610}#
- #{val\ 3611}#
- (cons #{e1\ 3612}# #{e2\ 3613}#)))
- #{tmp\ 3592}#)
- ((lambda (#{tmp\ 3617}#)
- (if (if #{tmp\ 3617}#
- (apply (lambda (#{_\ 3624}#
- #{f\ 3625}#
- #{id\ 3626}#
- #{val\ 3627}#
- #{e1\ 3628}#
- #{e2\ 3629}#)
- (if (#{id?\ 666}# #{f\ 3625}#)
- (and-map #{id?\ 666}# #{id\ 3626}#)
+ (apply (lambda (#{_\ 15851}#
+ #{id\ 15852}#
+ #{val\ 15853}#
+ #{e1\ 15854}#
+ #{e2\ 15855}#)
+ (#{chi-let\ 15794}#
+ #{e\ 15823}#
+ #{r\ 15824}#
+ #{w\ 15825}#
+ #{s\ 15826}#
+ #{mod\ 15827}#
+ #{build-let\ 12870}#
+ #{id\ 15852}#
+ #{val\ 15853}#
+ (cons #{e1\ 15854}# #{e2\ 15855}#)))
+ #{tmp\ 15834}#)
+ ((lambda (#{tmp\ 15859}#)
+ (if (if #{tmp\ 15859}#
+ (apply (lambda (#{_\ 15866}#
+ #{f\ 15867}#
+ #{id\ 15868}#
+ #{val\ 15869}#
+ #{e1\ 15870}#
+ #{e2\ 15871}#)
+ (if (#{id?\ 12916}# #{f\ 15867}#)
+ (and-map #{id?\ 12916}# #{id\ 15868}#)
#f))
- #{tmp\ 3617}#)
+ #{tmp\ 15859}#)
#f)
- (apply (lambda (#{_\ 3639}#
- #{f\ 3640}#
- #{id\ 3641}#
- #{val\ 3642}#
- #{e1\ 3643}#
- #{e2\ 3644}#)
- (#{chi-let\ 3552}#
- #{e\ 3581}#
- #{r\ 3582}#
- #{w\ 3583}#
- #{s\ 3584}#
- #{mod\ 3585}#
- #{build-named-let\ 622}#
- (cons #{f\ 3640}# #{id\ 3641}#)
- #{val\ 3642}#
- (cons #{e1\ 3643}# #{e2\ 3644}#)))
- #{tmp\ 3617}#)
- ((lambda (#{_\ 3649}#)
+ (apply (lambda (#{_\ 15881}#
+ #{f\ 15882}#
+ #{id\ 15883}#
+ #{val\ 15884}#
+ #{e1\ 15885}#
+ #{e2\ 15886}#)
+ (#{chi-let\ 15794}#
+ #{e\ 15823}#
+ #{r\ 15824}#
+ #{w\ 15825}#
+ #{s\ 15826}#
+ #{mod\ 15827}#
+ #{build-named-let\ 12872}#
+ (cons #{f\ 15882}# #{id\ 15883}#)
+ #{val\ 15884}#
+ (cons #{e1\ 15885}# #{e2\ 15886}#)))
+ #{tmp\ 15859}#)
+ ((lambda (#{_\ 15891}#)
(syntax-violation
'let
"bad let"
- (#{source-wrap\ 737}#
- #{e\ 3581}#
- #{w\ 3583}#
- #{s\ 3584}#
- #{mod\ 3585}#)))
- #{tmp\ 3591}#)))
+ (#{source-wrap\ 12987}#
+ #{e\ 15823}#
+ #{w\ 15825}#
+ #{s\ 15826}#
+ #{mod\ 15827}#)))
+ #{tmp\ 15833}#)))
($sc-dispatch
- #{tmp\ 3591}#
+ #{tmp\ 15833}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 3591}#
+ #{tmp\ 15833}#
'(any #(each (any any)) any . each-any))))
- #{e\ 3581}#))))
- (#{global-extend\ 662}#
+ #{e\ 15823}#))))
+ (#{global-extend\ 12912}#
'core
'letrec
- (lambda (#{e\ 3650}#
- #{r\ 3651}#
- #{w\ 3652}#
- #{s\ 3653}#
- #{mod\ 3654}#)
- ((lambda (#{tmp\ 3660}#)
- ((lambda (#{tmp\ 3661}#)
- (if (if #{tmp\ 3661}#
- (apply (lambda (#{_\ 3667}#
- #{id\ 3668}#
- #{val\ 3669}#
- #{e1\ 3670}#
- #{e2\ 3671}#)
- (and-map #{id?\ 666}# #{id\ 3668}#))
- #{tmp\ 3661}#)
+ (lambda (#{e\ 15892}#
+ #{r\ 15893}#
+ #{w\ 15894}#
+ #{s\ 15895}#
+ #{mod\ 15896}#)
+ ((lambda (#{tmp\ 15902}#)
+ ((lambda (#{tmp\ 15903}#)
+ (if (if #{tmp\ 15903}#
+ (apply (lambda (#{_\ 15909}#
+ #{id\ 15910}#
+ #{val\ 15911}#
+ #{e1\ 15912}#
+ #{e2\ 15913}#)
+ (and-map #{id?\ 12916}# #{id\ 15910}#))
+ #{tmp\ 15903}#)
#f)
- (apply (lambda (#{_\ 3678}#
- #{id\ 3679}#
- #{val\ 3680}#
- #{e1\ 3681}#
- #{e2\ 3682}#)
- (let ((#{ids\ 3684}# #{id\ 3679}#))
- (if (not (#{valid-bound-ids?\ 729}#
- #{ids\ 3684}#))
+ (apply (lambda (#{_\ 15920}#
+ #{id\ 15921}#
+ #{val\ 15922}#
+ #{e1\ 15923}#
+ #{e2\ 15924}#)
+ (let ((#{ids\ 15926}# #{id\ 15921}#))
+ (if (not (#{valid-bound-ids?\ 12979}#
+ #{ids\ 15926}#))
(syntax-violation
'letrec
"duplicate bound variable"
- #{e\ 3650}#)
- (let ((#{labels\ 3688}#
- (#{gen-labels\ 684}# #{ids\ 3684}#))
- (#{new-vars\ 3689}#
- (map #{gen-var\ 779}# #{ids\ 3684}#)))
- (let ((#{w\ 3692}#
- (#{make-binding-wrap\ 713}#
- #{ids\ 3684}#
- #{labels\ 3688}#
- #{w\ 3652}#))
- (#{r\ 3693}#
- (#{extend-var-env\ 656}#
- #{labels\ 3688}#
- #{new-vars\ 3689}#
- #{r\ 3651}#)))
- (#{build-letrec\ 624}#
- #{s\ 3653}#
- (map syntax->datum #{ids\ 3684}#)
- #{new-vars\ 3689}#
- (map (lambda (#{x\ 3694}#)
- (#{chi\ 751}#
- #{x\ 3694}#
- #{r\ 3693}#
- #{w\ 3692}#
- #{mod\ 3654}#))
- #{val\ 3680}#)
- (#{chi-body\ 759}#
- (cons #{e1\ 3681}# #{e2\ 3682}#)
- (#{source-wrap\ 737}#
- #{e\ 3650}#
- #{w\ 3692}#
- #{s\ 3653}#
- #{mod\ 3654}#)
- #{r\ 3693}#
- #{w\ 3692}#
- #{mod\ 3654}#)))))))
- #{tmp\ 3661}#)
- ((lambda (#{_\ 3699}#)
+ #{e\ 15892}#)
+ (let ((#{labels\ 15930}#
+ (#{gen-labels\ 12934}# #{ids\ 15926}#))
+ (#{new-vars\ 15931}#
+ (map #{gen-var\ 13029}#
+ #{ids\ 15926}#)))
+ (let ((#{w\ 15934}#
+ (#{make-binding-wrap\ 12963}#
+ #{ids\ 15926}#
+ #{labels\ 15930}#
+ #{w\ 15894}#))
+ (#{r\ 15935}#
+ (#{extend-var-env\ 12906}#
+ #{labels\ 15930}#
+ #{new-vars\ 15931}#
+ #{r\ 15893}#)))
+ (#{build-letrec\ 12874}#
+ #{s\ 15895}#
+ (map syntax->datum #{ids\ 15926}#)
+ #{new-vars\ 15931}#
+ (map (lambda (#{x\ 15936}#)
+ (#{chi\ 13001}#
+ #{x\ 15936}#
+ #{r\ 15935}#
+ #{w\ 15934}#
+ #{mod\ 15896}#))
+ #{val\ 15922}#)
+ (#{chi-body\ 13009}#
+ (cons #{e1\ 15923}# #{e2\ 15924}#)
+ (#{source-wrap\ 12987}#
+ #{e\ 15892}#
+ #{w\ 15934}#
+ #{s\ 15895}#
+ #{mod\ 15896}#)
+ #{r\ 15935}#
+ #{w\ 15934}#
+ #{mod\ 15896}#)))))))
+ #{tmp\ 15903}#)
+ ((lambda (#{_\ 15941}#)
(syntax-violation
'letrec
"bad letrec"
- (#{source-wrap\ 737}#
- #{e\ 3650}#
- #{w\ 3652}#
- #{s\ 3653}#
- #{mod\ 3654}#)))
- #{tmp\ 3660}#)))
+ (#{source-wrap\ 12987}#
+ #{e\ 15892}#
+ #{w\ 15894}#
+ #{s\ 15895}#
+ #{mod\ 15896}#)))
+ #{tmp\ 15902}#)))
($sc-dispatch
- #{tmp\ 3660}#
+ #{tmp\ 15902}#
'(any #(each (any any)) any . each-any))))
- #{e\ 3650}#)))
- (#{global-extend\ 662}#
+ #{e\ 15892}#)))
+ (#{global-extend\ 12912}#
'core
'set!
- (lambda (#{e\ 3700}#
- #{r\ 3701}#
- #{w\ 3702}#
- #{s\ 3703}#
- #{mod\ 3704}#)
- ((lambda (#{tmp\ 3710}#)
- ((lambda (#{tmp\ 3711}#)
- (if (if #{tmp\ 3711}#
- (apply (lambda (#{_\ 3715}# #{id\ 3716}# #{val\ 3717}#)
- (#{id?\ 666}# #{id\ 3716}#))
- #{tmp\ 3711}#)
+ (lambda (#{e\ 15942}#
+ #{r\ 15943}#
+ #{w\ 15944}#
+ #{s\ 15945}#
+ #{mod\ 15946}#)
+ ((lambda (#{tmp\ 15952}#)
+ ((lambda (#{tmp\ 15953}#)
+ (if (if #{tmp\ 15953}#
+ (apply (lambda (#{_\ 15957}#
+ #{id\ 15958}#
+ #{val\ 15959}#)
+ (#{id?\ 12916}# #{id\ 15958}#))
+ #{tmp\ 15953}#)
#f)
- (apply (lambda (#{_\ 3721}# #{id\ 3722}# #{val\ 3723}#)
- (let ((#{val\ 3726}#
- (#{chi\ 751}#
- #{val\ 3723}#
- #{r\ 3701}#
- #{w\ 3702}#
- #{mod\ 3704}#))
- (#{n\ 3727}#
- (#{id-var-name\ 723}#
- #{id\ 3722}#
- #{w\ 3702}#)))
- (let ((#{b\ 3729}#
- (#{lookup\ 660}#
- #{n\ 3727}#
- #{r\ 3701}#
- #{mod\ 3704}#)))
- (let ((#{atom-key\ 3732}#
- (#{binding-type\ 649}# #{b\ 3729}#)))
- (if (memv #{atom-key\ 3732}#
+ (apply (lambda (#{_\ 15963}# #{id\ 15964}# #{val\ 15965}#)
+ (let ((#{val\ 15968}#
+ (#{chi\ 13001}#
+ #{val\ 15965}#
+ #{r\ 15943}#
+ #{w\ 15944}#
+ #{mod\ 15946}#))
+ (#{n\ 15969}#
+ (#{id-var-name\ 12973}#
+ #{id\ 15964}#
+ #{w\ 15944}#)))
+ (let ((#{b\ 15971}#
+ (#{lookup\ 12910}#
+ #{n\ 15969}#
+ #{r\ 15943}#
+ #{mod\ 15946}#)))
+ (let ((#{atom-key\ 15974}#
+ (#{binding-type\ 12899}# #{b\ 15971}#)))
+ (if (memv #{atom-key\ 15974}#
'(lexical))
- (#{build-lexical-assignment\ 596}#
- #{s\ 3703}#
- (syntax->datum #{id\ 3722}#)
- (#{binding-value\ 651}# #{b\ 3729}#)
- #{val\ 3726}#)
- (if (memv #{atom-key\ 3732}#
+ (#{build-lexical-assignment\ 12846}#
+ #{s\ 15945}#
+ (syntax->datum #{id\ 15964}#)
+ (#{binding-value\ 12901}# #{b\ 15971}#)
+ #{val\ 15968}#)
+ (if (memv #{atom-key\ 15974}#
'(global))
- (#{build-global-assignment\ 602}#
- #{s\ 3703}#
- #{n\ 3727}#
- #{val\ 3726}#
- #{mod\ 3704}#)
- (if (memv #{atom-key\ 3732}#
+ (#{build-global-assignment\ 12852}#
+ #{s\ 15945}#
+ #{n\ 15969}#
+ #{val\ 15968}#
+ #{mod\ 15946}#)
+ (if (memv #{atom-key\ 15974}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
- (#{wrap\ 735}#
- #{id\ 3722}#
- #{w\ 3702}#
- #{mod\ 3704}#))
+ (#{wrap\ 12985}#
+ #{id\ 15964}#
+ #{w\ 15944}#
+ #{mod\ 15946}#))
(syntax-violation
'set!
"bad set!"
- (#{source-wrap\ 737}#
- #{e\ 3700}#
- #{w\ 3702}#
- #{s\ 3703}#
- #{mod\ 3704}#)))))))))
- #{tmp\ 3711}#)
- ((lambda (#{tmp\ 3737}#)
- (if #{tmp\ 3737}#
- (apply (lambda (#{_\ 3742}#
- #{head\ 3743}#
- #{tail\ 3744}#
- #{val\ 3745}#)
+ (#{source-wrap\ 12987}#
+ #{e\ 15942}#
+ #{w\ 15944}#
+ #{s\ 15945}#
+ #{mod\ 15946}#)))))))))
+ #{tmp\ 15953}#)
+ ((lambda (#{tmp\ 15979}#)
+ (if #{tmp\ 15979}#
+ (apply (lambda (#{_\ 15984}#
+ #{head\ 15985}#
+ #{tail\ 15986}#
+ #{val\ 15987}#)
(call-with-values
(lambda ()
- (#{syntax-type\ 747}#
- #{head\ 3743}#
- #{r\ 3701}#
+ (#{syntax-type\ 12997}#
+ #{head\ 15985}#
+ #{r\ 15943}#
'(())
#f
#f
- #{mod\ 3704}#
+ #{mod\ 15946}#
#t))
- (lambda (#{type\ 3748}#
- #{value\ 3749}#
- #{ee\ 3750}#
- #{ww\ 3751}#
- #{ss\ 3752}#
- #{modmod\ 3753}#)
- (if (memv #{type\ 3748}#
+ (lambda (#{type\ 15990}#
+ #{value\ 15991}#
+ #{ee\ 15992}#
+ #{ww\ 15993}#
+ #{ss\ 15994}#
+ #{modmod\ 15995}#)
+ (if (memv #{type\ 15990}#
'(module-ref))
- (let ((#{val\ 3762}#
- (#{chi\ 751}#
- #{val\ 3745}#
- #{r\ 3701}#
- #{w\ 3702}#
- #{mod\ 3704}#)))
+ (let ((#{val\ 16004}#
+ (#{chi\ 13001}#
+ #{val\ 15987}#
+ #{r\ 15943}#
+ #{w\ 15944}#
+ #{mod\ 15946}#)))
(call-with-values
(lambda ()
- (#{value\ 3749}#
- (cons #{head\ 3743}#
- #{tail\ 3744}#)
- #{r\ 3701}#
- #{w\ 3702}#))
- (lambda (#{e\ 3764}#
- #{r\ 3765}#
- #{w\ 3766}#
- #{s*\ 3767}#
- #{mod\ 3768}#)
- ((lambda (#{tmp\ 3774}#)
- ((lambda (#{tmp\ 3775}#)
- (if (if #{tmp\ 3775}#
- (apply (lambda (#{e\
3777}#)
- (#{id?\ 666}#
- #{e\
3777}#))
- #{tmp\ 3775}#)
+ (#{value\ 15991}#
+ (cons #{head\ 15985}#
+ #{tail\ 15986}#)
+ #{r\ 15943}#
+ #{w\ 15944}#))
+ (lambda (#{e\ 16006}#
+ #{r\ 16007}#
+ #{w\ 16008}#
+ #{s*\ 16009}#
+ #{mod\ 16010}#)
+ ((lambda (#{tmp\ 16016}#)
+ ((lambda (#{tmp\ 16017}#)
+ (if (if #{tmp\ 16017}#
+ (apply (lambda (#{e\
16019}#)
+ (#{id?\
12916}#
+ #{e\
16019}#))
+ #{tmp\ 16017}#)
#f)
- (apply (lambda (#{e\
3779}#)
-
(#{build-global-assignment\ 602}#
- #{s\ 3703}#
+ (apply (lambda (#{e\
16021}#)
+
(#{build-global-assignment\ 12852}#
+ #{s\ 15945}#
(syntax->datum
- #{e\ 3779}#)
- #{val\ 3762}#
- #{mod\ 3768}#))
- #{tmp\ 3775}#)
+ #{e\ 16021}#)
+ #{val\ 16004}#
+ #{mod\ 16010}#))
+ #{tmp\ 16017}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 3774}#)))
- (list #{tmp\ 3774}#)))
- #{e\ 3764}#))))
- (#{build-application\ 588}#
- #{s\ 3703}#
- (#{chi\ 751}#
+ #{tmp\ 16016}#)))
+ (list #{tmp\ 16016}#)))
+ #{e\ 16006}#))))
+ (#{build-application\ 12838}#
+ #{s\ 15945}#
+ (#{chi\ 13001}#
(list '#(syntax-object
setter
((top)
@@ -9410,22 +10110,22 @@
(top)
(top)
(top))
- #("i3754"
- "i3755"
- "i3756"
- "i3757"
- "i3758"
- "i3759"))
+ #("i15996"
+ "i15997"
+ "i15998"
+ "i15999"
+ "i16000"
+ "i16001"))
#(ribcage
#(_ head tail val)
#((top)
(top)
(top)
(top))
- #("i3738"
- "i3739"
- "i3740"
- "i3741"))
+ #("i15980"
+ "i15981"
+ "i15982"
+ "i15983"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
@@ -9434,11 +10134,11 @@
(top)
(top)
(top))
- #("i3705"
- "i3706"
- "i3707"
- "i3708"
- "i3709"))
+ #("i15947"
+ "i15948"
+ "i15949"
+ "i15950"
+ "i15951"))
#(ribcage
(lambda-var-list
gen-var
@@ -9556,6 +10256,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -9673,179 +10391,220 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
- ((top) (top))
- ("i467" "i465")))
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile))
- #{head\ 3743}#)
- #{r\ 3701}#
- #{w\ 3702}#
- #{mod\ 3704}#)
- (map (lambda (#{e\ 3781}#)
- (#{chi\ 751}#
- #{e\ 3781}#
- #{r\ 3701}#
- #{w\ 3702}#
- #{mod\ 3704}#))
+ #{head\ 15985}#)
+ #{r\ 15943}#
+ #{w\ 15944}#
+ #{mod\ 15946}#)
+ (map (lambda (#{e\ 16023}#)
+ (#{chi\ 13001}#
+ #{e\ 16023}#
+ #{r\ 15943}#
+ #{w\ 15944}#
+ #{mod\ 15946}#))
(append
- #{tail\ 3744}#
- (list #{val\ 3745}#))))))))
- #{tmp\ 3737}#)
- ((lambda (#{_\ 3785}#)
+ #{tail\ 15986}#
+ (list #{val\ 15987}#))))))))
+ #{tmp\ 15979}#)
+ ((lambda (#{_\ 16027}#)
(syntax-violation
'set!
"bad set!"
- (#{source-wrap\ 737}#
- #{e\ 3700}#
- #{w\ 3702}#
- #{s\ 3703}#
- #{mod\ 3704}#)))
- #{tmp\ 3710}#)))
+ (#{source-wrap\ 12987}#
+ #{e\ 15942}#
+ #{w\ 15944}#
+ #{s\ 15945}#
+ #{mod\ 15946}#)))
+ #{tmp\ 15952}#)))
($sc-dispatch
- #{tmp\ 3710}#
+ #{tmp\ 15952}#
'(any (any . each-any) any)))))
($sc-dispatch
- #{tmp\ 3710}#
+ #{tmp\ 15952}#
'(any any any))))
- #{e\ 3700}#)))
- (#{global-extend\ 662}#
+ #{e\ 15942}#)))
+ (#{global-extend\ 12912}#
'module-ref
'@
- (lambda (#{e\ 3786}# #{r\ 3787}# #{w\ 3788}#)
- ((lambda (#{tmp\ 3792}#)
- ((lambda (#{tmp\ 3793}#)
- (if (if #{tmp\ 3793}#
- (apply (lambda (#{_\ 3797}# #{mod\ 3798}# #{id\ 3799}#)
- (if (and-map #{id?\ 666}# #{mod\ 3798}#)
- (#{id?\ 666}# #{id\ 3799}#)
+ (lambda (#{e\ 16028}# #{r\ 16029}# #{w\ 16030}#)
+ ((lambda (#{tmp\ 16034}#)
+ ((lambda (#{tmp\ 16035}#)
+ (if (if #{tmp\ 16035}#
+ (apply (lambda (#{_\ 16039}#
+ #{mod\ 16040}#
+ #{id\ 16041}#)
+ (if (and-map #{id?\ 12916}# #{mod\ 16040}#)
+ (#{id?\ 12916}# #{id\ 16041}#)
#f))
- #{tmp\ 3793}#)
+ #{tmp\ 16035}#)
#f)
- (apply (lambda (#{_\ 3806}# #{mod\ 3807}# #{id\ 3808}#)
+ (apply (lambda (#{_\ 16048}# #{mod\ 16049}# #{id\ 16050}#)
(values
- (syntax->datum #{id\ 3808}#)
- #{r\ 3787}#
- #{w\ 3788}#
+ (syntax->datum #{id\ 16050}#)
+ #{r\ 16029}#
+ #{w\ 16030}#
#f
(syntax->datum
(cons '#(syntax-object
@@ -9854,12 +10613,12 @@
#(ribcage
#(_ mod id)
#((top) (top) (top))
- #("i3803" "i3804" "i3805"))
+ #("i16045" "i16046" "i16047"))
#(ribcage () () ())
#(ribcage
#(e r w)
#((top) (top) (top))
- #("i3789" "i3790" "i3791"))
+ #("i16031" "i16032" "i16033"))
#(ribcage
(lambda-var-list
gen-var
@@ -9977,6 +10736,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -10094,194 +10871,233 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
- (define-structure and-map*)
- ((top) (top))
- ("i467" "i465")))
+ (define-structure
+ define-expansion-constructors
+ and-map*)
+ ((top) (top) (top))
+ ("i12629" "i12628" "i12626")))
(hygiene guile))
- #{mod\ 3807}#))))
- #{tmp\ 3793}#)
+ #{mod\ 16049}#))))
+ #{tmp\ 16035}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 3792}#)))
+ #{tmp\ 16034}#)))
($sc-dispatch
- #{tmp\ 3792}#
+ #{tmp\ 16034}#
'(any each-any any))))
- #{e\ 3786}#)))
- (#{global-extend\ 662}#
+ #{e\ 16028}#)))
+ (#{global-extend\ 12912}#
'module-ref
'@@
- (lambda (#{e\ 3810}# #{r\ 3811}# #{w\ 3812}#)
- (letrec ((#{remodulate\ 3817}#
- (lambda (#{x\ 3818}# #{mod\ 3819}#)
- (if (pair? #{x\ 3818}#)
- (cons (#{remodulate\ 3817}#
- (car #{x\ 3818}#)
- #{mod\ 3819}#)
- (#{remodulate\ 3817}#
- (cdr #{x\ 3818}#)
- #{mod\ 3819}#))
- (if (#{syntax-object?\ 630}# #{x\ 3818}#)
- (#{make-syntax-object\ 628}#
- (#{remodulate\ 3817}#
- (#{syntax-object-expression\ 632}# #{x\ 3818}#)
- #{mod\ 3819}#)
- (#{syntax-object-wrap\ 634}# #{x\ 3818}#)
- #{mod\ 3819}#)
- (if (vector? #{x\ 3818}#)
- (let ((#{n\ 3830}# (vector-length #{x\ 3818}#)))
- (let ((#{v\ 3832}# (make-vector #{n\ 3830}#)))
- (letrec ((#{loop\ 3835}#
- (lambda (#{i\ 3836}#)
- (if (#{fx=\ 571}#
- #{i\ 3836}#
- #{n\ 3830}#)
- (begin (if #f #f) #{v\ 3832}#)
+ (lambda (#{e\ 16052}# #{r\ 16053}# #{w\ 16054}#)
+ (letrec ((#{remodulate\ 16059}#
+ (lambda (#{x\ 16060}# #{mod\ 16061}#)
+ (if (pair? #{x\ 16060}#)
+ (cons (#{remodulate\ 16059}#
+ (car #{x\ 16060}#)
+ #{mod\ 16061}#)
+ (#{remodulate\ 16059}#
+ (cdr #{x\ 16060}#)
+ #{mod\ 16061}#))
+ (if (#{syntax-object?\ 12880}# #{x\ 16060}#)
+ (#{make-syntax-object\ 12878}#
+ (#{remodulate\ 16059}#
+ (#{syntax-object-expression\ 12882}#
+ #{x\ 16060}#)
+ #{mod\ 16061}#)
+ (#{syntax-object-wrap\ 12884}# #{x\ 16060}#)
+ #{mod\ 16061}#)
+ (if (vector? #{x\ 16060}#)
+ (let ((#{n\ 16072}# (vector-length #{x\ 16060}#)))
+ (let ((#{v\ 16074}# (make-vector #{n\ 16072}#)))
+ (letrec ((#{loop\ 16077}#
+ (lambda (#{i\ 16078}#)
+ (if (#{fx=\ 12821}#
+ #{i\ 16078}#
+ #{n\ 16072}#)
+ (begin (if #f #f) #{v\ 16074}#)
(begin
(vector-set!
- #{v\ 3832}#
- #{i\ 3836}#
- (#{remodulate\ 3817}#
+ #{v\ 16074}#
+ #{i\ 16078}#
+ (#{remodulate\ 16059}#
(vector-ref
- #{x\ 3818}#
- #{i\ 3836}#)
- #{mod\ 3819}#))
- (#{loop\ 3835}#
- (#{fx+\ 567}#
- #{i\ 3836}#
+ #{x\ 16060}#
+ #{i\ 16078}#)
+ #{mod\ 16061}#))
+ (#{loop\ 16077}#
+ (#{fx+\ 12817}#
+ #{i\ 16078}#
1)))))))
- (#{loop\ 3835}# 0))))
- #{x\ 3818}#))))))
- ((lambda (#{tmp\ 3840}#)
- ((lambda (#{tmp\ 3841}#)
- (if (if #{tmp\ 3841}#
- (apply (lambda (#{_\ 3845}#
- #{mod\ 3846}#
- #{exp\ 3847}#)
- (and-map #{id?\ 666}# #{mod\ 3846}#))
- #{tmp\ 3841}#)
+ (#{loop\ 16077}# 0))))
+ #{x\ 16060}#))))))
+ ((lambda (#{tmp\ 16082}#)
+ ((lambda (#{tmp\ 16083}#)
+ (if (if #{tmp\ 16083}#
+ (apply (lambda (#{_\ 16087}#
+ #{mod\ 16088}#
+ #{exp\ 16089}#)
+ (and-map #{id?\ 12916}# #{mod\ 16088}#))
+ #{tmp\ 16083}#)
#f)
- (apply (lambda (#{_\ 3852}# #{mod\ 3853}# #{exp\ 3854}#)
- (let ((#{mod\ 3856}#
+ (apply (lambda (#{_\ 16094}# #{mod\ 16095}# #{exp\ 16096}#)
+ (let ((#{mod\ 16098}#
(syntax->datum
(cons '#(syntax-object
private
@@ -10289,15 +11105,19 @@
#(ribcage
#(_ mod exp)
#((top) (top) (top))
- #("i3849" "i3850" "i3851"))
+ #("i16091"
+ "i16092"
+ "i16093"))
#(ribcage
(remodulate)
((top))
- ("i3816"))
+ ("i16058"))
#(ribcage
#(e r w)
#((top) (top) (top))
- #("i3813" "i3814" "i3815"))
+ #("i16055"
+ "i16056"
+ "i16057"))
#(ribcage
(lambda-var-list
gen-var
@@ -10415,6 +11235,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+ make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+ make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -10532,312 +11370,353 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
- (define-structure and-map*)
- ((top) (top))
- ("i467" "i465")))
+ (define-structure
+
define-expansion-constructors
+ and-map*)
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile))
- #{mod\ 3853}#))))
+ #{mod\ 16095}#))))
(values
- (#{remodulate\ 3817}#
- #{exp\ 3854}#
- #{mod\ 3856}#)
- #{r\ 3811}#
- #{w\ 3812}#
- (#{source-annotation\ 645}# #{exp\ 3854}#)
- #{mod\ 3856}#)))
- #{tmp\ 3841}#)
+ (#{remodulate\ 16059}#
+ #{exp\ 16096}#
+ #{mod\ 16098}#)
+ #{r\ 16053}#
+ #{w\ 16054}#
+ (#{source-annotation\ 12895}# #{exp\ 16096}#)
+ #{mod\ 16098}#)))
+ #{tmp\ 16083}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 3840}#)))
+ #{tmp\ 16082}#)))
($sc-dispatch
- #{tmp\ 3840}#
+ #{tmp\ 16082}#
'(any each-any any))))
- #{e\ 3810}#))))
- (#{global-extend\ 662}#
+ #{e\ 16052}#))))
+ (#{global-extend\ 12912}#
'core
'if
- (lambda (#{e\ 3858}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{s\ 3861}#
- #{mod\ 3862}#)
- ((lambda (#{tmp\ 3868}#)
- ((lambda (#{tmp\ 3869}#)
- (if #{tmp\ 3869}#
- (apply (lambda (#{_\ 3873}# #{test\ 3874}# #{then\ 3875}#)
- (#{build-conditional\ 590}#
- #{s\ 3861}#
- (#{chi\ 751}#
- #{test\ 3874}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{mod\ 3862}#)
- (#{chi\ 751}#
- #{then\ 3875}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{mod\ 3862}#)
- (#{build-void\ 586}# #f)))
- #{tmp\ 3869}#)
- ((lambda (#{tmp\ 3877}#)
- (if #{tmp\ 3877}#
- (apply (lambda (#{_\ 3882}#
- #{test\ 3883}#
- #{then\ 3884}#
- #{else\ 3885}#)
- (#{build-conditional\ 590}#
- #{s\ 3861}#
- (#{chi\ 751}#
- #{test\ 3883}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{mod\ 3862}#)
- (#{chi\ 751}#
- #{then\ 3884}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{mod\ 3862}#)
- (#{chi\ 751}#
- #{else\ 3885}#
- #{r\ 3859}#
- #{w\ 3860}#
- #{mod\ 3862}#)))
- #{tmp\ 3877}#)
+ (lambda (#{e\ 16100}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{s\ 16103}#
+ #{mod\ 16104}#)
+ ((lambda (#{tmp\ 16110}#)
+ ((lambda (#{tmp\ 16111}#)
+ (if #{tmp\ 16111}#
+ (apply (lambda (#{_\ 16115}# #{test\ 16116}# #{then\ 16117}#)
+ (#{build-conditional\ 12840}#
+ #{s\ 16103}#
+ (#{chi\ 13001}#
+ #{test\ 16116}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{mod\ 16104}#)
+ (#{chi\ 13001}#
+ #{then\ 16117}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{mod\ 16104}#)
+ (#{build-void\ 12836}# #f)))
+ #{tmp\ 16111}#)
+ ((lambda (#{tmp\ 16119}#)
+ (if #{tmp\ 16119}#
+ (apply (lambda (#{_\ 16124}#
+ #{test\ 16125}#
+ #{then\ 16126}#
+ #{else\ 16127}#)
+ (#{build-conditional\ 12840}#
+ #{s\ 16103}#
+ (#{chi\ 13001}#
+ #{test\ 16125}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{mod\ 16104}#)
+ (#{chi\ 13001}#
+ #{then\ 16126}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{mod\ 16104}#)
+ (#{chi\ 13001}#
+ #{else\ 16127}#
+ #{r\ 16101}#
+ #{w\ 16102}#
+ #{mod\ 16104}#)))
+ #{tmp\ 16119}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 3868}#)))
+ #{tmp\ 16110}#)))
($sc-dispatch
- #{tmp\ 3868}#
+ #{tmp\ 16110}#
'(any any any any)))))
($sc-dispatch
- #{tmp\ 3868}#
+ #{tmp\ 16110}#
'(any any any))))
- #{e\ 3858}#)))
- (#{global-extend\ 662}#
+ #{e\ 16100}#)))
+ (#{global-extend\ 12912}#
'core
'with-fluids
- (lambda (#{e\ 3886}#
- #{r\ 3887}#
- #{w\ 3888}#
- #{s\ 3889}#
- #{mod\ 3890}#)
- ((lambda (#{tmp\ 3896}#)
- ((lambda (#{tmp\ 3897}#)
- (if #{tmp\ 3897}#
- (apply (lambda (#{_\ 3903}#
- #{fluid\ 3904}#
- #{val\ 3905}#
- #{b\ 3906}#
- #{b*\ 3907}#)
- (#{build-dynlet\ 592}#
- #{s\ 3889}#
- (map (lambda (#{x\ 3908}#)
- (#{chi\ 751}#
- #{x\ 3908}#
- #{r\ 3887}#
- #{w\ 3888}#
- #{mod\ 3890}#))
- #{fluid\ 3904}#)
- (map (lambda (#{x\ 3911}#)
- (#{chi\ 751}#
- #{x\ 3911}#
- #{r\ 3887}#
- #{w\ 3888}#
- #{mod\ 3890}#))
- #{val\ 3905}#)
- (#{chi-body\ 759}#
- (cons #{b\ 3906}# #{b*\ 3907}#)
- (#{source-wrap\ 737}#
- #{e\ 3886}#
- #{w\ 3888}#
- #{s\ 3889}#
- #{mod\ 3890}#)
- #{r\ 3887}#
- #{w\ 3888}#
- #{mod\ 3890}#)))
- #{tmp\ 3897}#)
+ (lambda (#{e\ 16128}#
+ #{r\ 16129}#
+ #{w\ 16130}#
+ #{s\ 16131}#
+ #{mod\ 16132}#)
+ ((lambda (#{tmp\ 16138}#)
+ ((lambda (#{tmp\ 16139}#)
+ (if #{tmp\ 16139}#
+ (apply (lambda (#{_\ 16145}#
+ #{fluid\ 16146}#
+ #{val\ 16147}#
+ #{b\ 16148}#
+ #{b*\ 16149}#)
+ (#{build-dynlet\ 12842}#
+ #{s\ 16131}#
+ (map (lambda (#{x\ 16150}#)
+ (#{chi\ 13001}#
+ #{x\ 16150}#
+ #{r\ 16129}#
+ #{w\ 16130}#
+ #{mod\ 16132}#))
+ #{fluid\ 16146}#)
+ (map (lambda (#{x\ 16153}#)
+ (#{chi\ 13001}#
+ #{x\ 16153}#
+ #{r\ 16129}#
+ #{w\ 16130}#
+ #{mod\ 16132}#))
+ #{val\ 16147}#)
+ (#{chi-body\ 13009}#
+ (cons #{b\ 16148}# #{b*\ 16149}#)
+ (#{source-wrap\ 12987}#
+ #{e\ 16128}#
+ #{w\ 16130}#
+ #{s\ 16131}#
+ #{mod\ 16132}#)
+ #{r\ 16129}#
+ #{w\ 16130}#
+ #{mod\ 16132}#)))
+ #{tmp\ 16139}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 3896}#)))
+ #{tmp\ 16138}#)))
($sc-dispatch
- #{tmp\ 3896}#
+ #{tmp\ 16138}#
'(any #(each (any any)) any . each-any))))
- #{e\ 3886}#)))
- (#{global-extend\ 662}#
+ #{e\ 16128}#)))
+ (#{global-extend\ 12912}#
'begin
'begin
'())
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'define
'define
'())
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'define-syntax
'define-syntax
'())
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'eval-when
'eval-when
'())
- (#{global-extend\ 662}#
+ (#{global-extend\ 12912}#
'core
'syntax-case
- (letrec ((#{gen-syntax-case\ 3922}#
- (lambda (#{x\ 3923}#
- #{keys\ 3924}#
- #{clauses\ 3925}#
- #{r\ 3926}#
- #{mod\ 3927}#)
- (if (null? #{clauses\ 3925}#)
- (#{build-application\ 588}#
+ (letrec ((#{gen-syntax-case\ 16164}#
+ (lambda (#{x\ 16165}#
+ #{keys\ 16166}#
+ #{clauses\ 16167}#
+ #{r\ 16168}#
+ #{mod\ 16169}#)
+ (if (null? #{clauses\ 16167}#)
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'syntax-violation)
- (list (#{build-data\ 616}# #f #f)
- (#{build-data\ 616}#
+ (list (#{build-data\ 12866}# #f #f)
+ (#{build-data\ 12866}#
#f
"source expression failed to match any
pattern")
- #{x\ 3923}#))
- ((lambda (#{tmp\ 3937}#)
- ((lambda (#{tmp\ 3938}#)
- (if #{tmp\ 3938}#
- (apply (lambda (#{pat\ 3941}# #{exp\ 3942}#)
- (if (if (#{id?\ 666}# #{pat\ 3941}#)
+ #{x\ 16165}#))
+ ((lambda (#{tmp\ 16179}#)
+ ((lambda (#{tmp\ 16180}#)
+ (if #{tmp\ 16180}#
+ (apply (lambda (#{pat\ 16183}# #{exp\ 16184}#)
+ (if (if (#{id?\ 12916}# #{pat\ 16183}#)
(and-map
- (lambda (#{x\ 3945}#)
- (not (#{free-id=?\ 725}#
- #{pat\ 3941}#
- #{x\ 3945}#)))
+ (lambda (#{x\ 16187}#)
+ (not (#{free-id=?\ 12975}#
+ #{pat\ 16183}#
+ #{x\ 16187}#)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
- #("i3939" "i3940"))
+ #("i16181"
+ "i16182"))
#(ribcage () () ())
#(ribcage
#(x
@@ -10850,11 +11729,11 @@
(top)
(top)
(top))
- #("i3928"
- "i3929"
- "i3930"
- "i3931"
- "i3932"))
+ #("i16170"
+ "i16171"
+ "i16172"
+ "i16173"
+ "i16174"))
#(ribcage
(gen-syntax-case
gen-clause
@@ -10864,10 +11743,10 @@
(top)
(top)
(top))
- ("i3921"
- "i3919"
- "i3917"
- "i3915"))
+ ("i16163"
+ "i16161"
+ "i16159"
+ "i16157"))
#(ribcage
(lambda-var-list
gen-var
@@ -10985,6 +11864,24 @@
fx=
fx-
fx+
+ make-dynlet
+ make-letrec
+ make-let
+ make-lambda-case
+ make-lambda
+ make-sequence
+ make-application
+ make-conditional
+
make-toplevel-define
+ make-toplevel-set
+ make-toplevel-ref
+ make-module-set
+ make-module-ref
+ make-lexical-set
+ make-lexical-ref
+
make-primitive-ref
+ make-const
+ make-void
*mode*)
((top)
(top)
@@ -11102,1032 +11999,1081 @@
(top)
(top)
(top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
+ (top)
(top))
- ("i780"
- "i778"
- "i776"
- "i774"
- "i772"
- "i770"
- "i768"
- "i766"
- "i764"
- "i762"
- "i760"
- "i758"
- "i756"
- "i754"
- "i752"
- "i750"
- "i748"
- "i746"
- "i744"
- "i742"
- "i740"
- "i738"
- "i736"
- "i734"
- "i732"
- "i730"
- "i728"
- "i726"
- "i724"
- "i722"
- "i720"
- "i718"
- "i716"
- "i714"
- "i712"
- "i710"
- "i709"
- "i708"
- "i706"
- "i705"
- "i704"
- "i703"
- "i702"
- "i700"
- "i698"
- "i696"
- "i694"
- "i692"
- "i690"
- "i688"
- "i686"
- "i683"
- "i681"
- "i680"
- "i679"
- "i678"
- "i677"
- "i676"
- "i674"
- "i672"
- "i670"
- "i668"
- "i667"
- "i665"
- "i663"
- "i661"
- "i659"
- "i657"
- "i655"
- "i653"
- "i652"
- "i650"
- "i648"
- "i647"
- "i646"
- "i644"
- "i643"
- "i641"
- "i639"
- "i637"
- "i635"
- "i633"
- "i631"
- "i629"
- "i627"
- "i625"
- "i623"
- "i621"
- "i619"
- "i617"
- "i615"
- "i613"
- "i611"
- "i609"
- "i607"
- "i605"
- "i603"
- "i601"
- "i599"
- "i597"
- "i595"
- "i593"
- "i591"
- "i589"
- "i587"
- "i585"
- "i583"
- "i581"
- "i579"
- "i578"
- "i576"
- "i574"
- "i572"
- "i570"
- "i568"
- "i566"
- "i564"))
+ ("i13030"
+ "i13028"
+ "i13026"
+ "i13024"
+ "i13022"
+ "i13020"
+ "i13018"
+ "i13016"
+ "i13014"
+ "i13012"
+ "i13010"
+ "i13008"
+ "i13006"
+ "i13004"
+ "i13002"
+ "i13000"
+ "i12998"
+ "i12996"
+ "i12994"
+ "i12992"
+ "i12990"
+ "i12988"
+ "i12986"
+ "i12984"
+ "i12982"
+ "i12980"
+ "i12978"
+ "i12976"
+ "i12974"
+ "i12972"
+ "i12970"
+ "i12968"
+ "i12966"
+ "i12964"
+ "i12962"
+ "i12960"
+ "i12959"
+ "i12958"
+ "i12956"
+ "i12955"
+ "i12954"
+ "i12953"
+ "i12952"
+ "i12950"
+ "i12948"
+ "i12946"
+ "i12944"
+ "i12942"
+ "i12940"
+ "i12938"
+ "i12936"
+ "i12933"
+ "i12931"
+ "i12930"
+ "i12929"
+ "i12928"
+ "i12927"
+ "i12926"
+ "i12924"
+ "i12922"
+ "i12920"
+ "i12918"
+ "i12917"
+ "i12915"
+ "i12913"
+ "i12911"
+ "i12909"
+ "i12907"
+ "i12905"
+ "i12903"
+ "i12902"
+ "i12900"
+ "i12898"
+ "i12897"
+ "i12896"
+ "i12894"
+ "i12893"
+ "i12891"
+ "i12889"
+ "i12887"
+ "i12885"
+ "i12883"
+ "i12881"
+ "i12879"
+ "i12877"
+ "i12875"
+ "i12873"
+ "i12871"
+ "i12869"
+ "i12867"
+ "i12865"
+ "i12863"
+ "i12861"
+ "i12859"
+ "i12857"
+ "i12855"
+ "i12853"
+ "i12851"
+ "i12849"
+ "i12847"
+ "i12845"
+ "i12843"
+ "i12841"
+ "i12839"
+ "i12837"
+ "i12835"
+ "i12833"
+ "i12831"
+ "i12829"
+ "i12828"
+ "i12826"
+ "i12824"
+ "i12822"
+ "i12820"
+ "i12818"
+ "i12816"
+ "i12814"
+ "i12812"
+ "i12810"
+ "i12808"
+ "i12806"
+ "i12804"
+ "i12802"
+ "i12800"
+ "i12798"
+ "i12796"
+ "i12794"
+ "i12792"
+ "i12790"
+ "i12788"
+ "i12786"
+ "i12784"
+ "i12782"
+ "i12780"
+ "i12777"))
#(ribcage
(define-structure
+
define-expansion-constructors
and-map*)
- ((top) (top))
- ("i467" "i465")))
+ ((top) (top) (top))
+ ("i12629"
+ "i12628"
+ "i12626")))
(hygiene guile))
- #{keys\ 3924}#))
+ #{keys\ 16166}#))
#f)
- (let ((#{labels\ 3949}#
- (list (#{gen-label\ 682}#)))
- (#{var\ 3950}#
- (#{gen-var\ 779}#
- #{pat\ 3941}#)))
- (#{build-application\ 588}#
+ (let ((#{labels\ 16191}#
+ (list (#{gen-label\
12932}#)))
+ (#{var\ 16192}#
+ (#{gen-var\ 13029}#
+ #{pat\ 16183}#)))
+ (#{build-application\ 12838}#
#f
- (#{build-simple-lambda\ 608}#
+ (#{build-simple-lambda\ 12858}#
#f
(list (syntax->datum
- #{pat\ 3941}#))
+ #{pat\ 16183}#))
#f
- (list #{var\ 3950}#)
+ (list #{var\ 16192}#)
'()
- (#{chi\ 751}#
- #{exp\ 3942}#
- (#{extend-env\ 654}#
- #{labels\ 3949}#
+ (#{chi\ 13001}#
+ #{exp\ 16184}#
+ (#{extend-env\ 12904}#
+ #{labels\ 16191}#
(list (cons 'syntax
- (cons #{var\
3950}#
+ (cons #{var\
16192}#
0)))
- #{r\ 3926}#)
- (#{make-binding-wrap\ 713}#
- (list #{pat\ 3941}#)
- #{labels\ 3949}#
+ #{r\ 16168}#)
+ (#{make-binding-wrap\ 12963}#
+ (list #{pat\ 16183}#)
+ #{labels\ 16191}#
'(()))
- #{mod\ 3927}#))
- (list #{x\ 3923}#)))
- (#{gen-clause\ 3920}#
- #{x\ 3923}#
- #{keys\ 3924}#
- (cdr #{clauses\ 3925}#)
- #{r\ 3926}#
- #{pat\ 3941}#
+ #{mod\ 16169}#))
+ (list #{x\ 16165}#)))
+ (#{gen-clause\ 16162}#
+ #{x\ 16165}#
+ #{keys\ 16166}#
+ (cdr #{clauses\ 16167}#)
+ #{r\ 16168}#
+ #{pat\ 16183}#
#t
- #{exp\ 3942}#
- #{mod\ 3927}#)))
- #{tmp\ 3938}#)
- ((lambda (#{tmp\ 3956}#)
- (if #{tmp\ 3956}#
- (apply (lambda (#{pat\ 3960}#
- #{fender\ 3961}#
- #{exp\ 3962}#)
- (#{gen-clause\ 3920}#
- #{x\ 3923}#
- #{keys\ 3924}#
- (cdr #{clauses\ 3925}#)
- #{r\ 3926}#
- #{pat\ 3960}#
- #{fender\ 3961}#
- #{exp\ 3962}#
- #{mod\ 3927}#))
- #{tmp\ 3956}#)
- ((lambda (#{_\ 3964}#)
+ #{exp\ 16184}#
+ #{mod\ 16169}#)))
+ #{tmp\ 16180}#)
+ ((lambda (#{tmp\ 16198}#)
+ (if #{tmp\ 16198}#
+ (apply (lambda (#{pat\ 16202}#
+ #{fender\ 16203}#
+ #{exp\ 16204}#)
+ (#{gen-clause\ 16162}#
+ #{x\ 16165}#
+ #{keys\ 16166}#
+ (cdr #{clauses\ 16167}#)
+ #{r\ 16168}#
+ #{pat\ 16202}#
+ #{fender\ 16203}#
+ #{exp\ 16204}#
+ #{mod\ 16169}#))
+ #{tmp\ 16198}#)
+ ((lambda (#{_\ 16206}#)
(syntax-violation
'syntax-case
"invalid clause"
- (car #{clauses\ 3925}#)))
- #{tmp\ 3937}#)))
+ (car #{clauses\ 16167}#)))
+ #{tmp\ 16179}#)))
($sc-dispatch
- #{tmp\ 3937}#
+ #{tmp\ 16179}#
'(any any any)))))
- ($sc-dispatch #{tmp\ 3937}# (quote (any any)))))
- (car #{clauses\ 3925}#)))))
- (#{gen-clause\ 3920}#
- (lambda (#{x\ 3965}#
- #{keys\ 3966}#
- #{clauses\ 3967}#
- #{r\ 3968}#
- #{pat\ 3969}#
- #{fender\ 3970}#
- #{exp\ 3971}#
- #{mod\ 3972}#)
+ ($sc-dispatch #{tmp\ 16179}# (quote (any any)))))
+ (car #{clauses\ 16167}#)))))
+ (#{gen-clause\ 16162}#
+ (lambda (#{x\ 16207}#
+ #{keys\ 16208}#
+ #{clauses\ 16209}#
+ #{r\ 16210}#
+ #{pat\ 16211}#
+ #{fender\ 16212}#
+ #{exp\ 16213}#
+ #{mod\ 16214}#)
(call-with-values
(lambda ()
- (#{convert-pattern\ 3916}#
- #{pat\ 3969}#
- #{keys\ 3966}#))
- (lambda (#{p\ 3981}# #{pvars\ 3982}#)
- (if (not (#{distinct-bound-ids?\ 731}#
- (map car #{pvars\ 3982}#)))
+ (#{convert-pattern\ 16158}#
+ #{pat\ 16211}#
+ #{keys\ 16208}#))
+ (lambda (#{p\ 16223}# #{pvars\ 16224}#)
+ (if (not (#{distinct-bound-ids?\ 12981}#
+ (map car #{pvars\ 16224}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
- #{pat\ 3969}#)
+ #{pat\ 16211}#)
(if (not (and-map
- (lambda (#{x\ 3989}#)
- (not (#{ellipsis?\ 767}#
- (car #{x\ 3989}#))))
- #{pvars\ 3982}#))
+ (lambda (#{x\ 16231}#)
+ (not (#{ellipsis?\ 13017}#
+ (car #{x\ 16231}#))))
+ #{pvars\ 16224}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
- #{pat\ 3969}#)
- (let ((#{y\ 3993}#
- (#{gen-var\ 779}# (quote tmp))))
- (#{build-application\ 588}#
+ #{pat\ 16211}#)
+ (let ((#{y\ 16235}#
+ (#{gen-var\ 13029}# (quote tmp))))
+ (#{build-application\ 12838}#
#f
- (#{build-simple-lambda\ 608}#
+ (#{build-simple-lambda\ 12858}#
#f
(list (quote tmp))
#f
- (list #{y\ 3993}#)
+ (list #{y\ 16235}#)
'()
- (let ((#{y\ 3997}#
- (#{build-lexical-reference\ 594}#
+ (let ((#{y\ 16239}#
+ (#{build-lexical-reference\ 12844}#
'value
#f
'tmp
- #{y\ 3993}#)))
- (#{build-conditional\ 590}#
+ #{y\ 16235}#)))
+ (#{build-conditional\ 12840}#
#f
- ((lambda (#{tmp\ 4000}#)
- ((lambda (#{tmp\ 4001}#)
- (if #{tmp\ 4001}#
- (apply (lambda () #{y\ 3997}#)
- #{tmp\ 4001}#)
- ((lambda (#{_\ 4003}#)
- (#{build-conditional\ 590}#
+ ((lambda (#{tmp\ 16242}#)
+ ((lambda (#{tmp\ 16243}#)
+ (if #{tmp\ 16243}#
+ (apply (lambda () #{y\ 16239}#)
+ #{tmp\ 16243}#)
+ ((lambda (#{_\ 16245}#)
+ (#{build-conditional\ 12840}#
#f
- #{y\ 3997}#
- (#{build-dispatch-call\
3918}#
- #{pvars\ 3982}#
- #{fender\ 3970}#
- #{y\ 3997}#
- #{r\ 3968}#
- #{mod\ 3972}#)
- (#{build-data\ 616}#
+ #{y\ 16239}#
+ (#{build-dispatch-call\
16160}#
+ #{pvars\ 16224}#
+ #{fender\ 16212}#
+ #{y\ 16239}#
+ #{r\ 16210}#
+ #{mod\ 16214}#)
+ (#{build-data\ 12866}#
#f
#f)))
- #{tmp\ 4000}#)))
+ #{tmp\ 16242}#)))
($sc-dispatch
- #{tmp\ 4000}#
+ #{tmp\ 16242}#
'#(atom #t))))
- #{fender\ 3970}#)
- (#{build-dispatch-call\ 3918}#
- #{pvars\ 3982}#
- #{exp\ 3971}#
- #{y\ 3997}#
- #{r\ 3968}#
- #{mod\ 3972}#)
- (#{gen-syntax-case\ 3922}#
- #{x\ 3965}#
- #{keys\ 3966}#
- #{clauses\ 3967}#
- #{r\ 3968}#
- #{mod\ 3972}#))))
- (list (if (eq? #{p\ 3981}# (quote any))
- (#{build-application\ 588}#
+ #{fender\ 16212}#)
+ (#{build-dispatch-call\ 16160}#
+ #{pvars\ 16224}#
+ #{exp\ 16213}#
+ #{y\ 16239}#
+ #{r\ 16210}#
+ #{mod\ 16214}#)
+ (#{gen-syntax-case\ 16164}#
+ #{x\ 16207}#
+ #{keys\ 16208}#
+ #{clauses\ 16209}#
+ #{r\ 16210}#
+ #{mod\ 16214}#))))
+ (list (if (eq? #{p\ 16223}# (quote any))
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'list)
- (list #{x\ 3965}#))
- (#{build-application\ 588}#
+ (list #{x\ 16207}#))
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}#
+ (#{build-primref\ 12864}#
#f
'$sc-dispatch)
- (list #{x\ 3965}#
- (#{build-data\ 616}#
+ (list #{x\ 16207}#
+ (#{build-data\ 12866}#
#f
- #{p\ 3981}#)))))))))))))
- (#{build-dispatch-call\ 3918}#
- (lambda (#{pvars\ 4011}#
- #{exp\ 4012}#
- #{y\ 4013}#
- #{r\ 4014}#
- #{mod\ 4015}#)
- (let ((#{ids\ 4023}# (map car #{pvars\ 4011}#))
- (#{levels\ 4024}# (map cdr #{pvars\ 4011}#)))
- (let ((#{labels\ 4027}#
- (#{gen-labels\ 684}# #{ids\ 4023}#))
- (#{new-vars\ 4028}#
- (map #{gen-var\ 779}# #{ids\ 4023}#)))
- (#{build-application\ 588}#
+ #{p\ 16223}#)))))))))))))
+ (#{build-dispatch-call\ 16160}#
+ (lambda (#{pvars\ 16253}#
+ #{exp\ 16254}#
+ #{y\ 16255}#
+ #{r\ 16256}#
+ #{mod\ 16257}#)
+ (let ((#{ids\ 16265}# (map car #{pvars\ 16253}#))
+ (#{levels\ 16266}# (map cdr #{pvars\ 16253}#)))
+ (let ((#{labels\ 16269}#
+ (#{gen-labels\ 12934}# #{ids\ 16265}#))
+ (#{new-vars\ 16270}#
+ (map #{gen-var\ 13029}# #{ids\ 16265}#)))
+ (#{build-application\ 12838}#
#f
- (#{build-primref\ 614}# #f (quote apply))
- (list (#{build-simple-lambda\ 608}#
+ (#{build-primref\ 12864}# #f (quote apply))
+ (list (#{build-simple-lambda\ 12858}#
#f
- (map syntax->datum #{ids\ 4023}#)
+ (map syntax->datum #{ids\ 16265}#)
#f
- #{new-vars\ 4028}#
+ #{new-vars\ 16270}#
'()
- (#{chi\ 751}#
- #{exp\ 4012}#
- (#{extend-env\ 654}#
- #{labels\ 4027}#
- (map (lambda (#{var\ 4032}#
- #{level\ 4033}#)
+ (#{chi\ 13001}#
+ #{exp\ 16254}#
+ (#{extend-env\ 12904}#
+ #{labels\ 16269}#
+ (map (lambda (#{var\ 16274}#
+ #{level\ 16275}#)
(cons 'syntax
- (cons #{var\ 4032}#
- #{level\ 4033}#)))
- #{new-vars\ 4028}#
- (map cdr #{pvars\ 4011}#))
- #{r\ 4014}#)
- (#{make-binding-wrap\ 713}#
- #{ids\ 4023}#
- #{labels\ 4027}#
+ (cons #{var\ 16274}#
+ #{level\ 16275}#)))
+ #{new-vars\ 16270}#
+ (map cdr #{pvars\ 16253}#))
+ #{r\ 16256}#)
+ (#{make-binding-wrap\ 12963}#
+ #{ids\ 16265}#
+ #{labels\ 16269}#
'(()))
- #{mod\ 4015}#))
- #{y\ 4013}#))))))
- (#{convert-pattern\ 3916}#
- (lambda (#{pattern\ 4039}# #{keys\ 4040}#)
- (letrec ((#{cvt\ 4046}#
- (lambda (#{p\ 4047}# #{n\ 4048}# #{ids\ 4049}#)
- (if (#{id?\ 666}# #{p\ 4047}#)
- (if (#{bound-id-member?\ 733}#
- #{p\ 4047}#
- #{keys\ 4040}#)
+ #{mod\ 16257}#))
+ #{y\ 16255}#))))))
+ (#{convert-pattern\ 16158}#
+ (lambda (#{pattern\ 16281}# #{keys\ 16282}#)
+ (letrec ((#{cvt\ 16288}#
+ (lambda (#{p\ 16289}#
+ #{n\ 16290}#
+ #{ids\ 16291}#)
+ (if (#{id?\ 12916}# #{p\ 16289}#)
+ (if (#{bound-id-member?\ 12983}#
+ #{p\ 16289}#
+ #{keys\ 16282}#)
(values
- (vector (quote free-id) #{p\ 4047}#)
- #{ids\ 4049}#)
+ (vector (quote free-id) #{p\ 16289}#)
+ #{ids\ 16291}#)
(values
'any
- (cons (cons #{p\ 4047}# #{n\ 4048}#)
- #{ids\ 4049}#)))
- ((lambda (#{tmp\ 4053}#)
- ((lambda (#{tmp\ 4054}#)
- (if (if #{tmp\ 4054}#
- (apply (lambda (#{x\ 4057}#
- #{dots\ 4058}#)
- (#{ellipsis?\ 767}#
- #{dots\ 4058}#))
- #{tmp\ 4054}#)
+ (cons (cons #{p\ 16289}# #{n\ 16290}#)
+ #{ids\ 16291}#)))
+ ((lambda (#{tmp\ 16295}#)
+ ((lambda (#{tmp\ 16296}#)
+ (if (if #{tmp\ 16296}#
+ (apply (lambda (#{x\ 16299}#
+ #{dots\
16300}#)
+ (#{ellipsis?\ 13017}#
+ #{dots\ 16300}#))
+ #{tmp\ 16296}#)
#f)
- (apply (lambda (#{x\ 4061}#
- #{dots\ 4062}#)
+ (apply (lambda (#{x\ 16303}#
+ #{dots\ 16304}#)
(call-with-values
(lambda ()
- (#{cvt\ 4046}#
- #{x\ 4061}#
- (#{fx+\ 567}#
- #{n\ 4048}#
+ (#{cvt\ 16288}#
+ #{x\ 16303}#
+ (#{fx+\ 12817}#
+ #{n\ 16290}#
1)
- #{ids\ 4049}#))
- (lambda (#{p\ 4063}#
- #{ids\ 4064}#)
+ #{ids\ 16291}#))
+ (lambda (#{p\ 16305}#
+ #{ids\ 16306}#)
(values
- (if (eq? #{p\ 4063}#
+ (if (eq? #{p\
16305}#
'any)
'each-any
(vector
'each
- #{p\ 4063}#))
- #{ids\ 4064}#))))
- #{tmp\ 4054}#)
- ((lambda (#{tmp\ 4067}#)
- (if (if #{tmp\ 4067}#
- (apply (lambda (#{x\
4071}#
- #{dots\
4072}#
- #{ys\
4073}#)
- (#{ellipsis?\
767}#
- #{dots\
4072}#))
- #{tmp\ 4067}#)
+ #{p\ 16305}#))
+ #{ids\ 16306}#))))
+ #{tmp\ 16296}#)
+ ((lambda (#{tmp\ 16309}#)
+ (if (if #{tmp\ 16309}#
+ (apply (lambda (#{x\
16313}#
+ #{dots\
16314}#
+ #{ys\
16315}#)
+ (#{ellipsis?\
13017}#
+ #{dots\
16314}#))
+ #{tmp\ 16309}#)
#f)
- (apply (lambda (#{x\ 4077}#
- #{dots\ 4078}#
- #{ys\ 4079}#)
+ (apply (lambda (#{x\ 16319}#
+ #{dots\
16320}#
+ #{ys\ 16321}#)
(call-with-values
(lambda ()
- (#{cvt*\ 4044}#
- #{ys\ 4079}#
- #{n\ 4048}#
- #{ids\ 4049}#))
- (lambda (#{ys\
4081}#
- #{ids\
4082}#)
+ (#{cvt*\ 16286}#
+ #{ys\ 16321}#
+ #{n\ 16290}#
+ #{ids\
16291}#))
+ (lambda (#{ys\
16323}#
+ #{ids\
16324}#)
(call-with-values
(lambda ()
- (#{cvt\
4046}#
- #{x\ 4077}#
- (+ #{n\
4048}#
+ (#{cvt\
16288}#
+ #{x\
16319}#
+ (+ #{n\
16290}#
1)
- #{ids\
4082}#))
- (lambda (#{x\
4085}#
-
#{ids\ 4086}#)
+ #{ids\
16324}#))
+ (lambda (#{x\
16327}#
+
#{ids\ 16328}#)
(values
(list->vector
(cons
'each+
-
(cons #{x\ 4085}#
+
(cons #{x\ 16327}#
(cons (reverse
-
#{ys\ 4081}#)
+
#{ys\ 16323}#)
'(())))))
- #{ids\
4086}#))))))
- #{tmp\ 4067}#)
- ((lambda (#{tmp\ 4090}#)
- (if #{tmp\ 4090}#
- (apply (lambda (#{x\
4093}#
- #{y\
4094}#)
+ #{ids\
16328}#))))))
+ #{tmp\ 16309}#)
+ ((lambda (#{tmp\ 16332}#)
+ (if #{tmp\ 16332}#
+ (apply (lambda (#{x\
16335}#
+ #{y\
16336}#)
(call-with-values
(lambda ()
- (#{cvt\
4046}#
- #{y\
4094}#
- #{n\
4048}#
- #{ids\
4049}#))
- (lambda (#{y\
4095}#
-
#{ids\ 4096}#)
+ (#{cvt\
16288}#
+ #{y\
16336}#
+ #{n\
16290}#
+ #{ids\
16291}#))
+ (lambda (#{y\
16337}#
+
#{ids\ 16338}#)
(call-with-values
(lambda ()
- (#{cvt\
4046}#
- #{x\
4093}#
- #{n\
4048}#
-
#{ids\ 4096}#))
- (lambda
(#{x\ 4099}#
-
#{ids\ 4100}#)
+ (#{cvt\
16288}#
+ #{x\
16335}#
+ #{n\
16290}#
+
#{ids\ 16338}#))
+ (lambda
(#{x\ 16341}#
+
#{ids\ 16342}#)
(values
- (cons
#{x\ 4099}#
-
#{y\ 4095}#)
-
#{ids\ 4100}#))))))
- #{tmp\ 4090}#)
- ((lambda (#{tmp\ 4103}#)
- (if #{tmp\ 4103}#
+ (cons
#{x\ 16341}#
+
#{y\ 16337}#)
+
#{ids\ 16342}#))))))
+ #{tmp\ 16332}#)
+ ((lambda (#{tmp\ 16345}#)
+ (if #{tmp\ 16345}#
(apply (lambda ()
(values
'()
- #{ids\
4049}#))
- #{tmp\
4103}#)
- ((lambda (#{tmp\
4104}#)
- (if #{tmp\ 4104}#
- (apply (lambda
(#{x\ 4106}#)
+ #{ids\
16291}#))
+ #{tmp\
16345}#)
+ ((lambda (#{tmp\
16346}#)
+ (if #{tmp\
16346}#
+ (apply (lambda
(#{x\ 16348}#)
(call-with-values
(lambda ()
-
(#{cvt\ 4046}#
-
#{x\ 4106}#
-
#{n\ 4048}#
-
#{ids\ 4049}#))
-
(lambda (#{p\ 4108}#
-
#{ids\ 4109}#)
+
(#{cvt\ 16288}#
+
#{x\ 16348}#
+
#{n\ 16290}#
+
#{ids\ 16291}#))
+
(lambda (#{p\ 16350}#
+
#{ids\ 16351}#)
(values
(vector
'vector
-
#{p\ 4108}#)
-
#{ids\ 4109}#))))
- #{tmp\
4104}#)
- ((lambda (#{x\
4113}#)
+
#{p\ 16350}#)
+
#{ids\ 16351}#))))
+ #{tmp\
16346}#)
+ ((lambda (#{x\
16355}#)
(values
(vector
'atom
-
(#{strip\ 777}#
- #{p\
4047}#
+
(#{strip\ 13027}#
+ #{p\
16289}#
'(())))
- #{ids\
4049}#))
- #{tmp\
4053}#)))
+ #{ids\
16291}#))
+ #{tmp\
16295}#)))
($sc-dispatch
- #{tmp\ 4053}#
+ #{tmp\ 16295}#
'#(vector
each-any)))))
($sc-dispatch
- #{tmp\ 4053}#
+ #{tmp\ 16295}#
'()))))
($sc-dispatch
- #{tmp\ 4053}#
+ #{tmp\ 16295}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 4053}#
+ #{tmp\ 16295}#
'(any any . each-any)))))
($sc-dispatch
- #{tmp\ 4053}#
+ #{tmp\ 16295}#
'(any any))))
- #{p\ 4047}#))))
- (#{cvt*\ 4044}#
- (lambda (#{p*\ 4115}#
- #{n\ 4116}#
- #{ids\ 4117}#)
- (if (null? #{p*\ 4115}#)
- (values (quote ()) #{ids\ 4117}#)
+ #{p\ 16289}#))))
+ (#{cvt*\ 16286}#
+ (lambda (#{p*\ 16357}#
+ #{n\ 16358}#
+ #{ids\ 16359}#)
+ (if (null? #{p*\ 16357}#)
+ (values (quote ()) #{ids\ 16359}#)
(call-with-values
(lambda ()
- (#{cvt*\ 4044}#
- (cdr #{p*\ 4115}#)
- #{n\ 4116}#
- #{ids\ 4117}#))
- (lambda (#{y\ 4121}# #{ids\ 4122}#)
+ (#{cvt*\ 16286}#
+ (cdr #{p*\ 16357}#)
+ #{n\ 16358}#
+ #{ids\ 16359}#))
+ (lambda (#{y\ 16363}# #{ids\ 16364}#)
(call-with-values
(lambda ()
- (#{cvt\ 4046}#
- (car #{p*\ 4115}#)
- #{n\ 4116}#
- #{ids\ 4122}#))
- (lambda (#{x\ 4125}# #{ids\ 4126}#)
+ (#{cvt\ 16288}#
+ (car #{p*\ 16357}#)
+ #{n\ 16358}#
+ #{ids\ 16364}#))
+ (lambda (#{x\ 16367}# #{ids\ 16368}#)
(values
- (cons #{x\ 4125}# #{y\ 4121}#)
- #{ids\ 4126}#)))))))))
- (#{cvt\ 4046}# #{pattern\ 4039}# 0 (quote ()))))))
- (lambda (#{e\ 4129}#
- #{r\ 4130}#
- #{w\ 4131}#
- #{s\ 4132}#
- #{mod\ 4133}#)
- (let ((#{e\ 4140}#
- (#{source-wrap\ 737}#
- #{e\ 4129}#
- #{w\ 4131}#
- #{s\ 4132}#
- #{mod\ 4133}#)))
- ((lambda (#{tmp\ 4141}#)
- ((lambda (#{tmp\ 4142}#)
- (if #{tmp\ 4142}#
- (apply (lambda (#{_\ 4147}#
- #{val\ 4148}#
- #{key\ 4149}#
- #{m\ 4150}#)
+ (cons #{x\ 16367}# #{y\ 16363}#)
+ #{ids\ 16368}#)))))))))
+ (#{cvt\ 16288}# #{pattern\ 16281}# 0 (quote ()))))))
+ (lambda (#{e\ 16371}#
+ #{r\ 16372}#
+ #{w\ 16373}#
+ #{s\ 16374}#
+ #{mod\ 16375}#)
+ (let ((#{e\ 16382}#
+ (#{source-wrap\ 12987}#
+ #{e\ 16371}#
+ #{w\ 16373}#
+ #{s\ 16374}#
+ #{mod\ 16375}#)))
+ ((lambda (#{tmp\ 16383}#)
+ ((lambda (#{tmp\ 16384}#)
+ (if #{tmp\ 16384}#
+ (apply (lambda (#{_\ 16389}#
+ #{val\ 16390}#
+ #{key\ 16391}#
+ #{m\ 16392}#)
(if (and-map
- (lambda (#{x\ 4151}#)
- (if (#{id?\ 666}# #{x\ 4151}#)
- (not (#{ellipsis?\ 767}# #{x\ 4151}#))
+ (lambda (#{x\ 16393}#)
+ (if (#{id?\ 12916}# #{x\ 16393}#)
+ (not (#{ellipsis?\ 13017}#
+ #{x\ 16393}#))
#f))
- #{key\ 4149}#)
- (let ((#{x\ 4157}#
- (#{gen-var\ 779}# (quote tmp))))
- (#{build-application\ 588}#
- #{s\ 4132}#
- (#{build-simple-lambda\ 608}#
+ #{key\ 16391}#)
+ (let ((#{x\ 16399}#
+ (#{gen-var\ 13029}# (quote tmp))))
+ (#{build-application\ 12838}#
+ #{s\ 16374}#
+ (#{build-simple-lambda\ 12858}#
#f
(list (quote tmp))
#f
- (list #{x\ 4157}#)
+ (list #{x\ 16399}#)
'()
- (#{gen-syntax-case\ 3922}#
- (#{build-lexical-reference\ 594}#
+ (#{gen-syntax-case\ 16164}#
+ (#{build-lexical-reference\ 12844}#
'value
#f
'tmp
- #{x\ 4157}#)
- #{key\ 4149}#
- #{m\ 4150}#
- #{r\ 4130}#
- #{mod\ 4133}#))
- (list (#{chi\ 751}#
- #{val\ 4148}#
- #{r\ 4130}#
+ #{x\ 16399}#)
+ #{key\ 16391}#
+ #{m\ 16392}#
+ #{r\ 16372}#
+ #{mod\ 16375}#))
+ (list (#{chi\ 13001}#
+ #{val\ 16390}#
+ #{r\ 16372}#
'(())
- #{mod\ 4133}#))))
+ #{mod\ 16375}#))))
(syntax-violation
'syntax-case
"invalid literals list"
- #{e\ 4140}#)))
- #{tmp\ 4142}#)
+ #{e\ 16382}#)))
+ #{tmp\ 16384}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4141}#)))
+ #{tmp\ 16383}#)))
($sc-dispatch
- #{tmp\ 4141}#
+ #{tmp\ 16383}#
'(any any each-any . each-any))))
- #{e\ 4140}#)))))
+ #{e\ 16382}#)))))
(set! macroexpand
- (lambda (#{x\ 4163}# . #{rest\ 4164}#)
- (let ((#{m\ 4170}#
- (if (null? #{rest\ 4164}#)
+ (lambda (#{x\ 16405}# . #{rest\ 16406}#)
+ (let ((#{m\ 16412}#
+ (if (null? #{rest\ 16406}#)
'e
- (car #{rest\ 4164}#)))
- (#{esew\ 4171}#
- (if (let ((#{t\ 4175}# (null? #{rest\ 4164}#)))
- (if #{t\ 4175}#
- #{t\ 4175}#
- (null? (cdr #{rest\ 4164}#))))
+ (car #{rest\ 16406}#)))
+ (#{esew\ 16413}#
+ (if (let ((#{t\ 16417}# (null? #{rest\ 16406}#)))
+ (if #{t\ 16417}#
+ #{t\ 16417}#
+ (null? (cdr #{rest\ 16406}#))))
'(eval)
- (cadr #{rest\ 4164}#)))
- (#{mod\ 4172}#
+ (cadr #{rest\ 16406}#)))
+ (#{mod\ 16414}#
(cons 'hygiene
(module-name (current-module)))))
(with-fluids
- ((#{*mode*\ 565}# #{m\ 4170}#))
- (if (eq? #{m\ 4170}# (quote e))
+ ((#{*mode*\ 12778}# #{m\ 16412}#))
+ (if (eq? #{m\ 16412}# (quote e))
(memoize-expression
- (#{chi-top\ 749}#
- #{x\ 4163}#
+ (#{chi-top\ 12999}#
+ #{x\ 16405}#
'()
'((top))
- #{m\ 4170}#
- #{esew\ 4171}#
- #{mod\ 4172}#))
- (#{chi-top\ 749}#
- #{x\ 4163}#
+ #{m\ 16412}#
+ #{esew\ 16413}#
+ #{mod\ 16414}#))
+ (#{chi-top\ 12999}#
+ #{x\ 16405}#
'()
'((top))
- #{m\ 4170}#
- #{esew\ 4171}#
- #{mod\ 4172}#))))))
+ #{m\ 16412}#
+ #{esew\ 16413}#
+ #{mod\ 16414}#))))))
(set! identifier?
- (lambda (#{x\ 4181}#)
- (#{nonsymbol-id?\ 664}# #{x\ 4181}#)))
+ (lambda (#{x\ 16423}#)
+ (#{nonsymbol-id?\ 12914}# #{x\ 16423}#)))
(set! datum->syntax
- (lambda (#{id\ 4183}# #{datum\ 4184}#)
- (#{make-syntax-object\ 628}#
- #{datum\ 4184}#
- (#{syntax-object-wrap\ 634}# #{id\ 4183}#)
+ (lambda (#{id\ 16425}# #{datum\ 16426}#)
+ (#{make-syntax-object\ 12878}#
+ #{datum\ 16426}#
+ (#{syntax-object-wrap\ 12884}# #{id\ 16425}#)
#f)))
(set! syntax->datum
- (lambda (#{x\ 4187}#)
- (#{strip\ 777}# #{x\ 4187}# (quote (())))))
+ (lambda (#{x\ 16429}#)
+ (#{strip\ 13027}# #{x\ 16429}# (quote (())))))
(set! generate-temporaries
- (lambda (#{ls\ 4190}#)
+ (lambda (#{ls\ 16432}#)
(begin
- (let ((#{x\ 4194}# #{ls\ 4190}#))
- (if (not (list? #{x\ 4194}#))
+ (let ((#{x\ 16436}# #{ls\ 16432}#))
+ (if (not (list? #{x\ 16436}#))
(syntax-violation
'generate-temporaries
"invalid argument"
- #{x\ 4194}#)))
- (map (lambda (#{x\ 4195}#)
- (#{wrap\ 735}# (gensym) (quote ((top))) #f))
- #{ls\ 4190}#))))
+ #{x\ 16436}#)))
+ (map (lambda (#{x\ 16437}#)
+ (#{wrap\ 12985}# (gensym) (quote ((top))) #f))
+ #{ls\ 16432}#))))
(set! free-identifier=?
- (lambda (#{x\ 4199}# #{y\ 4200}#)
+ (lambda (#{x\ 16441}# #{y\ 16442}#)
(begin
- (let ((#{x\ 4205}# #{x\ 4199}#))
- (if (not (#{nonsymbol-id?\ 664}# #{x\ 4205}#))
+ (let ((#{x\ 16447}# #{x\ 16441}#))
+ (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16447}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 4205}#)))
- (let ((#{x\ 4208}# #{y\ 4200}#))
- (if (not (#{nonsymbol-id?\ 664}# #{x\ 4208}#))
+ #{x\ 16447}#)))
+ (let ((#{x\ 16450}# #{y\ 16442}#))
+ (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16450}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 4208}#)))
- (#{free-id=?\ 725}# #{x\ 4199}# #{y\ 4200}#))))
+ #{x\ 16450}#)))
+ (#{free-id=?\ 12975}# #{x\ 16441}# #{y\ 16442}#))))
(set! bound-identifier=?
- (lambda (#{x\ 4209}# #{y\ 4210}#)
+ (lambda (#{x\ 16451}# #{y\ 16452}#)
(begin
- (let ((#{x\ 4215}# #{x\ 4209}#))
- (if (not (#{nonsymbol-id?\ 664}# #{x\ 4215}#))
+ (let ((#{x\ 16457}# #{x\ 16451}#))
+ (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16457}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 4215}#)))
- (let ((#{x\ 4218}# #{y\ 4210}#))
- (if (not (#{nonsymbol-id?\ 664}# #{x\ 4218}#))
+ #{x\ 16457}#)))
+ (let ((#{x\ 16460}# #{y\ 16452}#))
+ (if (not (#{nonsymbol-id?\ 12914}# #{x\ 16460}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 4218}#)))
- (#{bound-id=?\ 727}# #{x\ 4209}# #{y\ 4210}#))))
+ #{x\ 16460}#)))
+ (#{bound-id=?\ 12977}# #{x\ 16451}# #{y\ 16452}#))))
(set! syntax-violation
- (lambda (#{who\ 4219}#
- #{message\ 4220}#
- #{form\ 4221}#
+ (lambda (#{who\ 16461}#
+ #{message\ 16462}#
+ #{form\ 16463}#
.
- #{subform\ 4222}#)
+ #{subform\ 16464}#)
(begin
- (let ((#{x\ 4229}# #{who\ 4219}#))
- (if (not ((lambda (#{x\ 4230}#)
- (let ((#{t\ 4234}# (not #{x\ 4230}#)))
- (if #{t\ 4234}#
- #{t\ 4234}#
- (let ((#{t\ 4237}# (string? #{x\ 4230}#)))
- (if #{t\ 4237}#
- #{t\ 4237}#
- (symbol? #{x\ 4230}#))))))
- #{x\ 4229}#))
+ (let ((#{x\ 16471}# #{who\ 16461}#))
+ (if (not ((lambda (#{x\ 16472}#)
+ (let ((#{t\ 16476}# (not #{x\ 16472}#)))
+ (if #{t\ 16476}#
+ #{t\ 16476}#
+ (let ((#{t\ 16479}# (string? #{x\ 16472}#)))
+ (if #{t\ 16479}#
+ #{t\ 16479}#
+ (symbol? #{x\ 16472}#))))))
+ #{x\ 16471}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 4229}#)))
- (let ((#{x\ 4241}# #{message\ 4220}#))
- (if (not (string? #{x\ 4241}#))
+ #{x\ 16471}#)))
+ (let ((#{x\ 16483}# #{message\ 16462}#))
+ (if (not (string? #{x\ 16483}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 4241}#)))
+ #{x\ 16483}#)))
(scm-error
'syntax-error
'macroexpand
(string-append
- (if #{who\ 4219}# "~a: " "")
+ (if #{who\ 16461}# "~a: " "")
"~a "
- (if (null? #{subform\ 4222}#)
+ (if (null? #{subform\ 16464}#)
"in ~a"
"in subform `~s' of `~s'"))
- (let ((#{tail\ 4243}#
- (cons #{message\ 4220}#
- (map (lambda (#{x\ 4244}#)
- (#{strip\ 777}# #{x\ 4244}# (quote (()))))
+ (let ((#{tail\ 16485}#
+ (cons #{message\ 16462}#
+ (map (lambda (#{x\ 16486}#)
+ (#{strip\ 13027}#
+ #{x\ 16486}#
+ '(())))
(append
- #{subform\ 4222}#
- (list #{form\ 4221}#))))))
- (if #{who\ 4219}#
- (cons #{who\ 4219}# #{tail\ 4243}#)
- #{tail\ 4243}#))
+ #{subform\ 16464}#
+ (list #{form\ 16463}#))))))
+ (if #{who\ 16461}#
+ (cons #{who\ 16461}# #{tail\ 16485}#)
+ #{tail\ 16485}#))
#f))))
- (letrec ((#{match\ 4260}#
- (lambda (#{e\ 4261}#
- #{p\ 4262}#
- #{w\ 4263}#
- #{r\ 4264}#
- #{mod\ 4265}#)
- (if (not #{r\ 4264}#)
+ (letrec ((#{match\ 16502}#
+ (lambda (#{e\ 16503}#
+ #{p\ 16504}#
+ #{w\ 16505}#
+ #{r\ 16506}#
+ #{mod\ 16507}#)
+ (if (not #{r\ 16506}#)
#f
- (if (eq? #{p\ 4262}# (quote any))
- (cons (#{wrap\ 735}#
- #{e\ 4261}#
- #{w\ 4263}#
- #{mod\ 4265}#)
- #{r\ 4264}#)
- (if (#{syntax-object?\ 630}# #{e\ 4261}#)
- (#{match*\ 4258}#
- (#{syntax-object-expression\ 632}# #{e\ 4261}#)
- #{p\ 4262}#
- (#{join-wraps\ 717}#
- #{w\ 4263}#
- (#{syntax-object-wrap\ 634}# #{e\ 4261}#))
- #{r\ 4264}#
- (#{syntax-object-module\ 636}# #{e\ 4261}#))
- (#{match*\ 4258}#
- #{e\ 4261}#
- #{p\ 4262}#
- #{w\ 4263}#
- #{r\ 4264}#
- #{mod\ 4265}#))))))
- (#{match*\ 4258}#
- (lambda (#{e\ 4278}#
- #{p\ 4279}#
- #{w\ 4280}#
- #{r\ 4281}#
- #{mod\ 4282}#)
- (if (null? #{p\ 4279}#)
- (if (null? #{e\ 4278}#) #{r\ 4281}# #f)
- (if (pair? #{p\ 4279}#)
- (if (pair? #{e\ 4278}#)
- (#{match\ 4260}#
- (car #{e\ 4278}#)
- (car #{p\ 4279}#)
- #{w\ 4280}#
- (#{match\ 4260}#
- (cdr #{e\ 4278}#)
- (cdr #{p\ 4279}#)
- #{w\ 4280}#
- #{r\ 4281}#
- #{mod\ 4282}#)
- #{mod\ 4282}#)
+ (if (eq? #{p\ 16504}# (quote any))
+ (cons (#{wrap\ 12985}#
+ #{e\ 16503}#
+ #{w\ 16505}#
+ #{mod\ 16507}#)
+ #{r\ 16506}#)
+ (if (#{syntax-object?\ 12880}# #{e\ 16503}#)
+ (#{match*\ 16500}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 16503}#)
+ #{p\ 16504}#
+ (#{join-wraps\ 12967}#
+ #{w\ 16505}#
+ (#{syntax-object-wrap\ 12884}# #{e\ 16503}#))
+ #{r\ 16506}#
+ (#{syntax-object-module\ 12886}# #{e\ 16503}#))
+ (#{match*\ 16500}#
+ #{e\ 16503}#
+ #{p\ 16504}#
+ #{w\ 16505}#
+ #{r\ 16506}#
+ #{mod\ 16507}#))))))
+ (#{match*\ 16500}#
+ (lambda (#{e\ 16520}#
+ #{p\ 16521}#
+ #{w\ 16522}#
+ #{r\ 16523}#
+ #{mod\ 16524}#)
+ (if (null? #{p\ 16521}#)
+ (if (null? #{e\ 16520}#) #{r\ 16523}# #f)
+ (if (pair? #{p\ 16521}#)
+ (if (pair? #{e\ 16520}#)
+ (#{match\ 16502}#
+ (car #{e\ 16520}#)
+ (car #{p\ 16521}#)
+ #{w\ 16522}#
+ (#{match\ 16502}#
+ (cdr #{e\ 16520}#)
+ (cdr #{p\ 16521}#)
+ #{w\ 16522}#
+ #{r\ 16523}#
+ #{mod\ 16524}#)
+ #{mod\ 16524}#)
#f)
- (if (eq? #{p\ 4279}# (quote each-any))
- (let ((#{l\ 4299}#
- (#{match-each-any\ 4252}#
- #{e\ 4278}#
- #{w\ 4280}#
- #{mod\ 4282}#)))
- (if #{l\ 4299}#
- (cons #{l\ 4299}# #{r\ 4281}#)
+ (if (eq? #{p\ 16521}# (quote each-any))
+ (let ((#{l\ 16541}#
+ (#{match-each-any\ 16494}#
+ #{e\ 16520}#
+ #{w\ 16522}#
+ #{mod\ 16524}#)))
+ (if #{l\ 16541}#
+ (cons #{l\ 16541}# #{r\ 16523}#)
#f))
- (let ((#{atom-key\ 4305}# (vector-ref #{p\ 4279}# 0)))
- (if (memv #{atom-key\ 4305}# (quote (each)))
- (if (null? #{e\ 4278}#)
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4279}# 1)
- #{r\ 4281}#)
- (let ((#{l\ 4308}#
- (#{match-each\ 4248}#
- #{e\ 4278}#
- (vector-ref #{p\ 4279}# 1)
- #{w\ 4280}#
- #{mod\ 4282}#)))
- (if #{l\ 4308}#
- (letrec ((#{collect\ 4313}#
- (lambda (#{l\ 4314}#)
- (if (null? (car #{l\ 4314}#))
- #{r\ 4281}#
- (cons (map car #{l\ 4314}#)
- (#{collect\ 4313}#
+ (let ((#{atom-key\ 16547}#
+ (vector-ref #{p\ 16521}# 0)))
+ (if (memv #{atom-key\ 16547}# (quote (each)))
+ (if (null? #{e\ 16520}#)
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16521}# 1)
+ #{r\ 16523}#)
+ (let ((#{l\ 16550}#
+ (#{match-each\ 16490}#
+ #{e\ 16520}#
+ (vector-ref #{p\ 16521}# 1)
+ #{w\ 16522}#
+ #{mod\ 16524}#)))
+ (if #{l\ 16550}#
+ (letrec ((#{collect\ 16555}#
+ (lambda (#{l\ 16556}#)
+ (if (null? (car #{l\ 16556}#))
+ #{r\ 16523}#
+ (cons (map car #{l\ 16556}#)
+ (#{collect\ 16555}#
(map cdr
- #{l\
4314}#)))))))
- (#{collect\ 4313}# #{l\ 4308}#))
+ #{l\
16556}#)))))))
+ (#{collect\ 16555}# #{l\ 16550}#))
#f)))
- (if (memv #{atom-key\ 4305}# (quote (each+)))
+ (if (memv #{atom-key\ 16547}# (quote (each+)))
(call-with-values
(lambda ()
- (#{match-each+\ 4250}#
- #{e\ 4278}#
- (vector-ref #{p\ 4279}# 1)
- (vector-ref #{p\ 4279}# 2)
- (vector-ref #{p\ 4279}# 3)
- #{w\ 4280}#
- #{r\ 4281}#
- #{mod\ 4282}#))
- (lambda (#{xr*\ 4316}#
- #{y-pat\ 4317}#
- #{r\ 4318}#)
- (if #{r\ 4318}#
- (if (null? #{y-pat\ 4317}#)
- (if (null? #{xr*\ 4316}#)
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4279}# 1)
- #{r\ 4318}#)
- (#{combine\ 4256}#
- #{xr*\ 4316}#
- #{r\ 4318}#))
+ (#{match-each+\ 16492}#
+ #{e\ 16520}#
+ (vector-ref #{p\ 16521}# 1)
+ (vector-ref #{p\ 16521}# 2)
+ (vector-ref #{p\ 16521}# 3)
+ #{w\ 16522}#
+ #{r\ 16523}#
+ #{mod\ 16524}#))
+ (lambda (#{xr*\ 16558}#
+ #{y-pat\ 16559}#
+ #{r\ 16560}#)
+ (if #{r\ 16560}#
+ (if (null? #{y-pat\ 16559}#)
+ (if (null? #{xr*\ 16558}#)
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16521}# 1)
+ #{r\ 16560}#)
+ (#{combine\ 16498}#
+ #{xr*\ 16558}#
+ #{r\ 16560}#))
#f)
#f)))
- (if (memv #{atom-key\ 4305}# (quote (free-id)))
- (if (#{id?\ 666}# #{e\ 4278}#)
- (if (#{free-id=?\ 725}#
- (#{wrap\ 735}#
- #{e\ 4278}#
- #{w\ 4280}#
- #{mod\ 4282}#)
- (vector-ref #{p\ 4279}# 1))
- #{r\ 4281}#
+ (if (memv #{atom-key\ 16547}# (quote (free-id)))
+ (if (#{id?\ 12916}# #{e\ 16520}#)
+ (if (#{free-id=?\ 12975}#
+ (#{wrap\ 12985}#
+ #{e\ 16520}#
+ #{w\ 16522}#
+ #{mod\ 16524}#)
+ (vector-ref #{p\ 16521}# 1))
+ #{r\ 16523}#
#f)
#f)
- (if (memv #{atom-key\ 4305}# (quote (atom)))
+ (if (memv #{atom-key\ 16547}# (quote (atom)))
(if (equal?
- (vector-ref #{p\ 4279}# 1)
- (#{strip\ 777}#
- #{e\ 4278}#
- #{w\ 4280}#))
- #{r\ 4281}#
+ (vector-ref #{p\ 16521}# 1)
+ (#{strip\ 13027}#
+ #{e\ 16520}#
+ #{w\ 16522}#))
+ #{r\ 16523}#
#f)
- (if (memv #{atom-key\ 4305}#
+ (if (memv #{atom-key\ 16547}#
'(vector))
- (if (vector? #{e\ 4278}#)
- (#{match\ 4260}#
- (vector->list #{e\ 4278}#)
- (vector-ref #{p\ 4279}# 1)
- #{w\ 4280}#
- #{r\ 4281}#
- #{mod\ 4282}#)
+ (if (vector? #{e\ 16520}#)
+ (#{match\ 16502}#
+ (vector->list #{e\ 16520}#)
+ (vector-ref #{p\ 16521}# 1)
+ #{w\ 16522}#
+ #{r\ 16523}#
+ #{mod\ 16524}#)
#f))))))))))))
- (#{combine\ 4256}#
- (lambda (#{r*\ 4335}# #{r\ 4336}#)
- (if (null? (car #{r*\ 4335}#))
- #{r\ 4336}#
- (cons (map car #{r*\ 4335}#)
- (#{combine\ 4256}#
- (map cdr #{r*\ 4335}#)
- #{r\ 4336}#)))))
- (#{match-empty\ 4254}#
- (lambda (#{p\ 4339}# #{r\ 4340}#)
- (if (null? #{p\ 4339}#)
- #{r\ 4340}#
- (if (eq? #{p\ 4339}# (quote any))
- (cons (quote ()) #{r\ 4340}#)
- (if (pair? #{p\ 4339}#)
- (#{match-empty\ 4254}#
- (car #{p\ 4339}#)
- (#{match-empty\ 4254}#
- (cdr #{p\ 4339}#)
- #{r\ 4340}#))
- (if (eq? #{p\ 4339}# (quote each-any))
- (cons (quote ()) #{r\ 4340}#)
- (let ((#{atom-key\ 4354}#
- (vector-ref #{p\ 4339}# 0)))
- (if (memv #{atom-key\ 4354}# (quote (each)))
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4339}# 1)
- #{r\ 4340}#)
- (if (memv #{atom-key\ 4354}# (quote (each+)))
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4339}# 1)
- (#{match-empty\ 4254}#
- (reverse (vector-ref #{p\ 4339}# 2))
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4339}# 3)
- #{r\ 4340}#)))
- (if (memv #{atom-key\ 4354}#
+ (#{combine\ 16498}#
+ (lambda (#{r*\ 16577}# #{r\ 16578}#)
+ (if (null? (car #{r*\ 16577}#))
+ #{r\ 16578}#
+ (cons (map car #{r*\ 16577}#)
+ (#{combine\ 16498}#
+ (map cdr #{r*\ 16577}#)
+ #{r\ 16578}#)))))
+ (#{match-empty\ 16496}#
+ (lambda (#{p\ 16581}# #{r\ 16582}#)
+ (if (null? #{p\ 16581}#)
+ #{r\ 16582}#
+ (if (eq? #{p\ 16581}# (quote any))
+ (cons (quote ()) #{r\ 16582}#)
+ (if (pair? #{p\ 16581}#)
+ (#{match-empty\ 16496}#
+ (car #{p\ 16581}#)
+ (#{match-empty\ 16496}#
+ (cdr #{p\ 16581}#)
+ #{r\ 16582}#))
+ (if (eq? #{p\ 16581}# (quote each-any))
+ (cons (quote ()) #{r\ 16582}#)
+ (let ((#{atom-key\ 16596}#
+ (vector-ref #{p\ 16581}# 0)))
+ (if (memv #{atom-key\ 16596}# (quote (each)))
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16581}# 1)
+ #{r\ 16582}#)
+ (if (memv #{atom-key\ 16596}# (quote (each+)))
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16581}# 1)
+ (#{match-empty\ 16496}#
+ (reverse (vector-ref #{p\ 16581}# 2))
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16581}# 3)
+ #{r\ 16582}#)))
+ (if (memv #{atom-key\ 16596}#
'(free-id atom))
- #{r\ 4340}#
- (if (memv #{atom-key\ 4354}#
+ #{r\ 16582}#
+ (if (memv #{atom-key\ 16596}#
'(vector))
- (#{match-empty\ 4254}#
- (vector-ref #{p\ 4339}# 1)
- #{r\ 4340}#))))))))))))
- (#{match-each-any\ 4252}#
- (lambda (#{e\ 4359}# #{w\ 4360}# #{mod\ 4361}#)
- (if (pair? #{e\ 4359}#)
- (let ((#{l\ 4368}#
- (#{match-each-any\ 4252}#
- (cdr #{e\ 4359}#)
- #{w\ 4360}#
- #{mod\ 4361}#)))
- (if #{l\ 4368}#
- (cons (#{wrap\ 735}#
- (car #{e\ 4359}#)
- #{w\ 4360}#
- #{mod\ 4361}#)
- #{l\ 4368}#)
+ (#{match-empty\ 16496}#
+ (vector-ref #{p\ 16581}# 1)
+ #{r\ 16582}#))))))))))))
+ (#{match-each-any\ 16494}#
+ (lambda (#{e\ 16601}# #{w\ 16602}# #{mod\ 16603}#)
+ (if (pair? #{e\ 16601}#)
+ (let ((#{l\ 16610}#
+ (#{match-each-any\ 16494}#
+ (cdr #{e\ 16601}#)
+ #{w\ 16602}#
+ #{mod\ 16603}#)))
+ (if #{l\ 16610}#
+ (cons (#{wrap\ 12985}#
+ (car #{e\ 16601}#)
+ #{w\ 16602}#
+ #{mod\ 16603}#)
+ #{l\ 16610}#)
#f))
- (if (null? #{e\ 4359}#)
+ (if (null? #{e\ 16601}#)
'()
- (if (#{syntax-object?\ 630}# #{e\ 4359}#)
- (#{match-each-any\ 4252}#
- (#{syntax-object-expression\ 632}# #{e\ 4359}#)
- (#{join-wraps\ 717}#
- #{w\ 4360}#
- (#{syntax-object-wrap\ 634}# #{e\ 4359}#))
- #{mod\ 4361}#)
+ (if (#{syntax-object?\ 12880}# #{e\ 16601}#)
+ (#{match-each-any\ 16494}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 16601}#)
+ (#{join-wraps\ 12967}#
+ #{w\ 16602}#
+ (#{syntax-object-wrap\ 12884}# #{e\ 16601}#))
+ #{mod\ 16603}#)
#f)))))
- (#{match-each+\ 4250}#
- (lambda (#{e\ 4376}#
- #{x-pat\ 4377}#
- #{y-pat\ 4378}#
- #{z-pat\ 4379}#
- #{w\ 4380}#
- #{r\ 4381}#
- #{mod\ 4382}#)
- (letrec ((#{f\ 4393}#
- (lambda (#{e\ 4394}# #{w\ 4395}#)
- (if (pair? #{e\ 4394}#)
+ (#{match-each+\ 16492}#
+ (lambda (#{e\ 16618}#
+ #{x-pat\ 16619}#
+ #{y-pat\ 16620}#
+ #{z-pat\ 16621}#
+ #{w\ 16622}#
+ #{r\ 16623}#
+ #{mod\ 16624}#)
+ (letrec ((#{f\ 16635}#
+ (lambda (#{e\ 16636}# #{w\ 16637}#)
+ (if (pair? #{e\ 16636}#)
(call-with-values
(lambda ()
- (#{f\ 4393}#
- (cdr #{e\ 4394}#)
- #{w\ 4395}#))
- (lambda (#{xr*\ 4398}#
- #{y-pat\ 4399}#
- #{r\ 4400}#)
- (if #{r\ 4400}#
- (if (null? #{y-pat\ 4399}#)
- (let ((#{xr\ 4405}#
- (#{match\ 4260}#
- (car #{e\ 4394}#)
- #{x-pat\ 4377}#
- #{w\ 4395}#
+ (#{f\ 16635}#
+ (cdr #{e\ 16636}#)
+ #{w\ 16637}#))
+ (lambda (#{xr*\ 16640}#
+ #{y-pat\ 16641}#
+ #{r\ 16642}#)
+ (if #{r\ 16642}#
+ (if (null? #{y-pat\ 16641}#)
+ (let ((#{xr\ 16647}#
+ (#{match\ 16502}#
+ (car #{e\ 16636}#)
+ #{x-pat\ 16619}#
+ #{w\ 16637}#
'()
- #{mod\ 4382}#)))
- (if #{xr\ 4405}#
+ #{mod\ 16624}#)))
+ (if #{xr\ 16647}#
(values
- (cons #{xr\ 4405}#
- #{xr*\ 4398}#)
- #{y-pat\ 4399}#
- #{r\ 4400}#)
+ (cons #{xr\ 16647}#
+ #{xr*\ 16640}#)
+ #{y-pat\ 16641}#
+ #{r\ 16642}#)
(values #f #f #f)))
(values
'()
- (cdr #{y-pat\ 4399}#)
- (#{match\ 4260}#
- (car #{e\ 4394}#)
- (car #{y-pat\ 4399}#)
- #{w\ 4395}#
- #{r\ 4400}#
- #{mod\ 4382}#)))
+ (cdr #{y-pat\ 16641}#)
+ (#{match\ 16502}#
+ (car #{e\ 16636}#)
+ (car #{y-pat\ 16641}#)
+ #{w\ 16637}#
+ #{r\ 16642}#
+ #{mod\ 16624}#)))
(values #f #f #f))))
- (if (#{syntax-object?\ 630}# #{e\ 4394}#)
- (#{f\ 4393}#
- (#{syntax-object-expression\ 632}#
- #{e\ 4394}#)
- (#{join-wraps\ 717}#
- #{w\ 4395}#
- #{e\ 4394}#))
+ (if (#{syntax-object?\ 12880}# #{e\ 16636}#)
+ (#{f\ 16635}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 16636}#)
+ (#{join-wraps\ 12967}#
+ #{w\ 16637}#
+ #{e\ 16636}#))
(values
'()
- #{y-pat\ 4378}#
- (#{match\ 4260}#
- #{e\ 4394}#
- #{z-pat\ 4379}#
- #{w\ 4395}#
- #{r\ 4381}#
- #{mod\ 4382}#)))))))
- (#{f\ 4393}# #{e\ 4376}# #{w\ 4380}#))))
- (#{match-each\ 4248}#
- (lambda (#{e\ 4409}#
- #{p\ 4410}#
- #{w\ 4411}#
- #{mod\ 4412}#)
- (if (pair? #{e\ 4409}#)
- (let ((#{first\ 4420}#
- (#{match\ 4260}#
- (car #{e\ 4409}#)
- #{p\ 4410}#
- #{w\ 4411}#
+ #{y-pat\ 16620}#
+ (#{match\ 16502}#
+ #{e\ 16636}#
+ #{z-pat\ 16621}#
+ #{w\ 16637}#
+ #{r\ 16623}#
+ #{mod\ 16624}#)))))))
+ (#{f\ 16635}# #{e\ 16618}# #{w\ 16622}#))))
+ (#{match-each\ 16490}#
+ (lambda (#{e\ 16651}#
+ #{p\ 16652}#
+ #{w\ 16653}#
+ #{mod\ 16654}#)
+ (if (pair? #{e\ 16651}#)
+ (let ((#{first\ 16662}#
+ (#{match\ 16502}#
+ (car #{e\ 16651}#)
+ #{p\ 16652}#
+ #{w\ 16653}#
'()
- #{mod\ 4412}#)))
- (if #{first\ 4420}#
- (let ((#{rest\ 4424}#
- (#{match-each\ 4248}#
- (cdr #{e\ 4409}#)
- #{p\ 4410}#
- #{w\ 4411}#
- #{mod\ 4412}#)))
- (if #{rest\ 4424}#
- (cons #{first\ 4420}# #{rest\ 4424}#)
+ #{mod\ 16654}#)))
+ (if #{first\ 16662}#
+ (let ((#{rest\ 16666}#
+ (#{match-each\ 16490}#
+ (cdr #{e\ 16651}#)
+ #{p\ 16652}#
+ #{w\ 16653}#
+ #{mod\ 16654}#)))
+ (if #{rest\ 16666}#
+ (cons #{first\ 16662}# #{rest\ 16666}#)
#f))
#f))
- (if (null? #{e\ 4409}#)
+ (if (null? #{e\ 16651}#)
'()
- (if (#{syntax-object?\ 630}# #{e\ 4409}#)
- (#{match-each\ 4248}#
- (#{syntax-object-expression\ 632}# #{e\ 4409}#)
- #{p\ 4410}#
- (#{join-wraps\ 717}#
- #{w\ 4411}#
- (#{syntax-object-wrap\ 634}# #{e\ 4409}#))
- (#{syntax-object-module\ 636}# #{e\ 4409}#))
+ (if (#{syntax-object?\ 12880}# #{e\ 16651}#)
+ (#{match-each\ 16490}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 16651}#)
+ #{p\ 16652}#
+ (#{join-wraps\ 12967}#
+ #{w\ 16653}#
+ (#{syntax-object-wrap\ 12884}# #{e\ 16651}#))
+ (#{syntax-object-module\ 12886}# #{e\ 16651}#))
#f))))))
(set! $sc-dispatch
- (lambda (#{e\ 4432}# #{p\ 4433}#)
- (if (eq? #{p\ 4433}# (quote any))
- (list #{e\ 4432}#)
- (if (#{syntax-object?\ 630}# #{e\ 4432}#)
- (#{match*\ 4258}#
- (#{syntax-object-expression\ 632}# #{e\ 4432}#)
- #{p\ 4433}#
- (#{syntax-object-wrap\ 634}# #{e\ 4432}#)
+ (lambda (#{e\ 16674}# #{p\ 16675}#)
+ (if (eq? #{p\ 16675}# (quote any))
+ (list #{e\ 16674}#)
+ (if (#{syntax-object?\ 12880}# #{e\ 16674}#)
+ (#{match*\ 16500}#
+ (#{syntax-object-expression\ 12882}#
+ #{e\ 16674}#)
+ #{p\ 16675}#
+ (#{syntax-object-wrap\ 12884}# #{e\ 16674}#)
'()
- (#{syntax-object-module\ 636}# #{e\ 4432}#))
- (#{match*\ 4258}#
- #{e\ 4432}#
- #{p\ 4433}#
+ (#{syntax-object-module\ 12886}# #{e\ 16674}#))
+ (#{match*\ 16500}#
+ #{e\ 16674}#
+ #{p\ 16675}#
'(())
'()
#f)))))))))
@@ -12136,50 +13082,50 @@
(make-syntax-transformer
'with-syntax
'macro
- (cons (lambda (#{x\ 4442}#)
- ((lambda (#{tmp\ 4444}#)
- ((lambda (#{tmp\ 4445}#)
- (if #{tmp\ 4445}#
- (apply (lambda (#{_\ 4449}# #{e1\ 4450}# #{e2\ 4451}#)
+ (cons (lambda (#{x\ 16684}#)
+ ((lambda (#{tmp\ 16686}#)
+ ((lambda (#{tmp\ 16687}#)
+ (if #{tmp\ 16687}#
+ (apply (lambda (#{_\ 16691}# #{e1\ 16692}# #{e2\ 16693}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(_ e1 e2)
#((top) (top) (top))
- #("i4446" "i4447" "i4448"))
+ #("i16688" "i16689" "i16690"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4443")))
+ #(ribcage #(x) #((top)) #("i16685")))
(hygiene guile))
- (cons #{e1\ 4450}# #{e2\ 4451}#)))
- #{tmp\ 4445}#)
- ((lambda (#{tmp\ 4453}#)
- (if #{tmp\ 4453}#
- (apply (lambda (#{_\ 4459}#
- #{out\ 4460}#
- #{in\ 4461}#
- #{e1\ 4462}#
- #{e2\ 4463}#)
+ (cons #{e1\ 16692}# #{e2\ 16693}#)))
+ #{tmp\ 16687}#)
+ ((lambda (#{tmp\ 16695}#)
+ (if #{tmp\ 16695}#
+ (apply (lambda (#{_\ 16701}#
+ #{out\ 16702}#
+ #{in\ 16703}#
+ #{e1\ 16704}#
+ #{e2\ 16705}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ out in e1 e2)
#((top) (top) (top) (top) (top))
- #("i4454"
- "i4455"
- "i4456"
- "i4457"
- "i4458"))
+ #("i16696"
+ "i16697"
+ "i16698"
+ "i16699"
+ "i16700"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4443")))
+ #("i16685")))
(hygiene guile))
- #{in\ 4461}#
+ #{in\ 16703}#
'()
- (list #{out\ 4460}#
+ (list #{out\ 16702}#
(cons '#(syntax-object
begin
((top)
@@ -12190,27 +13136,27 @@
(top)
(top)
(top))
- #("i4454"
- "i4455"
- "i4456"
- "i4457"
- "i4458"))
+ #("i16696"
+ "i16697"
+ "i16698"
+ "i16699"
+ "i16700"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4443")))
+ #("i16685")))
(hygiene guile))
- (cons #{e1\ 4462}#
- #{e2\ 4463}#)))))
- #{tmp\ 4453}#)
- ((lambda (#{tmp\ 4465}#)
- (if #{tmp\ 4465}#
- (apply (lambda (#{_\ 4471}#
- #{out\ 4472}#
- #{in\ 4473}#
- #{e1\ 4474}#
- #{e2\ 4475}#)
+ (cons #{e1\ 16704}#
+ #{e2\ 16705}#)))))
+ #{tmp\ 16695}#)
+ ((lambda (#{tmp\ 16707}#)
+ (if #{tmp\ 16707}#
+ (apply (lambda (#{_\ 16713}#
+ #{out\ 16714}#
+ #{in\ 16715}#
+ #{e1\ 16716}#
+ #{e2\ 16717}#)
(list '#(syntax-object
syntax-case
((top)
@@ -12221,16 +13167,16 @@
(top)
(top)
(top))
- #("i4466"
- "i4467"
- "i4468"
- "i4469"
- "i4470"))
+ #("i16708"
+ "i16709"
+ "i16710"
+ "i16711"
+ "i16712"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4443")))
+ #("i16685")))
(hygiene guile))
(cons '#(syntax-object
list
@@ -12242,20 +13188,20 @@
(top)
(top)
(top))
- #("i4466"
- "i4467"
- "i4468"
- "i4469"
- "i4470"))
+ #("i16708"
+ "i16709"
+ "i16710"
+ "i16711"
+ "i16712"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4443")))
+ #("i16685")))
(hygiene guile))
- #{in\ 4473}#)
+ #{in\ 16715}#)
'()
- (list #{out\ 4472}#
+ (list #{out\ 16714}#
(cons '#(syntax-object
begin
((top)
@@ -12270,11 +13216,11 @@
(top)
(top)
(top))
- #("i4466"
- "i4467"
- "i4468"
- "i4469"
- "i4470"))
+ #("i16708"
+ "i16709"
+ "i16710"
+ "i16711"
+ "i16712"))
#(ribcage
()
()
@@ -12282,53 +13228,53 @@
#(ribcage
#(x)
#((top))
- #("i4443")))
+ #("i16685")))
(hygiene guile))
- (cons #{e1\ 4474}#
- #{e2\
4475}#)))))
- #{tmp\ 4465}#)
+ (cons #{e1\ 16716}#
+ #{e2\
16717}#)))))
+ #{tmp\ 16707}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4444}#)))
+ #{tmp\ 16686}#)))
($sc-dispatch
- #{tmp\ 4444}#
+ #{tmp\ 16686}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 4444}#
+ #{tmp\ 16686}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 4444}#
+ #{tmp\ 16686}#
'(any () any . each-any))))
- #{x\ 4442}#))
+ #{x\ 16684}#))
(module-name (current-module)))))
(define syntax-rules
(make-syntax-transformer
'syntax-rules
'macro
- (cons (lambda (#{x\ 4479}#)
- ((lambda (#{tmp\ 4481}#)
- ((lambda (#{tmp\ 4482}#)
- (if #{tmp\ 4482}#
- (apply (lambda (#{_\ 4488}#
- #{k\ 4489}#
- #{keyword\ 4490}#
- #{pattern\ 4491}#
- #{template\ 4492}#)
+ (cons (lambda (#{x\ 16721}#)
+ ((lambda (#{tmp\ 16723}#)
+ ((lambda (#{tmp\ 16724}#)
+ (if #{tmp\ 16724}#
+ (apply (lambda (#{_\ 16730}#
+ #{k\ 16731}#
+ #{keyword\ 16732}#
+ #{pattern\ 16733}#
+ #{template\ 16734}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4480")))
+ #(ribcage #(x) #((top)) #("i16722")))
(hygiene guile))
'(#(syntax-object
x
@@ -12336,13 +13282,13 @@
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4480")))
+ #(ribcage #(x) #((top)) #("i16722")))
(hygiene guile)))
(vector
'(#(syntax-object
@@ -12351,13 +13297,13 @@
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4480")))
+ #(ribcage #(x) #((top)) #("i16722")))
(hygiene guile))
.
#(syntax-object
@@ -12366,13 +13312,13 @@
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4480")))
+ #(ribcage #(x) #((top)) #("i16722")))
(hygiene guile)))
(cons '#(syntax-object
patterns
@@ -12388,34 +13334,34 @@
(top)
(top)
(top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4480")))
+ #("i16722")))
(hygiene guile))
- #{pattern\ 4491}#))
+ #{pattern\ 16733}#))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(_ k keyword pattern template)
#((top) (top) (top) (top) (top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4480")))
+ #("i16722")))
(hygiene guile))
(cons '#(syntax-object
x
@@ -12431,20 +13377,20 @@
(top)
(top)
(top))
- #("i4483"
- "i4484"
- "i4485"
- "i4486"
- "i4487"))
+ #("i16725"
+ "i16726"
+ "i16727"
+ "i16728"
+ "i16729"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4480")))
+ #("i16722")))
(hygiene guile))
- (cons #{k\ 4489}#
- (map (lambda (#{tmp\
4496}#
- #{tmp\
4495}#)
+ (cons #{k\ 16731}#
+ (map (lambda (#{tmp\
16738}#
+ #{tmp\
16737}#)
(list (cons
'#(syntax-object
dummy
((top)
@@ -12459,11 +13405,11 @@
(top)
(top)
(top))
-
#("i4483"
-
"i4484"
-
"i4485"
-
"i4486"
-
"i4487"))
+
#("i16725"
+
"i16726"
+
"i16727"
+
"i16728"
+
"i16729"))
#(ribcage
()
()
@@ -12471,10 +13417,10 @@
#(ribcage
#(x)
#((top))
-
#("i4480")))
+
#("i16722")))
(hygiene
guile))
- #{tmp\
4495}#)
+ #{tmp\
16737}#)
(list
'#(syntax-object
syntax
((top)
@@ -12489,11 +13435,11 @@
(top)
(top)
(top))
-
#("i4483"
-
"i4484"
-
"i4485"
-
"i4486"
-
"i4487"))
+
#("i16725"
+
"i16726"
+
"i16727"
+
"i16728"
+
"i16729"))
#(ribcage
()
()
@@ -12501,47 +13447,47 @@
#(ribcage
#(x)
#((top))
-
#("i4480")))
+
#("i16722")))
(hygiene
guile))
- #{tmp\
4496}#)))
- #{template\ 4492}#
- #{pattern\
4491}#))))))
- #{tmp\ 4482}#)
+ #{tmp\
16738}#)))
+ #{template\ 16734}#
+ #{pattern\
16733}#))))))
+ #{tmp\ 16724}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4481}#)))
+ #{tmp\ 16723}#)))
($sc-dispatch
- #{tmp\ 4481}#
+ #{tmp\ 16723}#
'(any each-any . #(each ((any . any) any))))))
- #{x\ 4479}#))
+ #{x\ 16721}#))
(module-name (current-module)))))
(define let*
(make-syntax-transformer
'let*
'macro
- (cons (lambda (#{x\ 4497}#)
- ((lambda (#{tmp\ 4499}#)
- ((lambda (#{tmp\ 4500}#)
- (if (if #{tmp\ 4500}#
- (apply (lambda (#{let*\ 4506}#
- #{x\ 4507}#
- #{v\ 4508}#
- #{e1\ 4509}#
- #{e2\ 4510}#)
- (and-map identifier? #{x\ 4507}#))
- #{tmp\ 4500}#)
+ (cons (lambda (#{x\ 16739}#)
+ ((lambda (#{tmp\ 16741}#)
+ ((lambda (#{tmp\ 16742}#)
+ (if (if #{tmp\ 16742}#
+ (apply (lambda (#{let*\ 16748}#
+ #{x\ 16749}#
+ #{v\ 16750}#
+ #{e1\ 16751}#
+ #{e2\ 16752}#)
+ (and-map identifier? #{x\ 16749}#))
+ #{tmp\ 16742}#)
#f)
- (apply (lambda (#{let*\ 4517}#
- #{x\ 4518}#
- #{v\ 4519}#
- #{e1\ 4520}#
- #{e2\ 4521}#)
- (letrec ((#{f\ 4524}#
- (lambda (#{bindings\ 4525}#)
- (if (null? #{bindings\ 4525}#)
+ (apply (lambda (#{let*\ 16759}#
+ #{x\ 16760}#
+ #{v\ 16761}#
+ #{e1\ 16762}#
+ #{e2\ 16763}#)
+ (letrec ((#{f\ 16766}#
+ (lambda (#{bindings\ 16767}#)
+ (if (null? #{bindings\ 16767}#)
(cons '#(syntax-object
let
((top)
@@ -12549,7 +13495,7 @@
#(ribcage
#(f bindings)
#((top) (top))
- #("i4522" "i4523"))
+ #("i16764" "i16765"))
#(ribcage
#(let* x v e1 e2)
#((top)
@@ -12557,25 +13503,25 @@
(top)
(top)
(top))
- #("i4512"
- "i4513"
- "i4514"
- "i4515"
- "i4516"))
+ #("i16754"
+ "i16755"
+ "i16756"
+ "i16757"
+ "i16758"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4498")))
+ #("i16740")))
(hygiene guile))
(cons '()
- (cons #{e1\ 4520}#
- #{e2\ 4521}#)))
- ((lambda (#{tmp\ 4530}#)
- ((lambda (#{tmp\ 4531}#)
- (if #{tmp\ 4531}#
- (apply (lambda (#{body\
4534}#
- #{binding\
4535}#)
+ (cons #{e1\ 16762}#
+ #{e2\ 16763}#)))
+ ((lambda (#{tmp\ 16772}#)
+ ((lambda (#{tmp\ 16773}#)
+ (if #{tmp\ 16773}#
+ (apply (lambda (#{body\
16776}#
+ #{binding\
16777}#)
(list
'#(syntax-object
let
((top)
@@ -12584,8 +13530,8 @@
binding)
#((top)
(top))
-
#("i4532"
-
"i4533"))
+
#("i16774"
+
"i16775"))
#(ribcage
()
()
@@ -12595,8 +13541,8 @@
bindings)
#((top)
(top))
-
#("i4522"
-
"i4523"))
+
#("i16764"
+
"i16765"))
#(ribcage
#(let*
x
@@ -12608,11 +13554,11 @@
(top)
(top)
(top))
-
#("i4512"
-
"i4513"
-
"i4514"
-
"i4515"
-
"i4516"))
+
#("i16754"
+
"i16755"
+
"i16756"
+
"i16757"
+
"i16758"))
#(ribcage
()
()
@@ -12620,57 +13566,57 @@
#(ribcage
#(x)
#((top))
-
#("i4498")))
+
#("i16740")))
(hygiene
guile))
- (list
#{binding\ 4535}#)
- #{body\
4534}#))
- #{tmp\ 4531}#)
+ (list
#{binding\ 16777}#)
+ #{body\
16776}#))
+ #{tmp\ 16773}#)
(syntax-violation
#f
"source expression
failed to match any pattern"
- #{tmp\ 4530}#)))
+ #{tmp\ 16772}#)))
($sc-dispatch
- #{tmp\ 4530}#
+ #{tmp\ 16772}#
'(any any))))
- (list (#{f\ 4524}#
- (cdr #{bindings\ 4525}#))
- (car #{bindings\
4525}#)))))))
- (#{f\ 4524}#
- (map list #{x\ 4518}# #{v\ 4519}#))))
- #{tmp\ 4500}#)
+ (list (#{f\ 16766}#
+ (cdr #{bindings\ 16767}#))
+ (car #{bindings\
16767}#)))))))
+ (#{f\ 16766}#
+ (map list #{x\ 16760}# #{v\ 16761}#))))
+ #{tmp\ 16742}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4499}#)))
+ #{tmp\ 16741}#)))
($sc-dispatch
- #{tmp\ 4499}#
+ #{tmp\ 16741}#
'(any #(each (any any)) any . each-any))))
- #{x\ 4497}#))
+ #{x\ 16739}#))
(module-name (current-module)))))
(define do
(make-syntax-transformer
'do
'macro
- (cons (lambda (#{orig-x\ 4536}#)
- ((lambda (#{tmp\ 4538}#)
- ((lambda (#{tmp\ 4539}#)
- (if #{tmp\ 4539}#
- (apply (lambda (#{_\ 4547}#
- #{var\ 4548}#
- #{init\ 4549}#
- #{step\ 4550}#
- #{e0\ 4551}#
- #{e1\ 4552}#
- #{c\ 4553}#)
- ((lambda (#{tmp\ 4555}#)
- ((lambda (#{tmp\ 4556}#)
- (if #{tmp\ 4556}#
- (apply (lambda (#{step\ 4558}#)
- ((lambda (#{tmp\ 4559}#)
- ((lambda (#{tmp\ 4560}#)
- (if #{tmp\ 4560}#
+ (cons (lambda (#{orig-x\ 16778}#)
+ ((lambda (#{tmp\ 16780}#)
+ ((lambda (#{tmp\ 16781}#)
+ (if #{tmp\ 16781}#
+ (apply (lambda (#{_\ 16789}#
+ #{var\ 16790}#
+ #{init\ 16791}#
+ #{step\ 16792}#
+ #{e0\ 16793}#
+ #{e1\ 16794}#
+ #{c\ 16795}#)
+ ((lambda (#{tmp\ 16797}#)
+ ((lambda (#{tmp\ 16798}#)
+ (if #{tmp\ 16798}#
+ (apply (lambda (#{step\ 16800}#)
+ ((lambda (#{tmp\ 16801}#)
+ ((lambda (#{tmp\ 16802}#)
+ (if #{tmp\ 16802}#
(apply (lambda ()
(list
'#(syntax-object
let
@@ -12678,7 +13624,7 @@
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12694,13 +13640,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12708,7 +13654,7 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
'#(syntax-object
@@ -12717,7 +13663,7 @@
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12733,13 +13679,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12747,19 +13693,19 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
(map list
-
#{var\ 4548}#
-
#{init\ 4549}#)
+
#{var\ 16790}#
+
#{init\ 16791}#)
(list
'#(syntax-object
if
((top)
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12775,13 +13721,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12789,7 +13735,7 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
(list '#(syntax-object
@@ -12798,7 +13744,7 @@
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12814,13 +13760,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12828,17 +13774,17 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
-
#{e0\ 4551}#)
+
#{e0\ 16793}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12854,13 +13800,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12868,18 +13814,18 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
(append
-
#{c\ 4553}#
+
#{c\ 16795}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12895,13 +13841,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12909,15 +13855,15 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
-
#{step\ 4558}#)))))))
- #{tmp\ 4560}#)
- ((lambda (#{tmp\ 4565}#)
- (if #{tmp\ 4565}#
- (apply (lambda
(#{e1\ 4568}#
-
#{e2\ 4569}#)
+
#{step\ 16800}#)))))))
+ #{tmp\ 16802}#)
+ ((lambda (#{tmp\ 16807}#)
+ (if #{tmp\ 16807}#
+ (apply (lambda
(#{e1\ 16810}#
+
#{e2\ 16811}#)
(list
'#(syntax-object
let
((top)
@@ -12926,12 +13872,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12947,13 +13893,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -12961,7 +13907,7 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
'#(syntax-object
@@ -12972,12 +13918,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -12993,13 +13939,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -13007,12 +13953,12 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
(map
list
-
#{var\ 4548}#
-
#{init\ 4549}#)
+
#{var\ 16790}#
+
#{init\ 16791}#)
(list '#(syntax-object
if
((top)
@@ -13021,12 +13967,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -13042,13 +13988,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -13056,10 +14002,10 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
-
#{e0\ 4551}#
+
#{e0\ 16793}#
(cons '#(syntax-object
begin
((top)
@@ -13068,12 +14014,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -13089,13 +14035,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -13103,11 +14049,11 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
-
(cons #{e1\ 4568}#
-
#{e2\ 4569}#))
+
(cons #{e1\ 16810}#
+
#{e2\ 16811}#))
(cons '#(syntax-object
begin
((top)
@@ -13116,12 +14062,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -13137,13 +14083,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -13151,11 +14097,11 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
(append
-
#{c\ 4553}#
+
#{c\ 16795}#
(list (cons '#(syntax-object
doloop
((top)
@@ -13164,12 +14110,12 @@
e2)
#((top)
(top))
-
#("i4566"
-
"i4567"))
+
#("i16808"
+
"i16809"))
#(ribcage
#(step)
#((top))
-
#("i4557"))
+
#("i16799"))
#(ribcage
#(_
var
@@ -13185,13 +14131,13 @@
(top)
(top)
(top))
-
#("i4540"
-
"i4541"
-
"i4542"
-
"i4543"
-
"i4544"
-
"i4545"
-
"i4546"))
+
#("i16782"
+
"i16783"
+
"i16784"
+
"i16785"
+
"i16786"
+
"i16787"
+
"i16788"))
#(ribcage
()
()
@@ -13199,107 +14145,107 @@
#(ribcage
#(orig-x)
#((top))
-
#("i4537")))
+
#("i16779")))
(hygiene
guile))
-
#{step\ 4558}#)))))))
- #{tmp\
4565}#)
+
#{step\ 16800}#)))))))
+ #{tmp\
16807}#)
(syntax-violation
#f
"source
expression failed to match any pattern"
- #{tmp\ 4559}#)))
+ #{tmp\ 16801}#)))
($sc-dispatch
- #{tmp\ 4559}#
+ #{tmp\ 16801}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 4559}#
+ #{tmp\ 16801}#
'())))
- #{e1\ 4552}#))
- #{tmp\ 4556}#)
+ #{e1\ 16794}#))
+ #{tmp\ 16798}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 4555}#)))
+ #{tmp\ 16797}#)))
($sc-dispatch
- #{tmp\ 4555}#
+ #{tmp\ 16797}#
'each-any)))
- (map (lambda (#{v\ 4576}# #{s\ 4577}#)
- ((lambda (#{tmp\ 4580}#)
- ((lambda (#{tmp\ 4581}#)
- (if #{tmp\ 4581}#
- (apply (lambda () #{v\ 4576}#)
- #{tmp\ 4581}#)
- ((lambda (#{tmp\ 4582}#)
- (if #{tmp\ 4582}#
- (apply (lambda (#{e\ 4584}#)
- #{e\ 4584}#)
- #{tmp\ 4582}#)
- ((lambda (#{_\ 4586}#)
+ (map (lambda (#{v\ 16818}# #{s\ 16819}#)
+ ((lambda (#{tmp\ 16822}#)
+ ((lambda (#{tmp\ 16823}#)
+ (if #{tmp\ 16823}#
+ (apply (lambda () #{v\ 16818}#)
+ #{tmp\ 16823}#)
+ ((lambda (#{tmp\ 16824}#)
+ (if #{tmp\ 16824}#
+ (apply (lambda (#{e\ 16826}#)
+ #{e\ 16826}#)
+ #{tmp\ 16824}#)
+ ((lambda (#{_\ 16828}#)
(syntax-violation
'do
"bad step expression"
- #{orig-x\ 4536}#
- #{s\ 4577}#))
- #{tmp\ 4580}#)))
+ #{orig-x\ 16778}#
+ #{s\ 16819}#))
+ #{tmp\ 16822}#)))
($sc-dispatch
- #{tmp\ 4580}#
+ #{tmp\ 16822}#
'(any)))))
($sc-dispatch
- #{tmp\ 4580}#
+ #{tmp\ 16822}#
'())))
- #{s\ 4577}#))
- #{var\ 4548}#
- #{step\ 4550}#)))
- #{tmp\ 4539}#)
+ #{s\ 16819}#))
+ #{var\ 16790}#
+ #{step\ 16792}#)))
+ #{tmp\ 16781}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4538}#)))
+ #{tmp\ 16780}#)))
($sc-dispatch
- #{tmp\ 4538}#
+ #{tmp\ 16780}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
- #{orig-x\ 4536}#))
+ #{orig-x\ 16778}#))
(module-name (current-module)))))
(define quasiquote
(make-syntax-transformer
'quasiquote
'macro
- (cons (letrec ((#{quasicons\ 4593}#
- (lambda (#{x\ 4597}# #{y\ 4598}#)
- ((lambda (#{tmp\ 4602}#)
- ((lambda (#{tmp\ 4603}#)
- (if #{tmp\ 4603}#
- (apply (lambda (#{x\ 4606}# #{y\ 4607}#)
- ((lambda (#{tmp\ 4608}#)
- ((lambda (#{tmp\ 4609}#)
- (if #{tmp\ 4609}#
- (apply (lambda (#{dy\ 4611}#)
- ((lambda (#{tmp\
4612}#)
- ((lambda (#{tmp\
4613}#)
- (if #{tmp\
4613}#
- (apply
(lambda (#{dx\ 4615}#)
+ (cons (letrec ((#{quasicons\ 16835}#
+ (lambda (#{x\ 16839}# #{y\ 16840}#)
+ ((lambda (#{tmp\ 16844}#)
+ ((lambda (#{tmp\ 16845}#)
+ (if #{tmp\ 16845}#
+ (apply (lambda (#{x\ 16848}# #{y\ 16849}#)
+ ((lambda (#{tmp\ 16850}#)
+ ((lambda (#{tmp\ 16851}#)
+ (if #{tmp\ 16851}#
+ (apply (lambda (#{dy\ 16853}#)
+ ((lambda (#{tmp\
16854}#)
+ ((lambda (#{tmp\
16855}#)
+ (if #{tmp\
16855}#
+ (apply
(lambda (#{dx\ 16857}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(dx)
#((top))
-
#("i4614"))
+
#("i16856"))
#(ribcage
#(dy)
#((top))
-
#("i4610"))
+
#("i16852"))
#(ribcage
#(x
y)
#((top)
(top))
-
#("i4604"
-
"i4605"))
+
#("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13313,8 +14259,8 @@
y)
#((top)
(top))
-
#("i4599"
-
"i4600"))
+
#("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13324,35 +14270,35 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile))
-
(cons #{dx\ 4615}#
-
#{dy\ 4611}#)))
- #{tmp\
4613}#)
- ((lambda
(#{_\ 4617}#)
- (if (null?
#{dy\ 4611}#)
+
(cons #{dx\ 16857}#
+
#{dy\ 16853}#)))
+ #{tmp\
16855}#)
+ ((lambda
(#{_\ 16859}#)
+ (if (null?
#{dy\ 16853}#)
(list
'#(syntax-object
list
((top)
#(ribcage
#(_)
#((top))
-
#("i4616"))
+
#("i16858"))
#(ribcage
#(dy)
#((top))
-
#("i4610"))
+
#("i16852"))
#(ribcage
#(x
y)
#((top)
(top))
-
#("i4604"
-
"i4605"))
+
#("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13366,8 +14312,8 @@
y)
#((top)
(top))
-
#("i4599"
-
"i4600"))
+
#("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13377,31 +14323,31 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile))
-
#{x\ 4606}#)
+
#{x\ 16848}#)
(list
'#(syntax-object
cons
((top)
#(ribcage
#(_)
#((top))
-
#("i4616"))
+
#("i16858"))
#(ribcage
#(dy)
#((top))
-
#("i4610"))
+
#("i16852"))
#(ribcage
#(x
y)
#((top)
(top))
-
#("i4604"
-
"i4605"))
+
#("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13415,8 +14361,8 @@
y)
#((top)
(top))
-
#("i4599"
-
"i4600"))
+
#("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13426,17 +14372,17 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile))
-
#{x\ 4606}#
-
#{y\ 4607}#)))
- #{tmp\
4612}#)))
+
#{x\ 16848}#
+
#{y\ 16849}#)))
+ #{tmp\
16854}#)))
($sc-dispatch
- #{tmp\ 4612}#
+ #{tmp\ 16854}#
'(#(free-id
#(syntax-object
quote
@@ -13444,13 +14390,13 @@
#(ribcage
#(dy)
#((top))
-
#("i4610"))
+
#("i16852"))
#(ribcage
#(x y)
#((top)
(top))
-
#("i4604"
-
"i4605"))
+
#("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13463,8 +14409,8 @@
#(x y)
#((top)
(top))
-
#("i4599"
-
"i4600"))
+
#("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13474,32 +14420,32 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile)))
any))))
- #{x\ 4606}#))
- #{tmp\ 4609}#)
- ((lambda (#{tmp\ 4618}#)
- (if #{tmp\ 4618}#
- (apply (lambda (#{stuff\
4620}#)
+ #{x\ 16848}#))
+ #{tmp\ 16851}#)
+ ((lambda (#{tmp\ 16860}#)
+ (if #{tmp\ 16860}#
+ (apply (lambda (#{stuff\
16862}#)
(cons
'#(syntax-object
list
((top)
#(ribcage
#(stuff)
#((top))
-
#("i4619"))
+
#("i16861"))
#(ribcage
#(x
y)
#((top)
(top))
-
#("i4604"
-
"i4605"))
+
#("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13513,8 +14459,8 @@
y)
#((top)
(top))
-
#("i4599"
-
"i4600"))
+
#("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13524,29 +14470,29 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile))
- (cons #{x\
4606}#
-
#{stuff\ 4620}#)))
- #{tmp\ 4618}#)
- ((lambda (#{else\ 4622}#)
+ (cons #{x\
16848}#
+
#{stuff\ 16862}#)))
+ #{tmp\ 16860}#)
+ ((lambda (#{else\ 16864}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(else)
#((top))
- #("i4621"))
+
#("i16863"))
#(ribcage
#(x y)
#((top)
(top))
- #("i4604"
- "i4605"))
+ #("i16846"
+
"i16847"))
#(ribcage
()
()
@@ -13559,8 +14505,8 @@
#(x y)
#((top)
(top))
- #("i4599"
- "i4600"))
+ #("i16841"
+
"i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13570,17 +14516,17 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
-
"i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+
"i16834")))
(hygiene
guile))
- #{x\ 4606}#
- #{y\ 4607}#))
- #{tmp\ 4608}#)))
+ #{x\ 16848}#
+ #{y\ 16849}#))
+ #{tmp\ 16850}#)))
($sc-dispatch
- #{tmp\ 4608}#
+ #{tmp\ 16850}#
'(#(free-id
#(syntax-object
list
@@ -13588,13 +14534,15 @@
#(ribcage
#(x y)
#((top) (top))
- #("i4604" "i4605"))
+ #("i16846"
+ "i16847"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i4599" "i4600"))
+ #("i16841"
+ "i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13604,15 +14552,15 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
.
any)))))
($sc-dispatch
- #{tmp\ 4608}#
+ #{tmp\ 16850}#
'(#(free-id
#(syntax-object
quote
@@ -13620,13 +14568,13 @@
#(ribcage
#(x y)
#((top) (top))
- #("i4604" "i4605"))
+ #("i16846" "i16847"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i4599" "i4600"))
+ #("i16841" "i16842"))
#(ribcage
#(quasicons
quasiappend
@@ -13636,44 +14584,44 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
any))))
- #{y\ 4607}#))
- #{tmp\ 4603}#)
+ #{y\ 16849}#))
+ #{tmp\ 16845}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 4602}#)))
- ($sc-dispatch #{tmp\ 4602}# (quote (any any)))))
- (list #{x\ 4597}# #{y\ 4598}#))))
- (#{quasiappend\ 4594}#
- (lambda (#{x\ 4623}# #{y\ 4624}#)
- ((lambda (#{tmp\ 4628}#)
- ((lambda (#{tmp\ 4629}#)
- (if #{tmp\ 4629}#
- (apply (lambda (#{x\ 4632}# #{y\ 4633}#)
- ((lambda (#{tmp\ 4634}#)
- ((lambda (#{tmp\ 4635}#)
- (if #{tmp\ 4635}#
- (apply (lambda () #{x\ 4632}#)
- #{tmp\ 4635}#)
- ((lambda (#{_\ 4637}#)
+ #{tmp\ 16844}#)))
+ ($sc-dispatch #{tmp\ 16844}# (quote (any any)))))
+ (list #{x\ 16839}# #{y\ 16840}#))))
+ (#{quasiappend\ 16836}#
+ (lambda (#{x\ 16865}# #{y\ 16866}#)
+ ((lambda (#{tmp\ 16870}#)
+ ((lambda (#{tmp\ 16871}#)
+ (if #{tmp\ 16871}#
+ (apply (lambda (#{x\ 16874}# #{y\ 16875}#)
+ ((lambda (#{tmp\ 16876}#)
+ ((lambda (#{tmp\ 16877}#)
+ (if #{tmp\ 16877}#
+ (apply (lambda () #{x\ 16874}#)
+ #{tmp\ 16877}#)
+ ((lambda (#{_\ 16879}#)
(list '#(syntax-object
append
((top)
#(ribcage
#(_)
#((top))
- #("i4636"))
+ #("i16878"))
#(ribcage
#(x y)
#((top) (top))
- #("i4630"
- "i4631"))
+ #("i16872"
+ "i16873"))
#(ribcage
()
()
@@ -13685,8 +14633,8 @@
#(ribcage
#(x y)
#((top) (top))
- #("i4625"
- "i4626"))
+ #("i16867"
+ "i16868"))
#(ribcage
#(quasicons
quasiappend
@@ -13696,16 +14644,16 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
- #{x\ 4632}#
- #{y\ 4633}#))
- #{tmp\ 4634}#)))
+ #{x\ 16874}#
+ #{y\ 16875}#))
+ #{tmp\ 16876}#)))
($sc-dispatch
- #{tmp\ 4634}#
+ #{tmp\ 16876}#
'(#(free-id
#(syntax-object
quote
@@ -13713,13 +14661,13 @@
#(ribcage
#(x y)
#((top) (top))
- #("i4630" "i4631"))
+ #("i16872" "i16873"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
- #("i4625" "i4626"))
+ #("i16867" "i16868"))
#(ribcage
#(quasicons
quasiappend
@@ -13729,45 +14677,45 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
()))))
- #{y\ 4633}#))
- #{tmp\ 4629}#)
+ #{y\ 16875}#))
+ #{tmp\ 16871}#)
(syntax-violation
#f
"source expression failed to match any
pattern"
- #{tmp\ 4628}#)))
- ($sc-dispatch #{tmp\ 4628}# (quote (any any)))))
- (list #{x\ 4623}# #{y\ 4624}#))))
- (#{quasivector\ 4595}#
- (lambda (#{x\ 4638}#)
- ((lambda (#{tmp\ 4641}#)
- ((lambda (#{x\ 4643}#)
- ((lambda (#{tmp\ 4644}#)
- ((lambda (#{tmp\ 4645}#)
- (if #{tmp\ 4645}#
- (apply (lambda (#{x\ 4647}#)
+ #{tmp\ 16870}#)))
+ ($sc-dispatch #{tmp\ 16870}# (quote (any any)))))
+ (list #{x\ 16865}# #{y\ 16866}#))))
+ (#{quasivector\ 16837}#
+ (lambda (#{x\ 16880}#)
+ ((lambda (#{tmp\ 16883}#)
+ ((lambda (#{x\ 16885}#)
+ ((lambda (#{tmp\ 16886}#)
+ ((lambda (#{tmp\ 16887}#)
+ (if #{tmp\ 16887}#
+ (apply (lambda (#{x\ 16889}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(x)
#((top))
- #("i4646"))
+ #("i16888"))
#(ribcage
#(x)
#((top))
- #("i4642"))
+ #("i16884"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4639"))
+ #("i16881"))
#(ribcage
#(quasicons
quasiappend
@@ -13777,28 +14725,28 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
(list->vector
- #{x\ 4647}#)))
- #{tmp\ 4645}#)
- ((lambda (#{tmp\ 4649}#)
- (if #{tmp\ 4649}#
- (apply (lambda (#{x\ 4651}#)
+ #{x\ 16889}#)))
+ #{tmp\ 16887}#)
+ ((lambda (#{tmp\ 16891}#)
+ (if #{tmp\ 16891}#
+ (apply (lambda (#{x\ 16893}#)
(cons '#(syntax-object
vector
((top)
#(ribcage
#(x)
#((top))
- #("i4650"))
+ #("i16892"))
#(ribcage
#(x)
#((top))
- #("i4642"))
+ #("i16884"))
#(ribcage
()
()
@@ -13810,7 +14758,7 @@
#(ribcage
#(x)
#((top))
- #("i4639"))
+ #("i16881"))
#(ribcage
#(quasicons
quasiappend
@@ -13820,31 +14768,31 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
- #{x\ 4651}#))
- #{tmp\ 4649}#)
- ((lambda (#{_\ 4654}#)
+ #{x\ 16893}#))
+ #{tmp\ 16891}#)
+ ((lambda (#{_\ 16896}#)
(list '#(syntax-object
list->vector
((top)
#(ribcage
#(_)
#((top))
- #("i4653"))
+ #("i16895"))
#(ribcage
#(x)
#((top))
- #("i4642"))
+ #("i16884"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4639"))
+ #("i16881"))
#(ribcage
#(quasicons
quasiappend
@@ -13854,15 +14802,15 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
- #{x\ 4643}#))
- #{tmp\ 4644}#)))
+ #{x\ 16885}#))
+ #{tmp\ 16886}#)))
($sc-dispatch
- #{tmp\ 4644}#
+ #{tmp\ 16886}#
'(#(free-id
#(syntax-object
list
@@ -13870,82 +14818,82 @@
#(ribcage
#(x)
#((top))
- #("i4642"))
+ #("i16884"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4639"))
+ #("i16881"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
.
each-any)))))
($sc-dispatch
- #{tmp\ 4644}#
+ #{tmp\ 16886}#
'(#(free-id
#(syntax-object
quote
((top)
- #(ribcage #(x) #((top)) #("i4642"))
+ #(ribcage #(x) #((top)) #("i16884"))
#(ribcage () () ())
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4639"))
+ #(ribcage #(x) #((top)) #("i16881"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
each-any))))
- #{x\ 4643}#))
- #{tmp\ 4641}#))
- #{x\ 4638}#)))
- (#{quasi\ 4596}#
- (lambda (#{p\ 4655}# #{lev\ 4656}#)
- ((lambda (#{tmp\ 4659}#)
- ((lambda (#{tmp\ 4660}#)
- (if #{tmp\ 4660}#
- (apply (lambda (#{p\ 4662}#)
- (if (= #{lev\ 4656}# 0)
- #{p\ 4662}#
- (#{quasicons\ 4593}#
+ #{x\ 16885}#))
+ #{tmp\ 16883}#))
+ #{x\ 16880}#)))
+ (#{quasi\ 16838}#
+ (lambda (#{p\ 16897}# #{lev\ 16898}#)
+ ((lambda (#{tmp\ 16901}#)
+ ((lambda (#{tmp\ 16902}#)
+ (if #{tmp\ 16902}#
+ (apply (lambda (#{p\ 16904}#)
+ (if (= #{lev\ 16898}# 0)
+ #{p\ 16904}#
+ (#{quasicons\ 16835}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
- #("i4661"))
+ #("i16903"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
#(syntax-object
unquote
@@ -13953,50 +14901,51 @@
#(ribcage
#(p)
#((top))
- #("i4661"))
+ #("i16903"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
- (#{quasi\ 4596}#
- (list #{p\ 4662}#)
- (- #{lev\ 4656}# 1)))))
- #{tmp\ 4660}#)
- ((lambda (#{tmp\ 4663}#)
- (if (if #{tmp\ 4663}#
- (apply (lambda (#{args\ 4665}#)
- (= #{lev\ 4656}# 0))
- #{tmp\ 4663}#)
+ (#{quasi\ 16838}#
+ (list #{p\ 16904}#)
+ (- #{lev\ 16898}# 1)))))
+ #{tmp\ 16902}#)
+ ((lambda (#{tmp\ 16905}#)
+ (if (if #{tmp\ 16905}#
+ (apply (lambda (#{args\ 16907}#)
+ (= #{lev\ 16898}# 0))
+ #{tmp\ 16905}#)
#f)
- (apply (lambda (#{args\ 4667}#)
+ (apply (lambda (#{args\ 16909}#)
(syntax-violation
'unquote
"unquote takes exactly one
argument"
- #{p\ 4655}#
+ #{p\ 16897}#
(cons '#(syntax-object
unquote
((top)
#(ribcage
#(args)
#((top))
- #("i4666"))
+ #("i16908"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899"
+ "i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14006,33 +14955,33 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
- #{args\ 4667}#)))
- #{tmp\ 4663}#)
- ((lambda (#{tmp\ 4668}#)
- (if #{tmp\ 4668}#
- (apply (lambda (#{p\ 4671}#
- #{q\ 4672}#)
- (if (= #{lev\ 4656}# 0)
- (#{quasiappend\ 4594}#
- #{p\ 4671}#
- (#{quasi\ 4596}#
- #{q\ 4672}#
- #{lev\ 4656}#))
- (#{quasicons\ 4593}#
- (#{quasicons\ 4593}#
+ #{args\ 16909}#)))
+ #{tmp\ 16905}#)
+ ((lambda (#{tmp\ 16910}#)
+ (if #{tmp\ 16910}#
+ (apply (lambda (#{p\ 16913}#
+ #{q\ 16914}#)
+ (if (= #{lev\ 16898}# 0)
+ (#{quasiappend\ 16836}#
+ #{p\ 16913}#
+ (#{quasi\ 16838}#
+ #{q\ 16914}#
+ #{lev\ 16898}#))
+ (#{quasicons\ 16835}#
+ (#{quasicons\ 16835}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p q)
#((top) (top))
- #("i4669"
- "i4670"))
+ #("i16911"
+ "i16912"))
#(ribcage
()
()
@@ -14040,8 +14989,8 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657"
- "i4658"))
+ #("i16899"
+ "i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14051,10 +15000,10 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile))
#(syntax-object
unquote-splicing
@@ -14062,8 +15011,8 @@
#(ribcage
#(p q)
#((top) (top))
- #("i4669"
- "i4670"))
+ #("i16911"
+ "i16912"))
#(ribcage
()
()
@@ -14071,8 +15020,8 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657"
- "i4658"))
+ #("i16899"
+ "i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14082,31 +15031,33 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
- (#{quasi\ 4596}#
- (list #{p\ 4671}#)
- (- #{lev\ 4656}# 1)))
- (#{quasi\ 4596}#
- #{q\ 4672}#
- #{lev\ 4656}#))))
- #{tmp\ 4668}#)
- ((lambda (#{tmp\ 4673}#)
- (if (if #{tmp\ 4673}#
- (apply (lambda (#{args\
4676}#
- #{q\ 4677}#)
- (= #{lev\ 4656}# 0))
- #{tmp\ 4673}#)
+ (#{quasi\ 16838}#
+ (list #{p\ 16913}#)
+ (- #{lev\ 16898}#
+ 1)))
+ (#{quasi\ 16838}#
+ #{q\ 16914}#
+ #{lev\ 16898}#))))
+ #{tmp\ 16910}#)
+ ((lambda (#{tmp\ 16915}#)
+ (if (if #{tmp\ 16915}#
+ (apply (lambda (#{args\
16918}#
+ #{q\ 16919}#)
+ (= #{lev\ 16898}#
+ 0))
+ #{tmp\ 16915}#)
#f)
- (apply (lambda (#{args\ 4680}#
- #{q\ 4681}#)
+ (apply (lambda (#{args\ 16922}#
+ #{q\ 16923}#)
(syntax-violation
'unquote-splicing
"unquote-splicing
takes exactly one argument"
- #{p\ 4655}#
+ #{p\ 16897}#
(cons '#(syntax-object
unquote-splicing
((top)
@@ -14114,8 +15065,8 @@
#(args q)
#((top)
(top))
- #("i4678"
-
"i4679"))
+ #("i16920"
+
"i16921"))
#(ribcage
()
()
@@ -14124,8 +15075,8 @@
#(p lev)
#((top)
(top))
- #("i4657"
-
"i4658"))
+ #("i16899"
+
"i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14135,25 +15086,25 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
-
"i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+
"i16834")))
(hygiene
guile))
- #{args\
4680}#)))
- #{tmp\ 4673}#)
- ((lambda (#{tmp\ 4682}#)
- (if #{tmp\ 4682}#
- (apply (lambda (#{p\ 4684}#)
- (#{quasicons\
4593}#
+ #{args\
16922}#)))
+ #{tmp\ 16915}#)
+ ((lambda (#{tmp\ 16924}#)
+ (if #{tmp\ 16924}#
+ (apply (lambda (#{p\
16926}#)
+ (#{quasicons\
16835}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
-
#("i4683"))
+
#("i16925"))
#(ribcage
()
()
@@ -14162,8 +15113,8 @@
#(p lev)
#((top)
(top))
- #("i4657"
-
"i4658"))
+ #("i16899"
+
"i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14173,10 +15124,10 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
-
"i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+
"i16834")))
(hygiene
guile))
#(syntax-object
@@ -14185,7 +15136,7 @@
#(ribcage
#(p)
#((top))
-
#("i4683"))
+
#("i16925"))
#(ribcage
()
()
@@ -14194,8 +15145,8 @@
#(p lev)
#((top)
(top))
- #("i4657"
-
"i4658"))
+ #("i16899"
+
"i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14205,45 +15156,45 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
-
"i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+
"i16834")))
(hygiene
guile)))
- (#{quasi\ 4596}#
- (list #{p\
4684}#)
- (+ #{lev\
4656}#
+ (#{quasi\ 16838}#
+ (list #{p\
16926}#)
+ (+ #{lev\
16898}#
1))))
- #{tmp\ 4682}#)
- ((lambda (#{tmp\ 4685}#)
- (if #{tmp\ 4685}#
- (apply (lambda (#{p\
4688}#
- #{q\
4689}#)
- (#{quasicons\
4593}#
- (#{quasi\
4596}#
- #{p\
4688}#
- #{lev\
4656}#)
- (#{quasi\
4596}#
- #{q\
4689}#
- #{lev\
4656}#)))
- #{tmp\ 4685}#)
- ((lambda (#{tmp\
4690}#)
- (if #{tmp\ 4690}#
- (apply (lambda
(#{x\ 4692}#)
-
(#{quasivector\ 4595}#
-
(#{quasi\ 4596}#
- #{x\
4692}#
-
#{lev\ 4656}#)))
- #{tmp\
4690}#)
- ((lambda (#{p\
4695}#)
+ #{tmp\ 16924}#)
+ ((lambda (#{tmp\ 16927}#)
+ (if #{tmp\ 16927}#
+ (apply (lambda (#{p\
16930}#
+ #{q\
16931}#)
+ (#{quasicons\
16835}#
+ (#{quasi\
16838}#
+ #{p\
16930}#
+ #{lev\
16898}#)
+ (#{quasi\
16838}#
+ #{q\
16931}#
+ #{lev\
16898}#)))
+ #{tmp\ 16927}#)
+ ((lambda (#{tmp\
16932}#)
+ (if #{tmp\ 16932}#
+ (apply (lambda
(#{x\ 16934}#)
+
(#{quasivector\ 16837}#
+
(#{quasi\ 16838}#
+ #{x\
16934}#
+
#{lev\ 16898}#)))
+ #{tmp\
16932}#)
+ ((lambda (#{p\
16937}#)
(list
'#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
-
#("i4694"))
+
#("i16936"))
#(ribcage
()
()
@@ -14253,8 +15204,8 @@
lev)
#((top)
(top))
-
#("i4657"
-
"i4658"))
+
#("i16899"
+
"i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14264,23 +15215,23 @@
(top)
(top)
(top))
-
#("i4589"
-
"i4590"
-
"i4591"
-
"i4592")))
+
#("i16831"
+
"i16832"
+
"i16833"
+
"i16834")))
(hygiene
guile))
- #{p\
4695}#))
- #{tmp\ 4659}#)))
+ #{p\
16937}#))
+ #{tmp\ 16901}#)))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'#(vector
each-any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'(#(free-id
#(syntax-object
quasiquote
@@ -14289,7 +15240,7 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14299,14 +15250,14 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -14315,7 +15266,7 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
@@ -14325,17 +15276,17 @@
(top)
(top)
(top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
.
any)
.
any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -14344,23 +15295,23 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589"
- "i4590"
- "i4591"
- "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
any)
.
any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'(#(free-id
#(syntax-object
unquote
@@ -14369,19 +15320,22 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589" "i4590" "i4591" "i4592")))
+ #("i16831"
+ "i16832"
+ "i16833"
+ "i16834")))
(hygiene guile)))
.
any)))))
($sc-dispatch
- #{tmp\ 4659}#
+ #{tmp\ 16901}#
'(#(free-id
#(syntax-object
unquote
@@ -14390,244 +15344,244 @@
#(ribcage
#(p lev)
#((top) (top))
- #("i4657" "i4658"))
+ #("i16899" "i16900"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
- #("i4589" "i4590" "i4591" "i4592")))
+ #("i16831" "i16832" "i16833" "i16834")))
(hygiene guile)))
any))))
- #{p\ 4655}#))))
- (lambda (#{x\ 4696}#)
- ((lambda (#{tmp\ 4698}#)
- ((lambda (#{tmp\ 4699}#)
- (if #{tmp\ 4699}#
- (apply (lambda (#{_\ 4702}# #{e\ 4703}#)
- (#{quasi\ 4596}# #{e\ 4703}# 0))
- #{tmp\ 4699}#)
+ #{p\ 16897}#))))
+ (lambda (#{x\ 16938}#)
+ ((lambda (#{tmp\ 16940}#)
+ ((lambda (#{tmp\ 16941}#)
+ (if #{tmp\ 16941}#
+ (apply (lambda (#{_\ 16944}# #{e\ 16945}#)
+ (#{quasi\ 16838}# #{e\ 16945}# 0))
+ #{tmp\ 16941}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4698}#)))
- ($sc-dispatch #{tmp\ 4698}# (quote (any any)))))
- #{x\ 4696}#)))
+ #{tmp\ 16940}#)))
+ ($sc-dispatch #{tmp\ 16940}# (quote (any any)))))
+ #{x\ 16938}#)))
(module-name (current-module)))))
(define include
(make-syntax-transformer
'include
'macro
- (cons (lambda (#{x\ 4704}#)
- (letrec ((#{read-file\ 4707}#
- (lambda (#{fn\ 4708}# #{k\ 4709}#)
- (let ((#{p\ 4713}# (open-input-file #{fn\ 4708}#)))
- (letrec ((#{f\ 4717}#
- (lambda (#{x\ 4718}# #{result\ 4719}#)
- (if (eof-object? #{x\ 4718}#)
+ (cons (lambda (#{x\ 16946}#)
+ (letrec ((#{read-file\ 16949}#
+ (lambda (#{fn\ 16950}# #{k\ 16951}#)
+ (let ((#{p\ 16955}# (open-input-file #{fn\ 16950}#)))
+ (letrec ((#{f\ 16959}#
+ (lambda (#{x\ 16960}# #{result\ 16961}#)
+ (if (eof-object? #{x\ 16960}#)
(begin
- (close-input-port #{p\ 4713}#)
- (reverse #{result\ 4719}#))
- (#{f\ 4717}#
- (read #{p\ 4713}#)
+ (close-input-port #{p\ 16955}#)
+ (reverse #{result\ 16961}#))
+ (#{f\ 16959}#
+ (read #{p\ 16955}#)
(cons (datum->syntax
- #{k\ 4709}#
- #{x\ 4718}#)
- #{result\ 4719}#))))))
- (#{f\ 4717}# (read #{p\ 4713}#) (quote ())))))))
- ((lambda (#{tmp\ 4720}#)
- ((lambda (#{tmp\ 4721}#)
- (if #{tmp\ 4721}#
- (apply (lambda (#{k\ 4724}# #{filename\ 4725}#)
- (let ((#{fn\ 4727}#
- (syntax->datum #{filename\ 4725}#)))
- ((lambda (#{tmp\ 4729}#)
- ((lambda (#{tmp\ 4730}#)
- (if #{tmp\ 4730}#
- (apply (lambda (#{exp\ 4732}#)
+ #{k\ 16951}#
+ #{x\ 16960}#)
+ #{result\ 16961}#))))))
+ (#{f\ 16959}# (read #{p\ 16955}#) (quote ())))))))
+ ((lambda (#{tmp\ 16962}#)
+ ((lambda (#{tmp\ 16963}#)
+ (if #{tmp\ 16963}#
+ (apply (lambda (#{k\ 16966}# #{filename\ 16967}#)
+ (let ((#{fn\ 16969}#
+ (syntax->datum #{filename\ 16967}#)))
+ ((lambda (#{tmp\ 16971}#)
+ ((lambda (#{tmp\ 16972}#)
+ (if #{tmp\ 16972}#
+ (apply (lambda (#{exp\ 16974}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(exp)
#((top))
- #("i4731"))
+ #("i16973"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
- #("i4726"))
+ #("i16968"))
#(ribcage
#(k filename)
#((top) (top))
- #("i4722"
- "i4723"))
+ #("i16964"
+ "i16965"))
#(ribcage
(read-file)
((top))
- ("i4706"))
+ ("i16948"))
#(ribcage
#(x)
#((top))
- #("i4705")))
+ #("i16947")))
(hygiene guile))
- #{exp\ 4732}#))
- #{tmp\ 4730}#)
+ #{exp\ 16974}#))
+ #{tmp\ 16972}#)
(syntax-violation
#f
"source expression failed to match
any pattern"
- #{tmp\ 4729}#)))
+ #{tmp\ 16971}#)))
($sc-dispatch
- #{tmp\ 4729}#
+ #{tmp\ 16971}#
'each-any)))
- (#{read-file\ 4707}#
- #{fn\ 4727}#
- #{k\ 4724}#))))
- #{tmp\ 4721}#)
+ (#{read-file\ 16949}#
+ #{fn\ 16969}#
+ #{k\ 16966}#))))
+ #{tmp\ 16963}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4720}#)))
- ($sc-dispatch #{tmp\ 4720}# (quote (any any)))))
- #{x\ 4704}#)))
+ #{tmp\ 16962}#)))
+ ($sc-dispatch #{tmp\ 16962}# (quote (any any)))))
+ #{x\ 16946}#)))
(module-name (current-module)))))
(define include-from-path
(make-syntax-transformer
'include-from-path
'macro
- (cons (lambda (#{x\ 4734}#)
- ((lambda (#{tmp\ 4736}#)
- ((lambda (#{tmp\ 4737}#)
- (if #{tmp\ 4737}#
- (apply (lambda (#{k\ 4740}# #{filename\ 4741}#)
- (let ((#{fn\ 4743}#
- (syntax->datum #{filename\ 4741}#)))
- ((lambda (#{tmp\ 4745}#)
- ((lambda (#{fn\ 4747}#)
+ (cons (lambda (#{x\ 16976}#)
+ ((lambda (#{tmp\ 16978}#)
+ ((lambda (#{tmp\ 16979}#)
+ (if #{tmp\ 16979}#
+ (apply (lambda (#{k\ 16982}# #{filename\ 16983}#)
+ (let ((#{fn\ 16985}#
+ (syntax->datum #{filename\ 16983}#)))
+ ((lambda (#{tmp\ 16987}#)
+ ((lambda (#{fn\ 16989}#)
(list '#(syntax-object
include
((top)
#(ribcage
#(fn)
#((top))
- #("i4746"))
+ #("i16988"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
- #("i4742"))
+ #("i16984"))
#(ribcage
#(k filename)
#((top) (top))
- #("i4738" "i4739"))
+ #("i16980" "i16981"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4735")))
+ #("i16977")))
(hygiene guile))
- #{fn\ 4747}#))
- #{tmp\ 4745}#))
- (let ((#{t\ 4750}#
- (%search-load-path #{fn\ 4743}#)))
- (if #{t\ 4750}#
- #{t\ 4750}#
+ #{fn\ 16989}#))
+ #{tmp\ 16987}#))
+ (let ((#{t\ 16992}#
+ (%search-load-path #{fn\ 16985}#)))
+ (if #{t\ 16992}#
+ #{t\ 16992}#
(syntax-violation
'include-from-path
"file not found in path"
- #{x\ 4734}#
- #{filename\ 4741}#))))))
- #{tmp\ 4737}#)
+ #{x\ 16976}#
+ #{filename\ 16983}#))))))
+ #{tmp\ 16979}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4736}#)))
- ($sc-dispatch #{tmp\ 4736}# (quote (any any)))))
- #{x\ 4734}#))
+ #{tmp\ 16978}#)))
+ ($sc-dispatch #{tmp\ 16978}# (quote (any any)))))
+ #{x\ 16976}#))
(module-name (current-module)))))
(define unquote
(make-syntax-transformer
'unquote
'macro
- (cons (lambda (#{x\ 4752}#)
- ((lambda (#{tmp\ 4754}#)
- ((lambda (#{tmp\ 4755}#)
- (if #{tmp\ 4755}#
- (apply (lambda (#{_\ 4758}# #{e\ 4759}#)
+ (cons (lambda (#{x\ 16994}#)
+ ((lambda (#{tmp\ 16996}#)
+ ((lambda (#{tmp\ 16997}#)
+ (if #{tmp\ 16997}#
+ (apply (lambda (#{_\ 17000}# #{e\ 17001}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
- #{x\ 4752}#))
- #{tmp\ 4755}#)
+ #{x\ 16994}#))
+ #{tmp\ 16997}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4754}#)))
- ($sc-dispatch #{tmp\ 4754}# (quote (any any)))))
- #{x\ 4752}#))
+ #{tmp\ 16996}#)))
+ ($sc-dispatch #{tmp\ 16996}# (quote (any any)))))
+ #{x\ 16994}#))
(module-name (current-module)))))
(define unquote-splicing
(make-syntax-transformer
'unquote-splicing
'macro
- (cons (lambda (#{x\ 4760}#)
- ((lambda (#{tmp\ 4762}#)
- ((lambda (#{tmp\ 4763}#)
- (if #{tmp\ 4763}#
- (apply (lambda (#{_\ 4766}# #{e\ 4767}#)
+ (cons (lambda (#{x\ 17002}#)
+ ((lambda (#{tmp\ 17004}#)
+ ((lambda (#{tmp\ 17005}#)
+ (if #{tmp\ 17005}#
+ (apply (lambda (#{_\ 17008}# #{e\ 17009}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
- #{x\ 4760}#))
- #{tmp\ 4763}#)
+ #{x\ 17002}#))
+ #{tmp\ 17005}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4762}#)))
- ($sc-dispatch #{tmp\ 4762}# (quote (any any)))))
- #{x\ 4760}#))
+ #{tmp\ 17004}#)))
+ ($sc-dispatch #{tmp\ 17004}# (quote (any any)))))
+ #{x\ 17002}#))
(module-name (current-module)))))
(define case
(make-syntax-transformer
'case
'macro
- (cons (lambda (#{x\ 4768}#)
- ((lambda (#{tmp\ 4770}#)
- ((lambda (#{tmp\ 4771}#)
- (if #{tmp\ 4771}#
- (apply (lambda (#{_\ 4776}#
- #{e\ 4777}#
- #{m1\ 4778}#
- #{m2\ 4779}#)
- ((lambda (#{tmp\ 4781}#)
- ((lambda (#{body\ 4783}#)
+ (cons (lambda (#{x\ 17010}#)
+ ((lambda (#{tmp\ 17012}#)
+ ((lambda (#{tmp\ 17013}#)
+ (if #{tmp\ 17013}#
+ (apply (lambda (#{_\ 17018}#
+ #{e\ 17019}#
+ #{m1\ 17020}#
+ #{m2\ 17021}#)
+ ((lambda (#{tmp\ 17023}#)
+ ((lambda (#{body\ 17025}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(body)
#((top))
- #("i4782"))
+ #("i17024"))
#(ribcage
#(_ e m1 m2)
#((top) (top) (top) (top))
- #("i4772"
- "i4773"
- "i4774"
- "i4775"))
+ #("i17014"
+ "i17015"
+ "i17016"
+ "i17017"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4769")))
+ #("i17011")))
(hygiene guile))
(list (list '#(syntax-object
t
@@ -14635,35 +15589,35 @@
#(ribcage
#(body)
#((top))
- #("i4782"))
+ #("i17024"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
- #("i4772"
- "i4773"
- "i4774"
- "i4775"))
+ #("i17014"
+ "i17015"
+ "i17016"
+ "i17017"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4769")))
+ #("i17011")))
(hygiene guile))
- #{e\ 4777}#))
- #{body\ 4783}#))
- #{tmp\ 4781}#))
- (letrec ((#{f\ 4787}#
- (lambda (#{clause\ 4788}#
- #{clauses\ 4789}#)
- (if (null? #{clauses\ 4789}#)
- ((lambda (#{tmp\ 4791}#)
- ((lambda (#{tmp\ 4792}#)
- (if #{tmp\ 4792}#
- (apply (lambda (#{e1\
4795}#
- #{e2\
4796}#)
+ #{e\ 17019}#))
+ #{body\ 17025}#))
+ #{tmp\ 17023}#))
+ (letrec ((#{f\ 17029}#
+ (lambda (#{clause\ 17030}#
+ #{clauses\ 17031}#)
+ (if (null? #{clauses\ 17031}#)
+ ((lambda (#{tmp\ 17033}#)
+ ((lambda (#{tmp\ 17034}#)
+ (if #{tmp\ 17034}#
+ (apply (lambda (#{e1\
17037}#
+ #{e2\
17038}#)
(cons
'#(syntax-object
begin
((top)
@@ -14672,8 +15626,8 @@
e2)
#((top)
(top))
-
#("i4793"
-
"i4794"))
+
#("i17035"
+
"i17036"))
#(ribcage
()
()
@@ -14685,9 +15639,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14697,10 +15651,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14708,17 +15662,17 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
- (cons
#{e1\ 4795}#
-
#{e2\ 4796}#)))
- #{tmp\ 4792}#)
- ((lambda (#{tmp\ 4798}#)
- (if #{tmp\ 4798}#
- (apply (lambda (#{k\
4802}#
-
#{e1\ 4803}#
-
#{e2\ 4804}#)
+ (cons
#{e1\ 17037}#
+
#{e2\ 17038}#)))
+ #{tmp\ 17034}#)
+ ((lambda (#{tmp\ 17040}#)
+ (if #{tmp\ 17040}#
+ (apply (lambda (#{k\
17044}#
+
#{e1\ 17045}#
+
#{e2\ 17046}#)
(list
'#(syntax-object
if
((top)
@@ -14729,9 +15683,9 @@
#((top)
(top)
(top))
-
#("i4799"
-
"i4800"
-
"i4801"))
+
#("i17041"
+
"i17042"
+
"i17043"))
#(ribcage
()
()
@@ -14743,9 +15697,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14755,10 +15709,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14766,7 +15720,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
(list
'#(syntax-object
@@ -14779,9 +15733,9 @@
#((top)
(top)
(top))
-
#("i4799"
-
"i4800"
-
"i4801"))
+
#("i17041"
+
"i17042"
+
"i17043"))
#(ribcage
()
()
@@ -14793,9 +15747,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14805,10 +15759,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14816,7 +15770,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
'#(syntax-object
@@ -14829,9 +15783,9 @@
#((top)
(top)
(top))
-
#("i4799"
-
"i4800"
-
"i4801"))
+
#("i17041"
+
"i17042"
+
"i17043"))
#(ribcage
()
()
@@ -14843,9 +15797,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14855,10 +15809,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14866,7 +15820,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
(list '#(syntax-object
@@ -14879,9 +15833,9 @@
#((top)
(top)
(top))
-
#("i4799"
-
"i4800"
-
"i4801"))
+
#("i17041"
+
"i17042"
+
"i17043"))
#(ribcage
()
()
@@ -14893,9 +15847,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14905,10 +15859,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14916,10 +15870,10 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
-
#{k\ 4802}#))
+
#{k\ 17044}#))
(cons
'#(syntax-object
begin
((top)
@@ -14930,9 +15884,9 @@
#((top)
(top)
(top))
-
#("i4799"
-
"i4800"
-
"i4801"))
+
#("i17041"
+
"i17042"
+
"i17043"))
#(ribcage
()
()
@@ -14944,9 +15898,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -14956,10 +15910,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -14967,27 +15921,27 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
-
(cons #{e1\ 4803}#
-
#{e2\ 4804}#))))
- #{tmp\ 4798}#)
- ((lambda (#{_\
4808}#)
+
(cons #{e1\ 17045}#
+
#{e2\ 17046}#))))
+ #{tmp\
17040}#)
+ ((lambda (#{_\
17050}#)
(syntax-violation
'case
"bad clause"
- #{x\ 4768}#
- #{clause\
4788}#))
- #{tmp\ 4791}#)))
+ #{x\ 17010}#
+ #{clause\
17030}#))
+ #{tmp\ 17033}#)))
($sc-dispatch
- #{tmp\ 4791}#
+ #{tmp\ 17033}#
'(each-any
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 4791}#
+ #{tmp\ 17033}#
'(#(free-id
#(syntax-object
else
@@ -14998,37 +15952,37 @@
#((top)
(top)
(top))
- #("i4784"
- "i4785"
- "i4786"))
+ #("i17026"
+ "i17027"
+ "i17028"))
#(ribcage
#(_ e m1 m2)
#((top)
(top)
(top)
(top))
- #("i4772"
- "i4773"
- "i4774"
- "i4775"))
+ #("i17014"
+ "i17015"
+ "i17016"
+ "i17017"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4769")))
+ #("i17011")))
(hygiene guile)))
any
.
each-any))))
- #{clause\ 4788}#)
- ((lambda (#{tmp\ 4810}#)
- ((lambda (#{rest\ 4812}#)
- ((lambda (#{tmp\ 4813}#)
- ((lambda (#{tmp\ 4814}#)
- (if #{tmp\ 4814}#
- (apply (lambda
(#{k\ 4818}#
-
#{e1\ 4819}#
-
#{e2\ 4820}#)
+ #{clause\ 17030}#)
+ ((lambda (#{tmp\ 17052}#)
+ ((lambda (#{rest\ 17054}#)
+ ((lambda (#{tmp\ 17055}#)
+ ((lambda (#{tmp\ 17056}#)
+ (if #{tmp\ 17056}#
+ (apply (lambda
(#{k\ 17060}#
+
#{e1\ 17061}#
+
#{e2\ 17062}#)
(list
'#(syntax-object
if
((top)
@@ -15039,13 +15993,13 @@
#((top)
(top)
(top))
-
#("i4815"
-
"i4816"
-
"i4817"))
+
#("i17057"
+
"i17058"
+
"i17059"))
#(ribcage
#(rest)
#((top))
-
#("i4811"))
+
#("i17053"))
#(ribcage
()
()
@@ -15057,9 +16011,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -15069,10 +16023,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -15080,7 +16034,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
(list '#(syntax-object
@@ -15093,13 +16047,13 @@
#((top)
(top)
(top))
-
#("i4815"
-
"i4816"
-
"i4817"))
+
#("i17057"
+
"i17058"
+
"i17059"))
#(ribcage
#(rest)
#((top))
-
#("i4811"))
+
#("i17053"))
#(ribcage
()
()
@@ -15111,9 +16065,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -15123,10 +16077,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -15134,7 +16088,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
'#(syntax-object
@@ -15147,13 +16101,13 @@
#((top)
(top)
(top))
-
#("i4815"
-
"i4816"
-
"i4817"))
+
#("i17057"
+
"i17058"
+
"i17059"))
#(ribcage
#(rest)
#((top))
-
#("i4811"))
+
#("i17053"))
#(ribcage
()
()
@@ -15165,9 +16119,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -15177,10 +16131,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -15188,7 +16142,7 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
(list '#(syntax-object
@@ -15201,13 +16155,13 @@
#((top)
(top)
(top))
-
#("i4815"
-
"i4816"
-
"i4817"))
+
#("i17057"
+
"i17058"
+
"i17059"))
#(ribcage
#(rest)
#((top))
-
#("i4811"))
+
#("i17053"))
#(ribcage
()
()
@@ -15219,9 +16173,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -15231,10 +16185,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -15242,10 +16196,10 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
-
#{k\ 4818}#))
+
#{k\ 17060}#))
(cons '#(syntax-object
begin
((top)
@@ -15256,13 +16210,13 @@
#((top)
(top)
(top))
-
#("i4815"
-
"i4816"
-
"i4817"))
+
#("i17057"
+
"i17058"
+
"i17059"))
#(ribcage
#(rest)
#((top))
-
#("i4811"))
+
#("i17053"))
#(ribcage
()
()
@@ -15274,9 +16228,9 @@
#((top)
(top)
(top))
-
#("i4784"
-
"i4785"
-
"i4786"))
+
#("i17026"
+
"i17027"
+
"i17028"))
#(ribcage
#(_
e
@@ -15286,10 +16240,10 @@
(top)
(top)
(top))
-
#("i4772"
-
"i4773"
-
"i4774"
-
"i4775"))
+
#("i17014"
+
"i17015"
+
"i17016"
+
"i17017"))
#(ribcage
()
()
@@ -15297,61 +16251,61 @@
#(ribcage
#(x)
#((top))
-
#("i4769")))
+
#("i17011")))
(hygiene
guile))
-
(cons #{e1\ 4819}#
-
#{e2\ 4820}#))
-
#{rest\ 4812}#))
- #{tmp\
4814}#)
- ((lambda (#{_\
4824}#)
+
(cons #{e1\ 17061}#
+
#{e2\ 17062}#))
+
#{rest\ 17054}#))
+ #{tmp\
17056}#)
+ ((lambda (#{_\
17066}#)
(syntax-violation
'case
"bad clause"
- #{x\ 4768}#
- #{clause\
4788}#))
- #{tmp\ 4813}#)))
+ #{x\ 17010}#
+ #{clause\
17030}#))
+ #{tmp\ 17055}#)))
($sc-dispatch
- #{tmp\ 4813}#
+ #{tmp\ 17055}#
'(each-any
any
.
each-any))))
- #{clause\ 4788}#))
- #{tmp\ 4810}#))
- (#{f\ 4787}#
- (car #{clauses\ 4789}#)
- (cdr #{clauses\ 4789}#)))))))
- (#{f\ 4787}# #{m1\ 4778}# #{m2\ 4779}#))))
- #{tmp\ 4771}#)
+ #{clause\ 17030}#))
+ #{tmp\ 17052}#))
+ (#{f\ 17029}#
+ (car #{clauses\ 17031}#)
+ (cdr #{clauses\ 17031}#)))))))
+ (#{f\ 17029}# #{m1\ 17020}# #{m2\ 17021}#))))
+ #{tmp\ 17013}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4770}#)))
+ #{tmp\ 17012}#)))
($sc-dispatch
- #{tmp\ 4770}#
+ #{tmp\ 17012}#
'(any any any . each-any))))
- #{x\ 4768}#))
+ #{x\ 17010}#))
(module-name (current-module)))))
(define identifier-syntax
(make-syntax-transformer
'identifier-syntax
'macro
- (cons (lambda (#{x\ 4825}#)
- ((lambda (#{tmp\ 4827}#)
- ((lambda (#{tmp\ 4828}#)
- (if #{tmp\ 4828}#
- (apply (lambda (#{_\ 4831}# #{e\ 4832}#)
+ (cons (lambda (#{x\ 17067}#)
+ ((lambda (#{tmp\ 17069}#)
+ ((lambda (#{tmp\ 17070}#)
+ (if #{tmp\ 17070}#
+ (apply (lambda (#{_\ 17073}# #{e\ 17074}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4826")))
+ #(ribcage #(x) #((top)) #("i17068")))
(hygiene guile))
'(#(syntax-object
x
@@ -15359,9 +16313,9 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4826")))
+ #(ribcage #(x) #((top)) #("i17068")))
(hygiene guile)))
'#((#(syntax-object
macro-type
@@ -15369,9 +16323,9 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4826")))
+ #(ribcage #(x) #((top)) #("i17068")))
(hygiene guile))
.
#(syntax-object
@@ -15380,9 +16334,9 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4826")))
+ #(ribcage #(x) #((top)) #("i17068")))
(hygiene guile))))
(list '#(syntax-object
syntax-case
@@ -15390,12 +16344,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
'#(syntax-object
x
@@ -15403,12 +16357,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
'()
(list '#(syntax-object
@@ -15417,12 +16371,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
'(#(syntax-object
identifier?
@@ -15430,12 +16384,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
(#(syntax-object
syntax
@@ -15443,12 +16397,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
#(syntax-object
id
@@ -15456,12 +16410,12 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071" "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))))
(list '#(syntax-object
syntax
@@ -15469,27 +16423,29 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
- #{e\ 4832}#))
- (list (cons #{_\ 4831}#
+ #{e\ 17074}#))
+ (list (cons #{_\ 17073}#
'(#(syntax-object
x
((top)
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
#(syntax-object
...
@@ -15497,12 +16453,13 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))))
(list '#(syntax-object
syntax
@@ -15510,14 +16467,15 @@
#(ribcage
#(_ e)
#((top) (top))
- #("i4829" "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
- (cons #{e\ 4832}#
+ (cons #{e\ 17074}#
'(#(syntax-object
x
((top)
@@ -15525,8 +16483,8 @@
#(_ e)
#((top)
(top))
- #("i4829"
- "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage
()
()
@@ -15534,7 +16492,7 @@
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene guile))
#(syntax-object
...
@@ -15543,8 +16501,8 @@
#(_ e)
#((top)
(top))
- #("i4829"
- "i4830"))
+ #("i17071"
+ "i17072"))
#(ribcage
()
()
@@ -15552,72 +16510,72 @@
#(ribcage
#(x)
#((top))
- #("i4826")))
+ #("i17068")))
(hygiene
guile)))))))))
- #{tmp\ 4828}#)
+ #{tmp\ 17070}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4827}#)))
- ($sc-dispatch #{tmp\ 4827}# (quote (any any)))))
- #{x\ 4825}#))
+ #{tmp\ 17069}#)))
+ ($sc-dispatch #{tmp\ 17069}# (quote (any any)))))
+ #{x\ 17067}#))
(module-name (current-module)))))
(define define*
(make-syntax-transformer
'define*
'macro
- (cons (lambda (#{x\ 4833}#)
- ((lambda (#{tmp\ 4835}#)
- ((lambda (#{tmp\ 4836}#)
- (if #{tmp\ 4836}#
- (apply (lambda (#{_\ 4842}#
- #{id\ 4843}#
- #{args\ 4844}#
- #{b0\ 4845}#
- #{b1\ 4846}#)
+ (cons (lambda (#{x\ 17075}#)
+ ((lambda (#{tmp\ 17077}#)
+ ((lambda (#{tmp\ 17078}#)
+ (if #{tmp\ 17078}#
+ (apply (lambda (#{_\ 17084}#
+ #{id\ 17085}#
+ #{args\ 17086}#
+ #{b0\ 17087}#
+ #{b1\ 17088}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(_ id args b0 b1)
#((top) (top) (top) (top) (top))
- #("i4837"
- "i4838"
- "i4839"
- "i4840"
- "i4841"))
+ #("i17079"
+ "i17080"
+ "i17081"
+ "i17082"
+ "i17083"))
#(ribcage () () ())
- #(ribcage #(x) #((top)) #("i4834")))
+ #(ribcage #(x) #((top)) #("i17076")))
(hygiene guile))
- #{id\ 4843}#
+ #{id\ 17085}#
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(_ id args b0 b1)
#((top) (top) (top) (top) (top))
- #("i4837"
- "i4838"
- "i4839"
- "i4840"
- "i4841"))
+ #("i17079"
+ "i17080"
+ "i17081"
+ "i17082"
+ "i17083"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4834")))
+ #("i17076")))
(hygiene guile))
- (cons #{args\ 4844}#
- (cons #{b0\ 4845}#
- #{b1\ 4846}#)))))
- #{tmp\ 4836}#)
- ((lambda (#{tmp\ 4848}#)
- (if (if #{tmp\ 4848}#
- (apply (lambda (#{_\ 4852}#
- #{id\ 4853}#
- #{val\ 4854}#)
+ (cons #{args\ 17086}#
+ (cons #{b0\ 17087}#
+ #{b1\ 17088}#)))))
+ #{tmp\ 17078}#)
+ ((lambda (#{tmp\ 17090}#)
+ (if (if #{tmp\ 17090}#
+ (apply (lambda (#{_\ 17094}#
+ #{id\ 17095}#
+ #{val\ 17096}#)
(identifier?
'#(syntax-object
x
@@ -15625,44 +16583,44 @@
#(ribcage
#(_ id val)
#((top) (top) (top))
- #("i4849" "i4850" "i4851"))
+ #("i17091" "i17092" "i17093"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4834")))
+ #("i17076")))
(hygiene guile))))
- #{tmp\ 4848}#)
+ #{tmp\ 17090}#)
#f)
- (apply (lambda (#{_\ 4858}#
- #{id\ 4859}#
- #{val\ 4860}#)
+ (apply (lambda (#{_\ 17100}#
+ #{id\ 17101}#
+ #{val\ 17102}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(_ id val)
#((top) (top) (top))
- #("i4855" "i4856" "i4857"))
+ #("i17097" "i17098" "i17099"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
- #("i4834")))
+ #("i17076")))
(hygiene guile))
- #{id\ 4859}#
- #{val\ 4860}#))
- #{tmp\ 4848}#)
+ #{id\ 17101}#
+ #{val\ 17102}#))
+ #{tmp\ 17090}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 4835}#)))
+ #{tmp\ 17077}#)))
($sc-dispatch
- #{tmp\ 4835}#
+ #{tmp\ 17077}#
'(any any any)))))
($sc-dispatch
- #{tmp\ 4835}#
+ #{tmp\ 17077}#
'(any (any . any) any . each-any))))
- #{x\ 4833}#))
+ #{x\ 17075}#))
(module-name (current-module)))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 877269c..daf00f4 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -224,6 +224,24 @@
(apply f (cons x xr))
(and (apply f (cons x xr)) (andmap first rest)))))))))
+(define-syntax define-expansion-constructors
+ (lambda (x)
+ (syntax-case x ()
+ ((_)
+ (let lp ((n 0) (out '()))
+ (if (< n (vector-length %expanded-vtables))
+ (lp (1+ n)
+ (let* ((vtable (vector-ref %expanded-vtables n))
+ (stem (struct-ref vtable (+ vtable-offset-user 0)))
+ (fields (struct-ref vtable (+ vtable-offset-user 2)))
+ (sfields (map (lambda (f) (datum->syntax x f)) fields))
+ (ctor (datum->syntax x (symbol-append 'make- stem))))
+ (cons #`(define (#,ctor #,@sfields)
+ (make-struct (vector-ref %expanded-vtables #,n) 0
+ #,@sfields))
+ out)))
+ #`(begin #,@(reverse out))))))))
+
(define-syntax define-structure
(lambda (x)
(define construct-name
@@ -278,6 +296,8 @@
(let ()
(define *mode* (make-fluid))
+ (define-expansion-constructors)
+
;;; hooks to nonportable run-time helpers
(begin
(define fx+ +)
@@ -287,20 +307,12 @@
(define top-level-eval-hook
(lambda (x mod)
- (primitive-eval
- (memoize-expression
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) tree-il->scheme) x))
- (else x))))))
+ (primitive-eval (memoize-expression x))))
(define local-eval-hook
(lambda (x mod)
- (primitive-eval
- (memoize-expression
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) tree-il->scheme) x))
- (else x))))))
-
+ (primitive-eval (memoize-expression x))))
+
(define-syntax gensym-hook
(syntax-rules ()
((_) (gensym))))
@@ -336,46 +348,28 @@
;;; output constructors
(define build-void
(lambda (source)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-void) source))
- (else (decorate-source '(if #f #f) source)))))
+ (make-void source)))
(define build-application
(lambda (source fun-exp arg-exps)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-application) source fun-exp arg-exps))
- (else (decorate-source `(,fun-exp . ,arg-exps) source)))))
-
+ (make-application source fun-exp arg-exps)))
+
(define build-conditional
(lambda (source test-exp then-exp else-exp)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-conditional)
- source test-exp then-exp else-exp))
- (else (decorate-source
- (if (equal? else-exp '(if #f #f))
- `(if ,test-exp ,then-exp)
- `(if ,test-exp ,then-exp ,else-exp))
- source)))))
-
+ (make-conditional source test-exp then-exp else-exp)))
+
(define build-dynlet
(lambda (source fluids vals body)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-dynlet) source fluids vals body))
- (else (decorate-source `(with-fluids ,(map list fluids vals) ,body)
- source)))))
-
+ (make-dynlet source fluids vals body)))
+
(define build-lexical-reference
(lambda (type source name var)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-lexical-ref) source name var))
- (else (decorate-source var source)))))
-
+ (make-lexical-ref source name var)))
+
(define build-lexical-assignment
(lambda (source name var exp)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-lexical-set) source name var exp))
- (else (decorate-source `(set! ,var ,exp) source)))))
-
+ (make-lexical-set source name var exp)))
+
;; Before modules are booted, we can't expand into data structures from
;; (language tree-il) -- we need to give the evaluator the
;; s-expressions that it understands natively. Actually the real truth
@@ -406,26 +400,18 @@
(analyze-variable
mod var
(lambda (mod var public?)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-module-ref) source mod var
public?))
- (else (decorate-source (list (if public? '@ '@@) mod var) source))))
+ (make-module-ref source mod var public?))
(lambda (var)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-toplevel-ref) source var))
- (else (decorate-source var source)))))))
+ (make-toplevel-ref source var)))))
(define build-global-assignment
(lambda (source var exp mod)
(analyze-variable
mod var
(lambda (mod var public?)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-module-set) source mod var public?
exp))
- (else (decorate-source `(set! ,(list (if public? '@ '@@) mod var)
,exp) source))))
+ (make-module-set source mod var public? exp))
(lambda (var)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-toplevel-set) source var exp))
- (else (decorate-source `(set! ,var ,exp) source)))))))
+ (make-toplevel-set source var exp)))))
;; FIXME: there is a bug that prevents (set! ((@ (foo) bar) baz) quz)
;; from working. Hack around it.
@@ -440,11 +426,9 @@
(define build-global-definition
(lambda (source var exp)
- (case (fluid-ref *mode*)
- ((c)
- (maybe-name-value! var exp)
- ((@ (language tree-il) make-toplevel-define) source var exp))
- (else (decorate-source `(define ,var ,exp) source)))))
+ ;; FIXME:
+ ;; (maybe-name-value! var exp)
+ (make-toplevel-define source var exp)))
;; Ideally we would have all lambdas be case lambdas, but that would
;; need special support in the interpreter for the full capabilities
@@ -453,26 +437,16 @@
;; the cases.
(define build-simple-lambda
(lambda (src req rest vars meta exp)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-lambda) src
- meta
- ;; hah, a case in which kwargs would be nice.
- ((@ (language tree-il) make-lambda-case)
- ;; 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)
- ,exp)
- src)))))
+ (make-lambda src
+ meta
+ ;; hah, a case in which kwargs would be nice.
+ (make-lambda-case
+ ;; src req opt rest kw inits vars body else
+ src req #f rest #f '() vars exp #f))))
+
(define build-case-lambda
(lambda (src meta body)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-lambda) src
- meta
- body))
- (else (decorate-source
- `(case-lambda* ,@body)
- src)))))
+ (make-lambda src meta body)))
(define build-lambda-case
;; req := (name ...)
@@ -486,6 +460,7 @@
;; the body of a lambda: anything, already expanded
;; else: lambda-case | #f
(lambda (src req opt rest kw inits vars body else-case)
+ ;; FIXME!!!
(case (fluid-ref *mode*)
((c)
((@ (language tree-il) make-lambda-case)
@@ -507,65 +482,32 @@
(+ nreq (length inits) (if rest 1 0)))
(error "something went wrong"
req opt rest kw inits vars nreq nopt kw-indices nargs))
- (decorate-source
- `(((,@(list-head vars nreq)
- ,@(if opt
- `(#:optional ,@(map list
- (list-head (list-tail vars nreq)
nopt)
- (list-head inits nopt)))
- '())
- ,@(if kw
- `(#:key ,@(map (lambda (x init)
- (list (caddr x)
- init
- (car x)))
- (cdr kw)
- (list-tail inits nopt)))
- '())
- ,@(if allow-other-keys? '(#:allow-other-keys) '())
- ,@(if rest (list-ref vars rest-idx) '()))
- ,body)
- ,@(or else-case '()))
- src))))))
+ (make-lambda-case src req opt rest
+ (and kw (cons allow-other-keys? kw-indices))
+ inits vars body else-case))))))
(define build-primref
(lambda (src name)
(if (equal? (module-name (current-module)) '(guile))
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-toplevel-ref) src name))
- (else (decorate-source name src)))
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-module-ref) src '(guile) name #f))
- (else (decorate-source `(@@ (guile) ,name) src))))))
+ (make-toplevel-ref src name)
+ (make-module-ref src '(guile) name #f))))
(define (build-data src exp)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-const) src exp))
- (else (decorate-source
- (if (and (self-evaluating? exp) (not (vector? exp)))
- exp
- (list 'quote exp))
- src))))
+ (make-const src exp))
(define build-sequence
(lambda (src exps)
(if (null? (cdr exps))
(car exps)
- (case (fluid-ref *mode*)
- ((c) ((@ (language tree-il) make-sequence) src exps))
- (else (decorate-source `(begin ,@exps) src))))))
+ (make-sequence src exps))))
(define build-let
(lambda (src ids vars val-exps body-exp)
+ ;; FIXME
+ ;; (for-each maybe-name-value! ids val-exps)
(if (null? vars)
body-exp
- (case (fluid-ref *mode*)
- ((c)
- (for-each maybe-name-value! ids val-exps)
- ((@ (language tree-il) make-let) src ids vars val-exps body-exp))
- (else (decorate-source
- `(let ,(map list vars val-exps) ,body-exp)
- src))))))
+ (make-let src ids vars val-exps body-exp))))
(define build-named-let
(lambda (src ids vars val-exps body-exp)
@@ -573,31 +515,24 @@
(f-name (car ids))
(vars (cdr vars))
(ids (cdr ids)))
- (case (fluid-ref *mode*)
- ((c)
- (let ((proc (build-simple-lambda src ids #f vars '() body-exp)))
- (maybe-name-value! f-name proc)
- (for-each maybe-name-value! ids val-exps)
- ((@ (language tree-il) make-letrec) src
- (list f-name) (list f) (list proc)
- (build-application src (build-lexical-reference 'fun src f-name
f)
- val-exps))))
- (else (decorate-source
- `(letrec ((,f (lambda ,vars ,body-exp)))
- (,f ,@val-exps))
- src))))))
+ (let ((proc (build-simple-lambda src ids #f vars '() body-exp)))
+ ;; FIXME
+ ;; (maybe-name-value! f-name proc)
+ ;; (for-each maybe-name-value! ids val-exps)
+ (make-letrec
+ src
+ (list f-name) (list f) (list proc)
+ (build-application src (build-lexical-reference 'fun src f-name f)
+ val-exps))))))
(define build-letrec
(lambda (src ids vars val-exps body-exp)
(if (null? vars)
body-exp
- (case (fluid-ref *mode*)
- ((c)
- (for-each maybe-name-value! ids val-exps)
- ((@ (language tree-il) make-letrec) src ids vars val-exps
body-exp))
- (else (decorate-source
- `(letrec ,(map list vars val-exps) ,body-exp)
- src))))))
+ ;; FIXME
+ ;; (for-each maybe-name-value! ids val-exps)
+ (make-letrec src ids vars val-exps body-exp))))
+
;; FIXME: use a faster gensym
(define-syntax build-lexical-var
diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm
index bec3bec..5f4c014 100644
--- a/module/language/tree-il.scm
+++ b/module/language/tree-il.scm
@@ -61,28 +61,70 @@
post-order!
pre-order!))
+(define-syntax borrow-core-vtables
+ (lambda (x)
+ (syntax-case x ()
+ ((_)
+ (let lp ((n 0) (out '()))
+ (if (< n (vector-length %expanded-vtables))
+ (lp (1+ n)
+ (let* ((vtable (vector-ref %expanded-vtables n))
+ (stem (struct-ref vtable (+ vtable-offset-user 0)))
+ (fields (struct-ref vtable (+ vtable-offset-user 2)))
+ (sfields (map
+ (lambda (f) (datum->syntax x f))
+ fields))
+ (type (datum->syntax x (symbol-append '< stem '>)))
+ (ctor (datum->syntax x (symbol-append 'make- stem)))
+ (pred (datum->syntax x (symbol-append stem '?))))
+ (let lp ((n 0) (fields fields)
+ (out (cons*
+ #`(define (#,ctor #,@sfields)
+ (make-struct #,type 0 #,@sfields))
+ #`(define (#,pred x)
+ (and (struct? x)
+ (eq? (struct-vtable x) #,type)))
+ #`(define #,type
+ (vector-ref %expanded-vtables #,n))
+ out)))
+ (if (null? fields)
+ out
+ (lp (1+ n)
+ (cdr fields)
+ (let ((acc (datum->syntax
+ x (symbol-append stem '- (car
fields)))))
+ (cons #`(define #,acc
+ (make-procedure-with-setter
+ (lambda (x) (struct-ref x #,n))
+ (lambda (x v) (struct-set! x #,n
v))))
+ out)))))))
+ #`(begin #,@(reverse out))))))))
+
+(borrow-core-vtables)
+
+ ;; (<void>)
+ ;; (<const> exp)
+ ;; (<primitive-ref> name)
+ ;; (<lexical-ref> name gensym)
+ ;; (<lexical-set> name gensym exp)
+ ;; (<module-ref> mod name public?)
+ ;; (<module-set> mod name public? exp)
+ ;; (<toplevel-ref> name)
+ ;; (<toplevel-set> name exp)
+ ;; (<toplevel-define> name exp)
+ ;; (<conditional> test consequent alternate)
+ ;; (<application> proc args)
+ ;; (<sequence> exps)
+ ;; (<lambda> meta body)
+ ;; (<lambda-case> req opt rest kw inits gensyms body alternate)
+ ;; (<let> names gensyms vals body)
+ ;; (<letrec> names gensyms vals body)
+ ;; (<dynlet> fluids vals body)
+
(define-type (<tree-il> #:common-slots (src))
- (<void>)
- (<const> exp)
- (<primitive-ref> name)
- (<lexical-ref> name gensym)
- (<lexical-set> name gensym exp)
- (<module-ref> mod name public?)
- (<module-set> mod name public? exp)
- (<toplevel-ref> name)
- (<toplevel-set> name exp)
- (<toplevel-define> name exp)
- (<conditional> test consequent alternate)
- (<application> proc args)
- (<sequence> exps)
- (<lambda> meta body)
- (<lambda-case> req opt rest kw inits gensyms body alternate)
- (<let> names gensyms vals body)
- (<letrec> names gensyms vals body)
(<fix> names gensyms vals body)
(<let-values> exp body)
(<dynwind> winder body unwinder)
- (<dynlet> fluids vals body)
(<dynref> fluid)
(<dynset> fluid exp)
(<prompt> tag body handler)
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, master, updated. release_1-9-10-126-g3e5ea35,
Andy Wingo <=