summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/_scm.h2
-rw-r--r--libguile/vm-i-system.c74
-rw-r--r--module/ice-9/psyntax-pp.scm4294
-rw-r--r--module/ice-9/psyntax.scm62
-rw-r--r--module/language/glil.scm24
-rw-r--r--module/language/glil/compile-assembly.scm30
-rw-r--r--module/language/tree-il/compile-glil.scm76
-rw-r--r--test-suite/tests/tree-il.test8
8 files changed, 2373 insertions, 2197 deletions
diff --git a/libguile/_scm.h b/libguile/_scm.h
index a7a5e8f6f..21fe5bc07 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -172,7 +172,7 @@
/* Major and minor versions must be single characters. */
#define SCM_OBJCODE_MAJOR_VERSION 0
-#define SCM_OBJCODE_MINOR_VERSION I
+#define SCM_OBJCODE_MINOR_VERSION J
#define SCM_OBJCODE_MAJOR_VERSION_STRING \
SCM_CPP_STRINGIFY(SCM_OBJCODE_MAJOR_VERSION)
#define SCM_OBJCODE_MINOR_VERSION_STRING \
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 66e493511..f1fdc4d57 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -624,7 +624,7 @@ VM_DEFINE_INSTRUCTION (45, bind_kwargs, "bind-kwargs", 5, 0, 0)
NEXT;
}
-VM_DEFINE_INSTRUCTION (46, bind_rest, "bind-rest", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (46, push_rest, "push-rest", 2, -1, -1)
{
scm_t_ptrdiff n;
SCM rest = SCM_EOL;
@@ -637,7 +637,23 @@ VM_DEFINE_INSTRUCTION (46, bind_rest, "bind-rest", 2, -1, -1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (47, reserve_locals, "reserve-locals", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (47, bind_rest, "bind-rest", 4, -1, -1)
+{
+ scm_t_ptrdiff n;
+ scm_t_uint32 i;
+ SCM rest = SCM_EOL;
+ n = FETCH () << 8;
+ n += FETCH ();
+ i = FETCH () << 8;
+ i += FETCH ();
+ while (sp - (fp - 1) > n)
+ /* No need to check for underflow. */
+ CONS (rest, *sp--, rest);
+ LOCAL_SET (i, rest);
+ NEXT;
+}
+
+VM_DEFINE_INSTRUCTION (48, reserve_locals, "reserve-locals", 2, -1, -1)
{
SCM *old_sp;
scm_t_int32 n;
@@ -658,7 +674,7 @@ VM_DEFINE_INSTRUCTION (47, reserve_locals, "reserve-locals", 2, -1, -1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (48, new_frame, "new-frame", 0, 0, 3)
+VM_DEFINE_INSTRUCTION (49, new_frame, "new-frame", 0, 0, 3)
{
/* NB: if you change this, see frames.c:vm-frame-num-locals */
/* and frames.h, vm-engine.c, etc of course */
@@ -668,7 +684,7 @@ VM_DEFINE_INSTRUCTION (48, new_frame, "new-frame", 0, 0, 3)
NEXT;
}
-VM_DEFINE_INSTRUCTION (49, call, "call", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (50, call, "call", 1, -1, 1)
{
SCM x;
nargs = FETCH ();
@@ -729,7 +745,7 @@ VM_DEFINE_INSTRUCTION (49, call, "call", 1, -1, 1)
goto vm_error_wrong_type_apply;
}
-VM_DEFINE_INSTRUCTION (50, goto_args, "goto/args", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (51, goto_args, "goto/args", 1, -1, 1)
{
register SCM x;
nargs = FETCH ();
@@ -802,7 +818,7 @@ VM_DEFINE_INSTRUCTION (50, goto_args, "goto/args", 1, -1, 1)
goto vm_error_wrong_type_apply;
}
-VM_DEFINE_INSTRUCTION (51, goto_nargs, "goto/nargs", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (52, goto_nargs, "goto/nargs", 0, 0, 1)
{
SCM x;
POP (x);
@@ -811,7 +827,7 @@ VM_DEFINE_INSTRUCTION (51, goto_nargs, "goto/nargs", 0, 0, 1)
goto vm_goto_args;
}
-VM_DEFINE_INSTRUCTION (52, call_nargs, "call/nargs", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (53, call_nargs, "call/nargs", 0, 0, 1)
{
SCM x;
POP (x);
@@ -820,7 +836,7 @@ VM_DEFINE_INSTRUCTION (52, call_nargs, "call/nargs", 0, 0, 1)
goto vm_call;
}
-VM_DEFINE_INSTRUCTION (53, mv_call, "mv-call", 4, -1, 1)
+VM_DEFINE_INSTRUCTION (54, mv_call, "mv-call", 4, -1, 1)
{
SCM x;
scm_t_int32 offset;
@@ -882,7 +898,7 @@ VM_DEFINE_INSTRUCTION (53, mv_call, "mv-call", 4, -1, 1)
goto vm_error_wrong_type_apply;
}
-VM_DEFINE_INSTRUCTION (54, apply, "apply", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (55, apply, "apply", 1, -1, 1)
{
int len;
SCM ls;
@@ -901,7 +917,7 @@ VM_DEFINE_INSTRUCTION (54, apply, "apply", 1, -1, 1)
goto vm_call;
}
-VM_DEFINE_INSTRUCTION (55, goto_apply, "goto/apply", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (56, goto_apply, "goto/apply", 1, -1, 1)
{
int len;
SCM ls;
@@ -920,7 +936,7 @@ VM_DEFINE_INSTRUCTION (55, goto_apply, "goto/apply", 1, -1, 1)
goto vm_goto_args;
}
-VM_DEFINE_INSTRUCTION (56, call_cc, "call/cc", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (57, call_cc, "call/cc", 0, 1, 1)
{
int first;
SCM proc, cont;
@@ -957,7 +973,7 @@ VM_DEFINE_INSTRUCTION (56, call_cc, "call/cc", 0, 1, 1)
}
}
-VM_DEFINE_INSTRUCTION (57, goto_cc, "goto/cc", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (58, goto_cc, "goto/cc", 0, 1, 1)
{
int first;
SCM proc, cont;
@@ -989,7 +1005,7 @@ VM_DEFINE_INSTRUCTION (57, goto_cc, "goto/cc", 0, 1, 1)
}
}
-VM_DEFINE_INSTRUCTION (58, return, "return", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (59, return, "return", 0, 1, 1)
{
vm_return:
EXIT_HOOK ();
@@ -1025,7 +1041,7 @@ VM_DEFINE_INSTRUCTION (58, return, "return", 0, 1, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (59, return_values, "return/values", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (60, return_values, "return/values", 1, -1, -1)
{
/* nvalues declared at top level, because for some reason gcc seems to think
that perhaps it might be used without declaration. Fooey to that, I say. */
@@ -1080,7 +1096,7 @@ VM_DEFINE_INSTRUCTION (59, return_values, "return/values", 1, -1, -1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (60, return_values_star, "return/values*", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (61, return_values_star, "return/values*", 1, -1, -1)
{
SCM l;
@@ -1103,7 +1119,7 @@ VM_DEFINE_INSTRUCTION (60, return_values_star, "return/values*", 1, -1, -1)
goto vm_return_values;
}
-VM_DEFINE_INSTRUCTION (61, truncate_values, "truncate-values", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (62, truncate_values, "truncate-values", 2, -1, -1)
{
SCM x;
int nbinds, rest;
@@ -1126,7 +1142,7 @@ VM_DEFINE_INSTRUCTION (61, truncate_values, "truncate-values", 2, -1, -1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (62, box, "box", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (63, box, "box", 1, 1, 0)
{
SCM val;
POP (val);
@@ -1140,7 +1156,7 @@ VM_DEFINE_INSTRUCTION (62, box, "box", 1, 1, 0)
(set! a (lambda () (b ...)))
...)
*/
-VM_DEFINE_INSTRUCTION (63, empty_box, "empty-box", 1, 0, 0)
+VM_DEFINE_INSTRUCTION (64, empty_box, "empty-box", 1, 0, 0)
{
SYNC_BEFORE_GC ();
LOCAL_SET (FETCH (),
@@ -1148,7 +1164,7 @@ VM_DEFINE_INSTRUCTION (63, empty_box, "empty-box", 1, 0, 0)
NEXT;
}
-VM_DEFINE_INSTRUCTION (64, local_boxed_ref, "local-boxed-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (65, local_boxed_ref, "local-boxed-ref", 1, 0, 1)
{
SCM v = LOCAL_REF (FETCH ());
ASSERT_BOUND_VARIABLE (v);
@@ -1156,7 +1172,7 @@ VM_DEFINE_INSTRUCTION (64, local_boxed_ref, "local-boxed-ref", 1, 0, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (65, local_boxed_set, "local-boxed-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (66, local_boxed_set, "local-boxed-set", 1, 1, 0)
{
SCM v, val;
v = LOCAL_REF (FETCH ());
@@ -1166,7 +1182,7 @@ VM_DEFINE_INSTRUCTION (65, local_boxed_set, "local-boxed-set", 1, 1, 0)
NEXT;
}
-VM_DEFINE_INSTRUCTION (66, free_ref, "free-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (67, free_ref, "free-ref", 1, 0, 1)
{
scm_t_uint8 idx = FETCH ();
@@ -1177,7 +1193,7 @@ VM_DEFINE_INSTRUCTION (66, free_ref, "free-ref", 1, 0, 1)
/* no free-set -- if a var is assigned, it should be in a box */
-VM_DEFINE_INSTRUCTION (67, free_boxed_ref, "free-boxed-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (68, free_boxed_ref, "free-boxed-ref", 1, 0, 1)
{
SCM v;
scm_t_uint8 idx = FETCH ();
@@ -1188,7 +1204,7 @@ VM_DEFINE_INSTRUCTION (67, free_boxed_ref, "free-boxed-ref", 1, 0, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (68, free_boxed_set, "free-boxed-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (69, free_boxed_set, "free-boxed-set", 1, 1, 0)
{
SCM v, val;
scm_t_uint8 idx = FETCH ();
@@ -1200,7 +1216,7 @@ VM_DEFINE_INSTRUCTION (68, free_boxed_set, "free-boxed-set", 1, 1, 0)
NEXT;
}
-VM_DEFINE_INSTRUCTION (69, make_closure, "make-closure", 0, 2, 1)
+VM_DEFINE_INSTRUCTION (70, make_closure, "make-closure", 0, 2, 1)
{
SCM vect;
POP (vect);
@@ -1211,7 +1227,7 @@ VM_DEFINE_INSTRUCTION (69, make_closure, "make-closure", 0, 2, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (70, make_variable, "make-variable", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (71, make_variable, "make-variable", 0, 0, 1)
{
SYNC_BEFORE_GC ();
/* fixme underflow */
@@ -1219,7 +1235,7 @@ VM_DEFINE_INSTRUCTION (70, make_variable, "make-variable", 0, 0, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (71, fix_closure, "fix-closure", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (72, fix_closure, "fix-closure", 2, 0, 1)
{
SCM x, vect;
unsigned int i = FETCH ();
@@ -1233,7 +1249,7 @@ VM_DEFINE_INSTRUCTION (71, fix_closure, "fix-closure", 2, 0, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (72, define, "define", 0, 0, 2)
+VM_DEFINE_INSTRUCTION (73, define, "define", 0, 0, 2)
{
SCM sym, val;
POP (sym);
@@ -1245,7 +1261,7 @@ VM_DEFINE_INSTRUCTION (72, define, "define", 0, 0, 2)
NEXT;
}
-VM_DEFINE_INSTRUCTION (73, make_keyword, "make-keyword", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (74, make_keyword, "make-keyword", 0, 1, 1)
{
CHECK_UNDERFLOW ();
SYNC_REGISTER ();
@@ -1253,7 +1269,7 @@ VM_DEFINE_INSTRUCTION (73, make_keyword, "make-keyword", 0, 1, 1)
NEXT;
}
-VM_DEFINE_INSTRUCTION (74, make_symbol, "make-symbol", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (75, make_symbol, "make-symbol", 0, 1, 1)
{
CHECK_UNDERFLOW ();
SYNC_REGISTER ();
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index f9d77f58e..d47ec6ab4 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -5524,376 +5524,461 @@
#{predicate\ 786}#
#{body\ 787}#
#{else-case\ 788}#)
- (let ((#{nkw\ 790}#
- (map (lambda (#{x\ 791}#)
- (list 'list
- (car #{x\ 791}#)
- (letrec ((#{lp\ 792}#
- (lambda (#{vars\ 793}#
- #{i\ 794}#)
- (if (null? #{vars\ 793}#)
- (error "bad kwarg"
- #{x\ 791}#)
- (if (eq? (cadr #{x\ 791}#)
- (car #{vars\ 793}#))
- #{i\ 794}#
- (#{lp\ 792}#
- (cdr #{vars\ 793}#)
- (1+ #{i\ 794}#)))))))
- (#{lp\ 792}# #{vars\ 785}# 0))
+ (let ((#{nreq\ 790}# (length #{req\ 781}#)))
+ (let ((#{nopt\ 791}#
+ (if #{opt\ 782}# (length #{opt\ 782}#) 0)))
+ (let ((#{rest-idx\ 792}#
+ (if #{rest\ 783}#
+ (+ #{nreq\ 790}# #{nopt\ 791}#)
+ #f)))
+ (let ((#{opt-inits\ 793}#
+ (map (lambda (#{x\ 794}#)
(list 'lambda
- '()
- (caddr #{x\ 791}#))))
- #{kw\ 784}#)))
- (#{decorate-source\ 94}#
- (cons (list (cons '(@@ (ice-9 optargs)
- parse-lambda-case)
- (cons (list 'list
- (length #{req\ 781}#)
- (length #{opt\ 782}#)
- (if #{rest\ 783}# #t #f)
- #{nkw\ 790}#
- (if #{predicate\ 786}#
- (error "not yet implemented")
- #f))
- '(%%args)))
- '=>
- (list 'lambda
- #{vars\ 785}#
- #{body\ 787}#))
- (let ((#{t\ 795}# #{else-case\ 788}#))
- (if #{t\ 795}#
- #{t\ 795}#
- '((%%args
- (error "wrong number of arguments"
- %%args))))))
- #{src\ 780}#))))))
+ #{vars\ 785}#
+ (cdr #{x\ 794}#)))
+ (let ((#{t\ 795}# #{opt\ 782}#))
+ (if #{t\ 795}#
+ #{t\ 795}#
+ '())))))
+ (let ((#{allow-other-keys?\ 796}#
+ (if #{kw\ 784}# (car #{kw\ 784}#) #f)))
+ (let ((#{kw-indices\ 797}#
+ (map (lambda (#{x\ 798}#)
+ (cons (car #{x\ 798}#)
+ (list-index
+ #{vars\ 785}#
+ (caddr #{x\ 798}#))))
+ (if #{kw\ 784}#
+ (cdr #{kw\ 784}#)
+ '()))))
+ (let ((#{kw-inits\ 799}#
+ (sort (filter
+ identity
+ (map (lambda (#{x\ 800}#)
+ (if (pair? (cdddr #{x\ 800}#))
+ (let ((#{i\ 801}# (list-index
+ #{vars\ 785}#
+ (caddr #{x\ 800}#))))
+ (if (> (+ #{nreq\ 790}#
+ #{nopt\ 791}#)
+ #{i\ 801}#)
+ (error "kw init for rest arg"
+ #{x\ 800}#)
+ (if (if #{rest\ 783}#
+ (= (+ #{nreq\ 790}#
+ #{nopt\ 791}#)
+ #{i\ 801}#)
+ #f)
+ (error "kw init for positional arg"
+ #{x\ 800}#)
+ (list 'lambda
+ #{vars\ 785}#
+ (cadddr
+ #{x\ 800}#)))))
+ (let ((#{i\ 802}# (list-index
+ #{vars\ 785}#
+ (caddr #{x\ 800}#))))
+ (if (< (+ #{nreq\ 790}#
+ #{nopt\ 791}#)
+ #{i\ 802}#)
+ #f
+ (error "missing init for kw arg"
+ #{x\ 800}#)))))
+ (if #{kw\ 784}#
+ (cdr #{kw\ 784}#)
+ '())))
+ (lambda (#{x\ 803}# #{y\ 804}#)
+ (< (cdr #{x\ 803}#)
+ (cdr #{y\ 804}#))))))
+ (let ((#{nargs\ 805}#
+ (apply max
+ (pk (+ #{nreq\ 790}#
+ #{nopt\ 791}#
+ (if #{rest\ 783}# 1 0)))
+ (map cdr
+ #{kw-indices\ 797}#))))
+ (begin
+ (let ((#{t\ 806}# (= #{nargs\ 805}#
+ (length
+ #{vars\ 785}#)
+ (+ #{nreq\ 790}#
+ (length
+ #{opt-inits\ 793}#)
+ (if #{rest\ 783}#
+ 1
+ 0)
+ (length
+ #{kw-inits\ 799}#)))))
+ (if #{t\ 806}#
+ #{t\ 806}#
+ (error "something went wrong"
+ #{req\ 781}#
+ #{opt\ 782}#
+ #{rest\ 783}#
+ #{kw\ 784}#
+ #{vars\ 785}#
+ #{nreq\ 790}#
+ #{nopt\ 791}#
+ #{kw-indices\ 797}#
+ #{kw-inits\ 799}#
+ #{nargs\ 805}#)))
+ (#{decorate-source\ 94}#
+ (cons (list (cons '(@@ (ice-9 optargs)
+ parse-lambda-case)
+ (cons (list 'quote
+ (list #{nreq\ 790}#
+ #{nopt\ 791}#
+ #{rest-idx\ 792}#
+ #{nargs\ 805}#
+ #{allow-other-keys?\ 796}#
+ #{kw-indices\ 797}#))
+ (cons (cons 'list
+ (append
+ #{opt-inits\ 793}#
+ #{kw-inits\ 799}#))
+ (cons (if #{predicate\ 786}#
+ (list 'lambda
+ #{vars\ 785}#
+ #{predicate\ 786}#)
+ #f)
+ '(%%args)))))
+ '=>
+ (list 'lambda
+ #{vars\ 785}#
+ #{body\ 787}#))
+ (let ((#{t\ 807}# #{else-case\ 788}#))
+ (if #{t\ 807}#
+ #{t\ 807}#
+ '((%%args
+ (error "wrong number of arguments"
+ %%args))))))
+ #{src\ 780}#))))))))))))))
(#{build-case-lambda\ 106}#
- (lambda (#{src\ 796}# #{docstring\ 797}# #{body\ 798}#)
- (let ((#{atom-key\ 799}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 799}# (quote (c)))
+ (lambda (#{src\ 808}# #{docstring\ 809}# #{body\ 810}#)
+ (let ((#{atom-key\ 811}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 811}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 796}#
- (if #{docstring\ 797}#
- (list (cons (quote documentation) #{docstring\ 797}#))
+ #{src\ 808}#
+ (if #{docstring\ 809}#
+ (list (cons (quote documentation) #{docstring\ 809}#))
'())
- #{body\ 798}#)
+ #{body\ 810}#)
(#{decorate-source\ 94}#
(cons 'lambda
(cons '%%args
(append
- (if #{docstring\ 797}#
- (list #{docstring\ 797}#)
+ (if #{docstring\ 809}#
+ (list #{docstring\ 809}#)
'())
- (list (cons (quote cond) #{body\ 798}#)))))
- #{src\ 796}#)))))
+ (list (cons (quote cond) #{body\ 810}#)))))
+ #{src\ 808}#)))))
(#{build-simple-lambda\ 105}#
- (lambda (#{src\ 800}#
- #{req\ 801}#
- #{rest\ 802}#
- #{vars\ 803}#
- #{docstring\ 804}#
- #{exp\ 805}#)
- (let ((#{atom-key\ 806}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 806}# (quote (c)))
+ (lambda (#{src\ 812}#
+ #{req\ 813}#
+ #{rest\ 814}#
+ #{vars\ 815}#
+ #{docstring\ 816}#
+ #{exp\ 817}#)
+ (let ((#{atom-key\ 818}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 818}# (quote (c)))
((@ (language tree-il) make-lambda)
- #{src\ 800}#
- (if #{docstring\ 804}#
- (list (cons (quote documentation) #{docstring\ 804}#))
+ #{src\ 812}#
+ (if #{docstring\ 816}#
+ (list (cons (quote documentation) #{docstring\ 816}#))
'())
((@ (language tree-il) make-lambda-case)
- #{src\ 800}#
- #{req\ 801}#
+ #{src\ 812}#
+ #{req\ 813}#
#f
- #{rest\ 802}#
+ #{rest\ 814}#
#f
- #{vars\ 803}#
+ #{vars\ 815}#
#f
- #{exp\ 805}#
+ #{exp\ 817}#
#f))
(#{decorate-source\ 94}#
(cons 'lambda
- (cons (if #{rest\ 802}#
- (apply cons* #{vars\ 803}#)
- #{vars\ 803}#)
+ (cons (if #{rest\ 814}#
+ (apply cons* #{vars\ 815}#)
+ #{vars\ 815}#)
(append
- (if #{docstring\ 804}#
- (list #{docstring\ 804}#)
+ (if #{docstring\ 816}#
+ (list #{docstring\ 816}#)
'())
- (list #{exp\ 805}#))))
- #{src\ 800}#)))))
+ (list #{exp\ 817}#))))
+ #{src\ 812}#)))))
(#{build-global-definition\ 104}#
- (lambda (#{source\ 807}# #{var\ 808}# #{exp\ 809}#)
- (let ((#{atom-key\ 810}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 810}# (quote (c)))
+ (lambda (#{source\ 819}# #{var\ 820}# #{exp\ 821}#)
+ (let ((#{atom-key\ 822}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 822}# (quote (c)))
(begin
(#{maybe-name-value!\ 103}#
- #{var\ 808}#
- #{exp\ 809}#)
+ #{var\ 820}#
+ #{exp\ 821}#)
((@ (language tree-il) make-toplevel-define)
- #{source\ 807}#
- #{var\ 808}#
- #{exp\ 809}#))
+ #{source\ 819}#
+ #{var\ 820}#
+ #{exp\ 821}#))
(#{decorate-source\ 94}#
- (list (quote define) #{var\ 808}# #{exp\ 809}#)
- #{source\ 807}#)))))
+ (list (quote define) #{var\ 820}# #{exp\ 821}#)
+ #{source\ 819}#)))))
(#{maybe-name-value!\ 103}#
- (lambda (#{name\ 811}# #{val\ 812}#)
- (if ((@ (language tree-il) lambda?) #{val\ 812}#)
- (let ((#{meta\ 813}#
- ((@ (language tree-il) lambda-meta) #{val\ 812}#)))
- (if (not (assq (quote name) #{meta\ 813}#))
+ (lambda (#{name\ 823}# #{val\ 824}#)
+ (if ((@ (language tree-il) lambda?) #{val\ 824}#)
+ (let ((#{meta\ 825}#
+ ((@ (language tree-il) lambda-meta) #{val\ 824}#)))
+ (if (not (assq (quote name) #{meta\ 825}#))
((setter (@ (language tree-il) lambda-meta))
- #{val\ 812}#
- (acons (quote name) #{name\ 811}# #{meta\ 813}#)))))))
+ #{val\ 824}#
+ (acons (quote name) #{name\ 823}# #{meta\ 825}#)))))))
(#{build-global-assignment\ 102}#
- (lambda (#{source\ 814}#
- #{var\ 815}#
- #{exp\ 816}#
- #{mod\ 817}#)
+ (lambda (#{source\ 826}#
+ #{var\ 827}#
+ #{exp\ 828}#
+ #{mod\ 829}#)
(#{analyze-variable\ 100}#
- #{mod\ 817}#
- #{var\ 815}#
- (lambda (#{mod\ 818}# #{var\ 819}# #{public?\ 820}#)
- (let ((#{atom-key\ 821}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 821}# (quote (c)))
+ #{mod\ 829}#
+ #{var\ 827}#
+ (lambda (#{mod\ 830}# #{var\ 831}# #{public?\ 832}#)
+ (let ((#{atom-key\ 833}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 833}# (quote (c)))
((@ (language tree-il) make-module-set)
- #{source\ 814}#
- #{mod\ 818}#
- #{var\ 819}#
- #{public?\ 820}#
- #{exp\ 816}#)
+ #{source\ 826}#
+ #{mod\ 830}#
+ #{var\ 831}#
+ #{public?\ 832}#
+ #{exp\ 828}#)
(#{decorate-source\ 94}#
(list 'set!
- (list (if #{public?\ 820}# (quote @) (quote @@))
- #{mod\ 818}#
- #{var\ 819}#)
- #{exp\ 816}#)
- #{source\ 814}#))))
- (lambda (#{var\ 822}#)
- (let ((#{atom-key\ 823}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 823}# (quote (c)))
+ (list (if #{public?\ 832}# (quote @) (quote @@))
+ #{mod\ 830}#
+ #{var\ 831}#)
+ #{exp\ 828}#)
+ #{source\ 826}#))))
+ (lambda (#{var\ 834}#)
+ (let ((#{atom-key\ 835}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 835}# (quote (c)))
((@ (language tree-il) make-toplevel-set)
- #{source\ 814}#
- #{var\ 822}#
- #{exp\ 816}#)
+ #{source\ 826}#
+ #{var\ 834}#
+ #{exp\ 828}#)
(#{decorate-source\ 94}#
- (list (quote set!) #{var\ 822}# #{exp\ 816}#)
- #{source\ 814}#)))))))
+ (list (quote set!) #{var\ 834}# #{exp\ 828}#)
+ #{source\ 826}#)))))))
(#{build-global-reference\ 101}#
- (lambda (#{source\ 824}# #{var\ 825}# #{mod\ 826}#)
+ (lambda (#{source\ 836}# #{var\ 837}# #{mod\ 838}#)
(#{analyze-variable\ 100}#
- #{mod\ 826}#
- #{var\ 825}#
- (lambda (#{mod\ 827}# #{var\ 828}# #{public?\ 829}#)
- (let ((#{atom-key\ 830}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 830}# (quote (c)))
+ #{mod\ 838}#
+ #{var\ 837}#
+ (lambda (#{mod\ 839}# #{var\ 840}# #{public?\ 841}#)
+ (let ((#{atom-key\ 842}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 842}# (quote (c)))
((@ (language tree-il) make-module-ref)
- #{source\ 824}#
- #{mod\ 827}#
- #{var\ 828}#
- #{public?\ 829}#)
+ #{source\ 836}#
+ #{mod\ 839}#
+ #{var\ 840}#
+ #{public?\ 841}#)
(#{decorate-source\ 94}#
- (list (if #{public?\ 829}# (quote @) (quote @@))
- #{mod\ 827}#
- #{var\ 828}#)
- #{source\ 824}#))))
- (lambda (#{var\ 831}#)
- (let ((#{atom-key\ 832}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 832}# (quote (c)))
+ (list (if #{public?\ 841}# (quote @) (quote @@))
+ #{mod\ 839}#
+ #{var\ 840}#)
+ #{source\ 836}#))))
+ (lambda (#{var\ 843}#)
+ (let ((#{atom-key\ 844}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 844}# (quote (c)))
((@ (language tree-il) make-toplevel-ref)
- #{source\ 824}#
- #{var\ 831}#)
+ #{source\ 836}#
+ #{var\ 843}#)
(#{decorate-source\ 94}#
- #{var\ 831}#
- #{source\ 824}#)))))))
+ #{var\ 843}#
+ #{source\ 836}#)))))))
(#{analyze-variable\ 100}#
- (lambda (#{mod\ 833}#
- #{var\ 834}#
- #{modref-cont\ 835}#
- #{bare-cont\ 836}#)
- (if (not #{mod\ 833}#)
- (#{bare-cont\ 836}# #{var\ 834}#)
- (let ((#{kind\ 837}# (car #{mod\ 833}#))
- (#{mod\ 838}# (cdr #{mod\ 833}#)))
- (if (memv #{kind\ 837}# (quote (public)))
- (#{modref-cont\ 835}#
- #{mod\ 838}#
- #{var\ 834}#
+ (lambda (#{mod\ 845}#
+ #{var\ 846}#
+ #{modref-cont\ 847}#
+ #{bare-cont\ 848}#)
+ (if (not #{mod\ 845}#)
+ (#{bare-cont\ 848}# #{var\ 846}#)
+ (let ((#{kind\ 849}# (car #{mod\ 845}#))
+ (#{mod\ 850}# (cdr #{mod\ 845}#)))
+ (if (memv #{kind\ 849}# (quote (public)))
+ (#{modref-cont\ 847}#
+ #{mod\ 850}#
+ #{var\ 846}#
#t)
- (if (memv #{kind\ 837}# (quote (private)))
+ (if (memv #{kind\ 849}# (quote (private)))
(if (not (equal?
- #{mod\ 838}#
+ #{mod\ 850}#
(module-name (current-module))))
- (#{modref-cont\ 835}#
- #{mod\ 838}#
- #{var\ 834}#
+ (#{modref-cont\ 847}#
+ #{mod\ 850}#
+ #{var\ 846}#
#f)
- (#{bare-cont\ 836}# #{var\ 834}#))
- (if (memv #{kind\ 837}# (quote (bare)))
- (#{bare-cont\ 836}# #{var\ 834}#)
- (if (memv #{kind\ 837}# (quote (hygiene)))
+ (#{bare-cont\ 848}# #{var\ 846}#))
+ (if (memv #{kind\ 849}# (quote (bare)))
+ (#{bare-cont\ 848}# #{var\ 846}#)
+ (if (memv #{kind\ 849}# (quote (hygiene)))
(if (if (not (equal?
- #{mod\ 838}#
+ #{mod\ 850}#
(module-name (current-module))))
(module-variable
- (resolve-module #{mod\ 838}#)
- #{var\ 834}#)
+ (resolve-module #{mod\ 850}#)
+ #{var\ 846}#)
#f)
- (#{modref-cont\ 835}#
- #{mod\ 838}#
- #{var\ 834}#
+ (#{modref-cont\ 847}#
+ #{mod\ 850}#
+ #{var\ 846}#
#f)
- (#{bare-cont\ 836}# #{var\ 834}#))
+ (#{bare-cont\ 848}# #{var\ 846}#))
(syntax-violation
#f
"bad module kind"
- #{var\ 834}#
- #{mod\ 838}#)))))))))
+ #{var\ 846}#
+ #{mod\ 850}#)))))))))
(#{build-lexical-assignment\ 99}#
- (lambda (#{source\ 839}#
- #{name\ 840}#
- #{var\ 841}#
- #{exp\ 842}#)
- (let ((#{atom-key\ 843}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 843}# (quote (c)))
+ (lambda (#{source\ 851}#
+ #{name\ 852}#
+ #{var\ 853}#
+ #{exp\ 854}#)
+ (let ((#{atom-key\ 855}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 855}# (quote (c)))
((@ (language tree-il) make-lexical-set)
- #{source\ 839}#
- #{name\ 840}#
- #{var\ 841}#
- #{exp\ 842}#)
+ #{source\ 851}#
+ #{name\ 852}#
+ #{var\ 853}#
+ #{exp\ 854}#)
(#{decorate-source\ 94}#
- (list (quote set!) #{var\ 841}# #{exp\ 842}#)
- #{source\ 839}#)))))
+ (list (quote set!) #{var\ 853}# #{exp\ 854}#)
+ #{source\ 851}#)))))
(#{build-lexical-reference\ 98}#
- (lambda (#{type\ 844}#
- #{source\ 845}#
- #{name\ 846}#
- #{var\ 847}#)
- (let ((#{atom-key\ 848}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 848}# (quote (c)))
+ (lambda (#{type\ 856}#
+ #{source\ 857}#
+ #{name\ 858}#
+ #{var\ 859}#)
+ (let ((#{atom-key\ 860}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 860}# (quote (c)))
((@ (language tree-il) make-lexical-ref)
- #{source\ 845}#
- #{name\ 846}#
- #{var\ 847}#)
+ #{source\ 857}#
+ #{name\ 858}#
+ #{var\ 859}#)
(#{decorate-source\ 94}#
- #{var\ 847}#
- #{source\ 845}#)))))
+ #{var\ 859}#
+ #{source\ 857}#)))))
(#{build-conditional\ 97}#
- (lambda (#{source\ 849}#
- #{test-exp\ 850}#
- #{then-exp\ 851}#
- #{else-exp\ 852}#)
- (let ((#{atom-key\ 853}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 853}# (quote (c)))
+ (lambda (#{source\ 861}#
+ #{test-exp\ 862}#
+ #{then-exp\ 863}#
+ #{else-exp\ 864}#)
+ (let ((#{atom-key\ 865}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 865}# (quote (c)))
((@ (language tree-il) make-conditional)
- #{source\ 849}#
- #{test-exp\ 850}#
- #{then-exp\ 851}#
- #{else-exp\ 852}#)
+ #{source\ 861}#
+ #{test-exp\ 862}#
+ #{then-exp\ 863}#
+ #{else-exp\ 864}#)
(#{decorate-source\ 94}#
- (if (equal? #{else-exp\ 852}# (quote (if #f #f)))
+ (if (equal? #{else-exp\ 864}# (quote (if #f #f)))
(list 'if
- #{test-exp\ 850}#
- #{then-exp\ 851}#)
+ #{test-exp\ 862}#
+ #{then-exp\ 863}#)
(list 'if
- #{test-exp\ 850}#
- #{then-exp\ 851}#
- #{else-exp\ 852}#))
- #{source\ 849}#)))))
+ #{test-exp\ 862}#
+ #{then-exp\ 863}#
+ #{else-exp\ 864}#))
+ #{source\ 861}#)))))
(#{build-application\ 96}#
- (lambda (#{source\ 854}#
- #{fun-exp\ 855}#
- #{arg-exps\ 856}#)
- (let ((#{atom-key\ 857}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 857}# (quote (c)))
+ (lambda (#{source\ 866}#
+ #{fun-exp\ 867}#
+ #{arg-exps\ 868}#)
+ (let ((#{atom-key\ 869}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 869}# (quote (c)))
((@ (language tree-il) make-application)
- #{source\ 854}#
- #{fun-exp\ 855}#
- #{arg-exps\ 856}#)
+ #{source\ 866}#
+ #{fun-exp\ 867}#
+ #{arg-exps\ 868}#)
(#{decorate-source\ 94}#
- (cons #{fun-exp\ 855}# #{arg-exps\ 856}#)
- #{source\ 854}#)))))
+ (cons #{fun-exp\ 867}# #{arg-exps\ 868}#)
+ #{source\ 866}#)))))
(#{build-void\ 95}#
- (lambda (#{source\ 858}#)
- (let ((#{atom-key\ 859}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 859}# (quote (c)))
+ (lambda (#{source\ 870}#)
+ (let ((#{atom-key\ 871}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 871}# (quote (c)))
((@ (language tree-il) make-void)
- #{source\ 858}#)
+ #{source\ 870}#)
(#{decorate-source\ 94}#
'(if #f #f)
- #{source\ 858}#)))))
+ #{source\ 870}#)))))
(#{decorate-source\ 94}#
- (lambda (#{e\ 860}# #{s\ 861}#)
+ (lambda (#{e\ 872}# #{s\ 873}#)
(begin
- (if (if (pair? #{e\ 860}#) #{s\ 861}# #f)
- (set-source-properties! #{e\ 860}# #{s\ 861}#))
- #{e\ 860}#)))
+ (if (if (pair? #{e\ 872}#) #{s\ 873}# #f)
+ (set-source-properties! #{e\ 872}# #{s\ 873}#))
+ #{e\ 872}#)))
(#{get-global-definition-hook\ 93}#
- (lambda (#{symbol\ 862}# #{module\ 863}#)
+ (lambda (#{symbol\ 874}# #{module\ 875}#)
(begin
- (if (if (not #{module\ 863}#) (current-module) #f)
+ (if (if (not #{module\ 875}#) (current-module) #f)
(warn "module system is booted, we should have a module"
- #{symbol\ 862}#))
- (let ((#{v\ 864}# (module-variable
- (if #{module\ 863}#
- (resolve-module (cdr #{module\ 863}#))
+ #{symbol\ 874}#))
+ (let ((#{v\ 876}# (module-variable
+ (if #{module\ 875}#
+ (resolve-module (cdr #{module\ 875}#))
(current-module))
- #{symbol\ 862}#)))
- (if #{v\ 864}#
- (if (variable-bound? #{v\ 864}#)
- (let ((#{val\ 865}# (variable-ref #{v\ 864}#)))
- (if (macro? #{val\ 865}#)
- (if (syncase-macro-type #{val\ 865}#)
- (cons (syncase-macro-type #{val\ 865}#)
- (syncase-macro-binding #{val\ 865}#))
+ #{symbol\ 874}#)))
+ (if #{v\ 876}#
+ (if (variable-bound? #{v\ 876}#)
+ (let ((#{val\ 877}# (variable-ref #{v\ 876}#)))
+ (if (macro? #{val\ 877}#)
+ (if (syncase-macro-type #{val\ 877}#)
+ (cons (syncase-macro-type #{val\ 877}#)
+ (syncase-macro-binding #{val\ 877}#))
#f)
#f))
#f)
#f)))))
(#{put-global-definition-hook\ 92}#
- (lambda (#{symbol\ 866}# #{type\ 867}# #{val\ 868}#)
- (let ((#{existing\ 869}#
- (let ((#{v\ 870}# (module-variable
+ (lambda (#{symbol\ 878}# #{type\ 879}# #{val\ 880}#)
+ (let ((#{existing\ 881}#
+ (let ((#{v\ 882}# (module-variable
(current-module)
- #{symbol\ 866}#)))
- (if #{v\ 870}#
- (if (variable-bound? #{v\ 870}#)
- (let ((#{val\ 871}# (variable-ref #{v\ 870}#)))
- (if (macro? #{val\ 871}#)
- (if (not (syncase-macro-type #{val\ 871}#))
- #{val\ 871}#
+ #{symbol\ 878}#)))
+ (if #{v\ 882}#
+ (if (variable-bound? #{v\ 882}#)
+ (let ((#{val\ 883}# (variable-ref #{v\ 882}#)))
+ (if (macro? #{val\ 883}#)
+ (if (not (syncase-macro-type #{val\ 883}#))
+ #{val\ 883}#
#f)
#f))
#f)
#f))))
(module-define!
(current-module)
- #{symbol\ 866}#
- (if #{existing\ 869}#
+ #{symbol\ 878}#
+ (if #{existing\ 881}#
(make-extended-syncase-macro
- #{existing\ 869}#
- #{type\ 867}#
- #{val\ 868}#)
- (make-syncase-macro #{type\ 867}# #{val\ 868}#))))))
+ #{existing\ 881}#
+ #{type\ 879}#
+ #{val\ 880}#)
+ (make-syncase-macro #{type\ 879}# #{val\ 880}#))))))
(#{local-eval-hook\ 91}#
- (lambda (#{x\ 872}# #{mod\ 873}#)
+ (lambda (#{x\ 884}# #{mod\ 885}#)
(primitive-eval
(list #{noexpand\ 84}#
- (let ((#{atom-key\ 874}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 874}# (quote (c)))
+ (let ((#{atom-key\ 886}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 886}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 872}#)
- #{x\ 872}#))))))
+ #{x\ 884}#)
+ #{x\ 884}#))))))
(#{top-level-eval-hook\ 90}#
- (lambda (#{x\ 875}# #{mod\ 876}#)
+ (lambda (#{x\ 887}# #{mod\ 888}#)
(primitive-eval
(list #{noexpand\ 84}#
- (let ((#{atom-key\ 877}# (fluid-ref #{*mode*\ 85}#)))
- (if (memv #{atom-key\ 877}# (quote (c)))
+ (let ((#{atom-key\ 889}# (fluid-ref #{*mode*\ 85}#)))
+ (if (memv #{atom-key\ 889}# (quote (c)))
((@ (language tree-il) tree-il->scheme)
- #{x\ 875}#)
- #{x\ 875}#))))))
+ #{x\ 887}#)
+ #{x\ 887}#))))))
(#{fx<\ 89}# <)
(#{fx=\ 88}# =)
(#{fx-\ 87}# -)
@@ -5912,997 +5997,998 @@
(#{global-extend\ 129}#
'core
'fluid-let-syntax
- (lambda (#{e\ 878}#
- #{r\ 879}#
- #{w\ 880}#
- #{s\ 881}#
- #{mod\ 882}#)
- ((lambda (#{tmp\ 883}#)
- ((lambda (#{tmp\ 884}#)
- (if (if #{tmp\ 884}#
- (apply (lambda (#{_\ 885}#
- #{var\ 886}#
- #{val\ 887}#
- #{e1\ 888}#
- #{e2\ 889}#)
- (#{valid-bound-ids?\ 156}# #{var\ 886}#))
- #{tmp\ 884}#)
+ (lambda (#{e\ 890}#
+ #{r\ 891}#
+ #{w\ 892}#
+ #{s\ 893}#
+ #{mod\ 894}#)
+ ((lambda (#{tmp\ 895}#)
+ ((lambda (#{tmp\ 896}#)
+ (if (if #{tmp\ 896}#
+ (apply (lambda (#{_\ 897}#
+ #{var\ 898}#
+ #{val\ 899}#
+ #{e1\ 900}#
+ #{e2\ 901}#)
+ (#{valid-bound-ids?\ 156}# #{var\ 898}#))
+ #{tmp\ 896}#)
#f)
- (apply (lambda (#{_\ 891}#
- #{var\ 892}#
- #{val\ 893}#
- #{e1\ 894}#
- #{e2\ 895}#)
- (let ((#{names\ 896}#
- (map (lambda (#{x\ 897}#)
+ (apply (lambda (#{_\ 903}#
+ #{var\ 904}#
+ #{val\ 905}#
+ #{e1\ 906}#
+ #{e2\ 907}#)
+ (let ((#{names\ 908}#
+ (map (lambda (#{x\ 909}#)
(#{id-var-name\ 153}#
- #{x\ 897}#
- #{w\ 880}#))
- #{var\ 892}#)))
+ #{x\ 909}#
+ #{w\ 892}#))
+ #{var\ 904}#)))
(begin
(for-each
- (lambda (#{id\ 899}# #{n\ 900}#)
- (let ((#{atom-key\ 901}#
+ (lambda (#{id\ 911}# #{n\ 912}#)
+ (let ((#{atom-key\ 913}#
(#{binding-type\ 123}#
(#{lookup\ 128}#
- #{n\ 900}#
- #{r\ 879}#
- #{mod\ 882}#))))
- (if (memv #{atom-key\ 901}#
+ #{n\ 912}#
+ #{r\ 891}#
+ #{mod\ 894}#))))
+ (if (memv #{atom-key\ 913}#
'(displaced-lexical))
(syntax-violation
'fluid-let-syntax
"identifier out of context"
- #{e\ 878}#
+ #{e\ 890}#
(#{source-wrap\ 160}#
- #{id\ 899}#
- #{w\ 880}#
- #{s\ 881}#
- #{mod\ 882}#)))))
- #{var\ 892}#
- #{names\ 896}#)
+ #{id\ 911}#
+ #{w\ 892}#
+ #{s\ 893}#
+ #{mod\ 894}#)))))
+ #{var\ 904}#
+ #{names\ 908}#)
(#{chi-body\ 171}#
- (cons #{e1\ 894}# #{e2\ 895}#)
+ (cons #{e1\ 906}# #{e2\ 907}#)
(#{source-wrap\ 160}#
- #{e\ 878}#
- #{w\ 880}#
- #{s\ 881}#
- #{mod\ 882}#)
+ #{e\ 890}#
+ #{w\ 892}#
+ #{s\ 893}#
+ #{mod\ 894}#)
(#{extend-env\ 125}#
- #{names\ 896}#
- (let ((#{trans-r\ 904}#
+ #{names\ 908}#
+ (let ((#{trans-r\ 916}#
(#{macros-only-env\ 127}#
- #{r\ 879}#)))
- (map (lambda (#{x\ 905}#)
+ #{r\ 891}#)))
+ (map (lambda (#{x\ 917}#)
(cons 'macro
(#{eval-local-transformer\ 173}#
(#{chi\ 167}#
- #{x\ 905}#
- #{trans-r\ 904}#
- #{w\ 880}#
- #{mod\ 882}#)
- #{mod\ 882}#)))
- #{val\ 893}#))
- #{r\ 879}#)
- #{w\ 880}#
- #{mod\ 882}#))))
- #{tmp\ 884}#)
- ((lambda (#{_\ 907}#)
+ #{x\ 917}#
+ #{trans-r\ 916}#
+ #{w\ 892}#
+ #{mod\ 894}#)
+ #{mod\ 894}#)))
+ #{val\ 905}#))
+ #{r\ 891}#)
+ #{w\ 892}#
+ #{mod\ 894}#))))
+ #{tmp\ 896}#)
+ ((lambda (#{_\ 919}#)
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 160}#
- #{e\ 878}#
- #{w\ 880}#
- #{s\ 881}#
- #{mod\ 882}#)))
- #{tmp\ 883}#)))
+ #{e\ 890}#
+ #{w\ 892}#
+ #{s\ 893}#
+ #{mod\ 894}#)))
+ #{tmp\ 895}#)))
($sc-dispatch
- #{tmp\ 883}#
+ #{tmp\ 895}#
'(any #(each (any any)) any . each-any))))
- #{e\ 878}#)))
+ #{e\ 890}#)))
(#{global-extend\ 129}#
'core
'quote
- (lambda (#{e\ 908}#
- #{r\ 909}#
- #{w\ 910}#
- #{s\ 911}#
- #{mod\ 912}#)
- ((lambda (#{tmp\ 913}#)
- ((lambda (#{tmp\ 914}#)
- (if #{tmp\ 914}#
- (apply (lambda (#{_\ 915}# #{e\ 916}#)
+ (lambda (#{e\ 920}#
+ #{r\ 921}#
+ #{w\ 922}#
+ #{s\ 923}#
+ #{mod\ 924}#)
+ ((lambda (#{tmp\ 925}#)
+ ((lambda (#{tmp\ 926}#)
+ (if #{tmp\ 926}#
+ (apply (lambda (#{_\ 927}# #{e\ 928}#)
(#{build-data\ 109}#
- #{s\ 911}#
- (#{strip\ 176}# #{e\ 916}# #{w\ 910}#)))
- #{tmp\ 914}#)
- ((lambda (#{_\ 917}#)
+ #{s\ 923}#
+ (#{strip\ 176}# #{e\ 928}# #{w\ 922}#)))
+ #{tmp\ 926}#)
+ ((lambda (#{_\ 929}#)
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 160}#
- #{e\ 908}#
- #{w\ 910}#
- #{s\ 911}#
- #{mod\ 912}#)))
- #{tmp\ 913}#)))
- ($sc-dispatch #{tmp\ 913}# (quote (any any)))))
- #{e\ 908}#)))
+ #{e\ 920}#
+ #{w\ 922}#
+ #{s\ 923}#
+ #{mod\ 924}#)))
+ #{tmp\ 925}#)))
+ ($sc-dispatch #{tmp\ 925}# (quote (any any)))))
+ #{e\ 920}#)))
(#{global-extend\ 129}#
'core
'syntax
- (letrec ((#{regen\ 925}#
- (lambda (#{x\ 926}#)
- (let ((#{atom-key\ 927}# (car #{x\ 926}#)))
- (if (memv #{atom-key\ 927}# (quote (ref)))
+ (letrec ((#{regen\ 937}#
+ (lambda (#{x\ 938}#)
+ (let ((#{atom-key\ 939}# (car #{x\ 938}#)))
+ (if (memv #{atom-key\ 939}# (quote (ref)))
(#{build-lexical-reference\ 98}#
'value
#f
- (cadr #{x\ 926}#)
- (cadr #{x\ 926}#))
- (if (memv #{atom-key\ 927}# (quote (primitive)))
- (#{build-primref\ 108}# #f (cadr #{x\ 926}#))
- (if (memv #{atom-key\ 927}# (quote (quote)))
- (#{build-data\ 109}# #f (cadr #{x\ 926}#))
- (if (memv #{atom-key\ 927}# (quote (lambda)))
- (if (list? (cadr #{x\ 926}#))
+ (cadr #{x\ 938}#)
+ (cadr #{x\ 938}#))
+ (if (memv #{atom-key\ 939}# (quote (primitive)))
+ (#{build-primref\ 108}# #f (cadr #{x\ 938}#))
+ (if (memv #{atom-key\ 939}# (quote (quote)))
+ (#{build-data\ 109}# #f (cadr #{x\ 938}#))
+ (if (memv #{atom-key\ 939}# (quote (lambda)))
+ (if (list? (cadr #{x\ 938}#))
(#{build-simple-lambda\ 105}#
#f
- (cadr #{x\ 926}#)
+ (cadr #{x\ 938}#)
#f
- (cadr #{x\ 926}#)
+ (cadr #{x\ 938}#)
#f
- (#{regen\ 925}# (caddr #{x\ 926}#)))
- (error "how did we get here" #{x\ 926}#))
+ (#{regen\ 937}# (caddr #{x\ 938}#)))
+ (error "how did we get here" #{x\ 938}#))
(#{build-application\ 96}#
#f
- (#{build-primref\ 108}# #f (car #{x\ 926}#))
- (map #{regen\ 925}# (cdr #{x\ 926}#))))))))))
- (#{gen-vector\ 924}#
- (lambda (#{x\ 928}#)
- (if (eq? (car #{x\ 928}#) (quote list))
- (cons (quote vector) (cdr #{x\ 928}#))
- (if (eq? (car #{x\ 928}#) (quote quote))
+ (#{build-primref\ 108}# #f (car #{x\ 938}#))
+ (map #{regen\ 937}# (cdr #{x\ 938}#))))))))))
+ (#{gen-vector\ 936}#
+ (lambda (#{x\ 940}#)
+ (if (eq? (car #{x\ 940}#) (quote list))
+ (cons (quote vector) (cdr #{x\ 940}#))
+ (if (eq? (car #{x\ 940}#) (quote quote))
(list 'quote
- (list->vector (cadr #{x\ 928}#)))
- (list (quote list->vector) #{x\ 928}#)))))
- (#{gen-append\ 923}#
- (lambda (#{x\ 929}# #{y\ 930}#)
- (if (equal? #{y\ 930}# (quote (quote ())))
- #{x\ 929}#
- (list (quote append) #{x\ 929}# #{y\ 930}#))))
- (#{gen-cons\ 922}#
- (lambda (#{x\ 931}# #{y\ 932}#)
- (let ((#{atom-key\ 933}# (car #{y\ 932}#)))
- (if (memv #{atom-key\ 933}# (quote (quote)))
- (if (eq? (car #{x\ 931}#) (quote quote))
+ (list->vector (cadr #{x\ 940}#)))
+ (list (quote list->vector) #{x\ 940}#)))))
+ (#{gen-append\ 935}#
+ (lambda (#{x\ 941}# #{y\ 942}#)
+ (if (equal? #{y\ 942}# (quote (quote ())))
+ #{x\ 941}#
+ (list (quote append) #{x\ 941}# #{y\ 942}#))))
+ (#{gen-cons\ 934}#
+ (lambda (#{x\ 943}# #{y\ 944}#)
+ (let ((#{atom-key\ 945}# (car #{y\ 944}#)))
+ (if (memv #{atom-key\ 945}# (quote (quote)))
+ (if (eq? (car #{x\ 943}#) (quote quote))
(list 'quote
- (cons (cadr #{x\ 931}#) (cadr #{y\ 932}#)))
- (if (eq? (cadr #{y\ 932}#) (quote ()))
- (list (quote list) #{x\ 931}#)
- (list (quote cons) #{x\ 931}# #{y\ 932}#)))
- (if (memv #{atom-key\ 933}# (quote (list)))
+ (cons (cadr #{x\ 943}#) (cadr #{y\ 944}#)))
+ (if (eq? (cadr #{y\ 944}#) (quote ()))
+ (list (quote list) #{x\ 943}#)
+ (list (quote cons) #{x\ 943}# #{y\ 944}#)))
+ (if (memv #{atom-key\ 945}# (quote (list)))
(cons 'list
- (cons #{x\ 931}# (cdr #{y\ 932}#)))
- (list (quote cons) #{x\ 931}# #{y\ 932}#))))))
- (#{gen-map\ 921}#
- (lambda (#{e\ 934}# #{map-env\ 935}#)
- (let ((#{formals\ 936}# (map cdr #{map-env\ 935}#))
- (#{actuals\ 937}#
- (map (lambda (#{x\ 938}#)
- (list (quote ref) (car #{x\ 938}#)))
- #{map-env\ 935}#)))
- (if (eq? (car #{e\ 934}#) (quote ref))
- (car #{actuals\ 937}#)
+ (cons #{x\ 943}# (cdr #{y\ 944}#)))
+ (list (quote cons) #{x\ 943}# #{y\ 944}#))))))
+ (#{gen-map\ 933}#
+ (lambda (#{e\ 946}# #{map-env\ 947}#)
+ (let ((#{formals\ 948}# (map cdr #{map-env\ 947}#))
+ (#{actuals\ 949}#
+ (map (lambda (#{x\ 950}#)
+ (list (quote ref) (car #{x\ 950}#)))
+ #{map-env\ 947}#)))
+ (if (eq? (car #{e\ 946}#) (quote ref))
+ (car #{actuals\ 949}#)
(if (and-map
- (lambda (#{x\ 939}#)
- (if (eq? (car #{x\ 939}#) (quote ref))
- (memq (cadr #{x\ 939}#) #{formals\ 936}#)
+ (lambda (#{x\ 951}#)
+ (if (eq? (car #{x\ 951}#) (quote ref))
+ (memq (cadr #{x\ 951}#) #{formals\ 948}#)
#f))
- (cdr #{e\ 934}#))
+ (cdr #{e\ 946}#))
(cons 'map
(cons (list 'primitive
- (car #{e\ 934}#))
- (map (let ((#{r\ 940}# (map cons
- #{formals\ 936}#
- #{actuals\ 937}#)))
- (lambda (#{x\ 941}#)
- (cdr (assq (cadr #{x\ 941}#)
- #{r\ 940}#))))
- (cdr #{e\ 934}#))))
+ (car #{e\ 946}#))
+ (map (let ((#{r\ 952}# (map cons
+ #{formals\ 948}#
+ #{actuals\ 949}#)))
+ (lambda (#{x\ 953}#)
+ (cdr (assq (cadr #{x\ 953}#)
+ #{r\ 952}#))))
+ (cdr #{e\ 946}#))))
(cons 'map
(cons (list 'lambda
- #{formals\ 936}#
- #{e\ 934}#)
- #{actuals\ 937}#)))))))
- (#{gen-mappend\ 920}#
- (lambda (#{e\ 942}# #{map-env\ 943}#)
+ #{formals\ 948}#
+ #{e\ 946}#)
+ #{actuals\ 949}#)))))))
+ (#{gen-mappend\ 932}#
+ (lambda (#{e\ 954}# #{map-env\ 955}#)
(list 'apply
'(primitive append)
- (#{gen-map\ 921}# #{e\ 942}# #{map-env\ 943}#))))
- (#{gen-ref\ 919}#
- (lambda (#{src\ 944}#
- #{var\ 945}#
- #{level\ 946}#
- #{maps\ 947}#)
- (if (#{fx=\ 88}# #{level\ 946}# 0)
- (values #{var\ 945}# #{maps\ 947}#)
- (if (null? #{maps\ 947}#)
+ (#{gen-map\ 933}# #{e\ 954}# #{map-env\ 955}#))))
+ (#{gen-ref\ 931}#
+ (lambda (#{src\ 956}#
+ #{var\ 957}#
+ #{level\ 958}#
+ #{maps\ 959}#)
+ (if (#{fx=\ 88}# #{level\ 958}# 0)
+ (values #{var\ 957}# #{maps\ 959}#)
+ (if (null? #{maps\ 959}#)
(syntax-violation
'syntax
"missing ellipsis"
- #{src\ 944}#)
+ #{src\ 956}#)
(call-with-values
(lambda ()
- (#{gen-ref\ 919}#
- #{src\ 944}#
- #{var\ 945}#
- (#{fx-\ 87}# #{level\ 946}# 1)
- (cdr #{maps\ 947}#)))
- (lambda (#{outer-var\ 948}# #{outer-maps\ 949}#)
- (let ((#{b\ 950}# (assq #{outer-var\ 948}#
- (car #{maps\ 947}#))))
- (if #{b\ 950}#
- (values (cdr #{b\ 950}#) #{maps\ 947}#)
- (let ((#{inner-var\ 951}#
+ (#{gen-ref\ 931}#
+ #{src\ 956}#
+ #{var\ 957}#
+ (#{fx-\ 87}# #{level\ 958}# 1)
+ (cdr #{maps\ 959}#)))
+ (lambda (#{outer-var\ 960}# #{outer-maps\ 961}#)
+ (let ((#{b\ 962}# (assq #{outer-var\ 960}#
+ (car #{maps\ 959}#))))
+ (if #{b\ 962}#
+ (values (cdr #{b\ 962}#) #{maps\ 959}#)
+ (let ((#{inner-var\ 963}#
(#{gen-var\ 177}# (quote tmp))))
(values
- #{inner-var\ 951}#
- (cons (cons (cons #{outer-var\ 948}#
- #{inner-var\ 951}#)
- (car #{maps\ 947}#))
- #{outer-maps\ 949}#)))))))))))
- (#{gen-syntax\ 918}#
- (lambda (#{src\ 952}#
- #{e\ 953}#
- #{r\ 954}#
- #{maps\ 955}#
- #{ellipsis?\ 956}#
- #{mod\ 957}#)
- (if (#{id?\ 131}# #{e\ 953}#)
- (let ((#{label\ 958}#
- (#{id-var-name\ 153}# #{e\ 953}# (quote (())))))
- (let ((#{b\ 959}# (#{lookup\ 128}#
- #{label\ 958}#
- #{r\ 954}#
- #{mod\ 957}#)))
- (if (eq? (#{binding-type\ 123}# #{b\ 959}#)
+ #{inner-var\ 963}#
+ (cons (cons (cons #{outer-var\ 960}#
+ #{inner-var\ 963}#)
+ (car #{maps\ 959}#))
+ #{outer-maps\ 961}#)))))))))))
+ (#{gen-syntax\ 930}#
+ (lambda (#{src\ 964}#
+ #{e\ 965}#
+ #{r\ 966}#
+ #{maps\ 967}#
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#)
+ (if (#{id?\ 131}# #{e\ 965}#)
+ (let ((#{label\ 970}#
+ (#{id-var-name\ 153}# #{e\ 965}# (quote (())))))
+ (let ((#{b\ 971}# (#{lookup\ 128}#
+ #{label\ 970}#
+ #{r\ 966}#
+ #{mod\ 969}#)))
+ (if (eq? (#{binding-type\ 123}# #{b\ 971}#)
'syntax)
(call-with-values
(lambda ()
- (let ((#{var.lev\ 960}#
- (#{binding-value\ 124}# #{b\ 959}#)))
- (#{gen-ref\ 919}#
- #{src\ 952}#
- (car #{var.lev\ 960}#)
- (cdr #{var.lev\ 960}#)
- #{maps\ 955}#)))
- (lambda (#{var\ 961}# #{maps\ 962}#)
+ (let ((#{var.lev\ 972}#
+ (#{binding-value\ 124}# #{b\ 971}#)))
+ (#{gen-ref\ 931}#
+ #{src\ 964}#
+ (car #{var.lev\ 972}#)
+ (cdr #{var.lev\ 972}#)
+ #{maps\ 967}#)))
+ (lambda (#{var\ 973}# #{maps\ 974}#)
(values
- (list (quote ref) #{var\ 961}#)
- #{maps\ 962}#)))
- (if (#{ellipsis?\ 956}# #{e\ 953}#)
+ (list (quote ref) #{var\ 973}#)
+ #{maps\ 974}#)))
+ (if (#{ellipsis?\ 968}# #{e\ 965}#)
(syntax-violation
'syntax
"misplaced ellipsis"
- #{src\ 952}#)
+ #{src\ 964}#)
(values
- (list (quote quote) #{e\ 953}#)
- #{maps\ 955}#)))))
- ((lambda (#{tmp\ 963}#)
- ((lambda (#{tmp\ 964}#)
- (if (if #{tmp\ 964}#
- (apply (lambda (#{dots\ 965}# #{e\ 966}#)
- (#{ellipsis?\ 956}# #{dots\ 965}#))
- #{tmp\ 964}#)
+ (list (quote quote) #{e\ 965}#)
+ #{maps\ 967}#)))))
+ ((lambda (#{tmp\ 975}#)
+ ((lambda (#{tmp\ 976}#)
+ (if (if #{tmp\ 976}#
+ (apply (lambda (#{dots\ 977}# #{e\ 978}#)
+ (#{ellipsis?\ 968}# #{dots\ 977}#))
+ #{tmp\ 976}#)
#f)
- (apply (lambda (#{dots\ 967}# #{e\ 968}#)
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- #{e\ 968}#
- #{r\ 954}#
- #{maps\ 955}#
- (lambda (#{x\ 969}#) #f)
- #{mod\ 957}#))
- #{tmp\ 964}#)
- ((lambda (#{tmp\ 970}#)
- (if (if #{tmp\ 970}#
- (apply (lambda (#{x\ 971}#
- #{dots\ 972}#
- #{y\ 973}#)
- (#{ellipsis?\ 956}#
- #{dots\ 972}#))
- #{tmp\ 970}#)
+ (apply (lambda (#{dots\ 979}# #{e\ 980}#)
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ #{e\ 980}#
+ #{r\ 966}#
+ #{maps\ 967}#
+ (lambda (#{x\ 981}#) #f)
+ #{mod\ 969}#))
+ #{tmp\ 976}#)
+ ((lambda (#{tmp\ 982}#)
+ (if (if #{tmp\ 982}#
+ (apply (lambda (#{x\ 983}#
+ #{dots\ 984}#
+ #{y\ 985}#)
+ (#{ellipsis?\ 968}#
+ #{dots\ 984}#))
+ #{tmp\ 982}#)
#f)
- (apply (lambda (#{x\ 974}#
- #{dots\ 975}#
- #{y\ 976}#)
- (letrec ((#{f\ 977}# (lambda (#{y\ 978}#
- #{k\ 979}#)
- ((lambda (#{tmp\ 983}#)
- ((lambda (#{tmp\ 984}#)
- (if (if #{tmp\ 984}#
- (apply (lambda (#{dots\ 985}#
- #{y\ 986}#)
- (#{ellipsis?\ 956}#
- #{dots\ 985}#))
- #{tmp\ 984}#)
+ (apply (lambda (#{x\ 986}#
+ #{dots\ 987}#
+ #{y\ 988}#)
+ (letrec ((#{f\ 989}# (lambda (#{y\ 990}#
+ #{k\ 991}#)
+ ((lambda (#{tmp\ 995}#)
+ ((lambda (#{tmp\ 996}#)
+ (if (if #{tmp\ 996}#
+ (apply (lambda (#{dots\ 997}#
+ #{y\ 998}#)
+ (#{ellipsis?\ 968}#
+ #{dots\ 997}#))
+ #{tmp\ 996}#)
#f)
- (apply (lambda (#{dots\ 987}#
- #{y\ 988}#)
- (#{f\ 977}# #{y\ 988}#
- (lambda (#{maps\ 989}#)
+ (apply (lambda (#{dots\ 999}#
+ #{y\ 1000}#)
+ (#{f\ 989}# #{y\ 1000}#
+ (lambda (#{maps\ 1001}#)
(call-with-values
(lambda ()
- (#{k\ 979}# (cons '()
- #{maps\ 989}#)))
- (lambda (#{x\ 990}#
- #{maps\ 991}#)
- (if (null? (car #{maps\ 991}#))
+ (#{k\ 991}# (cons '()
+ #{maps\ 1001}#)))
+ (lambda (#{x\ 1002}#
+ #{maps\ 1003}#)
+ (if (null? (car #{maps\ 1003}#))
(syntax-violation
'syntax
"extra ellipsis"
- #{src\ 952}#)
+ #{src\ 964}#)
(values
- (#{gen-mappend\ 920}#
- #{x\ 990}#
- (car #{maps\ 991}#))
- (cdr #{maps\ 991}#))))))))
- #{tmp\ 984}#)
- ((lambda (#{_\ 992}#)
+ (#{gen-mappend\ 932}#
+ #{x\ 1002}#
+ (car #{maps\ 1003}#))
+ (cdr #{maps\ 1003}#))))))))
+ #{tmp\ 996}#)
+ ((lambda (#{_\ 1004}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- #{y\ 978}#
- #{r\ 954}#
- #{maps\ 955}#
- #{ellipsis?\ 956}#
- #{mod\ 957}#))
- (lambda (#{y\ 993}#
- #{maps\ 994}#)
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ #{y\ 990}#
+ #{r\ 966}#
+ #{maps\ 967}#
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#))
+ (lambda (#{y\ 1005}#
+ #{maps\ 1006}#)
(call-with-values
(lambda ()
- (#{k\ 979}# #{maps\ 994}#))
- (lambda (#{x\ 995}#
- #{maps\ 996}#)
+ (#{k\ 991}# #{maps\ 1006}#))
+ (lambda (#{x\ 1007}#
+ #{maps\ 1008}#)
(values
- (#{gen-append\ 923}#
- #{x\ 995}#
- #{y\ 993}#)
- #{maps\ 996}#))))))
- #{tmp\ 983}#)))
+ (#{gen-append\ 935}#
+ #{x\ 1007}#
+ #{y\ 1005}#)
+ #{maps\ 1008}#))))))
+ #{tmp\ 995}#)))
($sc-dispatch
- #{tmp\ 983}#
+ #{tmp\ 995}#
'(any .
any))))
- #{y\ 978}#))))
- (#{f\ 977}# #{y\ 976}#
- (lambda (#{maps\ 980}#)
+ #{y\ 990}#))))
+ (#{f\ 989}# #{y\ 988}#
+ (lambda (#{maps\ 992}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- #{x\ 974}#
- #{r\ 954}#
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ #{x\ 986}#
+ #{r\ 966}#
(cons '()
- #{maps\ 980}#)
- #{ellipsis?\ 956}#
- #{mod\ 957}#))
- (lambda (#{x\ 981}#
- #{maps\ 982}#)
- (if (null? (car #{maps\ 982}#))
+ #{maps\ 992}#)
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#))
+ (lambda (#{x\ 993}#
+ #{maps\ 994}#)
+ (if (null? (car #{maps\ 994}#))
(syntax-violation
'syntax
"extra ellipsis"
- #{src\ 952}#)
+ #{src\ 964}#)
(values
- (#{gen-map\ 921}#
- #{x\ 981}#
- (car #{maps\ 982}#))
- (cdr #{maps\ 982}#)))))))))
- #{tmp\ 970}#)
- ((lambda (#{tmp\ 997}#)
- (if #{tmp\ 997}#
- (apply (lambda (#{x\ 998}# #{y\ 999}#)
+ (#{gen-map\ 933}#
+ #{x\ 993}#
+ (car #{maps\ 994}#))
+ (cdr #{maps\ 994}#)))))))))
+ #{tmp\ 982}#)
+ ((lambda (#{tmp\ 1009}#)
+ (if #{tmp\ 1009}#
+ (apply (lambda (#{x\ 1010}#
+ #{y\ 1011}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- #{x\ 998}#
- #{r\ 954}#
- #{maps\ 955}#
- #{ellipsis?\ 956}#
- #{mod\ 957}#))
- (lambda (#{x\ 1000}#
- #{maps\ 1001}#)
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ #{x\ 1010}#
+ #{r\ 966}#
+ #{maps\ 967}#
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#))
+ (lambda (#{x\ 1012}#
+ #{maps\ 1013}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- #{y\ 999}#
- #{r\ 954}#
- #{maps\ 1001}#
- #{ellipsis?\ 956}#
- #{mod\ 957}#))
- (lambda (#{y\ 1002}#
- #{maps\ 1003}#)
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ #{y\ 1011}#
+ #{r\ 966}#
+ #{maps\ 1013}#
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#))
+ (lambda (#{y\ 1014}#
+ #{maps\ 1015}#)
(values
- (#{gen-cons\ 922}#
- #{x\ 1000}#
- #{y\ 1002}#)
- #{maps\ 1003}#))))))
- #{tmp\ 997}#)
- ((lambda (#{tmp\ 1004}#)
- (if #{tmp\ 1004}#
- (apply (lambda (#{e1\ 1005}#
- #{e2\ 1006}#)
+ (#{gen-cons\ 934}#
+ #{x\ 1012}#
+ #{y\ 1014}#)
+ #{maps\ 1015}#))))))
+ #{tmp\ 1009}#)
+ ((lambda (#{tmp\ 1016}#)
+ (if #{tmp\ 1016}#
+ (apply (lambda (#{e1\ 1017}#
+ #{e2\ 1018}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{src\ 952}#
- (cons #{e1\ 1005}#
- #{e2\ 1006}#)
- #{r\ 954}#
- #{maps\ 955}#
- #{ellipsis?\ 956}#
- #{mod\ 957}#))
- (lambda (#{e\ 1008}#
- #{maps\ 1009}#)
+ (#{gen-syntax\ 930}#
+ #{src\ 964}#
+ (cons #{e1\ 1017}#
+ #{e2\ 1018}#)
+ #{r\ 966}#
+ #{maps\ 967}#
+ #{ellipsis?\ 968}#
+ #{mod\ 969}#))
+ (lambda (#{e\ 1020}#
+ #{maps\ 1021}#)
(values
- (#{gen-vector\ 924}#
- #{e\ 1008}#)
- #{maps\ 1009}#))))
- #{tmp\ 1004}#)
- ((lambda (#{_\ 1010}#)
+ (#{gen-vector\ 936}#
+ #{e\ 1020}#)
+ #{maps\ 1021}#))))
+ #{tmp\ 1016}#)
+ ((lambda (#{_\ 1022}#)
(values
(list 'quote
- #{e\ 953}#)
- #{maps\ 955}#))
- #{tmp\ 963}#)))
+ #{e\ 965}#)
+ #{maps\ 967}#))
+ #{tmp\ 975}#)))
($sc-dispatch
- #{tmp\ 963}#
+ #{tmp\ 975}#
'#(vector (any . each-any))))))
($sc-dispatch
- #{tmp\ 963}#
+ #{tmp\ 975}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 963}#
+ #{tmp\ 975}#
'(any any . any)))))
- ($sc-dispatch #{tmp\ 963}# (quote (any any)))))
- #{e\ 953}#)))))
- (lambda (#{e\ 1011}#
- #{r\ 1012}#
- #{w\ 1013}#
- #{s\ 1014}#
- #{mod\ 1015}#)
- (let ((#{e\ 1016}#
+ ($sc-dispatch #{tmp\ 975}# (quote (any any)))))
+ #{e\ 965}#)))))
+ (lambda (#{e\ 1023}#
+ #{r\ 1024}#
+ #{w\ 1025}#
+ #{s\ 1026}#
+ #{mod\ 1027}#)
+ (let ((#{e\ 1028}#
(#{source-wrap\ 160}#
- #{e\ 1011}#
- #{w\ 1013}#
- #{s\ 1014}#
- #{mod\ 1015}#)))
- ((lambda (#{tmp\ 1017}#)
- ((lambda (#{tmp\ 1018}#)
- (if #{tmp\ 1018}#
- (apply (lambda (#{_\ 1019}# #{x\ 1020}#)
+ #{e\ 1023}#
+ #{w\ 1025}#
+ #{s\ 1026}#
+ #{mod\ 1027}#)))
+ ((lambda (#{tmp\ 1029}#)
+ ((lambda (#{tmp\ 1030}#)
+ (if #{tmp\ 1030}#
+ (apply (lambda (#{_\ 1031}# #{x\ 1032}#)
(call-with-values
(lambda ()
- (#{gen-syntax\ 918}#
- #{e\ 1016}#
- #{x\ 1020}#
- #{r\ 1012}#
+ (#{gen-syntax\ 930}#
+ #{e\ 1028}#
+ #{x\ 1032}#
+ #{r\ 1024}#
'()
#{ellipsis?\ 175}#
- #{mod\ 1015}#))
- (lambda (#{e\ 1021}# #{maps\ 1022}#)
- (#{regen\ 925}# #{e\ 1021}#))))
- #{tmp\ 1018}#)
- ((lambda (#{_\ 1023}#)
+ #{mod\ 1027}#))
+ (lambda (#{e\ 1033}# #{maps\ 1034}#)
+ (#{regen\ 937}# #{e\ 1033}#))))
+ #{tmp\ 1030}#)
+ ((lambda (#{_\ 1035}#)
(syntax-violation
'syntax
"bad `syntax' form"
- #{e\ 1016}#))
- #{tmp\ 1017}#)))
- ($sc-dispatch #{tmp\ 1017}# (quote (any any)))))
- #{e\ 1016}#)))))
+ #{e\ 1028}#))
+ #{tmp\ 1029}#)))
+ ($sc-dispatch #{tmp\ 1029}# (quote (any any)))))
+ #{e\ 1028}#)))))
(#{global-extend\ 129}#
'core
'lambda
- (lambda (#{e\ 1024}#
- #{r\ 1025}#
- #{w\ 1026}#
- #{s\ 1027}#
- #{mod\ 1028}#)
- (letrec ((#{docstring&body\ 1029}#
- (lambda (#{ids\ 1030}#
- #{vars\ 1031}#
- #{labels\ 1032}#
- #{c\ 1033}#)
- ((lambda (#{tmp\ 1034}#)
- ((lambda (#{tmp\ 1035}#)
- (if (if #{tmp\ 1035}#
- (apply (lambda (#{docstring\ 1036}#
- #{e1\ 1037}#
- #{e2\ 1038}#)
+ (lambda (#{e\ 1036}#
+ #{r\ 1037}#
+ #{w\ 1038}#
+ #{s\ 1039}#
+ #{mod\ 1040}#)
+ (letrec ((#{docstring&body\ 1041}#
+ (lambda (#{ids\ 1042}#
+ #{vars\ 1043}#
+ #{labels\ 1044}#
+ #{c\ 1045}#)
+ ((lambda (#{tmp\ 1046}#)
+ ((lambda (#{tmp\ 1047}#)
+ (if (if #{tmp\ 1047}#
+ (apply (lambda (#{docstring\ 1048}#
+ #{e1\ 1049}#
+ #{e2\ 1050}#)
(string?
(syntax->datum
- #{docstring\ 1036}#)))
- #{tmp\ 1035}#)
+ #{docstring\ 1048}#)))
+ #{tmp\ 1047}#)
#f)
- (apply (lambda (#{docstring\ 1039}#
- #{e1\ 1040}#
- #{e2\ 1041}#)
+ (apply (lambda (#{docstring\ 1051}#
+ #{e1\ 1052}#
+ #{e2\ 1053}#)
(values
- (syntax->datum #{docstring\ 1039}#)
+ (syntax->datum #{docstring\ 1051}#)
(#{chi-body\ 171}#
- (cons #{e1\ 1040}# #{e2\ 1041}#)
+ (cons #{e1\ 1052}# #{e2\ 1053}#)
(#{source-wrap\ 160}#
- #{e\ 1024}#
- #{w\ 1026}#
- #{s\ 1027}#
- #{mod\ 1028}#)
+ #{e\ 1036}#
+ #{w\ 1038}#
+ #{s\ 1039}#
+ #{mod\ 1040}#)
(#{extend-var-env\ 126}#
- #{labels\ 1032}#
- #{vars\ 1031}#
- #{r\ 1025}#)
+ #{labels\ 1044}#
+ #{vars\ 1043}#
+ #{r\ 1037}#)
(#{make-binding-wrap\ 148}#
- #{ids\ 1030}#
- #{labels\ 1032}#
- #{w\ 1026}#)
- #{mod\ 1028}#)))
- #{tmp\ 1035}#)
- ((lambda (#{tmp\ 1043}#)
- (if #{tmp\ 1043}#
- (apply (lambda (#{e1\ 1044}# #{e2\ 1045}#)
+ #{ids\ 1042}#
+ #{labels\ 1044}#
+ #{w\ 1038}#)
+ #{mod\ 1040}#)))
+ #{tmp\ 1047}#)
+ ((lambda (#{tmp\ 1055}#)
+ (if #{tmp\ 1055}#
+ (apply (lambda (#{e1\ 1056}# #{e2\ 1057}#)
(values
#f
(#{chi-body\ 171}#
- (cons #{e1\ 1044}#
- #{e2\ 1045}#)
+ (cons #{e1\ 1056}#
+ #{e2\ 1057}#)
(#{source-wrap\ 160}#
- #{e\ 1024}#
- #{w\ 1026}#
- #{s\ 1027}#
- #{mod\ 1028}#)
+ #{e\ 1036}#
+ #{w\ 1038}#
+ #{s\ 1039}#
+ #{mod\ 1040}#)
(#{extend-var-env\ 126}#
- #{labels\ 1032}#
- #{vars\ 1031}#
- #{r\ 1025}#)
+ #{labels\ 1044}#
+ #{vars\ 1043}#
+ #{r\ 1037}#)
(#{make-binding-wrap\ 148}#
- #{ids\ 1030}#
- #{labels\ 1032}#
- #{w\ 1026}#)
- #{mod\ 1028}#)))
- #{tmp\ 1043}#)
+ #{ids\ 1042}#
+ #{labels\ 1044}#
+ #{w\ 1038}#)
+ #{mod\ 1040}#)))
+ #{tmp\ 1055}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1034}#)))
+ #{tmp\ 1046}#)))
($sc-dispatch
- #{tmp\ 1034}#
+ #{tmp\ 1046}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 1034}#
+ #{tmp\ 1046}#
'(any any . each-any))))
- #{c\ 1033}#))))
- ((lambda (#{tmp\ 1047}#)
- ((lambda (#{tmp\ 1048}#)
- (if #{tmp\ 1048}#
- (apply (lambda (#{_\ 1049}#
- #{id\ 1050}#
- #{e1\ 1051}#
- #{e2\ 1052}#)
- (let ((#{ids\ 1053}# #{id\ 1050}#))
+ #{c\ 1045}#))))
+ ((lambda (#{tmp\ 1059}#)
+ ((lambda (#{tmp\ 1060}#)
+ (if #{tmp\ 1060}#
+ (apply (lambda (#{_\ 1061}#
+ #{id\ 1062}#
+ #{e1\ 1063}#
+ #{e2\ 1064}#)
+ (let ((#{ids\ 1065}# #{id\ 1062}#))
(if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 1053}#))
+ #{ids\ 1065}#))
(syntax-violation
'lambda
"invalid parameter list"
- #{e\ 1024}#)
- (let ((#{vars\ 1055}#
- (map #{gen-var\ 177}# #{ids\ 1053}#))
- (#{labels\ 1056}#
- (#{gen-labels\ 137}# #{ids\ 1053}#)))
+ #{e\ 1036}#)
+ (let ((#{vars\ 1067}#
+ (map #{gen-var\ 177}# #{ids\ 1065}#))
+ (#{labels\ 1068}#
+ (#{gen-labels\ 137}# #{ids\ 1065}#)))
(call-with-values
(lambda ()
- (#{docstring&body\ 1029}#
- #{ids\ 1053}#
- #{vars\ 1055}#
- #{labels\ 1056}#
- (cons #{e1\ 1051}# #{e2\ 1052}#)))
- (lambda (#{docstring\ 1058}#
- #{body\ 1059}#)
+ (#{docstring&body\ 1041}#
+ #{ids\ 1065}#
+ #{vars\ 1067}#
+ #{labels\ 1068}#
+ (cons #{e1\ 1063}# #{e2\ 1064}#)))
+ (lambda (#{docstring\ 1070}#
+ #{body\ 1071}#)
(#{build-simple-lambda\ 105}#
- #{s\ 1027}#
- (map syntax->datum #{ids\ 1053}#)
+ #{s\ 1039}#
+ (map syntax->datum #{ids\ 1065}#)
#f
- #{vars\ 1055}#
- #{docstring\ 1058}#
- #{body\ 1059}#)))))))
- #{tmp\ 1048}#)
- ((lambda (#{tmp\ 1060}#)
- (if #{tmp\ 1060}#
- (apply (lambda (#{_\ 1061}#
- #{ids\ 1062}#
- #{e1\ 1063}#
- #{e2\ 1064}#)
- (let ((#{rids\ 1065}#
+ #{vars\ 1067}#
+ #{docstring\ 1070}#
+ #{body\ 1071}#)))))))
+ #{tmp\ 1060}#)
+ ((lambda (#{tmp\ 1072}#)
+ (if #{tmp\ 1072}#
+ (apply (lambda (#{_\ 1073}#
+ #{ids\ 1074}#
+ #{e1\ 1075}#
+ #{e2\ 1076}#)
+ (let ((#{rids\ 1077}#
(#{lambda-var-list\ 178}#
- #{ids\ 1062}#)))
+ #{ids\ 1074}#)))
(if (not (#{valid-bound-ids?\ 156}#
- #{rids\ 1065}#))
+ #{rids\ 1077}#))
(syntax-violation
'lambda
"invalid parameter list"
- #{e\ 1024}#)
- (let ((#{req\ 1066}#
- (reverse (cdr #{rids\ 1065}#))))
- (let ((#{rest\ 1067}#
- (car #{rids\ 1065}#)))
- (let ((#{rrids\ 1068}#
- (reverse #{rids\ 1065}#)))
- (let ((#{vars\ 1069}#
+ #{e\ 1036}#)
+ (let ((#{req\ 1078}#
+ (reverse (cdr #{rids\ 1077}#))))
+ (let ((#{rest\ 1079}#
+ (car #{rids\ 1077}#)))
+ (let ((#{rrids\ 1080}#
+ (reverse #{rids\ 1077}#)))
+ (let ((#{vars\ 1081}#
(map #{gen-var\ 177}#
- #{rrids\ 1068}#)))
- (let ((#{labels\ 1070}#
+ #{rrids\ 1080}#)))
+ (let ((#{labels\ 1082}#
(#{gen-labels\ 137}#
- #{rrids\ 1068}#)))
+ #{rrids\ 1080}#)))
(call-with-values
(lambda ()
- (#{docstring&body\ 1029}#
- #{rrids\ 1068}#
- #{vars\ 1069}#
- #{labels\ 1070}#
- (cons #{e1\ 1063}#
- #{e2\ 1064}#)))
- (lambda (#{docstring\ 1072}#
- #{body\ 1073}#)
+ (#{docstring&body\ 1041}#
+ #{rrids\ 1080}#
+ #{vars\ 1081}#
+ #{labels\ 1082}#
+ (cons #{e1\ 1075}#
+ #{e2\ 1076}#)))
+ (lambda (#{docstring\ 1084}#
+ #{body\ 1085}#)
(#{build-simple-lambda\ 105}#
- #{s\ 1027}#
+ #{s\ 1039}#
(map syntax->datum
- #{req\ 1066}#)
+ #{req\ 1078}#)
(syntax->datum
- #{rest\ 1067}#)
- #{vars\ 1069}#
- #{docstring\ 1072}#
- #{body\ 1073}#)))))))))))
- #{tmp\ 1060}#)
- ((lambda (#{_\ 1074}#)
+ #{rest\ 1079}#)
+ #{vars\ 1081}#
+ #{docstring\ 1084}#
+ #{body\ 1085}#)))))))))))
+ #{tmp\ 1072}#)
+ ((lambda (#{_\ 1086}#)
(syntax-violation
'lambda
"bad lambda"
- #{e\ 1024}#))
- #{tmp\ 1047}#)))
+ #{e\ 1036}#))
+ #{tmp\ 1059}#)))
($sc-dispatch
- #{tmp\ 1047}#
+ #{tmp\ 1059}#
'(any any any . each-any)))))
($sc-dispatch
- #{tmp\ 1047}#
+ #{tmp\ 1059}#
'(any each-any any . each-any))))
- #{e\ 1024}#))))
+ #{e\ 1036}#))))
(#{global-extend\ 129}#
'core
'let
- (letrec ((#{chi-let\ 1075}#
- (lambda (#{e\ 1076}#
- #{r\ 1077}#
- #{w\ 1078}#
- #{s\ 1079}#
- #{mod\ 1080}#
- #{constructor\ 1081}#
- #{ids\ 1082}#
- #{vals\ 1083}#
- #{exps\ 1084}#)
- (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1082}#))
+ (letrec ((#{chi-let\ 1087}#
+ (lambda (#{e\ 1088}#
+ #{r\ 1089}#
+ #{w\ 1090}#
+ #{s\ 1091}#
+ #{mod\ 1092}#
+ #{constructor\ 1093}#
+ #{ids\ 1094}#
+ #{vals\ 1095}#
+ #{exps\ 1096}#)
+ (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1094}#))
(syntax-violation
'let
"duplicate bound variable"
- #{e\ 1076}#)
- (let ((#{labels\ 1085}#
- (#{gen-labels\ 137}# #{ids\ 1082}#))
- (#{new-vars\ 1086}#
- (map #{gen-var\ 177}# #{ids\ 1082}#)))
- (let ((#{nw\ 1087}#
+ #{e\ 1088}#)
+ (let ((#{labels\ 1097}#
+ (#{gen-labels\ 137}# #{ids\ 1094}#))
+ (#{new-vars\ 1098}#
+ (map #{gen-var\ 177}# #{ids\ 1094}#)))
+ (let ((#{nw\ 1099}#
(#{make-binding-wrap\ 148}#
- #{ids\ 1082}#
- #{labels\ 1085}#
- #{w\ 1078}#))
- (#{nr\ 1088}#
+ #{ids\ 1094}#
+ #{labels\ 1097}#
+ #{w\ 1090}#))
+ (#{nr\ 1100}#
(#{extend-var-env\ 126}#
- #{labels\ 1085}#
- #{new-vars\ 1086}#
- #{r\ 1077}#)))
- (#{constructor\ 1081}#
- #{s\ 1079}#
- (map syntax->datum #{ids\ 1082}#)
- #{new-vars\ 1086}#
- (map (lambda (#{x\ 1089}#)
+ #{labels\ 1097}#
+ #{new-vars\ 1098}#
+ #{r\ 1089}#)))
+ (#{constructor\ 1093}#
+ #{s\ 1091}#
+ (map syntax->datum #{ids\ 1094}#)
+ #{new-vars\ 1098}#
+ (map (lambda (#{x\ 1101}#)
(#{chi\ 167}#
- #{x\ 1089}#
- #{r\ 1077}#
- #{w\ 1078}#
- #{mod\ 1080}#))
- #{vals\ 1083}#)
+ #{x\ 1101}#
+ #{r\ 1089}#
+ #{w\ 1090}#
+ #{mod\ 1092}#))
+ #{vals\ 1095}#)
(#{chi-body\ 171}#
- #{exps\ 1084}#
+ #{exps\ 1096}#
(#{source-wrap\ 160}#
- #{e\ 1076}#
- #{nw\ 1087}#
- #{s\ 1079}#
- #{mod\ 1080}#)
- #{nr\ 1088}#
- #{nw\ 1087}#
- #{mod\ 1080}#))))))))
- (lambda (#{e\ 1090}#
- #{r\ 1091}#
- #{w\ 1092}#
- #{s\ 1093}#
- #{mod\ 1094}#)
- ((lambda (#{tmp\ 1095}#)
- ((lambda (#{tmp\ 1096}#)
- (if (if #{tmp\ 1096}#
- (apply (lambda (#{_\ 1097}#
- #{id\ 1098}#
- #{val\ 1099}#
- #{e1\ 1100}#
- #{e2\ 1101}#)
- (and-map #{id?\ 131}# #{id\ 1098}#))
- #{tmp\ 1096}#)
+ #{e\ 1088}#
+ #{nw\ 1099}#
+ #{s\ 1091}#
+ #{mod\ 1092}#)
+ #{nr\ 1100}#
+ #{nw\ 1099}#
+ #{mod\ 1092}#))))))))
+ (lambda (#{e\ 1102}#
+ #{r\ 1103}#
+ #{w\ 1104}#
+ #{s\ 1105}#
+ #{mod\ 1106}#)
+ ((lambda (#{tmp\ 1107}#)
+ ((lambda (#{tmp\ 1108}#)
+ (if (if #{tmp\ 1108}#
+ (apply (lambda (#{_\ 1109}#
+ #{id\ 1110}#
+ #{val\ 1111}#
+ #{e1\ 1112}#
+ #{e2\ 1113}#)
+ (and-map #{id?\ 131}# #{id\ 1110}#))
+ #{tmp\ 1108}#)
#f)
- (apply (lambda (#{_\ 1103}#
- #{id\ 1104}#
- #{val\ 1105}#
- #{e1\ 1106}#
- #{e2\ 1107}#)
- (#{chi-let\ 1075}#
- #{e\ 1090}#
- #{r\ 1091}#
- #{w\ 1092}#
- #{s\ 1093}#
- #{mod\ 1094}#
+ (apply (lambda (#{_\ 1115}#
+ #{id\ 1116}#
+ #{val\ 1117}#
+ #{e1\ 1118}#
+ #{e2\ 1119}#)
+ (#{chi-let\ 1087}#
+ #{e\ 1102}#
+ #{r\ 1103}#
+ #{w\ 1104}#
+ #{s\ 1105}#
+ #{mod\ 1106}#
#{build-let\ 111}#
- #{id\ 1104}#
- #{val\ 1105}#
- (cons #{e1\ 1106}# #{e2\ 1107}#)))
- #{tmp\ 1096}#)
- ((lambda (#{tmp\ 1111}#)
- (if (if #{tmp\ 1111}#
- (apply (lambda (#{_\ 1112}#
- #{f\ 1113}#
- #{id\ 1114}#
- #{val\ 1115}#
- #{e1\ 1116}#
- #{e2\ 1117}#)
- (if (#{id?\ 131}# #{f\ 1113}#)
- (and-map #{id?\ 131}# #{id\ 1114}#)
+ #{id\ 1116}#
+ #{val\ 1117}#
+ (cons #{e1\ 1118}# #{e2\ 1119}#)))
+ #{tmp\ 1108}#)
+ ((lambda (#{tmp\ 1123}#)
+ (if (if #{tmp\ 1123}#
+ (apply (lambda (#{_\ 1124}#
+ #{f\ 1125}#
+ #{id\ 1126}#
+ #{val\ 1127}#
+ #{e1\ 1128}#
+ #{e2\ 1129}#)
+ (if (#{id?\ 131}# #{f\ 1125}#)
+ (and-map #{id?\ 131}# #{id\ 1126}#)
#f))
- #{tmp\ 1111}#)
+ #{tmp\ 1123}#)
#f)
- (apply (lambda (#{_\ 1119}#
- #{f\ 1120}#
- #{id\ 1121}#
- #{val\ 1122}#
- #{e1\ 1123}#
- #{e2\ 1124}#)
- (#{chi-let\ 1075}#
- #{e\ 1090}#
- #{r\ 1091}#
- #{w\ 1092}#
- #{s\ 1093}#
- #{mod\ 1094}#
+ (apply (lambda (#{_\ 1131}#
+ #{f\ 1132}#
+ #{id\ 1133}#
+ #{val\ 1134}#
+ #{e1\ 1135}#
+ #{e2\ 1136}#)
+ (#{chi-let\ 1087}#
+ #{e\ 1102}#
+ #{r\ 1103}#
+ #{w\ 1104}#
+ #{s\ 1105}#
+ #{mod\ 1106}#
#{build-named-let\ 112}#
- (cons #{f\ 1120}# #{id\ 1121}#)
- #{val\ 1122}#
- (cons #{e1\ 1123}# #{e2\ 1124}#)))
- #{tmp\ 1111}#)
- ((lambda (#{_\ 1128}#)
+ (cons #{f\ 1132}# #{id\ 1133}#)
+ #{val\ 1134}#
+ (cons #{e1\ 1135}# #{e2\ 1136}#)))
+ #{tmp\ 1123}#)
+ ((lambda (#{_\ 1140}#)
(syntax-violation
'let
"bad let"
(#{source-wrap\ 160}#
- #{e\ 1090}#
- #{w\ 1092}#
- #{s\ 1093}#
- #{mod\ 1094}#)))
- #{tmp\ 1095}#)))
+ #{e\ 1102}#
+ #{w\ 1104}#
+ #{s\ 1105}#
+ #{mod\ 1106}#)))
+ #{tmp\ 1107}#)))
($sc-dispatch
- #{tmp\ 1095}#
+ #{tmp\ 1107}#
'(any any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1095}#
+ #{tmp\ 1107}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1090}#))))
+ #{e\ 1102}#))))
(#{global-extend\ 129}#
'core
'letrec
- (lambda (#{e\ 1129}#
- #{r\ 1130}#
- #{w\ 1131}#
- #{s\ 1132}#
- #{mod\ 1133}#)
- ((lambda (#{tmp\ 1134}#)
- ((lambda (#{tmp\ 1135}#)
- (if (if #{tmp\ 1135}#
- (apply (lambda (#{_\ 1136}#
- #{id\ 1137}#
- #{val\ 1138}#
- #{e1\ 1139}#
- #{e2\ 1140}#)
- (and-map #{id?\ 131}# #{id\ 1137}#))
- #{tmp\ 1135}#)
+ (lambda (#{e\ 1141}#
+ #{r\ 1142}#
+ #{w\ 1143}#
+ #{s\ 1144}#
+ #{mod\ 1145}#)
+ ((lambda (#{tmp\ 1146}#)
+ ((lambda (#{tmp\ 1147}#)
+ (if (if #{tmp\ 1147}#
+ (apply (lambda (#{_\ 1148}#
+ #{id\ 1149}#
+ #{val\ 1150}#
+ #{e1\ 1151}#
+ #{e2\ 1152}#)
+ (and-map #{id?\ 131}# #{id\ 1149}#))
+ #{tmp\ 1147}#)
#f)
- (apply (lambda (#{_\ 1142}#
- #{id\ 1143}#
- #{val\ 1144}#
- #{e1\ 1145}#
- #{e2\ 1146}#)
- (let ((#{ids\ 1147}# #{id\ 1143}#))
+ (apply (lambda (#{_\ 1154}#
+ #{id\ 1155}#
+ #{val\ 1156}#
+ #{e1\ 1157}#
+ #{e2\ 1158}#)
+ (let ((#{ids\ 1159}# #{id\ 1155}#))
(if (not (#{valid-bound-ids?\ 156}#
- #{ids\ 1147}#))
+ #{ids\ 1159}#))
(syntax-violation
'letrec
"duplicate bound variable"
- #{e\ 1129}#)
- (let ((#{labels\ 1149}#
- (#{gen-labels\ 137}# #{ids\ 1147}#))
- (#{new-vars\ 1150}#
- (map #{gen-var\ 177}# #{ids\ 1147}#)))
- (let ((#{w\ 1151}#
+ #{e\ 1141}#)
+ (let ((#{labels\ 1161}#
+ (#{gen-labels\ 137}# #{ids\ 1159}#))
+ (#{new-vars\ 1162}#
+ (map #{gen-var\ 177}# #{ids\ 1159}#)))
+ (let ((#{w\ 1163}#
(#{make-binding-wrap\ 148}#
- #{ids\ 1147}#
- #{labels\ 1149}#
- #{w\ 1131}#))
- (#{r\ 1152}#
+ #{ids\ 1159}#
+ #{labels\ 1161}#
+ #{w\ 1143}#))
+ (#{r\ 1164}#
(#{extend-var-env\ 126}#
- #{labels\ 1149}#
- #{new-vars\ 1150}#
- #{r\ 1130}#)))
+ #{labels\ 1161}#
+ #{new-vars\ 1162}#
+ #{r\ 1142}#)))
(#{build-letrec\ 113}#
- #{s\ 1132}#
- (map syntax->datum #{ids\ 1147}#)
- #{new-vars\ 1150}#
- (map (lambda (#{x\ 1153}#)
+ #{s\ 1144}#
+ (map syntax->datum #{ids\ 1159}#)
+ #{new-vars\ 1162}#
+ (map (lambda (#{x\ 1165}#)
(#{chi\ 167}#
- #{x\ 1153}#
- #{r\ 1152}#
- #{w\ 1151}#
- #{mod\ 1133}#))
- #{val\ 1144}#)
+ #{x\ 1165}#
+ #{r\ 1164}#
+ #{w\ 1163}#
+ #{mod\ 1145}#))
+ #{val\ 1156}#)
(#{chi-body\ 171}#
- (cons #{e1\ 1145}# #{e2\ 1146}#)
+ (cons #{e1\ 1157}# #{e2\ 1158}#)
(#{source-wrap\ 160}#
- #{e\ 1129}#
- #{w\ 1151}#
- #{s\ 1132}#
- #{mod\ 1133}#)
- #{r\ 1152}#
- #{w\ 1151}#
- #{mod\ 1133}#)))))))
- #{tmp\ 1135}#)
- ((lambda (#{_\ 1156}#)
+ #{e\ 1141}#
+ #{w\ 1163}#
+ #{s\ 1144}#
+ #{mod\ 1145}#)
+ #{r\ 1164}#
+ #{w\ 1163}#
+ #{mod\ 1145}#)))))))
+ #{tmp\ 1147}#)
+ ((lambda (#{_\ 1168}#)
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 160}#
- #{e\ 1129}#
- #{w\ 1131}#
- #{s\ 1132}#
- #{mod\ 1133}#)))
- #{tmp\ 1134}#)))
+ #{e\ 1141}#
+ #{w\ 1143}#
+ #{s\ 1144}#
+ #{mod\ 1145}#)))
+ #{tmp\ 1146}#)))
($sc-dispatch
- #{tmp\ 1134}#
+ #{tmp\ 1146}#
'(any #(each (any any)) any . each-any))))
- #{e\ 1129}#)))
+ #{e\ 1141}#)))
(#{global-extend\ 129}#
'core
'set!
- (lambda (#{e\ 1157}#
- #{r\ 1158}#
- #{w\ 1159}#
- #{s\ 1160}#
- #{mod\ 1161}#)
- ((lambda (#{tmp\ 1162}#)
- ((lambda (#{tmp\ 1163}#)
- (if (if #{tmp\ 1163}#
- (apply (lambda (#{_\ 1164}# #{id\ 1165}# #{val\ 1166}#)
- (#{id?\ 131}# #{id\ 1165}#))
- #{tmp\ 1163}#)
+ (lambda (#{e\ 1169}#
+ #{r\ 1170}#
+ #{w\ 1171}#
+ #{s\ 1172}#
+ #{mod\ 1173}#)
+ ((lambda (#{tmp\ 1174}#)
+ ((lambda (#{tmp\ 1175}#)
+ (if (if #{tmp\ 1175}#
+ (apply (lambda (#{_\ 1176}# #{id\ 1177}# #{val\ 1178}#)
+ (#{id?\ 131}# #{id\ 1177}#))
+ #{tmp\ 1175}#)
#f)
- (apply (lambda (#{_\ 1167}# #{id\ 1168}# #{val\ 1169}#)
- (let ((#{val\ 1170}#
+ (apply (lambda (#{_\ 1179}# #{id\ 1180}# #{val\ 1181}#)
+ (let ((#{val\ 1182}#
(#{chi\ 167}#
- #{val\ 1169}#
- #{r\ 1158}#
- #{w\ 1159}#
- #{mod\ 1161}#))
- (#{n\ 1171}#
+ #{val\ 1181}#
+ #{r\ 1170}#
+ #{w\ 1171}#
+ #{mod\ 1173}#))
+ (#{n\ 1183}#
(#{id-var-name\ 153}#
- #{id\ 1168}#
- #{w\ 1159}#)))
- (let ((#{b\ 1172}#
+ #{id\ 1180}#
+ #{w\ 1171}#)))
+ (let ((#{b\ 1184}#
(#{lookup\ 128}#
- #{n\ 1171}#
- #{r\ 1158}#
- #{mod\ 1161}#)))
- (let ((#{atom-key\ 1173}#
- (#{binding-type\ 123}# #{b\ 1172}#)))
- (if (memv #{atom-key\ 1173}#
+ #{n\ 1183}#
+ #{r\ 1170}#
+ #{mod\ 1173}#)))
+ (let ((#{atom-key\ 1185}#
+ (#{binding-type\ 123}# #{b\ 1184}#)))
+ (if (memv #{atom-key\ 1185}#
'(lexical))
(#{build-lexical-assignment\ 99}#
- #{s\ 1160}#
- (syntax->datum #{id\ 1168}#)
- (#{binding-value\ 124}# #{b\ 1172}#)
- #{val\ 1170}#)
- (if (memv #{atom-key\ 1173}#
+ #{s\ 1172}#
+ (syntax->datum #{id\ 1180}#)
+ (#{binding-value\ 124}# #{b\ 1184}#)
+ #{val\ 1182}#)
+ (if (memv #{atom-key\ 1185}#
'(global))
(#{build-global-assignment\ 102}#
- #{s\ 1160}#
- #{n\ 1171}#
- #{val\ 1170}#
- #{mod\ 1161}#)
- (if (memv #{atom-key\ 1173}#
+ #{s\ 1172}#
+ #{n\ 1183}#
+ #{val\ 1182}#
+ #{mod\ 1173}#)
+ (if (memv #{atom-key\ 1185}#
'(displaced-lexical))
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 159}#
- #{id\ 1168}#
- #{w\ 1159}#
- #{mod\ 1161}#))
+ #{id\ 1180}#
+ #{w\ 1171}#
+ #{mod\ 1173}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 160}#
- #{e\ 1157}#
- #{w\ 1159}#
- #{s\ 1160}#
- #{mod\ 1161}#)))))))))
- #{tmp\ 1163}#)
- ((lambda (#{tmp\ 1174}#)
- (if #{tmp\ 1174}#
- (apply (lambda (#{_\ 1175}#
- #{head\ 1176}#
- #{tail\ 1177}#
- #{val\ 1178}#)
+ #{e\ 1169}#
+ #{w\ 1171}#
+ #{s\ 1172}#
+ #{mod\ 1173}#)))))))))
+ #{tmp\ 1175}#)
+ ((lambda (#{tmp\ 1186}#)
+ (if #{tmp\ 1186}#
+ (apply (lambda (#{_\ 1187}#
+ #{head\ 1188}#
+ #{tail\ 1189}#
+ #{val\ 1190}#)
(call-with-values
(lambda ()
(#{syntax-type\ 165}#
- #{head\ 1176}#
- #{r\ 1158}#
+ #{head\ 1188}#
+ #{r\ 1170}#
'(())
#f
#f
- #{mod\ 1161}#
+ #{mod\ 1173}#
#t))
- (lambda (#{type\ 1179}#
- #{value\ 1180}#
- #{ee\ 1181}#
- #{ww\ 1182}#
- #{ss\ 1183}#
- #{modmod\ 1184}#)
- (if (memv #{type\ 1179}#
+ (lambda (#{type\ 1191}#
+ #{value\ 1192}#
+ #{ee\ 1193}#
+ #{ww\ 1194}#
+ #{ss\ 1195}#
+ #{modmod\ 1196}#)
+ (if (memv #{type\ 1191}#
'(module-ref))
- (let ((#{val\ 1185}#
+ (let ((#{val\ 1197}#
(#{chi\ 167}#
- #{val\ 1178}#
- #{r\ 1158}#
- #{w\ 1159}#
- #{mod\ 1161}#)))
+ #{val\ 1190}#
+ #{r\ 1170}#
+ #{w\ 1171}#
+ #{mod\ 1173}#)))
(call-with-values
(lambda ()
- (#{value\ 1180}#
- (cons #{head\ 1176}#
- #{tail\ 1177}#)))
- (lambda (#{id\ 1187}# #{mod\ 1188}#)
+ (#{value\ 1192}#
+ (cons #{head\ 1188}#
+ #{tail\ 1189}#)))
+ (lambda (#{id\ 1199}# #{mod\ 1200}#)
(#{build-global-assignment\ 102}#
- #{s\ 1160}#
- #{id\ 1187}#
- #{val\ 1185}#
- #{mod\ 1188}#))))
+ #{s\ 1172}#
+ #{id\ 1199}#
+ #{val\ 1197}#
+ #{mod\ 1200}#))))
(#{build-application\ 96}#
- #{s\ 1160}#
+ #{s\ 1172}#
(#{chi\ 167}#
(list '#(syntax-object
setter
@@ -7290,53 +7376,53 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{head\ 1176}#)
- #{r\ 1158}#
- #{w\ 1159}#
- #{mod\ 1161}#)
- (map (lambda (#{e\ 1189}#)
+ #{head\ 1188}#)
+ #{r\ 1170}#
+ #{w\ 1171}#
+ #{mod\ 1173}#)
+ (map (lambda (#{e\ 1201}#)
(#{chi\ 167}#
- #{e\ 1189}#
- #{r\ 1158}#
- #{w\ 1159}#
- #{mod\ 1161}#))
+ #{e\ 1201}#
+ #{r\ 1170}#
+ #{w\ 1171}#
+ #{mod\ 1173}#))
(append
- #{tail\ 1177}#
- (list #{val\ 1178}#))))))))
- #{tmp\ 1174}#)
- ((lambda (#{_\ 1191}#)
+ #{tail\ 1189}#
+ (list #{val\ 1190}#))))))))
+ #{tmp\ 1186}#)
+ ((lambda (#{_\ 1203}#)
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 160}#
- #{e\ 1157}#
- #{w\ 1159}#
- #{s\ 1160}#
- #{mod\ 1161}#)))
- #{tmp\ 1162}#)))
+ #{e\ 1169}#
+ #{w\ 1171}#
+ #{s\ 1172}#
+ #{mod\ 1173}#)))
+ #{tmp\ 1174}#)))
($sc-dispatch
- #{tmp\ 1162}#
+ #{tmp\ 1174}#
'(any (any . each-any) any)))))
($sc-dispatch
- #{tmp\ 1162}#
+ #{tmp\ 1174}#
'(any any any))))
- #{e\ 1157}#)))
+ #{e\ 1169}#)))
(#{global-extend\ 129}#
'module-ref
'@
- (lambda (#{e\ 1192}#)
- ((lambda (#{tmp\ 1193}#)
- ((lambda (#{tmp\ 1194}#)
- (if (if #{tmp\ 1194}#
- (apply (lambda (#{_\ 1195}# #{mod\ 1196}# #{id\ 1197}#)
- (if (and-map #{id?\ 131}# #{mod\ 1196}#)
- (#{id?\ 131}# #{id\ 1197}#)
+ (lambda (#{e\ 1204}#)
+ ((lambda (#{tmp\ 1205}#)
+ ((lambda (#{tmp\ 1206}#)
+ (if (if #{tmp\ 1206}#
+ (apply (lambda (#{_\ 1207}# #{mod\ 1208}# #{id\ 1209}#)
+ (if (and-map #{id?\ 131}# #{mod\ 1208}#)
+ (#{id?\ 131}# #{id\ 1209}#)
#f))
- #{tmp\ 1194}#)
+ #{tmp\ 1206}#)
#f)
- (apply (lambda (#{_\ 1199}# #{mod\ 1200}# #{id\ 1201}#)
+ (apply (lambda (#{_\ 1211}# #{mod\ 1212}# #{id\ 1213}#)
(values
- (syntax->datum #{id\ 1201}#)
+ (syntax->datum #{id\ 1213}#)
(syntax->datum
(cons '#(syntax-object
public
@@ -7692,32 +7778,32 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1200}#))))
- #{tmp\ 1194}#)
+ #{mod\ 1212}#))))
+ #{tmp\ 1206}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1193}#)))
+ #{tmp\ 1205}#)))
($sc-dispatch
- #{tmp\ 1193}#
+ #{tmp\ 1205}#
'(any each-any any))))
- #{e\ 1192}#)))
+ #{e\ 1204}#)))
(#{global-extend\ 129}#
'module-ref
'@@
- (lambda (#{e\ 1203}#)
- ((lambda (#{tmp\ 1204}#)
- ((lambda (#{tmp\ 1205}#)
- (if (if #{tmp\ 1205}#
- (apply (lambda (#{_\ 1206}# #{mod\ 1207}# #{id\ 1208}#)
- (if (and-map #{id?\ 131}# #{mod\ 1207}#)
- (#{id?\ 131}# #{id\ 1208}#)
+ (lambda (#{e\ 1215}#)
+ ((lambda (#{tmp\ 1216}#)
+ ((lambda (#{tmp\ 1217}#)
+ (if (if #{tmp\ 1217}#
+ (apply (lambda (#{_\ 1218}# #{mod\ 1219}# #{id\ 1220}#)
+ (if (and-map #{id?\ 131}# #{mod\ 1219}#)
+ (#{id?\ 131}# #{id\ 1220}#)
#f))
- #{tmp\ 1205}#)
+ #{tmp\ 1217}#)
#f)
- (apply (lambda (#{_\ 1210}# #{mod\ 1211}# #{id\ 1212}#)
+ (apply (lambda (#{_\ 1222}# #{mod\ 1223}# #{id\ 1224}#)
(values
- (syntax->datum #{id\ 1212}#)
+ (syntax->datum #{id\ 1224}#)
(syntax->datum
(cons '#(syntax-object
private
@@ -8073,77 +8159,77 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{mod\ 1211}#))))
- #{tmp\ 1205}#)
+ #{mod\ 1223}#))))
+ #{tmp\ 1217}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1204}#)))
+ #{tmp\ 1216}#)))
($sc-dispatch
- #{tmp\ 1204}#
+ #{tmp\ 1216}#
'(any each-any any))))
- #{e\ 1203}#)))
+ #{e\ 1215}#)))
(#{global-extend\ 129}#
'core
'if
- (lambda (#{e\ 1214}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{s\ 1217}#
- #{mod\ 1218}#)
- ((lambda (#{tmp\ 1219}#)
- ((lambda (#{tmp\ 1220}#)
- (if #{tmp\ 1220}#
- (apply (lambda (#{_\ 1221}# #{test\ 1222}# #{then\ 1223}#)
+ (lambda (#{e\ 1226}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{s\ 1229}#
+ #{mod\ 1230}#)
+ ((lambda (#{tmp\ 1231}#)
+ ((lambda (#{tmp\ 1232}#)
+ (if #{tmp\ 1232}#
+ (apply (lambda (#{_\ 1233}# #{test\ 1234}# #{then\ 1235}#)
(#{build-conditional\ 97}#
- #{s\ 1217}#
+ #{s\ 1229}#
(#{chi\ 167}#
- #{test\ 1222}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{mod\ 1218}#)
+ #{test\ 1234}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{mod\ 1230}#)
(#{chi\ 167}#
- #{then\ 1223}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{mod\ 1218}#)
+ #{then\ 1235}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{mod\ 1230}#)
(#{build-void\ 95}# #f)))
- #{tmp\ 1220}#)
- ((lambda (#{tmp\ 1224}#)
- (if #{tmp\ 1224}#
- (apply (lambda (#{_\ 1225}#
- #{test\ 1226}#
- #{then\ 1227}#
- #{else\ 1228}#)
+ #{tmp\ 1232}#)
+ ((lambda (#{tmp\ 1236}#)
+ (if #{tmp\ 1236}#
+ (apply (lambda (#{_\ 1237}#
+ #{test\ 1238}#
+ #{then\ 1239}#
+ #{else\ 1240}#)
(#{build-conditional\ 97}#
- #{s\ 1217}#
+ #{s\ 1229}#
(#{chi\ 167}#
- #{test\ 1226}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{mod\ 1218}#)
+ #{test\ 1238}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{mod\ 1230}#)
(#{chi\ 167}#
- #{then\ 1227}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{mod\ 1218}#)
+ #{then\ 1239}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{mod\ 1230}#)
(#{chi\ 167}#
- #{else\ 1228}#
- #{r\ 1215}#
- #{w\ 1216}#
- #{mod\ 1218}#)))
- #{tmp\ 1224}#)
+ #{else\ 1240}#
+ #{r\ 1227}#
+ #{w\ 1228}#
+ #{mod\ 1230}#)))
+ #{tmp\ 1236}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1219}#)))
+ #{tmp\ 1231}#)))
($sc-dispatch
- #{tmp\ 1219}#
+ #{tmp\ 1231}#
'(any any any any)))))
($sc-dispatch
- #{tmp\ 1219}#
+ #{tmp\ 1231}#
'(any any any))))
- #{e\ 1214}#)))
+ #{e\ 1226}#)))
(#{global-extend\ 129}#
'begin
'begin
@@ -8163,13 +8249,13 @@
(#{global-extend\ 129}#
'core
'syntax-case
- (letrec ((#{gen-syntax-case\ 1232}#
- (lambda (#{x\ 1233}#
- #{keys\ 1234}#
- #{clauses\ 1235}#
- #{r\ 1236}#
- #{mod\ 1237}#)
- (if (null? #{clauses\ 1235}#)
+ (letrec ((#{gen-syntax-case\ 1244}#
+ (lambda (#{x\ 1245}#
+ #{keys\ 1246}#
+ #{clauses\ 1247}#
+ #{r\ 1248}#
+ #{mod\ 1249}#)
+ (if (null? #{clauses\ 1247}#)
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
@@ -8179,17 +8265,17 @@
(#{build-data\ 109}#
#f
"source expression failed to match any pattern")
- #{x\ 1233}#))
- ((lambda (#{tmp\ 1238}#)
- ((lambda (#{tmp\ 1239}#)
- (if #{tmp\ 1239}#
- (apply (lambda (#{pat\ 1240}# #{exp\ 1241}#)
- (if (if (#{id?\ 131}# #{pat\ 1240}#)
+ #{x\ 1245}#))
+ ((lambda (#{tmp\ 1250}#)
+ ((lambda (#{tmp\ 1251}#)
+ (if #{tmp\ 1251}#
+ (apply (lambda (#{pat\ 1252}# #{exp\ 1253}#)
+ (if (if (#{id?\ 131}# #{pat\ 1252}#)
(and-map
- (lambda (#{x\ 1242}#)
+ (lambda (#{x\ 1254}#)
(not (#{free-id=?\ 154}#
- #{pat\ 1240}#
- #{x\ 1242}#)))
+ #{pat\ 1252}#
+ #{x\ 1254}#)))
(cons '#(syntax-object
...
((top)
@@ -8570,103 +8656,103 @@
((top) (top))
("i" "i")))
(hygiene guile))
- #{keys\ 1234}#))
+ #{keys\ 1246}#))
#f)
- (let ((#{labels\ 1243}#
+ (let ((#{labels\ 1255}#
(list (#{gen-label\ 136}#)))
- (#{var\ 1244}#
+ (#{var\ 1256}#
(#{gen-var\ 177}#
- #{pat\ 1240}#)))
+ #{pat\ 1252}#)))
(#{build-application\ 96}#
#f
(#{build-simple-lambda\ 105}#
#f
(list (syntax->datum
- #{pat\ 1240}#))
+ #{pat\ 1252}#))
#f
- (list #{var\ 1244}#)
+ (list #{var\ 1256}#)
#f
(#{chi\ 167}#
- #{exp\ 1241}#
+ #{exp\ 1253}#
(#{extend-env\ 125}#
- #{labels\ 1243}#
+ #{labels\ 1255}#
(list (cons 'syntax
- (cons #{var\ 1244}#
+ (cons #{var\ 1256}#
0)))
- #{r\ 1236}#)
+ #{r\ 1248}#)
(#{make-binding-wrap\ 148}#
- (list #{pat\ 1240}#)
- #{labels\ 1243}#
+ (list #{pat\ 1252}#)
+ #{labels\ 1255}#
'(()))
- #{mod\ 1237}#))
- (list #{x\ 1233}#)))
- (#{gen-clause\ 1231}#
- #{x\ 1233}#
- #{keys\ 1234}#
- (cdr #{clauses\ 1235}#)
- #{r\ 1236}#
- #{pat\ 1240}#
+ #{mod\ 1249}#))
+ (list #{x\ 1245}#)))
+ (#{gen-clause\ 1243}#
+ #{x\ 1245}#
+ #{keys\ 1246}#
+ (cdr #{clauses\ 1247}#)
+ #{r\ 1248}#
+ #{pat\ 1252}#
#t
- #{exp\ 1241}#
- #{mod\ 1237}#)))
- #{tmp\ 1239}#)
- ((lambda (#{tmp\ 1245}#)
- (if #{tmp\ 1245}#
- (apply (lambda (#{pat\ 1246}#
- #{fender\ 1247}#
- #{exp\ 1248}#)
- (#{gen-clause\ 1231}#
- #{x\ 1233}#
- #{keys\ 1234}#
- (cdr #{clauses\ 1235}#)
- #{r\ 1236}#
- #{pat\ 1246}#
- #{fender\ 1247}#
- #{exp\ 1248}#
- #{mod\ 1237}#))
- #{tmp\ 1245}#)
- ((lambda (#{_\ 1249}#)
+ #{exp\ 1253}#
+ #{mod\ 1249}#)))
+ #{tmp\ 1251}#)
+ ((lambda (#{tmp\ 1257}#)
+ (if #{tmp\ 1257}#
+ (apply (lambda (#{pat\ 1258}#
+ #{fender\ 1259}#
+ #{exp\ 1260}#)
+ (#{gen-clause\ 1243}#
+ #{x\ 1245}#
+ #{keys\ 1246}#
+ (cdr #{clauses\ 1247}#)
+ #{r\ 1248}#
+ #{pat\ 1258}#
+ #{fender\ 1259}#
+ #{exp\ 1260}#
+ #{mod\ 1249}#))
+ #{tmp\ 1257}#)
+ ((lambda (#{_\ 1261}#)
(syntax-violation
'syntax-case
"invalid clause"
- (car #{clauses\ 1235}#)))
- #{tmp\ 1238}#)))
+ (car #{clauses\ 1247}#)))
+ #{tmp\ 1250}#)))
($sc-dispatch
- #{tmp\ 1238}#
+ #{tmp\ 1250}#
'(any any any)))))
- ($sc-dispatch #{tmp\ 1238}# (quote (any any)))))
- (car #{clauses\ 1235}#)))))
- (#{gen-clause\ 1231}#
- (lambda (#{x\ 1250}#
- #{keys\ 1251}#
- #{clauses\ 1252}#
- #{r\ 1253}#
- #{pat\ 1254}#
- #{fender\ 1255}#
- #{exp\ 1256}#
- #{mod\ 1257}#)
+ ($sc-dispatch #{tmp\ 1250}# (quote (any any)))))
+ (car #{clauses\ 1247}#)))))
+ (#{gen-clause\ 1243}#
+ (lambda (#{x\ 1262}#
+ #{keys\ 1263}#
+ #{clauses\ 1264}#
+ #{r\ 1265}#
+ #{pat\ 1266}#
+ #{fender\ 1267}#
+ #{exp\ 1268}#
+ #{mod\ 1269}#)
(call-with-values
(lambda ()
- (#{convert-pattern\ 1229}#
- #{pat\ 1254}#
- #{keys\ 1251}#))
- (lambda (#{p\ 1258}# #{pvars\ 1259}#)
+ (#{convert-pattern\ 1241}#
+ #{pat\ 1266}#
+ #{keys\ 1263}#))
+ (lambda (#{p\ 1270}# #{pvars\ 1271}#)
(if (not (#{distinct-bound-ids?\ 157}#
- (map car #{pvars\ 1259}#)))
+ (map car #{pvars\ 1271}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
- #{pat\ 1254}#)
+ #{pat\ 1266}#)
(if (not (and-map
- (lambda (#{x\ 1260}#)
+ (lambda (#{x\ 1272}#)
(not (#{ellipsis?\ 175}#
- (car #{x\ 1260}#))))
- #{pvars\ 1259}#))
+ (car #{x\ 1272}#))))
+ #{pvars\ 1271}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
- #{pat\ 1254}#)
- (let ((#{y\ 1261}#
+ #{pat\ 1266}#)
+ (let ((#{y\ 1273}#
(#{gen-var\ 177}# (quote tmp))))
(#{build-application\ 96}#
#f
@@ -8674,630 +8760,630 @@
#f
(list (quote tmp))
#f
- (list #{y\ 1261}#)
+ (list #{y\ 1273}#)
#f
- (let ((#{y\ 1262}#
+ (let ((#{y\ 1274}#
(#{build-lexical-reference\ 98}#
'value
#f
'tmp
- #{y\ 1261}#)))
+ #{y\ 1273}#)))
(#{build-conditional\ 97}#
#f
- ((lambda (#{tmp\ 1263}#)
- ((lambda (#{tmp\ 1264}#)
- (if #{tmp\ 1264}#
- (apply (lambda () #{y\ 1262}#)
- #{tmp\ 1264}#)
- ((lambda (#{_\ 1265}#)
+ ((lambda (#{tmp\ 1275}#)
+ ((lambda (#{tmp\ 1276}#)
+ (if #{tmp\ 1276}#
+ (apply (lambda () #{y\ 1274}#)
+ #{tmp\ 1276}#)
+ ((lambda (#{_\ 1277}#)
(#{build-conditional\ 97}#
#f
- #{y\ 1262}#
- (#{build-dispatch-call\ 1230}#
- #{pvars\ 1259}#
- #{fender\ 1255}#
- #{y\ 1262}#
- #{r\ 1253}#
- #{mod\ 1257}#)
+ #{y\ 1274}#
+ (#{build-dispatch-call\ 1242}#
+ #{pvars\ 1271}#
+ #{fender\ 1267}#
+ #{y\ 1274}#
+ #{r\ 1265}#
+ #{mod\ 1269}#)
(#{build-data\ 109}#
#f
#f)))
- #{tmp\ 1263}#)))
+ #{tmp\ 1275}#)))
($sc-dispatch
- #{tmp\ 1263}#
+ #{tmp\ 1275}#
'#(atom #t))))
- #{fender\ 1255}#)
- (#{build-dispatch-call\ 1230}#
- #{pvars\ 1259}#
- #{exp\ 1256}#
- #{y\ 1262}#
- #{r\ 1253}#
- #{mod\ 1257}#)
- (#{gen-syntax-case\ 1232}#
- #{x\ 1250}#
- #{keys\ 1251}#
- #{clauses\ 1252}#
- #{r\ 1253}#
- #{mod\ 1257}#))))
- (list (if (eq? #{p\ 1258}# (quote any))
+ #{fender\ 1267}#)
+ (#{build-dispatch-call\ 1242}#
+ #{pvars\ 1271}#
+ #{exp\ 1268}#
+ #{y\ 1274}#
+ #{r\ 1265}#
+ #{mod\ 1269}#)
+ (#{gen-syntax-case\ 1244}#
+ #{x\ 1262}#
+ #{keys\ 1263}#
+ #{clauses\ 1264}#
+ #{r\ 1265}#
+ #{mod\ 1269}#))))
+ (list (if (eq? #{p\ 1270}# (quote any))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
#f
'list)
- (list #{x\ 1250}#))
+ (list #{x\ 1262}#))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}#
#f
'$sc-dispatch)
- (list #{x\ 1250}#
+ (list #{x\ 1262}#
(#{build-data\ 109}#
#f
- #{p\ 1258}#)))))))))))))
- (#{build-dispatch-call\ 1230}#
- (lambda (#{pvars\ 1266}#
- #{exp\ 1267}#
- #{y\ 1268}#
- #{r\ 1269}#
- #{mod\ 1270}#)
- (let ((#{ids\ 1271}# (map car #{pvars\ 1266}#))
- (#{levels\ 1272}# (map cdr #{pvars\ 1266}#)))
- (let ((#{labels\ 1273}#
- (#{gen-labels\ 137}# #{ids\ 1271}#))
- (#{new-vars\ 1274}#
- (map #{gen-var\ 177}# #{ids\ 1271}#)))
+ #{p\ 1270}#)))))))))))))
+ (#{build-dispatch-call\ 1242}#
+ (lambda (#{pvars\ 1278}#
+ #{exp\ 1279}#
+ #{y\ 1280}#
+ #{r\ 1281}#
+ #{mod\ 1282}#)
+ (let ((#{ids\ 1283}# (map car #{pvars\ 1278}#))
+ (#{levels\ 1284}# (map cdr #{pvars\ 1278}#)))
+ (let ((#{labels\ 1285}#
+ (#{gen-labels\ 137}# #{ids\ 1283}#))
+ (#{new-vars\ 1286}#
+ (map #{gen-var\ 177}# #{ids\ 1283}#)))
(#{build-application\ 96}#
#f
(#{build-primref\ 108}# #f (quote apply))
(list (#{build-simple-lambda\ 105}#
#f
- (map syntax->datum #{ids\ 1271}#)
+ (map syntax->datum #{ids\ 1283}#)
#f
- #{new-vars\ 1274}#
+ #{new-vars\ 1286}#
#f
(#{chi\ 167}#
- #{exp\ 1267}#
+ #{exp\ 1279}#
(#{extend-env\ 125}#
- #{labels\ 1273}#
- (map (lambda (#{var\ 1275}#
- #{level\ 1276}#)
+ #{labels\ 1285}#
+ (map (lambda (#{var\ 1287}#
+ #{level\ 1288}#)
(cons 'syntax
- (cons #{var\ 1275}#
- #{level\ 1276}#)))
- #{new-vars\ 1274}#
- (map cdr #{pvars\ 1266}#))
- #{r\ 1269}#)
+ (cons #{var\ 1287}#
+ #{level\ 1288}#)))
+ #{new-vars\ 1286}#
+ (map cdr #{pvars\ 1278}#))
+ #{r\ 1281}#)
(#{make-binding-wrap\ 148}#
- #{ids\ 1271}#
- #{labels\ 1273}#
+ #{ids\ 1283}#
+ #{labels\ 1285}#
'(()))
- #{mod\ 1270}#))
- #{y\ 1268}#))))))
- (#{convert-pattern\ 1229}#
- (lambda (#{pattern\ 1277}# #{keys\ 1278}#)
- (letrec ((#{cvt\ 1279}#
- (lambda (#{p\ 1280}# #{n\ 1281}# #{ids\ 1282}#)
- (if (#{id?\ 131}# #{p\ 1280}#)
+ #{mod\ 1282}#))
+ #{y\ 1280}#))))))
+ (#{convert-pattern\ 1241}#
+ (lambda (#{pattern\ 1289}# #{keys\ 1290}#)
+ (letrec ((#{cvt\ 1291}#
+ (lambda (#{p\ 1292}# #{n\ 1293}# #{ids\ 1294}#)
+ (if (#{id?\ 131}# #{p\ 1292}#)
(if (#{bound-id-member?\ 158}#
- #{p\ 1280}#
- #{keys\ 1278}#)
+ #{p\ 1292}#
+ #{keys\ 1290}#)
(values
- (vector (quote free-id) #{p\ 1280}#)
- #{ids\ 1282}#)
+ (vector (quote free-id) #{p\ 1292}#)
+ #{ids\ 1294}#)
(values
'any
- (cons (cons #{p\ 1280}# #{n\ 1281}#)
- #{ids\ 1282}#)))
- ((lambda (#{tmp\ 1283}#)
- ((lambda (#{tmp\ 1284}#)
- (if (if #{tmp\ 1284}#
- (apply (lambda (#{x\ 1285}#
- #{dots\ 1286}#)
+ (cons (cons #{p\ 1292}# #{n\ 1293}#)
+ #{ids\ 1294}#)))
+ ((lambda (#{tmp\ 1295}#)
+ ((lambda (#{tmp\ 1296}#)
+ (if (if #{tmp\ 1296}#
+ (apply (lambda (#{x\ 1297}#
+ #{dots\ 1298}#)
(#{ellipsis?\ 175}#
- #{dots\ 1286}#))
- #{tmp\ 1284}#)
+ #{dots\ 1298}#))
+ #{tmp\ 1296}#)
#f)
- (apply (lambda (#{x\ 1287}#
- #{dots\ 1288}#)
+ (apply (lambda (#{x\ 1299}#
+ #{dots\ 1300}#)
(call-with-values
(lambda ()
- (#{cvt\ 1279}#
- #{x\ 1287}#
+ (#{cvt\ 1291}#
+ #{x\ 1299}#
(#{fx+\ 86}#
- #{n\ 1281}#
+ #{n\ 1293}#
1)
- #{ids\ 1282}#))
- (lambda (#{p\ 1289}#
- #{ids\ 1290}#)
+ #{ids\ 1294}#))
+ (lambda (#{p\ 1301}#
+ #{ids\ 1302}#)
(values
- (if (eq? #{p\ 1289}#
+ (if (eq? #{p\ 1301}#
'any)
'each-any
(vector
'each
- #{p\ 1289}#))
- #{ids\ 1290}#))))
- #{tmp\ 1284}#)
- ((lambda (#{tmp\ 1291}#)
- (if #{tmp\ 1291}#
- (apply (lambda (#{x\ 1292}#
- #{y\ 1293}#)
+ #{p\ 1301}#))
+ #{ids\ 1302}#))))
+ #{tmp\ 1296}#)
+ ((lambda (#{tmp\ 1303}#)
+ (if #{tmp\ 1303}#
+ (apply (lambda (#{x\ 1304}#
+ #{y\ 1305}#)
(call-with-values
(lambda ()
- (#{cvt\ 1279}#
- #{y\ 1293}#
- #{n\ 1281}#
- #{ids\ 1282}#))
- (lambda (#{y\ 1294}#
- #{ids\ 1295}#)
+ (#{cvt\ 1291}#
+ #{y\ 1305}#
+ #{n\ 1293}#
+ #{ids\ 1294}#))
+ (lambda (#{y\ 1306}#
+ #{ids\ 1307}#)
(call-with-values
(lambda ()
- (#{cvt\ 1279}#
- #{x\ 1292}#
- #{n\ 1281}#
- #{ids\ 1295}#))
- (lambda (#{x\ 1296}#
- #{ids\ 1297}#)
+ (#{cvt\ 1291}#
+ #{x\ 1304}#
+ #{n\ 1293}#
+ #{ids\ 1307}#))
+ (lambda (#{x\ 1308}#
+ #{ids\ 1309}#)
(values
- (cons #{x\ 1296}#
- #{y\ 1294}#)
- #{ids\ 1297}#))))))
- #{tmp\ 1291}#)
- ((lambda (#{tmp\ 1298}#)
- (if #{tmp\ 1298}#
+ (cons #{x\ 1308}#
+ #{y\ 1306}#)
+ #{ids\ 1309}#))))))
+ #{tmp\ 1303}#)
+ ((lambda (#{tmp\ 1310}#)
+ (if #{tmp\ 1310}#
(apply (lambda ()
(values
'()
- #{ids\ 1282}#))
- #{tmp\ 1298}#)
- ((lambda (#{tmp\ 1299}#)
- (if #{tmp\ 1299}#
- (apply (lambda (#{x\ 1300}#)
+ #{ids\ 1294}#))
+ #{tmp\ 1310}#)
+ ((lambda (#{tmp\ 1311}#)
+ (if #{tmp\ 1311}#
+ (apply (lambda (#{x\ 1312}#)
(call-with-values
(lambda ()
- (#{cvt\ 1279}#
- #{x\ 1300}#
- #{n\ 1281}#
- #{ids\ 1282}#))
- (lambda (#{p\ 1302}#
- #{ids\ 1303}#)
+ (#{cvt\ 1291}#
+ #{x\ 1312}#
+ #{n\ 1293}#
+ #{ids\ 1294}#))
+ (lambda (#{p\ 1314}#
+ #{ids\ 1315}#)
(values
(vector
'vector
- #{p\ 1302}#)
- #{ids\ 1303}#))))
- #{tmp\ 1299}#)
- ((lambda (#{x\ 1304}#)
+ #{p\ 1314}#)
+ #{ids\ 1315}#))))
+ #{tmp\ 1311}#)
+ ((lambda (#{x\ 1316}#)
(values
(vector
'atom
(#{strip\ 176}#
- #{p\ 1280}#
+ #{p\ 1292}#
'(())))
- #{ids\ 1282}#))
- #{tmp\ 1283}#)))
+ #{ids\ 1294}#))
+ #{tmp\ 1295}#)))
($sc-dispatch
- #{tmp\ 1283}#
+ #{tmp\ 1295}#
'#(vector
each-any)))))
($sc-dispatch
- #{tmp\ 1283}#
+ #{tmp\ 1295}#
'()))))
($sc-dispatch
- #{tmp\ 1283}#
+ #{tmp\ 1295}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1283}#
+ #{tmp\ 1295}#
'(any any))))
- #{p\ 1280}#)))))
- (#{cvt\ 1279}# #{pattern\ 1277}# 0 (quote ()))))))
- (lambda (#{e\ 1305}#
- #{r\ 1306}#
- #{w\ 1307}#
- #{s\ 1308}#
- #{mod\ 1309}#)
- (let ((#{e\ 1310}#
+ #{p\ 1292}#)))))
+ (#{cvt\ 1291}# #{pattern\ 1289}# 0 (quote ()))))))
+ (lambda (#{e\ 1317}#
+ #{r\ 1318}#
+ #{w\ 1319}#
+ #{s\ 1320}#
+ #{mod\ 1321}#)
+ (let ((#{e\ 1322}#
(#{source-wrap\ 160}#
- #{e\ 1305}#
- #{w\ 1307}#
- #{s\ 1308}#
- #{mod\ 1309}#)))
- ((lambda (#{tmp\ 1311}#)
- ((lambda (#{tmp\ 1312}#)
- (if #{tmp\ 1312}#
- (apply (lambda (#{_\ 1313}#
- #{val\ 1314}#
- #{key\ 1315}#
- #{m\ 1316}#)
+ #{e\ 1317}#
+ #{w\ 1319}#
+ #{s\ 1320}#
+ #{mod\ 1321}#)))
+ ((lambda (#{tmp\ 1323}#)
+ ((lambda (#{tmp\ 1324}#)
+ (if #{tmp\ 1324}#
+ (apply (lambda (#{_\ 1325}#
+ #{val\ 1326}#
+ #{key\ 1327}#
+ #{m\ 1328}#)
(if (and-map
- (lambda (#{x\ 1317}#)
- (if (#{id?\ 131}# #{x\ 1317}#)
- (not (#{ellipsis?\ 175}# #{x\ 1317}#))
+ (lambda (#{x\ 1329}#)
+ (if (#{id?\ 131}# #{x\ 1329}#)
+ (not (#{ellipsis?\ 175}# #{x\ 1329}#))
#f))
- #{key\ 1315}#)
- (let ((#{x\ 1319}#
+ #{key\ 1327}#)
+ (let ((#{x\ 1331}#
(#{gen-var\ 177}# (quote tmp))))
(#{build-application\ 96}#
- #{s\ 1308}#
+ #{s\ 1320}#
(#{build-simple-lambda\ 105}#
#f
(list (quote tmp))
#f
- (list #{x\ 1319}#)
+ (list #{x\ 1331}#)
#f
- (#{gen-syntax-case\ 1232}#
+ (#{gen-syntax-case\ 1244}#
(#{build-lexical-reference\ 98}#
'value
#f
'tmp
- #{x\ 1319}#)
- #{key\ 1315}#
- #{m\ 1316}#
- #{r\ 1306}#
- #{mod\ 1309}#))
+ #{x\ 1331}#)
+ #{key\ 1327}#
+ #{m\ 1328}#
+ #{r\ 1318}#
+ #{mod\ 1321}#))
(list (#{chi\ 167}#
- #{val\ 1314}#
- #{r\ 1306}#
+ #{val\ 1326}#
+ #{r\ 1318}#
'(())
- #{mod\ 1309}#))))
+ #{mod\ 1321}#))))
(syntax-violation
'syntax-case
"invalid literals list"
- #{e\ 1310}#)))
- #{tmp\ 1312}#)
+ #{e\ 1322}#)))
+ #{tmp\ 1324}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1311}#)))
+ #{tmp\ 1323}#)))
($sc-dispatch
- #{tmp\ 1311}#
+ #{tmp\ 1323}#
'(any any each-any . each-any))))
- #{e\ 1310}#)))))
+ #{e\ 1322}#)))))
(set! sc-expand
- (lambda (#{x\ 1322}# . #{rest\ 1323}#)
- (if (if (pair? #{x\ 1322}#)
- (equal? (car #{x\ 1322}#) #{noexpand\ 84}#)
+ (lambda (#{x\ 1334}# . #{rest\ 1335}#)
+ (if (if (pair? #{x\ 1334}#)
+ (equal? (car #{x\ 1334}#) #{noexpand\ 84}#)
#f)
- (cadr #{x\ 1322}#)
- (let ((#{m\ 1324}#
- (if (null? #{rest\ 1323}#)
+ (cadr #{x\ 1334}#)
+ (let ((#{m\ 1336}#
+ (if (null? #{rest\ 1335}#)
'e
- (car #{rest\ 1323}#)))
- (#{esew\ 1325}#
- (if (let ((#{t\ 1326}# (null? #{rest\ 1323}#)))
- (if #{t\ 1326}#
- #{t\ 1326}#
- (null? (cdr #{rest\ 1323}#))))
+ (car #{rest\ 1335}#)))
+ (#{esew\ 1337}#
+ (if (let ((#{t\ 1338}# (null? #{rest\ 1335}#)))
+ (if #{t\ 1338}#
+ #{t\ 1338}#
+ (null? (cdr #{rest\ 1335}#))))
'(eval)
- (cadr #{rest\ 1323}#))))
+ (cadr #{rest\ 1335}#))))
(with-fluid*
#{*mode*\ 85}#
- #{m\ 1324}#
+ #{m\ 1336}#
(lambda ()
(#{chi-top\ 166}#
- #{x\ 1322}#
+ #{x\ 1334}#
'()
'((top))
- #{m\ 1324}#
- #{esew\ 1325}#
+ #{m\ 1336}#
+ #{esew\ 1337}#
(cons 'hygiene
(module-name (current-module))))))))))
(set! identifier?
- (lambda (#{x\ 1327}#)
- (#{nonsymbol-id?\ 130}# #{x\ 1327}#)))
+ (lambda (#{x\ 1339}#)
+ (#{nonsymbol-id?\ 130}# #{x\ 1339}#)))
(set! datum->syntax
- (lambda (#{id\ 1328}# #{datum\ 1329}#)
+ (lambda (#{id\ 1340}# #{datum\ 1341}#)
(#{make-syntax-object\ 114}#
- #{datum\ 1329}#
- (#{syntax-object-wrap\ 117}# #{id\ 1328}#)
+ #{datum\ 1341}#
+ (#{syntax-object-wrap\ 117}# #{id\ 1340}#)
#f)))
(set! syntax->datum
- (lambda (#{x\ 1330}#)
- (#{strip\ 176}# #{x\ 1330}# (quote (())))))
+ (lambda (#{x\ 1342}#)
+ (#{strip\ 176}# #{x\ 1342}# (quote (())))))
(set! generate-temporaries
- (lambda (#{ls\ 1331}#)
+ (lambda (#{ls\ 1343}#)
(begin
- (let ((#{x\ 1332}# #{ls\ 1331}#))
- (if (not (list? #{x\ 1332}#))
+ (let ((#{x\ 1344}# #{ls\ 1343}#))
+ (if (not (list? #{x\ 1344}#))
(syntax-violation
'generate-temporaries
"invalid argument"
- #{x\ 1332}#)))
- (map (lambda (#{x\ 1333}#)
+ #{x\ 1344}#)))
+ (map (lambda (#{x\ 1345}#)
(#{wrap\ 159}# (gensym) (quote ((top))) #f))
- #{ls\ 1331}#))))
+ #{ls\ 1343}#))))
(set! free-identifier=?
- (lambda (#{x\ 1334}# #{y\ 1335}#)
+ (lambda (#{x\ 1346}# #{y\ 1347}#)
(begin
- (let ((#{x\ 1336}# #{x\ 1334}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1336}#))
+ (let ((#{x\ 1348}# #{x\ 1346}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1348}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1336}#)))
- (let ((#{x\ 1337}# #{y\ 1335}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1337}#))
+ #{x\ 1348}#)))
+ (let ((#{x\ 1349}# #{y\ 1347}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1349}#))
(syntax-violation
'free-identifier=?
"invalid argument"
- #{x\ 1337}#)))
- (#{free-id=?\ 154}# #{x\ 1334}# #{y\ 1335}#))))
+ #{x\ 1349}#)))
+ (#{free-id=?\ 154}# #{x\ 1346}# #{y\ 1347}#))))
(set! bound-identifier=?
- (lambda (#{x\ 1338}# #{y\ 1339}#)
+ (lambda (#{x\ 1350}# #{y\ 1351}#)
(begin
- (let ((#{x\ 1340}# #{x\ 1338}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1340}#))
+ (let ((#{x\ 1352}# #{x\ 1350}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1352}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1340}#)))
- (let ((#{x\ 1341}# #{y\ 1339}#))
- (if (not (#{nonsymbol-id?\ 130}# #{x\ 1341}#))
+ #{x\ 1352}#)))
+ (let ((#{x\ 1353}# #{y\ 1351}#))
+ (if (not (#{nonsymbol-id?\ 130}# #{x\ 1353}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
- #{x\ 1341}#)))
- (#{bound-id=?\ 155}# #{x\ 1338}# #{y\ 1339}#))))
+ #{x\ 1353}#)))
+ (#{bound-id=?\ 155}# #{x\ 1350}# #{y\ 1351}#))))
(set! syntax-violation
- (lambda (#{who\ 1342}#
- #{message\ 1343}#
- #{form\ 1344}#
+ (lambda (#{who\ 1354}#
+ #{message\ 1355}#
+ #{form\ 1356}#
.
- #{subform\ 1345}#)
+ #{subform\ 1357}#)
(begin
- (let ((#{x\ 1346}# #{who\ 1342}#))
- (if (not ((lambda (#{x\ 1347}#)
- (let ((#{t\ 1348}# (not #{x\ 1347}#)))
- (if #{t\ 1348}#
- #{t\ 1348}#
- (let ((#{t\ 1349}# (string? #{x\ 1347}#)))
- (if #{t\ 1349}#
- #{t\ 1349}#
- (symbol? #{x\ 1347}#))))))
- #{x\ 1346}#))
+ (let ((#{x\ 1358}# #{who\ 1354}#))
+ (if (not ((lambda (#{x\ 1359}#)
+ (let ((#{t\ 1360}# (not #{x\ 1359}#)))
+ (if #{t\ 1360}#
+ #{t\ 1360}#
+ (let ((#{t\ 1361}# (string? #{x\ 1359}#)))
+ (if #{t\ 1361}#
+ #{t\ 1361}#
+ (symbol? #{x\ 1359}#))))))
+ #{x\ 1358}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1346}#)))
- (let ((#{x\ 1350}# #{message\ 1343}#))
- (if (not (string? #{x\ 1350}#))
+ #{x\ 1358}#)))
+ (let ((#{x\ 1362}# #{message\ 1355}#))
+ (if (not (string? #{x\ 1362}#))
(syntax-violation
'syntax-violation
"invalid argument"
- #{x\ 1350}#)))
+ #{x\ 1362}#)))
(scm-error
'syntax-error
'sc-expand
(string-append
- (if #{who\ 1342}# "~a: " "")
+ (if #{who\ 1354}# "~a: " "")
"~a "
- (if (null? #{subform\ 1345}#)
+ (if (null? #{subform\ 1357}#)
"in ~a"
"in subform `~s' of `~s'"))
- (let ((#{tail\ 1351}#
- (cons #{message\ 1343}#
- (map (lambda (#{x\ 1352}#)
- (#{strip\ 176}# #{x\ 1352}# (quote (()))))
+ (let ((#{tail\ 1363}#
+ (cons #{message\ 1355}#
+ (map (lambda (#{x\ 1364}#)
+ (#{strip\ 176}# #{x\ 1364}# (quote (()))))
(append
- #{subform\ 1345}#
- (list #{form\ 1344}#))))))
- (if #{who\ 1342}#
- (cons #{who\ 1342}# #{tail\ 1351}#)
- #{tail\ 1351}#))
+ #{subform\ 1357}#
+ (list #{form\ 1356}#))))))
+ (if #{who\ 1354}#
+ (cons #{who\ 1354}# #{tail\ 1363}#)
+ #{tail\ 1363}#))
#f))))
- (letrec ((#{match\ 1357}#
- (lambda (#{e\ 1358}#
- #{p\ 1359}#
- #{w\ 1360}#
- #{r\ 1361}#
- #{mod\ 1362}#)
- (if (not #{r\ 1361}#)
+ (letrec ((#{match\ 1369}#
+ (lambda (#{e\ 1370}#
+ #{p\ 1371}#
+ #{w\ 1372}#
+ #{r\ 1373}#
+ #{mod\ 1374}#)
+ (if (not #{r\ 1373}#)
#f
- (if (eq? #{p\ 1359}# (quote any))
+ (if (eq? #{p\ 1371}# (quote any))
(cons (#{wrap\ 159}#
- #{e\ 1358}#
- #{w\ 1360}#
- #{mod\ 1362}#)
- #{r\ 1361}#)
- (if (#{syntax-object?\ 115}# #{e\ 1358}#)
- (#{match*\ 1356}#
- (#{syntax-object-expression\ 116}# #{e\ 1358}#)
- #{p\ 1359}#
+ #{e\ 1370}#
+ #{w\ 1372}#
+ #{mod\ 1374}#)
+ #{r\ 1373}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1370}#)
+ (#{match*\ 1368}#
+ (#{syntax-object-expression\ 116}# #{e\ 1370}#)
+ #{p\ 1371}#
(#{join-wraps\ 150}#
- #{w\ 1360}#
- (#{syntax-object-wrap\ 117}# #{e\ 1358}#))
- #{r\ 1361}#
- (#{syntax-object-module\ 118}# #{e\ 1358}#))
- (#{match*\ 1356}#
- #{e\ 1358}#
- #{p\ 1359}#
- #{w\ 1360}#
- #{r\ 1361}#
- #{mod\ 1362}#))))))
- (#{match*\ 1356}#
- (lambda (#{e\ 1363}#
- #{p\ 1364}#
- #{w\ 1365}#
- #{r\ 1366}#
- #{mod\ 1367}#)
- (if (null? #{p\ 1364}#)
- (if (null? #{e\ 1363}#) #{r\ 1366}# #f)
- (if (pair? #{p\ 1364}#)
- (if (pair? #{e\ 1363}#)
- (#{match\ 1357}#
- (car #{e\ 1363}#)
- (car #{p\ 1364}#)
- #{w\ 1365}#
- (#{match\ 1357}#
- (cdr #{e\ 1363}#)
- (cdr #{p\ 1364}#)
- #{w\ 1365}#
- #{r\ 1366}#
- #{mod\ 1367}#)
- #{mod\ 1367}#)
+ #{w\ 1372}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1370}#))
+ #{r\ 1373}#
+ (#{syntax-object-module\ 118}# #{e\ 1370}#))
+ (#{match*\ 1368}#
+ #{e\ 1370}#
+ #{p\ 1371}#
+ #{w\ 1372}#
+ #{r\ 1373}#
+ #{mod\ 1374}#))))))
+ (#{match*\ 1368}#
+ (lambda (#{e\ 1375}#
+ #{p\ 1376}#
+ #{w\ 1377}#
+ #{r\ 1378}#
+ #{mod\ 1379}#)
+ (if (null? #{p\ 1376}#)
+ (if (null? #{e\ 1375}#) #{r\ 1378}# #f)
+ (if (pair? #{p\ 1376}#)
+ (if (pair? #{e\ 1375}#)
+ (#{match\ 1369}#
+ (car #{e\ 1375}#)
+ (car #{p\ 1376}#)
+ #{w\ 1377}#
+ (#{match\ 1369}#
+ (cdr #{e\ 1375}#)
+ (cdr #{p\ 1376}#)
+ #{w\ 1377}#
+ #{r\ 1378}#
+ #{mod\ 1379}#)
+ #{mod\ 1379}#)
#f)
- (if (eq? #{p\ 1364}# (quote each-any))
- (let ((#{l\ 1368}#
- (#{match-each-any\ 1354}#
- #{e\ 1363}#
- #{w\ 1365}#
- #{mod\ 1367}#)))
- (if #{l\ 1368}#
- (cons #{l\ 1368}# #{r\ 1366}#)
+ (if (eq? #{p\ 1376}# (quote each-any))
+ (let ((#{l\ 1380}#
+ (#{match-each-any\ 1366}#
+ #{e\ 1375}#
+ #{w\ 1377}#
+ #{mod\ 1379}#)))
+ (if #{l\ 1380}#
+ (cons #{l\ 1380}# #{r\ 1378}#)
#f))
- (let ((#{atom-key\ 1369}# (vector-ref #{p\ 1364}# 0)))
- (if (memv #{atom-key\ 1369}# (quote (each)))
- (if (null? #{e\ 1363}#)
- (#{match-empty\ 1355}#
- (vector-ref #{p\ 1364}# 1)
- #{r\ 1366}#)
- (let ((#{l\ 1370}#
- (#{match-each\ 1353}#
- #{e\ 1363}#
- (vector-ref #{p\ 1364}# 1)
- #{w\ 1365}#
- #{mod\ 1367}#)))
- (if #{l\ 1370}#
- (letrec ((#{collect\ 1371}#
- (lambda (#{l\ 1372}#)
- (if (null? (car #{l\ 1372}#))
- #{r\ 1366}#
- (cons (map car #{l\ 1372}#)
- (#{collect\ 1371}#
+ (let ((#{atom-key\ 1381}# (vector-ref #{p\ 1376}# 0)))
+ (if (memv #{atom-key\ 1381}# (quote (each)))
+ (if (null? #{e\ 1375}#)
+ (#{match-empty\ 1367}#
+ (vector-ref #{p\ 1376}# 1)
+ #{r\ 1378}#)
+ (let ((#{l\ 1382}#
+ (#{match-each\ 1365}#
+ #{e\ 1375}#
+ (vector-ref #{p\ 1376}# 1)
+ #{w\ 1377}#
+ #{mod\ 1379}#)))
+ (if #{l\ 1382}#
+ (letrec ((#{collect\ 1383}#
+ (lambda (#{l\ 1384}#)
+ (if (null? (car #{l\ 1384}#))
+ #{r\ 1378}#
+ (cons (map car #{l\ 1384}#)
+ (#{collect\ 1383}#
(map cdr
- #{l\ 1372}#)))))))
- (#{collect\ 1371}# #{l\ 1370}#))
+ #{l\ 1384}#)))))))
+ (#{collect\ 1383}# #{l\ 1382}#))
#f)))
- (if (memv #{atom-key\ 1369}# (quote (free-id)))
- (if (#{id?\ 131}# #{e\ 1363}#)
+ (if (memv #{atom-key\ 1381}# (quote (free-id)))
+ (if (#{id?\ 131}# #{e\ 1375}#)
(if (#{free-id=?\ 154}#
(#{wrap\ 159}#
- #{e\ 1363}#
- #{w\ 1365}#
- #{mod\ 1367}#)
- (vector-ref #{p\ 1364}# 1))
- #{r\ 1366}#
+ #{e\ 1375}#
+ #{w\ 1377}#
+ #{mod\ 1379}#)
+ (vector-ref #{p\ 1376}# 1))
+ #{r\ 1378}#
#f)
#f)
- (if (memv #{atom-key\ 1369}# (quote (atom)))
+ (if (memv #{atom-key\ 1381}# (quote (atom)))
(if (equal?
- (vector-ref #{p\ 1364}# 1)
+ (vector-ref #{p\ 1376}# 1)
(#{strip\ 176}#
- #{e\ 1363}#
- #{w\ 1365}#))
- #{r\ 1366}#
+ #{e\ 1375}#
+ #{w\ 1377}#))
+ #{r\ 1378}#
#f)
- (if (memv #{atom-key\ 1369}# (quote (vector)))
- (if (vector? #{e\ 1363}#)
- (#{match\ 1357}#
- (vector->list #{e\ 1363}#)
- (vector-ref #{p\ 1364}# 1)
- #{w\ 1365}#
- #{r\ 1366}#
- #{mod\ 1367}#)
+ (if (memv #{atom-key\ 1381}# (quote (vector)))
+ (if (vector? #{e\ 1375}#)
+ (#{match\ 1369}#
+ (vector->list #{e\ 1375}#)
+ (vector-ref #{p\ 1376}# 1)
+ #{w\ 1377}#
+ #{r\ 1378}#
+ #{mod\ 1379}#)
#f)))))))))))
- (#{match-empty\ 1355}#
- (lambda (#{p\ 1373}# #{r\ 1374}#)
- (if (null? #{p\ 1373}#)
- #{r\ 1374}#
- (if (eq? #{p\ 1373}# (quote any))
- (cons (quote ()) #{r\ 1374}#)
- (if (pair? #{p\ 1373}#)
- (#{match-empty\ 1355}#
- (car #{p\ 1373}#)
- (#{match-empty\ 1355}#
- (cdr #{p\ 1373}#)
- #{r\ 1374}#))
- (if (eq? #{p\ 1373}# (quote each-any))
- (cons (quote ()) #{r\ 1374}#)
- (let ((#{atom-key\ 1375}#
- (vector-ref #{p\ 1373}# 0)))
- (if (memv #{atom-key\ 1375}# (quote (each)))
- (#{match-empty\ 1355}#
- (vector-ref #{p\ 1373}# 1)
- #{r\ 1374}#)
- (if (memv #{atom-key\ 1375}#
+ (#{match-empty\ 1367}#
+ (lambda (#{p\ 1385}# #{r\ 1386}#)
+ (if (null? #{p\ 1385}#)
+ #{r\ 1386}#
+ (if (eq? #{p\ 1385}# (quote any))
+ (cons (quote ()) #{r\ 1386}#)
+ (if (pair? #{p\ 1385}#)
+ (#{match-empty\ 1367}#
+ (car #{p\ 1385}#)
+ (#{match-empty\ 1367}#
+ (cdr #{p\ 1385}#)
+ #{r\ 1386}#))
+ (if (eq? #{p\ 1385}# (quote each-any))
+ (cons (quote ()) #{r\ 1386}#)
+ (let ((#{atom-key\ 1387}#
+ (vector-ref #{p\ 1385}# 0)))
+ (if (memv #{atom-key\ 1387}# (quote (each)))
+ (#{match-empty\ 1367}#
+ (vector-ref #{p\ 1385}# 1)
+ #{r\ 1386}#)
+ (if (memv #{atom-key\ 1387}#
'(free-id atom))
- #{r\ 1374}#
- (if (memv #{atom-key\ 1375}# (quote (vector)))
- (#{match-empty\ 1355}#
- (vector-ref #{p\ 1373}# 1)
- #{r\ 1374}#)))))))))))
- (#{match-each-any\ 1354}#
- (lambda (#{e\ 1376}# #{w\ 1377}# #{mod\ 1378}#)
- (if (pair? #{e\ 1376}#)
- (let ((#{l\ 1379}#
- (#{match-each-any\ 1354}#
- (cdr #{e\ 1376}#)
- #{w\ 1377}#
- #{mod\ 1378}#)))
- (if #{l\ 1379}#
+ #{r\ 1386}#
+ (if (memv #{atom-key\ 1387}# (quote (vector)))
+ (#{match-empty\ 1367}#
+ (vector-ref #{p\ 1385}# 1)
+ #{r\ 1386}#)))))))))))
+ (#{match-each-any\ 1366}#
+ (lambda (#{e\ 1388}# #{w\ 1389}# #{mod\ 1390}#)
+ (if (pair? #{e\ 1388}#)
+ (let ((#{l\ 1391}#
+ (#{match-each-any\ 1366}#
+ (cdr #{e\ 1388}#)
+ #{w\ 1389}#
+ #{mod\ 1390}#)))
+ (if #{l\ 1391}#
(cons (#{wrap\ 159}#
- (car #{e\ 1376}#)
- #{w\ 1377}#
- #{mod\ 1378}#)
- #{l\ 1379}#)
+ (car #{e\ 1388}#)
+ #{w\ 1389}#
+ #{mod\ 1390}#)
+ #{l\ 1391}#)
#f))
- (if (null? #{e\ 1376}#)
+ (if (null? #{e\ 1388}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1376}#)
- (#{match-each-any\ 1354}#
- (#{syntax-object-expression\ 116}# #{e\ 1376}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1388}#)
+ (#{match-each-any\ 1366}#
+ (#{syntax-object-expression\ 116}# #{e\ 1388}#)
(#{join-wraps\ 150}#
- #{w\ 1377}#
- (#{syntax-object-wrap\ 117}# #{e\ 1376}#))
- #{mod\ 1378}#)
+ #{w\ 1389}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1388}#))
+ #{mod\ 1390}#)
#f)))))
- (#{match-each\ 1353}#
- (lambda (#{e\ 1380}#
- #{p\ 1381}#
- #{w\ 1382}#
- #{mod\ 1383}#)
- (if (pair? #{e\ 1380}#)
- (let ((#{first\ 1384}#
- (#{match\ 1357}#
- (car #{e\ 1380}#)
- #{p\ 1381}#
- #{w\ 1382}#
+ (#{match-each\ 1365}#
+ (lambda (#{e\ 1392}#
+ #{p\ 1393}#
+ #{w\ 1394}#
+ #{mod\ 1395}#)
+ (if (pair? #{e\ 1392}#)
+ (let ((#{first\ 1396}#
+ (#{match\ 1369}#
+ (car #{e\ 1392}#)
+ #{p\ 1393}#
+ #{w\ 1394}#
'()
- #{mod\ 1383}#)))
- (if #{first\ 1384}#
- (let ((#{rest\ 1385}#
- (#{match-each\ 1353}#
- (cdr #{e\ 1380}#)
- #{p\ 1381}#
- #{w\ 1382}#
- #{mod\ 1383}#)))
- (if #{rest\ 1385}#
- (cons #{first\ 1384}# #{rest\ 1385}#)
+ #{mod\ 1395}#)))
+ (if #{first\ 1396}#
+ (let ((#{rest\ 1397}#
+ (#{match-each\ 1365}#
+ (cdr #{e\ 1392}#)
+ #{p\ 1393}#
+ #{w\ 1394}#
+ #{mod\ 1395}#)))
+ (if #{rest\ 1397}#
+ (cons #{first\ 1396}# #{rest\ 1397}#)
#f))
#f))
- (if (null? #{e\ 1380}#)
+ (if (null? #{e\ 1392}#)
'()
- (if (#{syntax-object?\ 115}# #{e\ 1380}#)
- (#{match-each\ 1353}#
- (#{syntax-object-expression\ 116}# #{e\ 1380}#)
- #{p\ 1381}#
+ (if (#{syntax-object?\ 115}# #{e\ 1392}#)
+ (#{match-each\ 1365}#
+ (#{syntax-object-expression\ 116}# #{e\ 1392}#)
+ #{p\ 1393}#
(#{join-wraps\ 150}#
- #{w\ 1382}#
- (#{syntax-object-wrap\ 117}# #{e\ 1380}#))
- (#{syntax-object-module\ 118}# #{e\ 1380}#))
+ #{w\ 1394}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1392}#))
+ (#{syntax-object-module\ 118}# #{e\ 1392}#))
#f))))))
(set! $sc-dispatch
- (lambda (#{e\ 1386}# #{p\ 1387}#)
- (if (eq? #{p\ 1387}# (quote any))
- (list #{e\ 1386}#)
- (if (#{syntax-object?\ 115}# #{e\ 1386}#)
- (#{match*\ 1356}#
- (#{syntax-object-expression\ 116}# #{e\ 1386}#)
- #{p\ 1387}#
- (#{syntax-object-wrap\ 117}# #{e\ 1386}#)
+ (lambda (#{e\ 1398}# #{p\ 1399}#)
+ (if (eq? #{p\ 1399}# (quote any))
+ (list #{e\ 1398}#)
+ (if (#{syntax-object?\ 115}# #{e\ 1398}#)
+ (#{match*\ 1368}#
+ (#{syntax-object-expression\ 116}# #{e\ 1398}#)
+ #{p\ 1399}#
+ (#{syntax-object-wrap\ 117}# #{e\ 1398}#)
'()
- (#{syntax-object-module\ 118}# #{e\ 1386}#))
- (#{match*\ 1356}#
- #{e\ 1386}#
- #{p\ 1387}#
+ (#{syntax-object-module\ 118}# #{e\ 1398}#))
+ (#{match*\ 1368}#
+ #{e\ 1398}#
+ #{p\ 1399}#
'(())
'()
#f)))))))))
@@ -9305,11 +9391,11 @@
(define with-syntax
(make-syncase-macro
'macro
- (lambda (#{x\ 1388}#)
- ((lambda (#{tmp\ 1389}#)
- ((lambda (#{tmp\ 1390}#)
- (if #{tmp\ 1390}#
- (apply (lambda (#{_\ 1391}# #{e1\ 1392}# #{e2\ 1393}#)
+ (lambda (#{x\ 1400}#)
+ ((lambda (#{tmp\ 1401}#)
+ ((lambda (#{tmp\ 1402}#)
+ (if #{tmp\ 1402}#
+ (apply (lambda (#{_\ 1403}# #{e1\ 1404}# #{e2\ 1405}#)
(cons '#(syntax-object
begin
((top)
@@ -9320,15 +9406,15 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- (cons #{e1\ 1392}# #{e2\ 1393}#)))
- #{tmp\ 1390}#)
- ((lambda (#{tmp\ 1395}#)
- (if #{tmp\ 1395}#
- (apply (lambda (#{_\ 1396}#
- #{out\ 1397}#
- #{in\ 1398}#
- #{e1\ 1399}#
- #{e2\ 1400}#)
+ (cons #{e1\ 1404}# #{e2\ 1405}#)))
+ #{tmp\ 1402}#)
+ ((lambda (#{tmp\ 1407}#)
+ (if #{tmp\ 1407}#
+ (apply (lambda (#{_\ 1408}#
+ #{out\ 1409}#
+ #{in\ 1410}#
+ #{e1\ 1411}#
+ #{e2\ 1412}#)
(list '#(syntax-object
syntax-case
((top)
@@ -9339,9 +9425,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- #{in\ 1398}#
+ #{in\ 1410}#
'()
- (list #{out\ 1397}#
+ (list #{out\ 1409}#
(cons '#(syntax-object
begin
((top)
@@ -9359,16 +9445,16 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e1\ 1399}#
- #{e2\ 1400}#)))))
- #{tmp\ 1395}#)
- ((lambda (#{tmp\ 1402}#)
- (if #{tmp\ 1402}#
- (apply (lambda (#{_\ 1403}#
- #{out\ 1404}#
- #{in\ 1405}#
- #{e1\ 1406}#
- #{e2\ 1407}#)
+ (cons #{e1\ 1411}#
+ #{e2\ 1412}#)))))
+ #{tmp\ 1407}#)
+ ((lambda (#{tmp\ 1414}#)
+ (if #{tmp\ 1414}#
+ (apply (lambda (#{_\ 1415}#
+ #{out\ 1416}#
+ #{in\ 1417}#
+ #{e1\ 1418}#
+ #{e2\ 1419}#)
(list '#(syntax-object
syntax-case
((top)
@@ -9396,9 +9482,9 @@
#((top))
#("i")))
(hygiene guile))
- #{in\ 1405}#)
+ #{in\ 1417}#)
'()
- (list #{out\ 1404}#
+ (list #{out\ 1416}#
(cons '#(syntax-object
begin
((top)
@@ -9420,36 +9506,36 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e1\ 1406}#
- #{e2\ 1407}#)))))
- #{tmp\ 1402}#)
+ (cons #{e1\ 1418}#
+ #{e2\ 1419}#)))))
+ #{tmp\ 1414}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1389}#)))
+ #{tmp\ 1401}#)))
($sc-dispatch
- #{tmp\ 1389}#
+ #{tmp\ 1401}#
'(any #(each (any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1389}#
+ #{tmp\ 1401}#
'(any ((any any)) any . each-any)))))
($sc-dispatch
- #{tmp\ 1389}#
+ #{tmp\ 1401}#
'(any () any . each-any))))
- #{x\ 1388}#))))
+ #{x\ 1400}#))))
(define syntax-rules
(make-syncase-macro
'macro
- (lambda (#{x\ 1411}#)
- ((lambda (#{tmp\ 1412}#)
- ((lambda (#{tmp\ 1413}#)
- (if #{tmp\ 1413}#
- (apply (lambda (#{_\ 1414}#
- #{k\ 1415}#
- #{keyword\ 1416}#
- #{pattern\ 1417}#
- #{template\ 1418}#)
+ (lambda (#{x\ 1423}#)
+ ((lambda (#{tmp\ 1424}#)
+ ((lambda (#{tmp\ 1425}#)
+ (if #{tmp\ 1425}#
+ (apply (lambda (#{_\ 1426}#
+ #{k\ 1427}#
+ #{keyword\ 1428}#
+ #{pattern\ 1429}#
+ #{template\ 1430}#)
(list '#(syntax-object
lambda
((top)
@@ -9490,9 +9576,9 @@
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i")))
(hygiene guile))
- (cons #{k\ 1415}#
- (map (lambda (#{tmp\ 1421}#
- #{tmp\ 1420}#)
+ (cons #{k\ 1427}#
+ (map (lambda (#{tmp\ 1433}#
+ #{tmp\ 1432}#)
(list (cons '#(syntax-object
dummy
((top)
@@ -9522,7 +9608,7 @@
#("i")))
(hygiene
guile))
- #{tmp\ 1420}#)
+ #{tmp\ 1432}#)
(list '#(syntax-object
syntax
((top)
@@ -9552,43 +9638,43 @@
#("i")))
(hygiene
guile))
- #{tmp\ 1421}#)))
- #{template\ 1418}#
- #{pattern\ 1417}#))))))
- #{tmp\ 1413}#)
+ #{tmp\ 1433}#)))
+ #{template\ 1430}#
+ #{pattern\ 1429}#))))))
+ #{tmp\ 1425}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1412}#)))
+ #{tmp\ 1424}#)))
($sc-dispatch
- #{tmp\ 1412}#
+ #{tmp\ 1424}#
'(any each-any . #(each ((any . any) any))))))
- #{x\ 1411}#))))
+ #{x\ 1423}#))))
(define let*
(make-extended-syncase-macro
(module-ref (current-module) (quote let*))
'macro
- (lambda (#{x\ 1422}#)
- ((lambda (#{tmp\ 1423}#)
- ((lambda (#{tmp\ 1424}#)
- (if (if #{tmp\ 1424}#
- (apply (lambda (#{let*\ 1425}#
- #{x\ 1426}#
- #{v\ 1427}#
- #{e1\ 1428}#
- #{e2\ 1429}#)
- (and-map identifier? #{x\ 1426}#))
- #{tmp\ 1424}#)
+ (lambda (#{x\ 1434}#)
+ ((lambda (#{tmp\ 1435}#)
+ ((lambda (#{tmp\ 1436}#)
+ (if (if #{tmp\ 1436}#
+ (apply (lambda (#{let*\ 1437}#
+ #{x\ 1438}#
+ #{v\ 1439}#
+ #{e1\ 1440}#
+ #{e2\ 1441}#)
+ (and-map identifier? #{x\ 1438}#))
+ #{tmp\ 1436}#)
#f)
- (apply (lambda (#{let*\ 1431}#
- #{x\ 1432}#
- #{v\ 1433}#
- #{e1\ 1434}#
- #{e2\ 1435}#)
- (letrec ((#{f\ 1436}#
- (lambda (#{bindings\ 1437}#)
- (if (null? #{bindings\ 1437}#)
+ (apply (lambda (#{let*\ 1443}#
+ #{x\ 1444}#
+ #{v\ 1445}#
+ #{e1\ 1446}#
+ #{e2\ 1447}#)
+ (letrec ((#{f\ 1448}#
+ (lambda (#{bindings\ 1449}#)
+ (if (null? #{bindings\ 1449}#)
(cons '#(syntax-object
let
((top)
@@ -9612,13 +9698,13 @@
#("i")))
(hygiene guile))
(cons '()
- (cons #{e1\ 1434}#
- #{e2\ 1435}#)))
- ((lambda (#{tmp\ 1441}#)
- ((lambda (#{tmp\ 1442}#)
- (if #{tmp\ 1442}#
- (apply (lambda (#{body\ 1443}#
- #{binding\ 1444}#)
+ (cons #{e1\ 1446}#
+ #{e2\ 1447}#)))
+ ((lambda (#{tmp\ 1453}#)
+ ((lambda (#{tmp\ 1454}#)
+ (if #{tmp\ 1454}#
+ (apply (lambda (#{body\ 1455}#
+ #{binding\ 1456}#)
(list '#(syntax-object
let
((top)
@@ -9664,52 +9750,52 @@
#("i")))
(hygiene
guile))
- (list #{binding\ 1444}#)
- #{body\ 1443}#))
- #{tmp\ 1442}#)
+ (list #{binding\ 1456}#)
+ #{body\ 1455}#))
+ #{tmp\ 1454}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1441}#)))
+ #{tmp\ 1453}#)))
($sc-dispatch
- #{tmp\ 1441}#
+ #{tmp\ 1453}#
'(any any))))
- (list (#{f\ 1436}#
- (cdr #{bindings\ 1437}#))
- (car #{bindings\ 1437}#)))))))
- (#{f\ 1436}# (map list #{x\ 1432}# #{v\ 1433}#))))
- #{tmp\ 1424}#)
+ (list (#{f\ 1448}#
+ (cdr #{bindings\ 1449}#))
+ (car #{bindings\ 1449}#)))))))
+ (#{f\ 1448}# (map list #{x\ 1444}# #{v\ 1445}#))))
+ #{tmp\ 1436}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1423}#)))
+ #{tmp\ 1435}#)))
($sc-dispatch
- #{tmp\ 1423}#
+ #{tmp\ 1435}#
'(any #(each (any any)) any . each-any))))
- #{x\ 1422}#))))
+ #{x\ 1434}#))))
(define do
(make-extended-syncase-macro
(module-ref (current-module) (quote do))
'macro
- (lambda (#{orig-x\ 1445}#)
- ((lambda (#{tmp\ 1446}#)
- ((lambda (#{tmp\ 1447}#)
- (if #{tmp\ 1447}#
- (apply (lambda (#{_\ 1448}#
- #{var\ 1449}#
- #{init\ 1450}#
- #{step\ 1451}#
- #{e0\ 1452}#
- #{e1\ 1453}#
- #{c\ 1454}#)
- ((lambda (#{tmp\ 1455}#)
- ((lambda (#{tmp\ 1456}#)
- (if #{tmp\ 1456}#
- (apply (lambda (#{step\ 1457}#)
- ((lambda (#{tmp\ 1458}#)
- ((lambda (#{tmp\ 1459}#)
- (if #{tmp\ 1459}#
+ (lambda (#{orig-x\ 1457}#)
+ ((lambda (#{tmp\ 1458}#)
+ ((lambda (#{tmp\ 1459}#)
+ (if #{tmp\ 1459}#
+ (apply (lambda (#{_\ 1460}#
+ #{var\ 1461}#
+ #{init\ 1462}#
+ #{step\ 1463}#
+ #{e0\ 1464}#
+ #{e1\ 1465}#
+ #{c\ 1466}#)
+ ((lambda (#{tmp\ 1467}#)
+ ((lambda (#{tmp\ 1468}#)
+ (if #{tmp\ 1468}#
+ (apply (lambda (#{step\ 1469}#)
+ ((lambda (#{tmp\ 1470}#)
+ ((lambda (#{tmp\ 1471}#)
+ (if #{tmp\ 1471}#
(apply (lambda ()
(list '#(syntax-object
let
@@ -9790,8 +9876,8 @@
(hygiene
guile))
(map list
- #{var\ 1449}#
- #{init\ 1450}#)
+ #{var\ 1461}#
+ #{init\ 1462}#)
(list '#(syntax-object
if
((top)
@@ -9870,7 +9956,7 @@
#("i")))
(hygiene
guile))
- #{e0\ 1452}#)
+ #{e0\ 1464}#)
(cons '#(syntax-object
begin
((top)
@@ -9911,7 +9997,7 @@
(hygiene
guile))
(append
- #{c\ 1454}#
+ #{c\ 1466}#
(list (cons '#(syntax-object
doloop
((top)
@@ -9951,12 +10037,12 @@
#("i")))
(hygiene
guile))
- #{step\ 1457}#)))))))
- #{tmp\ 1459}#)
- ((lambda (#{tmp\ 1464}#)
- (if #{tmp\ 1464}#
- (apply (lambda (#{e1\ 1465}#
- #{e2\ 1466}#)
+ #{step\ 1469}#)))))))
+ #{tmp\ 1471}#)
+ ((lambda (#{tmp\ 1476}#)
+ (if #{tmp\ 1476}#
+ (apply (lambda (#{e1\ 1477}#
+ #{e2\ 1478}#)
(list '#(syntax-object
let
((top)
@@ -10050,8 +10136,8 @@
(hygiene
guile))
(map list
- #{var\ 1449}#
- #{init\ 1450}#)
+ #{var\ 1461}#
+ #{init\ 1462}#)
(list '#(syntax-object
if
((top)
@@ -10098,7 +10184,7 @@
#("i")))
(hygiene
guile))
- #{e0\ 1452}#
+ #{e0\ 1464}#
(cons '#(syntax-object
begin
((top)
@@ -10145,8 +10231,8 @@
#("i")))
(hygiene
guile))
- (cons #{e1\ 1465}#
- #{e2\ 1466}#))
+ (cons #{e1\ 1477}#
+ #{e2\ 1478}#))
(cons '#(syntax-object
begin
((top)
@@ -10194,7 +10280,7 @@
(hygiene
guile))
(append
- #{c\ 1454}#
+ #{c\ 1466}#
(list (cons '#(syntax-object
doloop
((top)
@@ -10241,81 +10327,81 @@
#("i")))
(hygiene
guile))
- #{step\ 1457}#)))))))
- #{tmp\ 1464}#)
+ #{step\ 1469}#)))))))
+ #{tmp\ 1476}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1458}#)))
+ #{tmp\ 1470}#)))
($sc-dispatch
- #{tmp\ 1458}#
+ #{tmp\ 1470}#
'(any . each-any)))))
($sc-dispatch
- #{tmp\ 1458}#
+ #{tmp\ 1470}#
'())))
- #{e1\ 1453}#))
- #{tmp\ 1456}#)
+ #{e1\ 1465}#))
+ #{tmp\ 1468}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1455}#)))
- ($sc-dispatch #{tmp\ 1455}# (quote each-any))))
- (map (lambda (#{v\ 1473}# #{s\ 1474}#)
- ((lambda (#{tmp\ 1475}#)
- ((lambda (#{tmp\ 1476}#)
- (if #{tmp\ 1476}#
- (apply (lambda () #{v\ 1473}#)
- #{tmp\ 1476}#)
- ((lambda (#{tmp\ 1477}#)
- (if #{tmp\ 1477}#
- (apply (lambda (#{e\ 1478}#)
- #{e\ 1478}#)
- #{tmp\ 1477}#)
- ((lambda (#{_\ 1479}#)
+ #{tmp\ 1467}#)))
+ ($sc-dispatch #{tmp\ 1467}# (quote each-any))))
+ (map (lambda (#{v\ 1485}# #{s\ 1486}#)
+ ((lambda (#{tmp\ 1487}#)
+ ((lambda (#{tmp\ 1488}#)
+ (if #{tmp\ 1488}#
+ (apply (lambda () #{v\ 1485}#)
+ #{tmp\ 1488}#)
+ ((lambda (#{tmp\ 1489}#)
+ (if #{tmp\ 1489}#
+ (apply (lambda (#{e\ 1490}#)
+ #{e\ 1490}#)
+ #{tmp\ 1489}#)
+ ((lambda (#{_\ 1491}#)
(syntax-violation
'do
"bad step expression"
- #{orig-x\ 1445}#
- #{s\ 1474}#))
- #{tmp\ 1475}#)))
+ #{orig-x\ 1457}#
+ #{s\ 1486}#))
+ #{tmp\ 1487}#)))
($sc-dispatch
- #{tmp\ 1475}#
+ #{tmp\ 1487}#
'(any)))))
- ($sc-dispatch #{tmp\ 1475}# (quote ()))))
- #{s\ 1474}#))
- #{var\ 1449}#
- #{step\ 1451}#)))
- #{tmp\ 1447}#)
+ ($sc-dispatch #{tmp\ 1487}# (quote ()))))
+ #{s\ 1486}#))
+ #{var\ 1461}#
+ #{step\ 1463}#)))
+ #{tmp\ 1459}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1446}#)))
+ #{tmp\ 1458}#)))
($sc-dispatch
- #{tmp\ 1446}#
+ #{tmp\ 1458}#
'(any #(each (any any . any))
(any . each-any)
.
each-any))))
- #{orig-x\ 1445}#))))
+ #{orig-x\ 1457}#))))
(define quasiquote
(make-extended-syncase-macro
(module-ref (current-module) (quote quasiquote))
'macro
- (letrec ((#{quasicons\ 1482}#
- (lambda (#{x\ 1486}# #{y\ 1487}#)
- ((lambda (#{tmp\ 1488}#)
- ((lambda (#{tmp\ 1489}#)
- (if #{tmp\ 1489}#
- (apply (lambda (#{x\ 1490}# #{y\ 1491}#)
- ((lambda (#{tmp\ 1492}#)
- ((lambda (#{tmp\ 1493}#)
- (if #{tmp\ 1493}#
- (apply (lambda (#{dy\ 1494}#)
- ((lambda (#{tmp\ 1495}#)
- ((lambda (#{tmp\ 1496}#)
- (if #{tmp\ 1496}#
- (apply (lambda (#{dx\ 1497}#)
+ (letrec ((#{quasicons\ 1494}#
+ (lambda (#{x\ 1498}# #{y\ 1499}#)
+ ((lambda (#{tmp\ 1500}#)
+ ((lambda (#{tmp\ 1501}#)
+ (if #{tmp\ 1501}#
+ (apply (lambda (#{x\ 1502}# #{y\ 1503}#)
+ ((lambda (#{tmp\ 1504}#)
+ ((lambda (#{tmp\ 1505}#)
+ (if #{tmp\ 1505}#
+ (apply (lambda (#{dy\ 1506}#)
+ ((lambda (#{tmp\ 1507}#)
+ ((lambda (#{tmp\ 1508}#)
+ (if #{tmp\ 1508}#
+ (apply (lambda (#{dx\ 1509}#)
(list '#(syntax-object
quote
((top)
@@ -10364,11 +10450,11 @@
"i")))
(hygiene
guile))
- (cons #{dx\ 1497}#
- #{dy\ 1494}#)))
- #{tmp\ 1496}#)
- ((lambda (#{_\ 1498}#)
- (if (null? #{dy\ 1494}#)
+ (cons #{dx\ 1509}#
+ #{dy\ 1506}#)))
+ #{tmp\ 1508}#)
+ ((lambda (#{_\ 1510}#)
+ (if (null? #{dy\ 1506}#)
(list '#(syntax-object
list
((top)
@@ -10417,7 +10503,7 @@
"i")))
(hygiene
guile))
- #{x\ 1490}#)
+ #{x\ 1502}#)
(list '#(syntax-object
cons
((top)
@@ -10466,11 +10552,11 @@
"i")))
(hygiene
guile))
- #{x\ 1490}#
- #{y\ 1491}#)))
- #{tmp\ 1495}#)))
+ #{x\ 1502}#
+ #{y\ 1503}#)))
+ #{tmp\ 1507}#)))
($sc-dispatch
- #{tmp\ 1495}#
+ #{tmp\ 1507}#
'(#(free-id
#(syntax-object
quote
@@ -10513,11 +10599,11 @@
(hygiene
guile)))
any))))
- #{x\ 1490}#))
- #{tmp\ 1493}#)
- ((lambda (#{tmp\ 1499}#)
- (if #{tmp\ 1499}#
- (apply (lambda (#{stuff\ 1500}#)
+ #{x\ 1502}#))
+ #{tmp\ 1505}#)
+ ((lambda (#{tmp\ 1511}#)
+ (if #{tmp\ 1511}#
+ (apply (lambda (#{stuff\ 1512}#)
(cons '#(syntax-object
list
((top)
@@ -10558,10 +10644,10 @@
"i")))
(hygiene
guile))
- (cons #{x\ 1490}#
- #{stuff\ 1500}#)))
- #{tmp\ 1499}#)
- ((lambda (#{else\ 1501}#)
+ (cons #{x\ 1502}#
+ #{stuff\ 1512}#)))
+ #{tmp\ 1511}#)
+ ((lambda (#{else\ 1513}#)
(list '#(syntax-object
cons
((top)
@@ -10593,11 +10679,11 @@
"i"
"i")))
(hygiene guile))
- #{x\ 1490}#
- #{y\ 1491}#))
- #{tmp\ 1492}#)))
+ #{x\ 1502}#
+ #{y\ 1503}#))
+ #{tmp\ 1504}#)))
($sc-dispatch
- #{tmp\ 1492}#
+ #{tmp\ 1504}#
'(#(free-id
#(syntax-object
list
@@ -10626,7 +10712,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1492}#
+ #{tmp\ 1504}#
'(#(free-id
#(syntax-object
quote
@@ -10650,26 +10736,26 @@
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
- #{y\ 1491}#))
- #{tmp\ 1489}#)
+ #{y\ 1503}#))
+ #{tmp\ 1501}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1488}#)))
- ($sc-dispatch #{tmp\ 1488}# (quote (any any)))))
- (list #{x\ 1486}# #{y\ 1487}#))))
- (#{quasiappend\ 1483}#
- (lambda (#{x\ 1502}# #{y\ 1503}#)
- ((lambda (#{tmp\ 1504}#)
- ((lambda (#{tmp\ 1505}#)
- (if #{tmp\ 1505}#
- (apply (lambda (#{x\ 1506}# #{y\ 1507}#)
- ((lambda (#{tmp\ 1508}#)
- ((lambda (#{tmp\ 1509}#)
- (if #{tmp\ 1509}#
- (apply (lambda () #{x\ 1506}#)
- #{tmp\ 1509}#)
- ((lambda (#{_\ 1510}#)
+ #{tmp\ 1500}#)))
+ ($sc-dispatch #{tmp\ 1500}# (quote (any any)))))
+ (list #{x\ 1498}# #{y\ 1499}#))))
+ (#{quasiappend\ 1495}#
+ (lambda (#{x\ 1514}# #{y\ 1515}#)
+ ((lambda (#{tmp\ 1516}#)
+ ((lambda (#{tmp\ 1517}#)
+ (if #{tmp\ 1517}#
+ (apply (lambda (#{x\ 1518}# #{y\ 1519}#)
+ ((lambda (#{tmp\ 1520}#)
+ ((lambda (#{tmp\ 1521}#)
+ (if #{tmp\ 1521}#
+ (apply (lambda () #{x\ 1518}#)
+ #{tmp\ 1521}#)
+ ((lambda (#{_\ 1522}#)
(list '#(syntax-object
append
((top)
@@ -10698,11 +10784,11 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1506}#
- #{y\ 1507}#))
- #{tmp\ 1508}#)))
+ #{x\ 1518}#
+ #{y\ 1519}#))
+ #{tmp\ 1520}#)))
($sc-dispatch
- #{tmp\ 1508}#
+ #{tmp\ 1520}#
'(#(free-id
#(syntax-object
quote
@@ -10726,22 +10812,22 @@
#("i" "i" "i" "i")))
(hygiene guile)))
()))))
- #{y\ 1507}#))
- #{tmp\ 1505}#)
+ #{y\ 1519}#))
+ #{tmp\ 1517}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1504}#)))
- ($sc-dispatch #{tmp\ 1504}# (quote (any any)))))
- (list #{x\ 1502}# #{y\ 1503}#))))
- (#{quasivector\ 1484}#
- (lambda (#{x\ 1511}#)
- ((lambda (#{tmp\ 1512}#)
- ((lambda (#{x\ 1513}#)
- ((lambda (#{tmp\ 1514}#)
- ((lambda (#{tmp\ 1515}#)
- (if #{tmp\ 1515}#
- (apply (lambda (#{x\ 1516}#)
+ #{tmp\ 1516}#)))
+ ($sc-dispatch #{tmp\ 1516}# (quote (any any)))))
+ (list #{x\ 1514}# #{y\ 1515}#))))
+ (#{quasivector\ 1496}#
+ (lambda (#{x\ 1523}#)
+ ((lambda (#{tmp\ 1524}#)
+ ((lambda (#{x\ 1525}#)
+ ((lambda (#{tmp\ 1526}#)
+ ((lambda (#{tmp\ 1527}#)
+ (if #{tmp\ 1527}#
+ (apply (lambda (#{x\ 1528}#)
(list '#(syntax-object
quote
((top)
@@ -10767,11 +10853,11 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- (list->vector #{x\ 1516}#)))
- #{tmp\ 1515}#)
- ((lambda (#{tmp\ 1518}#)
- (if #{tmp\ 1518}#
- (apply (lambda (#{x\ 1519}#)
+ (list->vector #{x\ 1528}#)))
+ #{tmp\ 1527}#)
+ ((lambda (#{tmp\ 1530}#)
+ (if #{tmp\ 1530}#
+ (apply (lambda (#{x\ 1531}#)
(cons '#(syntax-object
vector
((top)
@@ -10800,9 +10886,9 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1519}#))
- #{tmp\ 1518}#)
- ((lambda (#{_\ 1521}#)
+ #{x\ 1531}#))
+ #{tmp\ 1530}#)
+ ((lambda (#{_\ 1533}#)
(list '#(syntax-object
list->vector
((top)
@@ -10828,10 +10914,10 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{x\ 1513}#))
- #{tmp\ 1514}#)))
+ #{x\ 1525}#))
+ #{tmp\ 1526}#)))
($sc-dispatch
- #{tmp\ 1514}#
+ #{tmp\ 1526}#
'(#(free-id
#(syntax-object
list
@@ -10851,7 +10937,7 @@
.
each-any)))))
($sc-dispatch
- #{tmp\ 1514}#
+ #{tmp\ 1526}#
'(#(free-id
#(syntax-object
quote
@@ -10869,18 +10955,18 @@
#("i" "i" "i" "i")))
(hygiene guile)))
each-any))))
- #{x\ 1513}#))
- #{tmp\ 1512}#))
- #{x\ 1511}#)))
- (#{quasi\ 1485}#
- (lambda (#{p\ 1522}# #{lev\ 1523}#)
- ((lambda (#{tmp\ 1524}#)
- ((lambda (#{tmp\ 1525}#)
- (if #{tmp\ 1525}#
- (apply (lambda (#{p\ 1526}#)
- (if (= #{lev\ 1523}# 0)
- #{p\ 1526}#
- (#{quasicons\ 1482}#
+ #{x\ 1525}#))
+ #{tmp\ 1524}#))
+ #{x\ 1523}#)))
+ (#{quasi\ 1497}#
+ (lambda (#{p\ 1534}# #{lev\ 1535}#)
+ ((lambda (#{tmp\ 1536}#)
+ ((lambda (#{tmp\ 1537}#)
+ (if #{tmp\ 1537}#
+ (apply (lambda (#{p\ 1538}#)
+ (if (= #{lev\ 1535}# 0)
+ #{p\ 1538}#
+ (#{quasicons\ 1494}#
'(#(syntax-object
quote
((top)
@@ -10915,21 +11001,21 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile)))
- (#{quasi\ 1485}#
- (list #{p\ 1526}#)
- (- #{lev\ 1523}# 1)))))
- #{tmp\ 1525}#)
- ((lambda (#{tmp\ 1527}#)
- (if (if #{tmp\ 1527}#
- (apply (lambda (#{args\ 1528}#)
- (= #{lev\ 1523}# 0))
- #{tmp\ 1527}#)
+ (#{quasi\ 1497}#
+ (list #{p\ 1538}#)
+ (- #{lev\ 1535}# 1)))))
+ #{tmp\ 1537}#)
+ ((lambda (#{tmp\ 1539}#)
+ (if (if #{tmp\ 1539}#
+ (apply (lambda (#{args\ 1540}#)
+ (= #{lev\ 1535}# 0))
+ #{tmp\ 1539}#)
#f)
- (apply (lambda (#{args\ 1529}#)
+ (apply (lambda (#{args\ 1541}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
- #{p\ 1522}#
+ #{p\ 1534}#
(cons '#(syntax-object
unquote
((top)
@@ -10950,19 +11036,19 @@
#((top) (top) (top) (top))
#("i" "i" "i" "i")))
(hygiene guile))
- #{args\ 1529}#)))
- #{tmp\ 1527}#)
- ((lambda (#{tmp\ 1530}#)
- (if #{tmp\ 1530}#
- (apply (lambda (#{p\ 1531}# #{q\ 1532}#)
- (if (= #{lev\ 1523}# 0)
- (#{quasiappend\ 1483}#
- #{p\ 1531}#
- (#{quasi\ 1485}#
- #{q\ 1532}#
- #{lev\ 1523}#))
- (#{quasicons\ 1482}#
- (#{quasicons\ 1482}#
+ #{args\ 1541}#)))
+ #{tmp\ 1539}#)
+ ((lambda (#{tmp\ 1542}#)
+ (if #{tmp\ 1542}#
+ (apply (lambda (#{p\ 1543}# #{q\ 1544}#)
+ (if (= #{lev\ 1535}# 0)
+ (#{quasiappend\ 1495}#
+ #{p\ 1543}#
+ (#{quasi\ 1497}#
+ #{q\ 1544}#
+ #{lev\ 1535}#))
+ (#{quasicons\ 1494}#
+ (#{quasicons\ 1494}#
'(#(syntax-object
quote
((top)
@@ -11009,26 +11095,26 @@
(top))
#("i" "i" "i" "i")))
(hygiene guile)))
- (#{quasi\ 1485}#
- (list #{p\ 1531}#)
- (- #{lev\ 1523}# 1)))
- (#{quasi\ 1485}#
- #{q\ 1532}#
- #{lev\ 1523}#))))
- #{tmp\ 1530}#)
- ((lambda (#{tmp\ 1533}#)
- (if (if #{tmp\ 1533}#
- (apply (lambda (#{args\ 1534}#
- #{q\ 1535}#)
- (= #{lev\ 1523}# 0))
- #{tmp\ 1533}#)
+ (#{quasi\ 1497}#
+ (list #{p\ 1543}#)
+ (- #{lev\ 1535}# 1)))
+ (#{quasi\ 1497}#
+ #{q\ 1544}#
+ #{lev\ 1535}#))))
+ #{tmp\ 1542}#)
+ ((lambda (#{tmp\ 1545}#)
+ (if (if #{tmp\ 1545}#
+ (apply (lambda (#{args\ 1546}#
+ #{q\ 1547}#)
+ (= #{lev\ 1535}# 0))
+ #{tmp\ 1545}#)
#f)
- (apply (lambda (#{args\ 1536}#
- #{q\ 1537}#)
+ (apply (lambda (#{args\ 1548}#
+ #{q\ 1549}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
- #{p\ 1522}#
+ #{p\ 1534}#
(cons '#(syntax-object
unquote-splicing
((top)
@@ -11058,12 +11144,12 @@
"i"
"i")))
(hygiene guile))
- #{args\ 1536}#)))
- #{tmp\ 1533}#)
- ((lambda (#{tmp\ 1538}#)
- (if #{tmp\ 1538}#
- (apply (lambda (#{p\ 1539}#)
- (#{quasicons\ 1482}#
+ #{args\ 1548}#)))
+ #{tmp\ 1545}#)
+ ((lambda (#{tmp\ 1550}#)
+ (if #{tmp\ 1550}#
+ (apply (lambda (#{p\ 1551}#)
+ (#{quasicons\ 1494}#
'(#(syntax-object
quote
((top)
@@ -11122,32 +11208,32 @@
"i"
"i")))
(hygiene guile)))
- (#{quasi\ 1485}#
- (list #{p\ 1539}#)
- (+ #{lev\ 1523}#
+ (#{quasi\ 1497}#
+ (list #{p\ 1551}#)
+ (+ #{lev\ 1535}#
1))))
- #{tmp\ 1538}#)
- ((lambda (#{tmp\ 1540}#)
- (if #{tmp\ 1540}#
- (apply (lambda (#{p\ 1541}#
- #{q\ 1542}#)
- (#{quasicons\ 1482}#
- (#{quasi\ 1485}#
- #{p\ 1541}#
- #{lev\ 1523}#)
- (#{quasi\ 1485}#
- #{q\ 1542}#
- #{lev\ 1523}#)))
- #{tmp\ 1540}#)
- ((lambda (#{tmp\ 1543}#)
- (if #{tmp\ 1543}#
- (apply (lambda (#{x\ 1544}#)
- (#{quasivector\ 1484}#
- (#{quasi\ 1485}#
- #{x\ 1544}#
- #{lev\ 1523}#)))
- #{tmp\ 1543}#)
- ((lambda (#{p\ 1546}#)
+ #{tmp\ 1550}#)
+ ((lambda (#{tmp\ 1552}#)
+ (if #{tmp\ 1552}#
+ (apply (lambda (#{p\ 1553}#
+ #{q\ 1554}#)
+ (#{quasicons\ 1494}#
+ (#{quasi\ 1497}#
+ #{p\ 1553}#
+ #{lev\ 1535}#)
+ (#{quasi\ 1497}#
+ #{q\ 1554}#
+ #{lev\ 1535}#)))
+ #{tmp\ 1552}#)
+ ((lambda (#{tmp\ 1555}#)
+ (if #{tmp\ 1555}#
+ (apply (lambda (#{x\ 1556}#)
+ (#{quasivector\ 1496}#
+ (#{quasi\ 1497}#
+ #{x\ 1556}#
+ #{lev\ 1535}#)))
+ #{tmp\ 1555}#)
+ ((lambda (#{p\ 1558}#)
(list '#(syntax-object
quote
((top)
@@ -11180,16 +11266,16 @@
"i")))
(hygiene
guile))
- #{p\ 1546}#))
- #{tmp\ 1524}#)))
+ #{p\ 1558}#))
+ #{tmp\ 1536}#)))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'#(vector each-any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'(any . any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'(#(free-id
#(syntax-object
quasiquote
@@ -11209,7 +11295,7 @@
(hygiene guile)))
any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -11232,7 +11318,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'((#(free-id
#(syntax-object
unquote-splicing
@@ -11254,7 +11340,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'(#(free-id
#(syntax-object
unquote
@@ -11272,7 +11358,7 @@
.
any)))))
($sc-dispatch
- #{tmp\ 1524}#
+ #{tmp\ 1536}#
'(#(free-id
#(syntax-object
unquote
@@ -11285,49 +11371,49 @@
#("i" "i" "i" "i")))
(hygiene guile)))
any))))
- #{p\ 1522}#))))
- (lambda (#{x\ 1547}#)
- ((lambda (#{tmp\ 1548}#)
- ((lambda (#{tmp\ 1549}#)
- (if #{tmp\ 1549}#
- (apply (lambda (#{_\ 1550}# #{e\ 1551}#)
- (#{quasi\ 1485}# #{e\ 1551}# 0))
- #{tmp\ 1549}#)
+ #{p\ 1534}#))))
+ (lambda (#{x\ 1559}#)
+ ((lambda (#{tmp\ 1560}#)
+ ((lambda (#{tmp\ 1561}#)
+ (if #{tmp\ 1561}#
+ (apply (lambda (#{_\ 1562}# #{e\ 1563}#)
+ (#{quasi\ 1497}# #{e\ 1563}# 0))
+ #{tmp\ 1561}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1548}#)))
- ($sc-dispatch #{tmp\ 1548}# (quote (any any)))))
- #{x\ 1547}#)))))
+ #{tmp\ 1560}#)))
+ ($sc-dispatch #{tmp\ 1560}# (quote (any any)))))
+ #{x\ 1559}#)))))
(define include
(make-syncase-macro
'macro
- (lambda (#{x\ 1552}#)
- (letrec ((#{read-file\ 1553}#
- (lambda (#{fn\ 1554}# #{k\ 1555}#)
- (let ((#{p\ 1556}# (open-input-file #{fn\ 1554}#)))
- (letrec ((#{f\ 1557}#
- (lambda (#{x\ 1558}#)
- (if (eof-object? #{x\ 1558}#)
+ (lambda (#{x\ 1564}#)
+ (letrec ((#{read-file\ 1565}#
+ (lambda (#{fn\ 1566}# #{k\ 1567}#)
+ (let ((#{p\ 1568}# (open-input-file #{fn\ 1566}#)))
+ (letrec ((#{f\ 1569}#
+ (lambda (#{x\ 1570}#)
+ (if (eof-object? #{x\ 1570}#)
(begin
- (close-input-port #{p\ 1556}#)
+ (close-input-port #{p\ 1568}#)
'())
(cons (datum->syntax
- #{k\ 1555}#
- #{x\ 1558}#)
- (#{f\ 1557}# (read #{p\ 1556}#)))))))
- (#{f\ 1557}# (read #{p\ 1556}#)))))))
- ((lambda (#{tmp\ 1559}#)
- ((lambda (#{tmp\ 1560}#)
- (if #{tmp\ 1560}#
- (apply (lambda (#{k\ 1561}# #{filename\ 1562}#)
- (let ((#{fn\ 1563}#
- (syntax->datum #{filename\ 1562}#)))
- ((lambda (#{tmp\ 1564}#)
- ((lambda (#{tmp\ 1565}#)
- (if #{tmp\ 1565}#
- (apply (lambda (#{exp\ 1566}#)
+ #{k\ 1567}#
+ #{x\ 1570}#)
+ (#{f\ 1569}# (read #{p\ 1568}#)))))))
+ (#{f\ 1569}# (read #{p\ 1568}#)))))))
+ ((lambda (#{tmp\ 1571}#)
+ ((lambda (#{tmp\ 1572}#)
+ (if #{tmp\ 1572}#
+ (apply (lambda (#{k\ 1573}# #{filename\ 1574}#)
+ (let ((#{fn\ 1575}#
+ (syntax->datum #{filename\ 1574}#)))
+ ((lambda (#{tmp\ 1576}#)
+ ((lambda (#{tmp\ 1577}#)
+ (if #{tmp\ 1577}#
+ (apply (lambda (#{exp\ 1578}#)
(cons '#(syntax-object
begin
((top)
@@ -11354,76 +11440,76 @@
#((top))
#("i")))
(hygiene guile))
- #{exp\ 1566}#))
- #{tmp\ 1565}#)
+ #{exp\ 1578}#))
+ #{tmp\ 1577}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1564}#)))
- ($sc-dispatch #{tmp\ 1564}# (quote each-any))))
- (#{read-file\ 1553}# #{fn\ 1563}# #{k\ 1561}#))))
- #{tmp\ 1560}#)
+ #{tmp\ 1576}#)))
+ ($sc-dispatch #{tmp\ 1576}# (quote each-any))))
+ (#{read-file\ 1565}# #{fn\ 1575}# #{k\ 1573}#))))
+ #{tmp\ 1572}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1559}#)))
- ($sc-dispatch #{tmp\ 1559}# (quote (any any)))))
- #{x\ 1552}#)))))
+ #{tmp\ 1571}#)))
+ ($sc-dispatch #{tmp\ 1571}# (quote (any any)))))
+ #{x\ 1564}#)))))
(define unquote
(make-syncase-macro
'macro
- (lambda (#{x\ 1568}#)
- ((lambda (#{tmp\ 1569}#)
- ((lambda (#{tmp\ 1570}#)
- (if #{tmp\ 1570}#
- (apply (lambda (#{_\ 1571}# #{e\ 1572}#)
+ (lambda (#{x\ 1580}#)
+ ((lambda (#{tmp\ 1581}#)
+ ((lambda (#{tmp\ 1582}#)
+ (if #{tmp\ 1582}#
+ (apply (lambda (#{_\ 1583}# #{e\ 1584}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
- #{x\ 1568}#))
- #{tmp\ 1570}#)
+ #{x\ 1580}#))
+ #{tmp\ 1582}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1569}#)))
- ($sc-dispatch #{tmp\ 1569}# (quote (any any)))))
- #{x\ 1568}#))))
+ #{tmp\ 1581}#)))
+ ($sc-dispatch #{tmp\ 1581}# (quote (any any)))))
+ #{x\ 1580}#))))
(define unquote-splicing
(make-syncase-macro
'macro
- (lambda (#{x\ 1573}#)
- ((lambda (#{tmp\ 1574}#)
- ((lambda (#{tmp\ 1575}#)
- (if #{tmp\ 1575}#
- (apply (lambda (#{_\ 1576}# #{e\ 1577}#)
+ (lambda (#{x\ 1585}#)
+ ((lambda (#{tmp\ 1586}#)
+ ((lambda (#{tmp\ 1587}#)
+ (if #{tmp\ 1587}#
+ (apply (lambda (#{_\ 1588}# #{e\ 1589}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
- #{x\ 1573}#))
- #{tmp\ 1575}#)
+ #{x\ 1585}#))
+ #{tmp\ 1587}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1574}#)))
- ($sc-dispatch #{tmp\ 1574}# (quote (any any)))))
- #{x\ 1573}#))))
+ #{tmp\ 1586}#)))
+ ($sc-dispatch #{tmp\ 1586}# (quote (any any)))))
+ #{x\ 1585}#))))
(define case
(make-extended-syncase-macro
(module-ref (current-module) (quote case))
'macro
- (lambda (#{x\ 1578}#)
- ((lambda (#{tmp\ 1579}#)
- ((lambda (#{tmp\ 1580}#)
- (if #{tmp\ 1580}#
- (apply (lambda (#{_\ 1581}#
- #{e\ 1582}#
- #{m1\ 1583}#
- #{m2\ 1584}#)
- ((lambda (#{tmp\ 1585}#)
- ((lambda (#{body\ 1586}#)
+ (lambda (#{x\ 1590}#)
+ ((lambda (#{tmp\ 1591}#)
+ ((lambda (#{tmp\ 1592}#)
+ (if #{tmp\ 1592}#
+ (apply (lambda (#{_\ 1593}#
+ #{e\ 1594}#
+ #{m1\ 1595}#
+ #{m2\ 1596}#)
+ ((lambda (#{tmp\ 1597}#)
+ ((lambda (#{body\ 1598}#)
(list '#(syntax-object
let
((top)
@@ -11452,17 +11538,17 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 1582}#))
- #{body\ 1586}#))
- #{tmp\ 1585}#))
- (letrec ((#{f\ 1587}#
- (lambda (#{clause\ 1588}# #{clauses\ 1589}#)
- (if (null? #{clauses\ 1589}#)
- ((lambda (#{tmp\ 1591}#)
- ((lambda (#{tmp\ 1592}#)
- (if #{tmp\ 1592}#
- (apply (lambda (#{e1\ 1593}#
- #{e2\ 1594}#)
+ #{e\ 1594}#))
+ #{body\ 1598}#))
+ #{tmp\ 1597}#))
+ (letrec ((#{f\ 1599}#
+ (lambda (#{clause\ 1600}# #{clauses\ 1601}#)
+ (if (null? #{clauses\ 1601}#)
+ ((lambda (#{tmp\ 1603}#)
+ ((lambda (#{tmp\ 1604}#)
+ (if #{tmp\ 1604}#
+ (apply (lambda (#{e1\ 1605}#
+ #{e2\ 1606}#)
(cons '#(syntax-object
begin
((top)
@@ -11508,14 +11594,14 @@
#("i")))
(hygiene
guile))
- (cons #{e1\ 1593}#
- #{e2\ 1594}#)))
- #{tmp\ 1592}#)
- ((lambda (#{tmp\ 1596}#)
- (if #{tmp\ 1596}#
- (apply (lambda (#{k\ 1597}#
- #{e1\ 1598}#
- #{e2\ 1599}#)
+ (cons #{e1\ 1605}#
+ #{e2\ 1606}#)))
+ #{tmp\ 1604}#)
+ ((lambda (#{tmp\ 1608}#)
+ (if #{tmp\ 1608}#
+ (apply (lambda (#{k\ 1609}#
+ #{e1\ 1610}#
+ #{e2\ 1611}#)
(list '#(syntax-object
if
((top)
@@ -11716,7 +11802,7 @@
#("i")))
(hygiene
guile))
- #{k\ 1597}#))
+ #{k\ 1609}#))
(cons '#(syntax-object
begin
((top)
@@ -11767,24 +11853,24 @@
#("i")))
(hygiene
guile))
- (cons #{e1\ 1598}#
- #{e2\ 1599}#))))
- #{tmp\ 1596}#)
- ((lambda (#{_\ 1602}#)
+ (cons #{e1\ 1610}#
+ #{e2\ 1611}#))))
+ #{tmp\ 1608}#)
+ ((lambda (#{_\ 1614}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1578}#
- #{clause\ 1588}#))
- #{tmp\ 1591}#)))
+ #{x\ 1590}#
+ #{clause\ 1600}#))
+ #{tmp\ 1603}#)))
($sc-dispatch
- #{tmp\ 1591}#
+ #{tmp\ 1603}#
'(each-any
any
.
each-any)))))
($sc-dispatch
- #{tmp\ 1591}#
+ #{tmp\ 1603}#
'(#(free-id
#(syntax-object
else
@@ -11810,15 +11896,15 @@
any
.
each-any))))
- #{clause\ 1588}#)
- ((lambda (#{tmp\ 1603}#)
- ((lambda (#{rest\ 1604}#)
- ((lambda (#{tmp\ 1605}#)
- ((lambda (#{tmp\ 1606}#)
- (if #{tmp\ 1606}#
- (apply (lambda (#{k\ 1607}#
- #{e1\ 1608}#
- #{e2\ 1609}#)
+ #{clause\ 1600}#)
+ ((lambda (#{tmp\ 1615}#)
+ ((lambda (#{rest\ 1616}#)
+ ((lambda (#{tmp\ 1617}#)
+ ((lambda (#{tmp\ 1618}#)
+ (if #{tmp\ 1618}#
+ (apply (lambda (#{k\ 1619}#
+ #{e1\ 1620}#
+ #{e2\ 1621}#)
(list '#(syntax-object
if
((top)
@@ -12035,7 +12121,7 @@
#("i")))
(hygiene
guile))
- #{k\ 1607}#))
+ #{k\ 1619}#))
(cons '#(syntax-object
begin
((top)
@@ -12090,47 +12176,47 @@
#("i")))
(hygiene
guile))
- (cons #{e1\ 1608}#
- #{e2\ 1609}#))
- #{rest\ 1604}#))
- #{tmp\ 1606}#)
- ((lambda (#{_\ 1612}#)
+ (cons #{e1\ 1620}#
+ #{e2\ 1621}#))
+ #{rest\ 1616}#))
+ #{tmp\ 1618}#)
+ ((lambda (#{_\ 1624}#)
(syntax-violation
'case
"bad clause"
- #{x\ 1578}#
- #{clause\ 1588}#))
- #{tmp\ 1605}#)))
+ #{x\ 1590}#
+ #{clause\ 1600}#))
+ #{tmp\ 1617}#)))
($sc-dispatch
- #{tmp\ 1605}#
+ #{tmp\ 1617}#
'(each-any
any
.
each-any))))
- #{clause\ 1588}#))
- #{tmp\ 1603}#))
- (#{f\ 1587}#
- (car #{clauses\ 1589}#)
- (cdr #{clauses\ 1589}#)))))))
- (#{f\ 1587}# #{m1\ 1583}# #{m2\ 1584}#))))
- #{tmp\ 1580}#)
+ #{clause\ 1600}#))
+ #{tmp\ 1615}#))
+ (#{f\ 1599}#
+ (car #{clauses\ 1601}#)
+ (cdr #{clauses\ 1601}#)))))))
+ (#{f\ 1599}# #{m1\ 1595}# #{m2\ 1596}#))))
+ #{tmp\ 1592}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1579}#)))
+ #{tmp\ 1591}#)))
($sc-dispatch
- #{tmp\ 1579}#
+ #{tmp\ 1591}#
'(any any any . each-any))))
- #{x\ 1578}#))))
+ #{x\ 1590}#))))
(define identifier-syntax
(make-syncase-macro
'macro
- (lambda (#{x\ 1613}#)
- ((lambda (#{tmp\ 1614}#)
- ((lambda (#{tmp\ 1615}#)
- (if #{tmp\ 1615}#
- (apply (lambda (#{_\ 1616}# #{e\ 1617}#)
+ (lambda (#{x\ 1625}#)
+ ((lambda (#{tmp\ 1626}#)
+ ((lambda (#{tmp\ 1627}#)
+ (if #{tmp\ 1627}#
+ (apply (lambda (#{_\ 1628}# #{e\ 1629}#)
(list '#(syntax-object
lambda
((top)
@@ -12219,8 +12305,8 @@
#((top))
#("i")))
(hygiene guile))
- #{e\ 1617}#))
- (list (cons #{_\ 1616}#
+ #{e\ 1629}#))
+ (list (cons #{_\ 1628}#
'(#(syntax-object
x
((top)
@@ -12260,7 +12346,7 @@
#((top))
#("i")))
(hygiene guile))
- (cons #{e\ 1617}#
+ (cons #{e\ 1629}#
'(#(syntax-object
x
((top)
@@ -12288,11 +12374,11 @@
#("i")))
(hygiene
guile)))))))))
- #{tmp\ 1615}#)
+ #{tmp\ 1627}#)
(syntax-violation
#f
"source expression failed to match any pattern"
- #{tmp\ 1614}#)))
- ($sc-dispatch #{tmp\ 1614}# (quote (any any)))))
- #{x\ 1613}#))))
+ #{tmp\ 1626}#)))
+ ($sc-dispatch #{tmp\ 1626}# (quote (any any)))))
+ #{x\ 1625}#))))
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 10f39c160..4bce9975a 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -482,26 +482,64 @@
src)))))
(define build-lambda-case
- ;; kw: ((keyword var init) ...)
+ ;; req := (name ...)
+ ;; opt := ((name init) ...) | #f
+ ;; rest := name | #f
+ ;; kw: (allow-other-keys? (keyword name var [init]) ...) | #f
+ ;; vars: (sym ...)
+ ;; vars map to named arguments in the following order:
+ ;; required, optional (positional), rest, keyword.
+ ;; predicate: something you can stuff in a (lambda ,vars ,pred), already expanded
+ ;; the body of a lambda: anything, already expanded
+ ;; else: lambda-case | #f
(lambda (src req opt rest kw vars predicate body else-case)
(case (fluid-ref *mode*)
((c)
((@ (language tree-il) make-lambda-case)
src req opt rest kw vars predicate body else-case))
(else
- (let ((nkw (map (lambda (x)
- `(list ,(car x)
- ;; grr
- ,(let lp ((vars vars) (i 0))
- (cond ((null? vars) (error "bad kwarg" x))
- ((eq? (cadr x) (car vars)) i)
- (else (lp (cdr vars) (1+ i)))))
- (lambda () ,(caddr x))))
- kw)))
+ ;; Very much like the logic of (language tree-il compile-glil).
+ (let* ((nreq (length req))
+ (nopt (if opt (length opt) 0))
+ (rest-idx (and rest (+ nreq nopt)))
+ (opt-inits (map (lambda (x) `(lambda ,vars ,(cdr x)))
+ (or opt '())))
+ (allow-other-keys? (if kw (car kw) #f))
+ (kw-indices (map (lambda (x)
+ ;; (,key ,name ,var . _)
+ (cons (car x) (list-index vars (caddr x))))
+ (if kw (cdr kw) '())))
+ (kw-inits (sort
+ (filter
+ identity
+ (map (lambda (x)
+ (if (pair? (cdddr x))
+ ;; (,key ,name ,var ,init)
+ (let ((i (list-index vars (caddr x))))
+ (if (> (+ nreq nopt) i)
+ (error "kw init for rest arg" x)
+ (if (and rest (= (+ nreq nopt) i))
+ (error "kw init for positional arg" x)
+ `(lambda ,vars ,(cadddr x)))))
+ ;; (,key ,name ,var)
+ (let ((i (list-index vars (caddr x))))
+ (if (< (+ nreq nopt) i)
+ #f
+ (error "missing init for kw arg" x)))))
+ (if kw (cdr kw) '())))
+ (lambda (x y) (< (cdr x) (cdr y)))))
+ (nargs (apply max (pk (+ nreq nopt (if rest 1 0)))
+ (map cdr kw-indices))))
+ (or (= nargs
+ (length vars)
+ (+ nreq (length opt-inits) (if rest 1 0) (length kw-inits)))
+ (error "something went wrong"
+ req opt rest kw vars nreq nopt kw-indices kw-inits nargs))
(decorate-source
`((((@@ (ice-9 optargs) parse-lambda-case)
- (list ,(length req) ,(length opt) ,(and rest #t) ,nkw
- ,(if predicate (error "not yet implemented") #f))
+ '(,nreq ,nopt ,rest-idx ,nargs ,allow-other-keys? ,kw-indices)
+ (list ,@opt-inits ,@kw-inits)
+ ,(if predicate `(lambda ,vars ,predicate) #f)
%%args)
=> (lambda ,vars ,body))
,@(or else-case
diff --git a/module/language/glil.scm b/module/language/glil.scm
index 1202dbe25..1c465415f 100644
--- a/module/language/glil.scm
+++ b/module/language/glil.scm
@@ -30,12 +30,12 @@
glil-std-prelude-nreq glil-std-prelude-nlocs glil-std-prelude-else-label
<glil-opt-prelude> make-glil-opt-prelude glil-opt-prelude?
- glil-opt-prelude-nreq glil-opt-prelude-nopt glil-opt-prelude-rest?
+ glil-opt-prelude-nreq glil-opt-prelude-nopt glil-opt-prelude-rest
glil-opt-prelude-nlocs glil-opt-prelude-else-label
<glil-kw-prelude> make-glil-kw-prelude glil-kw-prelude?
glil-kw-prelude-nreq glil-kw-prelude-nopt glil-kw-prelude-kw
- glil-kw-prelude-allow-other-keys? glil-kw-prelude-rest?
+ glil-kw-prelude-allow-other-keys? glil-kw-prelude-rest
glil-kw-prelude-nlocs glil-kw-prelude-else-label
<glil-bind> make-glil-bind glil-bind?
@@ -84,8 +84,8 @@
;; Meta operations
(<glil-program> meta body)
(<glil-std-prelude> nreq nlocs else-label)
- (<glil-opt-prelude> nreq nopt rest? nlocs else-label)
- (<glil-kw-prelude> nreq nopt rest? kw allow-other-keys? nlocs else-label)
+ (<glil-opt-prelude> nreq nopt rest nlocs else-label)
+ (<glil-kw-prelude> nreq nopt rest kw allow-other-keys? nlocs else-label)
(<glil-bind> vars)
(<glil-mv-bind> vars rest)
(<glil-unbind>)
@@ -111,10 +111,10 @@
(make-glil-program meta (map parse-glil body)))
((std-prelude ,nreq ,nlocs ,else-label)
(make-glil-std-prelude nreq nlocs else-label))
- ((opt-prelude ,nreq ,nopt ,rest? ,nlocs ,else-label)
- (make-glil-opt-prelude nreq nopt rest? nlocs else-label))
- ((kw-prelude ,nreq ,nopt ,rest? ,kw ,allow-other-keys? ,nlocs ,else-label)
- (make-glil-kw-prelude nreq nopt rest? kw allow-other-keys? nlocs else-label))
+ ((opt-prelude ,nreq ,nopt ,rest ,nlocs ,else-label)
+ (make-glil-opt-prelude nreq nopt rest nlocs else-label))
+ ((kw-prelude ,nreq ,nopt ,rest ,kw ,allow-other-keys? ,nlocs ,else-label)
+ (make-glil-kw-prelude nreq nopt rest kw allow-other-keys? nlocs else-label))
((bind . ,vars) (make-glil-bind vars))
((mv-bind ,vars ,rest) (make-glil-mv-bind vars rest))
((unbind) (make-glil-unbind))
@@ -138,10 +138,10 @@
`(program ,meta ,@(map unparse-glil body)))
((<glil-std-prelude> nreq nlocs else-label)
`(std-prelude ,nreq ,nlocs ,else-label))
- ((<glil-opt-prelude> nreq nopt rest? nlocs else-label)
- `(opt-prelude ,nreq ,nopt ,rest? ,nlocs ,else-label))
- ((<glil-kw-prelude> nreq nopt rest? kw allow-other-keys? nlocs else-label)
- `(kw-prelude ,nreq ,nopt ,rest? ,kw ,allow-other-keys? ,nlocs ,else-label))
+ ((<glil-opt-prelude> nreq nopt rest nlocs else-label)
+ `(opt-prelude ,nreq ,nopt ,rest ,nlocs ,else-label))
+ ((<glil-kw-prelude> nreq nopt rest kw allow-other-keys? nlocs else-label)
+ `(kw-prelude ,nreq ,nopt ,rest ,kw ,allow-other-keys? ,nlocs ,else-label))
((<glil-bind> vars) `(bind ,@vars))
((<glil-mv-bind> vars rest) `(mv-bind ,vars ,rest))
((<glil-unbind>) `(unbind))
diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm
index 9c4a4cab9..8e0902238 100644
--- a/module/language/glil/compile-assembly.scm
+++ b/module/language/glil/compile-assembly.scm
@@ -134,12 +134,12 @@
(and (not (null? objects))
(list->vector (cons #f objects))))
-;; arities := ((ip nreq [[nopt] [[rest?] [kw]]]]) ...)
-(define (begin-arity addr nreq nopt rest? kw arities)
+;; arities := ((ip nreq [[nopt] [[rest] [kw]]]]) ...)
+(define (begin-arity addr nreq nopt rest kw arities)
(cons
(cond
- (kw (list addr nreq nopt rest? kw))
- (rest? (list addr nreq nopt rest?))
+ (kw (list addr nreq nopt rest kw))
+ (rest (list addr nreq nopt rest))
(nopt (list addr nreq nopt))
(nreq (list addr nreq))
(else (list addr)))
@@ -151,9 +151,9 @@
(values x bindings source-alist label-alist object-alist arities))
(define (emit-code/object x object-alist)
(values x bindings source-alist label-alist object-alist arities))
- (define (emit-code/arity x nreq nopt rest? kw)
+ (define (emit-code/arity x nreq nopt rest kw)
(values x bindings source-alist label-alist object-alist
- (begin-arity (addr+ addr x) nreq nopt rest? kw arities)))
+ (begin-arity (addr+ addr x) nreq nopt rest kw arities)))
(record-case glil
((<glil-program> meta body)
@@ -230,7 +230,7 @@
,(modulo nlocs 256)))
nreq #f #f #f))
- ((<glil-opt-prelude> nreq nopt rest? nlocs else-label)
+ ((<glil-opt-prelude> nreq nopt rest nlocs else-label)
(let ((bind-required
(if else-label
`((br-if-nargs-lt ,(quotient nreq 256)
@@ -245,8 +245,8 @@
,(modulo (+ nreq nopt) 256)))))
(bind-rest
(cond
- (rest?
- `((bind-rest ,(quotient (+ nreq nopt) 256)
+ (rest
+ `((push-rest ,(quotient (+ nreq nopt) 256)
,(modulo (+ nreq nopt) 256))))
(else
(if else-label
@@ -261,9 +261,9 @@
,@bind-rest
(reserve-locals ,(quotient nlocs 256)
,(modulo nlocs 256)))
- nreq nopt rest? #f)))
+ nreq nopt rest #f)))
- ((<glil-kw-prelude> nreq nopt rest? kw allow-other-keys? nlocs else-label)
+ ((<glil-kw-prelude> nreq nopt rest kw allow-other-keys? nlocs else-label)
(receive (kw-idx object-alist)
(object-index-and-alist object-alist kw)
(let ((bind-required
@@ -293,9 +293,11 @@
,(modulo (apply max (+ nreq nopt) (map cdr kw)) 256)
,(if allow-other-keys? 1 0))))
(bind-rest
- (if rest?
+ (if rest
`((bind-rest ,(quotient (apply max (+ nreq nopt) (map cdr kw)) 256)
- ,(modulo (apply max (+ nreq nopt) (map cdr kw)) 256)))
+ ,(modulo (apply max (+ nreq nopt) (map cdr kw)) 256)
+ ,(quotient rest 256)
+ ,(modulo rest 256)))
'())))
(let ((code `(,@bind-required
@@ -305,7 +307,7 @@
(reserve-locals ,(quotient nlocs 256)
,(modulo nlocs 256)))))
(values code bindings source-alist label-alist object-alist
- (begin-arity (addr+ addr code) nreq nopt rest? kw arities))))))
+ (begin-arity (addr+ addr code) nreq nopt rest kw arities))))))
((<glil-bind> vars)
(values '()
diff --git a/module/language/tree-il/compile-glil.scm b/module/language/tree-il/compile-glil.scm
index 9a16f0cb7..ae44ee6a7 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -600,32 +600,65 @@
(maybe-emit-return))
((<lambda-case> src req opt rest kw vars predicate else body)
- (let ((nlocs (cdr (hashq-ref allocation x)))
- (else-label (and else (make-label))))
+ ;; o/~ feature on top of feature o/~
+ ;; req := (name ...)
+ ;; opt := ((name init) ...) | #f
+ ;; rest := name | #f
+ ;; kw: (allow-other-keys? (keyword name var [init]) ...) | #f
+ ;; vars: (sym ...)
+ ;; predicate: tree-il in context of vars
+ ;; init: tree-il in context of vars
+ ;; vars map to named arguments in the following order:
+ ;; required, optional (positional), rest, keyword.
+ (let* ((nreq (length req))
+ (nopt (if opt (length opt) 0))
+ (rest-idx (and rest (+ nreq nopt)))
+ (opt-inits (map cdr (or opt '())))
+ (allow-other-keys? (if kw (car kw) #f))
+ (kw-indices (map (lambda (x)
+ (pmatch x
+ ((,key ,name ,var . _)
+ (cons key (list-index vars var)))
+ (else (error "bad kwarg" x))))
+ (if kw (cdr kw) '())))
+ (kw-inits (filter
+ identity
+ (map (lambda (x)
+ (pmatch x
+ ((,key ,name ,var ,init)
+ (let ((i (list-index vars var)))
+ (if (> (+ nreq nopt) i)
+ (error "kw init for rest arg" x)
+ (if (and rest (= rest-idx i))
+ (error "kw init for positional arg" x)
+ (cons i init)))))
+ ((,key ,name ,var)
+ (let ((i (list-index vars var)))
+ (if (< (+ nreq nopt) i)
+ #f
+ (error "missing init for kw arg" x))))
+ (else (error "bad kwarg" x))))
+ (if kw (cdr kw) '()))))
+ (nargs (apply max (+ nreq nopt (if rest 1 0)) (map cdr kw-indices)))
+ (nlocs (cdr (hashq-ref allocation x)))
+ (else-label (and else (make-label))))
+ (or (= nargs
+ (length vars)
+ (+ nreq (length opt-inits) (if rest 1 0) (length kw-inits)))
+ (error "something went wrong"
+ req opt rest kw vars nreq nopt kw-indices kw-inits nargs))
;; the prelude, to check args & reset the stack pointer,
;; allowing room for locals
(emit-code
src
(cond
- ;; kw := (allow-other-keys? (#:key name var) ...)
(kw
- (make-glil-kw-prelude
- (length req) (length (or opt '())) (and rest #t)
- (map (lambda (x)
- (pmatch x
- ((,key ,name ,var)
- (cons key
- (pmatch (hashq-ref (hashq-ref allocation var) self)
- ((#t ,boxed . ,n) n)
- (,a (error "bad keyword allocation" x a)))))
- (,x (error "bad keyword" x))))
- (cdr kw))
- (car kw) nlocs else-label))
+ (make-glil-kw-prelude nreq nopt rest-idx kw-indices
+ allow-other-keys? nlocs else-label))
((or rest opt)
- (make-glil-opt-prelude
- (length req) (length (or opt '())) (and rest #t) nlocs else-label))
+ (make-glil-opt-prelude nreq nopt rest-idx nlocs else-label))
(#t
- (make-glil-std-prelude (length req) nlocs else-label))))
+ (make-glil-std-prelude nreq nlocs else-label))))
;; box args if necessary
(for-each
(lambda (v)
@@ -641,11 +674,12 @@
(let lp ((kw (if kw (cdr kw) '()))
(names (append (if opt (reverse opt) '())
(reverse req)))
- (vars (list-tail vars (+ (length req)
- (if opt (length opt) 0)
+ (vars (list-tail vars (+ nreq nopt
(if rest 1 0)))))
(pmatch kw
- (() (reverse (if rest (cons rest names) names)))
+ (()
+ ;; fixme: check that vars is empty
+ (reverse (if rest (cons rest names) names)))
(((,key ,name ,var) . ,kw)
(if (memq var vars)
(lp kw (cons name names) (delq var vars))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index a9f2787c0..f30ab94ba 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -349,7 +349,7 @@
(lambda-case ((() #f x #f (y) #f) (const 2))
#f))
(program () (std-prelude 0 0 #f) (label _)
- (program () (opt-prelude 0 0 #t 1 #f)
+ (program () (opt-prelude 0 0 0 1 #f)
(bind (x #f 0)) (label _)
(const 2) (call return 1)
(unbind))
@@ -360,7 +360,7 @@
(lambda-case (((x) #f x1 #f (y y1) #f) (const 2))
#f))
(program () (std-prelude 0 0 #f) (label _)
- (program () (opt-prelude 1 0 #t 2 #f)
+ (program () (opt-prelude 1 0 1 2 #f)
(bind (x #f 0) (x1 #f 1)) (label _)
(const 2) (call return 1)
(unbind))
@@ -371,7 +371,7 @@
(lambda-case (((x) #f x1 #f (y y1) #f) (lexical x y))
#f))
(program () (std-prelude 0 0 #f) (label _)
- (program () (opt-prelude 1 0 #t 2 #f)
+ (program () (opt-prelude 1 0 1 2 #f)
(bind (x #f 0) (x1 #f 1)) (label _)
(lexical #t #f ref 0) (call return 1)
(unbind))
@@ -382,7 +382,7 @@
(lambda-case (((x) #f x1 #f (y y1) #f) (lexical x1 y1))
#f))
(program () (std-prelude 0 0 #f) (label _)
- (program () (opt-prelude 1 0 #t 2 #f)
+ (program () (opt-prelude 1 0 1 2 #f)
(bind (x #f 0) (x1 #f 1)) (label _)
(lexical #t #f ref 1) (call return 1)
(unbind))