diff options
-rw-r--r-- | doc/ref/compiler.texi | 9 | ||||
-rw-r--r-- | libguile/expand.c | 1 | ||||
-rw-r--r-- | libguile/expand.h | 14 | ||||
-rw-r--r-- | libguile/memoize.c | 14 | ||||
-rw-r--r-- | module/ice-9/psyntax-pp.scm | 13525 | ||||
-rw-r--r-- | module/ice-9/psyntax.scm | 67 | ||||
-rw-r--r-- | module/language/elisp/compile-tree-il.scm | 26 | ||||
-rw-r--r-- | module/language/tree-il.scm | 21 | ||||
-rw-r--r-- | module/language/tree-il/analyze.scm | 6 | ||||
-rw-r--r-- | module/language/tree-il/compile-glil.scm | 373 | ||||
-rw-r--r-- | module/language/tree-il/fix-letrec.scm | 5 | ||||
-rw-r--r-- | module/language/tree-il/inline.scm | 120 | ||||
-rw-r--r-- | module/language/tree-il/primitives.scm | 31 | ||||
-rw-r--r-- | test-suite/tests/tree-il.test | 46 |
14 files changed, 7177 insertions, 7081 deletions
diff --git a/doc/ref/compiler.texi b/doc/ref/compiler.texi index 98bbe066e..7f60ac67c 100644 --- a/doc/ref/compiler.texi +++ b/doc/ref/compiler.texi @@ -388,6 +388,15 @@ A conditional. Note that @var{else} is not optional. @deftpx {External Representation} (call @var{proc} . @var{args}) A procedure call. @end deftp +@deftp {Scheme Variable} <primcall> src name args +@deftpx {External Representation} (primcall @var{name} . @var{args}) +A call to a primitive. Equivalent to @code{(call (primitive @var{name}) +. @var{args})}. This construct is often more convenient to generate and +analyze than @code{<call>}. + +As part of the compilation process, instances of @code{(call (primitive +@var{name}) . @var{args})} are transformed into primcalls. +@end deftp @deftp {Scheme Variable} <sequence> src exps @deftpx {External Representation} (begin . @var{exps}) Like Scheme's @code{begin}. diff --git a/libguile/expand.c b/libguile/expand.c index 2b5b2ebf5..af6eb7d12 100644 --- a/libguile/expand.c +++ b/libguile/expand.c @@ -1244,6 +1244,7 @@ scm_init_expand () DEFINE_NAMES (TOPLEVEL_DEFINE); DEFINE_NAMES (CONDITIONAL); DEFINE_NAMES (CALL); + DEFINE_NAMES (PRIMCALL); DEFINE_NAMES (SEQUENCE); DEFINE_NAMES (LAMBDA); DEFINE_NAMES (LAMBDA_CASE); diff --git a/libguile/expand.h b/libguile/expand.h index 7406a8eed..b4e6a2132 100644 --- a/libguile/expand.h +++ b/libguile/expand.h @@ -48,6 +48,7 @@ typedef enum SCM_EXPANDED_TOPLEVEL_DEFINE, SCM_EXPANDED_CONDITIONAL, SCM_EXPANDED_CALL, + SCM_EXPANDED_PRIMCALL, SCM_EXPANDED_SEQUENCE, SCM_EXPANDED_LAMBDA, SCM_EXPANDED_LAMBDA_CASE, @@ -241,6 +242,19 @@ enum #define SCM_MAKE_EXPANDED_CALL(src, proc, args) \ scm_c_make_struct (exp_vtables[SCM_EXPANDED_CALL], 0, SCM_NUM_EXPANDED_CALL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (proc), SCM_UNPACK (args)) +#define SCM_EXPANDED_PRIMCALL_TYPE_NAME "primcall" +#define SCM_EXPANDED_PRIMCALL_FIELD_NAMES \ + { "src", "name", "args", } +enum + { + SCM_EXPANDED_PRIMCALL_SRC, + SCM_EXPANDED_PRIMCALL_NAME, + SCM_EXPANDED_PRIMCALL_ARGS, + SCM_NUM_EXPANDED_PRIMCALL_FIELDS, + }; +#define SCM_MAKE_EXPANDED_PRIMCALL(src, name, args) \ + scm_c_make_struct (exp_vtables[SCM_EXPANDED_PRIMCALL], 0, SCM_NUM_EXPANDED_PRIMCALL_FIELDS, SCM_UNPACK (src), SCM_UNPACK (name), SCM_UNPACK (args)) + #define SCM_EXPANDED_SEQUENCE_TYPE_NAME "sequence" #define SCM_EXPANDED_SEQUENCE_FIELD_NAMES \ { "src", "exps", } diff --git a/libguile/memoize.c b/libguile/memoize.c index f13de74da..d1537f9fb 100644 --- a/libguile/memoize.c +++ b/libguile/memoize.c @@ -263,6 +263,20 @@ memoize (SCM exp, SCM env) return MAKMEMO_CALL (memoize (proc, env), scm_ilength (args), args); } + case SCM_EXPANDED_PRIMCALL: + { + SCM proc, args; + + if (scm_is_eq (scm_current_module (), scm_the_root_module ())) + proc = MAKMEMO_TOP_REF (REF (exp, PRIMCALL, NAME)); + else + proc = MAKMEMO_MOD_REF (list_of_guile, REF (exp, PRIMCALL, NAME), + SCM_BOOL_F); + args = memoize_exps (REF (exp, PRIMCALL, ARGS), env); + + return MAKMEMO_CALL (proc, scm_ilength (args), args); + } + case SCM_EXPANDED_SEQUENCE: return MAKMEMO_BEGIN (memoize_exps (REF (exp, SEQUENCE, EXPS), env)); diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index 3deaf200f..c235d925e 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -3,1520 +3,1525 @@ (letrec* ((#{make-void 203}# - (lambda (#{src 761}#) + (lambda (#{src 765}#) (make-struct/no-tail (vector-ref %expanded-vtables 0) - #{src 761}#))) + #{src 765}#))) (#{make-const 205}# - (lambda (#{src 763}# #{exp 764}#) + (lambda (#{src 767}# #{exp 768}#) (make-struct/no-tail (vector-ref %expanded-vtables 1) - #{src 763}# - #{exp 764}#))) + #{src 767}# + #{exp 768}#))) + (#{make-primitive-ref 207}# + (lambda (#{src 771}# #{name 772}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 2) + #{src 771}# + #{name 772}#))) (#{make-lexical-ref 209}# - (lambda (#{src 771}# #{name 772}# #{gensym 773}#) + (lambda (#{src 775}# #{name 776}# #{gensym 777}#) (make-struct/no-tail (vector-ref %expanded-vtables 3) - #{src 771}# - #{name 772}# - #{gensym 773}#))) + #{src 775}# + #{name 776}# + #{gensym 777}#))) (#{make-lexical-set 211}# - (lambda (#{src 777}# - #{name 778}# - #{gensym 779}# - #{exp 780}#) + (lambda (#{src 781}# + #{name 782}# + #{gensym 783}# + #{exp 784}#) (make-struct/no-tail (vector-ref %expanded-vtables 4) - #{src 777}# - #{name 778}# - #{gensym 779}# - #{exp 780}#))) + #{src 781}# + #{name 782}# + #{gensym 783}# + #{exp 784}#))) (#{make-module-ref 213}# - (lambda (#{src 785}# - #{mod 786}# - #{name 787}# - #{public? 788}#) + (lambda (#{src 789}# + #{mod 790}# + #{name 791}# + #{public? 792}#) (make-struct/no-tail (vector-ref %expanded-vtables 5) - #{src 785}# - #{mod 786}# - #{name 787}# - #{public? 788}#))) + #{src 789}# + #{mod 790}# + #{name 791}# + #{public? 792}#))) (#{make-module-set 215}# - (lambda (#{src 793}# - #{mod 794}# - #{name 795}# - #{public? 796}# - #{exp 797}#) + (lambda (#{src 797}# + #{mod 798}# + #{name 799}# + #{public? 800}# + #{exp 801}#) (make-struct/no-tail (vector-ref %expanded-vtables 6) - #{src 793}# - #{mod 794}# - #{name 795}# - #{public? 796}# - #{exp 797}#))) + #{src 797}# + #{mod 798}# + #{name 799}# + #{public? 800}# + #{exp 801}#))) (#{make-toplevel-ref 217}# - (lambda (#{src 803}# #{name 804}#) + (lambda (#{src 807}# #{name 808}#) (make-struct/no-tail (vector-ref %expanded-vtables 7) - #{src 803}# - #{name 804}#))) + #{src 807}# + #{name 808}#))) (#{make-toplevel-set 219}# - (lambda (#{src 807}# #{name 808}# #{exp 809}#) + (lambda (#{src 811}# #{name 812}# #{exp 813}#) (make-struct/no-tail (vector-ref %expanded-vtables 8) - #{src 807}# - #{name 808}# - #{exp 809}#))) + #{src 811}# + #{name 812}# + #{exp 813}#))) (#{make-toplevel-define 221}# - (lambda (#{src 813}# #{name 814}# #{exp 815}#) + (lambda (#{src 817}# #{name 818}# #{exp 819}#) (make-struct/no-tail (vector-ref %expanded-vtables 9) - #{src 813}# - #{name 814}# - #{exp 815}#))) + #{src 817}# + #{name 818}# + #{exp 819}#))) (#{make-conditional 223}# - (lambda (#{src 819}# - #{test 820}# - #{consequent 821}# - #{alternate 822}#) + (lambda (#{src 823}# + #{test 824}# + #{consequent 825}# + #{alternate 826}#) (make-struct/no-tail (vector-ref %expanded-vtables 10) - #{src 819}# - #{test 820}# - #{consequent 821}# - #{alternate 822}#))) + #{src 823}# + #{test 824}# + #{consequent 825}# + #{alternate 826}#))) (#{make-call 225}# - (lambda (#{src 827}# #{proc 828}# #{args 829}#) + (lambda (#{src 831}# #{proc 832}# #{args 833}#) (make-struct/no-tail (vector-ref %expanded-vtables 11) - #{src 827}# - #{proc 828}# - #{args 829}#))) - (#{make-sequence 227}# - (lambda (#{src 833}# #{exps 834}#) + #{src 831}# + #{proc 832}# + #{args 833}#))) + (#{make-primcall 227}# + (lambda (#{src 837}# #{name 838}# #{args 839}#) (make-struct/no-tail (vector-ref %expanded-vtables 12) - #{src 833}# - #{exps 834}#))) - (#{make-lambda 229}# - (lambda (#{src 837}# #{meta 838}# #{body 839}#) + #{src 837}# + #{name 838}# + #{args 839}#))) + (#{make-sequence 229}# + (lambda (#{src 843}# #{exps 844}#) (make-struct/no-tail (vector-ref %expanded-vtables 13) - #{src 837}# - #{meta 838}# - #{body 839}#))) - (#{make-lambda-case 231}# - (lambda (#{src 843}# - #{req 844}# - #{opt 845}# - #{rest 846}# - #{kw 847}# - #{inits 848}# - #{gensyms 849}# - #{body 850}# - #{alternate 851}#) + #{src 843}# + #{exps 844}#))) + (#{make-lambda 231}# + (lambda (#{src 847}# #{meta 848}# #{body 849}#) (make-struct/no-tail (vector-ref %expanded-vtables 14) - #{src 843}# - #{req 844}# - #{opt 845}# - #{rest 846}# - #{kw 847}# - #{inits 848}# - #{gensyms 849}# - #{body 850}# - #{alternate 851}#))) - (#{make-let 233}# - (lambda (#{src 861}# - #{names 862}# - #{gensyms 863}# - #{vals 864}# - #{body 865}#) + #{src 847}# + #{meta 848}# + #{body 849}#))) + (#{make-lambda-case 233}# + (lambda (#{src 853}# + #{req 854}# + #{opt 855}# + #{rest 856}# + #{kw 857}# + #{inits 858}# + #{gensyms 859}# + #{body 860}# + #{alternate 861}#) (make-struct/no-tail (vector-ref %expanded-vtables 15) - #{src 861}# - #{names 862}# - #{gensyms 863}# - #{vals 864}# - #{body 865}#))) - (#{make-letrec 235}# + #{src 853}# + #{req 854}# + #{opt 855}# + #{rest 856}# + #{kw 857}# + #{inits 858}# + #{gensyms 859}# + #{body 860}# + #{alternate 861}#))) + (#{make-let 235}# (lambda (#{src 871}# - #{in-order? 872}# - #{names 873}# - #{gensyms 874}# - #{vals 875}# - #{body 876}#) + #{names 872}# + #{gensyms 873}# + #{vals 874}# + #{body 875}#) (make-struct/no-tail (vector-ref %expanded-vtables 16) #{src 871}# - #{in-order? 872}# - #{names 873}# - #{gensyms 874}# - #{vals 875}# - #{body 876}#))) - (#{make-dynlet 237}# - (lambda (#{src 883}# - #{fluids 884}# + #{names 872}# + #{gensyms 873}# + #{vals 874}# + #{body 875}#))) + (#{make-letrec 237}# + (lambda (#{src 881}# + #{in-order? 882}# + #{names 883}# + #{gensyms 884}# #{vals 885}# #{body 886}#) (make-struct/no-tail (vector-ref %expanded-vtables 17) - #{src 883}# - #{fluids 884}# + #{src 881}# + #{in-order? 882}# + #{names 883}# + #{gensyms 884}# #{vals 885}# #{body 886}#))) - (#{lambda? 240}# - (lambda (#{x 891}#) - (if (struct? #{x 891}#) - (eq? (struct-vtable #{x 891}#) - (vector-ref %expanded-vtables 13)) + (#{make-dynlet 239}# + (lambda (#{src 893}# + #{fluids 894}# + #{vals 895}# + #{body 896}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 18) + #{src 893}# + #{fluids 894}# + #{vals 895}# + #{body 896}#))) + (#{lambda? 242}# + (lambda (#{x 901}#) + (if (struct? #{x 901}#) + (eq? (struct-vtable #{x 901}#) + (vector-ref %expanded-vtables 14)) #f))) - (#{lambda-meta 242}# - (lambda (#{x 895}#) (struct-ref #{x 895}# 1))) - (#{set-lambda-meta! 244}# - (lambda (#{x 897}# #{v 898}#) - (struct-set! #{x 897}# 1 #{v 898}#))) - (#{top-level-eval-hook 250}# - (lambda (#{x 901}# #{mod 902}#) - (primitive-eval #{x 901}#))) - (#{local-eval-hook 252}# - (lambda (#{x 905}# #{mod 906}#) - (primitive-eval #{x 905}#))) - (#{put-global-definition-hook 255}# - (lambda (#{symbol 909}# #{type 910}# #{val 911}#) + (#{lambda-meta 244}# + (lambda (#{x 905}#) (struct-ref #{x 905}# 1))) + (#{set-lambda-meta! 246}# + (lambda (#{x 907}# #{v 908}#) + (struct-set! #{x 907}# 1 #{v 908}#))) + (#{top-level-eval-hook 252}# + (lambda (#{x 911}# #{mod 912}#) + (primitive-eval #{x 911}#))) + (#{local-eval-hook 254}# + (lambda (#{x 915}# #{mod 916}#) + (primitive-eval #{x 915}#))) + (#{put-global-definition-hook 257}# + (lambda (#{symbol 919}# #{type 920}# #{val 921}#) (module-define! (current-module) - #{symbol 909}# + #{symbol 919}# (make-syntax-transformer - #{symbol 909}# - #{type 910}# - #{val 911}#)))) - (#{get-global-definition-hook 257}# - (lambda (#{symbol 915}# #{module 916}#) + #{symbol 919}# + #{type 920}# + #{val 921}#)))) + (#{get-global-definition-hook 259}# + (lambda (#{symbol 925}# #{module 926}#) (begin - (if (if (not #{module 916}#) (current-module) #f) + (if (if (not #{module 926}#) (current-module) #f) (warn "module system is booted, we should have a module" - #{symbol 915}#)) + #{symbol 925}#)) (begin - (let ((#{v 922}# (module-variable - (if #{module 916}# - (resolve-module (cdr #{module 916}#)) + (let ((#{v 932}# (module-variable + (if #{module 926}# + (resolve-module (cdr #{module 926}#)) (current-module)) - #{symbol 915}#))) - (if #{v 922}# - (if (variable-bound? #{v 922}#) + #{symbol 925}#))) + (if #{v 932}# + (if (variable-bound? #{v 932}#) (begin - (let ((#{val 927}# (variable-ref #{v 922}#))) - (if (macro? #{val 927}#) - (if (macro-type #{val 927}#) - (cons (macro-type #{val 927}#) - (macro-binding #{val 927}#)) + (let ((#{val 937}# (variable-ref #{v 932}#))) + (if (macro? #{val 937}#) + (if (macro-type #{val 937}#) + (cons (macro-type #{val 937}#) + (macro-binding #{val 937}#)) #f) #f))) #f) #f)))))) - (#{decorate-source 259}# - (lambda (#{e 931}# #{s 932}#) + (#{decorate-source 261}# + (lambda (#{e 941}# #{s 942}#) (begin - (if (if (pair? #{e 931}#) #{s 932}# #f) - (set-source-properties! #{e 931}# #{s 932}#)) - #{e 931}#))) - (#{maybe-name-value! 261}# - (lambda (#{name 937}# #{val 938}#) - (if (#{lambda? 240}# #{val 938}#) + (if (if (pair? #{e 941}#) #{s 942}# #f) + (set-source-properties! #{e 941}# #{s 942}#)) + #{e 941}#))) + (#{maybe-name-value! 263}# + (lambda (#{name 947}# #{val 948}#) + (if (#{lambda? 242}# #{val 948}#) (begin - (let ((#{meta 942}# (#{lambda-meta 242}# #{val 938}#))) - (if (not (assq 'name #{meta 942}#)) - (#{set-lambda-meta! 244}# - #{val 938}# - (cons (cons 'name #{name 937}#) #{meta 942}#)))))))) - (#{build-void 263}# - (lambda (#{source 943}#) - (#{make-void 203}# #{source 943}#))) - (#{build-call 265}# - (lambda (#{source 945}# #{fun-exp 946}# #{arg-exps 947}#) + (let ((#{meta 952}# (#{lambda-meta 244}# #{val 948}#))) + (if (not (assq 'name #{meta 952}#)) + (#{set-lambda-meta! 246}# + #{val 948}# + (cons (cons 'name #{name 947}#) #{meta 952}#)))))))) + (#{build-void 265}# + (lambda (#{source 953}#) + (#{make-void 203}# #{source 953}#))) + (#{build-call 267}# + (lambda (#{source 955}# #{fun-exp 956}# #{arg-exps 957}#) (#{make-call 225}# - #{source 945}# - #{fun-exp 946}# - #{arg-exps 947}#))) - (#{build-conditional 267}# - (lambda (#{source 951}# - #{test-exp 952}# - #{then-exp 953}# - #{else-exp 954}#) + #{source 955}# + #{fun-exp 956}# + #{arg-exps 957}#))) + (#{build-conditional 269}# + (lambda (#{source 961}# + #{test-exp 962}# + #{then-exp 963}# + #{else-exp 964}#) (#{make-conditional 223}# - #{source 951}# - #{test-exp 952}# - #{then-exp 953}# - #{else-exp 954}#))) - (#{build-dynlet 269}# - (lambda (#{source 959}# - #{fluids 960}# - #{vals 961}# - #{body 962}#) - (#{make-dynlet 237}# - #{source 959}# - #{fluids 960}# - #{vals 961}# - #{body 962}#))) - (#{build-lexical-reference 271}# - (lambda (#{type 967}# - #{source 968}# - #{name 969}# - #{var 970}#) + #{source 961}# + #{test-exp 962}# + #{then-exp 963}# + #{else-exp 964}#))) + (#{build-dynlet 271}# + (lambda (#{source 969}# + #{fluids 970}# + #{vals 971}# + #{body 972}#) + (#{make-dynlet 239}# + #{source 969}# + #{fluids 970}# + #{vals 971}# + #{body 972}#))) + (#{build-lexical-reference 273}# + (lambda (#{type 977}# + #{source 978}# + #{name 979}# + #{var 980}#) (#{make-lexical-ref 209}# - #{source 968}# - #{name 969}# - #{var 970}#))) - (#{build-lexical-assignment 273}# - (lambda (#{source 975}# - #{name 976}# - #{var 977}# - #{exp 978}#) + #{source 978}# + #{name 979}# + #{var 980}#))) + (#{build-lexical-assignment 275}# + (lambda (#{source 985}# + #{name 986}# + #{var 987}# + #{exp 988}#) (begin - (#{maybe-name-value! 261}# - #{name 976}# - #{exp 978}#) + (#{maybe-name-value! 263}# + #{name 986}# + #{exp 988}#) (#{make-lexical-set 211}# - #{source 975}# - #{name 976}# - #{var 977}# - #{exp 978}#)))) - (#{analyze-variable 275}# - (lambda (#{mod 983}# - #{var 984}# - #{modref-cont 985}# - #{bare-cont 986}#) - (if (not #{mod 983}#) - (#{bare-cont 986}# #{var 984}#) + #{source 985}# + #{name 986}# + #{var 987}# + #{exp 988}#)))) + (#{analyze-variable 277}# + (lambda (#{mod 993}# + #{var 994}# + #{modref-cont 995}# + #{bare-cont 996}#) + (if (not #{mod 993}#) + (#{bare-cont 996}# #{var 994}#) (begin - (let ((#{kind 993}# (car #{mod 983}#)) - (#{mod 994}# (cdr #{mod 983}#))) - (if (eqv? #{kind 993}# 'public) - (#{modref-cont 985}# #{mod 994}# #{var 984}# #t) - (if (eqv? #{kind 993}# 'private) + (let ((#{kind 1003}# (car #{mod 993}#)) + (#{mod 1004}# (cdr #{mod 993}#))) + (if (memv #{kind 1003}# '(public)) + (#{modref-cont 995}# #{mod 1004}# #{var 994}# #t) + (if (memv #{kind 1003}# '(private)) (if (not (equal? - #{mod 994}# + #{mod 1004}# (module-name (current-module)))) - (#{modref-cont 985}# #{mod 994}# #{var 984}# #f) - (#{bare-cont 986}# #{var 984}#)) - (if (eqv? #{kind 993}# 'bare) - (#{bare-cont 986}# #{var 984}#) - (if (eqv? #{kind 993}# 'hygiene) + (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f) + (#{bare-cont 996}# #{var 994}#)) + (if (memv #{kind 1003}# '(bare)) + (#{bare-cont 996}# #{var 994}#) + (if (memv #{kind 1003}# '(hygiene)) (if (if (not (equal? - #{mod 994}# + #{mod 1004}# (module-name (current-module)))) (module-variable - (resolve-module #{mod 994}#) - #{var 984}#) + (resolve-module #{mod 1004}#) + #{var 994}#) #f) - (#{modref-cont 985}# #{mod 994}# #{var 984}# #f) - (#{bare-cont 986}# #{var 984}#)) + (#{modref-cont 995}# #{mod 1004}# #{var 994}# #f) + (#{bare-cont 996}# #{var 994}#)) (syntax-violation #f "bad module kind" - #{var 984}# - #{mod 994}#)))))))))) - (#{build-global-reference 277}# - (lambda (#{source 1002}# #{var 1003}# #{mod 1004}#) - (#{analyze-variable 275}# - #{mod 1004}# - #{var 1003}# - (lambda (#{mod 1008}# #{var 1009}# #{public? 1010}#) + #{var 994}# + #{mod 1004}#)))))))))) + (#{build-global-reference 279}# + (lambda (#{source 1012}# #{var 1013}# #{mod 1014}#) + (#{analyze-variable 277}# + #{mod 1014}# + #{var 1013}# + (lambda (#{mod 1018}# #{var 1019}# #{public? 1020}#) (#{make-module-ref 213}# - #{source 1002}# - #{mod 1008}# - #{var 1009}# - #{public? 1010}#)) - (lambda (#{var 1014}#) + #{source 1012}# + #{mod 1018}# + #{var 1019}# + #{public? 1020}#)) + (lambda (#{var 1024}#) (#{make-toplevel-ref 217}# - #{source 1002}# - #{var 1014}#))))) - (#{build-global-assignment 279}# - (lambda (#{source 1016}# - #{var 1017}# - #{exp 1018}# - #{mod 1019}#) + #{source 1012}# + #{var 1024}#))))) + (#{build-global-assignment 281}# + (lambda (#{source 1026}# + #{var 1027}# + #{exp 1028}# + #{mod 1029}#) (begin - (#{maybe-name-value! 261}# - #{var 1017}# - #{exp 1018}#) - (#{analyze-variable 275}# - #{mod 1019}# - #{var 1017}# - (lambda (#{mod 1024}# #{var 1025}# #{public? 1026}#) + (#{maybe-name-value! 263}# + #{var 1027}# + #{exp 1028}#) + (#{analyze-variable 277}# + #{mod 1029}# + #{var 1027}# + (lambda (#{mod 1034}# #{var 1035}# #{public? 1036}#) (#{make-module-set 215}# - #{source 1016}# - #{mod 1024}# - #{var 1025}# - #{public? 1026}# - #{exp 1018}#)) - (lambda (#{var 1030}#) + #{source 1026}# + #{mod 1034}# + #{var 1035}# + #{public? 1036}# + #{exp 1028}#)) + (lambda (#{var 1040}#) (#{make-toplevel-set 219}# - #{source 1016}# - #{var 1030}# - #{exp 1018}#)))))) - (#{build-global-definition 281}# - (lambda (#{source 1032}# #{var 1033}# #{exp 1034}#) + #{source 1026}# + #{var 1040}# + #{exp 1028}#)))))) + (#{build-global-definition 283}# + (lambda (#{source 1042}# #{var 1043}# #{exp 1044}#) (begin - (#{maybe-name-value! 261}# - #{var 1033}# - #{exp 1034}#) + (#{maybe-name-value! 263}# + #{var 1043}# + #{exp 1044}#) (#{make-toplevel-define 221}# - #{source 1032}# - #{var 1033}# - #{exp 1034}#)))) - (#{build-simple-lambda 283}# - (lambda (#{src 1038}# - #{req 1039}# - #{rest 1040}# - #{vars 1041}# - #{meta 1042}# - #{exp 1043}#) - (#{make-lambda 229}# - #{src 1038}# - #{meta 1042}# - (#{make-lambda-case 231}# - #{src 1038}# - #{req 1039}# + #{source 1042}# + #{var 1043}# + #{exp 1044}#)))) + (#{build-simple-lambda 285}# + (lambda (#{src 1048}# + #{req 1049}# + #{rest 1050}# + #{vars 1051}# + #{meta 1052}# + #{exp 1053}#) + (#{make-lambda 231}# + #{src 1048}# + #{meta 1052}# + (#{make-lambda-case 233}# + #{src 1048}# + #{req 1049}# #f - #{rest 1040}# + #{rest 1050}# #f '() - #{vars 1041}# - #{exp 1043}# - #f)))) - (#{build-case-lambda 285}# - (lambda (#{src 1050}# #{meta 1051}# #{body 1052}#) - (#{make-lambda 229}# - #{src 1050}# - #{meta 1051}# - #{body 1052}#))) - (#{build-lambda-case 287}# - (lambda (#{src 1056}# - #{req 1057}# - #{opt 1058}# - #{rest 1059}# - #{kw 1060}# - #{inits 1061}# - #{vars 1062}# - #{body 1063}# - #{else-case 1064}#) - (#{make-lambda-case 231}# - #{src 1056}# - #{req 1057}# - #{opt 1058}# - #{rest 1059}# - #{kw 1060}# - #{inits 1061}# - #{vars 1062}# - #{body 1063}# - #{else-case 1064}#))) - (#{build-primref 289}# - (lambda (#{src 1074}# #{name 1075}#) - (if (equal? (module-name (current-module)) '(guile)) - (#{make-toplevel-ref 217}# - #{src 1074}# - #{name 1075}#) - (#{make-module-ref 213}# - #{src 1074}# - '(guile) - #{name 1075}# + #{vars 1051}# + #{exp 1053}# #f)))) - (#{build-data 291}# - (lambda (#{src 1078}# #{exp 1079}#) - (#{make-const 205}# #{src 1078}# #{exp 1079}#))) - (#{build-sequence 293}# - (lambda (#{src 1082}# #{exps 1083}#) - (if (null? (cdr #{exps 1083}#)) - (car #{exps 1083}#) - (#{make-sequence 227}# - #{src 1082}# - #{exps 1083}#)))) - (#{build-let 295}# - (lambda (#{src 1086}# - #{ids 1087}# - #{vars 1088}# - #{val-exps 1089}# - #{body-exp 1090}#) + (#{build-case-lambda 287}# + (lambda (#{src 1060}# #{meta 1061}# #{body 1062}#) + (#{make-lambda 231}# + #{src 1060}# + #{meta 1061}# + #{body 1062}#))) + (#{build-lambda-case 289}# + (lambda (#{src 1066}# + #{req 1067}# + #{opt 1068}# + #{rest 1069}# + #{kw 1070}# + #{inits 1071}# + #{vars 1072}# + #{body 1073}# + #{else-case 1074}#) + (#{make-lambda-case 233}# + #{src 1066}# + #{req 1067}# + #{opt 1068}# + #{rest 1069}# + #{kw 1070}# + #{inits 1071}# + #{vars 1072}# + #{body 1073}# + #{else-case 1074}#))) + (#{build-primcall 291}# + (lambda (#{src 1084}# #{name 1085}# #{args 1086}#) + (#{make-primcall 227}# + #{src 1084}# + #{name 1085}# + #{args 1086}#))) + (#{build-primref 293}# + (lambda (#{src 1090}# #{name 1091}#) + (#{make-primitive-ref 207}# + #{src 1090}# + #{name 1091}#))) + (#{build-data 295}# + (lambda (#{src 1094}# #{exp 1095}#) + (#{make-const 205}# #{src 1094}# #{exp 1095}#))) + (#{build-sequence 297}# + (lambda (#{src 1098}# #{exps 1099}#) + (if (null? (cdr #{exps 1099}#)) + (car #{exps 1099}#) + (#{make-sequence 229}# + #{src 1098}# + #{exps 1099}#)))) + (#{build-let 299}# + (lambda (#{src 1102}# + #{ids 1103}# + #{vars 1104}# + #{val-exps 1105}# + #{body-exp 1106}#) (begin (for-each - #{maybe-name-value! 261}# - #{ids 1087}# - #{val-exps 1089}#) - (if (null? #{vars 1088}#) - #{body-exp 1090}# - (#{make-let 233}# - #{src 1086}# - #{ids 1087}# - #{vars 1088}# - #{val-exps 1089}# - #{body-exp 1090}#))))) - (#{build-named-let 297}# - (lambda (#{src 1096}# - #{ids 1097}# - #{vars 1098}# - #{val-exps 1099}# - #{body-exp 1100}#) + #{maybe-name-value! 263}# + #{ids 1103}# + #{val-exps 1105}#) + (if (null? #{vars 1104}#) + #{body-exp 1106}# + (#{make-let 235}# + #{src 1102}# + #{ids 1103}# + #{vars 1104}# + #{val-exps 1105}# + #{body-exp 1106}#))))) + (#{build-named-let 301}# + (lambda (#{src 1112}# + #{ids 1113}# + #{vars 1114}# + #{val-exps 1115}# + #{body-exp 1116}#) (begin - (let ((#{f 1110}# (car #{vars 1098}#)) - (#{f-name 1111}# (car #{ids 1097}#)) - (#{vars 1112}# (cdr #{vars 1098}#)) - (#{ids 1113}# (cdr #{ids 1097}#))) + (let ((#{f 1126}# (car #{vars 1114}#)) + (#{f-name 1127}# (car #{ids 1113}#)) + (#{vars 1128}# (cdr #{vars 1114}#)) + (#{ids 1129}# (cdr #{ids 1113}#))) (begin - (let ((#{proc 1115}# - (#{build-simple-lambda 283}# - #{src 1096}# - #{ids 1113}# + (let ((#{proc 1131}# + (#{build-simple-lambda 285}# + #{src 1112}# + #{ids 1129}# #f - #{vars 1112}# + #{vars 1128}# '() - #{body-exp 1100}#))) + #{body-exp 1116}#))) (begin - (#{maybe-name-value! 261}# - #{f-name 1111}# - #{proc 1115}#) + (#{maybe-name-value! 263}# + #{f-name 1127}# + #{proc 1131}#) (for-each - #{maybe-name-value! 261}# - #{ids 1113}# - #{val-exps 1099}#) - (#{make-letrec 235}# - #{src 1096}# + #{maybe-name-value! 263}# + #{ids 1129}# + #{val-exps 1115}#) + (#{make-letrec 237}# + #{src 1112}# #f - (list #{f-name 1111}#) - (list #{f 1110}#) - (list #{proc 1115}#) - (#{build-call 265}# - #{src 1096}# - (#{build-lexical-reference 271}# + (list #{f-name 1127}#) + (list #{f 1126}#) + (list #{proc 1131}#) + (#{build-call 267}# + #{src 1112}# + (#{build-lexical-reference 273}# 'fun - #{src 1096}# - #{f-name 1111}# - #{f 1110}#) - #{val-exps 1099}#))))))))) - (#{build-letrec 299}# - (lambda (#{src 1116}# - #{in-order? 1117}# - #{ids 1118}# - #{vars 1119}# - #{val-exps 1120}# - #{body-exp 1121}#) - (if (null? #{vars 1119}#) - #{body-exp 1121}# + #{src 1112}# + #{f-name 1127}# + #{f 1126}#) + #{val-exps 1115}#))))))))) + (#{build-letrec 303}# + (lambda (#{src 1132}# + #{in-order? 1133}# + #{ids 1134}# + #{vars 1135}# + #{val-exps 1136}# + #{body-exp 1137}#) + (if (null? #{vars 1135}#) + #{body-exp 1137}# (begin (for-each - #{maybe-name-value! 261}# - #{ids 1118}# - #{val-exps 1120}#) - (#{make-letrec 235}# - #{src 1116}# - #{in-order? 1117}# - #{ids 1118}# - #{vars 1119}# - #{val-exps 1120}# - #{body-exp 1121}#))))) - (#{make-syntax-object 303}# - (lambda (#{expression 1128}# - #{wrap 1129}# - #{module 1130}#) + #{maybe-name-value! 263}# + #{ids 1134}# + #{val-exps 1136}#) + (#{make-letrec 237}# + #{src 1132}# + #{in-order? 1133}# + #{ids 1134}# + #{vars 1135}# + #{val-exps 1136}# + #{body-exp 1137}#))))) + (#{make-syntax-object 307}# + (lambda (#{expression 1144}# + #{wrap 1145}# + #{module 1146}#) (vector 'syntax-object - #{expression 1128}# - #{wrap 1129}# - #{module 1130}#))) - (#{syntax-object? 305}# - (lambda (#{x 1134}#) - (if (vector? #{x 1134}#) - (if (= (vector-length #{x 1134}#) 4) - (eq? (vector-ref #{x 1134}# 0) 'syntax-object) + #{expression 1144}# + #{wrap 1145}# + #{module 1146}#))) + (#{syntax-object? 309}# + (lambda (#{x 1150}#) + (if (vector? #{x 1150}#) + (if (= (vector-length #{x 1150}#) 4) + (eq? (vector-ref #{x 1150}# 0) 'syntax-object) #f) #f))) - (#{syntax-object-expression 307}# - (lambda (#{x 1139}#) (vector-ref #{x 1139}# 1))) - (#{syntax-object-wrap 309}# - (lambda (#{x 1141}#) (vector-ref #{x 1141}# 2))) - (#{syntax-object-module 311}# - (lambda (#{x 1143}#) (vector-ref #{x 1143}# 3))) - (#{source-annotation 320}# - (lambda (#{x 1157}#) - (if (#{syntax-object? 305}# #{x 1157}#) - (#{source-annotation 320}# - (#{syntax-object-expression 307}# #{x 1157}#)) - (if (pair? #{x 1157}#) + (#{syntax-object-expression 311}# + (lambda (#{x 1155}#) (vector-ref #{x 1155}# 1))) + (#{syntax-object-wrap 313}# + (lambda (#{x 1157}#) (vector-ref #{x 1157}# 2))) + (#{syntax-object-module 315}# + (lambda (#{x 1159}#) (vector-ref #{x 1159}# 3))) + (#{source-annotation 324}# + (lambda (#{x 1173}#) + (if (#{syntax-object? 309}# #{x 1173}#) + (#{source-annotation 324}# + (#{syntax-object-expression 311}# #{x 1173}#)) + (if (pair? #{x 1173}#) (begin - (let ((#{props 1164}# (source-properties #{x 1157}#))) - (if (pair? #{props 1164}#) #{props 1164}# #f))) + (let ((#{props 1180}# (source-properties #{x 1173}#))) + (if (pair? #{props 1180}#) #{props 1180}# #f))) #f)))) - (#{extend-env 327}# - (lambda (#{labels 1166}# #{bindings 1167}# #{r 1168}#) - (if (null? #{labels 1166}#) - #{r 1168}# - (#{extend-env 327}# - (cdr #{labels 1166}#) - (cdr #{bindings 1167}#) - (cons (cons (car #{labels 1166}#) - (car #{bindings 1167}#)) - #{r 1168}#))))) - (#{extend-var-env 329}# - (lambda (#{labels 1172}# #{vars 1173}# #{r 1174}#) - (if (null? #{labels 1172}#) - #{r 1174}# - (#{extend-var-env 329}# - (cdr #{labels 1172}#) - (cdr #{vars 1173}#) - (cons (cons (car #{labels 1172}#) - (cons 'lexical (car #{vars 1173}#))) - #{r 1174}#))))) - (#{macros-only-env 331}# - (lambda (#{r 1179}#) - (if (null? #{r 1179}#) + (#{extend-env 331}# + (lambda (#{labels 1182}# #{bindings 1183}# #{r 1184}#) + (if (null? #{labels 1182}#) + #{r 1184}# + (#{extend-env 331}# + (cdr #{labels 1182}#) + (cdr #{bindings 1183}#) + (cons (cons (car #{labels 1182}#) + (car #{bindings 1183}#)) + #{r 1184}#))))) + (#{extend-var-env 333}# + (lambda (#{labels 1188}# #{vars 1189}# #{r 1190}#) + (if (null? #{labels 1188}#) + #{r 1190}# + (#{extend-var-env 333}# + (cdr #{labels 1188}#) + (cdr #{vars 1189}#) + (cons (cons (car #{labels 1188}#) + (cons 'lexical (car #{vars 1189}#))) + #{r 1190}#))))) + (#{macros-only-env 335}# + (lambda (#{r 1195}#) + (if (null? #{r 1195}#) '() (begin - (let ((#{a 1182}# (car #{r 1179}#))) - (if (eq? (car (cdr #{a 1182}#)) 'macro) - (cons #{a 1182}# - (#{macros-only-env 331}# (cdr #{r 1179}#))) - (#{macros-only-env 331}# (cdr #{r 1179}#)))))))) - (#{lookup 333}# - (lambda (#{x 1183}# #{r 1184}# #{mod 1185}#) + (let ((#{a 1198}# (car #{r 1195}#))) + (if (eq? (car (cdr #{a 1198}#)) 'macro) + (cons #{a 1198}# + (#{macros-only-env 335}# (cdr #{r 1195}#))) + (#{macros-only-env 335}# (cdr #{r 1195}#)))))))) + (#{lookup 337}# + (lambda (#{x 1199}# #{r 1200}# #{mod 1201}#) (begin - (let ((#{t 1191}# (assq #{x 1183}# #{r 1184}#))) - (if #{t 1191}# - (cdr #{t 1191}#) - (if (symbol? #{x 1183}#) + (let ((#{t 1207}# (assq #{x 1199}# #{r 1200}#))) + (if #{t 1207}# + (cdr #{t 1207}#) + (if (symbol? #{x 1199}#) (begin - (let ((#{t 1197}# - (#{get-global-definition-hook 257}# - #{x 1183}# - #{mod 1185}#))) - (if #{t 1197}# #{t 1197}# '(global)))) + (let ((#{t 1213}# + (#{get-global-definition-hook 259}# + #{x 1199}# + #{mod 1201}#))) + (if #{t 1213}# #{t 1213}# '(global)))) '(displaced-lexical))))))) - (#{global-extend 335}# - (lambda (#{type 1202}# #{sym 1203}# #{val 1204}#) - (#{put-global-definition-hook 255}# - #{sym 1203}# - #{type 1202}# - #{val 1204}#))) - (#{nonsymbol-id? 337}# - (lambda (#{x 1208}#) - (if (#{syntax-object? 305}# #{x 1208}#) + (#{global-extend 339}# + (lambda (#{type 1218}# #{sym 1219}# #{val 1220}#) + (#{put-global-definition-hook 257}# + #{sym 1219}# + #{type 1218}# + #{val 1220}#))) + (#{nonsymbol-id? 341}# + (lambda (#{x 1224}#) + (if (#{syntax-object? 309}# #{x 1224}#) (symbol? - (#{syntax-object-expression 307}# #{x 1208}#)) + (#{syntax-object-expression 311}# #{x 1224}#)) #f))) - (#{id? 339}# - (lambda (#{x 1212}#) - (if (symbol? #{x 1212}#) + (#{id? 343}# + (lambda (#{x 1228}#) + (if (symbol? #{x 1228}#) #t - (if (#{syntax-object? 305}# #{x 1212}#) + (if (#{syntax-object? 309}# #{x 1228}#) (symbol? - (#{syntax-object-expression 307}# #{x 1212}#)) + (#{syntax-object-expression 311}# #{x 1228}#)) #f)))) - (#{id-sym-name&marks 342}# - (lambda (#{x 1219}# #{w 1220}#) - (if (#{syntax-object? 305}# #{x 1219}#) + (#{id-sym-name&marks 346}# + (lambda (#{x 1235}# #{w 1236}#) + (if (#{syntax-object? 309}# #{x 1235}#) (values - (#{syntax-object-expression 307}# #{x 1219}#) - (#{join-marks 389}# - (car #{w 1220}#) - (car (#{syntax-object-wrap 309}# #{x 1219}#)))) - (values #{x 1219}# (car #{w 1220}#))))) - (#{gen-label 352}# + (#{syntax-object-expression 311}# #{x 1235}#) + (#{join-marks 393}# + (car #{w 1236}#) + (car (#{syntax-object-wrap 313}# #{x 1235}#)))) + (values #{x 1235}# (car #{w 1236}#))))) + (#{gen-label 356}# (lambda () (symbol->string (gensym "i")))) - (#{gen-labels 354}# - (lambda (#{ls 1226}#) - (if (null? #{ls 1226}#) + (#{gen-labels 358}# + (lambda (#{ls 1242}#) + (if (null? #{ls 1242}#) '() - (cons (#{gen-label 352}#) - (#{gen-labels 354}# (cdr #{ls 1226}#)))))) - (#{make-ribcage 357}# - (lambda (#{symnames 1228}# - #{marks 1229}# - #{labels 1230}#) + (cons (#{gen-label 356}#) + (#{gen-labels 358}# (cdr #{ls 1242}#)))))) + (#{make-ribcage 361}# + (lambda (#{symnames 1244}# + #{marks 1245}# + #{labels 1246}#) (vector 'ribcage - #{symnames 1228}# - #{marks 1229}# - #{labels 1230}#))) - (#{ribcage-symnames 361}# - (lambda (#{x 1239}#) (vector-ref #{x 1239}# 1))) - (#{ribcage-marks 363}# - (lambda (#{x 1241}#) (vector-ref #{x 1241}# 2))) - (#{ribcage-labels 365}# - (lambda (#{x 1243}#) (vector-ref #{x 1243}# 3))) - (#{set-ribcage-symnames! 367}# - (lambda (#{x 1245}# #{update 1246}#) - (vector-set! #{x 1245}# 1 #{update 1246}#))) - (#{set-ribcage-marks! 369}# - (lambda (#{x 1249}# #{update 1250}#) - (vector-set! #{x 1249}# 2 #{update 1250}#))) - (#{set-ribcage-labels! 371}# - (lambda (#{x 1253}# #{update 1254}#) - (vector-set! #{x 1253}# 3 #{update 1254}#))) - (#{anti-mark 377}# - (lambda (#{w 1257}#) - (cons (cons #f (car #{w 1257}#)) - (cons 'shift (cdr #{w 1257}#))))) - (#{extend-ribcage! 381}# - (lambda (#{ribcage 1263}# #{id 1264}# #{label 1265}#) + #{symnames 1244}# + #{marks 1245}# + #{labels 1246}#))) + (#{ribcage-symnames 365}# + (lambda (#{x 1255}#) (vector-ref #{x 1255}# 1))) + (#{ribcage-marks 367}# + (lambda (#{x 1257}#) (vector-ref #{x 1257}# 2))) + (#{ribcage-labels 369}# + (lambda (#{x 1259}#) (vector-ref #{x 1259}# 3))) + (#{set-ribcage-symnames! 371}# + (lambda (#{x 1261}# #{update 1262}#) + (vector-set! #{x 1261}# 1 #{update 1262}#))) + (#{set-ribcage-marks! 373}# + (lambda (#{x 1265}# #{update 1266}#) + (vector-set! #{x 1265}# 2 #{update 1266}#))) + (#{set-ribcage-labels! 375}# + (lambda (#{x 1269}# #{update 1270}#) + (vector-set! #{x 1269}# 3 #{update 1270}#))) + (#{anti-mark 381}# + (lambda (#{w 1273}#) + (cons (cons #f (car #{w 1273}#)) + (cons 'shift (cdr #{w 1273}#))))) + (#{extend-ribcage! 385}# + (lambda (#{ribcage 1279}# #{id 1280}# #{label 1281}#) (begin - (#{set-ribcage-symnames! 367}# - #{ribcage 1263}# - (cons (#{syntax-object-expression 307}# #{id 1264}#) - (#{ribcage-symnames 361}# #{ribcage 1263}#))) - (#{set-ribcage-marks! 369}# - #{ribcage 1263}# - (cons (car (#{syntax-object-wrap 309}# #{id 1264}#)) - (#{ribcage-marks 363}# #{ribcage 1263}#))) - (#{set-ribcage-labels! 371}# - #{ribcage 1263}# - (cons #{label 1265}# - (#{ribcage-labels 365}# #{ribcage 1263}#)))))) - (#{make-binding-wrap 383}# - (lambda (#{ids 1270}# #{labels 1271}# #{w 1272}#) - (if (null? #{ids 1270}#) - #{w 1272}# - (cons (car #{w 1272}#) + (#{set-ribcage-symnames! 371}# + #{ribcage 1279}# + (cons (#{syntax-object-expression 311}# #{id 1280}#) + (#{ribcage-symnames 365}# #{ribcage 1279}#))) + (#{set-ribcage-marks! 373}# + #{ribcage 1279}# + (cons (car (#{syntax-object-wrap 313}# #{id 1280}#)) + (#{ribcage-marks 367}# #{ribcage 1279}#))) + (#{set-ribcage-labels! 375}# + #{ribcage 1279}# + (cons #{label 1281}# + (#{ribcage-labels 369}# #{ribcage 1279}#)))))) + (#{make-binding-wrap 387}# + (lambda (#{ids 1286}# #{labels 1287}# #{w 1288}#) + (if (null? #{ids 1286}#) + #{w 1288}# + (cons (car #{w 1288}#) (cons (begin - (let ((#{labelvec 1279}# - (list->vector #{labels 1271}#))) + (let ((#{labelvec 1295}# + (list->vector #{labels 1287}#))) (begin - (let ((#{n 1281}# - (vector-length #{labelvec 1279}#))) + (let ((#{n 1297}# + (vector-length #{labelvec 1295}#))) (begin - (let ((#{symnamevec 1284}# - (make-vector #{n 1281}#)) - (#{marksvec 1285}# - (make-vector #{n 1281}#))) + (let ((#{symnamevec 1300}# + (make-vector #{n 1297}#)) + (#{marksvec 1301}# + (make-vector #{n 1297}#))) (begin (letrec* - ((#{f 1289}# - (lambda (#{ids 1290}# #{i 1291}#) - (if (not (null? #{ids 1290}#)) + ((#{f 1305}# + (lambda (#{ids 1306}# #{i 1307}#) + (if (not (null? #{ids 1306}#)) (call-with-values (lambda () - (#{id-sym-name&marks 342}# - (car #{ids 1290}#) - #{w 1272}#)) - (lambda (#{symname 1292}# - #{marks 1293}#) + (#{id-sym-name&marks 346}# + (car #{ids 1306}#) + #{w 1288}#)) + (lambda (#{symname 1308}# + #{marks 1309}#) (begin (vector-set! - #{symnamevec 1284}# - #{i 1291}# - #{symname 1292}#) + #{symnamevec 1300}# + #{i 1307}# + #{symname 1308}#) (vector-set! - #{marksvec 1285}# - #{i 1291}# - #{marks 1293}#) - (#{f 1289}# - (cdr #{ids 1290}#) - (#{1+}# #{i 1291}#))))))))) - (begin (#{f 1289}# #{ids 1270}# 0))) - (#{make-ribcage 357}# - #{symnamevec 1284}# - #{marksvec 1285}# - #{labelvec 1279}#)))))))) - (cdr #{w 1272}#)))))) - (#{smart-append 385}# - (lambda (#{m1 1298}# #{m2 1299}#) - (if (null? #{m2 1299}#) - #{m1 1298}# - (append #{m1 1298}# #{m2 1299}#)))) - (#{join-wraps 387}# - (lambda (#{w1 1302}# #{w2 1303}#) + #{marksvec 1301}# + #{i 1307}# + #{marks 1309}#) + (#{f 1305}# + (cdr #{ids 1306}#) + (#{1+}# #{i 1307}#))))))))) + (begin (#{f 1305}# #{ids 1286}# 0))) + (#{make-ribcage 361}# + #{symnamevec 1300}# + #{marksvec 1301}# + #{labelvec 1295}#)))))))) + (cdr #{w 1288}#)))))) + (#{smart-append 389}# + (lambda (#{m1 1314}# #{m2 1315}#) + (if (null? #{m2 1315}#) + #{m1 1314}# + (append #{m1 1314}# #{m2 1315}#)))) + (#{join-wraps 391}# + (lambda (#{w1 1318}# #{w2 1319}#) (begin - (let ((#{m1 1308}# (car #{w1 1302}#)) - (#{s1 1309}# (cdr #{w1 1302}#))) - (if (null? #{m1 1308}#) - (if (null? #{s1 1309}#) - #{w2 1303}# - (cons (car #{w2 1303}#) - (#{smart-append 385}# - #{s1 1309}# - (cdr #{w2 1303}#)))) - (cons (#{smart-append 385}# - #{m1 1308}# - (car #{w2 1303}#)) - (#{smart-append 385}# - #{s1 1309}# - (cdr #{w2 1303}#)))))))) - (#{join-marks 389}# - (lambda (#{m1 1318}# #{m2 1319}#) - (#{smart-append 385}# #{m1 1318}# #{m2 1319}#))) - (#{same-marks? 391}# - (lambda (#{x 1322}# #{y 1323}#) + (let ((#{m1 1324}# (car #{w1 1318}#)) + (#{s1 1325}# (cdr #{w1 1318}#))) + (if (null? #{m1 1324}#) + (if (null? #{s1 1325}#) + #{w2 1319}# + (cons (car #{w2 1319}#) + (#{smart-append 389}# + #{s1 1325}# + (cdr #{w2 1319}#)))) + (cons (#{smart-append 389}# + #{m1 1324}# + (car #{w2 1319}#)) + (#{smart-append 389}# + #{s1 1325}# + (cdr #{w2 1319}#)))))))) + (#{join-marks 393}# + (lambda (#{m1 1334}# #{m2 1335}#) + (#{smart-append 389}# #{m1 1334}# #{m2 1335}#))) + (#{same-marks? 395}# + (lambda (#{x 1338}# #{y 1339}#) (begin - (let ((#{t 1328}# (eq? #{x 1322}# #{y 1323}#))) - (if #{t 1328}# - #{t 1328}# - (if (not (null? #{x 1322}#)) - (if (not (null? #{y 1323}#)) - (if (eq? (car #{x 1322}#) (car #{y 1323}#)) - (#{same-marks? 391}# - (cdr #{x 1322}#) - (cdr #{y 1323}#)) + (let ((#{t 1344}# (eq? #{x 1338}# #{y 1339}#))) + (if #{t 1344}# + #{t 1344}# + (if (not (null? #{x 1338}#)) + (if (not (null? #{y 1339}#)) + (if (eq? (car #{x 1338}#) (car #{y 1339}#)) + (#{same-marks? 395}# + (cdr #{x 1338}#) + (cdr #{y 1339}#)) #f) #f) #f)))))) - (#{id-var-name 393}# - (lambda (#{id 1334}# #{w 1335}#) + (#{id-var-name 397}# + (lambda (#{id 1350}# #{w 1351}#) (letrec* - ((#{search 1340}# - (lambda (#{sym 1356}# #{subst 1357}# #{marks 1358}#) - (if (null? #{subst 1357}#) - (values #f #{marks 1358}#) + ((#{search 1356}# + (lambda (#{sym 1372}# #{subst 1373}# #{marks 1374}#) + (if (null? #{subst 1373}#) + (values #f #{marks 1374}#) (begin - (let ((#{fst 1363}# (car #{subst 1357}#))) - (if (eq? #{fst 1363}# 'shift) - (#{search 1340}# - #{sym 1356}# - (cdr #{subst 1357}#) - (cdr #{marks 1358}#)) + (let ((#{fst 1379}# (car #{subst 1373}#))) + (if (eq? #{fst 1379}# 'shift) + (#{search 1356}# + #{sym 1372}# + (cdr #{subst 1373}#) + (cdr #{marks 1374}#)) (begin - (let ((#{symnames 1365}# - (#{ribcage-symnames 361}# #{fst 1363}#))) - (if (vector? #{symnames 1365}#) - (#{search-vector-rib 1344}# - #{sym 1356}# - #{subst 1357}# - #{marks 1358}# - #{symnames 1365}# - #{fst 1363}#) - (#{search-list-rib 1342}# - #{sym 1356}# - #{subst 1357}# - #{marks 1358}# - #{symnames 1365}# - #{fst 1363}#)))))))))) - (#{search-list-rib 1342}# - (lambda (#{sym 1366}# - #{subst 1367}# - #{marks 1368}# - #{symnames 1369}# - #{ribcage 1370}#) + (let ((#{symnames 1381}# + (#{ribcage-symnames 365}# #{fst 1379}#))) + (if (vector? #{symnames 1381}#) + (#{search-vector-rib 1360}# + #{sym 1372}# + #{subst 1373}# + #{marks 1374}# + #{symnames 1381}# + #{fst 1379}#) + (#{search-list-rib 1358}# + #{sym 1372}# + #{subst 1373}# + #{marks 1374}# + #{symnames 1381}# + #{fst 1379}#)))))))))) + (#{search-list-rib 1358}# + (lambda (#{sym 1382}# + #{subst 1383}# + #{marks 1384}# + #{symnames 1385}# + #{ribcage 1386}#) (letrec* - ((#{f 1379}# - (lambda (#{symnames 1380}# #{i 1381}#) - (if (null? #{symnames 1380}#) - (#{search 1340}# - #{sym 1366}# - (cdr #{subst 1367}#) - #{marks 1368}#) - (if (if (eq? (car #{symnames 1380}#) #{sym 1366}#) - (#{same-marks? 391}# - #{marks 1368}# + ((#{f 1395}# + (lambda (#{symnames 1396}# #{i 1397}#) + (if (null? #{symnames 1396}#) + (#{search 1356}# + #{sym 1382}# + (cdr #{subst 1383}#) + #{marks 1384}#) + (if (if (eq? (car #{symnames 1396}#) #{sym 1382}#) + (#{same-marks? 395}# + #{marks 1384}# (list-ref - (#{ribcage-marks 363}# #{ribcage 1370}#) - #{i 1381}#)) + (#{ribcage-marks 367}# #{ribcage 1386}#) + #{i 1397}#)) #f) (values (list-ref - (#{ribcage-labels 365}# #{ribcage 1370}#) - #{i 1381}#) - #{marks 1368}#) - (#{f 1379}# - (cdr #{symnames 1380}#) - (#{1+}# #{i 1381}#))))))) - (begin (#{f 1379}# #{symnames 1369}# 0))))) - (#{search-vector-rib 1344}# - (lambda (#{sym 1390}# - #{subst 1391}# - #{marks 1392}# - #{symnames 1393}# - #{ribcage 1394}#) + (#{ribcage-labels 369}# #{ribcage 1386}#) + #{i 1397}#) + #{marks 1384}#) + (#{f 1395}# + (cdr #{symnames 1396}#) + (#{1+}# #{i 1397}#))))))) + (begin (#{f 1395}# #{symnames 1385}# 0))))) + (#{search-vector-rib 1360}# + (lambda (#{sym 1406}# + #{subst 1407}# + #{marks 1408}# + #{symnames 1409}# + #{ribcage 1410}#) (begin - (let ((#{n 1401}# (vector-length #{symnames 1393}#))) + (let ((#{n 1417}# (vector-length #{symnames 1409}#))) (letrec* - ((#{f 1404}# - (lambda (#{i 1405}#) - (if (= #{i 1405}# #{n 1401}#) - (#{search 1340}# - #{sym 1390}# - (cdr #{subst 1391}#) - #{marks 1392}#) + ((#{f 1420}# + (lambda (#{i 1421}#) + (if (= #{i 1421}# #{n 1417}#) + (#{search 1356}# + #{sym 1406}# + (cdr #{subst 1407}#) + #{marks 1408}#) (if (if (eq? (vector-ref - #{symnames 1393}# - #{i 1405}#) - #{sym 1390}#) - (#{same-marks? 391}# - #{marks 1392}# + #{symnames 1409}# + #{i 1421}#) + #{sym 1406}#) + (#{same-marks? 395}# + #{marks 1408}# (vector-ref - (#{ribcage-marks 363}# #{ribcage 1394}#) - #{i 1405}#)) + (#{ribcage-marks 367}# #{ribcage 1410}#) + #{i 1421}#)) #f) (values (vector-ref - (#{ribcage-labels 365}# #{ribcage 1394}#) - #{i 1405}#) - #{marks 1392}#) - (#{f 1404}# (#{1+}# #{i 1405}#))))))) - (begin (#{f 1404}# 0)))))))) + (#{ribcage-labels 369}# #{ribcage 1410}#) + #{i 1421}#) + #{marks 1408}#) + (#{f 1420}# (#{1+}# #{i 1421}#))))))) + (begin (#{f 1420}# 0)))))))) (begin - (if (symbol? #{id 1334}#) + (if (symbol? #{id 1350}#) (begin - (let ((#{t 1417}# - (#{search 1340}# - #{id 1334}# - (cdr #{w 1335}#) - (car #{w 1335}#)))) - (if #{t 1417}# #{t 1417}# #{id 1334}#))) - (if (#{syntax-object? 305}# #{id 1334}#) + (let ((#{t 1433}# + (#{search 1356}# + #{id 1350}# + (cdr #{w 1351}#) + (car #{w 1351}#)))) + (if #{t 1433}# #{t 1433}# #{id 1350}#))) + (if (#{syntax-object? 309}# #{id 1350}#) (begin - (let ((#{id 1426}# - (#{syntax-object-expression 307}# #{id 1334}#)) - (#{w1 1427}# - (#{syntax-object-wrap 309}# #{id 1334}#))) + (let ((#{id 1442}# + (#{syntax-object-expression 311}# #{id 1350}#)) + (#{w1 1443}# + (#{syntax-object-wrap 313}# #{id 1350}#))) (begin - (let ((#{marks 1429}# - (#{join-marks 389}# - (car #{w 1335}#) - (car #{w1 1427}#)))) + (let ((#{marks 1445}# + (#{join-marks 393}# + (car #{w 1351}#) + (car #{w1 1443}#)))) (call-with-values (lambda () - (#{search 1340}# - #{id 1426}# - (cdr #{w 1335}#) - #{marks 1429}#)) - (lambda (#{new-id 1433}# #{marks 1434}#) + (#{search 1356}# + #{id 1442}# + (cdr #{w 1351}#) + #{marks 1445}#)) + (lambda (#{new-id 1449}# #{marks 1450}#) (begin - (let ((#{t 1439}# #{new-id 1433}#)) - (if #{t 1439}# - #{t 1439}# + (let ((#{t 1455}# #{new-id 1449}#)) + (if #{t 1455}# + #{t 1455}# (begin - (let ((#{t 1442}# - (#{search 1340}# - #{id 1426}# - (cdr #{w1 1427}#) - #{marks 1434}#))) - (if #{t 1442}# - #{t 1442}# - #{id 1426}#)))))))))))) + (let ((#{t 1458}# + (#{search 1356}# + #{id 1442}# + (cdr #{w1 1443}#) + #{marks 1450}#))) + (if #{t 1458}# + #{t 1458}# + #{id 1442}#)))))))))))) (syntax-violation 'id-var-name "invalid id" - #{id 1334}#))))))) - (#{free-id=? 395}# - (lambda (#{i 1447}# #{j 1448}#) + #{id 1350}#))))))) + (#{free-id=? 399}# + (lambda (#{i 1463}# #{j 1464}#) (if (eq? (begin - (let ((#{x 1454}# #{i 1447}#)) - (if (#{syntax-object? 305}# #{x 1454}#) - (#{syntax-object-expression 307}# #{x 1454}#) - #{x 1454}#))) + (let ((#{x 1470}# #{i 1463}#)) + (if (#{syntax-object? 309}# #{x 1470}#) + (#{syntax-object-expression 311}# #{x 1470}#) + #{x 1470}#))) (begin - (let ((#{x 1457}# #{j 1448}#)) - (if (#{syntax-object? 305}# #{x 1457}#) - (#{syntax-object-expression 307}# #{x 1457}#) - #{x 1457}#)))) - (eq? (#{id-var-name 393}# #{i 1447}# '(())) - (#{id-var-name 393}# #{j 1448}# '(()))) + (let ((#{x 1473}# #{j 1464}#)) + (if (#{syntax-object? 309}# #{x 1473}#) + (#{syntax-object-expression 311}# #{x 1473}#) + #{x 1473}#)))) + (eq? (#{id-var-name 397}# #{i 1463}# '(())) + (#{id-var-name 397}# #{j 1464}# '(()))) #f))) - (#{bound-id=? 397}# - (lambda (#{i 1461}# #{j 1462}#) - (if (if (#{syntax-object? 305}# #{i 1461}#) - (#{syntax-object? 305}# #{j 1462}#) + (#{bound-id=? 401}# + (lambda (#{i 1477}# #{j 1478}#) + (if (if (#{syntax-object? 309}# #{i 1477}#) + (#{syntax-object? 309}# #{j 1478}#) #f) - (if (eq? (#{syntax-object-expression 307}# #{i 1461}#) - (#{syntax-object-expression 307}# #{j 1462}#)) - (#{same-marks? 391}# - (car (#{syntax-object-wrap 309}# #{i 1461}#)) - (car (#{syntax-object-wrap 309}# #{j 1462}#))) + (if (eq? (#{syntax-object-expression 311}# #{i 1477}#) + (#{syntax-object-expression 311}# #{j 1478}#)) + (#{same-marks? 395}# + (car (#{syntax-object-wrap 313}# #{i 1477}#)) + (car (#{syntax-object-wrap 313}# #{j 1478}#))) #f) - (eq? #{i 1461}# #{j 1462}#)))) - (#{valid-bound-ids? 399}# - (lambda (#{ids 1471}#) + (eq? #{i 1477}# #{j 1478}#)))) + (#{valid-bound-ids? 403}# + (lambda (#{ids 1487}#) (if (letrec* - ((#{all-ids? 1476}# - (lambda (#{ids 1477}#) + ((#{all-ids? 1492}# + (lambda (#{ids 1493}#) (begin - (let ((#{t 1480}# (null? #{ids 1477}#))) - (if #{t 1480}# - #{t 1480}# - (if (#{id? 339}# (car #{ids 1477}#)) - (#{all-ids? 1476}# (cdr #{ids 1477}#)) + (let ((#{t 1496}# (null? #{ids 1493}#))) + (if #{t 1496}# + #{t 1496}# + (if (#{id? 343}# (car #{ids 1493}#)) + (#{all-ids? 1492}# (cdr #{ids 1493}#)) #f))))))) - (begin (#{all-ids? 1476}# #{ids 1471}#))) - (#{distinct-bound-ids? 401}# #{ids 1471}#) + (begin (#{all-ids? 1492}# #{ids 1487}#))) + (#{distinct-bound-ids? 405}# #{ids 1487}#) #f))) - (#{distinct-bound-ids? 401}# - (lambda (#{ids 1485}#) + (#{distinct-bound-ids? 405}# + (lambda (#{ids 1501}#) (letrec* - ((#{distinct? 1489}# - (lambda (#{ids 1490}#) + ((#{distinct? 1505}# + (lambda (#{ids 1506}#) (begin - (let ((#{t 1493}# (null? #{ids 1490}#))) - (if #{t 1493}# - #{t 1493}# - (if (not (#{bound-id-member? 403}# - (car #{ids 1490}#) - (cdr #{ids 1490}#))) - (#{distinct? 1489}# (cdr #{ids 1490}#)) + (let ((#{t 1509}# (null? #{ids 1506}#))) + (if #{t 1509}# + #{t 1509}# + (if (not (#{bound-id-member? 407}# + (car #{ids 1506}#) + (cdr #{ids 1506}#))) + (#{distinct? 1505}# (cdr #{ids 1506}#)) #f))))))) - (begin (#{distinct? 1489}# #{ids 1485}#))))) - (#{bound-id-member? 403}# - (lambda (#{x 1497}# #{list 1498}#) - (if (not (null? #{list 1498}#)) + (begin (#{distinct? 1505}# #{ids 1501}#))))) + (#{bound-id-member? 407}# + (lambda (#{x 1513}# #{list 1514}#) + (if (not (null? #{list 1514}#)) (begin - (let ((#{t 1505}# - (#{bound-id=? 397}# - #{x 1497}# - (car #{list 1498}#)))) - (if #{t 1505}# - #{t 1505}# - (#{bound-id-member? 403}# - #{x 1497}# - (cdr #{list 1498}#))))) + (let ((#{t 1521}# + (#{bound-id=? 401}# + #{x 1513}# + (car #{list 1514}#)))) + (if #{t 1521}# + #{t 1521}# + (#{bound-id-member? 407}# + #{x 1513}# + (cdr #{list 1514}#))))) #f))) - (#{wrap 405}# - (lambda (#{x 1507}# #{w 1508}# #{defmod 1509}#) - (if (if (null? (car #{w 1508}#)) - (null? (cdr #{w 1508}#)) + (#{wrap 409}# + (lambda (#{x 1523}# #{w 1524}# #{defmod 1525}#) + (if (if (null? (car #{w 1524}#)) + (null? (cdr #{w 1524}#)) #f) - #{x 1507}# - (if (#{syntax-object? 305}# #{x 1507}#) - (#{make-syntax-object 303}# - (#{syntax-object-expression 307}# #{x 1507}#) - (#{join-wraps 387}# - #{w 1508}# - (#{syntax-object-wrap 309}# #{x 1507}#)) - (#{syntax-object-module 311}# #{x 1507}#)) - (if (null? #{x 1507}#) - #{x 1507}# - (#{make-syntax-object 303}# - #{x 1507}# - #{w 1508}# - #{defmod 1509}#)))))) - (#{source-wrap 407}# - (lambda (#{x 1524}# - #{w 1525}# - #{s 1526}# - #{defmod 1527}#) - (#{wrap 405}# - (#{decorate-source 259}# #{x 1524}# #{s 1526}#) - #{w 1525}# - #{defmod 1527}#))) - (#{chi-sequence 409}# - (lambda (#{body 1532}# - #{r 1533}# - #{w 1534}# - #{s 1535}# - #{mod 1536}#) - (#{build-sequence 293}# - #{s 1535}# + #{x 1523}# + (if (#{syntax-object? 309}# #{x 1523}#) + (#{make-syntax-object 307}# + (#{syntax-object-expression 311}# #{x 1523}#) + (#{join-wraps 391}# + #{w 1524}# + (#{syntax-object-wrap 313}# #{x 1523}#)) + (#{syntax-object-module 315}# #{x 1523}#)) + (if (null? #{x 1523}#) + #{x 1523}# + (#{make-syntax-object 307}# + #{x 1523}# + #{w 1524}# + #{defmod 1525}#)))))) + (#{source-wrap 411}# + (lambda (#{x 1540}# + #{w 1541}# + #{s 1542}# + #{defmod 1543}#) + (#{wrap 409}# + (#{decorate-source 261}# #{x 1540}# #{s 1542}#) + #{w 1541}# + #{defmod 1543}#))) + (#{chi-sequence 413}# + (lambda (#{body 1548}# + #{r 1549}# + #{w 1550}# + #{s 1551}# + #{mod 1552}#) + (#{build-sequence 297}# + #{s 1551}# (letrec* - ((#{dobody 1547}# - (lambda (#{body 1548}# - #{r 1549}# - #{w 1550}# - #{mod 1551}#) - (if (null? #{body 1548}#) + ((#{dobody 1563}# + (lambda (#{body 1564}# + #{r 1565}# + #{w 1566}# + #{mod 1567}#) + (if (null? #{body 1564}#) '() (begin - (let ((#{first 1553}# - (#{chi 419}# - (car #{body 1548}#) - #{r 1549}# - #{w 1550}# - #{mod 1551}#))) - (cons #{first 1553}# - (#{dobody 1547}# - (cdr #{body 1548}#) - #{r 1549}# - #{w 1550}# - #{mod 1551}#)))))))) + (let ((#{first 1569}# + (#{chi 423}# + (car #{body 1564}#) + #{r 1565}# + #{w 1566}# + #{mod 1567}#))) + (cons #{first 1569}# + (#{dobody 1563}# + (cdr #{body 1564}#) + #{r 1565}# + #{w 1566}# + #{mod 1567}#)))))))) (begin - (#{dobody 1547}# - #{body 1532}# - #{r 1533}# - #{w 1534}# - #{mod 1536}#)))))) - (#{chi-top-sequence 411}# - (lambda (#{body 1554}# - #{r 1555}# - #{w 1556}# - #{s 1557}# - #{m 1558}# - #{esew 1559}# - #{mod 1560}#) + (#{dobody 1563}# + #{body 1548}# + #{r 1549}# + #{w 1550}# + #{mod 1552}#)))))) + (#{chi-top-sequence 415}# + (lambda (#{body 1570}# + #{r 1571}# + #{w 1572}# + #{s 1573}# + #{m 1574}# + #{esew 1575}# + #{mod 1576}#) (letrec* - ((#{scan 1569}# - (lambda (#{body 1570}# - #{r 1571}# - #{w 1572}# - #{s 1573}# - #{m 1574}# - #{esew 1575}# - #{mod 1576}# - #{exps 1577}#) - (if (null? #{body 1570}#) - #{exps 1577}# + ((#{scan 1585}# + (lambda (#{body 1586}# + #{r 1587}# + #{w 1588}# + #{s 1589}# + #{m 1590}# + #{esew 1591}# + #{mod 1592}# + #{exps 1593}#) + (if (null? #{body 1586}#) + #{exps 1593}# (call-with-values (lambda () (call-with-values (lambda () (begin - (let ((#{e 1590}# (car #{body 1570}#))) - (#{syntax-type 417}# - #{e 1590}# - #{r 1571}# - #{w 1572}# + (let ((#{e 1606}# (car #{body 1586}#))) + (#{syntax-type 421}# + #{e 1606}# + #{r 1587}# + #{w 1588}# (begin - (let ((#{t 1593}# - (#{source-annotation 320}# - #{e 1590}#))) - (if #{t 1593}# #{t 1593}# #{s 1573}#))) + (let ((#{t 1609}# + (#{source-annotation 324}# + #{e 1606}#))) + (if #{t 1609}# #{t 1609}# #{s 1589}#))) #f - #{mod 1576}# + #{mod 1592}# #f)))) - (lambda (#{type 1595}# - #{value 1596}# - #{e 1597}# - #{w 1598}# - #{s 1599}# - #{mod 1600}#) - (if (eqv? #{type 1595}# 'begin-form) - (let ((#{tmp 1608}# #{e 1597}#)) - (let ((#{tmp 1609}# - ($sc-dispatch #{tmp 1608}# '(_)))) - (if #{tmp 1609}# - (@apply (lambda () #{exps 1577}#) #{tmp 1609}#) - (let ((#{tmp 1610}# + (lambda (#{type 1611}# + #{value 1612}# + #{e 1613}# + #{w 1614}# + #{s 1615}# + #{mod 1616}#) + (if (memv #{type 1611}# '(begin-form)) + (let ((#{tmp 1624}# #{e 1613}#)) + (let ((#{tmp 1625}# + ($sc-dispatch #{tmp 1624}# '(_)))) + (if #{tmp 1625}# + (@apply (lambda () #{exps 1593}#) #{tmp 1625}#) + (let ((#{tmp 1626}# ($sc-dispatch - #{tmp 1608}# + #{tmp 1624}# '(_ any . each-any)))) - (if #{tmp 1610}# + (if #{tmp 1626}# (@apply - (lambda (#{e1 1613}# #{e2 1614}#) - (#{scan 1569}# - (cons #{e1 1613}# #{e2 1614}#) - #{r 1571}# - #{w 1598}# - #{s 1599}# - #{m 1574}# - #{esew 1575}# - #{mod 1600}# - #{exps 1577}#)) - #{tmp 1610}#) + (lambda (#{e1 1629}# #{e2 1630}#) + (#{scan 1585}# + (cons #{e1 1629}# #{e2 1630}#) + #{r 1587}# + #{w 1614}# + #{s 1615}# + #{m 1590}# + #{esew 1591}# + #{mod 1616}# + #{exps 1593}#)) + #{tmp 1626}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1608}#)))))) - (if (eqv? #{type 1595}# 'local-syntax-form) - (#{chi-local-syntax 429}# - #{value 1596}# - #{e 1597}# - #{r 1571}# - #{w 1598}# - #{s 1599}# - #{mod 1600}# - (lambda (#{body 1617}# - #{r 1618}# - #{w 1619}# - #{s 1620}# - #{mod 1621}#) - (#{scan 1569}# - #{body 1617}# - #{r 1618}# - #{w 1619}# - #{s 1620}# - #{m 1574}# - #{esew 1575}# - #{mod 1621}# - #{exps 1577}#))) - (if (eqv? #{type 1595}# 'eval-when-form) - (let ((#{tmp 1628}# #{e 1597}#)) - (let ((#{tmp 1629}# + #{tmp 1624}#)))))) + (if (memv #{type 1611}# '(local-syntax-form)) + (#{chi-local-syntax 433}# + #{value 1612}# + #{e 1613}# + #{r 1587}# + #{w 1614}# + #{s 1615}# + #{mod 1616}# + (lambda (#{body 1633}# + #{r 1634}# + #{w 1635}# + #{s 1636}# + #{mod 1637}#) + (#{scan 1585}# + #{body 1633}# + #{r 1634}# + #{w 1635}# + #{s 1636}# + #{m 1590}# + #{esew 1591}# + #{mod 1637}# + #{exps 1593}#))) + (if (memv #{type 1611}# '(eval-when-form)) + (let ((#{tmp 1644}# #{e 1613}#)) + (let ((#{tmp 1645}# ($sc-dispatch - #{tmp 1628}# + #{tmp 1644}# '(_ each-any any . each-any)))) - (if #{tmp 1629}# + (if #{tmp 1645}# (@apply - (lambda (#{x 1633}# - #{e1 1634}# - #{e2 1635}#) + (lambda (#{x 1649}# + #{e1 1650}# + #{e2 1651}#) (begin - (let ((#{when-list 1638}# - (#{chi-when-list 415}# - #{e 1597}# - #{x 1633}# - #{w 1598}#)) - (#{body 1639}# - (cons #{e1 1634}# - #{e2 1635}#))) - (if (eq? #{m 1574}# 'e) + (let ((#{when-list 1654}# + (#{chi-when-list 419}# + #{e 1613}# + #{x 1649}# + #{w 1614}#)) + (#{body 1655}# + (cons #{e1 1650}# + #{e2 1651}#))) + (if (eq? #{m 1590}# 'e) (if (memq 'eval - #{when-list 1638}#) - (#{scan 1569}# - #{body 1639}# - #{r 1571}# - #{w 1598}# - #{s 1599}# + #{when-list 1654}#) + (#{scan 1585}# + #{body 1655}# + #{r 1587}# + #{w 1614}# + #{s 1615}# (if (memq 'expand - #{when-list 1638}#) + #{when-list 1654}#) 'c&e 'e) '(eval) - #{mod 1600}# - #{exps 1577}#) + #{mod 1616}# + #{exps 1593}#) (begin (if (memq 'expand - #{when-list 1638}#) - (#{top-level-eval-hook 250}# - (#{chi-top-sequence 411}# - #{body 1639}# - #{r 1571}# - #{w 1598}# - #{s 1599}# + #{when-list 1654}#) + (#{top-level-eval-hook 252}# + (#{chi-top-sequence 415}# + #{body 1655}# + #{r 1587}# + #{w 1614}# + #{s 1615}# 'e '(eval) - #{mod 1600}#) - #{mod 1600}#)) - #{exps 1577}#)) + #{mod 1616}#) + #{mod 1616}#)) + #{exps 1593}#)) (if (memq 'load - #{when-list 1638}#) + #{when-list 1654}#) (if (begin - (let ((#{t 1648}# + (let ((#{t 1664}# (memq 'compile - #{when-list 1638}#))) - (if #{t 1648}# - #{t 1648}# + #{when-list 1654}#))) + (if #{t 1664}# + #{t 1664}# (begin - (let ((#{t 1651}# + (let ((#{t 1667}# (memq 'expand - #{when-list 1638}#))) - (if #{t 1651}# - #{t 1651}# - (if (eq? #{m 1574}# + #{when-list 1654}#))) + (if #{t 1667}# + #{t 1667}# + (if (eq? #{m 1590}# 'c&e) (memq 'eval - #{when-list 1638}#) + #{when-list 1654}#) #f))))))) - (#{scan 1569}# - #{body 1639}# - #{r 1571}# - #{w 1598}# - #{s 1599}# + (#{scan 1585}# + #{body 1655}# + #{r 1587}# + #{w 1614}# + #{s 1615}# 'c&e '(compile load) - #{mod 1600}# - #{exps 1577}#) - (if (if (eq? #{m 1574}# 'c) - #t - (eq? #{m 1574}# 'c&e)) - (#{scan 1569}# - #{body 1639}# - #{r 1571}# - #{w 1598}# - #{s 1599}# + #{mod 1616}# + #{exps 1593}#) + (if (memq #{m 1590}# + '(c c&e)) + (#{scan 1585}# + #{body 1655}# + #{r 1587}# + #{w 1614}# + #{s 1615}# 'c '(load) - #{mod 1600}# - #{exps 1577}#) - #{exps 1577}#)) + #{mod 1616}# + #{exps 1593}#) + #{exps 1593}#)) (if (begin - (let ((#{t 1659}# + (let ((#{t 1675}# (memq 'compile - #{when-list 1638}#))) - (if #{t 1659}# - #{t 1659}# + #{when-list 1654}#))) + (if #{t 1675}# + #{t 1675}# (begin - (let ((#{t 1662}# + (let ((#{t 1678}# (memq 'expand - #{when-list 1638}#))) - (if #{t 1662}# - #{t 1662}# - (if (eq? #{m 1574}# + #{when-list 1654}#))) + (if #{t 1678}# + #{t 1678}# + (if (eq? #{m 1590}# 'c&e) (memq 'eval - #{when-list 1638}#) + #{when-list 1654}#) #f))))))) (begin - (#{top-level-eval-hook 250}# - (#{chi-top-sequence 411}# - #{body 1639}# - #{r 1571}# - #{w 1598}# - #{s 1599}# + (#{top-level-eval-hook 252}# + (#{chi-top-sequence 415}# + #{body 1655}# + #{r 1587}# + #{w 1614}# + #{s 1615}# 'e '(eval) - #{mod 1600}#) - #{mod 1600}#) - #{exps 1577}#) - #{exps 1577}#)))))) - #{tmp 1629}#) + #{mod 1616}#) + #{mod 1616}#) + #{exps 1593}#) + #{exps 1593}#)))))) + #{tmp 1645}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1628}#)))) - (if (eqv? #{type 1595}# 'define-syntax-form) + #{tmp 1644}#)))) + (if (memv #{type 1611}# '(define-syntax-form)) (begin - (let ((#{n 1670}# - (#{id-var-name 393}# - #{value 1596}# - #{w 1598}#)) - (#{r 1671}# - (#{macros-only-env 331}# - #{r 1571}#))) - (if (eqv? #{m 1574}# 'c) - (if (memq 'compile #{esew 1575}#) + (let ((#{n 1686}# + (#{id-var-name 397}# + #{value 1612}# + #{w 1614}#)) + (#{r 1687}# + (#{macros-only-env 335}# + #{r 1587}#))) + (if (memv #{m 1590}# '(c)) + (if (memq 'compile #{esew 1591}#) (begin - (let ((#{e 1674}# - (#{chi-install-global 413}# - #{n 1670}# - (#{chi 419}# - #{e 1597}# - #{r 1671}# - #{w 1598}# - #{mod 1600}#)))) + (let ((#{e 1690}# + (#{chi-install-global 417}# + #{n 1686}# + (#{chi 423}# + #{e 1613}# + #{r 1687}# + #{w 1614}# + #{mod 1616}#)))) (begin - (#{top-level-eval-hook 250}# - #{e 1674}# - #{mod 1600}#) - (if (memq 'load #{esew 1575}#) - (cons #{e 1674}# #{exps 1577}#) - #{exps 1577}#)))) - (if (memq 'load #{esew 1575}#) - (cons (#{chi-install-global 413}# - #{n 1670}# - (#{chi 419}# - #{e 1597}# - #{r 1671}# - #{w 1598}# - #{mod 1600}#)) - #{exps 1577}#) - #{exps 1577}#)) - (if (eqv? #{m 1574}# 'c&e) + (#{top-level-eval-hook 252}# + #{e 1690}# + #{mod 1616}#) + (if (memq 'load #{esew 1591}#) + (cons #{e 1690}# #{exps 1593}#) + #{exps 1593}#)))) + (if (memq 'load #{esew 1591}#) + (cons (#{chi-install-global 417}# + #{n 1686}# + (#{chi 423}# + #{e 1613}# + #{r 1687}# + #{w 1614}# + #{mod 1616}#)) + #{exps 1593}#) + #{exps 1593}#)) + (if (memv #{m 1590}# '(c&e)) (begin - (let ((#{e 1677}# - (#{chi-install-global 413}# - #{n 1670}# - (#{chi 419}# - #{e 1597}# - #{r 1671}# - #{w 1598}# - #{mod 1600}#)))) + (let ((#{e 1693}# + (#{chi-install-global 417}# + #{n 1686}# + (#{chi 423}# + #{e 1613}# + #{r 1687}# + #{w 1614}# + #{mod 1616}#)))) (begin - (#{top-level-eval-hook 250}# - #{e 1677}# - #{mod 1600}#) - (cons #{e 1677}# - #{exps 1577}#)))) + (#{top-level-eval-hook 252}# + #{e 1693}# + #{mod 1616}#) + (cons #{e 1693}# + #{exps 1593}#)))) (begin - (if (memq 'eval #{esew 1575}#) - (#{top-level-eval-hook 250}# - (#{chi-install-global 413}# - #{n 1670}# - (#{chi 419}# - #{e 1597}# - #{r 1671}# - #{w 1598}# - #{mod 1600}#)) - #{mod 1600}#)) - #{exps 1577}#))))) - (if (eqv? #{type 1595}# 'define-form) + (if (memq 'eval #{esew 1591}#) + (#{top-level-eval-hook 252}# + (#{chi-install-global 417}# + #{n 1686}# + (#{chi 423}# + #{e 1613}# + #{r 1687}# + #{w 1614}# + #{mod 1616}#)) + #{mod 1616}#)) + #{exps 1593}#))))) + (if (memv #{type 1611}# '(define-form)) (begin - (let ((#{n 1682}# - (#{id-var-name 393}# - #{value 1596}# - #{w 1598}#))) + (let ((#{n 1698}# + (#{id-var-name 397}# + #{value 1612}# + #{w 1614}#))) (begin - (let ((#{type 1684}# - (car (#{lookup 333}# - #{n 1682}# - #{r 1571}# - #{mod 1600}#)))) - (if (if (eqv? #{type 1684}# 'global) - #t - (if (eqv? #{type 1684}# 'core) - #t - (if (eqv? #{type 1684}# - 'macro) - #t - (eqv? #{type 1684}# - 'module-ref)))) + (let ((#{type 1700}# + (car (#{lookup 337}# + #{n 1698}# + #{r 1587}# + #{mod 1616}#)))) + (if (memv #{type 1700}# + '(global + core + macro + module-ref)) (begin - (if (if (if (eq? #{m 1574}# 'c) - #t - (eq? #{m 1574}# 'c&e)) + (if (if (memq #{m 1590}# + '(c c&e)) (if (not (module-local-variable (current-module) - #{n 1682}#)) + #{n 1698}#)) (current-module) #f) #f) (begin - (let ((#{old 1691}# + (let ((#{old 1707}# (module-variable (current-module) - #{n 1682}#))) + #{n 1698}#))) (if (if (variable? - #{old 1691}#) + #{old 1707}#) (variable-bound? - #{old 1691}#) + #{old 1707}#) #f) (module-define! (current-module) - #{n 1682}# + #{n 1698}# (variable-ref - #{old 1691}#)) + #{old 1707}#)) (module-add! (current-module) - #{n 1682}# + #{n 1698}# (make-undefined-variable)))))) - (cons (if (eq? #{m 1574}# 'c&e) + (cons (if (eq? #{m 1590}# 'c&e) (begin - (let ((#{x 1695}# - (#{build-global-definition 281}# - #{s 1599}# - #{n 1682}# - (#{chi 419}# - #{e 1597}# - #{r 1571}# - #{w 1598}# - #{mod 1600}#)))) + (let ((#{x 1711}# + (#{build-global-definition 283}# + #{s 1615}# + #{n 1698}# + (#{chi 423}# + #{e 1613}# + #{r 1587}# + #{w 1614}# + #{mod 1616}#)))) (begin - (#{top-level-eval-hook 250}# - #{x 1695}# - #{mod 1600}#) - #{x 1695}#))) + (#{top-level-eval-hook 252}# + #{x 1711}# + #{mod 1616}#) + #{x 1711}#))) (lambda () - (#{build-global-definition 281}# - #{s 1599}# - #{n 1682}# - (#{chi 419}# - #{e 1597}# - #{r 1571}# - #{w 1598}# - #{mod 1600}#)))) - #{exps 1577}#)) - (if (eqv? #{type 1684}# - 'displaced-lexical) + (#{build-global-definition 283}# + #{s 1615}# + #{n 1698}# + (#{chi 423}# + #{e 1613}# + #{r 1587}# + #{w 1614}# + #{mod 1616}#)))) + #{exps 1593}#)) + (if (memv #{type 1700}# + '(displaced-lexical)) (syntax-violation #f "identifier out of context" - #{e 1597}# - (#{wrap 405}# - #{value 1596}# - #{w 1598}# - #{mod 1600}#)) + #{e 1613}# + (#{wrap 409}# + #{value 1612}# + #{w 1614}# + #{mod 1616}#)) (syntax-violation #f "cannot define keyword at top level" - #{e 1597}# - (#{wrap 405}# - #{value 1596}# - #{w 1598}# - #{mod 1600}#)))))))) - (cons (if (eq? #{m 1574}# 'c&e) + #{e 1613}# + (#{wrap 409}# + #{value 1612}# + #{w 1614}# + #{mod 1616}#)))))))) + (cons (if (eq? #{m 1590}# 'c&e) (begin - (let ((#{x 1700}# - (#{chi-expr 421}# - #{type 1595}# - #{value 1596}# - #{e 1597}# - #{r 1571}# - #{w 1598}# - #{s 1599}# - #{mod 1600}#))) + (let ((#{x 1716}# + (#{chi-expr 425}# + #{type 1611}# + #{value 1612}# + #{e 1613}# + #{r 1587}# + #{w 1614}# + #{s 1615}# + #{mod 1616}#))) (begin - (#{top-level-eval-hook 250}# - #{x 1700}# - #{mod 1600}#) - #{x 1700}#))) + (#{top-level-eval-hook 252}# + #{x 1716}# + #{mod 1616}#) + #{x 1716}#))) (lambda () - (#{chi-expr 421}# - #{type 1595}# - #{value 1596}# - #{e 1597}# - #{r 1571}# - #{w 1598}# - #{s 1599}# - #{mod 1600}#))) - #{exps 1577}#))))))))) - (lambda (#{exps 1701}#) - (#{scan 1569}# - (cdr #{body 1570}#) - #{r 1571}# - #{w 1572}# - #{s 1573}# - #{m 1574}# - #{esew 1575}# - #{mod 1576}# - #{exps 1701}#))))))) + (#{chi-expr 425}# + #{type 1611}# + #{value 1612}# + #{e 1613}# + #{r 1587}# + #{w 1614}# + #{s 1615}# + #{mod 1616}#))) + #{exps 1593}#))))))))) + (lambda (#{exps 1717}#) + (#{scan 1585}# + (cdr #{body 1586}#) + #{r 1587}# + #{w 1588}# + #{s 1589}# + #{m 1590}# + #{esew 1591}# + #{mod 1592}# + #{exps 1717}#))))))) (begin (call-with-values (lambda () - (#{scan 1569}# - #{body 1554}# - #{r 1555}# - #{w 1556}# - #{s 1557}# - #{m 1558}# - #{esew 1559}# - #{mod 1560}# + (#{scan 1585}# + #{body 1570}# + #{r 1571}# + #{w 1572}# + #{s 1573}# + #{m 1574}# + #{esew 1575}# + #{mod 1576}# '())) - (lambda (#{exps 1703}#) - (if (null? #{exps 1703}#) - (#{build-void 263}# #{s 1557}#) - (#{build-sequence 293}# - #{s 1557}# + (lambda (#{exps 1719}#) + (if (null? #{exps 1719}#) + (#{build-void 265}# #{s 1573}#) + (#{build-sequence 297}# + #{s 1573}# (letrec* - ((#{lp 1708}# - (lambda (#{in 1709}# #{out 1710}#) - (if (null? #{in 1709}#) - #{out 1710}# + ((#{lp 1724}# + (lambda (#{in 1725}# #{out 1726}#) + (if (null? #{in 1725}#) + #{out 1726}# (begin - (let ((#{e 1712}# (car #{in 1709}#))) - (#{lp 1708}# - (cdr #{in 1709}#) - (cons (if (procedure? #{e 1712}#) - (#{e 1712}#) - #{e 1712}#) - #{out 1710}#)))))))) - (begin (#{lp 1708}# #{exps 1703}# '()))))))))))) - (#{chi-install-global 413}# - (lambda (#{name 1713}# #{e 1714}#) - (#{build-global-definition 281}# + (let ((#{e 1728}# (car #{in 1725}#))) + (#{lp 1724}# + (cdr #{in 1725}#) + (cons (if (procedure? #{e 1728}#) + (#{e 1728}#) + #{e 1728}#) + #{out 1726}#)))))))) + (begin (#{lp 1724}# #{exps 1719}# '()))))))))))) + (#{chi-install-global 417}# + (lambda (#{name 1729}# #{e 1730}#) + (#{build-global-definition 283}# #f - #{name 1713}# - (#{build-call 265}# + #{name 1729}# + (#{build-primcall 291}# #f - (#{build-primref 289}# - #f - 'make-syntax-transformer) - (list (#{build-data 291}# #f #{name 1713}#) - (#{build-data 291}# #f 'macro) - #{e 1714}#))))) - (#{chi-when-list 415}# - (lambda (#{e 1722}# #{when-list 1723}# #{w 1724}#) + 'make-syntax-transformer + (list (#{build-data 295}# #f #{name 1729}#) + (#{build-data 295}# #f 'macro) + #{e 1730}#))))) + (#{chi-when-list 419}# + (lambda (#{e 1737}# #{when-list 1738}# #{w 1739}#) (letrec* - ((#{f 1731}# - (lambda (#{when-list 1732}# #{situations 1733}#) - (if (null? #{when-list 1732}#) - #{situations 1733}# - (#{f 1731}# - (cdr #{when-list 1732}#) + ((#{f 1746}# + (lambda (#{when-list 1747}# #{situations 1748}#) + (if (null? #{when-list 1747}#) + #{situations 1748}# + (#{f 1746}# + (cdr #{when-list 1747}#) (cons (begin - (let ((#{x 1735}# (car #{when-list 1732}#))) - (if (#{free-id=? 395}# - #{x 1735}# + (let ((#{x 1750}# (car #{when-list 1747}#))) + (if (#{free-id=? 399}# + #{x 1750}# '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1734")) + #(ribcage #(x) #((top)) #("i1749")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1728" "i1729" "i1730")) + #("i1743" "i1744" "i1745")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1725" "i1726" "i1727")) + #("i1740" "i1741" "i1742")) #(ribcage (lambda-var-list gen-var @@ -1609,6 +1614,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -1642,6 +1648,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -1789,8 +1796,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -1823,14 +1834,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -1838,33 +1849,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -1897,17 +1908,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -1934,25 +1945,25 @@ ("i40" "i39" "i38"))) (hygiene guile))) 'compile - (if (#{free-id=? 395}# - #{x 1735}# + (if (#{free-id=? 399}# + #{x 1750}# '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1734")) + #(ribcage #(x) #((top)) #("i1749")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1728" "i1729" "i1730")) + #("i1743" "i1744" "i1745")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1725" "i1726" "i1727")) + #("i1740" "i1741" "i1742")) #(ribcage (lambda-var-list gen-var @@ -2045,6 +2056,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -2078,6 +2090,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -2225,8 +2238,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -2259,14 +2276,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -2274,33 +2291,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -2333,17 +2350,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -2370,25 +2387,25 @@ ("i40" "i39" "i38"))) (hygiene guile))) 'load - (if (#{free-id=? 395}# - #{x 1735}# + (if (#{free-id=? 399}# + #{x 1750}# '#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1734")) + #(ribcage #(x) #((top)) #("i1749")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1728" "i1729" "i1730")) + #("i1743" "i1744" "i1745")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1725" "i1726" "i1727")) + #("i1740" "i1741" "i1742")) #(ribcage (lambda-var-list gen-var @@ -2481,6 +2498,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -2514,6 +2532,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -2661,8 +2680,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -2695,14 +2718,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -2710,33 +2733,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -2769,17 +2792,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -2806,25 +2829,25 @@ ("i40" "i39" "i38"))) (hygiene guile))) 'eval - (if (#{free-id=? 395}# - #{x 1735}# + (if (#{free-id=? 399}# + #{x 1750}# '#(syntax-object expand ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1734")) + #(ribcage #(x) #((top)) #("i1749")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) - #("i1728" "i1729" "i1730")) + #("i1743" "i1744" "i1745")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) - #("i1725" "i1726" "i1727")) + #("i1740" "i1741" "i1742")) #(ribcage (lambda-var-list gen-var @@ -2917,6 +2940,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -2950,6 +2974,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -3097,8 +3122,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -3131,14 +3160,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -3146,33 +3175,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -3205,17 +3234,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -3245,243 +3274,243 @@ (syntax-violation 'eval-when "invalid situation" - #{e 1722}# - (#{wrap 405}# - #{x 1735}# - #{w 1724}# + #{e 1737}# + (#{wrap 409}# + #{x 1750}# + #{w 1739}# #f)))))))) - #{situations 1733}#)))))) - (begin (#{f 1731}# #{when-list 1723}# '()))))) - (#{syntax-type 417}# - (lambda (#{e 1745}# - #{r 1746}# - #{w 1747}# - #{s 1748}# - #{rib 1749}# - #{mod 1750}# - #{for-car? 1751}#) - (if (symbol? #{e 1745}#) + #{situations 1748}#)))))) + (begin (#{f 1746}# #{when-list 1738}# '()))))) + (#{syntax-type 421}# + (lambda (#{e 1760}# + #{r 1761}# + #{w 1762}# + #{s 1763}# + #{rib 1764}# + #{mod 1765}# + #{for-car? 1766}#) + (if (symbol? #{e 1760}#) (begin - (let ((#{n 1763}# - (#{id-var-name 393}# #{e 1745}# #{w 1747}#))) + (let ((#{n 1778}# + (#{id-var-name 397}# #{e 1760}# #{w 1762}#))) (begin - (let ((#{b 1765}# - (#{lookup 333}# - #{n 1763}# - #{r 1746}# - #{mod 1750}#))) + (let ((#{b 1780}# + (#{lookup 337}# + #{n 1778}# + #{r 1761}# + #{mod 1765}#))) (begin - (let ((#{type 1767}# (car #{b 1765}#))) - (if (eqv? #{type 1767}# 'lexical) + (let ((#{type 1782}# (car #{b 1780}#))) + (if (memv #{type 1782}# '(lexical)) (values - #{type 1767}# - (cdr #{b 1765}#) - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{type 1767}# 'global) + #{type 1782}# + (cdr #{b 1780}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{type 1782}# '(global)) (values - #{type 1767}# - #{n 1763}# - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{type 1767}# 'macro) - (if #{for-car? 1751}# + #{type 1782}# + #{n 1778}# + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{type 1782}# '(macro)) + (if #{for-car? 1766}# (values - #{type 1767}# - (cdr #{b 1765}#) - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (#{syntax-type 417}# - (#{chi-macro 425}# - (cdr #{b 1765}#) - #{e 1745}# - #{r 1746}# - #{w 1747}# - #{s 1748}# - #{rib 1749}# - #{mod 1750}#) - #{r 1746}# + #{type 1782}# + (cdr #{b 1780}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (#{syntax-type 421}# + (#{chi-macro 429}# + (cdr #{b 1780}#) + #{e 1760}# + #{r 1761}# + #{w 1762}# + #{s 1763}# + #{rib 1764}# + #{mod 1765}#) + #{r 1761}# '(()) - #{s 1748}# - #{rib 1749}# - #{mod 1750}# + #{s 1763}# + #{rib 1764}# + #{mod 1765}# #f)) (values - #{type 1767}# - (cdr #{b 1765}#) - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#)))))))))) - (if (pair? #{e 1745}#) + #{type 1782}# + (cdr #{b 1780}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#)))))))))) + (if (pair? #{e 1760}#) (begin - (let ((#{first 1781}# (car #{e 1745}#))) + (let ((#{first 1796}# (car #{e 1760}#))) (call-with-values (lambda () - (#{syntax-type 417}# - #{first 1781}# - #{r 1746}# - #{w 1747}# - #{s 1748}# - #{rib 1749}# - #{mod 1750}# + (#{syntax-type 421}# + #{first 1796}# + #{r 1761}# + #{w 1762}# + #{s 1763}# + #{rib 1764}# + #{mod 1765}# #t)) - (lambda (#{ftype 1782}# - #{fval 1783}# - #{fe 1784}# - #{fw 1785}# - #{fs 1786}# - #{fmod 1787}#) - (if (eqv? #{ftype 1782}# 'lexical) + (lambda (#{ftype 1797}# + #{fval 1798}# + #{fe 1799}# + #{fw 1800}# + #{fs 1801}# + #{fmod 1802}#) + (if (memv #{ftype 1797}# '(lexical)) (values 'lexical-call - #{fval 1783}# - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'global) + #{fval 1798}# + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(global)) (values 'global-call - (#{make-syntax-object 303}# - #{fval 1783}# - #{w 1747}# - #{fmod 1787}#) - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'macro) - (#{syntax-type 417}# - (#{chi-macro 425}# - #{fval 1783}# - #{e 1745}# - #{r 1746}# - #{w 1747}# - #{s 1748}# - #{rib 1749}# - #{mod 1750}#) - #{r 1746}# + (#{make-syntax-object 307}# + #{fval 1798}# + #{w 1762}# + #{fmod 1802}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(macro)) + (#{syntax-type 421}# + (#{chi-macro 429}# + #{fval 1798}# + #{e 1760}# + #{r 1761}# + #{w 1762}# + #{s 1763}# + #{rib 1764}# + #{mod 1765}#) + #{r 1761}# '(()) - #{s 1748}# - #{rib 1749}# - #{mod 1750}# - #{for-car? 1751}#) - (if (eqv? #{ftype 1782}# 'module-ref) + #{s 1763}# + #{rib 1764}# + #{mod 1765}# + #{for-car? 1766}#) + (if (memv #{ftype 1797}# '(module-ref)) (call-with-values (lambda () - (#{fval 1783}# - #{e 1745}# - #{r 1746}# - #{w 1747}#)) - (lambda (#{e 1799}# - #{r 1800}# - #{w 1801}# - #{s 1802}# - #{mod 1803}#) - (#{syntax-type 417}# - #{e 1799}# - #{r 1800}# - #{w 1801}# - #{s 1802}# - #{rib 1749}# - #{mod 1803}# - #{for-car? 1751}#))) - (if (eqv? #{ftype 1782}# 'core) + (#{fval 1798}# + #{e 1760}# + #{r 1761}# + #{w 1762}#)) + (lambda (#{e 1814}# + #{r 1815}# + #{w 1816}# + #{s 1817}# + #{mod 1818}#) + (#{syntax-type 421}# + #{e 1814}# + #{r 1815}# + #{w 1816}# + #{s 1817}# + #{rib 1764}# + #{mod 1818}# + #{for-car? 1766}#))) + (if (memv #{ftype 1797}# '(core)) (values 'core-form - #{fval 1783}# - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'local-syntax) + #{fval 1798}# + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(local-syntax)) (values 'local-syntax-form - #{fval 1783}# - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'begin) + #{fval 1798}# + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(begin)) (values 'begin-form #f - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'eval-when) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(eval-when)) (values 'eval-when-form #f - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) - (if (eqv? #{ftype 1782}# 'define) - (let ((#{tmp 1814}# #{e 1745}#)) - (let ((#{tmp 1815}# + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) + (if (memv #{ftype 1797}# '(define)) + (let ((#{tmp 1829}# #{e 1760}#)) + (let ((#{tmp 1830}# ($sc-dispatch - #{tmp 1814}# + #{tmp 1829}# '(_ any any)))) - (if (if #{tmp 1815}# + (if (if #{tmp 1830}# (@apply - (lambda (#{name 1818}# - #{val 1819}#) - (#{id? 339}# #{name 1818}#)) - #{tmp 1815}#) + (lambda (#{name 1833}# + #{val 1834}#) + (#{id? 343}# #{name 1833}#)) + #{tmp 1830}#) #f) (@apply - (lambda (#{name 1822}# - #{val 1823}#) + (lambda (#{name 1837}# + #{val 1838}#) (values 'define-form - #{name 1822}# - #{val 1823}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#)) - #{tmp 1815}#) - (let ((#{tmp 1824}# + #{name 1837}# + #{val 1838}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#)) + #{tmp 1830}#) + (let ((#{tmp 1839}# ($sc-dispatch - #{tmp 1814}# + #{tmp 1829}# '(_ (any . any) any . each-any)))) - (if (if #{tmp 1824}# + (if (if #{tmp 1839}# (@apply - (lambda (#{name 1829}# - #{args 1830}# - #{e1 1831}# - #{e2 1832}#) - (if (#{id? 339}# - #{name 1829}#) - (#{valid-bound-ids? 399}# - (#{lambda-var-list 449}# - #{args 1830}#)) + (lambda (#{name 1844}# + #{args 1845}# + #{e1 1846}# + #{e2 1847}#) + (if (#{id? 343}# + #{name 1844}#) + (#{valid-bound-ids? 403}# + (#{lambda-var-list 453}# + #{args 1845}#)) #f)) - #{tmp 1824}#) + #{tmp 1839}#) #f) (@apply - (lambda (#{name 1839}# - #{args 1840}# - #{e1 1841}# - #{e2 1842}#) + (lambda (#{name 1854}# + #{args 1855}# + #{e1 1856}# + #{e2 1857}#) (values 'define-form - (#{wrap 405}# - #{name 1839}# - #{w 1747}# - #{mod 1750}#) - (#{decorate-source 259}# + (#{wrap 409}# + #{name 1854}# + #{w 1762}# + #{mod 1765}#) + (#{decorate-source 261}# (cons '#(syntax-object lambda ((top) @@ -3494,10 +3523,10 @@ (top) (top) (top)) - #("i1835" - "i1836" - "i1837" - "i1838")) + #("i1850" + "i1851" + "i1852" + "i1853")) #(ribcage () () @@ -3519,12 +3548,12 @@ (top) (top) (top)) - #("i1788" - "i1789" - "i1790" - "i1791" - "i1792" - "i1793")) + #("i1803" + "i1804" + "i1805" + "i1806" + "i1807" + "i1808")) #(ribcage () () @@ -3532,7 +3561,7 @@ #(ribcage #(first) #((top)) - #("i1780")) + #("i1795")) #(ribcage () () @@ -3560,13 +3589,13 @@ (top) (top) (top)) - #("i1752" - "i1753" - "i1754" - "i1755" - "i1756" - "i1757" - "i1758")) + #("i1767" + "i1768" + "i1769" + "i1770" + "i1771" + "i1772" + "i1773")) #(ribcage (lambda-var-list gen-var @@ -3659,6 +3688,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -3692,6 +3722,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -3839,8 +3870,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -3873,14 +3908,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -3888,33 +3923,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -3947,17 +3982,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -3988,43 +4023,43 @@ "i38"))) (hygiene guile)) - (#{wrap 405}# - (cons #{args 1840}# - (cons #{e1 1841}# - #{e2 1842}#)) - #{w 1747}# - #{mod 1750}#)) - #{s 1748}#) + (#{wrap 409}# + (cons #{args 1855}# + (cons #{e1 1856}# + #{e2 1857}#)) + #{w 1762}# + #{mod 1765}#)) + #{s 1763}#) '(()) - #{s 1748}# - #{mod 1750}#)) - #{tmp 1824}#) - (let ((#{tmp 1845}# + #{s 1763}# + #{mod 1765}#)) + #{tmp 1839}#) + (let ((#{tmp 1860}# ($sc-dispatch - #{tmp 1814}# + #{tmp 1829}# '(_ any)))) - (if (if #{tmp 1845}# + (if (if #{tmp 1860}# (@apply - (lambda (#{name 1847}#) - (#{id? 339}# - #{name 1847}#)) - #{tmp 1845}#) + (lambda (#{name 1862}#) + (#{id? 343}# + #{name 1862}#)) + #{tmp 1860}#) #f) (@apply - (lambda (#{name 1849}#) + (lambda (#{name 1864}#) (values 'define-form - (#{wrap 405}# - #{name 1849}# - #{w 1747}# - #{mod 1750}#) + (#{wrap 409}# + #{name 1864}# + #{w 1762}# + #{mod 1765}#) '(#(syntax-object if ((top) #(ribcage #(name) #((top)) - #("i1848")) + #("i1863")) #(ribcage () () @@ -4046,12 +4081,12 @@ (top) (top) (top)) - #("i1788" - "i1789" - "i1790" - "i1791" - "i1792" - "i1793")) + #("i1803" + "i1804" + "i1805" + "i1806" + "i1807" + "i1808")) #(ribcage () () @@ -4059,7 +4094,7 @@ #(ribcage #(first) #((top)) - #("i1780")) + #("i1795")) #(ribcage () () @@ -4087,13 +4122,13 @@ (top) (top) (top)) - #("i1752" - "i1753" - "i1754" - "i1755" - "i1756" - "i1757" - "i1758")) + #("i1767" + "i1768" + "i1769" + "i1770" + "i1771" + "i1772" + "i1773")) #(ribcage (lambda-var-list gen-var @@ -4186,6 +4221,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -4219,6 +4255,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -4366,8 +4403,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -4400,14 +4441,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -4415,33 +4456,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -4474,17 +4515,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -4520,7 +4561,7 @@ #(ribcage #(name) #((top)) - #("i1848")) + #("i1863")) #(ribcage () () @@ -4542,12 +4583,12 @@ (top) (top) (top)) - #("i1788" - "i1789" - "i1790" - "i1791" - "i1792" - "i1793")) + #("i1803" + "i1804" + "i1805" + "i1806" + "i1807" + "i1808")) #(ribcage () () @@ -4555,7 +4596,7 @@ #(ribcage #(first) #((top)) - #("i1780")) + #("i1795")) #(ribcage () () @@ -4583,13 +4624,13 @@ (top) (top) (top)) - #("i1752" - "i1753" - "i1754" - "i1755" - "i1756" - "i1757" - "i1758")) + #("i1767" + "i1768" + "i1769" + "i1770" + "i1771" + "i1772" + "i1773")) #(ribcage (lambda-var-list gen-var @@ -4682,6 +4723,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -4715,6 +4757,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -4862,8 +4905,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -4896,14 +4943,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -4911,33 +4958,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -4970,17 +5017,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -5016,7 +5063,7 @@ #(ribcage #(name) #((top)) - #("i1848")) + #("i1863")) #(ribcage () () @@ -5038,12 +5085,12 @@ (top) (top) (top)) - #("i1788" - "i1789" - "i1790" - "i1791" - "i1792" - "i1793")) + #("i1803" + "i1804" + "i1805" + "i1806" + "i1807" + "i1808")) #(ribcage () () @@ -5051,7 +5098,7 @@ #(ribcage #(first) #((top)) - #("i1780")) + #("i1795")) #(ribcage () () @@ -5079,13 +5126,13 @@ (top) (top) (top)) - #("i1752" - "i1753" - "i1754" - "i1755" - "i1756" - "i1757" - "i1758")) + #("i1767" + "i1768" + "i1769" + "i1770" + "i1771" + "i1772" + "i1773")) #(ribcage (lambda-var-list gen-var @@ -5178,6 +5225,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -5211,6 +5259,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -5358,8 +5407,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -5392,14 +5445,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -5407,33 +5460,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -5466,17 +5519,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -5507,817 +5560,814 @@ "i38"))) (hygiene guile))) '(()) - #{s 1748}# - #{mod 1750}#)) - #{tmp 1845}#) + #{s 1763}# + #{mod 1765}#)) + #{tmp 1860}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1814}#)))))))) - (if (eqv? #{ftype 1782}# 'define-syntax) - (let ((#{tmp 1852}# #{e 1745}#)) - (let ((#{tmp 1853}# + #{tmp 1829}#)))))))) + (if (memv #{ftype 1797}# '(define-syntax)) + (let ((#{tmp 1867}# #{e 1760}#)) + (let ((#{tmp 1868}# ($sc-dispatch - #{tmp 1852}# + #{tmp 1867}# '(_ any any)))) - (if (if #{tmp 1853}# + (if (if #{tmp 1868}# (@apply - (lambda (#{name 1856}# - #{val 1857}#) - (#{id? 339}# - #{name 1856}#)) - #{tmp 1853}#) + (lambda (#{name 1871}# + #{val 1872}#) + (#{id? 343}# + #{name 1871}#)) + #{tmp 1868}#) #f) (@apply - (lambda (#{name 1860}# - #{val 1861}#) + (lambda (#{name 1875}# + #{val 1876}#) (values 'define-syntax-form - #{name 1860}# - #{val 1861}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#)) - #{tmp 1853}#) + #{name 1875}# + #{val 1876}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#)) + #{tmp 1868}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1852}#)))) + #{tmp 1867}#)))) (values 'call #f - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#))))))))))))))) - (if (#{syntax-object? 305}# #{e 1745}#) - (#{syntax-type 417}# - (#{syntax-object-expression 307}# #{e 1745}#) - #{r 1746}# - (#{join-wraps 387}# - #{w 1747}# - (#{syntax-object-wrap 309}# #{e 1745}#)) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#))))))))))))))) + (if (#{syntax-object? 309}# #{e 1760}#) + (#{syntax-type 421}# + (#{syntax-object-expression 311}# #{e 1760}#) + #{r 1761}# + (#{join-wraps 391}# + #{w 1762}# + (#{syntax-object-wrap 313}# #{e 1760}#)) (begin - (let ((#{t 1867}# - (#{source-annotation 320}# #{e 1745}#))) - (if #{t 1867}# #{t 1867}# #{s 1748}#))) - #{rib 1749}# + (let ((#{t 1882}# + (#{source-annotation 324}# #{e 1760}#))) + (if #{t 1882}# #{t 1882}# #{s 1763}#))) + #{rib 1764}# (begin - (let ((#{t 1871}# - (#{syntax-object-module 311}# #{e 1745}#))) - (if #{t 1871}# #{t 1871}# #{mod 1750}#))) - #{for-car? 1751}#) - (if (self-evaluating? #{e 1745}#) + (let ((#{t 1886}# + (#{syntax-object-module 315}# #{e 1760}#))) + (if #{t 1886}# #{t 1886}# #{mod 1765}#))) + #{for-car? 1766}#) + (if (self-evaluating? #{e 1760}#) (values 'constant #f - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#) (values 'other #f - #{e 1745}# - #{w 1747}# - #{s 1748}# - #{mod 1750}#))))))) - (#{chi 419}# - (lambda (#{e 1876}# #{r 1877}# #{w 1878}# #{mod 1879}#) + #{e 1760}# + #{w 1762}# + #{s 1763}# + #{mod 1765}#))))))) + (#{chi 423}# + (lambda (#{e 1891}# #{r 1892}# #{w 1893}# #{mod 1894}#) (call-with-values (lambda () - (#{syntax-type 417}# - #{e 1876}# - #{r 1877}# - #{w 1878}# - (#{source-annotation 320}# #{e 1876}#) + (#{syntax-type 421}# + #{e 1891}# + #{r 1892}# + #{w 1893}# + (#{source-annotation 324}# #{e 1891}#) #f - #{mod 1879}# + #{mod 1894}# #f)) - (lambda (#{type 1884}# - #{value 1885}# - #{e 1886}# - #{w 1887}# - #{s 1888}# - #{mod 1889}#) - (#{chi-expr 421}# - #{type 1884}# - #{value 1885}# - #{e 1886}# - #{r 1877}# - #{w 1887}# - #{s 1888}# - #{mod 1889}#))))) - (#{chi-expr 421}# - (lambda (#{type 1896}# - #{value 1897}# - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'lexical) - (#{build-lexical-reference 271}# + (lambda (#{type 1899}# + #{value 1900}# + #{e 1901}# + #{w 1902}# + #{s 1903}# + #{mod 1904}#) + (#{chi-expr 425}# + #{type 1899}# + #{value 1900}# + #{e 1901}# + #{r 1892}# + #{w 1902}# + #{s 1903}# + #{mod 1904}#))))) + (#{chi-expr 425}# + (lambda (#{type 1911}# + #{value 1912}# + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) + (if (memv #{type 1911}# '(lexical)) + (#{build-lexical-reference 273}# 'value - #{s 1901}# - #{e 1898}# - #{value 1897}#) - (if (if (eqv? #{type 1896}# 'core) - #t - (eqv? #{type 1896}# 'core-form)) - (#{value 1897}# - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'module-ref) + #{s 1916}# + #{e 1913}# + #{value 1912}#) + (if (memv #{type 1911}# '(core core-form)) + (#{value 1912}# + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) + (if (memv #{type 1911}# '(module-ref)) (call-with-values (lambda () - (#{value 1897}# #{e 1898}# #{r 1899}# #{w 1900}#)) - (lambda (#{e 1913}# - #{r 1914}# - #{w 1915}# - #{s 1916}# - #{mod 1917}#) - (#{chi 419}# + (#{value 1912}# #{e 1913}# #{r 1914}# #{w 1915}#)) + (lambda (#{e 1928}# + #{r 1929}# + #{w 1930}# + #{s 1931}# + #{mod 1932}#) + (#{chi 423}# + #{e 1928}# + #{r 1929}# + #{w 1930}# + #{mod 1932}#))) + (if (memv #{type 1911}# '(lexical-call)) + (#{chi-call 427}# + (begin + (let ((#{id 1940}# (car #{e 1913}#))) + (#{build-lexical-reference 273}# + 'fun + (#{source-annotation 324}# #{id 1940}#) + (if (#{syntax-object? 309}# #{id 1940}#) + (syntax->datum #{id 1940}#) + #{id 1940}#) + #{value 1912}#))) + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) + (if (memv #{type 1911}# '(global-call)) + (#{chi-call 427}# + (#{build-global-reference 279}# + (#{source-annotation 324}# (car #{e 1913}#)) + (if (#{syntax-object? 309}# #{value 1912}#) + (#{syntax-object-expression 311}# #{value 1912}#) + #{value 1912}#) + (if (#{syntax-object? 309}# #{value 1912}#) + (#{syntax-object-module 315}# #{value 1912}#) + #{mod 1917}#)) #{e 1913}# #{r 1914}# #{w 1915}# - #{mod 1917}#))) - (if (eqv? #{type 1896}# 'lexical-call) - (#{chi-call 423}# - (begin - (let ((#{id 1925}# (car #{e 1898}#))) - (#{build-lexical-reference 271}# - 'fun - (#{source-annotation 320}# #{id 1925}#) - (if (#{syntax-object? 305}# #{id 1925}#) - (syntax->datum #{id 1925}#) - #{id 1925}#) - #{value 1897}#))) - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'global-call) - (#{chi-call 423}# - (#{build-global-reference 277}# - (#{source-annotation 320}# (car #{e 1898}#)) - (if (#{syntax-object? 305}# #{value 1897}#) - (#{syntax-object-expression 307}# #{value 1897}#) - #{value 1897}#) - (if (#{syntax-object? 305}# #{value 1897}#) - (#{syntax-object-module 311}# #{value 1897}#) - #{mod 1902}#)) - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'constant) - (#{build-data 291}# - #{s 1901}# - (#{strip 445}# - (#{source-wrap 407}# - #{e 1898}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) + #{s 1916}# + #{mod 1917}#) + (if (memv #{type 1911}# '(constant)) + (#{build-data 295}# + #{s 1916}# + (#{strip 449}# + (#{source-wrap 411}# + #{e 1913}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) '(()))) - (if (eqv? #{type 1896}# 'global) - (#{build-global-reference 277}# - #{s 1901}# - #{value 1897}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'call) - (#{chi-call 423}# - (#{chi 419}# - (car #{e 1898}#) - #{r 1899}# - #{w 1900}# - #{mod 1902}#) - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (if (eqv? #{type 1896}# 'begin-form) - (let ((#{tmp 1932}# #{e 1898}#)) - (let ((#{tmp 1933}# + (if (memv #{type 1911}# '(global)) + (#{build-global-reference 279}# + #{s 1916}# + #{value 1912}# + #{mod 1917}#) + (if (memv #{type 1911}# '(call)) + (#{chi-call 427}# + (#{chi 423}# + (car #{e 1913}#) + #{r 1914}# + #{w 1915}# + #{mod 1917}#) + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) + (if (memv #{type 1911}# '(begin-form)) + (let ((#{tmp 1947}# #{e 1913}#)) + (let ((#{tmp 1948}# ($sc-dispatch - #{tmp 1932}# + #{tmp 1947}# '(_ any . each-any)))) - (if #{tmp 1933}# + (if #{tmp 1948}# (@apply - (lambda (#{e1 1936}# #{e2 1937}#) - (#{chi-sequence 409}# - (cons #{e1 1936}# #{e2 1937}#) - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#)) - #{tmp 1933}#) + (lambda (#{e1 1951}# #{e2 1952}#) + (#{chi-sequence 413}# + (cons #{e1 1951}# #{e2 1952}#) + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#)) + #{tmp 1948}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1932}#)))) - (if (eqv? #{type 1896}# 'local-syntax-form) - (#{chi-local-syntax 429}# - #{value 1897}# - #{e 1898}# - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}# - #{chi-sequence 409}#) - (if (eqv? #{type 1896}# 'eval-when-form) - (let ((#{tmp 1941}# #{e 1898}#)) - (let ((#{tmp 1942}# + #{tmp 1947}#)))) + (if (memv #{type 1911}# '(local-syntax-form)) + (#{chi-local-syntax 433}# + #{value 1912}# + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}# + #{chi-sequence 413}#) + (if (memv #{type 1911}# '(eval-when-form)) + (let ((#{tmp 1956}# #{e 1913}#)) + (let ((#{tmp 1957}# ($sc-dispatch - #{tmp 1941}# + #{tmp 1956}# '(_ each-any any . each-any)))) - (if #{tmp 1942}# + (if #{tmp 1957}# (@apply - (lambda (#{x 1946}# - #{e1 1947}# - #{e2 1948}#) + (lambda (#{x 1961}# + #{e1 1962}# + #{e2 1963}#) (begin - (let ((#{when-list 1950}# - (#{chi-when-list 415}# - #{e 1898}# - #{x 1946}# - #{w 1900}#))) - (if (memq 'eval #{when-list 1950}#) - (#{chi-sequence 409}# - (cons #{e1 1947}# #{e2 1948}#) - #{r 1899}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#) - (#{chi-void 433}#))))) - #{tmp 1942}#) + (let ((#{when-list 1965}# + (#{chi-when-list 419}# + #{e 1913}# + #{x 1961}# + #{w 1915}#))) + (if (memq 'eval #{when-list 1965}#) + (#{chi-sequence 413}# + (cons #{e1 1962}# #{e2 1963}#) + #{r 1914}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#) + (#{chi-void 437}#))))) + #{tmp 1957}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1941}#)))) - (if (if (eqv? #{type 1896}# 'define-form) - #t - (eqv? #{type 1896}# 'define-syntax-form)) + #{tmp 1956}#)))) + (if (memv #{type 1911}# + '(define-form define-syntax-form)) (syntax-violation #f "definition in expression context" - #{e 1898}# - (#{wrap 405}# - #{value 1897}# - #{w 1900}# - #{mod 1902}#)) - (if (eqv? #{type 1896}# 'syntax) + #{e 1913}# + (#{wrap 409}# + #{value 1912}# + #{w 1915}# + #{mod 1917}#)) + (if (memv #{type 1911}# '(syntax)) (syntax-violation #f "reference to pattern variable outside syntax form" - (#{source-wrap 407}# - #{e 1898}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#)) - (if (eqv? #{type 1896}# 'displaced-lexical) + (#{source-wrap 411}# + #{e 1913}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#)) + (if (memv #{type 1911}# '(displaced-lexical)) (syntax-violation #f "reference to identifier outside its scope" - (#{source-wrap 407}# - #{e 1898}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#)) + (#{source-wrap 411}# + #{e 1913}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#)) (syntax-violation #f "unexpected syntax" - (#{source-wrap 407}# - #{e 1898}# - #{w 1900}# - #{s 1901}# - #{mod 1902}#)))))))))))))))))) - (#{chi-call 423}# - (lambda (#{x 1957}# - #{e 1958}# - #{r 1959}# - #{w 1960}# - #{s 1961}# - #{mod 1962}#) - (let ((#{tmp 1969}# #{e 1958}#)) - (let ((#{tmp 1970}# - ($sc-dispatch #{tmp 1969}# '(any . each-any)))) - (if #{tmp 1970}# + (#{source-wrap 411}# + #{e 1913}# + #{w 1915}# + #{s 1916}# + #{mod 1917}#)))))))))))))))))) + (#{chi-call 427}# + (lambda (#{x 1972}# + #{e 1973}# + #{r 1974}# + #{w 1975}# + #{s 1976}# + #{mod 1977}#) + (let ((#{tmp 1984}# #{e 1973}#)) + (let ((#{tmp 1985}# + ($sc-dispatch #{tmp 1984}# '(any . each-any)))) + (if #{tmp 1985}# (@apply - (lambda (#{e0 1973}# #{e1 1974}#) - (#{build-call 265}# - #{s 1961}# - #{x 1957}# - (map (lambda (#{e 1975}#) - (#{chi 419}# - #{e 1975}# - #{r 1959}# - #{w 1960}# - #{mod 1962}#)) - #{e1 1974}#))) - #{tmp 1970}#) + (lambda (#{e0 1988}# #{e1 1989}#) + (#{build-call 267}# + #{s 1976}# + #{x 1972}# + (map (lambda (#{e 1990}#) + (#{chi 423}# + #{e 1990}# + #{r 1974}# + #{w 1975}# + #{mod 1977}#)) + #{e1 1989}#))) + #{tmp 1985}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 1969}#)))))) - (#{chi-macro 425}# - (lambda (#{p 1978}# - #{e 1979}# - #{r 1980}# - #{w 1981}# - #{s 1982}# - #{rib 1983}# - #{mod 1984}#) + #{tmp 1984}#)))))) + (#{chi-macro 429}# + (lambda (#{p 1993}# + #{e 1994}# + #{r 1995}# + #{w 1996}# + #{s 1997}# + #{rib 1998}# + #{mod 1999}#) (letrec* - ((#{rebuild-macro-output 1993}# - (lambda (#{x 1994}# #{m 1995}#) - (if (pair? #{x 1994}#) - (#{decorate-source 259}# - (cons (#{rebuild-macro-output 1993}# - (car #{x 1994}#) - #{m 1995}#) - (#{rebuild-macro-output 1993}# - (cdr #{x 1994}#) - #{m 1995}#)) - #{s 1982}#) - (if (#{syntax-object? 305}# #{x 1994}#) + ((#{rebuild-macro-output 2008}# + (lambda (#{x 2009}# #{m 2010}#) + (if (pair? #{x 2009}#) + (#{decorate-source 261}# + (cons (#{rebuild-macro-output 2008}# + (car #{x 2009}#) + #{m 2010}#) + (#{rebuild-macro-output 2008}# + (cdr #{x 2009}#) + #{m 2010}#)) + #{s 1997}#) + (if (#{syntax-object? 309}# #{x 2009}#) (begin - (let ((#{w 2003}# - (#{syntax-object-wrap 309}# #{x 1994}#))) + (let ((#{w 2018}# + (#{syntax-object-wrap 313}# #{x 2009}#))) (begin - (let ((#{ms 2006}# (car #{w 2003}#)) - (#{s 2007}# (cdr #{w 2003}#))) - (if (if (pair? #{ms 2006}#) - (eq? (car #{ms 2006}#) #f) + (let ((#{ms 2021}# (car #{w 2018}#)) + (#{s 2022}# (cdr #{w 2018}#))) + (if (if (pair? #{ms 2021}#) + (eq? (car #{ms 2021}#) #f) #f) - (#{make-syntax-object 303}# - (#{syntax-object-expression 307}# #{x 1994}#) - (cons (cdr #{ms 2006}#) - (if #{rib 1983}# - (cons #{rib 1983}# (cdr #{s 2007}#)) - (cdr #{s 2007}#))) - (#{syntax-object-module 311}# #{x 1994}#)) - (#{make-syntax-object 303}# - (#{decorate-source 259}# - (#{syntax-object-expression 307}# #{x 1994}#) - #{s 2007}#) - (cons (cons #{m 1995}# #{ms 2006}#) - (if #{rib 1983}# - (cons #{rib 1983}# - (cons 'shift #{s 2007}#)) - (cons 'shift #{s 2007}#))) - (#{syntax-object-module 311}# #{x 1994}#))))))) - (if (vector? #{x 1994}#) + (#{make-syntax-object 307}# + (#{syntax-object-expression 311}# #{x 2009}#) + (cons (cdr #{ms 2021}#) + (if #{rib 1998}# + (cons #{rib 1998}# (cdr #{s 2022}#)) + (cdr #{s 2022}#))) + (#{syntax-object-module 315}# #{x 2009}#)) + (#{make-syntax-object 307}# + (#{decorate-source 261}# + (#{syntax-object-expression 311}# #{x 2009}#) + #{s 2022}#) + (cons (cons #{m 2010}# #{ms 2021}#) + (if #{rib 1998}# + (cons #{rib 1998}# + (cons 'shift #{s 2022}#)) + (cons 'shift #{s 2022}#))) + (#{syntax-object-module 315}# #{x 2009}#))))))) + (if (vector? #{x 2009}#) (begin - (let ((#{n 2019}# (vector-length #{x 1994}#))) + (let ((#{n 2034}# (vector-length #{x 2009}#))) (begin - (let ((#{v 2021}# - (#{decorate-source 259}# - (make-vector #{n 2019}#) - #{x 1994}#))) + (let ((#{v 2036}# + (#{decorate-source 261}# + (make-vector #{n 2034}#) + #{x 2009}#))) (letrec* - ((#{loop 2024}# - (lambda (#{i 2025}#) - (if (= #{i 2025}# #{n 2019}#) - (begin (if #f #f) #{v 2021}#) + ((#{loop 2039}# + (lambda (#{i 2040}#) + (if (= #{i 2040}# #{n 2034}#) + (begin (if #f #f) #{v 2036}#) (begin (vector-set! - #{v 2021}# - #{i 2025}# - (#{rebuild-macro-output 1993}# - (vector-ref #{x 1994}# #{i 2025}#) - #{m 1995}#)) - (#{loop 2024}# (#{1+}# #{i 2025}#))))))) - (begin (#{loop 2024}# 0))))))) - (if (symbol? #{x 1994}#) + #{v 2036}# + #{i 2040}# + (#{rebuild-macro-output 2008}# + (vector-ref #{x 2009}# #{i 2040}#) + #{m 2010}#)) + (#{loop 2039}# (#{1+}# #{i 2040}#))))))) + (begin (#{loop 2039}# 0))))))) + (if (symbol? #{x 2009}#) (syntax-violation #f "encountered raw symbol in macro output" - (#{source-wrap 407}# - #{e 1979}# - #{w 1981}# - (cdr #{w 1981}#) - #{mod 1984}#) - #{x 1994}#) - (#{decorate-source 259}# #{x 1994}# #{s 1982}#)))))))) + (#{source-wrap 411}# + #{e 1994}# + #{w 1996}# + (cdr #{w 1996}#) + #{mod 1999}#) + #{x 2009}#) + (#{decorate-source 261}# #{x 2009}# #{s 1997}#)))))))) (begin - (#{rebuild-macro-output 1993}# - (#{p 1978}# - (#{source-wrap 407}# - #{e 1979}# - (#{anti-mark 377}# #{w 1981}#) - #{s 1982}# - #{mod 1984}#)) + (#{rebuild-macro-output 2008}# + (#{p 1993}# + (#{source-wrap 411}# + #{e 1994}# + (#{anti-mark 381}# #{w 1996}#) + #{s 1997}# + #{mod 1999}#)) (gensym "m")))))) - (#{chi-body 427}# - (lambda (#{body 2035}# - #{outer-form 2036}# - #{r 2037}# - #{w 2038}# - #{mod 2039}#) + (#{chi-body 431}# + (lambda (#{body 2050}# + #{outer-form 2051}# + #{r 2052}# + #{w 2053}# + #{mod 2054}#) (begin - (let ((#{r 2047}# - (cons '("placeholder" placeholder) #{r 2037}#))) + (let ((#{r 2062}# + (cons '("placeholder" placeholder) #{r 2052}#))) (begin - (let ((#{ribcage 2049}# - (#{make-ribcage 357}# '() '() '()))) + (let ((#{ribcage 2064}# + (#{make-ribcage 361}# '() '() '()))) (begin - (let ((#{w 2052}# - (cons (car #{w 2038}#) - (cons #{ribcage 2049}# (cdr #{w 2038}#))))) + (let ((#{w 2067}# + (cons (car #{w 2053}#) + (cons #{ribcage 2064}# (cdr #{w 2053}#))))) (letrec* - ((#{parse 2064}# - (lambda (#{body 2065}# - #{ids 2066}# - #{labels 2067}# - #{var-ids 2068}# - #{vars 2069}# - #{vals 2070}# - #{bindings 2071}#) - (if (null? #{body 2065}#) + ((#{parse 2079}# + (lambda (#{body 2080}# + #{ids 2081}# + #{labels 2082}# + #{var-ids 2083}# + #{vars 2084}# + #{vals 2085}# + #{bindings 2086}#) + (if (null? #{body 2080}#) (syntax-violation #f "no expressions in body" - #{outer-form 2036}#) + #{outer-form 2051}#) (begin - (let ((#{e 2076}# (cdr (car #{body 2065}#))) - (#{er 2077}# (car (car #{body 2065}#)))) + (let ((#{e 2091}# (cdr (car #{body 2080}#))) + (#{er 2092}# (car (car #{body 2080}#)))) (call-with-values (lambda () - (#{syntax-type 417}# - #{e 2076}# - #{er 2077}# + (#{syntax-type 421}# + #{e 2091}# + #{er 2092}# '(()) - (#{source-annotation 320}# #{er 2077}#) - #{ribcage 2049}# - #{mod 2039}# + (#{source-annotation 324}# #{er 2092}#) + #{ribcage 2064}# + #{mod 2054}# #f)) - (lambda (#{type 2079}# - #{value 2080}# - #{e 2081}# - #{w 2082}# - #{s 2083}# - #{mod 2084}#) - (if (eqv? #{type 2079}# 'define-form) + (lambda (#{type 2094}# + #{value 2095}# + #{e 2096}# + #{w 2097}# + #{s 2098}# + #{mod 2099}#) + (if (memv #{type 2094}# '(define-form)) (begin - (let ((#{id 2094}# - (#{wrap 405}# - #{value 2080}# - #{w 2082}# - #{mod 2084}#)) - (#{label 2095}# - (#{gen-label 352}#))) + (let ((#{id 2109}# + (#{wrap 409}# + #{value 2095}# + #{w 2097}# + #{mod 2099}#)) + (#{label 2110}# + (#{gen-label 356}#))) (begin - (let ((#{var 2097}# - (#{gen-var 447}# - #{id 2094}#))) + (let ((#{var 2112}# + (#{gen-var 451}# + #{id 2109}#))) (begin - (#{extend-ribcage! 381}# - #{ribcage 2049}# - #{id 2094}# - #{label 2095}#) - (#{parse 2064}# - (cdr #{body 2065}#) - (cons #{id 2094}# - #{ids 2066}#) - (cons #{label 2095}# - #{labels 2067}#) - (cons #{id 2094}# - #{var-ids 2068}#) - (cons #{var 2097}# - #{vars 2069}#) - (cons (cons #{er 2077}# - (#{wrap 405}# - #{e 2081}# - #{w 2082}# - #{mod 2084}#)) - #{vals 2070}#) + (#{extend-ribcage! 385}# + #{ribcage 2064}# + #{id 2109}# + #{label 2110}#) + (#{parse 2079}# + (cdr #{body 2080}#) + (cons #{id 2109}# + #{ids 2081}#) + (cons #{label 2110}# + #{labels 2082}#) + (cons #{id 2109}# + #{var-ids 2083}#) + (cons #{var 2112}# + #{vars 2084}#) + (cons (cons #{er 2092}# + (#{wrap 409}# + #{e 2096}# + #{w 2097}# + #{mod 2099}#)) + #{vals 2085}#) (cons (cons 'lexical - #{var 2097}#) - #{bindings 2071}#))))))) - (if (eqv? #{type 2079}# - 'define-syntax-form) + #{var 2112}#) + #{bindings 2086}#))))))) + (if (memv #{type 2094}# + '(define-syntax-form)) (begin - (let ((#{id 2102}# - (#{wrap 405}# - #{value 2080}# - #{w 2082}# - #{mod 2084}#)) - (#{label 2103}# - (#{gen-label 352}#))) + (let ((#{id 2117}# + (#{wrap 409}# + #{value 2095}# + #{w 2097}# + #{mod 2099}#)) + (#{label 2118}# + (#{gen-label 356}#))) (begin - (#{extend-ribcage! 381}# - #{ribcage 2049}# - #{id 2102}# - #{label 2103}#) - (#{parse 2064}# - (cdr #{body 2065}#) - (cons #{id 2102}# #{ids 2066}#) - (cons #{label 2103}# - #{labels 2067}#) - #{var-ids 2068}# - #{vars 2069}# - #{vals 2070}# + (#{extend-ribcage! 385}# + #{ribcage 2064}# + #{id 2117}# + #{label 2118}#) + (#{parse 2079}# + (cdr #{body 2080}#) + (cons #{id 2117}# #{ids 2081}#) + (cons #{label 2118}# + #{labels 2082}#) + #{var-ids 2083}# + #{vars 2084}# + #{vals 2085}# (cons (cons 'macro - (cons #{er 2077}# - (#{wrap 405}# - #{e 2081}# - #{w 2082}# - #{mod 2084}#))) - #{bindings 2071}#))))) - (if (eqv? #{type 2079}# 'begin-form) - (let ((#{tmp 2106}# #{e 2081}#)) - (let ((#{tmp 2107}# + (cons #{er 2092}# + (#{wrap 409}# + #{e 2096}# + #{w 2097}# + #{mod 2099}#))) + #{bindings 2086}#))))) + (if (memv #{type 2094}# '(begin-form)) + (let ((#{tmp 2121}# #{e 2096}#)) + (let ((#{tmp 2122}# ($sc-dispatch - #{tmp 2106}# + #{tmp 2121}# '(_ . each-any)))) - (if #{tmp 2107}# + (if #{tmp 2122}# (@apply - (lambda (#{e1 2109}#) - (#{parse 2064}# + (lambda (#{e1 2124}#) + (#{parse 2079}# (letrec* - ((#{f 2112}# - (lambda (#{forms 2113}#) - (if (null? #{forms 2113}#) - (cdr #{body 2065}#) - (cons (cons #{er 2077}# - (#{wrap 405}# - (car #{forms 2113}#) - #{w 2082}# - #{mod 2084}#)) - (#{f 2112}# - (cdr #{forms 2113}#))))))) + ((#{f 2127}# + (lambda (#{forms 2128}#) + (if (null? #{forms 2128}#) + (cdr #{body 2080}#) + (cons (cons #{er 2092}# + (#{wrap 409}# + (car #{forms 2128}#) + #{w 2097}# + #{mod 2099}#)) + (#{f 2127}# + (cdr #{forms 2128}#))))))) (begin - (#{f 2112}# - #{e1 2109}#))) - #{ids 2066}# - #{labels 2067}# - #{var-ids 2068}# - #{vars 2069}# - #{vals 2070}# - #{bindings 2071}#)) - #{tmp 2107}#) + (#{f 2127}# + #{e1 2124}#))) + #{ids 2081}# + #{labels 2082}# + #{var-ids 2083}# + #{vars 2084}# + #{vals 2085}# + #{bindings 2086}#)) + #{tmp 2122}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 2106}#)))) - (if (eqv? #{type 2079}# - 'local-syntax-form) - (#{chi-local-syntax 429}# - #{value 2080}# - #{e 2081}# - #{er 2077}# - #{w 2082}# - #{s 2083}# - #{mod 2084}# - (lambda (#{forms 2116}# - #{er 2117}# - #{w 2118}# - #{s 2119}# - #{mod 2120}#) - (#{parse 2064}# + #{tmp 2121}#)))) + (if (memv #{type 2094}# + '(local-syntax-form)) + (#{chi-local-syntax 433}# + #{value 2095}# + #{e 2096}# + #{er 2092}# + #{w 2097}# + #{s 2098}# + #{mod 2099}# + (lambda (#{forms 2131}# + #{er 2132}# + #{w 2133}# + #{s 2134}# + #{mod 2135}#) + (#{parse 2079}# (letrec* - ((#{f 2128}# - (lambda (#{forms 2129}#) - (if (null? #{forms 2129}#) - (cdr #{body 2065}#) - (cons (cons #{er 2117}# - (#{wrap 405}# - (car #{forms 2129}#) - #{w 2118}# - #{mod 2120}#)) - (#{f 2128}# - (cdr #{forms 2129}#))))))) + ((#{f 2143}# + (lambda (#{forms 2144}#) + (if (null? #{forms 2144}#) + (cdr #{body 2080}#) + (cons (cons #{er 2132}# + (#{wrap 409}# + (car #{forms 2144}#) + #{w 2133}# + #{mod 2135}#)) + (#{f 2143}# + (cdr #{forms 2144}#))))))) (begin - (#{f 2128}# - #{forms 2116}#))) - #{ids 2066}# - #{labels 2067}# - #{var-ids 2068}# - #{vars 2069}# - #{vals 2070}# - #{bindings 2071}#))) - (if (null? #{ids 2066}#) - (#{build-sequence 293}# + (#{f 2143}# + #{forms 2131}#))) + #{ids 2081}# + #{labels 2082}# + #{var-ids 2083}# + #{vars 2084}# + #{vals 2085}# + #{bindings 2086}#))) + (if (null? #{ids 2081}#) + (#{build-sequence 297}# #f - (map (lambda (#{x 2132}#) - (#{chi 419}# - (cdr #{x 2132}#) - (car #{x 2132}#) + (map (lambda (#{x 2147}#) + (#{chi 423}# + (cdr #{x 2147}#) + (car #{x 2147}#) '(()) - #{mod 2084}#)) - (cons (cons #{er 2077}# - (#{source-wrap 407}# - #{e 2081}# - #{w 2082}# - #{s 2083}# - #{mod 2084}#)) - (cdr #{body 2065}#)))) + #{mod 2099}#)) + (cons (cons #{er 2092}# + (#{source-wrap 411}# + #{e 2096}# + #{w 2097}# + #{s 2098}# + #{mod 2099}#)) + (cdr #{body 2080}#)))) (begin - (if (not (#{valid-bound-ids? 399}# - #{ids 2066}#)) + (if (not (#{valid-bound-ids? 403}# + #{ids 2081}#)) (syntax-violation #f "invalid or duplicate identifier in definition" - #{outer-form 2036}#)) + #{outer-form 2051}#)) (letrec* - ((#{loop 2139}# - (lambda (#{bs 2140}# - #{er-cache 2141}# - #{r-cache 2142}#) - (if (not (null? #{bs 2140}#)) + ((#{loop 2154}# + (lambda (#{bs 2155}# + #{er-cache 2156}# + #{r-cache 2157}#) + (if (not (null? #{bs 2155}#)) (begin - (let ((#{b 2145}# - (car #{bs 2140}#))) - (if (eq? (car #{b 2145}#) + (let ((#{b 2160}# + (car #{bs 2155}#))) + (if (eq? (car #{b 2160}#) 'macro) (begin - (let ((#{er 2148}# - (car (cdr #{b 2145}#)))) + (let ((#{er 2163}# + (car (cdr #{b 2160}#)))) (begin - (let ((#{r-cache 2150}# - (if (eq? #{er 2148}# - #{er-cache 2141}#) - #{r-cache 2142}# - (#{macros-only-env 331}# - #{er 2148}#)))) + (let ((#{r-cache 2165}# + (if (eq? #{er 2163}# + #{er-cache 2156}#) + #{r-cache 2157}# + (#{macros-only-env 335}# + #{er 2163}#)))) (begin (set-cdr! - #{b 2145}# - (#{eval-local-transformer 431}# - (#{chi 419}# - (cdr (cdr #{b 2145}#)) - #{r-cache 2150}# + #{b 2160}# + (#{eval-local-transformer 435}# + (#{chi 423}# + (cdr (cdr #{b 2160}#)) + #{r-cache 2165}# '(()) - #{mod 2084}#) - #{mod 2084}#)) - (#{loop 2139}# - (cdr #{bs 2140}#) - #{er 2148}# - #{r-cache 2150}#)))))) - (#{loop 2139}# - (cdr #{bs 2140}#) - #{er-cache 2141}# - #{r-cache 2142}#)))))))) + #{mod 2099}#) + #{mod 2099}#)) + (#{loop 2154}# + (cdr #{bs 2155}#) + #{er 2163}# + #{r-cache 2165}#)))))) + (#{loop 2154}# + (cdr #{bs 2155}#) + #{er-cache 2156}# + #{r-cache 2157}#)))))))) (begin - (#{loop 2139}# - #{bindings 2071}# + (#{loop 2154}# + #{bindings 2086}# #f #f))) (set-cdr! - #{r 2047}# - (#{extend-env 327}# - #{labels 2067}# - #{bindings 2071}# - (cdr #{r 2047}#))) - (#{build-letrec 299}# + #{r 2062}# + (#{extend-env 331}# + #{labels 2082}# + #{bindings 2086}# + (cdr #{r 2062}#))) + (#{build-letrec 303}# #f #t (reverse (map syntax->datum - #{var-ids 2068}#)) - (reverse #{vars 2069}#) - (map (lambda (#{x 2153}#) - (#{chi 419}# - (cdr #{x 2153}#) - (car #{x 2153}#) + #{var-ids 2083}#)) + (reverse #{vars 2084}#) + (map (lambda (#{x 2168}#) + (#{chi 423}# + (cdr #{x 2168}#) + (car #{x 2168}#) '(()) - #{mod 2084}#)) - (reverse #{vals 2070}#)) - (#{build-sequence 293}# + #{mod 2099}#)) + (reverse #{vals 2085}#)) + (#{build-sequence 297}# #f - (map (lambda (#{x 2157}#) - (#{chi 419}# - (cdr #{x 2157}#) - (car #{x 2157}#) + (map (lambda (#{x 2172}#) + (#{chi 423}# + (cdr #{x 2172}#) + (car #{x 2172}#) '(()) - #{mod 2084}#)) - (cons (cons #{er 2077}# - (#{source-wrap 407}# - #{e 2081}# - #{w 2082}# - #{s 2083}# - #{mod 2084}#)) - (cdr #{body 2065}#))))))))))))))))))) + #{mod 2099}#)) + (cons (cons #{er 2092}# + (#{source-wrap 411}# + #{e 2096}# + #{w 2097}# + #{s 2098}# + #{mod 2099}#)) + (cdr #{body 2080}#))))))))))))))))))) (begin - (#{parse 2064}# - (map (lambda (#{x 2072}#) - (cons #{r 2047}# - (#{wrap 405}# - #{x 2072}# - #{w 2052}# - #{mod 2039}#))) - #{body 2035}#) + (#{parse 2079}# + (map (lambda (#{x 2087}#) + (cons #{r 2062}# + (#{wrap 409}# + #{x 2087}# + #{w 2067}# + #{mod 2054}#))) + #{body 2050}#) '() '() '() '() '() '()))))))))))) - (#{chi-local-syntax 429}# - (lambda (#{rec? 2160}# - #{e 2161}# - #{r 2162}# - #{w 2163}# - #{s 2164}# - #{mod 2165}# - #{k 2166}#) - (let ((#{tmp 2174}# #{e 2161}#)) - (let ((#{tmp 2175}# + (#{chi-local-syntax 433}# + (lambda (#{rec? 2175}# + #{e 2176}# + #{r 2177}# + #{w 2178}# + #{s 2179}# + #{mod 2180}# + #{k 2181}#) + (let ((#{tmp 2189}# #{e 2176}#)) + (let ((#{tmp 2190}# ($sc-dispatch - #{tmp 2174}# + #{tmp 2189}# '(_ #(each (any any)) any . each-any)))) - (if #{tmp 2175}# + (if #{tmp 2190}# (@apply - (lambda (#{id 2180}# - #{val 2181}# - #{e1 2182}# - #{e2 2183}#) + (lambda (#{id 2195}# + #{val 2196}# + #{e1 2197}# + #{e2 2198}#) (begin - (let ((#{ids 2185}# #{id 2180}#)) - (if (not (#{valid-bound-ids? 399}# #{ids 2185}#)) + (let ((#{ids 2200}# #{id 2195}#)) + (if (not (#{valid-bound-ids? 403}# #{ids 2200}#)) (syntax-violation #f "duplicate bound keyword" - #{e 2161}#) + #{e 2176}#) (begin - (let ((#{labels 2188}# - (#{gen-labels 354}# #{ids 2185}#))) + (let ((#{labels 2203}# + (#{gen-labels 358}# #{ids 2200}#))) (begin - (let ((#{new-w 2190}# - (#{make-binding-wrap 383}# - #{ids 2185}# - #{labels 2188}# - #{w 2163}#))) - (#{k 2166}# - (cons #{e1 2182}# #{e2 2183}#) - (#{extend-env 327}# - #{labels 2188}# + (let ((#{new-w 2205}# + (#{make-binding-wrap 387}# + #{ids 2200}# + #{labels 2203}# + #{w 2178}#))) + (#{k 2181}# + (cons #{e1 2197}# #{e2 2198}#) + (#{extend-env 331}# + #{labels 2203}# (begin - (let ((#{w 2194}# - (if #{rec? 2160}# - #{new-w 2190}# - #{w 2163}#)) - (#{trans-r 2195}# - (#{macros-only-env 331}# - #{r 2162}#))) - (map (lambda (#{x 2196}#) + (let ((#{w 2209}# + (if #{rec? 2175}# + #{new-w 2205}# + #{w 2178}#)) + (#{trans-r 2210}# + (#{macros-only-env 335}# + #{r 2177}#))) + (map (lambda (#{x 2211}#) (cons 'macro - (#{eval-local-transformer 431}# - (#{chi 419}# - #{x 2196}# - #{trans-r 2195}# - #{w 2194}# - #{mod 2165}#) - #{mod 2165}#))) - #{val 2181}#))) - #{r 2162}#) - #{new-w 2190}# - #{s 2164}# - #{mod 2165}#))))))))) - #{tmp 2175}#) - (let ((#{_ 2201}# #{tmp 2174}#)) + (#{eval-local-transformer 435}# + (#{chi 423}# + #{x 2211}# + #{trans-r 2210}# + #{w 2209}# + #{mod 2180}#) + #{mod 2180}#))) + #{val 2196}#))) + #{r 2177}#) + #{new-w 2205}# + #{s 2179}# + #{mod 2180}#))))))))) + #{tmp 2190}#) + (let ((#{_ 2216}# #{tmp 2189}#)) (syntax-violation #f "bad local syntax definition" - (#{source-wrap 407}# - #{e 2161}# - #{w 2163}# - #{s 2164}# - #{mod 2165}#)))))))) - (#{eval-local-transformer 431}# - (lambda (#{expanded 2202}# #{mod 2203}#) + (#{source-wrap 411}# + #{e 2176}# + #{w 2178}# + #{s 2179}# + #{mod 2180}#)))))))) + (#{eval-local-transformer 435}# + (lambda (#{expanded 2217}# #{mod 2218}#) (begin - (let ((#{p 2207}# - (#{local-eval-hook 252}# - #{expanded 2202}# - #{mod 2203}#))) - (if (procedure? #{p 2207}#) - #{p 2207}# + (let ((#{p 2222}# + (#{local-eval-hook 254}# + #{expanded 2217}# + #{mod 2218}#))) + (if (procedure? #{p 2222}#) + #{p 2222}# (syntax-violation #f "nonprocedure transformer" - #{p 2207}#)))))) - (#{chi-void 433}# - (lambda () (#{build-void 263}# #f))) - (#{ellipsis? 435}# - (lambda (#{x 2209}#) - (if (#{nonsymbol-id? 337}# #{x 2209}#) - (#{free-id=? 395}# - #{x 2209}# + #{p 2222}#)))))) + (#{chi-void 437}# + (lambda () (#{build-void 265}# #f))) + (#{ellipsis? 439}# + (lambda (#{x 2224}#) + (if (#{nonsymbol-id? 341}# #{x 2224}#) + (#{free-id=? 399}# + #{x 2224}# '#(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i2210")) + #(ribcage #(x) #((top)) #("i2225")) #(ribcage (lambda-var-list gen-var @@ -6410,6 +6460,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -6443,6 +6494,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -6590,8 +6642,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -6624,14 +6680,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -6639,33 +6695,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -6698,17 +6754,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -6735,249 +6791,249 @@ ("i40" "i39" "i38"))) (hygiene guile))) #f))) - (#{lambda-formals 437}# - (lambda (#{orig-args 2213}#) + (#{lambda-formals 441}# + (lambda (#{orig-args 2228}#) (letrec* - ((#{req 2216}# - (lambda (#{args 2219}# #{rreq 2220}#) - (let ((#{tmp 2223}# #{args 2219}#)) - (let ((#{tmp 2224}# ($sc-dispatch #{tmp 2223}# '()))) - (if #{tmp 2224}# + ((#{req 2231}# + (lambda (#{args 2234}# #{rreq 2235}#) + (let ((#{tmp 2238}# #{args 2234}#)) + (let ((#{tmp 2239}# ($sc-dispatch #{tmp 2238}# '()))) + (if #{tmp 2239}# (@apply (lambda () - (#{check 2218}# (reverse #{rreq 2220}#) #f)) - #{tmp 2224}#) - (let ((#{tmp 2225}# - ($sc-dispatch #{tmp 2223}# '(any . any)))) - (if (if #{tmp 2225}# + (#{check 2233}# (reverse #{rreq 2235}#) #f)) + #{tmp 2239}#) + (let ((#{tmp 2240}# + ($sc-dispatch #{tmp 2238}# '(any . any)))) + (if (if #{tmp 2240}# (@apply - (lambda (#{a 2228}# #{b 2229}#) - (#{id? 339}# #{a 2228}#)) - #{tmp 2225}#) + (lambda (#{a 2243}# #{b 2244}#) + (#{id? 343}# #{a 2243}#)) + #{tmp 2240}#) #f) (@apply - (lambda (#{a 2232}# #{b 2233}#) - (#{req 2216}# - #{b 2233}# - (cons #{a 2232}# #{rreq 2220}#))) - #{tmp 2225}#) - (let ((#{tmp 2234}# (list #{tmp 2223}#))) - (if (if #{tmp 2234}# + (lambda (#{a 2247}# #{b 2248}#) + (#{req 2231}# + #{b 2248}# + (cons #{a 2247}# #{rreq 2235}#))) + #{tmp 2240}#) + (let ((#{tmp 2249}# (list #{tmp 2238}#))) + (if (if #{tmp 2249}# (@apply - (lambda (#{r 2236}#) - (#{id? 339}# #{r 2236}#)) - #{tmp 2234}#) + (lambda (#{r 2251}#) + (#{id? 343}# #{r 2251}#)) + #{tmp 2249}#) #f) (@apply - (lambda (#{r 2238}#) - (#{check 2218}# - (reverse #{rreq 2220}#) - #{r 2238}#)) - #{tmp 2234}#) - (let ((#{else 2240}# #{tmp 2223}#)) + (lambda (#{r 2253}#) + (#{check 2233}# + (reverse #{rreq 2235}#) + #{r 2253}#)) + #{tmp 2249}#) + (let ((#{else 2255}# #{tmp 2238}#)) (syntax-violation 'lambda "invalid argument list" - #{orig-args 2213}# - #{args 2219}#))))))))))) - (#{check 2218}# - (lambda (#{req 2241}# #{rest 2242}#) - (if (#{distinct-bound-ids? 401}# - (if #{rest 2242}# - (cons #{rest 2242}# #{req 2241}#) - #{req 2241}#)) - (values #{req 2241}# #f #{rest 2242}# #f) + #{orig-args 2228}# + #{args 2234}#))))))))))) + (#{check 2233}# + (lambda (#{req 2256}# #{rest 2257}#) + (if (#{distinct-bound-ids? 405}# + (if #{rest 2257}# + (cons #{rest 2257}# #{req 2256}#) + #{req 2256}#)) + (values #{req 2256}# #f #{rest 2257}# #f) (syntax-violation 'lambda "duplicate identifier in argument list" - #{orig-args 2213}#))))) - (begin (#{req 2216}# #{orig-args 2213}# '()))))) - (#{chi-simple-lambda 439}# - (lambda (#{e 2248}# - #{r 2249}# - #{w 2250}# - #{s 2251}# - #{mod 2252}# - #{req 2253}# - #{rest 2254}# - #{meta 2255}# - #{body 2256}#) + #{orig-args 2228}#))))) + (begin (#{req 2231}# #{orig-args 2228}# '()))))) + (#{chi-simple-lambda 443}# + (lambda (#{e 2263}# + #{r 2264}# + #{w 2265}# + #{s 2266}# + #{mod 2267}# + #{req 2268}# + #{rest 2269}# + #{meta 2270}# + #{body 2271}#) (begin - (let ((#{ids 2268}# - (if #{rest 2254}# - (append #{req 2253}# (list #{rest 2254}#)) - #{req 2253}#))) + (let ((#{ids 2283}# + (if #{rest 2269}# + (append #{req 2268}# (list #{rest 2269}#)) + #{req 2268}#))) (begin - (let ((#{vars 2270}# - (map #{gen-var 447}# #{ids 2268}#))) + (let ((#{vars 2285}# + (map #{gen-var 451}# #{ids 2283}#))) (begin - (let ((#{labels 2272}# - (#{gen-labels 354}# #{ids 2268}#))) - (#{build-simple-lambda 283}# - #{s 2251}# - (map syntax->datum #{req 2253}#) - (if #{rest 2254}# - (syntax->datum #{rest 2254}#) + (let ((#{labels 2287}# + (#{gen-labels 358}# #{ids 2283}#))) + (#{build-simple-lambda 285}# + #{s 2266}# + (map syntax->datum #{req 2268}#) + (if #{rest 2269}# + (syntax->datum #{rest 2269}#) #f) - #{vars 2270}# - #{meta 2255}# - (#{chi-body 427}# - #{body 2256}# - (#{source-wrap 407}# - #{e 2248}# - #{w 2250}# - #{s 2251}# - #{mod 2252}#) - (#{extend-var-env 329}# - #{labels 2272}# - #{vars 2270}# - #{r 2249}#) - (#{make-binding-wrap 383}# - #{ids 2268}# - #{labels 2272}# - #{w 2250}#) - #{mod 2252}#)))))))))) - (#{lambda*-formals 441}# - (lambda (#{orig-args 2275}#) + #{vars 2285}# + #{meta 2270}# + (#{chi-body 431}# + #{body 2271}# + (#{source-wrap 411}# + #{e 2263}# + #{w 2265}# + #{s 2266}# + #{mod 2267}#) + (#{extend-var-env 333}# + #{labels 2287}# + #{vars 2285}# + #{r 2264}#) + (#{make-binding-wrap 387}# + #{ids 2283}# + #{labels 2287}# + #{w 2265}#) + #{mod 2267}#)))))))))) + (#{lambda*-formals 445}# + (lambda (#{orig-args 2290}#) (letrec* - ((#{req 2278}# - (lambda (#{args 2287}# #{rreq 2288}#) - (let ((#{tmp 2291}# #{args 2287}#)) - (let ((#{tmp 2292}# ($sc-dispatch #{tmp 2291}# '()))) - (if #{tmp 2292}# + ((#{req 2293}# + (lambda (#{args 2302}# #{rreq 2303}#) + (let ((#{tmp 2306}# #{args 2302}#)) + (let ((#{tmp 2307}# ($sc-dispatch #{tmp 2306}# '()))) + (if #{tmp 2307}# (@apply (lambda () - (#{check 2286}# - (reverse #{rreq 2288}#) + (#{check 2301}# + (reverse #{rreq 2303}#) '() #f '())) - #{tmp 2292}#) - (let ((#{tmp 2293}# - ($sc-dispatch #{tmp 2291}# '(any . any)))) - (if (if #{tmp 2293}# + #{tmp 2307}#) + (let ((#{tmp 2308}# + ($sc-dispatch #{tmp 2306}# '(any . any)))) + (if (if #{tmp 2308}# (@apply - (lambda (#{a 2296}# #{b 2297}#) - (#{id? 339}# #{a 2296}#)) - #{tmp 2293}#) + (lambda (#{a 2311}# #{b 2312}#) + (#{id? 343}# #{a 2311}#)) + #{tmp 2308}#) #f) (@apply - (lambda (#{a 2300}# #{b 2301}#) - (#{req 2278}# - #{b 2301}# - (cons #{a 2300}# #{rreq 2288}#))) - #{tmp 2293}#) - (let ((#{tmp 2302}# - ($sc-dispatch #{tmp 2291}# '(any . any)))) - (if (if #{tmp 2302}# + (lambda (#{a 2315}# #{b 2316}#) + (#{req 2293}# + #{b 2316}# + (cons #{a 2315}# #{rreq 2303}#))) + #{tmp 2308}#) + (let ((#{tmp 2317}# + ($sc-dispatch #{tmp 2306}# '(any . any)))) + (if (if #{tmp 2317}# (@apply - (lambda (#{a 2305}# #{b 2306}#) - (eq? (syntax->datum #{a 2305}#) + (lambda (#{a 2320}# #{b 2321}#) + (eq? (syntax->datum #{a 2320}#) #:optional)) - #{tmp 2302}#) + #{tmp 2317}#) #f) (@apply - (lambda (#{a 2309}# #{b 2310}#) - (#{opt 2280}# - #{b 2310}# - (reverse #{rreq 2288}#) + (lambda (#{a 2324}# #{b 2325}#) + (#{opt 2295}# + #{b 2325}# + (reverse #{rreq 2303}#) '())) - #{tmp 2302}#) - (let ((#{tmp 2311}# - ($sc-dispatch #{tmp 2291}# '(any . any)))) - (if (if #{tmp 2311}# + #{tmp 2317}#) + (let ((#{tmp 2326}# + ($sc-dispatch #{tmp 2306}# '(any . any)))) + (if (if #{tmp 2326}# (@apply - (lambda (#{a 2314}# #{b 2315}#) - (eq? (syntax->datum #{a 2314}#) #:key)) - #{tmp 2311}#) + (lambda (#{a 2329}# #{b 2330}#) + (eq? (syntax->datum #{a 2329}#) #:key)) + #{tmp 2326}#) #f) (@apply - (lambda (#{a 2318}# #{b 2319}#) - (#{key 2282}# - #{b 2319}# - (reverse #{rreq 2288}#) + (lambda (#{a 2333}# #{b 2334}#) + (#{key 2297}# + #{b 2334}# + (reverse #{rreq 2303}#) '() '())) - #{tmp 2311}#) - (let ((#{tmp 2320}# + #{tmp 2326}#) + (let ((#{tmp 2335}# ($sc-dispatch - #{tmp 2291}# + #{tmp 2306}# '(any any)))) - (if (if #{tmp 2320}# + (if (if #{tmp 2335}# (@apply - (lambda (#{a 2323}# #{b 2324}#) - (eq? (syntax->datum #{a 2323}#) + (lambda (#{a 2338}# #{b 2339}#) + (eq? (syntax->datum #{a 2338}#) #:rest)) - #{tmp 2320}#) + #{tmp 2335}#) #f) (@apply - (lambda (#{a 2327}# #{b 2328}#) - (#{rest 2284}# - #{b 2328}# - (reverse #{rreq 2288}#) + (lambda (#{a 2342}# #{b 2343}#) + (#{rest 2299}# + #{b 2343}# + (reverse #{rreq 2303}#) '() '())) - #{tmp 2320}#) - (let ((#{tmp 2329}# (list #{tmp 2291}#))) - (if (if #{tmp 2329}# + #{tmp 2335}#) + (let ((#{tmp 2344}# (list #{tmp 2306}#))) + (if (if #{tmp 2344}# (@apply - (lambda (#{r 2331}#) - (#{id? 339}# #{r 2331}#)) - #{tmp 2329}#) + (lambda (#{r 2346}#) + (#{id? 343}# #{r 2346}#)) + #{tmp 2344}#) #f) (@apply - (lambda (#{r 2333}#) - (#{rest 2284}# - #{r 2333}# - (reverse #{rreq 2288}#) + (lambda (#{r 2348}#) + (#{rest 2299}# + #{r 2348}# + (reverse #{rreq 2303}#) '() '())) - #{tmp 2329}#) - (let ((#{else 2335}# #{tmp 2291}#)) + #{tmp 2344}#) + (let ((#{else 2350}# #{tmp 2306}#)) (syntax-violation 'lambda* "invalid argument list" - #{orig-args 2275}# - #{args 2287}#))))))))))))))))) - (#{opt 2280}# - (lambda (#{args 2336}# #{req 2337}# #{ropt 2338}#) - (let ((#{tmp 2342}# #{args 2336}#)) - (let ((#{tmp 2343}# ($sc-dispatch #{tmp 2342}# '()))) - (if #{tmp 2343}# + #{orig-args 2290}# + #{args 2302}#))))))))))))))))) + (#{opt 2295}# + (lambda (#{args 2351}# #{req 2352}# #{ropt 2353}#) + (let ((#{tmp 2357}# #{args 2351}#)) + (let ((#{tmp 2358}# ($sc-dispatch #{tmp 2357}# '()))) + (if #{tmp 2358}# (@apply (lambda () - (#{check 2286}# - #{req 2337}# - (reverse #{ropt 2338}#) + (#{check 2301}# + #{req 2352}# + (reverse #{ropt 2353}#) #f '())) - #{tmp 2343}#) - (let ((#{tmp 2344}# - ($sc-dispatch #{tmp 2342}# '(any . any)))) - (if (if #{tmp 2344}# + #{tmp 2358}#) + (let ((#{tmp 2359}# + ($sc-dispatch #{tmp 2357}# '(any . any)))) + (if (if #{tmp 2359}# (@apply - (lambda (#{a 2347}# #{b 2348}#) - (#{id? 339}# #{a 2347}#)) - #{tmp 2344}#) + (lambda (#{a 2362}# #{b 2363}#) + (#{id? 343}# #{a 2362}#)) + #{tmp 2359}#) #f) (@apply - (lambda (#{a 2351}# #{b 2352}#) - (#{opt 2280}# - #{b 2352}# - #{req 2337}# - (cons (cons #{a 2351}# + (lambda (#{a 2366}# #{b 2367}#) + (#{opt 2295}# + #{b 2367}# + #{req 2352}# + (cons (cons #{a 2366}# '(#(syntax-object #f ((top) #(ribcage #(a b) #((top) (top)) - #("i2349" "i2350")) + #("i2364" "i2365")) #(ribcage () () ()) #(ribcage #(args req ropt) #((top) (top) (top)) - #("i2339" "i2340" "i2341")) + #("i2354" "i2355" "i2356")) #(ribcage (check rest key opt req) ((top) @@ -6985,15 +7041,15 @@ (top) (top) (top)) - ("i2285" - "i2283" - "i2281" - "i2279" - "i2277")) + ("i2300" + "i2298" + "i2296" + "i2294" + "i2292")) #(ribcage #(orig-args) #((top)) - #("i2276")) + #("i2291")) #(ribcage (lambda-var-list gen-var @@ -7086,6 +7142,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -7119,6 +7176,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -7266,8 +7324,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -7300,14 +7362,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -7315,33 +7377,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -7374,17 +7436,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -7410,118 +7472,118 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)))) - #{ropt 2338}#))) - #{tmp 2344}#) - (let ((#{tmp 2353}# + #{ropt 2353}#))) + #{tmp 2359}#) + (let ((#{tmp 2368}# ($sc-dispatch - #{tmp 2342}# + #{tmp 2357}# '((any any) . any)))) - (if (if #{tmp 2353}# + (if (if #{tmp 2368}# (@apply - (lambda (#{a 2357}# #{init 2358}# #{b 2359}#) - (#{id? 339}# #{a 2357}#)) - #{tmp 2353}#) + (lambda (#{a 2372}# #{init 2373}# #{b 2374}#) + (#{id? 343}# #{a 2372}#)) + #{tmp 2368}#) #f) (@apply - (lambda (#{a 2363}# #{init 2364}# #{b 2365}#) - (#{opt 2280}# - #{b 2365}# - #{req 2337}# - (cons (list #{a 2363}# #{init 2364}#) - #{ropt 2338}#))) - #{tmp 2353}#) - (let ((#{tmp 2366}# - ($sc-dispatch #{tmp 2342}# '(any . any)))) - (if (if #{tmp 2366}# + (lambda (#{a 2378}# #{init 2379}# #{b 2380}#) + (#{opt 2295}# + #{b 2380}# + #{req 2352}# + (cons (list #{a 2378}# #{init 2379}#) + #{ropt 2353}#))) + #{tmp 2368}#) + (let ((#{tmp 2381}# + ($sc-dispatch #{tmp 2357}# '(any . any)))) + (if (if #{tmp 2381}# (@apply - (lambda (#{a 2369}# #{b 2370}#) - (eq? (syntax->datum #{a 2369}#) #:key)) - #{tmp 2366}#) + (lambda (#{a 2384}# #{b 2385}#) + (eq? (syntax->datum #{a 2384}#) #:key)) + #{tmp 2381}#) #f) (@apply - (lambda (#{a 2373}# #{b 2374}#) - (#{key 2282}# - #{b 2374}# - #{req 2337}# - (reverse #{ropt 2338}#) + (lambda (#{a 2388}# #{b 2389}#) + (#{key 2297}# + #{b 2389}# + #{req 2352}# + (reverse #{ropt 2353}#) '())) - #{tmp 2366}#) - (let ((#{tmp 2375}# + #{tmp 2381}#) + (let ((#{tmp 2390}# ($sc-dispatch - #{tmp 2342}# + #{tmp 2357}# '(any any)))) - (if (if #{tmp 2375}# + (if (if #{tmp 2390}# (@apply - (lambda (#{a 2378}# #{b 2379}#) - (eq? (syntax->datum #{a 2378}#) + (lambda (#{a 2393}# #{b 2394}#) + (eq? (syntax->datum #{a 2393}#) #:rest)) - #{tmp 2375}#) + #{tmp 2390}#) #f) (@apply - (lambda (#{a 2382}# #{b 2383}#) - (#{rest 2284}# - #{b 2383}# - #{req 2337}# - (reverse #{ropt 2338}#) + (lambda (#{a 2397}# #{b 2398}#) + (#{rest 2299}# + #{b 2398}# + #{req 2352}# + (reverse #{ropt 2353}#) '())) - #{tmp 2375}#) - (let ((#{tmp 2384}# (list #{tmp 2342}#))) - (if (if #{tmp 2384}# + #{tmp 2390}#) + (let ((#{tmp 2399}# (list #{tmp 2357}#))) + (if (if #{tmp 2399}# (@apply - (lambda (#{r 2386}#) - (#{id? 339}# #{r 2386}#)) - #{tmp 2384}#) + (lambda (#{r 2401}#) + (#{id? 343}# #{r 2401}#)) + #{tmp 2399}#) #f) (@apply - (lambda (#{r 2388}#) - (#{rest 2284}# - #{r 2388}# - #{req 2337}# - (reverse #{ropt 2338}#) + (lambda (#{r 2403}#) + (#{rest 2299}# + #{r 2403}# + #{req 2352}# + (reverse #{ropt 2353}#) '())) - #{tmp 2384}#) - (let ((#{else 2390}# #{tmp 2342}#)) + #{tmp 2399}#) + (let ((#{else 2405}# #{tmp 2357}#)) (syntax-violation 'lambda* "invalid optional argument list" - #{orig-args 2275}# - #{args 2336}#))))))))))))))))) - (#{key 2282}# - (lambda (#{args 2391}# - #{req 2392}# - #{opt 2393}# - #{rkey 2394}#) - (let ((#{tmp 2399}# #{args 2391}#)) - (let ((#{tmp 2400}# ($sc-dispatch #{tmp 2399}# '()))) - (if #{tmp 2400}# + #{orig-args 2290}# + #{args 2351}#))))))))))))))))) + (#{key 2297}# + (lambda (#{args 2406}# + #{req 2407}# + #{opt 2408}# + #{rkey 2409}#) + (let ((#{tmp 2414}# #{args 2406}#)) + (let ((#{tmp 2415}# ($sc-dispatch #{tmp 2414}# '()))) + (if #{tmp 2415}# (@apply (lambda () - (#{check 2286}# - #{req 2392}# - #{opt 2393}# + (#{check 2301}# + #{req 2407}# + #{opt 2408}# #f - (cons #f (reverse #{rkey 2394}#)))) - #{tmp 2400}#) - (let ((#{tmp 2401}# - ($sc-dispatch #{tmp 2399}# '(any . any)))) - (if (if #{tmp 2401}# + (cons #f (reverse #{rkey 2409}#)))) + #{tmp 2415}#) + (let ((#{tmp 2416}# + ($sc-dispatch #{tmp 2414}# '(any . any)))) + (if (if #{tmp 2416}# (@apply - (lambda (#{a 2404}# #{b 2405}#) - (#{id? 339}# #{a 2404}#)) - #{tmp 2401}#) + (lambda (#{a 2419}# #{b 2420}#) + (#{id? 343}# #{a 2419}#)) + #{tmp 2416}#) #f) (@apply - (lambda (#{a 2408}# #{b 2409}#) - (let ((#{tmp 2411}# + (lambda (#{a 2423}# #{b 2424}#) + (let ((#{tmp 2426}# (symbol->keyword - (syntax->datum #{a 2408}#)))) - (let ((#{k 2413}# #{tmp 2411}#)) - (#{key 2282}# - #{b 2409}# - #{req 2392}# - #{opt 2393}# - (cons (cons #{k 2413}# - (cons #{a 2408}# + (syntax->datum #{a 2423}#)))) + (let ((#{k 2428}# #{tmp 2426}#)) + (#{key 2297}# + #{b 2424}# + #{req 2407}# + #{opt 2408}# + (cons (cons #{k 2428}# + (cons #{a 2423}# '(#(syntax-object #f ((top) @@ -7529,11 +7591,11 @@ #(ribcage #(k) #((top)) - #("i2412")) + #("i2427")) #(ribcage #(a b) #((top) (top)) - #("i2406" "i2407")) + #("i2421" "i2422")) #(ribcage () () ()) #(ribcage #(args req opt rkey) @@ -7541,10 +7603,10 @@ (top) (top) (top)) - #("i2395" - "i2396" - "i2397" - "i2398")) + #("i2410" + "i2411" + "i2412" + "i2413")) #(ribcage (check rest key @@ -7555,15 +7617,15 @@ (top) (top) (top)) - ("i2285" - "i2283" - "i2281" - "i2279" - "i2277")) + ("i2300" + "i2298" + "i2296" + "i2294" + "i2292")) #(ribcage #(orig-args) #((top)) - #("i2276")) + #("i2291")) #(ribcage (lambda-var-list gen-var @@ -7656,6 +7718,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -7689,6 +7752,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -7836,8 +7900,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -7870,14 +7938,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -7885,33 +7953,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -7944,17 +8012,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -7982,1935 +8050,1930 @@ "i39" "i38"))) (hygiene guile))))) - #{rkey 2394}#))))) - #{tmp 2401}#) - (let ((#{tmp 2414}# + #{rkey 2409}#))))) + #{tmp 2416}#) + (let ((#{tmp 2429}# ($sc-dispatch - #{tmp 2399}# + #{tmp 2414}# '((any any) . any)))) - (if (if #{tmp 2414}# + (if (if #{tmp 2429}# (@apply - (lambda (#{a 2418}# #{init 2419}# #{b 2420}#) - (#{id? 339}# #{a 2418}#)) - #{tmp 2414}#) + (lambda (#{a 2433}# #{init 2434}# #{b 2435}#) + (#{id? 343}# #{a 2433}#)) + #{tmp 2429}#) #f) (@apply - (lambda (#{a 2424}# #{init 2425}# #{b 2426}#) - (let ((#{tmp 2428}# + (lambda (#{a 2439}# #{init 2440}# #{b 2441}#) + (let ((#{tmp 2443}# (symbol->keyword - (syntax->datum #{a 2424}#)))) - (let ((#{k 2430}# #{tmp 2428}#)) - (#{key 2282}# - #{b 2426}# - #{req 2392}# - #{opt 2393}# - (cons (list #{k 2430}# - #{a 2424}# - #{init 2425}#) - #{rkey 2394}#))))) - #{tmp 2414}#) - (let ((#{tmp 2431}# + (syntax->datum #{a 2439}#)))) + (let ((#{k 2445}# #{tmp 2443}#)) + (#{key 2297}# + #{b 2441}# + #{req 2407}# + #{opt 2408}# + (cons (list #{k 2445}# + #{a 2439}# + #{init 2440}#) + #{rkey 2409}#))))) + #{tmp 2429}#) + (let ((#{tmp 2446}# ($sc-dispatch - #{tmp 2399}# + #{tmp 2414}# '((any any any) . any)))) - (if (if #{tmp 2431}# + (if (if #{tmp 2446}# (@apply - (lambda (#{a 2436}# - #{init 2437}# - #{k 2438}# - #{b 2439}#) - (if (#{id? 339}# #{a 2436}#) - (keyword? (syntax->datum #{k 2438}#)) + (lambda (#{a 2451}# + #{init 2452}# + #{k 2453}# + #{b 2454}#) + (if (#{id? 343}# #{a 2451}#) + (keyword? (syntax->datum #{k 2453}#)) #f)) - #{tmp 2431}#) + #{tmp 2446}#) #f) (@apply - (lambda (#{a 2446}# - #{init 2447}# - #{k 2448}# - #{b 2449}#) - (#{key 2282}# - #{b 2449}# - #{req 2392}# - #{opt 2393}# - (cons (list #{k 2448}# - #{a 2446}# - #{init 2447}#) - #{rkey 2394}#))) - #{tmp 2431}#) - (let ((#{tmp 2450}# - ($sc-dispatch #{tmp 2399}# '(any)))) - (if (if #{tmp 2450}# + (lambda (#{a 2461}# + #{init 2462}# + #{k 2463}# + #{b 2464}#) + (#{key 2297}# + #{b 2464}# + #{req 2407}# + #{opt 2408}# + (cons (list #{k 2463}# + #{a 2461}# + #{init 2462}#) + #{rkey 2409}#))) + #{tmp 2446}#) + (let ((#{tmp 2465}# + ($sc-dispatch #{tmp 2414}# '(any)))) + (if (if #{tmp 2465}# (@apply - (lambda (#{aok 2452}#) - (eq? (syntax->datum #{aok 2452}#) + (lambda (#{aok 2467}#) + (eq? (syntax->datum #{aok 2467}#) #:allow-other-keys)) - #{tmp 2450}#) + #{tmp 2465}#) #f) (@apply - (lambda (#{aok 2454}#) - (#{check 2286}# - #{req 2392}# - #{opt 2393}# + (lambda (#{aok 2469}#) + (#{check 2301}# + #{req 2407}# + #{opt 2408}# #f - (cons #t (reverse #{rkey 2394}#)))) - #{tmp 2450}#) - (let ((#{tmp 2455}# + (cons #t (reverse #{rkey 2409}#)))) + #{tmp 2465}#) + (let ((#{tmp 2470}# ($sc-dispatch - #{tmp 2399}# + #{tmp 2414}# '(any any any)))) - (if (if #{tmp 2455}# + (if (if #{tmp 2470}# (@apply - (lambda (#{aok 2459}# - #{a 2460}# - #{b 2461}#) + (lambda (#{aok 2474}# + #{a 2475}# + #{b 2476}#) (if (eq? (syntax->datum - #{aok 2459}#) + #{aok 2474}#) #:allow-other-keys) (eq? (syntax->datum - #{a 2460}#) + #{a 2475}#) #:rest) #f)) - #{tmp 2455}#) + #{tmp 2470}#) #f) (@apply - (lambda (#{aok 2467}# - #{a 2468}# - #{b 2469}#) - (#{rest 2284}# - #{b 2469}# - #{req 2392}# - #{opt 2393}# + (lambda (#{aok 2482}# + #{a 2483}# + #{b 2484}#) + (#{rest 2299}# + #{b 2484}# + #{req 2407}# + #{opt 2408}# (cons #t - (reverse #{rkey 2394}#)))) - #{tmp 2455}#) - (let ((#{tmp 2470}# + (reverse #{rkey 2409}#)))) + #{tmp 2470}#) + (let ((#{tmp 2485}# ($sc-dispatch - #{tmp 2399}# + #{tmp 2414}# '(any . any)))) - (if (if #{tmp 2470}# + (if (if #{tmp 2485}# (@apply - (lambda (#{aok 2473}# - #{r 2474}#) + (lambda (#{aok 2488}# + #{r 2489}#) (if (eq? (syntax->datum - #{aok 2473}#) + #{aok 2488}#) #:allow-other-keys) - (#{id? 339}# #{r 2474}#) + (#{id? 343}# #{r 2489}#) #f)) - #{tmp 2470}#) + #{tmp 2485}#) #f) (@apply - (lambda (#{aok 2479}# #{r 2480}#) - (#{rest 2284}# - #{r 2480}# - #{req 2392}# - #{opt 2393}# + (lambda (#{aok 2494}# #{r 2495}#) + (#{rest 2299}# + #{r 2495}# + #{req 2407}# + #{opt 2408}# (cons #t (reverse - #{rkey 2394}#)))) - #{tmp 2470}#) - (let ((#{tmp 2481}# + #{rkey 2409}#)))) + #{tmp 2485}#) + (let ((#{tmp 2496}# ($sc-dispatch - #{tmp 2399}# + #{tmp 2414}# '(any any)))) - (if (if #{tmp 2481}# + (if (if #{tmp 2496}# (@apply - (lambda (#{a 2484}# - #{b 2485}#) + (lambda (#{a 2499}# + #{b 2500}#) (eq? (syntax->datum - #{a 2484}#) + #{a 2499}#) #:rest)) - #{tmp 2481}#) + #{tmp 2496}#) #f) (@apply - (lambda (#{a 2488}# - #{b 2489}#) - (#{rest 2284}# - #{b 2489}# - #{req 2392}# - #{opt 2393}# + (lambda (#{a 2503}# + #{b 2504}#) + (#{rest 2299}# + #{b 2504}# + #{req 2407}# + #{opt 2408}# (cons #f (reverse - #{rkey 2394}#)))) - #{tmp 2481}#) - (let ((#{tmp 2490}# - (list #{tmp 2399}#))) - (if (if #{tmp 2490}# + #{rkey 2409}#)))) + #{tmp 2496}#) + (let ((#{tmp 2505}# + (list #{tmp 2414}#))) + (if (if #{tmp 2505}# (@apply - (lambda (#{r 2492}#) - (#{id? 339}# - #{r 2492}#)) - #{tmp 2490}#) + (lambda (#{r 2507}#) + (#{id? 343}# + #{r 2507}#)) + #{tmp 2505}#) #f) (@apply - (lambda (#{r 2494}#) - (#{rest 2284}# - #{r 2494}# - #{req 2392}# - #{opt 2393}# + (lambda (#{r 2509}#) + (#{rest 2299}# + #{r 2509}# + #{req 2407}# + #{opt 2408}# (cons #f (reverse - #{rkey 2394}#)))) - #{tmp 2490}#) - (let ((#{else 2496}# - #{tmp 2399}#)) + #{rkey 2409}#)))) + #{tmp 2505}#) + (let ((#{else 2511}# + #{tmp 2414}#)) (syntax-violation 'lambda* "invalid keyword argument list" - #{orig-args 2275}# - #{args 2391}#))))))))))))))))))))))) - (#{rest 2284}# - (lambda (#{args 2497}# - #{req 2498}# - #{opt 2499}# - #{kw 2500}#) - (let ((#{tmp 2505}# #{args 2497}#)) - (let ((#{tmp 2506}# (list #{tmp 2505}#))) - (if (if #{tmp 2506}# + #{orig-args 2290}# + #{args 2406}#))))))))))))))))))))))) + (#{rest 2299}# + (lambda (#{args 2512}# + #{req 2513}# + #{opt 2514}# + #{kw 2515}#) + (let ((#{tmp 2520}# #{args 2512}#)) + (let ((#{tmp 2521}# (list #{tmp 2520}#))) + (if (if #{tmp 2521}# (@apply - (lambda (#{r 2508}#) (#{id? 339}# #{r 2508}#)) - #{tmp 2506}#) + (lambda (#{r 2523}#) (#{id? 343}# #{r 2523}#)) + #{tmp 2521}#) #f) (@apply - (lambda (#{r 2510}#) - (#{check 2286}# - #{req 2498}# - #{opt 2499}# - #{r 2510}# - #{kw 2500}#)) - #{tmp 2506}#) - (let ((#{else 2512}# #{tmp 2505}#)) + (lambda (#{r 2525}#) + (#{check 2301}# + #{req 2513}# + #{opt 2514}# + #{r 2525}# + #{kw 2515}#)) + #{tmp 2521}#) + (let ((#{else 2527}# #{tmp 2520}#)) (syntax-violation 'lambda* "invalid rest argument" - #{orig-args 2275}# - #{args 2497}#))))))) - (#{check 2286}# - (lambda (#{req 2513}# - #{opt 2514}# - #{rest 2515}# - #{kw 2516}#) - (if (#{distinct-bound-ids? 401}# + #{orig-args 2290}# + #{args 2512}#))))))) + (#{check 2301}# + (lambda (#{req 2528}# + #{opt 2529}# + #{rest 2530}# + #{kw 2531}#) + (if (#{distinct-bound-ids? 405}# (append - #{req 2513}# - (map car #{opt 2514}#) - (if #{rest 2515}# (list #{rest 2515}#) '()) - (if (pair? #{kw 2516}#) - (map cadr (cdr #{kw 2516}#)) + #{req 2528}# + (map car #{opt 2529}#) + (if #{rest 2530}# (list #{rest 2530}#) '()) + (if (pair? #{kw 2531}#) + (map cadr (cdr #{kw 2531}#)) '()))) (values - #{req 2513}# - #{opt 2514}# - #{rest 2515}# - #{kw 2516}#) + #{req 2528}# + #{opt 2529}# + #{rest 2530}# + #{kw 2531}#) (syntax-violation 'lambda* "duplicate identifier in argument list" - #{orig-args 2275}#))))) - (begin (#{req 2278}# #{orig-args 2275}# '()))))) - (#{chi-lambda-case 443}# - (lambda (#{e 2524}# - #{r 2525}# - #{w 2526}# - #{s 2527}# - #{mod 2528}# - #{get-formals 2529}# - #{clauses 2530}#) + #{orig-args 2290}#))))) + (begin (#{req 2293}# #{orig-args 2290}# '()))))) + (#{chi-lambda-case 447}# + (lambda (#{e 2539}# + #{r 2540}# + #{w 2541}# + #{s 2542}# + #{mod 2543}# + #{get-formals 2544}# + #{clauses 2545}#) (letrec* - ((#{expand-req 2539}# - (lambda (#{req 2546}# - #{opt 2547}# - #{rest 2548}# - #{kw 2549}# - #{body 2550}#) + ((#{expand-req 2554}# + (lambda (#{req 2561}# + #{opt 2562}# + #{rest 2563}# + #{kw 2564}# + #{body 2565}#) (begin - (let ((#{vars 2558}# - (map #{gen-var 447}# #{req 2546}#)) - (#{labels 2559}# - (#{gen-labels 354}# #{req 2546}#))) + (let ((#{vars 2573}# + (map #{gen-var 451}# #{req 2561}#)) + (#{labels 2574}# + (#{gen-labels 358}# #{req 2561}#))) (begin - (let ((#{r* 2562}# - (#{extend-var-env 329}# - #{labels 2559}# - #{vars 2558}# - #{r 2525}#)) - (#{w* 2563}# - (#{make-binding-wrap 383}# - #{req 2546}# - #{labels 2559}# - #{w 2526}#))) - (#{expand-opt 2541}# - (map syntax->datum #{req 2546}#) - #{opt 2547}# - #{rest 2548}# - #{kw 2549}# - #{body 2550}# - (reverse #{vars 2558}#) - #{r* 2562}# - #{w* 2563}# + (let ((#{r* 2577}# + (#{extend-var-env 333}# + #{labels 2574}# + #{vars 2573}# + #{r 2540}#)) + (#{w* 2578}# + (#{make-binding-wrap 387}# + #{req 2561}# + #{labels 2574}# + #{w 2541}#))) + (#{expand-opt 2556}# + (map syntax->datum #{req 2561}#) + #{opt 2562}# + #{rest 2563}# + #{kw 2564}# + #{body 2565}# + (reverse #{vars 2573}#) + #{r* 2577}# + #{w* 2578}# '() '()))))))) - (#{expand-opt 2541}# - (lambda (#{req 2564}# - #{opt 2565}# - #{rest 2566}# - #{kw 2567}# - #{body 2568}# - #{vars 2569}# - #{r* 2570}# - #{w* 2571}# - #{out 2572}# - #{inits 2573}#) - (if (pair? #{opt 2565}#) - (let ((#{tmp 2586}# (car #{opt 2565}#))) - (let ((#{tmp 2587}# - ($sc-dispatch #{tmp 2586}# '(any any)))) - (if #{tmp 2587}# + (#{expand-opt 2556}# + (lambda (#{req 2579}# + #{opt 2580}# + #{rest 2581}# + #{kw 2582}# + #{body 2583}# + #{vars 2584}# + #{r* 2585}# + #{w* 2586}# + #{out 2587}# + #{inits 2588}#) + (if (pair? #{opt 2580}#) + (let ((#{tmp 2601}# (car #{opt 2580}#))) + (let ((#{tmp 2602}# + ($sc-dispatch #{tmp 2601}# '(any any)))) + (if #{tmp 2602}# (@apply - (lambda (#{id 2590}# #{i 2591}#) + (lambda (#{id 2605}# #{i 2606}#) (begin - (let ((#{v 2594}# (#{gen-var 447}# #{id 2590}#))) + (let ((#{v 2609}# (#{gen-var 451}# #{id 2605}#))) (begin - (let ((#{l 2596}# - (#{gen-labels 354}# - (list #{v 2594}#)))) + (let ((#{l 2611}# + (#{gen-labels 358}# + (list #{v 2609}#)))) (begin - (let ((#{r** 2598}# - (#{extend-var-env 329}# - #{l 2596}# - (list #{v 2594}#) - #{r* 2570}#))) + (let ((#{r** 2613}# + (#{extend-var-env 333}# + #{l 2611}# + (list #{v 2609}#) + #{r* 2585}#))) (begin - (let ((#{w** 2600}# - (#{make-binding-wrap 383}# - (list #{id 2590}#) - #{l 2596}# - #{w* 2571}#))) - (#{expand-opt 2541}# - #{req 2564}# - (cdr #{opt 2565}#) - #{rest 2566}# - #{kw 2567}# - #{body 2568}# - (cons #{v 2594}# #{vars 2569}#) - #{r** 2598}# - #{w** 2600}# - (cons (syntax->datum #{id 2590}#) - #{out 2572}#) - (cons (#{chi 419}# - #{i 2591}# - #{r* 2570}# - #{w* 2571}# - #{mod 2528}#) - #{inits 2573}#))))))))))) - #{tmp 2587}#) + (let ((#{w** 2615}# + (#{make-binding-wrap 387}# + (list #{id 2605}#) + #{l 2611}# + #{w* 2586}#))) + (#{expand-opt 2556}# + #{req 2579}# + (cdr #{opt 2580}#) + #{rest 2581}# + #{kw 2582}# + #{body 2583}# + (cons #{v 2609}# #{vars 2584}#) + #{r** 2613}# + #{w** 2615}# + (cons (syntax->datum #{id 2605}#) + #{out 2587}#) + (cons (#{chi 423}# + #{i 2606}# + #{r* 2585}# + #{w* 2586}# + #{mod 2543}#) + #{inits 2588}#))))))))))) + #{tmp 2602}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 2586}#)))) - (if #{rest 2566}# + #{tmp 2601}#)))) + (if #{rest 2581}# (begin - (let ((#{v 2605}# (#{gen-var 447}# #{rest 2566}#))) + (let ((#{v 2620}# (#{gen-var 451}# #{rest 2581}#))) (begin - (let ((#{l 2607}# - (#{gen-labels 354}# (list #{v 2605}#)))) + (let ((#{l 2622}# + (#{gen-labels 358}# (list #{v 2620}#)))) (begin - (let ((#{r* 2609}# - (#{extend-var-env 329}# - #{l 2607}# - (list #{v 2605}#) - #{r* 2570}#))) + (let ((#{r* 2624}# + (#{extend-var-env 333}# + #{l 2622}# + (list #{v 2620}#) + #{r* 2585}#))) (begin - (let ((#{w* 2611}# - (#{make-binding-wrap 383}# - (list #{rest 2566}#) - #{l 2607}# - #{w* 2571}#))) - (#{expand-kw 2543}# - #{req 2564}# - (if (pair? #{out 2572}#) - (reverse #{out 2572}#) + (let ((#{w* 2626}# + (#{make-binding-wrap 387}# + (list #{rest 2581}#) + #{l 2622}# + #{w* 2586}#))) + (#{expand-kw 2558}# + #{req 2579}# + (if (pair? #{out 2587}#) + (reverse #{out 2587}#) #f) - (syntax->datum #{rest 2566}#) - (if (pair? #{kw 2567}#) - (cdr #{kw 2567}#) - #{kw 2567}#) - #{body 2568}# - (cons #{v 2605}# #{vars 2569}#) - #{r* 2609}# - #{w* 2611}# - (if (pair? #{kw 2567}#) - (car #{kw 2567}#) + (syntax->datum #{rest 2581}#) + (if (pair? #{kw 2582}#) + (cdr #{kw 2582}#) + #{kw 2582}#) + #{body 2583}# + (cons #{v 2620}# #{vars 2584}#) + #{r* 2624}# + #{w* 2626}# + (if (pair? #{kw 2582}#) + (car #{kw 2582}#) #f) '() - #{inits 2573}#))))))))) - (#{expand-kw 2543}# - #{req 2564}# - (if (pair? #{out 2572}#) - (reverse #{out 2572}#) + #{inits 2588}#))))))))) + (#{expand-kw 2558}# + #{req 2579}# + (if (pair? #{out 2587}#) + (reverse #{out 2587}#) #f) #f - (if (pair? #{kw 2567}#) - (cdr #{kw 2567}#) - #{kw 2567}#) - #{body 2568}# - #{vars 2569}# - #{r* 2570}# - #{w* 2571}# - (if (pair? #{kw 2567}#) (car #{kw 2567}#) #f) + (if (pair? #{kw 2582}#) + (cdr #{kw 2582}#) + #{kw 2582}#) + #{body 2583}# + #{vars 2584}# + #{r* 2585}# + #{w* 2586}# + (if (pair? #{kw 2582}#) (car #{kw 2582}#) #f) '() - #{inits 2573}#))))) - (#{expand-kw 2543}# - (lambda (#{req 2613}# - #{opt 2614}# - #{rest 2615}# - #{kw 2616}# - #{body 2617}# - #{vars 2618}# - #{r* 2619}# - #{w* 2620}# - #{aok 2621}# - #{out 2622}# - #{inits 2623}#) - (if (pair? #{kw 2616}#) - (let ((#{tmp 2637}# (car #{kw 2616}#))) - (let ((#{tmp 2638}# - ($sc-dispatch #{tmp 2637}# '(any any any)))) - (if #{tmp 2638}# + #{inits 2588}#))))) + (#{expand-kw 2558}# + (lambda (#{req 2628}# + #{opt 2629}# + #{rest 2630}# + #{kw 2631}# + #{body 2632}# + #{vars 2633}# + #{r* 2634}# + #{w* 2635}# + #{aok 2636}# + #{out 2637}# + #{inits 2638}#) + (if (pair? #{kw 2631}#) + (let ((#{tmp 2652}# (car #{kw 2631}#))) + (let ((#{tmp 2653}# + ($sc-dispatch #{tmp 2652}# '(any any any)))) + (if #{tmp 2653}# (@apply - (lambda (#{k 2642}# #{id 2643}# #{i 2644}#) + (lambda (#{k 2657}# #{id 2658}# #{i 2659}#) (begin - (let ((#{v 2647}# (#{gen-var 447}# #{id 2643}#))) + (let ((#{v 2662}# (#{gen-var 451}# #{id 2658}#))) (begin - (let ((#{l 2649}# - (#{gen-labels 354}# - (list #{v 2647}#)))) + (let ((#{l 2664}# + (#{gen-labels 358}# + (list #{v 2662}#)))) (begin - (let ((#{r** 2651}# - (#{extend-var-env 329}# - #{l 2649}# - (list #{v 2647}#) - #{r* 2619}#))) + (let ((#{r** 2666}# + (#{extend-var-env 333}# + #{l 2664}# + (list #{v 2662}#) + #{r* 2634}#))) (begin - (let ((#{w** 2653}# - (#{make-binding-wrap 383}# - (list #{id 2643}#) - #{l 2649}# - #{w* 2620}#))) - (#{expand-kw 2543}# - #{req 2613}# - #{opt 2614}# - #{rest 2615}# - (cdr #{kw 2616}#) - #{body 2617}# - (cons #{v 2647}# #{vars 2618}#) - #{r** 2651}# - #{w** 2653}# - #{aok 2621}# + (let ((#{w** 2668}# + (#{make-binding-wrap 387}# + (list #{id 2658}#) + #{l 2664}# + #{w* 2635}#))) + (#{expand-kw 2558}# + #{req 2628}# + #{opt 2629}# + #{rest 2630}# + (cdr #{kw 2631}#) + #{body 2632}# + (cons #{v 2662}# #{vars 2633}#) + #{r** 2666}# + #{w** 2668}# + #{aok 2636}# (cons (list (syntax->datum - #{k 2642}#) + #{k 2657}#) (syntax->datum - #{id 2643}#) - #{v 2647}#) - #{out 2622}#) - (cons (#{chi 419}# - #{i 2644}# - #{r* 2619}# - #{w* 2620}# - #{mod 2528}#) - #{inits 2623}#))))))))))) - #{tmp 2638}#) + #{id 2658}#) + #{v 2662}#) + #{out 2637}#) + (cons (#{chi 423}# + #{i 2659}# + #{r* 2634}# + #{w* 2635}# + #{mod 2543}#) + #{inits 2638}#))))))))))) + #{tmp 2653}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 2637}#)))) - (#{expand-body 2545}# - #{req 2613}# - #{opt 2614}# - #{rest 2615}# + #{tmp 2652}#)))) + (#{expand-body 2560}# + #{req 2628}# + #{opt 2629}# + #{rest 2630}# (if (begin - (let ((#{t 2657}# #{aok 2621}#)) - (if #{t 2657}# #{t 2657}# (pair? #{out 2622}#)))) - (cons #{aok 2621}# (reverse #{out 2622}#)) + (let ((#{t 2672}# #{aok 2636}#)) + (if #{t 2672}# #{t 2672}# (pair? #{out 2637}#)))) + (cons #{aok 2636}# (reverse #{out 2637}#)) #f) - #{body 2617}# - (reverse #{vars 2618}#) - #{r* 2619}# - #{w* 2620}# - (reverse #{inits 2623}#) + #{body 2632}# + (reverse #{vars 2633}#) + #{r* 2634}# + #{w* 2635}# + (reverse #{inits 2638}#) '())))) - (#{expand-body 2545}# - (lambda (#{req 2659}# - #{opt 2660}# - #{rest 2661}# - #{kw 2662}# - #{body 2663}# - #{vars 2664}# - #{r* 2665}# - #{w* 2666}# - #{inits 2667}# - #{meta 2668}#) - (let ((#{tmp 2679}# #{body 2663}#)) - (let ((#{tmp 2680}# - ($sc-dispatch #{tmp 2679}# '(any any . each-any)))) - (if (if #{tmp 2680}# + (#{expand-body 2560}# + (lambda (#{req 2674}# + #{opt 2675}# + #{rest 2676}# + #{kw 2677}# + #{body 2678}# + #{vars 2679}# + #{r* 2680}# + #{w* 2681}# + #{inits 2682}# + #{meta 2683}#) + (let ((#{tmp 2694}# #{body 2678}#)) + (let ((#{tmp 2695}# + ($sc-dispatch #{tmp 2694}# '(any any . each-any)))) + (if (if #{tmp 2695}# (@apply - (lambda (#{docstring 2684}# #{e1 2685}# #{e2 2686}#) - (string? (syntax->datum #{docstring 2684}#))) - #{tmp 2680}#) + (lambda (#{docstring 2699}# #{e1 2700}# #{e2 2701}#) + (string? (syntax->datum #{docstring 2699}#))) + #{tmp 2695}#) #f) (@apply - (lambda (#{docstring 2690}# #{e1 2691}# #{e2 2692}#) - (#{expand-body 2545}# - #{req 2659}# - #{opt 2660}# - #{rest 2661}# - #{kw 2662}# - (cons #{e1 2691}# #{e2 2692}#) - #{vars 2664}# - #{r* 2665}# - #{w* 2666}# - #{inits 2667}# + (lambda (#{docstring 2705}# #{e1 2706}# #{e2 2707}#) + (#{expand-body 2560}# + #{req 2674}# + #{opt 2675}# + #{rest 2676}# + #{kw 2677}# + (cons #{e1 2706}# #{e2 2707}#) + #{vars 2679}# + #{r* 2680}# + #{w* 2681}# + #{inits 2682}# (append - #{meta 2668}# + #{meta 2683}# (list (cons 'documentation - (syntax->datum #{docstring 2690}#)))))) - #{tmp 2680}#) - (let ((#{tmp 2695}# + (syntax->datum #{docstring 2705}#)))))) + #{tmp 2695}#) + (let ((#{tmp 2710}# ($sc-dispatch - #{tmp 2679}# + #{tmp 2694}# '(#(vector #(each (any . any))) any . each-any)))) - (if #{tmp 2695}# + (if #{tmp 2710}# (@apply - (lambda (#{k 2700}# - #{v 2701}# - #{e1 2702}# - #{e2 2703}#) - (#{expand-body 2545}# - #{req 2659}# - #{opt 2660}# - #{rest 2661}# - #{kw 2662}# - (cons #{e1 2702}# #{e2 2703}#) - #{vars 2664}# - #{r* 2665}# - #{w* 2666}# - #{inits 2667}# + (lambda (#{k 2715}# + #{v 2716}# + #{e1 2717}# + #{e2 2718}#) + (#{expand-body 2560}# + #{req 2674}# + #{opt 2675}# + #{rest 2676}# + #{kw 2677}# + (cons #{e1 2717}# #{e2 2718}#) + #{vars 2679}# + #{r* 2680}# + #{w* 2681}# + #{inits 2682}# (append - #{meta 2668}# + #{meta 2683}# (syntax->datum - (map cons #{k 2700}# #{v 2701}#))))) - #{tmp 2695}#) - (let ((#{tmp 2707}# - ($sc-dispatch #{tmp 2679}# '(any . each-any)))) - (if #{tmp 2707}# + (map cons #{k 2715}# #{v 2716}#))))) + #{tmp 2710}#) + (let ((#{tmp 2722}# + ($sc-dispatch #{tmp 2694}# '(any . each-any)))) + (if #{tmp 2722}# (@apply - (lambda (#{e1 2710}# #{e2 2711}#) + (lambda (#{e1 2725}# #{e2 2726}#) (values - #{meta 2668}# - #{req 2659}# - #{opt 2660}# - #{rest 2661}# - #{kw 2662}# - #{inits 2667}# - #{vars 2664}# - (#{chi-body 427}# - (cons #{e1 2710}# #{e2 2711}#) - (#{source-wrap 407}# - #{e 2524}# - #{w 2526}# - #{s 2527}# - #{mod 2528}#) - #{r* 2665}# - #{w* 2666}# - #{mod 2528}#))) - #{tmp 2707}#) + #{meta 2683}# + #{req 2674}# + #{opt 2675}# + #{rest 2676}# + #{kw 2677}# + #{inits 2682}# + #{vars 2679}# + (#{chi-body 431}# + (cons #{e1 2725}# #{e2 2726}#) + (#{source-wrap 411}# + #{e 2539}# + #{w 2541}# + #{s 2542}# + #{mod 2543}#) + #{r* 2680}# + #{w* 2681}# + #{mod 2543}#))) + #{tmp 2722}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 2679}#))))))))))) + #{tmp 2694}#))))))))))) (begin - (let ((#{tmp 2713}# #{clauses 2530}#)) - (let ((#{tmp 2714}# ($sc-dispatch #{tmp 2713}# '()))) - (if #{tmp 2714}# - (@apply (lambda () (values '() #f)) #{tmp 2714}#) - (let ((#{tmp 2715}# + (let ((#{tmp 2728}# #{clauses 2545}#)) + (let ((#{tmp 2729}# ($sc-dispatch #{tmp 2728}# '()))) + (if #{tmp 2729}# + (@apply (lambda () (values '() #f)) #{tmp 2729}#) + (let ((#{tmp 2730}# ($sc-dispatch - #{tmp 2713}# + #{tmp 2728}# '((any any . each-any) . #(each (any any . each-any)))))) - (if #{tmp 2715}# + (if #{tmp 2730}# (@apply - (lambda (#{args 2722}# - #{e1 2723}# - #{e2 2724}# - #{args* 2725}# - #{e1* 2726}# - #{e2* 2727}#) + (lambda (#{args 2737}# + #{e1 2738}# + #{e2 2739}# + #{args* 2740}# + #{e1* 2741}# + #{e2* 2742}#) (call-with-values - (lambda () (#{get-formals 2529}# #{args 2722}#)) - (lambda (#{req 2728}# - #{opt 2729}# - #{rest 2730}# - #{kw 2731}#) + (lambda () (#{get-formals 2544}# #{args 2737}#)) + (lambda (#{req 2743}# + #{opt 2744}# + #{rest 2745}# + #{kw 2746}#) (call-with-values (lambda () - (#{expand-req 2539}# - #{req 2728}# - #{opt 2729}# - #{rest 2730}# - #{kw 2731}# - (cons #{e1 2723}# #{e2 2724}#))) - (lambda (#{meta 2737}# - #{req 2738}# - #{opt 2739}# - #{rest 2740}# - #{kw 2741}# - #{inits 2742}# - #{vars 2743}# - #{body 2744}#) + (#{expand-req 2554}# + #{req 2743}# + #{opt 2744}# + #{rest 2745}# + #{kw 2746}# + (cons #{e1 2738}# #{e2 2739}#))) + (lambda (#{meta 2752}# + #{req 2753}# + #{opt 2754}# + #{rest 2755}# + #{kw 2756}# + #{inits 2757}# + #{vars 2758}# + #{body 2759}#) (call-with-values (lambda () - (#{chi-lambda-case 443}# - #{e 2524}# - #{r 2525}# - #{w 2526}# - #{s 2527}# - #{mod 2528}# - #{get-formals 2529}# - (map (lambda (#{tmp 2755}# - #{tmp 2754}# - #{tmp 2753}#) - (cons #{tmp 2753}# - (cons #{tmp 2754}# - #{tmp 2755}#))) - #{e2* 2727}# - #{e1* 2726}# - #{args* 2725}#))) - (lambda (#{meta* 2757}# #{else* 2758}#) + (#{chi-lambda-case 447}# + #{e 2539}# + #{r 2540}# + #{w 2541}# + #{s 2542}# + #{mod 2543}# + #{get-formals 2544}# + (map (lambda (#{tmp 2770}# + #{tmp 2769}# + #{tmp 2768}#) + (cons #{tmp 2768}# + (cons #{tmp 2769}# + #{tmp 2770}#))) + #{e2* 2742}# + #{e1* 2741}# + #{args* 2740}#))) + (lambda (#{meta* 2772}# #{else* 2773}#) (values - (append #{meta 2737}# #{meta* 2757}#) - (#{build-lambda-case 287}# - #{s 2527}# - #{req 2738}# - #{opt 2739}# - #{rest 2740}# - #{kw 2741}# - #{inits 2742}# - #{vars 2743}# - #{body 2744}# - #{else* 2758}#))))))))) - #{tmp 2715}#) + (append #{meta 2752}# #{meta* 2772}#) + (#{build-lambda-case 289}# + #{s 2542}# + #{req 2753}# + #{opt 2754}# + #{rest 2755}# + #{kw 2756}# + #{inits 2757}# + #{vars 2758}# + #{body 2759}# + #{else* 2773}#))))))))) + #{tmp 2730}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 2713}#)))))))))) - (#{strip 445}# - (lambda (#{x 2761}# #{w 2762}#) - (if (memq 'top (car #{w 2762}#)) - #{x 2761}# + #{tmp 2728}#)))))))))) + (#{strip 449}# + (lambda (#{x 2776}# #{w 2777}#) + (if (memq 'top (car #{w 2777}#)) + #{x 2776}# (letrec* - ((#{f 2769}# - (lambda (#{x 2770}#) - (if (#{syntax-object? 305}# #{x 2770}#) - (#{strip 445}# - (#{syntax-object-expression 307}# #{x 2770}#) - (#{syntax-object-wrap 309}# #{x 2770}#)) - (if (pair? #{x 2770}#) + ((#{f 2784}# + (lambda (#{x 2785}#) + (if (#{syntax-object? 309}# #{x 2785}#) + (#{strip 449}# + (#{syntax-object-expression 311}# #{x 2785}#) + (#{syntax-object-wrap 313}# #{x 2785}#)) + (if (pair? #{x 2785}#) (begin - (let ((#{a 2777}# (#{f 2769}# (car #{x 2770}#))) - (#{d 2778}# (#{f 2769}# (cdr #{x 2770}#)))) - (if (if (eq? #{a 2777}# (car #{x 2770}#)) - (eq? #{d 2778}# (cdr #{x 2770}#)) + (let ((#{a 2792}# (#{f 2784}# (car #{x 2785}#))) + (#{d 2793}# (#{f 2784}# (cdr #{x 2785}#)))) + (if (if (eq? #{a 2792}# (car #{x 2785}#)) + (eq? #{d 2793}# (cdr #{x 2785}#)) #f) - #{x 2770}# - (cons #{a 2777}# #{d 2778}#)))) - (if (vector? #{x 2770}#) + #{x 2785}# + (cons #{a 2792}# #{d 2793}#)))) + (if (vector? #{x 2785}#) (begin - (let ((#{old 2784}# (vector->list #{x 2770}#))) + (let ((#{old 2799}# (vector->list #{x 2785}#))) (begin - (let ((#{new 2786}# (map #{f 2769}# #{old 2784}#))) + (let ((#{new 2801}# (map #{f 2784}# #{old 2799}#))) (letrec* - ((#{lp 2790}# - (lambda (#{l1 2791}# #{l2 2792}#) - (if (null? #{l1 2791}#) - #{x 2770}# - (if (eq? (car #{l1 2791}#) - (car #{l2 2792}#)) - (#{lp 2790}# - (cdr #{l1 2791}#) - (cdr #{l2 2792}#)) - (list->vector #{new 2786}#)))))) + ((#{lp 2805}# + (lambda (#{l1 2806}# #{l2 2807}#) + (if (null? #{l1 2806}#) + #{x 2785}# + (if (eq? (car #{l1 2806}#) + (car #{l2 2807}#)) + (#{lp 2805}# + (cdr #{l1 2806}#) + (cdr #{l2 2807}#)) + (list->vector #{new 2801}#)))))) (begin - (#{lp 2790}# #{old 2784}# #{new 2786}#))))))) - #{x 2770}#)))))) - (begin (#{f 2769}# #{x 2761}#)))))) - (#{gen-var 447}# - (lambda (#{id 2794}#) + (#{lp 2805}# #{old 2799}# #{new 2801}#))))))) + #{x 2785}#)))))) + (begin (#{f 2784}# #{x 2776}#)))))) + (#{gen-var 451}# + (lambda (#{id 2809}#) (begin - (let ((#{id 2797}# - (if (#{syntax-object? 305}# #{id 2794}#) - (#{syntax-object-expression 307}# #{id 2794}#) - #{id 2794}#))) + (let ((#{id 2812}# + (if (#{syntax-object? 309}# #{id 2809}#) + (#{syntax-object-expression 311}# #{id 2809}#) + #{id 2809}#))) (gensym - (string-append (symbol->string #{id 2797}#) " ")))))) - (#{lambda-var-list 449}# - (lambda (#{vars 2799}#) + (string-append (symbol->string #{id 2812}#) " ")))))) + (#{lambda-var-list 453}# + (lambda (#{vars 2814}#) (letrec* - ((#{lvl 2805}# - (lambda (#{vars 2806}# #{ls 2807}# #{w 2808}#) - (if (pair? #{vars 2806}#) - (#{lvl 2805}# - (cdr #{vars 2806}#) - (cons (#{wrap 405}# (car #{vars 2806}#) #{w 2808}# #f) - #{ls 2807}#) - #{w 2808}#) - (if (#{id? 339}# #{vars 2806}#) - (cons (#{wrap 405}# #{vars 2806}# #{w 2808}# #f) - #{ls 2807}#) - (if (null? #{vars 2806}#) - #{ls 2807}# - (if (#{syntax-object? 305}# #{vars 2806}#) - (#{lvl 2805}# - (#{syntax-object-expression 307}# #{vars 2806}#) - #{ls 2807}# - (#{join-wraps 387}# - #{w 2808}# - (#{syntax-object-wrap 309}# #{vars 2806}#))) - (cons #{vars 2806}# #{ls 2807}#)))))))) - (begin (#{lvl 2805}# #{vars 2799}# '() '(()))))))) + ((#{lvl 2820}# + (lambda (#{vars 2821}# #{ls 2822}# #{w 2823}#) + (if (pair? #{vars 2821}#) + (#{lvl 2820}# + (cdr #{vars 2821}#) + (cons (#{wrap 409}# (car #{vars 2821}#) #{w 2823}# #f) + #{ls 2822}#) + #{w 2823}#) + (if (#{id? 343}# #{vars 2821}#) + (cons (#{wrap 409}# #{vars 2821}# #{w 2823}# #f) + #{ls 2822}#) + (if (null? #{vars 2821}#) + #{ls 2822}# + (if (#{syntax-object? 309}# #{vars 2821}#) + (#{lvl 2820}# + (#{syntax-object-expression 311}# #{vars 2821}#) + #{ls 2822}# + (#{join-wraps 391}# + #{w 2823}# + (#{syntax-object-wrap 313}# #{vars 2821}#))) + (cons #{vars 2821}# #{ls 2822}#)))))))) + (begin (#{lvl 2820}# #{vars 2814}# '() '(()))))))) (begin - (lambda (#{src 767}# #{name 768}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 2) - #{src 767}# - #{name 768}#)) - (lambda (#{x 1145}# #{update 1146}#) - (vector-set! #{x 1145}# 1 #{update 1146}#)) - (lambda (#{x 1149}# #{update 1150}#) - (vector-set! #{x 1149}# 2 #{update 1150}#)) - (lambda (#{x 1153}# #{update 1154}#) - (vector-set! #{x 1153}# 3 #{update 1154}#)) - (lambda (#{x 1234}#) - (if (vector? #{x 1234}#) - (if (= (vector-length #{x 1234}#) 4) - (eq? (vector-ref #{x 1234}# 0) 'ribcage) + (lambda (#{x 1161}# #{update 1162}#) + (vector-set! #{x 1161}# 1 #{update 1162}#)) + (lambda (#{x 1165}# #{update 1166}#) + (vector-set! #{x 1165}# 2 #{update 1166}#)) + (lambda (#{x 1169}# #{update 1170}#) + (vector-set! #{x 1169}# 3 #{update 1170}#)) + (lambda (#{x 1250}#) + (if (vector? #{x 1250}#) + (if (= (vector-length #{x 1250}#) 4) + (eq? (vector-ref #{x 1250}# 0) 'ribcage) #f) #f)) (begin - (#{global-extend 335}# + (#{global-extend 339}# 'local-syntax 'letrec-syntax #t) - (#{global-extend 335}# + (#{global-extend 339}# 'local-syntax 'let-syntax #f) - (#{global-extend 335}# + (#{global-extend 339}# 'core 'fluid-let-syntax - (lambda (#{e 2819}# - #{r 2820}# - #{w 2821}# - #{s 2822}# - #{mod 2823}#) - (let ((#{tmp 2829}# #{e 2819}#)) - (let ((#{tmp 2830}# + (lambda (#{e 2834}# + #{r 2835}# + #{w 2836}# + #{s 2837}# + #{mod 2838}#) + (let ((#{tmp 2844}# #{e 2834}#)) + (let ((#{tmp 2845}# ($sc-dispatch - #{tmp 2829}# + #{tmp 2844}# '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 2830}# + (if (if #{tmp 2845}# (@apply - (lambda (#{var 2835}# - #{val 2836}# - #{e1 2837}# - #{e2 2838}#) - (#{valid-bound-ids? 399}# #{var 2835}#)) - #{tmp 2830}#) + (lambda (#{var 2850}# + #{val 2851}# + #{e1 2852}# + #{e2 2853}#) + (#{valid-bound-ids? 403}# #{var 2850}#)) + #{tmp 2845}#) #f) (@apply - (lambda (#{var 2844}# - #{val 2845}# - #{e1 2846}# - #{e2 2847}#) + (lambda (#{var 2859}# + #{val 2860}# + #{e1 2861}# + #{e2 2862}#) (begin - (let ((#{names 2849}# - (map (lambda (#{x 2850}#) - (#{id-var-name 393}# - #{x 2850}# - #{w 2821}#)) - #{var 2844}#))) + (let ((#{names 2864}# + (map (lambda (#{x 2865}#) + (#{id-var-name 397}# + #{x 2865}# + #{w 2836}#)) + #{var 2859}#))) (begin (for-each - (lambda (#{id 2853}# #{n 2854}#) + (lambda (#{id 2868}# #{n 2869}#) (begin - (let ((#{atom-key 2859}# - (car (#{lookup 333}# - #{n 2854}# - #{r 2820}# - #{mod 2823}#)))) - (if (eqv? #{atom-key 2859}# - 'displaced-lexical) + (let ((#{atom-key 2874}# + (car (#{lookup 337}# + #{n 2869}# + #{r 2835}# + #{mod 2838}#)))) + (if (memv #{atom-key 2874}# + '(displaced-lexical)) (syntax-violation 'fluid-let-syntax "identifier out of context" - #{e 2819}# - (#{source-wrap 407}# - #{id 2853}# - #{w 2821}# - #{s 2822}# - #{mod 2823}#)))))) - #{var 2844}# - #{names 2849}#) - (#{chi-body 427}# - (cons #{e1 2846}# #{e2 2847}#) - (#{source-wrap 407}# - #{e 2819}# - #{w 2821}# - #{s 2822}# - #{mod 2823}#) - (#{extend-env 327}# - #{names 2849}# + #{e 2834}# + (#{source-wrap 411}# + #{id 2868}# + #{w 2836}# + #{s 2837}# + #{mod 2838}#)))))) + #{var 2859}# + #{names 2864}#) + (#{chi-body 431}# + (cons #{e1 2861}# #{e2 2862}#) + (#{source-wrap 411}# + #{e 2834}# + #{w 2836}# + #{s 2837}# + #{mod 2838}#) + (#{extend-env 331}# + #{names 2864}# (begin - (let ((#{trans-r 2865}# - (#{macros-only-env 331}# #{r 2820}#))) - (map (lambda (#{x 2866}#) + (let ((#{trans-r 2880}# + (#{macros-only-env 335}# #{r 2835}#))) + (map (lambda (#{x 2881}#) (cons 'macro - (#{eval-local-transformer 431}# - (#{chi 419}# - #{x 2866}# - #{trans-r 2865}# - #{w 2821}# - #{mod 2823}#) - #{mod 2823}#))) - #{val 2845}#))) - #{r 2820}#) - #{w 2821}# - #{mod 2823}#))))) - #{tmp 2830}#) - (let ((#{_ 2871}# #{tmp 2829}#)) + (#{eval-local-transformer 435}# + (#{chi 423}# + #{x 2881}# + #{trans-r 2880}# + #{w 2836}# + #{mod 2838}#) + #{mod 2838}#))) + #{val 2860}#))) + #{r 2835}#) + #{w 2836}# + #{mod 2838}#))))) + #{tmp 2845}#) + (let ((#{_ 2886}# #{tmp 2844}#)) (syntax-violation 'fluid-let-syntax "bad syntax" - (#{source-wrap 407}# - #{e 2819}# - #{w 2821}# - #{s 2822}# - #{mod 2823}#)))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 2834}# + #{w 2836}# + #{s 2837}# + #{mod 2838}#)))))))) + (#{global-extend 339}# 'core 'quote - (lambda (#{e 2872}# - #{r 2873}# - #{w 2874}# - #{s 2875}# - #{mod 2876}#) - (let ((#{tmp 2882}# #{e 2872}#)) - (let ((#{tmp 2883}# - ($sc-dispatch #{tmp 2882}# '(_ any)))) - (if #{tmp 2883}# + (lambda (#{e 2887}# + #{r 2888}# + #{w 2889}# + #{s 2890}# + #{mod 2891}#) + (let ((#{tmp 2897}# #{e 2887}#)) + (let ((#{tmp 2898}# + ($sc-dispatch #{tmp 2897}# '(_ any)))) + (if #{tmp 2898}# (@apply - (lambda (#{e 2885}#) - (#{build-data 291}# - #{s 2875}# - (#{strip 445}# #{e 2885}# #{w 2874}#))) - #{tmp 2883}#) - (let ((#{_ 2887}# #{tmp 2882}#)) + (lambda (#{e 2900}#) + (#{build-data 295}# + #{s 2890}# + (#{strip 449}# #{e 2900}# #{w 2889}#))) + #{tmp 2898}#) + (let ((#{_ 2902}# #{tmp 2897}#)) (syntax-violation 'quote "bad syntax" - (#{source-wrap 407}# - #{e 2872}# - #{w 2874}# - #{s 2875}# - #{mod 2876}#)))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 2887}# + #{w 2889}# + #{s 2890}# + #{mod 2891}#)))))))) + (#{global-extend 339}# 'core 'syntax (letrec* - ((#{gen-syntax 2889}# - (lambda (#{src 2904}# - #{e 2905}# - #{r 2906}# - #{maps 2907}# - #{ellipsis? 2908}# - #{mod 2909}#) - (if (#{id? 339}# #{e 2905}#) + ((#{gen-syntax 2904}# + (lambda (#{src 2919}# + #{e 2920}# + #{r 2921}# + #{maps 2922}# + #{ellipsis? 2923}# + #{mod 2924}#) + (if (#{id? 343}# #{e 2920}#) (begin - (let ((#{label 2917}# - (#{id-var-name 393}# #{e 2905}# '(())))) + (let ((#{label 2932}# + (#{id-var-name 397}# #{e 2920}# '(())))) (begin - (let ((#{b 2920}# - (#{lookup 333}# - #{label 2917}# - #{r 2906}# - #{mod 2909}#))) - (if (eq? (car #{b 2920}#) 'syntax) + (let ((#{b 2935}# + (#{lookup 337}# + #{label 2932}# + #{r 2921}# + #{mod 2924}#))) + (if (eq? (car #{b 2935}#) 'syntax) (call-with-values (lambda () (begin - (let ((#{var.lev 2923}# (cdr #{b 2920}#))) - (#{gen-ref 2891}# - #{src 2904}# - (car #{var.lev 2923}#) - (cdr #{var.lev 2923}#) - #{maps 2907}#)))) - (lambda (#{var 2925}# #{maps 2926}#) + (let ((#{var.lev 2938}# (cdr #{b 2935}#))) + (#{gen-ref 2906}# + #{src 2919}# + (car #{var.lev 2938}#) + (cdr #{var.lev 2938}#) + #{maps 2922}#)))) + (lambda (#{var 2940}# #{maps 2941}#) (values - (list 'ref #{var 2925}#) - #{maps 2926}#))) - (if (#{ellipsis? 2908}# #{e 2905}#) + (list 'ref #{var 2940}#) + #{maps 2941}#))) + (if (#{ellipsis? 2923}# #{e 2920}#) (syntax-violation 'syntax "misplaced ellipsis" - #{src 2904}#) + #{src 2919}#) (values - (list 'quote #{e 2905}#) - #{maps 2907}#))))))) - (let ((#{tmp 2931}# #{e 2905}#)) - (let ((#{tmp 2932}# - ($sc-dispatch #{tmp 2931}# '(any any)))) - (if (if #{tmp 2932}# + (list 'quote #{e 2920}#) + #{maps 2922}#))))))) + (let ((#{tmp 2946}# #{e 2920}#)) + (let ((#{tmp 2947}# + ($sc-dispatch #{tmp 2946}# '(any any)))) + (if (if #{tmp 2947}# (@apply - (lambda (#{dots 2935}# #{e 2936}#) - (#{ellipsis? 2908}# #{dots 2935}#)) - #{tmp 2932}#) + (lambda (#{dots 2950}# #{e 2951}#) + (#{ellipsis? 2923}# #{dots 2950}#)) + #{tmp 2947}#) #f) (@apply - (lambda (#{dots 2939}# #{e 2940}#) - (#{gen-syntax 2889}# - #{src 2904}# - #{e 2940}# - #{r 2906}# - #{maps 2907}# - (lambda (#{x 2941}#) #f) - #{mod 2909}#)) - #{tmp 2932}#) - (let ((#{tmp 2943}# - ($sc-dispatch #{tmp 2931}# '(any any . any)))) - (if (if #{tmp 2943}# + (lambda (#{dots 2954}# #{e 2955}#) + (#{gen-syntax 2904}# + #{src 2919}# + #{e 2955}# + #{r 2921}# + #{maps 2922}# + (lambda (#{x 2956}#) #f) + #{mod 2924}#)) + #{tmp 2947}#) + (let ((#{tmp 2958}# + ($sc-dispatch #{tmp 2946}# '(any any . any)))) + (if (if #{tmp 2958}# (@apply - (lambda (#{x 2947}# #{dots 2948}# #{y 2949}#) - (#{ellipsis? 2908}# #{dots 2948}#)) - #{tmp 2943}#) + (lambda (#{x 2962}# #{dots 2963}# #{y 2964}#) + (#{ellipsis? 2923}# #{dots 2963}#)) + #{tmp 2958}#) #f) (@apply - (lambda (#{x 2953}# #{dots 2954}# #{y 2955}#) + (lambda (#{x 2968}# #{dots 2969}# #{y 2970}#) (letrec* - ((#{f 2959}# - (lambda (#{y 2960}# #{k 2961}#) - (let ((#{tmp 2968}# #{y 2960}#)) - (let ((#{tmp 2969}# + ((#{f 2974}# + (lambda (#{y 2975}# #{k 2976}#) + (let ((#{tmp 2983}# #{y 2975}#)) + (let ((#{tmp 2984}# ($sc-dispatch - #{tmp 2968}# + #{tmp 2983}# '(any . any)))) - (if (if #{tmp 2969}# + (if (if #{tmp 2984}# (@apply - (lambda (#{dots 2972}# - #{y 2973}#) - (#{ellipsis? 2908}# - #{dots 2972}#)) - #{tmp 2969}#) + (lambda (#{dots 2987}# + #{y 2988}#) + (#{ellipsis? 2923}# + #{dots 2987}#)) + #{tmp 2984}#) #f) (@apply - (lambda (#{dots 2976}# - #{y 2977}#) - (#{f 2959}# - #{y 2977}# - (lambda (#{maps 2978}#) + (lambda (#{dots 2991}# + #{y 2992}#) + (#{f 2974}# + #{y 2992}# + (lambda (#{maps 2993}#) (call-with-values (lambda () - (#{k 2961}# + (#{k 2976}# (cons '() - #{maps 2978}#))) - (lambda (#{x 2980}# - #{maps 2981}#) - (if (null? (car #{maps 2981}#)) + #{maps 2993}#))) + (lambda (#{x 2995}# + #{maps 2996}#) + (if (null? (car #{maps 2996}#)) (syntax-violation 'syntax "extra ellipsis" - #{src 2904}#) + #{src 2919}#) (values - (#{gen-mappend 2893}# - #{x 2980}# - (car #{maps 2981}#)) - (cdr #{maps 2981}#)))))))) - #{tmp 2969}#) - (let ((#{_ 2985}# #{tmp 2968}#)) + (#{gen-mappend 2908}# + #{x 2995}# + (car #{maps 2996}#)) + (cdr #{maps 2996}#)))))))) + #{tmp 2984}#) + (let ((#{_ 3000}# #{tmp 2983}#)) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{src 2904}# - #{y 2960}# - #{r 2906}# - #{maps 2907}# - #{ellipsis? 2908}# - #{mod 2909}#)) - (lambda (#{y 2986}# - #{maps 2987}#) + (#{gen-syntax 2904}# + #{src 2919}# + #{y 2975}# + #{r 2921}# + #{maps 2922}# + #{ellipsis? 2923}# + #{mod 2924}#)) + (lambda (#{y 3001}# + #{maps 3002}#) (call-with-values (lambda () - (#{k 2961}# - #{maps 2987}#)) - (lambda (#{x 2990}# - #{maps 2991}#) + (#{k 2976}# + #{maps 3002}#)) + (lambda (#{x 3005}# + #{maps 3006}#) (values - (#{gen-append 2899}# - #{x 2990}# - #{y 2986}#) - #{maps 2991}#)))))))))))) + (#{gen-append 2914}# + #{x 3005}# + #{y 3001}#) + #{maps 3006}#)))))))))))) (begin - (#{f 2959}# - #{y 2955}# - (lambda (#{maps 2962}#) + (#{f 2974}# + #{y 2970}# + (lambda (#{maps 2977}#) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{src 2904}# - #{x 2953}# - #{r 2906}# - (cons '() #{maps 2962}#) - #{ellipsis? 2908}# - #{mod 2909}#)) - (lambda (#{x 2964}# #{maps 2965}#) - (if (null? (car #{maps 2965}#)) + (#{gen-syntax 2904}# + #{src 2919}# + #{x 2968}# + #{r 2921}# + (cons '() #{maps 2977}#) + #{ellipsis? 2923}# + #{mod 2924}#)) + (lambda (#{x 2979}# #{maps 2980}#) + (if (null? (car #{maps 2980}#)) (syntax-violation 'syntax "extra ellipsis" - #{src 2904}#) + #{src 2919}#) (values - (#{gen-map 2895}# - #{x 2964}# - (car #{maps 2965}#)) - (cdr #{maps 2965}#)))))))))) - #{tmp 2943}#) - (let ((#{tmp 2994}# - ($sc-dispatch #{tmp 2931}# '(any . any)))) - (if #{tmp 2994}# + (#{gen-map 2910}# + #{x 2979}# + (car #{maps 2980}#)) + (cdr #{maps 2980}#)))))))))) + #{tmp 2958}#) + (let ((#{tmp 3009}# + ($sc-dispatch #{tmp 2946}# '(any . any)))) + (if #{tmp 3009}# (@apply - (lambda (#{x 2997}# #{y 2998}#) + (lambda (#{x 3012}# #{y 3013}#) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{src 2904}# - #{x 2997}# - #{r 2906}# - #{maps 2907}# - #{ellipsis? 2908}# - #{mod 2909}#)) - (lambda (#{x 2999}# #{maps 3000}#) + (#{gen-syntax 2904}# + #{src 2919}# + #{x 3012}# + #{r 2921}# + #{maps 2922}# + #{ellipsis? 2923}# + #{mod 2924}#)) + (lambda (#{x 3014}# #{maps 3015}#) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{src 2904}# - #{y 2998}# - #{r 2906}# - #{maps 3000}# - #{ellipsis? 2908}# - #{mod 2909}#)) - (lambda (#{y 3003}# #{maps 3004}#) + (#{gen-syntax 2904}# + #{src 2919}# + #{y 3013}# + #{r 2921}# + #{maps 3015}# + #{ellipsis? 2923}# + #{mod 2924}#)) + (lambda (#{y 3018}# #{maps 3019}#) (values - (#{gen-cons 2897}# - #{x 2999}# - #{y 3003}#) - #{maps 3004}#)))))) - #{tmp 2994}#) - (let ((#{tmp 3007}# + (#{gen-cons 2912}# + #{x 3014}# + #{y 3018}#) + #{maps 3019}#)))))) + #{tmp 3009}#) + (let ((#{tmp 3022}# ($sc-dispatch - #{tmp 2931}# + #{tmp 2946}# '#(vector (any . each-any))))) - (if #{tmp 3007}# + (if #{tmp 3022}# (@apply - (lambda (#{e1 3010}# #{e2 3011}#) + (lambda (#{e1 3025}# #{e2 3026}#) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{src 2904}# - (cons #{e1 3010}# #{e2 3011}#) - #{r 2906}# - #{maps 2907}# - #{ellipsis? 2908}# - #{mod 2909}#)) - (lambda (#{e 3013}# #{maps 3014}#) + (#{gen-syntax 2904}# + #{src 2919}# + (cons #{e1 3025}# #{e2 3026}#) + #{r 2921}# + #{maps 2922}# + #{ellipsis? 2923}# + #{mod 2924}#)) + (lambda (#{e 3028}# #{maps 3029}#) (values - (#{gen-vector 2901}# #{e 3013}#) - #{maps 3014}#)))) - #{tmp 3007}#) - (let ((#{_ 3018}# #{tmp 2931}#)) + (#{gen-vector 2916}# #{e 3028}#) + #{maps 3029}#)))) + #{tmp 3022}#) + (let ((#{_ 3033}# #{tmp 2946}#)) (values - (list 'quote #{e 2905}#) - #{maps 2907}#)))))))))))))) - (#{gen-ref 2891}# - (lambda (#{src 3020}# - #{var 3021}# - #{level 3022}# - #{maps 3023}#) - (if (= #{level 3022}# 0) - (values #{var 3021}# #{maps 3023}#) - (if (null? #{maps 3023}#) + (list 'quote #{e 2920}#) + #{maps 2922}#)))))))))))))) + (#{gen-ref 2906}# + (lambda (#{src 3035}# + #{var 3036}# + #{level 3037}# + #{maps 3038}#) + (if (= #{level 3037}# 0) + (values #{var 3036}# #{maps 3038}#) + (if (null? #{maps 3038}#) (syntax-violation 'syntax "missing ellipsis" - #{src 3020}#) + #{src 3035}#) (call-with-values (lambda () - (#{gen-ref 2891}# - #{src 3020}# - #{var 3021}# - (#{1-}# #{level 3022}#) - (cdr #{maps 3023}#))) - (lambda (#{outer-var 3030}# #{outer-maps 3031}#) + (#{gen-ref 2906}# + #{src 3035}# + #{var 3036}# + (#{1-}# #{level 3037}#) + (cdr #{maps 3038}#))) + (lambda (#{outer-var 3045}# #{outer-maps 3046}#) (begin - (let ((#{b 3035}# - (assq #{outer-var 3030}# - (car #{maps 3023}#)))) - (if #{b 3035}# - (values (cdr #{b 3035}#) #{maps 3023}#) + (let ((#{b 3050}# + (assq #{outer-var 3045}# + (car #{maps 3038}#)))) + (if #{b 3050}# + (values (cdr #{b 3050}#) #{maps 3038}#) (begin - (let ((#{inner-var 3037}# - (#{gen-var 447}# 'tmp))) + (let ((#{inner-var 3052}# + (#{gen-var 451}# 'tmp))) (values - #{inner-var 3037}# - (cons (cons (cons #{outer-var 3030}# - #{inner-var 3037}#) - (car #{maps 3023}#)) - #{outer-maps 3031}#))))))))))))) - (#{gen-mappend 2893}# - (lambda (#{e 3038}# #{map-env 3039}#) + #{inner-var 3052}# + (cons (cons (cons #{outer-var 3045}# + #{inner-var 3052}#) + (car #{maps 3038}#)) + #{outer-maps 3046}#))))))))))))) + (#{gen-mappend 2908}# + (lambda (#{e 3053}# #{map-env 3054}#) (list 'apply '(primitive append) - (#{gen-map 2895}# #{e 3038}# #{map-env 3039}#)))) - (#{gen-map 2895}# - (lambda (#{e 3043}# #{map-env 3044}#) + (#{gen-map 2910}# #{e 3053}# #{map-env 3054}#)))) + (#{gen-map 2910}# + (lambda (#{e 3058}# #{map-env 3059}#) (begin - (let ((#{formals 3049}# (map cdr #{map-env 3044}#)) - (#{actuals 3050}# - (map (lambda (#{x 3051}#) - (list 'ref (car #{x 3051}#))) - #{map-env 3044}#))) - (if (eq? (car #{e 3043}#) 'ref) - (car #{actuals 3050}#) + (let ((#{formals 3064}# (map cdr #{map-env 3059}#)) + (#{actuals 3065}# + (map (lambda (#{x 3066}#) + (list 'ref (car #{x 3066}#))) + #{map-env 3059}#))) + (if (eq? (car #{e 3058}#) 'ref) + (car #{actuals 3065}#) (if (and-map - (lambda (#{x 3058}#) - (if (eq? (car #{x 3058}#) 'ref) - (memq (car (cdr #{x 3058}#)) #{formals 3049}#) + (lambda (#{x 3073}#) + (if (eq? (car #{x 3073}#) 'ref) + (memq (car (cdr #{x 3073}#)) #{formals 3064}#) #f)) - (cdr #{e 3043}#)) + (cdr #{e 3058}#)) (cons 'map - (cons (list 'primitive (car #{e 3043}#)) + (cons (list 'primitive (car #{e 3058}#)) (map (begin - (let ((#{r 3064}# + (let ((#{r 3079}# (map cons - #{formals 3049}# - #{actuals 3050}#))) - (lambda (#{x 3065}#) - (cdr (assq (car (cdr #{x 3065}#)) - #{r 3064}#))))) - (cdr #{e 3043}#)))) + #{formals 3064}# + #{actuals 3065}#))) + (lambda (#{x 3080}#) + (cdr (assq (car (cdr #{x 3080}#)) + #{r 3079}#))))) + (cdr #{e 3058}#)))) (cons 'map - (cons (list 'lambda #{formals 3049}# #{e 3043}#) - #{actuals 3050}#)))))))) - (#{gen-cons 2897}# - (lambda (#{x 3069}# #{y 3070}#) + (cons (list 'lambda #{formals 3064}# #{e 3058}#) + #{actuals 3065}#)))))))) + (#{gen-cons 2912}# + (lambda (#{x 3084}# #{y 3085}#) (begin - (let ((#{atom-key 3075}# (car #{y 3070}#))) - (if (eqv? #{atom-key 3075}# 'quote) - (if (eq? (car #{x 3069}#) 'quote) + (let ((#{atom-key 3090}# (car #{y 3085}#))) + (if (memv #{atom-key 3090}# '(quote)) + (if (eq? (car #{x 3084}#) 'quote) (list 'quote - (cons (car (cdr #{x 3069}#)) - (car (cdr #{y 3070}#)))) - (if (eq? (car (cdr #{y 3070}#)) '()) - (list 'list #{x 3069}#) - (list 'cons #{x 3069}# #{y 3070}#))) - (if (eqv? #{atom-key 3075}# 'list) - (cons 'list (cons #{x 3069}# (cdr #{y 3070}#))) - (list 'cons #{x 3069}# #{y 3070}#))))))) - (#{gen-append 2899}# - (lambda (#{x 3084}# #{y 3085}#) - (if (equal? #{y 3085}# ''()) - #{x 3084}# - (list 'append #{x 3084}# #{y 3085}#)))) - (#{gen-vector 2901}# - (lambda (#{x 3089}#) - (if (eq? (car #{x 3089}#) 'list) - (cons 'vector (cdr #{x 3089}#)) - (if (eq? (car #{x 3089}#) 'quote) + (cons (car (cdr #{x 3084}#)) + (car (cdr #{y 3085}#)))) + (if (eq? (car (cdr #{y 3085}#)) '()) + (list 'list #{x 3084}#) + (list 'cons #{x 3084}# #{y 3085}#))) + (if (memv #{atom-key 3090}# '(list)) + (cons 'list (cons #{x 3084}# (cdr #{y 3085}#))) + (list 'cons #{x 3084}# #{y 3085}#))))))) + (#{gen-append 2914}# + (lambda (#{x 3099}# #{y 3100}#) + (if (equal? #{y 3100}# ''()) + #{x 3099}# + (list 'append #{x 3099}# #{y 3100}#)))) + (#{gen-vector 2916}# + (lambda (#{x 3104}#) + (if (eq? (car #{x 3104}#) 'list) + (cons 'vector (cdr #{x 3104}#)) + (if (eq? (car #{x 3104}#) 'quote) (list 'quote - (list->vector (car (cdr #{x 3089}#)))) - (list 'list->vector #{x 3089}#))))) - (#{regen 2903}# - (lambda (#{x 3099}#) + (list->vector (car (cdr #{x 3104}#)))) + (list 'list->vector #{x 3104}#))))) + (#{regen 2918}# + (lambda (#{x 3114}#) (begin - (let ((#{atom-key 3103}# (car #{x 3099}#))) - (if (eqv? #{atom-key 3103}# 'ref) - (#{build-lexical-reference 271}# + (let ((#{atom-key 3118}# (car #{x 3114}#))) + (if (memv #{atom-key 3118}# '(ref)) + (#{build-lexical-reference 273}# 'value #f - (car (cdr #{x 3099}#)) - (car (cdr #{x 3099}#))) - (if (eqv? #{atom-key 3103}# 'primitive) - (#{build-primref 289}# #f (car (cdr #{x 3099}#))) - (if (eqv? #{atom-key 3103}# 'quote) - (#{build-data 291}# #f (car (cdr #{x 3099}#))) - (if (eqv? #{atom-key 3103}# 'lambda) - (if (list? (car (cdr #{x 3099}#))) - (#{build-simple-lambda 283}# + (car (cdr #{x 3114}#)) + (car (cdr #{x 3114}#))) + (if (memv #{atom-key 3118}# '(primitive)) + (#{build-primref 293}# #f (car (cdr #{x 3114}#))) + (if (memv #{atom-key 3118}# '(quote)) + (#{build-data 295}# #f (car (cdr #{x 3114}#))) + (if (memv #{atom-key 3118}# '(lambda)) + (if (list? (car (cdr #{x 3114}#))) + (#{build-simple-lambda 285}# #f - (car (cdr #{x 3099}#)) + (car (cdr #{x 3114}#)) #f - (car (cdr #{x 3099}#)) + (car (cdr #{x 3114}#)) '() - (#{regen 2903}# (car (cdr (cdr #{x 3099}#))))) - (error "how did we get here" #{x 3099}#)) - (#{build-call 265}# + (#{regen 2918}# (car (cdr (cdr #{x 3114}#))))) + (error "how did we get here" #{x 3114}#)) + (#{build-primcall 291}# #f - (#{build-primref 289}# #f (car #{x 3099}#)) - (map #{regen 2903}# (cdr #{x 3099}#)))))))))))) + (car #{x 3114}#) + (map #{regen 2918}# (cdr #{x 3114}#)))))))))))) (begin - (lambda (#{e 3115}# - #{r 3116}# - #{w 3117}# - #{s 3118}# - #{mod 3119}#) + (lambda (#{e 3129}# + #{r 3130}# + #{w 3131}# + #{s 3132}# + #{mod 3133}#) (begin - (let ((#{e 3126}# - (#{source-wrap 407}# - #{e 3115}# - #{w 3117}# - #{s 3118}# - #{mod 3119}#))) - (let ((#{tmp 3127}# #{e 3126}#)) - (let ((#{tmp 3128}# - ($sc-dispatch #{tmp 3127}# '(_ any)))) - (if #{tmp 3128}# + (let ((#{e 3140}# + (#{source-wrap 411}# + #{e 3129}# + #{w 3131}# + #{s 3132}# + #{mod 3133}#))) + (let ((#{tmp 3141}# #{e 3140}#)) + (let ((#{tmp 3142}# + ($sc-dispatch #{tmp 3141}# '(_ any)))) + (if #{tmp 3142}# (@apply - (lambda (#{x 3130}#) + (lambda (#{x 3144}#) (call-with-values (lambda () - (#{gen-syntax 2889}# - #{e 3126}# - #{x 3130}# - #{r 3116}# + (#{gen-syntax 2904}# + #{e 3140}# + #{x 3144}# + #{r 3130}# '() - #{ellipsis? 435}# - #{mod 3119}#)) - (lambda (#{e 3131}# #{maps 3132}#) - (#{regen 2903}# #{e 3131}#)))) - #{tmp 3128}#) - (let ((#{_ 3136}# #{tmp 3127}#)) + #{ellipsis? 439}# + #{mod 3133}#)) + (lambda (#{e 3145}# #{maps 3146}#) + (#{regen 2918}# #{e 3145}#)))) + #{tmp 3142}#) + (let ((#{_ 3150}# #{tmp 3141}#)) (syntax-violation 'syntax "bad `syntax' form" - #{e 3126}#))))))))))) - (#{global-extend 335}# + #{e 3140}#))))))))))) + (#{global-extend 339}# 'core 'lambda - (lambda (#{e 3137}# - #{r 3138}# - #{w 3139}# - #{s 3140}# - #{mod 3141}#) - (let ((#{tmp 3147}# #{e 3137}#)) - (let ((#{tmp 3148}# + (lambda (#{e 3151}# + #{r 3152}# + #{w 3153}# + #{s 3154}# + #{mod 3155}#) + (let ((#{tmp 3161}# #{e 3151}#)) + (let ((#{tmp 3162}# ($sc-dispatch - #{tmp 3147}# + #{tmp 3161}# '(_ any any . each-any)))) - (if #{tmp 3148}# + (if #{tmp 3162}# (@apply - (lambda (#{args 3152}# #{e1 3153}# #{e2 3154}#) + (lambda (#{args 3166}# #{e1 3167}# #{e2 3168}#) (call-with-values (lambda () - (#{lambda-formals 437}# #{args 3152}#)) - (lambda (#{req 3155}# - #{opt 3156}# - #{rest 3157}# - #{kw 3158}#) + (#{lambda-formals 441}# #{args 3166}#)) + (lambda (#{req 3169}# + #{opt 3170}# + #{rest 3171}# + #{kw 3172}#) (letrec* - ((#{lp 3166}# - (lambda (#{body 3167}# #{meta 3168}#) - (let ((#{tmp 3170}# #{body 3167}#)) - (let ((#{tmp 3171}# + ((#{lp 3180}# + (lambda (#{body 3181}# #{meta 3182}#) + (let ((#{tmp 3184}# #{body 3181}#)) + (let ((#{tmp 3185}# ($sc-dispatch - #{tmp 3170}# + #{tmp 3184}# '(any any . each-any)))) - (if (if #{tmp 3171}# + (if (if #{tmp 3185}# (@apply - (lambda (#{docstring 3175}# - #{e1 3176}# - #{e2 3177}#) + (lambda (#{docstring 3189}# + #{e1 3190}# + #{e2 3191}#) (string? (syntax->datum - #{docstring 3175}#))) - #{tmp 3171}#) + #{docstring 3189}#))) + #{tmp 3185}#) #f) (@apply - (lambda (#{docstring 3181}# - #{e1 3182}# - #{e2 3183}#) - (#{lp 3166}# - (cons #{e1 3182}# #{e2 3183}#) + (lambda (#{docstring 3195}# + #{e1 3196}# + #{e2 3197}#) + (#{lp 3180}# + (cons #{e1 3196}# #{e2 3197}#) (append - #{meta 3168}# + #{meta 3182}# (list (cons 'documentation (syntax->datum - #{docstring 3181}#)))))) - #{tmp 3171}#) - (let ((#{tmp 3186}# + #{docstring 3195}#)))))) + #{tmp 3185}#) + (let ((#{tmp 3200}# ($sc-dispatch - #{tmp 3170}# + #{tmp 3184}# '(#(vector #(each (any . any))) any . each-any)))) - (if #{tmp 3186}# + (if #{tmp 3200}# (@apply - (lambda (#{k 3191}# - #{v 3192}# - #{e1 3193}# - #{e2 3194}#) - (#{lp 3166}# - (cons #{e1 3193}# #{e2 3194}#) + (lambda (#{k 3205}# + #{v 3206}# + #{e1 3207}# + #{e2 3208}#) + (#{lp 3180}# + (cons #{e1 3207}# #{e2 3208}#) (append - #{meta 3168}# + #{meta 3182}# (syntax->datum (map cons - #{k 3191}# - #{v 3192}#))))) - #{tmp 3186}#) - (let ((#{_ 3199}# #{tmp 3170}#)) - (#{chi-simple-lambda 439}# - #{e 3137}# - #{r 3138}# - #{w 3139}# - #{s 3140}# - #{mod 3141}# - #{req 3155}# - #{rest 3157}# - #{meta 3168}# - #{body 3167}#)))))))))) + #{k 3205}# + #{v 3206}#))))) + #{tmp 3200}#) + (let ((#{_ 3213}# #{tmp 3184}#)) + (#{chi-simple-lambda 443}# + #{e 3151}# + #{r 3152}# + #{w 3153}# + #{s 3154}# + #{mod 3155}# + #{req 3169}# + #{rest 3171}# + #{meta 3182}# + #{body 3181}#)))))))))) (begin - (#{lp 3166}# - (cons #{e1 3153}# #{e2 3154}#) + (#{lp 3180}# + (cons #{e1 3167}# #{e2 3168}#) '())))))) - #{tmp 3148}#) - (let ((#{_ 3201}# #{tmp 3147}#)) + #{tmp 3162}#) + (let ((#{_ 3215}# #{tmp 3161}#)) (syntax-violation 'lambda "bad lambda" - #{e 3137}#))))))) - (#{global-extend 335}# + #{e 3151}#))))))) + (#{global-extend 339}# 'core 'lambda* - (lambda (#{e 3202}# - #{r 3203}# - #{w 3204}# - #{s 3205}# - #{mod 3206}#) - (let ((#{tmp 3212}# #{e 3202}#)) - (let ((#{tmp 3213}# + (lambda (#{e 3216}# + #{r 3217}# + #{w 3218}# + #{s 3219}# + #{mod 3220}#) + (let ((#{tmp 3226}# #{e 3216}#)) + (let ((#{tmp 3227}# ($sc-dispatch - #{tmp 3212}# + #{tmp 3226}# '(_ any any . each-any)))) - (if #{tmp 3213}# + (if #{tmp 3227}# (@apply - (lambda (#{args 3217}# #{e1 3218}# #{e2 3219}#) + (lambda (#{args 3231}# #{e1 3232}# #{e2 3233}#) (call-with-values (lambda () - (#{chi-lambda-case 443}# - #{e 3202}# - #{r 3203}# - #{w 3204}# - #{s 3205}# - #{mod 3206}# - #{lambda*-formals 441}# - (list (cons #{args 3217}# - (cons #{e1 3218}# #{e2 3219}#))))) - (lambda (#{meta 3221}# #{lcase 3222}#) - (#{build-case-lambda 285}# - #{s 3205}# - #{meta 3221}# - #{lcase 3222}#)))) - #{tmp 3213}#) - (let ((#{_ 3226}# #{tmp 3212}#)) + (#{chi-lambda-case 447}# + #{e 3216}# + #{r 3217}# + #{w 3218}# + #{s 3219}# + #{mod 3220}# + #{lambda*-formals 445}# + (list (cons #{args 3231}# + (cons #{e1 3232}# #{e2 3233}#))))) + (lambda (#{meta 3235}# #{lcase 3236}#) + (#{build-case-lambda 287}# + #{s 3219}# + #{meta 3235}# + #{lcase 3236}#)))) + #{tmp 3227}#) + (let ((#{_ 3240}# #{tmp 3226}#)) (syntax-violation 'lambda "bad lambda*" - #{e 3202}#))))))) - (#{global-extend 335}# + #{e 3216}#))))))) + (#{global-extend 339}# 'core 'case-lambda - (lambda (#{e 3227}# - #{r 3228}# - #{w 3229}# - #{s 3230}# - #{mod 3231}#) - (let ((#{tmp 3237}# #{e 3227}#)) - (let ((#{tmp 3238}# + (lambda (#{e 3241}# + #{r 3242}# + #{w 3243}# + #{s 3244}# + #{mod 3245}#) + (let ((#{tmp 3251}# #{e 3241}#)) + (let ((#{tmp 3252}# ($sc-dispatch - #{tmp 3237}# + #{tmp 3251}# '(_ (any any . each-any) . #(each (any any . each-any)))))) - (if #{tmp 3238}# + (if #{tmp 3252}# (@apply - (lambda (#{args 3245}# - #{e1 3246}# - #{e2 3247}# - #{args* 3248}# - #{e1* 3249}# - #{e2* 3250}#) + (lambda (#{args 3259}# + #{e1 3260}# + #{e2 3261}# + #{args* 3262}# + #{e1* 3263}# + #{e2* 3264}#) (call-with-values (lambda () - (#{chi-lambda-case 443}# - #{e 3227}# - #{r 3228}# - #{w 3229}# - #{s 3230}# - #{mod 3231}# - #{lambda-formals 437}# - (cons (cons #{args 3245}# - (cons #{e1 3246}# #{e2 3247}#)) - (map (lambda (#{tmp 3254}# - #{tmp 3253}# - #{tmp 3252}#) - (cons #{tmp 3252}# - (cons #{tmp 3253}# #{tmp 3254}#))) - #{e2* 3250}# - #{e1* 3249}# - #{args* 3248}#)))) - (lambda (#{meta 3256}# #{lcase 3257}#) - (#{build-case-lambda 285}# - #{s 3230}# - #{meta 3256}# - #{lcase 3257}#)))) - #{tmp 3238}#) - (let ((#{_ 3261}# #{tmp 3237}#)) + (#{chi-lambda-case 447}# + #{e 3241}# + #{r 3242}# + #{w 3243}# + #{s 3244}# + #{mod 3245}# + #{lambda-formals 441}# + (cons (cons #{args 3259}# + (cons #{e1 3260}# #{e2 3261}#)) + (map (lambda (#{tmp 3268}# + #{tmp 3267}# + #{tmp 3266}#) + (cons #{tmp 3266}# + (cons #{tmp 3267}# #{tmp 3268}#))) + #{e2* 3264}# + #{e1* 3263}# + #{args* 3262}#)))) + (lambda (#{meta 3270}# #{lcase 3271}#) + (#{build-case-lambda 287}# + #{s 3244}# + #{meta 3270}# + #{lcase 3271}#)))) + #{tmp 3252}#) + (let ((#{_ 3275}# #{tmp 3251}#)) (syntax-violation 'case-lambda "bad case-lambda" - #{e 3227}#))))))) - (#{global-extend 335}# + #{e 3241}#))))))) + (#{global-extend 339}# 'core 'case-lambda* - (lambda (#{e 3262}# - #{r 3263}# - #{w 3264}# - #{s 3265}# - #{mod 3266}#) - (let ((#{tmp 3272}# #{e 3262}#)) - (let ((#{tmp 3273}# + (lambda (#{e 3276}# + #{r 3277}# + #{w 3278}# + #{s 3279}# + #{mod 3280}#) + (let ((#{tmp 3286}# #{e 3276}#)) + (let ((#{tmp 3287}# ($sc-dispatch - #{tmp 3272}# + #{tmp 3286}# '(_ (any any . each-any) . #(each (any any . each-any)))))) - (if #{tmp 3273}# + (if #{tmp 3287}# (@apply - (lambda (#{args 3280}# - #{e1 3281}# - #{e2 3282}# - #{args* 3283}# - #{e1* 3284}# - #{e2* 3285}#) + (lambda (#{args 3294}# + #{e1 3295}# + #{e2 3296}# + #{args* 3297}# + #{e1* 3298}# + #{e2* 3299}#) (call-with-values (lambda () - (#{chi-lambda-case 443}# - #{e 3262}# - #{r 3263}# - #{w 3264}# - #{s 3265}# - #{mod 3266}# - #{lambda*-formals 441}# - (cons (cons #{args 3280}# - (cons #{e1 3281}# #{e2 3282}#)) - (map (lambda (#{tmp 3289}# - #{tmp 3288}# - #{tmp 3287}#) - (cons #{tmp 3287}# - (cons #{tmp 3288}# #{tmp 3289}#))) - #{e2* 3285}# - #{e1* 3284}# - #{args* 3283}#)))) - (lambda (#{meta 3291}# #{lcase 3292}#) - (#{build-case-lambda 285}# - #{s 3265}# - #{meta 3291}# - #{lcase 3292}#)))) - #{tmp 3273}#) - (let ((#{_ 3296}# #{tmp 3272}#)) + (#{chi-lambda-case 447}# + #{e 3276}# + #{r 3277}# + #{w 3278}# + #{s 3279}# + #{mod 3280}# + #{lambda*-formals 445}# + (cons (cons #{args 3294}# + (cons #{e1 3295}# #{e2 3296}#)) + (map (lambda (#{tmp 3303}# + #{tmp 3302}# + #{tmp 3301}#) + (cons #{tmp 3301}# + (cons #{tmp 3302}# #{tmp 3303}#))) + #{e2* 3299}# + #{e1* 3298}# + #{args* 3297}#)))) + (lambda (#{meta 3305}# #{lcase 3306}#) + (#{build-case-lambda 287}# + #{s 3279}# + #{meta 3305}# + #{lcase 3306}#)))) + #{tmp 3287}#) + (let ((#{_ 3310}# #{tmp 3286}#)) (syntax-violation 'case-lambda "bad case-lambda*" - #{e 3262}#))))))) - (#{global-extend 335}# + #{e 3276}#))))))) + (#{global-extend 339}# 'core 'let (letrec* - ((#{chi-let 3298}# - (lambda (#{e 3299}# - #{r 3300}# - #{w 3301}# - #{s 3302}# - #{mod 3303}# - #{constructor 3304}# - #{ids 3305}# - #{vals 3306}# - #{exps 3307}#) - (if (not (#{valid-bound-ids? 399}# #{ids 3305}#)) + ((#{chi-let 3312}# + (lambda (#{e 3313}# + #{r 3314}# + #{w 3315}# + #{s 3316}# + #{mod 3317}# + #{constructor 3318}# + #{ids 3319}# + #{vals 3320}# + #{exps 3321}#) + (if (not (#{valid-bound-ids? 403}# #{ids 3319}#)) (syntax-violation 'let "duplicate bound variable" - #{e 3299}#) + #{e 3313}#) (begin - (let ((#{labels 3319}# - (#{gen-labels 354}# #{ids 3305}#)) - (#{new-vars 3320}# - (map #{gen-var 447}# #{ids 3305}#))) + (let ((#{labels 3333}# + (#{gen-labels 358}# #{ids 3319}#)) + (#{new-vars 3334}# + (map #{gen-var 451}# #{ids 3319}#))) (begin - (let ((#{nw 3323}# - (#{make-binding-wrap 383}# - #{ids 3305}# - #{labels 3319}# - #{w 3301}#)) - (#{nr 3324}# - (#{extend-var-env 329}# - #{labels 3319}# - #{new-vars 3320}# - #{r 3300}#))) - (#{constructor 3304}# - #{s 3302}# - (map syntax->datum #{ids 3305}#) - #{new-vars 3320}# - (map (lambda (#{x 3325}#) - (#{chi 419}# - #{x 3325}# - #{r 3300}# - #{w 3301}# - #{mod 3303}#)) - #{vals 3306}#) - (#{chi-body 427}# - #{exps 3307}# - (#{source-wrap 407}# - #{e 3299}# - #{nw 3323}# - #{s 3302}# - #{mod 3303}#) - #{nr 3324}# - #{nw 3323}# - #{mod 3303}#)))))))))) + (let ((#{nw 3337}# + (#{make-binding-wrap 387}# + #{ids 3319}# + #{labels 3333}# + #{w 3315}#)) + (#{nr 3338}# + (#{extend-var-env 333}# + #{labels 3333}# + #{new-vars 3334}# + #{r 3314}#))) + (#{constructor 3318}# + #{s 3316}# + (map syntax->datum #{ids 3319}#) + #{new-vars 3334}# + (map (lambda (#{x 3339}#) + (#{chi 423}# + #{x 3339}# + #{r 3314}# + #{w 3315}# + #{mod 3317}#)) + #{vals 3320}#) + (#{chi-body 431}# + #{exps 3321}# + (#{source-wrap 411}# + #{e 3313}# + #{nw 3337}# + #{s 3316}# + #{mod 3317}#) + #{nr 3338}# + #{nw 3337}# + #{mod 3317}#)))))))))) (begin - (lambda (#{e 3327}# - #{r 3328}# - #{w 3329}# - #{s 3330}# - #{mod 3331}#) - (let ((#{tmp 3337}# #{e 3327}#)) - (let ((#{tmp 3338}# + (lambda (#{e 3341}# + #{r 3342}# + #{w 3343}# + #{s 3344}# + #{mod 3345}#) + (let ((#{tmp 3351}# #{e 3341}#)) + (let ((#{tmp 3352}# ($sc-dispatch - #{tmp 3337}# + #{tmp 3351}# '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3338}# + (if (if #{tmp 3352}# (@apply - (lambda (#{id 3343}# - #{val 3344}# - #{e1 3345}# - #{e2 3346}#) - (and-map #{id? 339}# #{id 3343}#)) - #{tmp 3338}#) + (lambda (#{id 3357}# + #{val 3358}# + #{e1 3359}# + #{e2 3360}#) + (and-map #{id? 343}# #{id 3357}#)) + #{tmp 3352}#) #f) (@apply - (lambda (#{id 3352}# - #{val 3353}# - #{e1 3354}# - #{e2 3355}#) - (#{chi-let 3298}# - #{e 3327}# - #{r 3328}# - #{w 3329}# - #{s 3330}# - #{mod 3331}# - #{build-let 295}# - #{id 3352}# - #{val 3353}# - (cons #{e1 3354}# #{e2 3355}#))) - #{tmp 3338}#) - (let ((#{tmp 3359}# + (lambda (#{id 3366}# + #{val 3367}# + #{e1 3368}# + #{e2 3369}#) + (#{chi-let 3312}# + #{e 3341}# + #{r 3342}# + #{w 3343}# + #{s 3344}# + #{mod 3345}# + #{build-let 299}# + #{id 3366}# + #{val 3367}# + (cons #{e1 3368}# #{e2 3369}#))) + #{tmp 3352}#) + (let ((#{tmp 3373}# ($sc-dispatch - #{tmp 3337}# + #{tmp 3351}# '(_ any #(each (any any)) any . each-any)))) - (if (if #{tmp 3359}# + (if (if #{tmp 3373}# (@apply - (lambda (#{f 3365}# - #{id 3366}# - #{val 3367}# - #{e1 3368}# - #{e2 3369}#) - (if (#{id? 339}# #{f 3365}#) - (and-map #{id? 339}# #{id 3366}#) + (lambda (#{f 3379}# + #{id 3380}# + #{val 3381}# + #{e1 3382}# + #{e2 3383}#) + (if (#{id? 343}# #{f 3379}#) + (and-map #{id? 343}# #{id 3380}#) #f)) - #{tmp 3359}#) + #{tmp 3373}#) #f) (@apply - (lambda (#{f 3378}# - #{id 3379}# - #{val 3380}# - #{e1 3381}# - #{e2 3382}#) - (#{chi-let 3298}# - #{e 3327}# - #{r 3328}# - #{w 3329}# - #{s 3330}# - #{mod 3331}# - #{build-named-let 297}# - (cons #{f 3378}# #{id 3379}#) - #{val 3380}# - (cons #{e1 3381}# #{e2 3382}#))) - #{tmp 3359}#) - (let ((#{_ 3387}# #{tmp 3337}#)) + (lambda (#{f 3392}# + #{id 3393}# + #{val 3394}# + #{e1 3395}# + #{e2 3396}#) + (#{chi-let 3312}# + #{e 3341}# + #{r 3342}# + #{w 3343}# + #{s 3344}# + #{mod 3345}# + #{build-named-let 301}# + (cons #{f 3392}# #{id 3393}#) + #{val 3394}# + (cons #{e1 3395}# #{e2 3396}#))) + #{tmp 3373}#) + (let ((#{_ 3401}# #{tmp 3351}#)) (syntax-violation 'let "bad let" - (#{source-wrap 407}# - #{e 3327}# - #{w 3329}# - #{s 3330}# - #{mod 3331}#)))))))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 3341}# + #{w 3343}# + #{s 3344}# + #{mod 3345}#)))))))))))) + (#{global-extend 339}# 'core 'letrec - (lambda (#{e 3388}# - #{r 3389}# - #{w 3390}# - #{s 3391}# - #{mod 3392}#) - (let ((#{tmp 3398}# #{e 3388}#)) - (let ((#{tmp 3399}# + (lambda (#{e 3402}# + #{r 3403}# + #{w 3404}# + #{s 3405}# + #{mod 3406}#) + (let ((#{tmp 3412}# #{e 3402}#)) + (let ((#{tmp 3413}# ($sc-dispatch - #{tmp 3398}# + #{tmp 3412}# '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3399}# + (if (if #{tmp 3413}# (@apply - (lambda (#{id 3404}# - #{val 3405}# - #{e1 3406}# - #{e2 3407}#) - (and-map #{id? 339}# #{id 3404}#)) - #{tmp 3399}#) + (lambda (#{id 3418}# + #{val 3419}# + #{e1 3420}# + #{e2 3421}#) + (and-map #{id? 343}# #{id 3418}#)) + #{tmp 3413}#) #f) (@apply - (lambda (#{id 3413}# - #{val 3414}# - #{e1 3415}# - #{e2 3416}#) + (lambda (#{id 3427}# + #{val 3428}# + #{e1 3429}# + #{e2 3430}#) (begin - (let ((#{ids 3418}# #{id 3413}#)) - (if (not (#{valid-bound-ids? 399}# #{ids 3418}#)) + (let ((#{ids 3432}# #{id 3427}#)) + (if (not (#{valid-bound-ids? 403}# #{ids 3432}#)) (syntax-violation 'letrec "duplicate bound variable" - #{e 3388}#) + #{e 3402}#) (begin - (let ((#{labels 3422}# - (#{gen-labels 354}# #{ids 3418}#)) - (#{new-vars 3423}# - (map #{gen-var 447}# #{ids 3418}#))) + (let ((#{labels 3436}# + (#{gen-labels 358}# #{ids 3432}#)) + (#{new-vars 3437}# + (map #{gen-var 451}# #{ids 3432}#))) (begin - (let ((#{w 3426}# - (#{make-binding-wrap 383}# - #{ids 3418}# - #{labels 3422}# - #{w 3390}#)) - (#{r 3427}# - (#{extend-var-env 329}# - #{labels 3422}# - #{new-vars 3423}# - #{r 3389}#))) - (#{build-letrec 299}# - #{s 3391}# + (let ((#{w 3440}# + (#{make-binding-wrap 387}# + #{ids 3432}# + #{labels 3436}# + #{w 3404}#)) + (#{r 3441}# + (#{extend-var-env 333}# + #{labels 3436}# + #{new-vars 3437}# + #{r 3403}#))) + (#{build-letrec 303}# + #{s 3405}# #f - (map syntax->datum #{ids 3418}#) - #{new-vars 3423}# - (map (lambda (#{x 3428}#) - (#{chi 419}# - #{x 3428}# - #{r 3427}# - #{w 3426}# - #{mod 3392}#)) - #{val 3414}#) - (#{chi-body 427}# - (cons #{e1 3415}# #{e2 3416}#) - (#{source-wrap 407}# - #{e 3388}# - #{w 3426}# - #{s 3391}# - #{mod 3392}#) - #{r 3427}# - #{w 3426}# - #{mod 3392}#)))))))))) - #{tmp 3399}#) - (let ((#{_ 3433}# #{tmp 3398}#)) + (map syntax->datum #{ids 3432}#) + #{new-vars 3437}# + (map (lambda (#{x 3442}#) + (#{chi 423}# + #{x 3442}# + #{r 3441}# + #{w 3440}# + #{mod 3406}#)) + #{val 3428}#) + (#{chi-body 431}# + (cons #{e1 3429}# #{e2 3430}#) + (#{source-wrap 411}# + #{e 3402}# + #{w 3440}# + #{s 3405}# + #{mod 3406}#) + #{r 3441}# + #{w 3440}# + #{mod 3406}#)))))))))) + #{tmp 3413}#) + (let ((#{_ 3447}# #{tmp 3412}#)) (syntax-violation 'letrec "bad letrec" - (#{source-wrap 407}# - #{e 3388}# - #{w 3390}# - #{s 3391}# - #{mod 3392}#)))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 3402}# + #{w 3404}# + #{s 3405}# + #{mod 3406}#)))))))) + (#{global-extend 339}# 'core 'letrec* - (lambda (#{e 3434}# - #{r 3435}# - #{w 3436}# - #{s 3437}# - #{mod 3438}#) - (let ((#{tmp 3444}# #{e 3434}#)) - (let ((#{tmp 3445}# + (lambda (#{e 3448}# + #{r 3449}# + #{w 3450}# + #{s 3451}# + #{mod 3452}#) + (let ((#{tmp 3458}# #{e 3448}#)) + (let ((#{tmp 3459}# ($sc-dispatch - #{tmp 3444}# + #{tmp 3458}# '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3445}# + (if (if #{tmp 3459}# (@apply - (lambda (#{id 3450}# - #{val 3451}# - #{e1 3452}# - #{e2 3453}#) - (and-map #{id? 339}# #{id 3450}#)) - #{tmp 3445}#) + (lambda (#{id 3464}# + #{val 3465}# + #{e1 3466}# + #{e2 3467}#) + (and-map #{id? 343}# #{id 3464}#)) + #{tmp 3459}#) #f) (@apply - (lambda (#{id 3459}# - #{val 3460}# - #{e1 3461}# - #{e2 3462}#) + (lambda (#{id 3473}# + #{val 3474}# + #{e1 3475}# + #{e2 3476}#) (begin - (let ((#{ids 3464}# #{id 3459}#)) - (if (not (#{valid-bound-ids? 399}# #{ids 3464}#)) + (let ((#{ids 3478}# #{id 3473}#)) + (if (not (#{valid-bound-ids? 403}# #{ids 3478}#)) (syntax-violation 'letrec* "duplicate bound variable" - #{e 3434}#) + #{e 3448}#) (begin - (let ((#{labels 3468}# - (#{gen-labels 354}# #{ids 3464}#)) - (#{new-vars 3469}# - (map #{gen-var 447}# #{ids 3464}#))) + (let ((#{labels 3482}# + (#{gen-labels 358}# #{ids 3478}#)) + (#{new-vars 3483}# + (map #{gen-var 451}# #{ids 3478}#))) (begin - (let ((#{w 3472}# - (#{make-binding-wrap 383}# - #{ids 3464}# - #{labels 3468}# - #{w 3436}#)) - (#{r 3473}# - (#{extend-var-env 329}# - #{labels 3468}# - #{new-vars 3469}# - #{r 3435}#))) - (#{build-letrec 299}# - #{s 3437}# + (let ((#{w 3486}# + (#{make-binding-wrap 387}# + #{ids 3478}# + #{labels 3482}# + #{w 3450}#)) + (#{r 3487}# + (#{extend-var-env 333}# + #{labels 3482}# + #{new-vars 3483}# + #{r 3449}#))) + (#{build-letrec 303}# + #{s 3451}# #t - (map syntax->datum #{ids 3464}#) - #{new-vars 3469}# - (map (lambda (#{x 3474}#) - (#{chi 419}# - #{x 3474}# - #{r 3473}# - #{w 3472}# - #{mod 3438}#)) - #{val 3460}#) - (#{chi-body 427}# - (cons #{e1 3461}# #{e2 3462}#) - (#{source-wrap 407}# - #{e 3434}# - #{w 3472}# - #{s 3437}# - #{mod 3438}#) - #{r 3473}# - #{w 3472}# - #{mod 3438}#)))))))))) - #{tmp 3445}#) - (let ((#{_ 3479}# #{tmp 3444}#)) + (map syntax->datum #{ids 3478}#) + #{new-vars 3483}# + (map (lambda (#{x 3488}#) + (#{chi 423}# + #{x 3488}# + #{r 3487}# + #{w 3486}# + #{mod 3452}#)) + #{val 3474}#) + (#{chi-body 431}# + (cons #{e1 3475}# #{e2 3476}#) + (#{source-wrap 411}# + #{e 3448}# + #{w 3486}# + #{s 3451}# + #{mod 3452}#) + #{r 3487}# + #{w 3486}# + #{mod 3452}#)))))))))) + #{tmp 3459}#) + (let ((#{_ 3493}# #{tmp 3458}#)) (syntax-violation 'letrec* "bad letrec*" - (#{source-wrap 407}# - #{e 3434}# - #{w 3436}# - #{s 3437}# - #{mod 3438}#)))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 3448}# + #{w 3450}# + #{s 3451}# + #{mod 3452}#)))))))) + (#{global-extend 339}# 'core 'set! - (lambda (#{e 3480}# - #{r 3481}# - #{w 3482}# - #{s 3483}# - #{mod 3484}#) - (let ((#{tmp 3490}# #{e 3480}#)) - (let ((#{tmp 3491}# - ($sc-dispatch #{tmp 3490}# '(_ any any)))) - (if (if #{tmp 3491}# + (lambda (#{e 3494}# + #{r 3495}# + #{w 3496}# + #{s 3497}# + #{mod 3498}#) + (let ((#{tmp 3504}# #{e 3494}#)) + (let ((#{tmp 3505}# + ($sc-dispatch #{tmp 3504}# '(_ any any)))) + (if (if #{tmp 3505}# (@apply - (lambda (#{id 3494}# #{val 3495}#) - (#{id? 339}# #{id 3494}#)) - #{tmp 3491}#) + (lambda (#{id 3508}# #{val 3509}#) + (#{id? 343}# #{id 3508}#)) + #{tmp 3505}#) #f) (@apply - (lambda (#{id 3498}# #{val 3499}#) + (lambda (#{id 3512}# #{val 3513}#) (begin - (let ((#{n 3502}# - (#{id-var-name 393}# #{id 3498}# #{w 3482}#)) - (#{id-mod 3503}# - (if (#{syntax-object? 305}# #{id 3498}#) - (#{syntax-object-module 311}# #{id 3498}#) - #{mod 3484}#))) + (let ((#{n 3516}# + (#{id-var-name 397}# #{id 3512}# #{w 3496}#)) + (#{id-mod 3517}# + (if (#{syntax-object? 309}# #{id 3512}#) + (#{syntax-object-module 315}# #{id 3512}#) + #{mod 3498}#))) (begin - (let ((#{b 3505}# - (#{lookup 333}# - #{n 3502}# - #{r 3481}# - #{id-mod 3503}#))) + (let ((#{b 3519}# + (#{lookup 337}# + #{n 3516}# + #{r 3495}# + #{id-mod 3517}#))) (begin - (let ((#{atom-key 3508}# (car #{b 3505}#))) - (if (eqv? #{atom-key 3508}# 'lexical) - (#{build-lexical-assignment 273}# - #{s 3483}# - (syntax->datum #{id 3498}#) - (cdr #{b 3505}#) - (#{chi 419}# - #{val 3499}# - #{r 3481}# - #{w 3482}# - #{mod 3484}#)) - (if (eqv? #{atom-key 3508}# 'global) - (#{build-global-assignment 279}# - #{s 3483}# - #{n 3502}# - (#{chi 419}# - #{val 3499}# - #{r 3481}# - #{w 3482}# - #{mod 3484}#) - #{id-mod 3503}#) - (if (eqv? #{atom-key 3508}# 'macro) + (let ((#{atom-key 3522}# (car #{b 3519}#))) + (if (memv #{atom-key 3522}# '(lexical)) + (#{build-lexical-assignment 275}# + #{s 3497}# + (syntax->datum #{id 3512}#) + (cdr #{b 3519}#) + (#{chi 423}# + #{val 3513}# + #{r 3495}# + #{w 3496}# + #{mod 3498}#)) + (if (memv #{atom-key 3522}# '(global)) + (#{build-global-assignment 281}# + #{s 3497}# + #{n 3516}# + (#{chi 423}# + #{val 3513}# + #{r 3495}# + #{w 3496}# + #{mod 3498}#) + #{id-mod 3517}#) + (if (memv #{atom-key 3522}# '(macro)) (begin - (let ((#{p 3515}# (cdr #{b 3505}#))) + (let ((#{p 3529}# (cdr #{b 3519}#))) (if (procedure-property - #{p 3515}# + #{p 3529}# 'variable-transformer) - (#{chi 419}# - (#{chi-macro 425}# - #{p 3515}# - #{e 3480}# - #{r 3481}# - #{w 3482}# - #{s 3483}# + (#{chi 423}# + (#{chi-macro 429}# + #{p 3529}# + #{e 3494}# + #{r 3495}# + #{w 3496}# + #{s 3497}# #f - #{mod 3484}#) - #{r 3481}# + #{mod 3498}#) + #{r 3495}# '(()) - #{mod 3484}#) + #{mod 3498}#) (syntax-violation 'set! "not a variable transformer" - (#{wrap 405}# - #{e 3480}# - #{w 3482}# - #{mod 3484}#) - (#{wrap 405}# - #{id 3498}# - #{w 3482}# - #{id-mod 3503}#))))) - (if (eqv? #{atom-key 3508}# - 'displaced-lexical) + (#{wrap 409}# + #{e 3494}# + #{w 3496}# + #{mod 3498}#) + (#{wrap 409}# + #{id 3512}# + #{w 3496}# + #{id-mod 3517}#))))) + (if (memv #{atom-key 3522}# + '(displaced-lexical)) (syntax-violation 'set! "identifier out of context" - (#{wrap 405}# - #{id 3498}# - #{w 3482}# - #{mod 3484}#)) + (#{wrap 409}# + #{id 3512}# + #{w 3496}# + #{mod 3498}#)) (syntax-violation 'set! "bad set!" - (#{source-wrap 407}# - #{e 3480}# - #{w 3482}# - #{s 3483}# - #{mod 3484}#))))))))))))) - #{tmp 3491}#) - (let ((#{tmp 3520}# + (#{source-wrap 411}# + #{e 3494}# + #{w 3496}# + #{s 3497}# + #{mod 3498}#))))))))))))) + #{tmp 3505}#) + (let ((#{tmp 3534}# ($sc-dispatch - #{tmp 3490}# + #{tmp 3504}# '(_ (any . each-any) any)))) - (if #{tmp 3520}# + (if #{tmp 3534}# (@apply - (lambda (#{head 3524}# #{tail 3525}# #{val 3526}#) + (lambda (#{head 3538}# #{tail 3539}# #{val 3540}#) (call-with-values (lambda () - (#{syntax-type 417}# - #{head 3524}# - #{r 3481}# + (#{syntax-type 421}# + #{head 3538}# + #{r 3495}# '(()) #f #f - #{mod 3484}# + #{mod 3498}# #t)) - (lambda (#{type 3529}# - #{value 3530}# - #{ee 3531}# - #{ww 3532}# - #{ss 3533}# - #{modmod 3534}#) - (if (eqv? #{type 3529}# 'module-ref) + (lambda (#{type 3543}# + #{value 3544}# + #{ee 3545}# + #{ww 3546}# + #{ss 3547}# + #{modmod 3548}#) + (if (memv #{type 3543}# '(module-ref)) (begin - (let ((#{val 3543}# - (#{chi 419}# - #{val 3526}# - #{r 3481}# - #{w 3482}# - #{mod 3484}#))) + (let ((#{val 3557}# + (#{chi 423}# + #{val 3540}# + #{r 3495}# + #{w 3496}# + #{mod 3498}#))) (call-with-values (lambda () - (#{value 3530}# - (cons #{head 3524}# #{tail 3525}#) - #{r 3481}# - #{w 3482}#)) - (lambda (#{e 3545}# - #{r 3546}# - #{w 3547}# - #{s* 3548}# - #{mod 3549}#) - (let ((#{tmp 3555}# #{e 3545}#)) - (let ((#{tmp 3556}# - (list #{tmp 3555}#))) - (if (if #{tmp 3556}# + (#{value 3544}# + (cons #{head 3538}# #{tail 3539}#) + #{r 3495}# + #{w 3496}#)) + (lambda (#{e 3559}# + #{r 3560}# + #{w 3561}# + #{s* 3562}# + #{mod 3563}#) + (let ((#{tmp 3569}# #{e 3559}#)) + (let ((#{tmp 3570}# + (list #{tmp 3569}#))) + (if (if #{tmp 3570}# (@apply - (lambda (#{e 3558}#) - (#{id? 339}# #{e 3558}#)) - #{tmp 3556}#) + (lambda (#{e 3572}#) + (#{id? 343}# #{e 3572}#)) + #{tmp 3570}#) #f) (@apply - (lambda (#{e 3560}#) - (#{build-global-assignment 279}# - #{s 3483}# - (syntax->datum #{e 3560}#) - #{val 3543}# - #{mod 3549}#)) - #{tmp 3556}#) + (lambda (#{e 3574}#) + (#{build-global-assignment 281}# + #{s 3497}# + (syntax->datum #{e 3574}#) + #{val 3557}# + #{mod 3563}#)) + #{tmp 3570}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3555}#)))))))) - (#{build-call 265}# - #{s 3483}# - (#{chi 419}# + #{tmp 3569}#)))))))) + (#{build-call 267}# + #{s 3497}# + (#{chi 423}# (list '#(syntax-object setter ((top) @@ -9924,25 +9987,25 @@ (top) (top) (top)) - #("i3535" - "i3536" - "i3537" - "i3538" - "i3539" - "i3540")) + #("i3549" + "i3550" + "i3551" + "i3552" + "i3553" + "i3554")) #(ribcage #(head tail val) #((top) (top) (top)) - #("i3521" "i3522" "i3523")) + #("i3535" "i3536" "i3537")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) - #("i3485" - "i3486" - "i3487" - "i3488" - "i3489")) + #("i3499" + "i3500" + "i3501" + "i3502" + "i3503")) #(ribcage (lambda-var-list gen-var @@ -10035,6 +10098,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -10068,6 +10132,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -10215,8 +10280,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -10249,14 +10318,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -10264,33 +10333,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -10323,17 +10392,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -10359,50 +10428,50 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) - #{head 3524}#) - #{r 3481}# - #{w 3482}# - #{mod 3484}#) - (map (lambda (#{e 3562}#) - (#{chi 419}# - #{e 3562}# - #{r 3481}# - #{w 3482}# - #{mod 3484}#)) + #{head 3538}#) + #{r 3495}# + #{w 3496}# + #{mod 3498}#) + (map (lambda (#{e 3576}#) + (#{chi 423}# + #{e 3576}# + #{r 3495}# + #{w 3496}# + #{mod 3498}#)) (append - #{tail 3525}# - (list #{val 3526}#)))))))) - #{tmp 3520}#) - (let ((#{_ 3566}# #{tmp 3490}#)) + #{tail 3539}# + (list #{val 3540}#)))))))) + #{tmp 3534}#) + (let ((#{_ 3580}# #{tmp 3504}#)) (syntax-violation 'set! "bad set!" - (#{source-wrap 407}# - #{e 3480}# - #{w 3482}# - #{s 3483}# - #{mod 3484}#)))))))))) - (#{global-extend 335}# + (#{source-wrap 411}# + #{e 3494}# + #{w 3496}# + #{s 3497}# + #{mod 3498}#)))))))))) + (#{global-extend 339}# 'module-ref '@ - (lambda (#{e 3567}# #{r 3568}# #{w 3569}#) - (let ((#{tmp 3573}# #{e 3567}#)) - (let ((#{tmp 3574}# - ($sc-dispatch #{tmp 3573}# '(_ each-any any)))) - (if (if #{tmp 3574}# + (lambda (#{e 3581}# #{r 3582}# #{w 3583}#) + (let ((#{tmp 3587}# #{e 3581}#)) + (let ((#{tmp 3588}# + ($sc-dispatch #{tmp 3587}# '(_ each-any any)))) + (if (if #{tmp 3588}# (@apply - (lambda (#{mod 3577}# #{id 3578}#) - (if (and-map #{id? 339}# #{mod 3577}#) - (#{id? 339}# #{id 3578}#) + (lambda (#{mod 3591}# #{id 3592}#) + (if (and-map #{id? 343}# #{mod 3591}#) + (#{id? 343}# #{id 3592}#) #f)) - #{tmp 3574}#) + #{tmp 3588}#) #f) (@apply - (lambda (#{mod 3584}# #{id 3585}#) + (lambda (#{mod 3598}# #{id 3599}#) (values - (syntax->datum #{id 3585}#) - #{r 3568}# - #{w 3569}# + (syntax->datum #{id 3599}#) + #{r 3582}# + #{w 3583}# #f (syntax->datum (cons '#(syntax-object @@ -10411,12 +10480,12 @@ #(ribcage #(mod id) #((top) (top)) - #("i3582" "i3583")) + #("i3596" "i3597")) #(ribcage () () ()) #(ribcage #(e r w) #((top) (top) (top)) - #("i3570" "i3571" "i3572")) + #("i3584" "i3585" "i3586")) #(ribcage (lambda-var-list gen-var @@ -10509,6 +10578,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -10542,6 +10612,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -10689,8 +10760,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -10723,14 +10798,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -10738,33 +10813,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -10797,17 +10872,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -10833,70 +10908,70 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) - #{mod 3584}#)))) - #{tmp 3574}#) + #{mod 3598}#)))) + #{tmp 3588}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3573}#)))))) - (#{global-extend 335}# + #{tmp 3587}#)))))) + (#{global-extend 339}# 'module-ref '@@ - (lambda (#{e 3587}# #{r 3588}# #{w 3589}#) + (lambda (#{e 3601}# #{r 3602}# #{w 3603}#) (letrec* - ((#{remodulate 3594}# - (lambda (#{x 3595}# #{mod 3596}#) - (if (pair? #{x 3595}#) - (cons (#{remodulate 3594}# - (car #{x 3595}#) - #{mod 3596}#) - (#{remodulate 3594}# - (cdr #{x 3595}#) - #{mod 3596}#)) - (if (#{syntax-object? 305}# #{x 3595}#) - (#{make-syntax-object 303}# - (#{remodulate 3594}# - (#{syntax-object-expression 307}# #{x 3595}#) - #{mod 3596}#) - (#{syntax-object-wrap 309}# #{x 3595}#) - #{mod 3596}#) - (if (vector? #{x 3595}#) + ((#{remodulate 3608}# + (lambda (#{x 3609}# #{mod 3610}#) + (if (pair? #{x 3609}#) + (cons (#{remodulate 3608}# + (car #{x 3609}#) + #{mod 3610}#) + (#{remodulate 3608}# + (cdr #{x 3609}#) + #{mod 3610}#)) + (if (#{syntax-object? 309}# #{x 3609}#) + (#{make-syntax-object 307}# + (#{remodulate 3608}# + (#{syntax-object-expression 311}# #{x 3609}#) + #{mod 3610}#) + (#{syntax-object-wrap 313}# #{x 3609}#) + #{mod 3610}#) + (if (vector? #{x 3609}#) (begin - (let ((#{n 3607}# (vector-length #{x 3595}#))) + (let ((#{n 3621}# (vector-length #{x 3609}#))) (begin - (let ((#{v 3609}# (make-vector #{n 3607}#))) + (let ((#{v 3623}# (make-vector #{n 3621}#))) (letrec* - ((#{loop 3612}# - (lambda (#{i 3613}#) - (if (= #{i 3613}# #{n 3607}#) - (begin (if #f #f) #{v 3609}#) + ((#{loop 3626}# + (lambda (#{i 3627}#) + (if (= #{i 3627}# #{n 3621}#) + (begin (if #f #f) #{v 3623}#) (begin (vector-set! - #{v 3609}# - #{i 3613}# - (#{remodulate 3594}# + #{v 3623}# + #{i 3627}# + (#{remodulate 3608}# (vector-ref - #{x 3595}# - #{i 3613}#) - #{mod 3596}#)) - (#{loop 3612}# - (#{1+}# #{i 3613}#))))))) - (begin (#{loop 3612}# 0))))))) - #{x 3595}#)))))) + #{x 3609}# + #{i 3627}#) + #{mod 3610}#)) + (#{loop 3626}# + (#{1+}# #{i 3627}#))))))) + (begin (#{loop 3626}# 0))))))) + #{x 3609}#)))))) (begin - (let ((#{tmp 3619}# #{e 3587}#)) - (let ((#{tmp 3620}# - ($sc-dispatch #{tmp 3619}# '(_ each-any any)))) - (if (if #{tmp 3620}# + (let ((#{tmp 3633}# #{e 3601}#)) + (let ((#{tmp 3634}# + ($sc-dispatch #{tmp 3633}# '(_ each-any any)))) + (if (if #{tmp 3634}# (@apply - (lambda (#{mod 3623}# #{exp 3624}#) - (and-map #{id? 339}# #{mod 3623}#)) - #{tmp 3620}#) + (lambda (#{mod 3637}# #{exp 3638}#) + (and-map #{id? 343}# #{mod 3637}#)) + #{tmp 3634}#) #f) (@apply - (lambda (#{mod 3628}# #{exp 3629}#) + (lambda (#{mod 3642}# #{exp 3643}#) (begin - (let ((#{mod 3631}# + (let ((#{mod 3645}# (syntax->datum (cons '#(syntax-object private @@ -10904,15 +10979,15 @@ #(ribcage #(mod exp) #((top) (top)) - #("i3626" "i3627")) + #("i3640" "i3641")) #(ribcage (remodulate) ((top)) - ("i3593")) + ("i3607")) #(ribcage #(e r w) #((top) (top) (top)) - #("i3590" "i3591" "i3592")) + #("i3604" "i3605" "i3606")) #(ribcage (lambda-var-list gen-var @@ -11005,6 +11080,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -11038,6 +11114,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -11185,8 +11262,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -11219,14 +11300,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -11234,33 +11315,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -11293,17 +11374,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -11329,169 +11410,169 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) - #{mod 3628}#)))) + #{mod 3642}#)))) (values - (#{remodulate 3594}# #{exp 3629}# #{mod 3631}#) - #{r 3588}# - #{w 3589}# - (#{source-annotation 320}# #{exp 3629}#) - #{mod 3631}#)))) - #{tmp 3620}#) + (#{remodulate 3608}# #{exp 3643}# #{mod 3645}#) + #{r 3602}# + #{w 3603}# + (#{source-annotation 324}# #{exp 3643}#) + #{mod 3645}#)))) + #{tmp 3634}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3619}#)))))))) - (#{global-extend 335}# + #{tmp 3633}#)))))))) + (#{global-extend 339}# 'core 'if - (lambda (#{e 3633}# - #{r 3634}# - #{w 3635}# - #{s 3636}# - #{mod 3637}#) - (let ((#{tmp 3643}# #{e 3633}#)) - (let ((#{tmp 3644}# - ($sc-dispatch #{tmp 3643}# '(_ any any)))) - (if #{tmp 3644}# + (lambda (#{e 3647}# + #{r 3648}# + #{w 3649}# + #{s 3650}# + #{mod 3651}#) + (let ((#{tmp 3657}# #{e 3647}#)) + (let ((#{tmp 3658}# + ($sc-dispatch #{tmp 3657}# '(_ any any)))) + (if #{tmp 3658}# (@apply - (lambda (#{test 3647}# #{then 3648}#) - (#{build-conditional 267}# - #{s 3636}# - (#{chi 419}# - #{test 3647}# - #{r 3634}# - #{w 3635}# - #{mod 3637}#) - (#{chi 419}# - #{then 3648}# - #{r 3634}# - #{w 3635}# - #{mod 3637}#) - (#{build-void 263}# #f))) - #{tmp 3644}#) - (let ((#{tmp 3650}# - ($sc-dispatch #{tmp 3643}# '(_ any any any)))) - (if #{tmp 3650}# + (lambda (#{test 3661}# #{then 3662}#) + (#{build-conditional 269}# + #{s 3650}# + (#{chi 423}# + #{test 3661}# + #{r 3648}# + #{w 3649}# + #{mod 3651}#) + (#{chi 423}# + #{then 3662}# + #{r 3648}# + #{w 3649}# + #{mod 3651}#) + (#{build-void 265}# #f))) + #{tmp 3658}#) + (let ((#{tmp 3664}# + ($sc-dispatch #{tmp 3657}# '(_ any any any)))) + (if #{tmp 3664}# (@apply - (lambda (#{test 3654}# #{then 3655}# #{else 3656}#) - (#{build-conditional 267}# - #{s 3636}# - (#{chi 419}# - #{test 3654}# - #{r 3634}# - #{w 3635}# - #{mod 3637}#) - (#{chi 419}# - #{then 3655}# - #{r 3634}# - #{w 3635}# - #{mod 3637}#) - (#{chi 419}# - #{else 3656}# - #{r 3634}# - #{w 3635}# - #{mod 3637}#))) - #{tmp 3650}#) + (lambda (#{test 3668}# #{then 3669}# #{else 3670}#) + (#{build-conditional 269}# + #{s 3650}# + (#{chi 423}# + #{test 3668}# + #{r 3648}# + #{w 3649}# + #{mod 3651}#) + (#{chi 423}# + #{then 3669}# + #{r 3648}# + #{w 3649}# + #{mod 3651}#) + (#{chi 423}# + #{else 3670}# + #{r 3648}# + #{w 3649}# + #{mod 3651}#))) + #{tmp 3664}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3643}#)))))))) - (#{global-extend 335}# + #{tmp 3657}#)))))))) + (#{global-extend 339}# 'core 'with-fluids - (lambda (#{e 3657}# - #{r 3658}# - #{w 3659}# - #{s 3660}# - #{mod 3661}#) - (let ((#{tmp 3667}# #{e 3657}#)) - (let ((#{tmp 3668}# + (lambda (#{e 3671}# + #{r 3672}# + #{w 3673}# + #{s 3674}# + #{mod 3675}#) + (let ((#{tmp 3681}# #{e 3671}#)) + (let ((#{tmp 3682}# ($sc-dispatch - #{tmp 3667}# + #{tmp 3681}# '(_ #(each (any any)) any . each-any)))) - (if #{tmp 3668}# + (if #{tmp 3682}# (@apply - (lambda (#{fluid 3673}# - #{val 3674}# - #{b 3675}# - #{b* 3676}#) - (#{build-dynlet 269}# - #{s 3660}# - (map (lambda (#{x 3677}#) - (#{chi 419}# - #{x 3677}# - #{r 3658}# - #{w 3659}# - #{mod 3661}#)) - #{fluid 3673}#) - (map (lambda (#{x 3680}#) - (#{chi 419}# - #{x 3680}# - #{r 3658}# - #{w 3659}# - #{mod 3661}#)) - #{val 3674}#) - (#{chi-body 427}# - (cons #{b 3675}# #{b* 3676}#) - (#{source-wrap 407}# - #{e 3657}# - #{w 3659}# - #{s 3660}# - #{mod 3661}#) - #{r 3658}# - #{w 3659}# - #{mod 3661}#))) - #{tmp 3668}#) + (lambda (#{fluid 3687}# + #{val 3688}# + #{b 3689}# + #{b* 3690}#) + (#{build-dynlet 271}# + #{s 3674}# + (map (lambda (#{x 3691}#) + (#{chi 423}# + #{x 3691}# + #{r 3672}# + #{w 3673}# + #{mod 3675}#)) + #{fluid 3687}#) + (map (lambda (#{x 3694}#) + (#{chi 423}# + #{x 3694}# + #{r 3672}# + #{w 3673}# + #{mod 3675}#)) + #{val 3688}#) + (#{chi-body 431}# + (cons #{b 3689}# #{b* 3690}#) + (#{source-wrap 411}# + #{e 3671}# + #{w 3673}# + #{s 3674}# + #{mod 3675}#) + #{r 3672}# + #{w 3673}# + #{mod 3675}#))) + #{tmp 3682}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3667}#)))))) - (#{global-extend 335}# 'begin 'begin '()) - (#{global-extend 335}# 'define 'define '()) - (#{global-extend 335}# + #{tmp 3681}#)))))) + (#{global-extend 339}# 'begin 'begin '()) + (#{global-extend 339}# 'define 'define '()) + (#{global-extend 339}# 'define-syntax 'define-syntax '()) - (#{global-extend 335}# 'eval-when 'eval-when '()) - (#{global-extend 335}# + (#{global-extend 339}# 'eval-when 'eval-when '()) + (#{global-extend 339}# 'core 'syntax-case (letrec* - ((#{convert-pattern 3685}# - (lambda (#{pattern 3692}# #{keys 3693}#) + ((#{convert-pattern 3699}# + (lambda (#{pattern 3706}# #{keys 3707}#) (letrec* - ((#{cvt* 3697}# - (lambda (#{p* 3700}# #{n 3701}# #{ids 3702}#) - (if (null? #{p* 3700}#) - (values '() #{ids 3702}#) + ((#{cvt* 3711}# + (lambda (#{p* 3714}# #{n 3715}# #{ids 3716}#) + (if (null? #{p* 3714}#) + (values '() #{ids 3716}#) (call-with-values (lambda () - (#{cvt* 3697}# - (cdr #{p* 3700}#) - #{n 3701}# - #{ids 3702}#)) - (lambda (#{y 3706}# #{ids 3707}#) + (#{cvt* 3711}# + (cdr #{p* 3714}#) + #{n 3715}# + #{ids 3716}#)) + (lambda (#{y 3720}# #{ids 3721}#) (call-with-values (lambda () - (#{cvt 3699}# - (car #{p* 3700}#) - #{n 3701}# - #{ids 3707}#)) - (lambda (#{x 3710}# #{ids 3711}#) + (#{cvt 3713}# + (car #{p* 3714}#) + #{n 3715}# + #{ids 3721}#)) + (lambda (#{x 3724}# #{ids 3725}#) (values - (cons #{x 3710}# #{y 3706}#) - #{ids 3711}#)))))))) - (#{cvt 3699}# - (lambda (#{p 3714}# #{n 3715}# #{ids 3716}#) - (if (#{id? 339}# #{p 3714}#) - (if (#{bound-id-member? 403}# - #{p 3714}# - #{keys 3693}#) + (cons #{x 3724}# #{y 3720}#) + #{ids 3725}#)))))))) + (#{cvt 3713}# + (lambda (#{p 3728}# #{n 3729}# #{ids 3730}#) + (if (#{id? 343}# #{p 3728}#) + (if (#{bound-id-member? 407}# + #{p 3728}# + #{keys 3707}#) (values - (vector 'free-id #{p 3714}#) - #{ids 3716}#) - (if (#{free-id=? 395}# - #{p 3714}# + (vector 'free-id #{p 3728}#) + #{ids 3730}#) + (if (#{free-id=? 399}# + #{p 3728}# '#(syntax-object _ ((top) @@ -11499,22 +11580,22 @@ #(ribcage #(p n ids) #((top) (top) (top)) - #("i3717" "i3718" "i3719")) + #("i3731" "i3732" "i3733")) #(ribcage (cvt cvt*) ((top) (top)) - ("i3698" "i3696")) + ("i3712" "i3710")) #(ribcage #(pattern keys) #((top) (top)) - #("i3694" "i3695")) + #("i3708" "i3709")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) - ("i3690" "i3688" "i3686" "i3684")) + ("i3704" "i3702" "i3700" "i3698")) #(ribcage (lambda-var-list gen-var @@ -11607,6 +11688,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -11640,6 +11722,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -11787,8 +11870,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -11821,14 +11908,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -11836,33 +11923,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -11895,17 +11982,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -11931,322 +12018,322 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) - (values '_ #{ids 3716}#) + (values '_ #{ids 3730}#) (values 'any - (cons (cons #{p 3714}# #{n 3715}#) - #{ids 3716}#)))) - (let ((#{tmp 3725}# #{p 3714}#)) - (let ((#{tmp 3726}# - ($sc-dispatch #{tmp 3725}# '(any any)))) - (if (if #{tmp 3726}# + (cons (cons #{p 3728}# #{n 3729}#) + #{ids 3730}#)))) + (let ((#{tmp 3739}# #{p 3728}#)) + (let ((#{tmp 3740}# + ($sc-dispatch #{tmp 3739}# '(any any)))) + (if (if #{tmp 3740}# (@apply - (lambda (#{x 3729}# #{dots 3730}#) - (#{ellipsis? 435}# #{dots 3730}#)) - #{tmp 3726}#) + (lambda (#{x 3743}# #{dots 3744}#) + (#{ellipsis? 439}# #{dots 3744}#)) + #{tmp 3740}#) #f) (@apply - (lambda (#{x 3733}# #{dots 3734}#) + (lambda (#{x 3747}# #{dots 3748}#) (call-with-values (lambda () - (#{cvt 3699}# - #{x 3733}# - (#{1+}# #{n 3715}#) - #{ids 3716}#)) - (lambda (#{p 3736}# #{ids 3737}#) + (#{cvt 3713}# + #{x 3747}# + (#{1+}# #{n 3729}#) + #{ids 3730}#)) + (lambda (#{p 3750}# #{ids 3751}#) (values - (if (eq? #{p 3736}# 'any) + (if (eq? #{p 3750}# 'any) 'each-any - (vector 'each #{p 3736}#)) - #{ids 3737}#)))) - #{tmp 3726}#) - (let ((#{tmp 3740}# + (vector 'each #{p 3750}#)) + #{ids 3751}#)))) + #{tmp 3740}#) + (let ((#{tmp 3754}# ($sc-dispatch - #{tmp 3725}# + #{tmp 3739}# '(any any . each-any)))) - (if (if #{tmp 3740}# + (if (if #{tmp 3754}# (@apply - (lambda (#{x 3744}# - #{dots 3745}# - #{ys 3746}#) - (#{ellipsis? 435}# #{dots 3745}#)) - #{tmp 3740}#) + (lambda (#{x 3758}# + #{dots 3759}# + #{ys 3760}#) + (#{ellipsis? 439}# #{dots 3759}#)) + #{tmp 3754}#) #f) (@apply - (lambda (#{x 3750}# - #{dots 3751}# - #{ys 3752}#) + (lambda (#{x 3764}# + #{dots 3765}# + #{ys 3766}#) (call-with-values (lambda () - (#{cvt* 3697}# - #{ys 3752}# - #{n 3715}# - #{ids 3716}#)) - (lambda (#{ys 3754}# #{ids 3755}#) + (#{cvt* 3711}# + #{ys 3766}# + #{n 3729}# + #{ids 3730}#)) + (lambda (#{ys 3768}# #{ids 3769}#) (call-with-values (lambda () - (#{cvt 3699}# - #{x 3750}# - (#{1+}# #{n 3715}#) - #{ids 3755}#)) - (lambda (#{x 3758}# #{ids 3759}#) + (#{cvt 3713}# + #{x 3764}# + (#{1+}# #{n 3729}#) + #{ids 3769}#)) + (lambda (#{x 3772}# #{ids 3773}#) (values (vector 'each+ - #{x 3758}# - (reverse #{ys 3754}#) + #{x 3772}# + (reverse #{ys 3768}#) '()) - #{ids 3759}#)))))) - #{tmp 3740}#) - (let ((#{tmp 3763}# + #{ids 3773}#)))))) + #{tmp 3754}#) + (let ((#{tmp 3777}# ($sc-dispatch - #{tmp 3725}# + #{tmp 3739}# '(any . any)))) - (if #{tmp 3763}# + (if #{tmp 3777}# (@apply - (lambda (#{x 3766}# #{y 3767}#) + (lambda (#{x 3780}# #{y 3781}#) (call-with-values (lambda () - (#{cvt 3699}# - #{y 3767}# - #{n 3715}# - #{ids 3716}#)) - (lambda (#{y 3768}# #{ids 3769}#) + (#{cvt 3713}# + #{y 3781}# + #{n 3729}# + #{ids 3730}#)) + (lambda (#{y 3782}# #{ids 3783}#) (call-with-values (lambda () - (#{cvt 3699}# - #{x 3766}# - #{n 3715}# - #{ids 3769}#)) - (lambda (#{x 3772}# - #{ids 3773}#) + (#{cvt 3713}# + #{x 3780}# + #{n 3729}# + #{ids 3783}#)) + (lambda (#{x 3786}# + #{ids 3787}#) (values - (cons #{x 3772}# - #{y 3768}#) - #{ids 3773}#)))))) - #{tmp 3763}#) - (let ((#{tmp 3776}# - ($sc-dispatch #{tmp 3725}# '()))) - (if #{tmp 3776}# + (cons #{x 3786}# + #{y 3782}#) + #{ids 3787}#)))))) + #{tmp 3777}#) + (let ((#{tmp 3790}# + ($sc-dispatch #{tmp 3739}# '()))) + (if #{tmp 3790}# (@apply (lambda () - (values '() #{ids 3716}#)) - #{tmp 3776}#) - (let ((#{tmp 3777}# + (values '() #{ids 3730}#)) + #{tmp 3790}#) + (let ((#{tmp 3791}# ($sc-dispatch - #{tmp 3725}# + #{tmp 3739}# '#(vector each-any)))) - (if #{tmp 3777}# + (if #{tmp 3791}# (@apply - (lambda (#{x 3779}#) + (lambda (#{x 3793}#) (call-with-values (lambda () - (#{cvt 3699}# - #{x 3779}# - #{n 3715}# - #{ids 3716}#)) - (lambda (#{p 3781}# - #{ids 3782}#) + (#{cvt 3713}# + #{x 3793}# + #{n 3729}# + #{ids 3730}#)) + (lambda (#{p 3795}# + #{ids 3796}#) (values (vector 'vector - #{p 3781}#) - #{ids 3782}#)))) - #{tmp 3777}#) - (let ((#{x 3786}# #{tmp 3725}#)) + #{p 3795}#) + #{ids 3796}#)))) + #{tmp 3791}#) + (let ((#{x 3800}# #{tmp 3739}#)) (values (vector 'atom - (#{strip 445}# - #{p 3714}# + (#{strip 449}# + #{p 3728}# '(()))) - #{ids 3716}#))))))))))))))))) - (begin (#{cvt 3699}# #{pattern 3692}# 0 '()))))) - (#{build-dispatch-call 3687}# - (lambda (#{pvars 3788}# - #{exp 3789}# - #{y 3790}# - #{r 3791}# - #{mod 3792}#) + #{ids 3730}#))))))))))))))))) + (begin (#{cvt 3713}# #{pattern 3706}# 0 '()))))) + (#{build-dispatch-call 3701}# + (lambda (#{pvars 3802}# + #{exp 3803}# + #{y 3804}# + #{r 3805}# + #{mod 3806}#) (begin - (map cdr #{pvars 3788}#) - (let ((#{ids 3800}# (map car #{pvars 3788}#))) + (map cdr #{pvars 3802}#) + (let ((#{ids 3814}# (map car #{pvars 3802}#))) (begin - (let ((#{labels 3804}# - (#{gen-labels 354}# #{ids 3800}#)) - (#{new-vars 3805}# - (map #{gen-var 447}# #{ids 3800}#))) - (#{build-call 265}# + (let ((#{labels 3818}# + (#{gen-labels 358}# #{ids 3814}#)) + (#{new-vars 3819}# + (map #{gen-var 451}# #{ids 3814}#))) + (#{build-primcall 291}# #f - (#{build-primref 289}# #f 'apply) - (list (#{build-simple-lambda 283}# + 'apply + (list (#{build-simple-lambda 285}# #f - (map syntax->datum #{ids 3800}#) + (map syntax->datum #{ids 3814}#) #f - #{new-vars 3805}# + #{new-vars 3819}# '() - (#{chi 419}# - #{exp 3789}# - (#{extend-env 327}# - #{labels 3804}# - (map (lambda (#{var 3809}# #{level 3810}#) + (#{chi 423}# + #{exp 3803}# + (#{extend-env 331}# + #{labels 3818}# + (map (lambda (#{var 3822}# #{level 3823}#) (cons 'syntax - (cons #{var 3809}# - #{level 3810}#))) - #{new-vars 3805}# - (map cdr #{pvars 3788}#)) - #{r 3791}#) - (#{make-binding-wrap 383}# - #{ids 3800}# - #{labels 3804}# + (cons #{var 3822}# + #{level 3823}#))) + #{new-vars 3819}# + (map cdr #{pvars 3802}#)) + #{r 3805}#) + (#{make-binding-wrap 387}# + #{ids 3814}# + #{labels 3818}# '(())) - #{mod 3792}#)) - #{y 3790}#)))))))) - (#{gen-clause 3689}# - (lambda (#{x 3816}# - #{keys 3817}# - #{clauses 3818}# - #{r 3819}# - #{pat 3820}# - #{fender 3821}# - #{exp 3822}# - #{mod 3823}#) + #{mod 3806}#)) + #{y 3804}#)))))))) + (#{gen-clause 3703}# + (lambda (#{x 3829}# + #{keys 3830}# + #{clauses 3831}# + #{r 3832}# + #{pat 3833}# + #{fender 3834}# + #{exp 3835}# + #{mod 3836}#) (call-with-values (lambda () - (#{convert-pattern 3685}# - #{pat 3820}# - #{keys 3817}#)) - (lambda (#{p 3832}# #{pvars 3833}#) - (if (not (#{distinct-bound-ids? 401}# - (map car #{pvars 3833}#))) + (#{convert-pattern 3699}# + #{pat 3833}# + #{keys 3830}#)) + (lambda (#{p 3845}# #{pvars 3846}#) + (if (not (#{distinct-bound-ids? 405}# + (map car #{pvars 3846}#))) (syntax-violation 'syntax-case "duplicate pattern variable" - #{pat 3820}#) + #{pat 3833}#) (if (not (and-map - (lambda (#{x 3840}#) - (not (#{ellipsis? 435}# (car #{x 3840}#)))) - #{pvars 3833}#)) + (lambda (#{x 3853}#) + (not (#{ellipsis? 439}# (car #{x 3853}#)))) + #{pvars 3846}#)) (syntax-violation 'syntax-case "misplaced ellipsis" - #{pat 3820}#) + #{pat 3833}#) (begin - (let ((#{y 3844}# (#{gen-var 447}# 'tmp))) - (#{build-call 265}# + (let ((#{y 3857}# (#{gen-var 451}# 'tmp))) + (#{build-call 267}# #f - (#{build-simple-lambda 283}# + (#{build-simple-lambda 285}# #f (list 'tmp) #f - (list #{y 3844}#) + (list #{y 3857}#) '() (begin - (let ((#{y 3848}# - (#{build-lexical-reference 271}# + (let ((#{y 3861}# + (#{build-lexical-reference 273}# 'value #f 'tmp - #{y 3844}#))) - (#{build-conditional 267}# + #{y 3857}#))) + (#{build-conditional 269}# #f - (let ((#{tmp 3851}# #{fender 3821}#)) - (let ((#{tmp 3852}# + (let ((#{tmp 3864}# #{fender 3834}#)) + (let ((#{tmp 3865}# ($sc-dispatch - #{tmp 3851}# + #{tmp 3864}# '#(atom #t)))) - (if #{tmp 3852}# + (if #{tmp 3865}# (@apply - (lambda () #{y 3848}#) - #{tmp 3852}#) - (let ((#{_ 3854}# #{tmp 3851}#)) - (#{build-conditional 267}# + (lambda () #{y 3861}#) + #{tmp 3865}#) + (let ((#{_ 3867}# #{tmp 3864}#)) + (#{build-conditional 269}# #f - #{y 3848}# - (#{build-dispatch-call 3687}# - #{pvars 3833}# - #{fender 3821}# - #{y 3848}# - #{r 3819}# - #{mod 3823}#) - (#{build-data 291}# #f #f)))))) - (#{build-dispatch-call 3687}# - #{pvars 3833}# - #{exp 3822}# - #{y 3848}# - #{r 3819}# - #{mod 3823}#) - (#{gen-syntax-case 3691}# - #{x 3816}# - #{keys 3817}# - #{clauses 3818}# - #{r 3819}# - #{mod 3823}#))))) - (list (if (eq? #{p 3832}# 'any) - (#{build-call 265}# + #{y 3861}# + (#{build-dispatch-call 3701}# + #{pvars 3846}# + #{fender 3834}# + #{y 3861}# + #{r 3832}# + #{mod 3836}#) + (#{build-data 295}# #f #f)))))) + (#{build-dispatch-call 3701}# + #{pvars 3846}# + #{exp 3835}# + #{y 3861}# + #{r 3832}# + #{mod 3836}#) + (#{gen-syntax-case 3705}# + #{x 3829}# + #{keys 3830}# + #{clauses 3831}# + #{r 3832}# + #{mod 3836}#))))) + (list (if (eq? #{p 3845}# 'any) + (#{build-primcall 291}# #f - (#{build-primref 289}# #f 'list) - (list #{x 3816}#)) - (#{build-call 265}# + 'list + (list #{x 3829}#)) + (#{build-primcall 291}# #f - (#{build-primref 289}# #f '$sc-dispatch) - (list #{x 3816}# - (#{build-data 291}# + '$sc-dispatch + (list #{x 3829}# + (#{build-data 295}# #f - #{p 3832}#)))))))))))))) - (#{gen-syntax-case 3691}# - (lambda (#{x 3862}# - #{keys 3863}# - #{clauses 3864}# - #{r 3865}# - #{mod 3866}#) - (if (null? #{clauses 3864}#) - (#{build-call 265}# + #{p 3845}#)))))))))))))) + (#{gen-syntax-case 3705}# + (lambda (#{x 3873}# + #{keys 3874}# + #{clauses 3875}# + #{r 3876}# + #{mod 3877}#) + (if (null? #{clauses 3875}#) + (#{build-primcall 291}# #f - (#{build-primref 289}# #f 'syntax-violation) - (list (#{build-data 291}# #f #f) - (#{build-data 291}# + 'syntax-violation + (list (#{build-data 295}# #f #f) + (#{build-data 295}# #f "source expression failed to match any pattern") - #{x 3862}#)) - (let ((#{tmp 3876}# (car #{clauses 3864}#))) - (let ((#{tmp 3877}# - ($sc-dispatch #{tmp 3876}# '(any any)))) - (if #{tmp 3877}# + #{x 3873}#)) + (let ((#{tmp 3886}# (car #{clauses 3875}#))) + (let ((#{tmp 3887}# + ($sc-dispatch #{tmp 3886}# '(any any)))) + (if #{tmp 3887}# (@apply - (lambda (#{pat 3880}# #{exp 3881}#) - (if (if (#{id? 339}# #{pat 3880}#) + (lambda (#{pat 3890}# #{exp 3891}#) + (if (if (#{id? 343}# #{pat 3890}#) (and-map - (lambda (#{x 3884}#) - (not (#{free-id=? 395}# - #{pat 3880}# - #{x 3884}#))) + (lambda (#{x 3894}#) + (not (#{free-id=? 399}# + #{pat 3890}# + #{x 3894}#))) (cons '#(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) - #("i3878" "i3879")) + #("i3888" "i3889")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) - #("i3867" - "i3868" - "i3869" - "i3870" - "i3871")) + #("i3878" + "i3879" + "i3880" + "i3881" + "i3882")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) - ("i3690" - "i3688" - "i3686" - "i3684")) + ("i3704" + "i3702" + "i3700" + "i3698")) #(ribcage (lambda-var-list gen-var @@ -12339,6 +12426,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -12372,6 +12460,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -12519,8 +12608,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -12553,14 +12646,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -12568,33 +12661,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -12627,17 +12720,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -12663,32 +12756,32 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile)) - #{keys 3863}#)) + #{keys 3874}#)) #f) - (if (#{free-id=? 395}# + (if (#{free-id=? 399}# '#(syntax-object pad ((top) #(ribcage #(pat exp) #((top) (top)) - #("i3878" "i3879")) + #("i3888" "i3889")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) - #("i3867" - "i3868" - "i3869" - "i3870" - "i3871")) + #("i3878" + "i3879" + "i3880" + "i3881" + "i3882")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) - ("i3690" "i3688" "i3686" "i3684")) + ("i3704" "i3702" "i3700" "i3698")) #(ribcage (lambda-var-list gen-var @@ -12781,6 +12874,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -12814,6 +12908,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -12961,8 +13056,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -12995,14 +13094,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -13010,33 +13109,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -13069,17 +13168,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -13111,23 +13210,23 @@ #(ribcage #(pat exp) #((top) (top)) - #("i3878" "i3879")) + #("i3888" "i3889")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) - #("i3867" - "i3868" - "i3869" - "i3870" - "i3871")) + #("i3878" + "i3879" + "i3880" + "i3881" + "i3882")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) - ("i3690" "i3688" "i3686" "i3684")) + ("i3704" "i3702" "i3700" "i3698")) #(ribcage (lambda-var-list gen-var @@ -13220,6 +13319,7 @@ build-sequence build-data build-primref + build-primcall build-lambda-case build-case-lambda build-simple-lambda @@ -13253,6 +13353,7 @@ make-lambda-case make-lambda make-sequence + make-primcall make-call make-conditional make-toplevel-define @@ -13400,8 +13501,12 @@ (top) (top) (top) + (top) + (top) (top)) - ("i448" + ("i452" + "i450" + "i448" "i446" "i444" "i442" @@ -13434,14 +13539,14 @@ "i388" "i386" "i384" + "i383" "i382" "i380" "i379" "i378" + "i377" "i376" - "i375" "i374" - "i373" "i372" "i370" "i368" @@ -13449,33 +13554,33 @@ "i364" "i362" "i360" - "i358" - "i356" + "i357" + "i355" + "i354" "i353" + "i352" "i351" "i350" "i349" "i348" "i347" - "i346" "i345" "i344" - "i343" - "i341" + "i342" "i340" "i338" "i336" "i334" "i332" "i330" + "i329" "i328" + "i327" "i326" "i325" - "i324" "i323" "i322" - "i321" - "i319" + "i320" "i318" "i316" "i314" @@ -13508,17 +13613,17 @@ "i260" "i258" "i256" - "i254" + "i255" "i253" "i251" + "i250" "i249" "i248" "i247" - "i246" "i245" "i243" "i241" - "i239" + "i238" "i236" "i234" "i232" @@ -13544,562 +13649,560 @@ ((top) (top) (top)) ("i40" "i39" "i38"))) (hygiene guile))) - (#{chi 419}# - #{exp 3881}# - #{r 3865}# + (#{chi 423}# + #{exp 3891}# + #{r 3876}# '(()) - #{mod 3866}#) + #{mod 3877}#) (begin - (let ((#{labels 3889}# - (list (#{gen-label 352}#))) - (#{var 3890}# - (#{gen-var 447}# #{pat 3880}#))) - (#{build-call 265}# + (let ((#{labels 3899}# + (list (#{gen-label 356}#))) + (#{var 3900}# + (#{gen-var 451}# #{pat 3890}#))) + (#{build-call 267}# #f - (#{build-simple-lambda 283}# + (#{build-simple-lambda 285}# #f - (list (syntax->datum #{pat 3880}#)) + (list (syntax->datum #{pat 3890}#)) #f - (list #{var 3890}#) + (list #{var 3900}#) '() - (#{chi 419}# - #{exp 3881}# - (#{extend-env 327}# - #{labels 3889}# + (#{chi 423}# + #{exp 3891}# + (#{extend-env 331}# + #{labels 3899}# (list (cons 'syntax - (cons #{var 3890}# 0))) - #{r 3865}#) - (#{make-binding-wrap 383}# - (list #{pat 3880}#) - #{labels 3889}# + (cons #{var 3900}# 0))) + #{r 3876}#) + (#{make-binding-wrap 387}# + (list #{pat 3890}#) + #{labels 3899}# '(())) - #{mod 3866}#)) - (list #{x 3862}#))))) - (#{gen-clause 3689}# - #{x 3862}# - #{keys 3863}# - (cdr #{clauses 3864}#) - #{r 3865}# - #{pat 3880}# + #{mod 3877}#)) + (list #{x 3873}#))))) + (#{gen-clause 3703}# + #{x 3873}# + #{keys 3874}# + (cdr #{clauses 3875}#) + #{r 3876}# + #{pat 3890}# #t - #{exp 3881}# - #{mod 3866}#))) - #{tmp 3877}#) - (let ((#{tmp 3896}# - ($sc-dispatch #{tmp 3876}# '(any any any)))) - (if #{tmp 3896}# + #{exp 3891}# + #{mod 3877}#))) + #{tmp 3887}#) + (let ((#{tmp 3906}# + ($sc-dispatch #{tmp 3886}# '(any any any)))) + (if #{tmp 3906}# (@apply - (lambda (#{pat 3900}# - #{fender 3901}# - #{exp 3902}#) - (#{gen-clause 3689}# - #{x 3862}# - #{keys 3863}# - (cdr #{clauses 3864}#) - #{r 3865}# - #{pat 3900}# - #{fender 3901}# - #{exp 3902}# - #{mod 3866}#)) - #{tmp 3896}#) - (let ((#{_ 3904}# #{tmp 3876}#)) + (lambda (#{pat 3910}# + #{fender 3911}# + #{exp 3912}#) + (#{gen-clause 3703}# + #{x 3873}# + #{keys 3874}# + (cdr #{clauses 3875}#) + #{r 3876}# + #{pat 3910}# + #{fender 3911}# + #{exp 3912}# + #{mod 3877}#)) + #{tmp 3906}#) + (let ((#{_ 3914}# #{tmp 3886}#)) (syntax-violation 'syntax-case "invalid clause" - (car #{clauses 3864}#)))))))))))) + (car #{clauses 3875}#)))))))))))) (begin - (lambda (#{e 3905}# - #{r 3906}# - #{w 3907}# - #{s 3908}# - #{mod 3909}#) + (lambda (#{e 3915}# + #{r 3916}# + #{w 3917}# + #{s 3918}# + #{mod 3919}#) (begin - (let ((#{e 3916}# - (#{source-wrap 407}# - #{e 3905}# - #{w 3907}# - #{s 3908}# - #{mod 3909}#))) - (let ((#{tmp 3917}# #{e 3916}#)) - (let ((#{tmp 3918}# + (let ((#{e 3926}# + (#{source-wrap 411}# + #{e 3915}# + #{w 3917}# + #{s 3918}# + #{mod 3919}#))) + (let ((#{tmp 3927}# #{e 3926}#)) + (let ((#{tmp 3928}# ($sc-dispatch - #{tmp 3917}# + #{tmp 3927}# '(_ any each-any . each-any)))) - (if #{tmp 3918}# + (if #{tmp 3928}# (@apply - (lambda (#{val 3922}# #{key 3923}# #{m 3924}#) + (lambda (#{val 3932}# #{key 3933}# #{m 3934}#) (if (and-map - (lambda (#{x 3925}#) - (if (#{id? 339}# #{x 3925}#) - (not (#{ellipsis? 435}# #{x 3925}#)) + (lambda (#{x 3935}#) + (if (#{id? 343}# #{x 3935}#) + (not (#{ellipsis? 439}# #{x 3935}#)) #f)) - #{key 3923}#) + #{key 3933}#) (begin - (let ((#{x 3931}# (#{gen-var 447}# 'tmp))) - (#{build-call 265}# - #{s 3908}# - (#{build-simple-lambda 283}# + (let ((#{x 3941}# (#{gen-var 451}# 'tmp))) + (#{build-call 267}# + #{s 3918}# + (#{build-simple-lambda 285}# #f (list 'tmp) #f - (list #{x 3931}#) + (list #{x 3941}#) '() - (#{gen-syntax-case 3691}# - (#{build-lexical-reference 271}# + (#{gen-syntax-case 3705}# + (#{build-lexical-reference 273}# 'value #f 'tmp - #{x 3931}#) - #{key 3923}# - #{m 3924}# - #{r 3906}# - #{mod 3909}#)) - (list (#{chi 419}# - #{val 3922}# - #{r 3906}# + #{x 3941}#) + #{key 3933}# + #{m 3934}# + #{r 3916}# + #{mod 3919}#)) + (list (#{chi 423}# + #{val 3932}# + #{r 3916}# '(()) - #{mod 3909}#))))) + #{mod 3919}#))))) (syntax-violation 'syntax-case "invalid literals list" - #{e 3916}#))) - #{tmp 3918}#) + #{e 3926}#))) + #{tmp 3928}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3917}#)))))))))) + #{tmp 3927}#)))))))))) (set! macroexpand (lambda* - (#{x 3937}# + (#{x 3947}# #:optional - (#{m 3939}# 'e) - (#{esew 3941}# '(eval))) - (#{chi-top-sequence 411}# - (list #{x 3937}#) + (#{m 3949}# 'e) + (#{esew 3951}# '(eval))) + (#{chi-top-sequence 415}# + (list #{x 3947}#) '() '((top)) #f - #{m 3939}# - #{esew 3941}# + #{m 3949}# + #{esew 3951}# (cons 'hygiene (module-name (current-module)))))) (set! identifier? - (lambda (#{x 3945}#) - (#{nonsymbol-id? 337}# #{x 3945}#))) + (lambda (#{x 3955}#) + (#{nonsymbol-id? 341}# #{x 3955}#))) (set! datum->syntax - (lambda (#{id 3947}# #{datum 3948}#) - (#{make-syntax-object 303}# - #{datum 3948}# - (#{syntax-object-wrap 309}# #{id 3947}#) - (#{syntax-object-module 311}# #{id 3947}#)))) + (lambda (#{id 3957}# #{datum 3958}#) + (#{make-syntax-object 307}# + #{datum 3958}# + (#{syntax-object-wrap 313}# #{id 3957}#) + (#{syntax-object-module 315}# #{id 3957}#)))) (set! syntax->datum - (lambda (#{x 3951}#) - (#{strip 445}# #{x 3951}# '(())))) + (lambda (#{x 3961}#) + (#{strip 449}# #{x 3961}# '(())))) (set! syntax-source - (lambda (#{x 3954}#) - (#{source-annotation 320}# #{x 3954}#))) + (lambda (#{x 3964}#) + (#{source-annotation 324}# #{x 3964}#))) (set! generate-temporaries - (lambda (#{ls 3956}#) + (lambda (#{ls 3966}#) (begin (begin - (let ((#{x 3960}# #{ls 3956}#)) - (if (not (list? #{x 3960}#)) + (let ((#{x 3970}# #{ls 3966}#)) + (if (not (list? #{x 3970}#)) (syntax-violation 'generate-temporaries "invalid argument" - #{x 3960}#)))) - (map (lambda (#{x 3961}#) - (#{wrap 405}# (gensym) '((top)) #f)) - #{ls 3956}#)))) + #{x 3970}#)))) + (map (lambda (#{x 3971}#) + (#{wrap 409}# (gensym) '((top)) #f)) + #{ls 3966}#)))) (set! free-identifier=? - (lambda (#{x 3965}# #{y 3966}#) + (lambda (#{x 3975}# #{y 3976}#) (begin (begin - (let ((#{x 3971}# #{x 3965}#)) - (if (not (#{nonsymbol-id? 337}# #{x 3971}#)) + (let ((#{x 3981}# #{x 3975}#)) + (if (not (#{nonsymbol-id? 341}# #{x 3981}#)) (syntax-violation 'free-identifier=? "invalid argument" - #{x 3971}#)))) + #{x 3981}#)))) (begin - (let ((#{x 3974}# #{y 3966}#)) - (if (not (#{nonsymbol-id? 337}# #{x 3974}#)) + (let ((#{x 3984}# #{y 3976}#)) + (if (not (#{nonsymbol-id? 341}# #{x 3984}#)) (syntax-violation 'free-identifier=? "invalid argument" - #{x 3974}#)))) - (#{free-id=? 395}# #{x 3965}# #{y 3966}#)))) + #{x 3984}#)))) + (#{free-id=? 399}# #{x 3975}# #{y 3976}#)))) (set! bound-identifier=? - (lambda (#{x 3975}# #{y 3976}#) + (lambda (#{x 3985}# #{y 3986}#) (begin (begin - (let ((#{x 3981}# #{x 3975}#)) - (if (not (#{nonsymbol-id? 337}# #{x 3981}#)) + (let ((#{x 3991}# #{x 3985}#)) + (if (not (#{nonsymbol-id? 341}# #{x 3991}#)) (syntax-violation 'bound-identifier=? "invalid argument" - #{x 3981}#)))) + #{x 3991}#)))) (begin - (let ((#{x 3984}# #{y 3976}#)) - (if (not (#{nonsymbol-id? 337}# #{x 3984}#)) + (let ((#{x 3994}# #{y 3986}#)) + (if (not (#{nonsymbol-id? 341}# #{x 3994}#)) (syntax-violation 'bound-identifier=? "invalid argument" - #{x 3984}#)))) - (#{bound-id=? 397}# #{x 3975}# #{y 3976}#)))) + #{x 3994}#)))) + (#{bound-id=? 401}# #{x 3985}# #{y 3986}#)))) (set! syntax-violation (lambda* - (#{who 3985}# - #{message 3986}# - #{form 3987}# + (#{who 3995}# + #{message 3996}# + #{form 3997}# #:optional - (#{subform 3991}# #f)) + (#{subform 4001}# #f)) (begin (begin - (let ((#{x 3995}# #{who 3985}#)) - (if (not (let ((#{x 3996}# #{x 3995}#)) + (let ((#{x 4005}# #{who 3995}#)) + (if (not (let ((#{x 4006}# #{x 4005}#)) (begin - (let ((#{t 4000}# (not #{x 3996}#))) - (if #{t 4000}# - #{t 4000}# + (let ((#{t 4010}# (not #{x 4006}#))) + (if #{t 4010}# + #{t 4010}# (begin - (let ((#{t 4003}# (string? #{x 3996}#))) - (if #{t 4003}# - #{t 4003}# - (symbol? #{x 3996}#))))))))) + (let ((#{t 4013}# (string? #{x 4006}#))) + (if #{t 4013}# + #{t 4013}# + (symbol? #{x 4006}#))))))))) (syntax-violation 'syntax-violation "invalid argument" - #{x 3995}#)))) + #{x 4005}#)))) (begin - (let ((#{x 4007}# #{message 3986}#)) - (if (not (string? #{x 4007}#)) + (let ((#{x 4017}# #{message 3996}#)) + (if (not (string? #{x 4017}#)) (syntax-violation 'syntax-violation "invalid argument" - #{x 4007}#)))) + #{x 4017}#)))) (throw 'syntax-error - #{who 3985}# - #{message 3986}# - (#{source-annotation 320}# + #{who 3995}# + #{message 3996}# + (#{source-annotation 324}# (begin - (let ((#{t 4010}# #{form 3987}#)) - (if #{t 4010}# #{t 4010}# #{subform 3991}#)))) - (#{strip 445}# #{form 3987}# '(())) - (if #{subform 3991}# - (#{strip 445}# #{subform 3991}# '(())) + (let ((#{t 4020}# #{form 3997}#)) + (if #{t 4020}# #{t 4020}# #{subform 4001}#)))) + (#{strip 449}# #{form 3997}# '(())) + (if #{subform 4001}# + (#{strip 449}# #{subform 4001}# '(())) #f))))) (letrec* - ((#{match-each 4017}# - (lambda (#{e 4030}# #{p 4031}# #{w 4032}# #{mod 4033}#) - (if (pair? #{e 4030}#) + ((#{match-each 4027}# + (lambda (#{e 4040}# #{p 4041}# #{w 4042}# #{mod 4043}#) + (if (pair? #{e 4040}#) (begin - (let ((#{first 4041}# - (#{match 4029}# - (car #{e 4030}#) - #{p 4031}# - #{w 4032}# + (let ((#{first 4051}# + (#{match 4039}# + (car #{e 4040}#) + #{p 4041}# + #{w 4042}# '() - #{mod 4033}#))) - (if #{first 4041}# + #{mod 4043}#))) + (if #{first 4051}# (begin - (let ((#{rest 4045}# - (#{match-each 4017}# - (cdr #{e 4030}#) - #{p 4031}# - #{w 4032}# - #{mod 4033}#))) - (if #{rest 4045}# - (cons #{first 4041}# #{rest 4045}#) + (let ((#{rest 4055}# + (#{match-each 4027}# + (cdr #{e 4040}#) + #{p 4041}# + #{w 4042}# + #{mod 4043}#))) + (if #{rest 4055}# + (cons #{first 4051}# #{rest 4055}#) #f))) #f))) - (if (null? #{e 4030}#) + (if (null? #{e 4040}#) '() - (if (#{syntax-object? 305}# #{e 4030}#) - (#{match-each 4017}# - (#{syntax-object-expression 307}# #{e 4030}#) - #{p 4031}# - (#{join-wraps 387}# - #{w 4032}# - (#{syntax-object-wrap 309}# #{e 4030}#)) - (#{syntax-object-module 311}# #{e 4030}#)) + (if (#{syntax-object? 309}# #{e 4040}#) + (#{match-each 4027}# + (#{syntax-object-expression 311}# #{e 4040}#) + #{p 4041}# + (#{join-wraps 391}# + #{w 4042}# + (#{syntax-object-wrap 313}# #{e 4040}#)) + (#{syntax-object-module 315}# #{e 4040}#)) #f))))) - (#{match-each+ 4019}# - (lambda (#{e 4053}# - #{x-pat 4054}# - #{y-pat 4055}# - #{z-pat 4056}# - #{w 4057}# - #{r 4058}# - #{mod 4059}#) + (#{match-each+ 4029}# + (lambda (#{e 4063}# + #{x-pat 4064}# + #{y-pat 4065}# + #{z-pat 4066}# + #{w 4067}# + #{r 4068}# + #{mod 4069}#) (letrec* - ((#{f 4070}# - (lambda (#{e 4071}# #{w 4072}#) - (if (pair? #{e 4071}#) + ((#{f 4080}# + (lambda (#{e 4081}# #{w 4082}#) + (if (pair? #{e 4081}#) (call-with-values (lambda () - (#{f 4070}# (cdr #{e 4071}#) #{w 4072}#)) - (lambda (#{xr* 4075}# #{y-pat 4076}# #{r 4077}#) - (if #{r 4077}# - (if (null? #{y-pat 4076}#) + (#{f 4080}# (cdr #{e 4081}#) #{w 4082}#)) + (lambda (#{xr* 4085}# #{y-pat 4086}# #{r 4087}#) + (if #{r 4087}# + (if (null? #{y-pat 4086}#) (begin - (let ((#{xr 4082}# - (#{match 4029}# - (car #{e 4071}#) - #{x-pat 4054}# - #{w 4072}# + (let ((#{xr 4092}# + (#{match 4039}# + (car #{e 4081}#) + #{x-pat 4064}# + #{w 4082}# '() - #{mod 4059}#))) - (if #{xr 4082}# + #{mod 4069}#))) + (if #{xr 4092}# (values - (cons #{xr 4082}# #{xr* 4075}#) - #{y-pat 4076}# - #{r 4077}#) + (cons #{xr 4092}# #{xr* 4085}#) + #{y-pat 4086}# + #{r 4087}#) (values #f #f #f)))) (values '() - (cdr #{y-pat 4076}#) - (#{match 4029}# - (car #{e 4071}#) - (car #{y-pat 4076}#) - #{w 4072}# - #{r 4077}# - #{mod 4059}#))) + (cdr #{y-pat 4086}#) + (#{match 4039}# + (car #{e 4081}#) + (car #{y-pat 4086}#) + #{w 4082}# + #{r 4087}# + #{mod 4069}#))) (values #f #f #f)))) - (if (#{syntax-object? 305}# #{e 4071}#) - (#{f 4070}# - (#{syntax-object-expression 307}# #{e 4071}#) - (#{join-wraps 387}# #{w 4072}# #{e 4071}#)) + (if (#{syntax-object? 309}# #{e 4081}#) + (#{f 4080}# + (#{syntax-object-expression 311}# #{e 4081}#) + (#{join-wraps 391}# #{w 4082}# #{e 4081}#)) (values '() - #{y-pat 4055}# - (#{match 4029}# - #{e 4071}# - #{z-pat 4056}# - #{w 4072}# - #{r 4058}# - #{mod 4059}#))))))) - (begin (#{f 4070}# #{e 4053}# #{w 4057}#))))) - (#{match-each-any 4021}# - (lambda (#{e 4086}# #{w 4087}# #{mod 4088}#) - (if (pair? #{e 4086}#) + #{y-pat 4065}# + (#{match 4039}# + #{e 4081}# + #{z-pat 4066}# + #{w 4082}# + #{r 4068}# + #{mod 4069}#))))))) + (begin (#{f 4080}# #{e 4063}# #{w 4067}#))))) + (#{match-each-any 4031}# + (lambda (#{e 4096}# #{w 4097}# #{mod 4098}#) + (if (pair? #{e 4096}#) (begin - (let ((#{l 4095}# - (#{match-each-any 4021}# - (cdr #{e 4086}#) - #{w 4087}# - #{mod 4088}#))) - (if #{l 4095}# - (cons (#{wrap 405}# - (car #{e 4086}#) - #{w 4087}# - #{mod 4088}#) - #{l 4095}#) + (let ((#{l 4105}# + (#{match-each-any 4031}# + (cdr #{e 4096}#) + #{w 4097}# + #{mod 4098}#))) + (if #{l 4105}# + (cons (#{wrap 409}# + (car #{e 4096}#) + #{w 4097}# + #{mod 4098}#) + #{l 4105}#) #f))) - (if (null? #{e 4086}#) + (if (null? #{e 4096}#) '() - (if (#{syntax-object? 305}# #{e 4086}#) - (#{match-each-any 4021}# - (#{syntax-object-expression 307}# #{e 4086}#) - (#{join-wraps 387}# - #{w 4087}# - (#{syntax-object-wrap 309}# #{e 4086}#)) - #{mod 4088}#) + (if (#{syntax-object? 309}# #{e 4096}#) + (#{match-each-any 4031}# + (#{syntax-object-expression 311}# #{e 4096}#) + (#{join-wraps 391}# + #{w 4097}# + (#{syntax-object-wrap 313}# #{e 4096}#)) + #{mod 4098}#) #f))))) - (#{match-empty 4023}# - (lambda (#{p 4103}# #{r 4104}#) - (if (null? #{p 4103}#) - #{r 4104}# - (if (eq? #{p 4103}# '_) - #{r 4104}# - (if (eq? #{p 4103}# 'any) - (cons '() #{r 4104}#) - (if (pair? #{p 4103}#) - (#{match-empty 4023}# - (car #{p 4103}#) - (#{match-empty 4023}# - (cdr #{p 4103}#) - #{r 4104}#)) - (if (eq? #{p 4103}# 'each-any) - (cons '() #{r 4104}#) + (#{match-empty 4033}# + (lambda (#{p 4113}# #{r 4114}#) + (if (null? #{p 4113}#) + #{r 4114}# + (if (eq? #{p 4113}# '_) + #{r 4114}# + (if (eq? #{p 4113}# 'any) + (cons '() #{r 4114}#) + (if (pair? #{p 4113}#) + (#{match-empty 4033}# + (car #{p 4113}#) + (#{match-empty 4033}# + (cdr #{p 4113}#) + #{r 4114}#)) + (if (eq? #{p 4113}# 'each-any) + (cons '() #{r 4114}#) (begin - (let ((#{atom-key 4120}# (vector-ref #{p 4103}# 0))) - (if (eqv? #{atom-key 4120}# 'each) - (#{match-empty 4023}# - (vector-ref #{p 4103}# 1) - #{r 4104}#) - (if (eqv? #{atom-key 4120}# 'each+) - (#{match-empty 4023}# - (vector-ref #{p 4103}# 1) - (#{match-empty 4023}# - (reverse (vector-ref #{p 4103}# 2)) - (#{match-empty 4023}# - (vector-ref #{p 4103}# 3) - #{r 4104}#))) - (if (if (eqv? #{atom-key 4120}# 'free-id) - #t - (eqv? #{atom-key 4120}# 'atom)) - #{r 4104}# - (if (eqv? #{atom-key 4120}# 'vector) - (#{match-empty 4023}# - (vector-ref #{p 4103}# 1) - #{r 4104}#)))))))))))))) - (#{combine 4025}# - (lambda (#{r* 4125}# #{r 4126}#) - (if (null? (car #{r* 4125}#)) - #{r 4126}# - (cons (map car #{r* 4125}#) - (#{combine 4025}# - (map cdr #{r* 4125}#) - #{r 4126}#))))) - (#{match* 4027}# - (lambda (#{e 4129}# - #{p 4130}# - #{w 4131}# - #{r 4132}# - #{mod 4133}#) - (if (null? #{p 4130}#) - (if (null? #{e 4129}#) #{r 4132}# #f) - (if (pair? #{p 4130}#) - (if (pair? #{e 4129}#) - (#{match 4029}# - (car #{e 4129}#) - (car #{p 4130}#) - #{w 4131}# - (#{match 4029}# - (cdr #{e 4129}#) - (cdr #{p 4130}#) - #{w 4131}# - #{r 4132}# - #{mod 4133}#) - #{mod 4133}#) + (let ((#{atom-key 4130}# (vector-ref #{p 4113}# 0))) + (if (memv #{atom-key 4130}# '(each)) + (#{match-empty 4033}# + (vector-ref #{p 4113}# 1) + #{r 4114}#) + (if (memv #{atom-key 4130}# '(each+)) + (#{match-empty 4033}# + (vector-ref #{p 4113}# 1) + (#{match-empty 4033}# + (reverse (vector-ref #{p 4113}# 2)) + (#{match-empty 4033}# + (vector-ref #{p 4113}# 3) + #{r 4114}#))) + (if (memv #{atom-key 4130}# '(free-id atom)) + #{r 4114}# + (if (memv #{atom-key 4130}# '(vector)) + (#{match-empty 4033}# + (vector-ref #{p 4113}# 1) + #{r 4114}#)))))))))))))) + (#{combine 4035}# + (lambda (#{r* 4135}# #{r 4136}#) + (if (null? (car #{r* 4135}#)) + #{r 4136}# + (cons (map car #{r* 4135}#) + (#{combine 4035}# + (map cdr #{r* 4135}#) + #{r 4136}#))))) + (#{match* 4037}# + (lambda (#{e 4139}# + #{p 4140}# + #{w 4141}# + #{r 4142}# + #{mod 4143}#) + (if (null? #{p 4140}#) + (if (null? #{e 4139}#) #{r 4142}# #f) + (if (pair? #{p 4140}#) + (if (pair? #{e 4139}#) + (#{match 4039}# + (car #{e 4139}#) + (car #{p 4140}#) + #{w 4141}# + (#{match 4039}# + (cdr #{e 4139}#) + (cdr #{p 4140}#) + #{w 4141}# + #{r 4142}# + #{mod 4143}#) + #{mod 4143}#) #f) - (if (eq? #{p 4130}# 'each-any) + (if (eq? #{p 4140}# 'each-any) (begin - (let ((#{l 4150}# - (#{match-each-any 4021}# - #{e 4129}# - #{w 4131}# - #{mod 4133}#))) - (if #{l 4150}# (cons #{l 4150}# #{r 4132}#) #f))) + (let ((#{l 4160}# + (#{match-each-any 4031}# + #{e 4139}# + #{w 4141}# + #{mod 4143}#))) + (if #{l 4160}# (cons #{l 4160}# #{r 4142}#) #f))) (begin - (let ((#{atom-key 4156}# (vector-ref #{p 4130}# 0))) - (if (eqv? #{atom-key 4156}# 'each) - (if (null? #{e 4129}#) - (#{match-empty 4023}# - (vector-ref #{p 4130}# 1) - #{r 4132}#) + (let ((#{atom-key 4166}# (vector-ref #{p 4140}# 0))) + (if (memv #{atom-key 4166}# '(each)) + (if (null? #{e 4139}#) + (#{match-empty 4033}# + (vector-ref #{p 4140}# 1) + #{r 4142}#) (begin - (let ((#{l 4159}# - (#{match-each 4017}# - #{e 4129}# - (vector-ref #{p 4130}# 1) - #{w 4131}# - #{mod 4133}#))) - (if #{l 4159}# + (let ((#{l 4169}# + (#{match-each 4027}# + #{e 4139}# + (vector-ref #{p 4140}# 1) + #{w 4141}# + #{mod 4143}#))) + (if #{l 4169}# (letrec* - ((#{collect 4164}# - (lambda (#{l 4165}#) - (if (null? (car #{l 4165}#)) - #{r 4132}# - (cons (map car #{l 4165}#) - (#{collect 4164}# - (map cdr #{l 4165}#))))))) - (begin (#{collect 4164}# #{l 4159}#))) + ((#{collect 4174}# + (lambda (#{l 4175}#) + (if (null? (car #{l 4175}#)) + #{r 4142}# + (cons (map car #{l 4175}#) + (#{collect 4174}# + (map cdr #{l 4175}#))))))) + (begin (#{collect 4174}# #{l 4169}#))) #f)))) - (if (eqv? #{atom-key 4156}# 'each+) + (if (memv #{atom-key 4166}# '(each+)) (call-with-values (lambda () - (#{match-each+ 4019}# - #{e 4129}# - (vector-ref #{p 4130}# 1) - (vector-ref #{p 4130}# 2) - (vector-ref #{p 4130}# 3) - #{w 4131}# - #{r 4132}# - #{mod 4133}#)) - (lambda (#{xr* 4167}# #{y-pat 4168}# #{r 4169}#) - (if #{r 4169}# - (if (null? #{y-pat 4168}#) - (if (null? #{xr* 4167}#) - (#{match-empty 4023}# - (vector-ref #{p 4130}# 1) - #{r 4169}#) - (#{combine 4025}# - #{xr* 4167}# - #{r 4169}#)) + (#{match-each+ 4029}# + #{e 4139}# + (vector-ref #{p 4140}# 1) + (vector-ref #{p 4140}# 2) + (vector-ref #{p 4140}# 3) + #{w 4141}# + #{r 4142}# + #{mod 4143}#)) + (lambda (#{xr* 4177}# #{y-pat 4178}# #{r 4179}#) + (if #{r 4179}# + (if (null? #{y-pat 4178}#) + (if (null? #{xr* 4177}#) + (#{match-empty 4033}# + (vector-ref #{p 4140}# 1) + #{r 4179}#) + (#{combine 4035}# + #{xr* 4177}# + #{r 4179}#)) #f) #f))) - (if (eqv? #{atom-key 4156}# 'free-id) - (if (#{id? 339}# #{e 4129}#) - (if (#{free-id=? 395}# - (#{wrap 405}# - #{e 4129}# - #{w 4131}# - #{mod 4133}#) - (vector-ref #{p 4130}# 1)) - #{r 4132}# + (if (memv #{atom-key 4166}# '(free-id)) + (if (#{id? 343}# #{e 4139}#) + (if (#{free-id=? 399}# + (#{wrap 409}# + #{e 4139}# + #{w 4141}# + #{mod 4143}#) + (vector-ref #{p 4140}# 1)) + #{r 4142}# #f) #f) - (if (eqv? #{atom-key 4156}# 'atom) + (if (memv #{atom-key 4166}# '(atom)) (if (equal? - (vector-ref #{p 4130}# 1) - (#{strip 445}# #{e 4129}# #{w 4131}#)) - #{r 4132}# + (vector-ref #{p 4140}# 1) + (#{strip 449}# #{e 4139}# #{w 4141}#)) + #{r 4142}# #f) - (if (eqv? #{atom-key 4156}# 'vector) - (if (vector? #{e 4129}#) - (#{match 4029}# - (vector->list #{e 4129}#) - (vector-ref #{p 4130}# 1) - #{w 4131}# - #{r 4132}# - #{mod 4133}#) + (if (memv #{atom-key 4166}# '(vector)) + (if (vector? #{e 4139}#) + (#{match 4039}# + (vector->list #{e 4139}#) + (vector-ref #{p 4140}# 1) + #{w 4141}# + #{r 4142}# + #{mod 4143}#) #f))))))))))))) - (#{match 4029}# - (lambda (#{e 4186}# - #{p 4187}# - #{w 4188}# - #{r 4189}# - #{mod 4190}#) - (if (not #{r 4189}#) + (#{match 4039}# + (lambda (#{e 4196}# + #{p 4197}# + #{w 4198}# + #{r 4199}# + #{mod 4200}#) + (if (not #{r 4199}#) #f - (if (eq? #{p 4187}# '_) - #{r 4189}# - (if (eq? #{p 4187}# 'any) - (cons (#{wrap 405}# #{e 4186}# #{w 4188}# #{mod 4190}#) - #{r 4189}#) - (if (#{syntax-object? 305}# #{e 4186}#) - (#{match* 4027}# - (#{syntax-object-expression 307}# #{e 4186}#) - #{p 4187}# - (#{join-wraps 387}# - #{w 4188}# - (#{syntax-object-wrap 309}# #{e 4186}#)) - #{r 4189}# - (#{syntax-object-module 311}# #{e 4186}#)) - (#{match* 4027}# - #{e 4186}# - #{p 4187}# - #{w 4188}# - #{r 4189}# - #{mod 4190}#)))))))) + (if (eq? #{p 4197}# '_) + #{r 4199}# + (if (eq? #{p 4197}# 'any) + (cons (#{wrap 409}# #{e 4196}# #{w 4198}# #{mod 4200}#) + #{r 4199}#) + (if (#{syntax-object? 309}# #{e 4196}#) + (#{match* 4037}# + (#{syntax-object-expression 311}# #{e 4196}#) + #{p 4197}# + (#{join-wraps 391}# + #{w 4198}# + (#{syntax-object-wrap 313}# #{e 4196}#)) + #{r 4199}# + (#{syntax-object-module 315}# #{e 4196}#)) + (#{match* 4037}# + #{e 4196}# + #{p 4197}# + #{w 4198}# + #{r 4199}# + #{mod 4200}#)))))))) (begin (set! $sc-dispatch - (lambda (#{e 4205}# #{p 4206}#) - (if (eq? #{p 4206}# 'any) - (list #{e 4205}#) - (if (eq? #{p 4206}# '_) + (lambda (#{e 4215}# #{p 4216}#) + (if (eq? #{p 4216}# 'any) + (list #{e 4215}#) + (if (eq? #{p 4216}# '_) '() - (if (#{syntax-object? 305}# #{e 4205}#) - (#{match* 4027}# - (#{syntax-object-expression 307}# #{e 4205}#) - #{p 4206}# - (#{syntax-object-wrap 309}# #{e 4205}#) + (if (#{syntax-object? 309}# #{e 4215}#) + (#{match* 4037}# + (#{syntax-object-expression 311}# #{e 4215}#) + #{p 4216}# + (#{syntax-object-wrap 313}# #{e 4215}#) '() - (#{syntax-object-module 311}# #{e 4205}#)) - (#{match* 4027}# - #{e 4205}# - #{p 4206}# + (#{syntax-object-module 315}# #{e 4215}#)) + (#{match* 4037}# + #{e 4215}# + #{p 4216}# '(()) '() #f))))))))))) @@ -14108,82 +14211,82 @@ (make-syntax-transformer 'with-syntax 'macro - (lambda (#{x 4217}#) - (let ((#{tmp 4219}# #{x 4217}#)) - (let ((#{tmp 4220}# + (lambda (#{x 4227}#) + (let ((#{tmp 4229}# #{x 4227}#)) + (let ((#{tmp 4230}# ($sc-dispatch - #{tmp 4219}# + #{tmp 4229}# '(_ () any . each-any)))) - (if #{tmp 4220}# + (if #{tmp 4230}# (@apply - (lambda (#{e1 4223}# #{e2 4224}#) + (lambda (#{e1 4233}# #{e2 4234}#) (cons '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4221" "i4222")) + #("i4231" "i4232")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4218"))) + #(ribcage #(x) #((top)) #("i4228"))) (hygiene guile)) - (cons '() (cons #{e1 4223}# #{e2 4224}#)))) - #{tmp 4220}#) - (let ((#{tmp 4226}# + (cons '() (cons #{e1 4233}# #{e2 4234}#)))) + #{tmp 4230}#) + (let ((#{tmp 4236}# ($sc-dispatch - #{tmp 4219}# + #{tmp 4229}# '(_ ((any any)) any . each-any)))) - (if #{tmp 4226}# + (if #{tmp 4236}# (@apply - (lambda (#{out 4231}# - #{in 4232}# - #{e1 4233}# - #{e2 4234}#) + (lambda (#{out 4241}# + #{in 4242}# + #{e1 4243}# + #{e2 4244}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4227" "i4228" "i4229" "i4230")) + #("i4237" "i4238" "i4239" "i4240")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4218"))) + #(ribcage #(x) #((top)) #("i4228"))) (hygiene guile)) - #{in 4232}# + #{in 4242}# '() - (list #{out 4231}# + (list #{out 4241}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4227" "i4228" "i4229" "i4230")) + #("i4237" "i4238" "i4239" "i4240")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4218"))) + #(ribcage #(x) #((top)) #("i4228"))) (hygiene guile)) (cons '() - (cons #{e1 4233}# #{e2 4234}#)))))) - #{tmp 4226}#) - (let ((#{tmp 4236}# + (cons #{e1 4243}# #{e2 4244}#)))))) + #{tmp 4236}#) + (let ((#{tmp 4246}# ($sc-dispatch - #{tmp 4219}# + #{tmp 4229}# '(_ #(each (any any)) any . each-any)))) - (if #{tmp 4236}# + (if #{tmp 4246}# (@apply - (lambda (#{out 4241}# - #{in 4242}# - #{e1 4243}# - #{e2 4244}#) + (lambda (#{out 4251}# + #{in 4252}# + #{e1 4253}# + #{e2 4254}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4237" "i4238" "i4239" "i4240")) + #("i4247" "i4248" "i4249" "i4250")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4218"))) + #(ribcage #(x) #((top)) #("i4228"))) (hygiene guile)) (cons '#(syntax-object list @@ -14191,63 +14294,63 @@ #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4237" "i4238" "i4239" "i4240")) + #("i4247" "i4248" "i4249" "i4250")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4218"))) + #(ribcage #(x) #((top)) #("i4228"))) (hygiene guile)) - #{in 4242}#) + #{in 4252}#) '() - (list #{out 4241}# + (list #{out 4251}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4237" - "i4238" - "i4239" - "i4240")) + #("i4247" + "i4248" + "i4249" + "i4250")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4218"))) + #("i4228"))) (hygiene guile)) (cons '() - (cons #{e1 4243}# - #{e2 4244}#)))))) - #{tmp 4236}#) + (cons #{e1 4253}# + #{e2 4254}#)))))) + #{tmp 4246}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4219}#))))))))))) + #{tmp 4229}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro - (lambda (#{x 4248}#) - (let ((#{tmp 4250}# #{x 4248}#)) - (let ((#{tmp 4251}# + (lambda (#{x 4258}#) + (let ((#{tmp 4260}# #{x 4258}#)) + (let ((#{tmp 4261}# ($sc-dispatch - #{tmp 4250}# + #{tmp 4260}# '(_ each-any . #(each ((any . any) any)))))) - (if #{tmp 4251}# + (if #{tmp 4261}# (@apply - (lambda (#{k 4256}# - #{keyword 4257}# - #{pattern 4258}# - #{template 4259}#) + (lambda (#{k 4266}# + #{keyword 4267}# + #{pattern 4268}# + #{template 4269}#) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) '(#(syntax-object x @@ -14255,9 +14358,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile))) (vector '(#(syntax-object @@ -14266,9 +14369,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) . #(syntax-object @@ -14277,9 +14380,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14287,20 +14390,20 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) - #{pattern 4258}#)) + #{pattern 4268}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) (cons '#(syntax-object x @@ -14308,13 +14411,13 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4252" "i4253" "i4254" "i4255")) + #("i4262" "i4263" "i4264" "i4265")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) - (cons #{k 4256}# - (map (lambda (#{tmp 4263}# - #{tmp 4262}#) + (cons #{k 4266}# + (map (lambda (#{tmp 4273}# + #{tmp 4272}#) (list (cons '#(syntax-object dummy ((top) @@ -14327,10 +14430,10 @@ (top) (top) (top)) - #("i4252" - "i4253" - "i4254" - "i4255")) + #("i4262" + "i4263" + "i4264" + "i4265")) #(ribcage () () @@ -14338,9 +14441,9 @@ #(ribcage #(x) #((top)) - #("i4249"))) + #("i4259"))) (hygiene guile)) - #{tmp 4262}#) + #{tmp 4272}#) (list '#(syntax-object syntax ((top) @@ -14353,10 +14456,10 @@ (top) (top) (top)) - #("i4252" - "i4253" - "i4254" - "i4255")) + #("i4262" + "i4263" + "i4264" + "i4265")) #(ribcage () () @@ -14364,41 +14467,41 @@ #(ribcage #(x) #((top)) - #("i4249"))) + #("i4259"))) (hygiene guile)) - #{tmp 4263}#))) - #{template 4259}# - #{pattern 4258}#)))))) - #{tmp 4251}#) - (let ((#{tmp 4264}# + #{tmp 4273}#))) + #{template 4269}# + #{pattern 4268}#)))))) + #{tmp 4261}#) + (let ((#{tmp 4274}# ($sc-dispatch - #{tmp 4250}# + #{tmp 4260}# '(_ each-any any . #(each ((any . any) any)))))) - (if (if #{tmp 4264}# + (if (if #{tmp 4274}# (@apply - (lambda (#{k 4270}# - #{docstring 4271}# - #{keyword 4272}# - #{pattern 4273}# - #{template 4274}#) - (string? (syntax->datum #{docstring 4271}#))) - #{tmp 4264}#) + (lambda (#{k 4280}# + #{docstring 4281}# + #{keyword 4282}# + #{pattern 4283}# + #{template 4284}#) + (string? (syntax->datum #{docstring 4281}#))) + #{tmp 4274}#) #f) (@apply - (lambda (#{k 4280}# - #{docstring 4281}# - #{keyword 4282}# - #{pattern 4283}# - #{template 4284}#) + (lambda (#{k 4290}# + #{docstring 4291}# + #{keyword 4292}# + #{pattern 4293}# + #{template 4294}#) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" "i4276" "i4277" "i4278" "i4279")) + #("i4285" "i4286" "i4287" "i4288" "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) '(#(syntax-object x @@ -14406,11 +14509,11 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" "i4276" "i4277" "i4278" "i4279")) + #("i4285" "i4286" "i4287" "i4288" "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile))) - #{docstring 4281}# + #{docstring 4291}# (vector '(#(syntax-object macro-type @@ -14418,9 +14521,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" "i4276" "i4277" "i4278" "i4279")) + #("i4285" "i4286" "i4287" "i4288" "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) . #(syntax-object @@ -14429,9 +14532,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" "i4276" "i4277" "i4278" "i4279")) + #("i4285" "i4286" "i4287" "i4288" "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14439,28 +14542,28 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" - "i4276" - "i4277" - "i4278" - "i4279")) + #("i4285" + "i4286" + "i4287" + "i4288" + "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) - #{pattern 4283}#)) + #{pattern 4293}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4275" - "i4276" - "i4277" - "i4278" - "i4279")) + #("i4285" + "i4286" + "i4287" + "i4288" + "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) (cons '#(syntax-object x @@ -14472,17 +14575,17 @@ pattern template) #((top) (top) (top) (top) (top)) - #("i4275" - "i4276" - "i4277" - "i4278" - "i4279")) + #("i4285" + "i4286" + "i4287" + "i4288" + "i4289")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4249"))) + #(ribcage #(x) #((top)) #("i4259"))) (hygiene guile)) - (cons #{k 4280}# - (map (lambda (#{tmp 4288}# - #{tmp 4287}#) + (cons #{k 4290}# + (map (lambda (#{tmp 4298}# + #{tmp 4297}#) (list (cons '#(syntax-object dummy ((top) @@ -14497,11 +14600,11 @@ (top) (top) (top)) - #("i4275" - "i4276" - "i4277" - "i4278" - "i4279")) + #("i4285" + "i4286" + "i4287" + "i4288" + "i4289")) #(ribcage () () @@ -14509,10 +14612,10 @@ #(ribcage #(x) #((top)) - #("i4249"))) + #("i4259"))) (hygiene guile)) - #{tmp 4287}#) + #{tmp 4297}#) (list '#(syntax-object syntax ((top) @@ -14527,11 +14630,11 @@ (top) (top) (top)) - #("i4275" - "i4276" - "i4277" - "i4278" - "i4279")) + #("i4285" + "i4286" + "i4287" + "i4288" + "i4289")) #(ribcage () () @@ -14539,48 +14642,48 @@ #(ribcage #(x) #((top)) - #("i4249"))) + #("i4259"))) (hygiene guile)) - #{tmp 4288}#))) - #{template 4284}# - #{pattern 4283}#)))))) - #{tmp 4264}#) + #{tmp 4298}#))) + #{template 4294}# + #{pattern 4293}#)))))) + #{tmp 4274}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4250}#))))))))) + #{tmp 4260}#))))))))) (define let* (make-syntax-transformer 'let* 'macro - (lambda (#{x 4289}#) - (let ((#{tmp 4291}# #{x 4289}#)) - (let ((#{tmp 4292}# + (lambda (#{x 4299}#) + (let ((#{tmp 4301}# #{x 4299}#)) + (let ((#{tmp 4302}# ($sc-dispatch - #{tmp 4291}# + #{tmp 4301}# '(any #(each (any any)) any . each-any)))) - (if (if #{tmp 4292}# + (if (if #{tmp 4302}# (@apply - (lambda (#{let* 4298}# - #{x 4299}# - #{v 4300}# - #{e1 4301}# - #{e2 4302}#) - (and-map identifier? #{x 4299}#)) - #{tmp 4292}#) + (lambda (#{let* 4308}# + #{x 4309}# + #{v 4310}# + #{e1 4311}# + #{e2 4312}#) + (and-map identifier? #{x 4309}#)) + #{tmp 4302}#) #f) (@apply - (lambda (#{let* 4309}# - #{x 4310}# - #{v 4311}# - #{e1 4312}# - #{e2 4313}#) + (lambda (#{let* 4319}# + #{x 4320}# + #{v 4321}# + #{e1 4322}# + #{e2 4323}#) (letrec* - ((#{f 4316}# - (lambda (#{bindings 4317}#) - (if (null? #{bindings 4317}#) + ((#{f 4326}# + (lambda (#{bindings 4327}#) + (if (null? #{bindings 4327}#) (cons '#(syntax-object let ((top) @@ -14588,27 +14691,27 @@ #(ribcage #(f bindings) #((top) (top)) - #("i4314" "i4315")) + #("i4324" "i4325")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4304" - "i4305" - "i4306" - "i4307" - "i4308")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4290"))) + #(ribcage #(x) #((top)) #("i4300"))) (hygiene guile)) - (cons '() (cons #{e1 4312}# #{e2 4313}#))) - (let ((#{tmp 4322}# - (list (#{f 4316}# (cdr #{bindings 4317}#)) - (car #{bindings 4317}#)))) - (let ((#{tmp 4323}# - ($sc-dispatch #{tmp 4322}# '(any any)))) - (if #{tmp 4323}# + (cons '() (cons #{e1 4322}# #{e2 4323}#))) + (let ((#{tmp 4332}# + (list (#{f 4326}# (cdr #{bindings 4327}#)) + (car #{bindings 4327}#)))) + (let ((#{tmp 4333}# + ($sc-dispatch #{tmp 4332}# '(any any)))) + (if #{tmp 4333}# (@apply - (lambda (#{body 4326}# #{binding 4327}#) + (lambda (#{body 4336}# #{binding 4337}#) (list '#(syntax-object let ((top) @@ -14616,96 +14719,96 @@ #(ribcage #(body binding) #((top) (top)) - #("i4324" "i4325")) + #("i4334" "i4335")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) - #("i4314" "i4315")) + #("i4324" "i4325")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4304" - "i4305" - "i4306" - "i4307" - "i4308")) + #("i4314" + "i4315" + "i4316" + "i4317" + "i4318")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4290"))) + #("i4300"))) (hygiene guile)) - (list #{binding 4327}#) - #{body 4326}#)) - #{tmp 4323}#) + (list #{binding 4337}#) + #{body 4336}#)) + #{tmp 4333}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4322}#)))))))) + #{tmp 4332}#)))))))) (begin - (#{f 4316}# (map list #{x 4310}# #{v 4311}#))))) - #{tmp 4292}#) + (#{f 4326}# (map list #{x 4320}# #{v 4321}#))))) + #{tmp 4302}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4291}#))))))) + #{tmp 4301}#))))))) (define do (make-syntax-transformer 'do 'macro - (lambda (#{orig-x 4328}#) - (let ((#{tmp 4330}# #{orig-x 4328}#)) - (let ((#{tmp 4331}# + (lambda (#{orig-x 4338}#) + (let ((#{tmp 4340}# #{orig-x 4338}#)) + (let ((#{tmp 4341}# ($sc-dispatch - #{tmp 4330}# + #{tmp 4340}# '(_ #(each (any any . any)) (any . each-any) . each-any)))) - (if #{tmp 4331}# + (if #{tmp 4341}# (@apply - (lambda (#{var 4338}# - #{init 4339}# - #{step 4340}# - #{e0 4341}# - #{e1 4342}# - #{c 4343}#) - (let ((#{tmp 4345}# - (map (lambda (#{v 4366}# #{s 4367}#) - (let ((#{tmp 4370}# #{s 4367}#)) - (let ((#{tmp 4371}# - ($sc-dispatch #{tmp 4370}# '()))) - (if #{tmp 4371}# + (lambda (#{var 4348}# + #{init 4349}# + #{step 4350}# + #{e0 4351}# + #{e1 4352}# + #{c 4353}#) + (let ((#{tmp 4355}# + (map (lambda (#{v 4376}# #{s 4377}#) + (let ((#{tmp 4380}# #{s 4377}#)) + (let ((#{tmp 4381}# + ($sc-dispatch #{tmp 4380}# '()))) + (if #{tmp 4381}# (@apply - (lambda () #{v 4366}#) - #{tmp 4371}#) - (let ((#{tmp 4372}# + (lambda () #{v 4376}#) + #{tmp 4381}#) + (let ((#{tmp 4382}# ($sc-dispatch - #{tmp 4370}# + #{tmp 4380}# '(any)))) - (if #{tmp 4372}# + (if #{tmp 4382}# (@apply - (lambda (#{e 4374}#) #{e 4374}#) - #{tmp 4372}#) - (let ((#{_ 4376}# #{tmp 4370}#)) + (lambda (#{e 4384}#) #{e 4384}#) + #{tmp 4382}#) + (let ((#{_ 4386}# #{tmp 4380}#)) (syntax-violation 'do "bad step expression" - #{orig-x 4328}# - #{s 4367}#)))))))) - #{var 4338}# - #{step 4340}#))) - (let ((#{tmp 4346}# - ($sc-dispatch #{tmp 4345}# 'each-any))) - (if #{tmp 4346}# + #{orig-x 4338}# + #{s 4377}#)))))))) + #{var 4348}# + #{step 4350}#))) + (let ((#{tmp 4356}# + ($sc-dispatch #{tmp 4355}# 'each-any))) + (if #{tmp 4356}# (@apply - (lambda (#{step 4348}#) - (let ((#{tmp 4349}# #{e1 4342}#)) - (let ((#{tmp 4350}# - ($sc-dispatch #{tmp 4349}# '()))) - (if #{tmp 4350}# + (lambda (#{step 4358}#) + (let ((#{tmp 4359}# #{e1 4352}#)) + (let ((#{tmp 4360}# + ($sc-dispatch #{tmp 4359}# '()))) + (if #{tmp 4360}# (@apply (lambda () (list '#(syntax-object @@ -14715,7 +14818,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14724,17 +14827,17 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) '#(syntax-object doloop @@ -14743,7 +14846,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14752,19 +14855,19 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - (map list #{var 4338}# #{init 4339}#) + (map list #{var 4348}# #{init 4349}#) (list '#(syntax-object if ((top) @@ -14772,7 +14875,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14781,17 +14884,17 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) (list '#(syntax-object not @@ -14800,7 +14903,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -14814,19 +14917,19 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - #{e0 4341}#) + #{e0 4351}#) (cons '#(syntax-object begin ((top) @@ -14834,7 +14937,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -14848,20 +14951,20 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) (append - #{c 4343}# + #{c 4353}# (list (cons '#(syntax-object doloop ((top) @@ -14872,7 +14975,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -14886,12 +14989,12 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () @@ -14899,30 +15002,30 @@ #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - #{step 4348}#))))))) - #{tmp 4350}#) - (let ((#{tmp 4355}# + #{step 4358}#))))))) + #{tmp 4360}#) + (let ((#{tmp 4365}# ($sc-dispatch - #{tmp 4349}# + #{tmp 4359}# '(any . each-any)))) - (if #{tmp 4355}# + (if #{tmp 4365}# (@apply - (lambda (#{e1 4358}# #{e2 4359}#) + (lambda (#{e1 4368}# #{e2 4369}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4356" "i4357")) + #("i4366" "i4367")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14931,17 +15034,17 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) '#(syntax-object doloop @@ -14949,12 +15052,12 @@ #(ribcage #(e1 e2) #((top) (top)) - #("i4356" "i4357")) + #("i4366" "i4367")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14963,33 +15066,33 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) (map list - #{var 4338}# - #{init 4339}#) + #{var 4348}# + #{init 4349}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4356" "i4357")) + #("i4366" "i4367")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -15003,27 +15106,27 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - #{e0 4341}# + #{e0 4351}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4356" - "i4357")) + #("i4366" + "i4367")) #(ribcage () () @@ -15031,7 +15134,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -15045,12 +15148,12 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () @@ -15058,18 +15161,18 @@ #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - (cons #{e1 4358}# - #{e2 4359}#)) + (cons #{e1 4368}# + #{e2 4369}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4356" - "i4357")) + #("i4366" + "i4367")) #(ribcage () () @@ -15077,7 +15180,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -15091,12 +15194,12 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () @@ -15104,10 +15207,10 @@ #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) (append - #{c 4343}# + #{c 4353}# (list (cons '#(syntax-object doloop ((top) @@ -15116,8 +15219,8 @@ e2) #((top) (top)) - #("i4356" - "i4357")) + #("i4366" + "i4367")) #(ribcage () () @@ -15125,7 +15228,7 @@ #(ribcage #(step) #((top)) - #("i4347")) + #("i4357")) #(ribcage #(var init @@ -15139,12 +15242,12 @@ (top) (top) (top)) - #("i4332" - "i4333" - "i4334" - "i4335" - "i4336" - "i4337")) + #("i4342" + "i4343" + "i4344" + "i4345" + "i4346" + "i4347")) #(ribcage () () @@ -15152,37 +15255,37 @@ #(ribcage #(orig-x) #((top)) - #("i4329"))) + #("i4339"))) (hygiene guile)) - #{step 4348}#))))))) - #{tmp 4355}#) + #{step 4358}#))))))) + #{tmp 4365}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4349}#))))))) - #{tmp 4346}#) + #{tmp 4359}#))))))) + #{tmp 4356}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4345}#))))) - #{tmp 4331}#) + #{tmp 4355}#))))) + #{tmp 4341}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4330}#))))))) + #{tmp 4340}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* - ((#{quasi 4380}# - (lambda (#{p 4393}# #{lev 4394}#) - (let ((#{tmp 4397}# #{p 4393}#)) - (let ((#{tmp 4398}# + ((#{quasi 4390}# + (lambda (#{p 4403}# #{lev 4404}#) + (let ((#{tmp 4407}# #{p 4403}#)) + (let ((#{tmp 4408}# ($sc-dispatch - #{tmp 4397}# + #{tmp 4407}# '(#(free-id #(syntax-object unquote @@ -15191,7 +15294,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15200,28 +15303,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) any)))) - (if #{tmp 4398}# + (if #{tmp 4408}# (@apply - (lambda (#{p 4400}#) - (if (= #{lev 4394}# 0) + (lambda (#{p 4410}#) + (if (= #{lev 4404}# 0) (list '#(syntax-object "value" ((top) - #(ribcage #(p) #((top)) #("i4399")) + #(ribcage #(p) #((top)) #("i4409")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15230,25 +15333,25 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{p 4400}#) - (#{quasicons 4384}# + #{p 4410}#) + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4399")) + #(ribcage #(p) #((top)) #("i4409")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15257,23 +15360,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4399")) + #(ribcage #(p) #((top)) #("i4409")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15282,21 +15385,21 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - (list #{p 4400}#) - (#{1-}# #{lev 4394}#))))) - #{tmp 4398}#) - (let ((#{tmp 4401}# + (#{quasi 4390}# + (list #{p 4410}#) + (#{1-}# #{lev 4404}#))))) + #{tmp 4408}#) + (let ((#{tmp 4411}# ($sc-dispatch - #{tmp 4397}# + #{tmp 4407}# '(#(free-id #(syntax-object quasiquote @@ -15305,7 +15408,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15314,28 +15417,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) any)))) - (if #{tmp 4401}# + (if #{tmp 4411}# (@apply - (lambda (#{p 4403}#) - (#{quasicons 4384}# + (lambda (#{p 4413}#) + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4402")) + #(ribcage #(p) #((top)) #("i4412")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15344,23 +15447,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object quasiquote ((top) - #(ribcage #(p) #((top)) #("i4402")) + #(ribcage #(p) #((top)) #("i4412")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15369,27 +15472,27 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - (list #{p 4403}#) - (#{1+}# #{lev 4394}#)))) - #{tmp 4401}#) - (let ((#{tmp 4404}# - ($sc-dispatch #{tmp 4397}# '(any . any)))) - (if #{tmp 4404}# + (#{quasi 4390}# + (list #{p 4413}#) + (#{1+}# #{lev 4404}#)))) + #{tmp 4411}#) + (let ((#{tmp 4414}# + ($sc-dispatch #{tmp 4407}# '(any . any)))) + (if #{tmp 4414}# (@apply - (lambda (#{p 4407}# #{q 4408}#) - (let ((#{tmp 4409}# #{p 4407}#)) - (let ((#{tmp 4410}# + (lambda (#{p 4417}# #{q 4418}#) + (let ((#{tmp 4419}# #{p 4417}#)) + (let ((#{tmp 4420}# ($sc-dispatch - #{tmp 4409}# + #{tmp 4419}# '(#(free-id #(syntax-object unquote @@ -15397,12 +15500,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15417,40 +15520,40 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) . each-any)))) - (if #{tmp 4410}# + (if #{tmp 4420}# (@apply - (lambda (#{p 4412}#) - (if (= #{lev 4394}# 0) - (#{quasilist* 4388}# - (map (lambda (#{tmp 4413}#) + (lambda (#{p 4422}#) + (if (= #{lev 4404}# 0) + (#{quasilist* 4398}# + (map (lambda (#{tmp 4423}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4411")) + #("i4421")) #(ribcage #(p q) #((top) (top)) - #("i4405" - "i4406")) + #("i4415" + "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" - "i4396")) + #("i4405" + "i4406")) #(ribcage (emit quasivector quasilist* @@ -15465,37 +15568,37 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{tmp 4413}#)) - #{p 4412}#) - (#{quasi 4380}# - #{q 4408}# - #{lev 4394}#)) - (#{quasicons 4384}# - (#{quasicons 4384}# + #{tmp 4423}#)) + #{p 4422}#) + (#{quasi 4390}# + #{q 4418}# + #{lev 4404}#)) + (#{quasicons 4394}# + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4411")) + #("i4421")) #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15510,13 +15613,13 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object unquote @@ -15524,16 +15627,16 @@ #(ribcage #(p) #((top)) - #("i4411")) + #("i4421")) #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15548,24 +15651,24 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - #{p 4412}# - (#{1-}# #{lev 4394}#))) - (#{quasi 4380}# - #{q 4408}# - #{lev 4394}#)))) - #{tmp 4410}#) - (let ((#{tmp 4415}# + (#{quasi 4390}# + #{p 4422}# + (#{1-}# #{lev 4404}#))) + (#{quasi 4390}# + #{q 4418}# + #{lev 4404}#)))) + #{tmp 4420}#) + (let ((#{tmp 4425}# ($sc-dispatch - #{tmp 4409}# + #{tmp 4419}# '(#(free-id #(syntax-object unquote-splicing @@ -15573,12 +15676,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15593,35 +15696,35 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) . each-any)))) - (if #{tmp 4415}# + (if #{tmp 4425}# (@apply - (lambda (#{p 4417}#) - (if (= #{lev 4394}# 0) - (#{quasiappend 4386}# - (map (lambda (#{tmp 4418}#) + (lambda (#{p 4427}#) + (if (= #{lev 4404}# 0) + (#{quasiappend 4396}# + (map (lambda (#{tmp 4428}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4416")) + #("i4426")) #(ribcage #(p q) #((top) (top)) - #("i4405" - "i4406")) + #("i4415" + "i4416")) #(ribcage () () @@ -15630,8 +15733,8 @@ #(p lev) #((top) (top)) - #("i4395" - "i4396")) + #("i4405" + "i4406")) #(ribcage (emit quasivector quasilist* @@ -15646,37 +15749,37 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{tmp 4418}#)) - #{p 4417}#) - (#{quasi 4380}# - #{q 4408}# - #{lev 4394}#)) - (#{quasicons 4384}# - (#{quasicons 4384}# + #{tmp 4428}#)) + #{p 4427}#) + (#{quasi 4390}# + #{q 4418}# + #{lev 4404}#)) + (#{quasicons 4394}# + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4416")) + #("i4426")) #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15691,13 +15794,13 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -15705,16 +15808,16 @@ #(ribcage #(p) #((top)) - #("i4416")) + #("i4426")) #(ribcage #(p q) #((top) (top)) - #("i4405" "i4406")) + #("i4415" "i4416")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15729,50 +15832,50 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - #{p 4417}# - (#{1-}# #{lev 4394}#))) - (#{quasi 4380}# - #{q 4408}# - #{lev 4394}#)))) - #{tmp 4415}#) - (let ((#{_ 4421}# #{tmp 4409}#)) - (#{quasicons 4384}# - (#{quasi 4380}# - #{p 4407}# - #{lev 4394}#) - (#{quasi 4380}# - #{q 4408}# - #{lev 4394}#))))))))) - #{tmp 4404}#) - (let ((#{tmp 4422}# + (#{quasi 4390}# + #{p 4427}# + (#{1-}# #{lev 4404}#))) + (#{quasi 4390}# + #{q 4418}# + #{lev 4404}#)))) + #{tmp 4425}#) + (let ((#{_ 4431}# #{tmp 4419}#)) + (#{quasicons 4394}# + (#{quasi 4390}# + #{p 4417}# + #{lev 4404}#) + (#{quasi 4390}# + #{q 4418}# + #{lev 4404}#))))))))) + #{tmp 4414}#) + (let ((#{tmp 4432}# ($sc-dispatch - #{tmp 4397}# + #{tmp 4407}# '#(vector each-any)))) - (if #{tmp 4422}# + (if #{tmp 4432}# (@apply - (lambda (#{x 4424}#) - (#{quasivector 4390}# - (#{vquasi 4382}# #{x 4424}# #{lev 4394}#))) - #{tmp 4422}#) - (let ((#{p 4427}# #{tmp 4397}#)) + (lambda (#{x 4434}#) + (#{quasivector 4400}# + (#{vquasi 4392}# #{x 4434}# #{lev 4404}#))) + #{tmp 4432}#) + (let ((#{p 4437}# #{tmp 4407}#)) (list '#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4426")) + #(ribcage #(p) #((top)) #("i4436")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4395" "i4396")) + #("i4405" "i4406")) #(ribcage (emit quasivector quasilist* @@ -15787,27 +15890,27 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{p 4427}#))))))))))))) - (#{vquasi 4382}# - (lambda (#{p 4428}# #{lev 4429}#) - (let ((#{tmp 4432}# #{p 4428}#)) - (let ((#{tmp 4433}# - ($sc-dispatch #{tmp 4432}# '(any . any)))) - (if #{tmp 4433}# + #{p 4437}#))))))))))))) + (#{vquasi 4392}# + (lambda (#{p 4438}# #{lev 4439}#) + (let ((#{tmp 4442}# #{p 4438}#)) + (let ((#{tmp 4443}# + ($sc-dispatch #{tmp 4442}# '(any . any)))) + (if #{tmp 4443}# (@apply - (lambda (#{p 4436}# #{q 4437}#) - (let ((#{tmp 4438}# #{p 4436}#)) - (let ((#{tmp 4439}# + (lambda (#{p 4446}# #{q 4447}#) + (let ((#{tmp 4448}# #{p 4446}#)) + (let ((#{tmp 4449}# ($sc-dispatch - #{tmp 4438}# + #{tmp 4448}# '(#(free-id #(syntax-object unquote @@ -15815,12 +15918,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -15835,38 +15938,38 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) . each-any)))) - (if #{tmp 4439}# + (if #{tmp 4449}# (@apply - (lambda (#{p 4441}#) - (if (= #{lev 4429}# 0) - (#{quasilist* 4388}# - (map (lambda (#{tmp 4442}#) + (lambda (#{p 4451}#) + (if (= #{lev 4439}# 0) + (#{quasilist* 4398}# + (map (lambda (#{tmp 4452}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4440")) + #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -15881,32 +15984,32 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{tmp 4442}#)) - #{p 4441}#) - (#{vquasi 4382}# #{q 4437}# #{lev 4429}#)) - (#{quasicons 4384}# - (#{quasicons 4384}# + #{tmp 4452}#)) + #{p 4451}#) + (#{vquasi 4392}# #{q 4447}# #{lev 4439}#)) + (#{quasicons 4394}# + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4440")) + #(ribcage #(p) #((top)) #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -15921,27 +16024,27 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4440")) + #(ribcage #(p) #((top)) #("i4450")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -15956,22 +16059,22 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - #{p 4441}# - (#{1-}# #{lev 4429}#))) - (#{vquasi 4382}# #{q 4437}# #{lev 4429}#)))) - #{tmp 4439}#) - (let ((#{tmp 4444}# + (#{quasi 4390}# + #{p 4451}# + (#{1-}# #{lev 4439}#))) + (#{vquasi 4392}# #{q 4447}# #{lev 4439}#)))) + #{tmp 4449}#) + (let ((#{tmp 4454}# ($sc-dispatch - #{tmp 4438}# + #{tmp 4448}# '(#(free-id #(syntax-object unquote-splicing @@ -15979,12 +16082,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -15999,38 +16102,38 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) . each-any)))) - (if #{tmp 4444}# + (if #{tmp 4454}# (@apply - (lambda (#{p 4446}#) - (if (= #{lev 4429}# 0) - (#{quasiappend 4386}# - (map (lambda (#{tmp 4447}#) + (lambda (#{p 4456}#) + (if (= #{lev 4439}# 0) + (#{quasiappend 4396}# + (map (lambda (#{tmp 4457}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4445")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -16045,37 +16148,37 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{tmp 4447}#)) - #{p 4446}#) - (#{vquasi 4382}# - #{q 4437}# - #{lev 4429}#)) - (#{quasicons 4384}# - (#{quasicons 4384}# + #{tmp 4457}#)) + #{p 4456}#) + (#{vquasi 4392}# + #{q 4447}# + #{lev 4439}#)) + (#{quasicons 4394}# + (#{quasicons 4394}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4445")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -16090,13 +16193,13 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -16104,16 +16207,16 @@ #(ribcage #(p) #((top)) - #("i4445")) + #("i4455")) #(ribcage #(p q) #((top) (top)) - #("i4434" "i4435")) + #("i4444" "i4445")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -16128,30 +16231,30 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile))) - (#{quasi 4380}# - #{p 4446}# - (#{1-}# #{lev 4429}#))) - (#{vquasi 4382}# - #{q 4437}# - #{lev 4429}#)))) - #{tmp 4444}#) - (let ((#{_ 4450}# #{tmp 4438}#)) - (#{quasicons 4384}# - (#{quasi 4380}# #{p 4436}# #{lev 4429}#) - (#{vquasi 4382}# - #{q 4437}# - #{lev 4429}#))))))))) - #{tmp 4433}#) - (let ((#{tmp 4451}# ($sc-dispatch #{tmp 4432}# '()))) - (if #{tmp 4451}# + (#{quasi 4390}# + #{p 4456}# + (#{1-}# #{lev 4439}#))) + (#{vquasi 4392}# + #{q 4447}# + #{lev 4439}#)))) + #{tmp 4454}#) + (let ((#{_ 4460}# #{tmp 4448}#)) + (#{quasicons 4394}# + (#{quasi 4390}# #{p 4446}# #{lev 4439}#) + (#{vquasi 4392}# + #{q 4447}# + #{lev 4439}#))))))))) + #{tmp 4443}#) + (let ((#{tmp 4461}# ($sc-dispatch #{tmp 4442}# '()))) + (if #{tmp 4461}# (@apply (lambda () '(#(syntax-object @@ -16161,7 +16264,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4430" "i4431")) + #("i4440" "i4441")) #(ribcage (emit quasivector quasilist* @@ -16170,66 +16273,66 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) ())) - #{tmp 4451}#) + #{tmp 4461}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4432}#)))))))) - (#{quasicons 4384}# - (lambda (#{x 4452}# #{y 4453}#) - (let ((#{tmp 4457}# (list #{x 4452}# #{y 4453}#))) - (let ((#{tmp 4458}# - ($sc-dispatch #{tmp 4457}# '(any any)))) - (if #{tmp 4458}# + #{tmp 4442}#)))))))) + (#{quasicons 4394}# + (lambda (#{x 4462}# #{y 4463}#) + (let ((#{tmp 4467}# (list #{x 4462}# #{y 4463}#))) + (let ((#{tmp 4468}# + ($sc-dispatch #{tmp 4467}# '(any any)))) + (if #{tmp 4468}# (@apply - (lambda (#{x 4461}# #{y 4462}#) - (let ((#{tmp 4463}# #{y 4462}#)) - (let ((#{tmp 4464}# + (lambda (#{x 4471}# #{y 4472}#) + (let ((#{tmp 4473}# #{y 4472}#)) + (let ((#{tmp 4474}# ($sc-dispatch - #{tmp 4463}# + #{tmp 4473}# '(#(atom "quote") any)))) - (if #{tmp 4464}# + (if #{tmp 4474}# (@apply - (lambda (#{dy 4466}#) - (let ((#{tmp 4467}# #{x 4461}#)) - (let ((#{tmp 4468}# + (lambda (#{dy 4476}#) + (let ((#{tmp 4477}# #{x 4471}#)) + (let ((#{tmp 4478}# ($sc-dispatch - #{tmp 4467}# + #{tmp 4477}# '(#(atom "quote") any)))) - (if #{tmp 4468}# + (if #{tmp 4478}# (@apply - (lambda (#{dx 4470}#) + (lambda (#{dx 4480}#) (list '#(syntax-object "quote" ((top) #(ribcage #(dx) #((top)) - #("i4469")) + #("i4479")) #(ribcage #(dy) #((top)) - #("i4465")) + #("i4475")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16244,40 +16347,40 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - (cons #{dx 4470}# #{dy 4466}#))) - #{tmp 4468}#) - (let ((#{_ 4472}# #{tmp 4467}#)) - (if (null? #{dy 4466}#) + (cons #{dx 4480}# #{dy 4476}#))) + #{tmp 4478}#) + (let ((#{_ 4482}# #{tmp 4477}#)) + (if (null? #{dy 4476}#) (list '#(syntax-object "list" ((top) #(ribcage #(_) #((top)) - #("i4471")) + #("i4481")) #(ribcage #(dy) #((top)) - #("i4465")) + #("i4475")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16292,37 +16395,37 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{x 4461}#) + #{x 4471}#) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4471")) + #("i4481")) #(ribcage #(dy) #((top)) - #("i4465")) + #("i4475")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16337,42 +16440,42 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{x 4461}# - #{y 4462}#))))))) - #{tmp 4464}#) - (let ((#{tmp 4473}# + #{x 4471}# + #{y 4472}#))))))) + #{tmp 4474}#) + (let ((#{tmp 4483}# ($sc-dispatch - #{tmp 4463}# + #{tmp 4473}# '(#(atom "list") . any)))) - (if #{tmp 4473}# + (if #{tmp 4483}# (@apply - (lambda (#{stuff 4475}#) + (lambda (#{stuff 4485}#) (cons '#(syntax-object "list" ((top) #(ribcage #(stuff) #((top)) - #("i4474")) + #("i4484")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16387,41 +16490,41 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - (cons #{x 4461}# #{stuff 4475}#))) - #{tmp 4473}#) - (let ((#{tmp 4476}# + (cons #{x 4471}# #{stuff 4485}#))) + #{tmp 4483}#) + (let ((#{tmp 4486}# ($sc-dispatch - #{tmp 4463}# + #{tmp 4473}# '(#(atom "list*") . any)))) - (if #{tmp 4476}# + (if #{tmp 4486}# (@apply - (lambda (#{stuff 4478}#) + (lambda (#{stuff 4488}#) (cons '#(syntax-object "list*" ((top) #(ribcage #(stuff) #((top)) - #("i4477")) + #("i4487")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16436,35 +16539,35 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - (cons #{x 4461}# #{stuff 4478}#))) - #{tmp 4476}#) - (let ((#{_ 4480}# #{tmp 4463}#)) + (cons #{x 4471}# #{stuff 4488}#))) + #{tmp 4486}#) + (let ((#{_ 4490}# #{tmp 4473}#)) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4479")) + #("i4489")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4459" "i4460")) + #("i4469" "i4470")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4454" "i4455")) + #("i4464" "i4465")) #(ribcage (emit quasivector quasilist* @@ -16479,30 +16582,30 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{x 4461}# - #{y 4462}#)))))))))) - #{tmp 4458}#) + #{x 4471}# + #{y 4472}#)))))))))) + #{tmp 4468}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4457}#)))))) - (#{quasiappend 4386}# - (lambda (#{x 4481}# #{y 4482}#) - (let ((#{tmp 4485}# #{y 4482}#)) - (let ((#{tmp 4486}# - ($sc-dispatch #{tmp 4485}# '(#(atom "quote") ())))) - (if #{tmp 4486}# + #{tmp 4467}#)))))) + (#{quasiappend 4396}# + (lambda (#{x 4491}# #{y 4492}#) + (let ((#{tmp 4495}# #{y 4492}#)) + (let ((#{tmp 4496}# + ($sc-dispatch #{tmp 4495}# '(#(atom "quote") ())))) + (if #{tmp 4496}# (@apply (lambda () - (if (null? #{x 4481}#) + (if (null? #{x 4491}#) '(#(syntax-object "quote" ((top) @@ -16510,7 +16613,7 @@ #(ribcage #(x y) #((top) (top)) - #("i4483" "i4484")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16519,23 +16622,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) ()) - (if (null? (cdr #{x 4481}#)) - (car #{x 4481}#) - (let ((#{tmp 4493}# #{x 4481}#)) - (let ((#{tmp 4494}# - ($sc-dispatch #{tmp 4493}# 'each-any))) - (if #{tmp 4494}# + (if (null? (cdr #{x 4491}#)) + (car #{x 4491}#) + (let ((#{tmp 4503}# #{x 4491}#)) + (let ((#{tmp 4504}# + ($sc-dispatch #{tmp 4503}# 'each-any))) + (if #{tmp 4504}# (@apply - (lambda (#{p 4496}#) + (lambda (#{p 4506}#) (cons '#(syntax-object "append" ((top) @@ -16543,12 +16646,12 @@ #(ribcage #(p) #((top)) - #("i4495")) + #("i4505")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4483" "i4484")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16563,30 +16666,30 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{p 4496}#)) - #{tmp 4494}#) + #{p 4506}#)) + #{tmp 4504}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4493}#))))))) - #{tmp 4486}#) - (let ((#{_ 4499}# #{tmp 4485}#)) - (if (null? #{x 4481}#) - #{y 4482}# - (let ((#{tmp 4504}# (list #{x 4481}# #{y 4482}#))) - (let ((#{tmp 4505}# - ($sc-dispatch #{tmp 4504}# '(each-any any)))) - (if #{tmp 4505}# + #{tmp 4503}#))))))) + #{tmp 4496}#) + (let ((#{_ 4509}# #{tmp 4495}#)) + (if (null? #{x 4491}#) + #{y 4492}# + (let ((#{tmp 4514}# (list #{x 4491}# #{y 4492}#))) + (let ((#{tmp 4515}# + ($sc-dispatch #{tmp 4514}# '(each-any any)))) + (if #{tmp 4515}# (@apply - (lambda (#{p 4508}# #{y 4509}#) + (lambda (#{p 4518}# #{y 4519}#) (cons '#(syntax-object "append" ((top) @@ -16594,13 +16697,13 @@ #(ribcage #(p y) #((top) (top)) - #("i4506" "i4507")) - #(ribcage #(_) #((top)) #("i4498")) + #("i4516" "i4517")) + #(ribcage #(_) #((top)) #("i4508")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4483" "i4484")) + #("i4493" "i4494")) #(ribcage (emit quasivector quasilist* @@ -16615,47 +16718,47 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - (append #{p 4508}# (list #{y 4509}#)))) - #{tmp 4505}#) + (append #{p 4518}# (list #{y 4519}#)))) + #{tmp 4515}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4504}#))))))))))) - (#{quasilist* 4388}# - (lambda (#{x 4511}# #{y 4512}#) + #{tmp 4514}#))))))))))) + (#{quasilist* 4398}# + (lambda (#{x 4521}# #{y 4522}#) (letrec* - ((#{f 4517}# - (lambda (#{x 4518}#) - (if (null? #{x 4518}#) - #{y 4512}# - (#{quasicons 4384}# - (car #{x 4518}#) - (#{f 4517}# (cdr #{x 4518}#))))))) - (begin (#{f 4517}# #{x 4511}#))))) - (#{quasivector 4390}# - (lambda (#{x 4519}#) - (let ((#{tmp 4521}# #{x 4519}#)) - (let ((#{tmp 4522}# + ((#{f 4527}# + (lambda (#{x 4528}#) + (if (null? #{x 4528}#) + #{y 4522}# + (#{quasicons 4394}# + (car #{x 4528}#) + (#{f 4527}# (cdr #{x 4528}#))))))) + (begin (#{f 4527}# #{x 4521}#))))) + (#{quasivector 4400}# + (lambda (#{x 4529}#) + (let ((#{tmp 4531}# #{x 4529}#)) + (let ((#{tmp 4532}# ($sc-dispatch - #{tmp 4521}# + #{tmp 4531}# '(#(atom "quote") each-any)))) - (if #{tmp 4522}# + (if #{tmp 4532}# (@apply - (lambda (#{x 4524}#) + (lambda (#{x 4534}#) (list '#(syntax-object "quote" ((top) - #(ribcage #(x) #((top)) #("i4523")) + #(ribcage #(x) #((top)) #("i4533")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4520")) + #(ribcage #(x) #((top)) #("i4530")) #(ribcage (emit quasivector quasilist* @@ -16664,53 +16767,53 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - (list->vector #{x 4524}#))) - #{tmp 4522}#) - (let ((#{_ 4527}# #{tmp 4521}#)) + (list->vector #{x 4534}#))) + #{tmp 4532}#) + (let ((#{_ 4537}# #{tmp 4531}#)) (letrec* - ((#{f 4531}# - (lambda (#{y 4532}# #{k 4533}#) - (let ((#{tmp 4544}# #{y 4532}#)) - (let ((#{tmp 4545}# + ((#{f 4541}# + (lambda (#{y 4542}# #{k 4543}#) + (let ((#{tmp 4554}# #{y 4542}#)) + (let ((#{tmp 4555}# ($sc-dispatch - #{tmp 4544}# + #{tmp 4554}# '(#(atom "quote") each-any)))) - (if #{tmp 4545}# + (if #{tmp 4555}# (@apply - (lambda (#{y 4547}#) - (#{k 4533}# - (map (lambda (#{tmp 4548}#) + (lambda (#{y 4557}#) + (#{k 4543}# + (map (lambda (#{tmp 4558}#) (list '#(syntax-object "quote" ((top) #(ribcage #(y) #((top)) - #("i4546")) + #("i4556")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4528" - "i4529" - "i4530")) + #("i4538" + "i4539" + "i4540")) #(ribcage #(_) #((top)) - #("i4526")) + #("i4536")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4520")) + #("i4530")) #(ribcage (emit quasivector quasilist* @@ -16725,75 +16828,75 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{tmp 4548}#)) - #{y 4547}#))) - #{tmp 4545}#) - (let ((#{tmp 4549}# + #{tmp 4558}#)) + #{y 4557}#))) + #{tmp 4555}#) + (let ((#{tmp 4559}# ($sc-dispatch - #{tmp 4544}# + #{tmp 4554}# '(#(atom "list") . each-any)))) - (if #{tmp 4549}# + (if #{tmp 4559}# (@apply - (lambda (#{y 4551}#) - (#{k 4533}# #{y 4551}#)) - #{tmp 4549}#) - (let ((#{tmp 4553}# + (lambda (#{y 4561}#) + (#{k 4543}# #{y 4561}#)) + #{tmp 4559}#) + (let ((#{tmp 4563}# ($sc-dispatch - #{tmp 4544}# + #{tmp 4554}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 4553}# + (if #{tmp 4563}# (@apply - (lambda (#{y 4556}# #{z 4557}#) - (#{f 4531}# - #{z 4557}# - (lambda (#{ls 4558}#) - (#{k 4533}# + (lambda (#{y 4566}# #{z 4567}#) + (#{f 4541}# + #{z 4567}# + (lambda (#{ls 4568}#) + (#{k 4543}# (append - #{y 4556}# - #{ls 4558}#))))) - #{tmp 4553}#) - (let ((#{else 4562}# #{tmp 4544}#)) - (let ((#{tmp 4566}# #{x 4519}#)) - (let ((#{ g4563 4568}# - #{tmp 4566}#)) + #{y 4566}# + #{ls 4568}#))))) + #{tmp 4563}#) + (let ((#{else 4572}# #{tmp 4554}#)) + (let ((#{tmp 4576}# #{x 4529}#)) + (let ((#{ g4573 4578}# + #{tmp 4576}#)) (list '#(syntax-object "list->vector" ((top) #(ribcage () () ()) #(ribcage - #(#{ g4563}#) - #((m4564 top)) - #("i4567")) + #(#{ g4573}#) + #((m4574 top)) + #("i4577")) #(ribcage #(else) #((top)) - #("i4561")) + #("i4571")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4528" - "i4529" - "i4530")) + #("i4538" + "i4539" + "i4540")) #(ribcage #(_) #((top)) - #("i4526")) + #("i4536")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4520")) + #("i4530")) #(ribcage (emit quasivector quasilist* @@ -16808,49 +16911,49 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4563 4568}#)))))))))))))) + #{ g4573 4578}#)))))))))))))) (begin - (#{f 4531}# - #{x 4519}# - (lambda (#{ls 4534}#) - (let ((#{tmp 4539}# #{ls 4534}#)) - (let ((#{tmp 4540}# - ($sc-dispatch #{tmp 4539}# 'each-any))) - (if #{tmp 4540}# + (#{f 4541}# + #{x 4529}# + (lambda (#{ls 4544}#) + (let ((#{tmp 4549}# #{ls 4544}#)) + (let ((#{tmp 4550}# + ($sc-dispatch #{tmp 4549}# 'each-any))) + (if #{tmp 4550}# (@apply - (lambda (#{ g4536 4542}#) + (lambda (#{ g4546 4552}#) (cons '#(syntax-object "vector" ((top) #(ribcage () () ()) #(ribcage - #(#{ g4536}#) - #((m4537 top)) - #("i4541")) + #(#{ g4546}#) + #((m4547 top)) + #("i4551")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ls) #((top)) - #("i4535")) + #("i4545")) #(ribcage #(_) #((top)) - #("i4526")) + #("i4536")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4520")) + #("i4530")) #(ribcage (emit quasivector quasilist* @@ -16865,36 +16968,36 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4536 4542}#)) - #{tmp 4540}#) + #{ g4546 4552}#)) + #{tmp 4550}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4539}#)))))))))))))) - (#{emit 4392}# - (lambda (#{x 4569}#) - (let ((#{tmp 4571}# #{x 4569}#)) - (let ((#{tmp 4572}# + #{tmp 4549}#)))))))))))))) + (#{emit 4402}# + (lambda (#{x 4579}#) + (let ((#{tmp 4581}# #{x 4579}#)) + (let ((#{tmp 4582}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "quote") any)))) - (if #{tmp 4572}# + (if #{tmp 4582}# (@apply - (lambda (#{x 4574}#) + (lambda (#{x 4584}#) (list '#(syntax-object quote ((top) - #(ribcage #(x) #((top)) #("i4573")) + #(ribcage #(x) #((top)) #("i4583")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4570")) + #(ribcage #(x) #((top)) #("i4580")) #(ribcage (emit quasivector quasilist* @@ -16903,46 +17006,46 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{x 4574}#)) - #{tmp 4572}#) - (let ((#{tmp 4575}# + #{x 4584}#)) + #{tmp 4582}#) + (let ((#{tmp 4585}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "list") . each-any)))) - (if #{tmp 4575}# + (if #{tmp 4585}# (@apply - (lambda (#{x 4577}#) - (let ((#{tmp 4581}# (map #{emit 4392}# #{x 4577}#))) - (let ((#{tmp 4582}# - ($sc-dispatch #{tmp 4581}# 'each-any))) - (if #{tmp 4582}# + (lambda (#{x 4587}#) + (let ((#{tmp 4591}# (map #{emit 4402}# #{x 4587}#))) + (let ((#{tmp 4592}# + ($sc-dispatch #{tmp 4591}# 'each-any))) + (if #{tmp 4592}# (@apply - (lambda (#{ g4578 4584}#) + (lambda (#{ g4588 4594}#) (cons '#(syntax-object list ((top) #(ribcage () () ()) #(ribcage - #(#{ g4578}#) - #((m4579 top)) - #("i4583")) + #(#{ g4588}#) + #((m4589 top)) + #("i4593")) #(ribcage #(x) #((top)) - #("i4576")) + #("i4586")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4570")) + #("i4580")) #(ribcage (emit quasivector quasilist* @@ -16957,70 +17060,70 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4578 4584}#)) - #{tmp 4582}#) + #{ g4588 4594}#)) + #{tmp 4592}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4581}#))))) - #{tmp 4575}#) - (let ((#{tmp 4587}# + #{tmp 4591}#))))) + #{tmp 4585}#) + (let ((#{tmp 4597}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 4587}# + (if #{tmp 4597}# (@apply - (lambda (#{x 4590}# #{y 4591}#) + (lambda (#{x 4600}# #{y 4601}#) (letrec* - ((#{f 4594}# - (lambda (#{x* 4595}#) - (if (null? #{x* 4595}#) - (#{emit 4392}# #{y 4591}#) - (let ((#{tmp 4601}# - (list (#{emit 4392}# - (car #{x* 4595}#)) - (#{f 4594}# - (cdr #{x* 4595}#))))) - (let ((#{tmp 4602}# + ((#{f 4604}# + (lambda (#{x* 4605}#) + (if (null? #{x* 4605}#) + (#{emit 4402}# #{y 4601}#) + (let ((#{tmp 4611}# + (list (#{emit 4402}# + (car #{x* 4605}#)) + (#{f 4604}# + (cdr #{x* 4605}#))))) + (let ((#{tmp 4612}# ($sc-dispatch - #{tmp 4601}# + #{tmp 4611}# '(any any)))) - (if #{tmp 4602}# + (if #{tmp 4612}# (@apply - (lambda (#{ g4598 4605}# - #{ g4597 4606}#) + (lambda (#{ g4608 4615}# + #{ g4607 4616}#) (list '#(syntax-object cons ((top) #(ribcage () () ()) #(ribcage - #(#{ g4598}# - #{ g4597}#) - #((m4599 top) - (m4599 top)) - #("i4603" "i4604")) + #(#{ g4608}# + #{ g4607}#) + #((m4609 top) + (m4609 top)) + #("i4613" "i4614")) #(ribcage () () ()) #(ribcage #(f x*) #((top) (top)) - #("i4592" "i4593")) + #("i4602" "i4603")) #(ribcage #(x y) #((top) (top)) - #("i4588" "i4589")) + #("i4598" "i4599")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4570")) + #("i4580")) #(ribcage (emit quasivector quasilist* @@ -17035,56 +17138,56 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4598 4605}# - #{ g4597 4606}#)) - #{tmp 4602}#) + #{ g4608 4615}# + #{ g4607 4616}#)) + #{tmp 4612}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4601}#)))))))) - (begin (#{f 4594}# #{x 4590}#)))) - #{tmp 4587}#) - (let ((#{tmp 4607}# + #{tmp 4611}#)))))))) + (begin (#{f 4604}# #{x 4600}#)))) + #{tmp 4597}#) + (let ((#{tmp 4617}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "append") . each-any)))) - (if #{tmp 4607}# + (if #{tmp 4617}# (@apply - (lambda (#{x 4609}#) - (let ((#{tmp 4613}# - (map #{emit 4392}# #{x 4609}#))) - (let ((#{tmp 4614}# + (lambda (#{x 4619}#) + (let ((#{tmp 4623}# + (map #{emit 4402}# #{x 4619}#))) + (let ((#{tmp 4624}# ($sc-dispatch - #{tmp 4613}# + #{tmp 4623}# 'each-any))) - (if #{tmp 4614}# + (if #{tmp 4624}# (@apply - (lambda (#{ g4610 4616}#) + (lambda (#{ g4620 4626}#) (cons '#(syntax-object append ((top) #(ribcage () () ()) #(ribcage - #(#{ g4610}#) - #((m4611 top)) - #("i4615")) + #(#{ g4620}#) + #((m4621 top)) + #("i4625")) #(ribcage #(x) #((top)) - #("i4608")) + #("i4618")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4570")) + #("i4580")) #(ribcage (emit quasivector quasilist* @@ -17099,54 +17202,54 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4610 4616}#)) - #{tmp 4614}#) + #{ g4620 4626}#)) + #{tmp 4624}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4613}#))))) - #{tmp 4607}#) - (let ((#{tmp 4619}# + #{tmp 4623}#))))) + #{tmp 4617}#) + (let ((#{tmp 4629}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "vector") . each-any)))) - (if #{tmp 4619}# + (if #{tmp 4629}# (@apply - (lambda (#{x 4621}#) - (let ((#{tmp 4625}# - (map #{emit 4392}# #{x 4621}#))) - (let ((#{tmp 4626}# + (lambda (#{x 4631}#) + (let ((#{tmp 4635}# + (map #{emit 4402}# #{x 4631}#))) + (let ((#{tmp 4636}# ($sc-dispatch - #{tmp 4625}# + #{tmp 4635}# 'each-any))) - (if #{tmp 4626}# + (if #{tmp 4636}# (@apply - (lambda (#{ g4622 4628}#) + (lambda (#{ g4632 4638}#) (cons '#(syntax-object vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g4622}#) - #((m4623 top)) - #("i4627")) + #(#{ g4632}#) + #((m4633 top)) + #("i4637")) #(ribcage #(x) #((top)) - #("i4620")) + #("i4630")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4570")) + #("i4580")) #(ribcage (emit quasivector quasilist* @@ -17161,49 +17264,49 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4622 4628}#)) - #{tmp 4626}#) + #{ g4632 4638}#)) + #{tmp 4636}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4625}#))))) - #{tmp 4619}#) - (let ((#{tmp 4631}# + #{tmp 4635}#))))) + #{tmp 4629}#) + (let ((#{tmp 4641}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "list->vector") any)))) - (if #{tmp 4631}# + (if #{tmp 4641}# (@apply - (lambda (#{x 4633}#) - (let ((#{tmp 4637}# - (#{emit 4392}# #{x 4633}#))) - (let ((#{ g4634 4639}# - #{tmp 4637}#)) + (lambda (#{x 4643}#) + (let ((#{tmp 4647}# + (#{emit 4402}# #{x 4643}#))) + (let ((#{ g4644 4649}# + #{tmp 4647}#)) (list '#(syntax-object list->vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g4634}#) - #((m4635 top)) - #("i4638")) + #(#{ g4644}#) + #((m4645 top)) + #("i4648")) #(ribcage #(x) #((top)) - #("i4632")) + #("i4642")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4570")) + #("i4580")) #(ribcage (emit quasivector quasilist* @@ -17218,83 +17321,83 @@ (top) (top) (top)) - ("i4391" - "i4389" - "i4387" - "i4385" - "i4383" - "i4381" - "i4379"))) + ("i4401" + "i4399" + "i4397" + "i4395" + "i4393" + "i4391" + "i4389"))) (hygiene guile)) - #{ g4634 4639}#)))) - #{tmp 4631}#) - (let ((#{tmp 4640}# + #{ g4644 4649}#)))) + #{tmp 4641}#) + (let ((#{tmp 4650}# ($sc-dispatch - #{tmp 4571}# + #{tmp 4581}# '(#(atom "value") any)))) - (if #{tmp 4640}# + (if #{tmp 4650}# (@apply - (lambda (#{x 4642}#) #{x 4642}#) - #{tmp 4640}#) + (lambda (#{x 4652}#) #{x 4652}#) + #{tmp 4650}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4571}#))))))))))))))))))) + #{tmp 4581}#))))))))))))))))))) (begin - (lambda (#{x 4643}#) - (let ((#{tmp 4645}# #{x 4643}#)) - (let ((#{tmp 4646}# - ($sc-dispatch #{tmp 4645}# '(_ any)))) - (if #{tmp 4646}# + (lambda (#{x 4653}#) + (let ((#{tmp 4655}# #{x 4653}#)) + (let ((#{tmp 4656}# + ($sc-dispatch #{tmp 4655}# '(_ any)))) + (if #{tmp 4656}# (@apply - (lambda (#{e 4648}#) - (#{emit 4392}# (#{quasi 4380}# #{e 4648}# 0))) - #{tmp 4646}#) + (lambda (#{e 4658}#) + (#{emit 4402}# (#{quasi 4390}# #{e 4658}# 0))) + #{tmp 4656}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4645}#))))))))) + #{tmp 4655}#))))))))) (define include (make-syntax-transformer 'include 'macro - (lambda (#{x 4649}#) + (lambda (#{x 4659}#) (letrec* - ((#{read-file 4652}# - (lambda (#{fn 4653}# #{k 4654}#) + ((#{read-file 4662}# + (lambda (#{fn 4663}# #{k 4664}#) (begin - (let ((#{p 4658}# (open-input-file #{fn 4653}#))) + (let ((#{p 4668}# (open-input-file #{fn 4663}#))) (letrec* - ((#{f 4662}# - (lambda (#{x 4663}# #{result 4664}#) - (if (eof-object? #{x 4663}#) + ((#{f 4672}# + (lambda (#{x 4673}# #{result 4674}#) + (if (eof-object? #{x 4673}#) (begin - (close-input-port #{p 4658}#) - (reverse #{result 4664}#)) - (#{f 4662}# - (read #{p 4658}#) - (cons (datum->syntax #{k 4654}# #{x 4663}#) - #{result 4664}#)))))) - (begin (#{f 4662}# (read #{p 4658}#) '())))))))) + (close-input-port #{p 4668}#) + (reverse #{result 4674}#)) + (#{f 4672}# + (read #{p 4668}#) + (cons (datum->syntax #{k 4664}# #{x 4673}#) + #{result 4674}#)))))) + (begin (#{f 4672}# (read #{p 4668}#) '())))))))) (begin - (let ((#{tmp 4665}# #{x 4649}#)) - (let ((#{tmp 4666}# - ($sc-dispatch #{tmp 4665}# '(any any)))) - (if #{tmp 4666}# + (let ((#{tmp 4675}# #{x 4659}#)) + (let ((#{tmp 4676}# + ($sc-dispatch #{tmp 4675}# '(any any)))) + (if #{tmp 4676}# (@apply - (lambda (#{k 4669}# #{filename 4670}#) + (lambda (#{k 4679}# #{filename 4680}#) (begin - (let ((#{fn 4672}# (syntax->datum #{filename 4670}#))) - (let ((#{tmp 4674}# - (#{read-file 4652}# - #{fn 4672}# - #{filename 4670}#))) - (let ((#{tmp 4675}# - ($sc-dispatch #{tmp 4674}# 'each-any))) - (if #{tmp 4675}# + (let ((#{fn 4682}# (syntax->datum #{filename 4680}#))) + (let ((#{tmp 4684}# + (#{read-file 4662}# + #{fn 4682}# + #{filename 4680}#))) + (let ((#{tmp 4685}# + ($sc-dispatch #{tmp 4684}# 'each-any))) + (if #{tmp 4685}# (@apply - (lambda (#{exp 4677}#) + (lambda (#{exp 4687}#) (cons '#(syntax-object begin ((top) @@ -17302,129 +17405,129 @@ #(ribcage #(exp) #((top)) - #("i4676")) + #("i4686")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) - #("i4671")) + #("i4681")) #(ribcage #(k filename) #((top) (top)) - #("i4667" "i4668")) + #("i4677" "i4678")) #(ribcage (read-file) ((top)) - ("i4651")) + ("i4661")) #(ribcage #(x) #((top)) - #("i4650"))) + #("i4660"))) (hygiene guile)) - #{exp 4677}#)) - #{tmp 4675}#) + #{exp 4687}#)) + #{tmp 4685}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4674}#))))))) - #{tmp 4666}#) + #{tmp 4684}#))))))) + #{tmp 4676}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4665}#))))))))) + #{tmp 4675}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro - (lambda (#{x 4679}#) - (let ((#{tmp 4681}# #{x 4679}#)) - (let ((#{tmp 4682}# - ($sc-dispatch #{tmp 4681}# '(any any)))) - (if #{tmp 4682}# + (lambda (#{x 4689}#) + (let ((#{tmp 4691}# #{x 4689}#)) + (let ((#{tmp 4692}# + ($sc-dispatch #{tmp 4691}# '(any any)))) + (if #{tmp 4692}# (@apply - (lambda (#{k 4685}# #{filename 4686}#) + (lambda (#{k 4695}# #{filename 4696}#) (begin - (let ((#{fn 4688}# (syntax->datum #{filename 4686}#))) - (let ((#{tmp 4690}# + (let ((#{fn 4698}# (syntax->datum #{filename 4696}#))) + (let ((#{tmp 4700}# (datum->syntax - #{filename 4686}# + #{filename 4696}# (begin - (let ((#{t 4695}# - (%search-load-path #{fn 4688}#))) - (if #{t 4695}# - #{t 4695}# + (let ((#{t 4705}# + (%search-load-path #{fn 4698}#))) + (if #{t 4705}# + #{t 4705}# (syntax-violation 'include-from-path "file not found in path" - #{x 4679}# - #{filename 4686}#))))))) - (let ((#{fn 4692}# #{tmp 4690}#)) + #{x 4689}# + #{filename 4696}#))))))) + (let ((#{fn 4702}# #{tmp 4700}#)) (list '#(syntax-object include ((top) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i4691")) + #(ribcage #(fn) #((top)) #("i4701")) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i4687")) + #(ribcage #(fn) #((top)) #("i4697")) #(ribcage #(k filename) #((top) (top)) - #("i4683" "i4684")) + #("i4693" "i4694")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4680"))) + #(ribcage #(x) #((top)) #("i4690"))) (hygiene guile)) - #{fn 4692}#)))))) - #{tmp 4682}#) + #{fn 4702}#)))))) + #{tmp 4692}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4681}#))))))) + #{tmp 4691}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro - (lambda (#{x 4697}#) + (lambda (#{x 4707}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" - #{x 4697}#)))) + #{x 4707}#)))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro - (lambda (#{x 4699}#) + (lambda (#{x 4709}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" - #{x 4699}#)))) + #{x 4709}#)))) (define case (make-syntax-transformer 'case 'macro - (lambda (#{x 4701}#) - (let ((#{tmp 4703}# #{x 4701}#)) - (let ((#{tmp 4704}# + (lambda (#{x 4711}#) + (let ((#{tmp 4713}# #{x 4711}#)) + (let ((#{tmp 4714}# ($sc-dispatch - #{tmp 4703}# + #{tmp 4713}# '(_ any any . each-any)))) - (if #{tmp 4704}# + (if #{tmp 4714}# (@apply - (lambda (#{e 4708}# #{m1 4709}# #{m2 4710}#) - (let ((#{tmp 4712}# + (lambda (#{e 4718}# #{m1 4719}# #{m2 4720}#) + (let ((#{tmp 4722}# (letrec* - ((#{f 4718}# - (lambda (#{clause 4719}# #{clauses 4720}#) - (if (null? #{clauses 4720}#) - (let ((#{tmp 4722}# #{clause 4719}#)) - (let ((#{tmp 4723}# + ((#{f 4728}# + (lambda (#{clause 4729}# #{clauses 4730}#) + (if (null? #{clauses 4730}#) + (let ((#{tmp 4732}# #{clause 4729}#)) + (let ((#{tmp 4733}# ($sc-dispatch - #{tmp 4722}# + #{tmp 4732}# '(#(free-id #(syntax-object else @@ -17433,92 +17536,92 @@ #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile))) any . each-any)))) - (if #{tmp 4723}# + (if #{tmp 4733}# (@apply - (lambda (#{e1 4726}# #{e2 4727}#) + (lambda (#{e1 4736}# #{e2 4737}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4724" "i4725")) + #("i4734" "i4735")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) - (cons #{e1 4726}# - #{e2 4727}#))) - #{tmp 4723}#) - (let ((#{tmp 4729}# + (cons #{e1 4736}# + #{e2 4737}#))) + #{tmp 4733}#) + (let ((#{tmp 4739}# ($sc-dispatch - #{tmp 4722}# + #{tmp 4732}# '(each-any any . each-any)))) - (if #{tmp 4729}# + (if #{tmp 4739}# (@apply - (lambda (#{k 4733}# - #{e1 4734}# - #{e2 4735}#) + (lambda (#{k 4743}# + #{e1 4744}# + #{e2 4745}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4730" - "i4731" - "i4732")) + #("i4740" + "i4741" + "i4742")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) (list '#(syntax-object memv @@ -17528,9 +17631,9 @@ #((top) (top) (top)) - #("i4730" - "i4731" - "i4732")) + #("i4740" + "i4741" + "i4742")) #(ribcage () () @@ -17542,17 +17645,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17560,7 +17663,7 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) '#(syntax-object t @@ -17570,9 +17673,9 @@ #((top) (top) (top)) - #("i4730" - "i4731" - "i4732")) + #("i4740" + "i4741" + "i4742")) #(ribcage () () @@ -17584,17 +17687,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17602,7 +17705,7 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) (list '#(syntax-object quote @@ -17614,9 +17717,9 @@ #((top) (top) (top)) - #("i4730" - "i4731" - "i4732")) + #("i4740" + "i4741" + "i4742")) #(ribcage () () @@ -17628,9 +17731,9 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 @@ -17638,9 +17741,9 @@ #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17648,10 +17751,10 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) - #{k 4733}#)) + #{k 4743}#)) (cons '#(syntax-object begin ((top) @@ -17660,9 +17763,9 @@ #((top) (top) (top)) - #("i4730" - "i4731" - "i4732")) + #("i4740" + "i4741" + "i4742")) #(ribcage () () @@ -17674,17 +17777,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17692,64 +17795,64 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) - (cons #{e1 4734}# - #{e2 4735}#)))) - #{tmp 4729}#) - (let ((#{_ 4739}# #{tmp 4722}#)) + (cons #{e1 4744}# + #{e2 4745}#)))) + #{tmp 4739}#) + (let ((#{_ 4749}# #{tmp 4732}#)) (syntax-violation 'case "bad clause" - #{x 4701}# - #{clause 4719}#))))))) - (let ((#{tmp 4741}# - (#{f 4718}# - (car #{clauses 4720}#) - (cdr #{clauses 4720}#)))) - (let ((#{rest 4743}# #{tmp 4741}#)) - (let ((#{tmp 4744}# #{clause 4719}#)) - (let ((#{tmp 4745}# + #{x 4711}# + #{clause 4729}#))))))) + (let ((#{tmp 4751}# + (#{f 4728}# + (car #{clauses 4730}#) + (cdr #{clauses 4730}#)))) + (let ((#{rest 4753}# #{tmp 4751}#)) + (let ((#{tmp 4754}# #{clause 4729}#)) + (let ((#{tmp 4755}# ($sc-dispatch - #{tmp 4744}# + #{tmp 4754}# '(each-any any . each-any)))) - (if #{tmp 4745}# + (if #{tmp 4755}# (@apply - (lambda (#{k 4749}# - #{e1 4750}# - #{e2 4751}#) + (lambda (#{k 4759}# + #{e1 4760}# + #{e2 4761}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4746" - "i4747" - "i4748")) + #("i4756" + "i4757" + "i4758")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i4742")) + #("i4752")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) (list '#(syntax-object memv @@ -17759,9 +17862,9 @@ #((top) (top) (top)) - #("i4746" - "i4747" - "i4748")) + #("i4756" + "i4757" + "i4758")) #(ribcage () () @@ -17769,7 +17872,7 @@ #(ribcage #(rest) #((top)) - #("i4742")) + #("i4752")) #(ribcage () () @@ -17781,17 +17884,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17799,7 +17902,7 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) '#(syntax-object t @@ -17809,9 +17912,9 @@ #((top) (top) (top)) - #("i4746" - "i4747" - "i4748")) + #("i4756" + "i4757" + "i4758")) #(ribcage () () @@ -17819,7 +17922,7 @@ #(ribcage #(rest) #((top)) - #("i4742")) + #("i4752")) #(ribcage () () @@ -17831,17 +17934,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17849,7 +17952,7 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) (list '#(syntax-object quote @@ -17861,9 +17964,9 @@ #((top) (top) (top)) - #("i4746" - "i4747" - "i4748")) + #("i4756" + "i4757" + "i4758")) #(ribcage () () @@ -17871,7 +17974,7 @@ #(ribcage #(rest) #((top)) - #("i4742")) + #("i4752")) #(ribcage () () @@ -17883,9 +17986,9 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 @@ -17893,9 +17996,9 @@ #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17903,10 +18006,10 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) - #{k 4749}#)) + #{k 4759}#)) (cons '#(syntax-object begin ((top) @@ -17915,9 +18018,9 @@ #((top) (top) (top)) - #("i4746" - "i4747" - "i4748")) + #("i4756" + "i4757" + "i4758")) #(ribcage () () @@ -17925,7 +18028,7 @@ #(ribcage #(rest) #((top)) - #("i4742")) + #("i4752")) #(ribcage () () @@ -17937,17 +18040,17 @@ #((top) (top) (top)) - #("i4715" - "i4716" - "i4717")) + #("i4725" + "i4726" + "i4727")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" - "i4706" - "i4707")) + #("i4715" + "i4716" + "i4717")) #(ribcage () () @@ -17955,31 +18058,31 @@ #(ribcage #(x) #((top)) - #("i4702"))) + #("i4712"))) (hygiene guile)) - (cons #{e1 4750}# - #{e2 4751}#)) - #{rest 4743}#)) - #{tmp 4745}#) - (let ((#{_ 4755}# #{tmp 4744}#)) + (cons #{e1 4760}# + #{e2 4761}#)) + #{rest 4753}#)) + #{tmp 4755}#) + (let ((#{_ 4765}# #{tmp 4754}#)) (syntax-violation 'case "bad clause" - #{x 4701}# - #{clause 4719}#))))))))))) - (begin (#{f 4718}# #{m1 4709}# #{m2 4710}#))))) - (let ((#{body 4714}# #{tmp 4712}#)) + #{x 4711}# + #{clause 4729}#))))))))))) + (begin (#{f 4728}# #{m1 4719}# #{m2 4720}#))))) + (let ((#{body 4724}# #{tmp 4722}#)) (list '#(syntax-object let ((top) #(ribcage () () ()) - #(ribcage #(body) #((top)) #("i4713")) + #(ribcage #(body) #((top)) #("i4723")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" "i4706" "i4707")) + #("i4715" "i4716" "i4717")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4702"))) + #(ribcage #(x) #((top)) #("i4712"))) (hygiene guile)) (list (list '#(syntax-object t @@ -17988,176 +18091,176 @@ #(ribcage #(body) #((top)) - #("i4713")) + #("i4723")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4705" "i4706" "i4707")) + #("i4715" "i4716" "i4717")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4702"))) + #(ribcage #(x) #((top)) #("i4712"))) (hygiene guile)) - #{e 4708}#)) - #{body 4714}#)))) - #{tmp 4704}#) + #{e 4718}#)) + #{body 4724}#)))) + #{tmp 4714}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4703}#))))))) + #{tmp 4713}#))))))) (define make-variable-transformer - (lambda (#{proc 4756}#) - (if (procedure? #{proc 4756}#) + (lambda (#{proc 4766}#) + (if (procedure? #{proc 4766}#) (begin (letrec* - ((#{trans 4759}# - (lambda (#{x 4760}#) (#{proc 4756}# #{x 4760}#)))) + ((#{trans 4769}# + (lambda (#{x 4770}#) (#{proc 4766}# #{x 4770}#)))) (begin (set-procedure-property! - #{trans 4759}# + #{trans 4769}# 'variable-transformer #t) - #{trans 4759}#))) + #{trans 4769}#))) (error "variable transformer not a procedure" - #{proc 4756}#)))) + #{proc 4766}#)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro - (lambda (#{x 4762}#) - (let ((#{tmp 4764}# #{x 4762}#)) - (let ((#{tmp 4765}# - ($sc-dispatch #{tmp 4764}# '(_ any)))) - (if #{tmp 4765}# + (lambda (#{x 4772}#) + (let ((#{tmp 4774}# #{x 4772}#)) + (let ((#{tmp 4775}# + ($sc-dispatch #{tmp 4774}# '(_ any)))) + (if #{tmp 4775}# (@apply - (lambda (#{e 4767}#) + (lambda (#{e 4777}#) (list '#(syntax-object lambda ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '(#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '() (list '#(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '(#(syntax-object identifier? ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) (#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) #(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - #{e 4767}#)) + #{e 4777}#)) (list '(#(syntax-object _ ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) #(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) #(syntax-object ... ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4766")) + #(ribcage #(e) #((top)) #("i4776")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - (cons #{e 4767}# + (cons #{e 4777}# '(#(syntax-object x ((top) #(ribcage #(e) #((top)) - #("i4766")) + #("i4776")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) #(syntax-object ... @@ -18165,55 +18268,55 @@ #(ribcage #(e) #((top)) - #("i4766")) + #("i4776")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile))))))))) - #{tmp 4765}#) - (let ((#{tmp 4768}# + #{tmp 4775}#) + (let ((#{tmp 4778}# ($sc-dispatch - #{tmp 4764}# + #{tmp 4774}# '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile))) any any) any))))) - (if (if #{tmp 4768}# + (if (if #{tmp 4778}# (@apply - (lambda (#{id 4774}# - #{exp1 4775}# - #{var 4776}# - #{val 4777}# - #{exp2 4778}#) - (if (identifier? #{id 4774}#) - (identifier? #{var 4776}#) + (lambda (#{id 4784}# + #{exp1 4785}# + #{var 4786}# + #{val 4787}# + #{exp2 4788}#) + (if (identifier? #{id 4784}#) + (identifier? #{var 4786}#) #f)) - #{tmp 4768}#) + #{tmp 4778}#) #f) (@apply - (lambda (#{id 4786}# - #{exp1 4787}# - #{var 4788}# - #{val 4789}# - #{exp2 4790}#) + (lambda (#{id 4796}# + #{exp1 4797}# + #{var 4798}# + #{val 4799}# + #{exp2 4800}#) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" "i4782" "i4783" "i4784" "i4785")) + #("i4791" "i4792" "i4793" "i4794" "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) (list '#(syntax-object lambda @@ -18221,13 +18324,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '(#(syntax-object x @@ -18235,13 +18338,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile))) '#((#(syntax-object macro-type @@ -18249,13 +18352,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) . #(syntax-object @@ -18264,13 +18367,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)))) (list '#(syntax-object syntax-case @@ -18278,13 +18381,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '#(syntax-object x @@ -18292,13 +18395,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile)) '(#(syntax-object set! @@ -18306,13 +18409,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4763"))) + #(ribcage #(x) #((top)) #("i4773"))) (hygiene guile))) (list (list '#(syntax-object set! @@ -18324,19 +18427,19 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - #{var 4788}# - #{val 4789}#) + #{var 4798}# + #{val 4799}#) (list '#(syntax-object syntax ((top) @@ -18347,19 +18450,19 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - #{exp2 4790}#)) - (list (cons #{id 4786}# + #{exp2 4800}#)) + (list (cons #{id 4796}# '(#(syntax-object x ((top) @@ -18374,16 +18477,16 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) #(syntax-object ... @@ -18399,16 +18502,16 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)))) (list '#(syntax-object syntax @@ -18420,18 +18523,18 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - (cons #{exp1 4787}# + (cons #{exp1 4797}# '(#(syntax-object x ((top) @@ -18446,11 +18549,11 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () @@ -18458,7 +18561,7 @@ #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) #(syntax-object ... @@ -18474,11 +18577,11 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () @@ -18486,10 +18589,10 @@ #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)))))) - (list #{id 4786}# + (list #{id 4796}# (list '#(syntax-object identifier? ((top) @@ -18500,16 +18603,16 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) (list '#(syntax-object syntax @@ -18525,18 +18628,18 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - #{id 4786}#)) + #{id 4796}#)) (list '#(syntax-object syntax ((top) @@ -18547,69 +18650,69 @@ (top) (top) (top)) - #("i4781" - "i4782" - "i4783" - "i4784" - "i4785")) + #("i4791" + "i4792" + "i4793" + "i4794" + "i4795")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4763"))) + #("i4773"))) (hygiene guile)) - #{exp1 4787}#)))))) - #{tmp 4768}#) + #{exp1 4797}#)))))) + #{tmp 4778}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4764}#))))))))) + #{tmp 4774}#))))))))) (define define* (make-syntax-transformer 'define* 'macro - (lambda (#{x 4791}#) - (let ((#{tmp 4793}# #{x 4791}#)) - (let ((#{tmp 4794}# + (lambda (#{x 4801}#) + (let ((#{tmp 4803}# #{x 4801}#)) + (let ((#{tmp 4804}# ($sc-dispatch - #{tmp 4793}# + #{tmp 4803}# '(_ (any . any) any . each-any)))) - (if #{tmp 4794}# + (if #{tmp 4804}# (@apply - (lambda (#{id 4799}# - #{args 4800}# - #{b0 4801}# - #{b1 4802}#) + (lambda (#{id 4809}# + #{args 4810}# + #{b0 4811}# + #{b1 4812}#) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4795" "i4796" "i4797" "i4798")) + #("i4805" "i4806" "i4807" "i4808")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4792"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) - #{id 4799}# + #{id 4809}# (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4795" "i4796" "i4797" "i4798")) + #("i4805" "i4806" "i4807" "i4808")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4792"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) - (cons #{args 4800}# - (cons #{b0 4801}# #{b1 4802}#))))) - #{tmp 4794}#) - (let ((#{tmp 4804}# - ($sc-dispatch #{tmp 4793}# '(_ any any)))) - (if (if #{tmp 4804}# + (cons #{args 4810}# + (cons #{b0 4811}# #{b1 4812}#))))) + #{tmp 4804}#) + (let ((#{tmp 4814}# + ($sc-dispatch #{tmp 4803}# '(_ any any)))) + (if (if #{tmp 4814}# (@apply - (lambda (#{id 4807}# #{val 4808}#) + (lambda (#{id 4817}# #{val 4818}#) (identifier? '#(syntax-object x @@ -18617,29 +18720,29 @@ #(ribcage #(id val) #((top) (top)) - #("i4805" "i4806")) + #("i4815" "i4816")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4792"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)))) - #{tmp 4804}#) + #{tmp 4814}#) #f) (@apply - (lambda (#{id 4811}# #{val 4812}#) + (lambda (#{id 4821}# #{val 4822}#) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) - #("i4809" "i4810")) + #("i4819" "i4820")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4792"))) + #(ribcage #(x) #((top)) #("i4802"))) (hygiene guile)) - #{id 4811}# - #{val 4812}#)) - #{tmp 4804}#) + #{id 4821}# + #{val 4822}#)) + #{tmp 4814}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4793}#))))))))) + #{tmp 4803}#))))))))) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index e63f6481e..85fda9ace 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -402,12 +402,14 @@ (lambda (src req opt rest kw inits vars body else-case) (make-lambda-case src req opt rest kw inits vars body else-case))) + (define build-primcall + (lambda (src name args) + (make-primcall src name args))) + (define build-primref (lambda (src name) - (if (equal? (module-name (current-module)) '(guile)) - (make-toplevel-ref src name) - (make-module-ref src '(guile) name #f)))) - + (make-primitive-ref src name))) + (define (build-data src exp) (make-const src exp)) @@ -1038,9 +1040,9 @@ (build-global-definition no-source name - (build-call + (build-primcall no-source - (build-primref no-source 'make-syntax-transformer) + 'make-syntax-transformer (list (build-data no-source name) (build-data no-source 'macro) e))))) @@ -1954,9 +1956,7 @@ (if (list? (cadr x)) (build-simple-lambda no-source (cadr x) #f (cadr x) '() (regen (caddr x))) (error "how did we get here" x))) - (else (build-call no-source - (build-primref no-source (car x)) - (map regen (cdr x))))))) + (else (build-primcall no-source (car x) (map regen (cdr x))))))) (lambda (e r w s mod) (let ((e (source-wrap e w s mod))) @@ -2288,20 +2288,21 @@ (lambda (pvars exp y r mod) (let ((ids (map car pvars)) (levels (map cdr pvars))) (let ((labels (gen-labels ids)) (new-vars (map gen-var ids))) - (build-call no-source - (build-primref no-source 'apply) - (list (build-simple-lambda no-source (map syntax->datum ids) #f new-vars '() - (chi exp - (extend-env - labels - (map (lambda (var level) - (make-binding 'syntax `(,var . ,level))) - new-vars - (map cdr pvars)) - r) - (make-binding-wrap ids labels empty-wrap) - mod)) - y)))))) + (build-primcall + no-source + 'apply + (list (build-simple-lambda no-source (map syntax->datum ids) #f new-vars '() + (chi exp + (extend-env + labels + (map (lambda (var level) + (make-binding 'syntax `(,var . ,level))) + new-vars + (map cdr pvars)) + r) + (make-binding-wrap ids labels empty-wrap) + mod)) + y)))))) (define gen-clause (lambda (x keys clauses r pat fender exp mod) @@ -2330,22 +2331,18 @@ (build-dispatch-call pvars exp y r mod) (gen-syntax-case x keys clauses r mod)))) (list (if (eq? p 'any) - (build-call no-source - (build-primref no-source 'list) - (list x)) - (build-call no-source - (build-primref no-source '$sc-dispatch) - (list x (build-data no-source p))))))))))))) + (build-primcall no-source 'list (list x)) + (build-primcall no-source '$sc-dispatch + (list x (build-data no-source p))))))))))))) (define gen-syntax-case (lambda (x keys clauses r mod) (if (null? clauses) - (build-call no-source - (build-primref no-source 'syntax-violation) - (list (build-data no-source #f) - (build-data no-source - "source expression failed to match any pattern") - x)) + (build-primcall no-source 'syntax-violation + (list (build-data no-source #f) + (build-data no-source + "source expression failed to match any pattern") + x)) (syntax-case (car clauses) () ((pat exp) (if (and (id? #'pat) diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm index 315e88217..9a5d74f1d 100644 --- a/module/language/elisp/compile-tree-il.scm +++ b/module/language/elisp/compile-tree-il.scm @@ -109,7 +109,7 @@ ;;; Build a call to a primitive procedure nicely. (define (call-primitive loc sym . args) - (make-call loc (make-primitive-ref loc sym) args)) + (make-primcall loc sym args)) ;;; Error reporting routine for syntax/compilation problems or build ;;; code for a runtime-error output. @@ -118,9 +118,8 @@ (apply error args)) (define (runtime-error loc msg . args) - (make-call loc - (make-primitive-ref loc 'error) - (cons (make-const loc msg) args))) + (make-primcall loc 'error + (cons (make-const loc msg) args))) ;;; Generate code to ensure a global symbol is there for further use of ;;; a given symbol. In general during the compilation, those needed are @@ -151,12 +150,11 @@ (call-primitive loc 'with-fluids* - (make-call loc - (make-primitive-ref loc 'list) - (map (lambda (sym) - (make-module-ref loc module sym #t)) - syms)) - (make-call loc (make-primitive-ref loc 'list) vals) + (make-primcall loc 'list + (map (lambda (sym) + (make-module-ref loc module sym #t)) + syms)) + (make-primcall loc 'list vals) (make-lambda loc '() (make-lambda-case #f '() #f #f #f '() '() body #f)))) @@ -828,11 +826,9 @@ loc name function-slot - (make-call - loc - (make-module-ref loc '(guile) 'cons #t) - (list (make-const loc 'macro) - (compile-lambda loc args body)))) + (make-primcall loc 'cons + (list (make-const loc 'macro) + (compile-lambda loc args body)))) (make-const loc name))))) (compile (ensuring-globals loc bindings-data tree-il) #:from 'tree-il diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm index c2f090575..a8169aa4c 100644 --- a/module/language/tree-il.scm +++ b/module/language/tree-il.scm @@ -35,6 +35,7 @@ <toplevel-define> toplevel-define? make-toplevel-define toplevel-define-src toplevel-define-name toplevel-define-exp <conditional> conditional? make-conditional conditional-src conditional-test conditional-consequent conditional-alternate <call> call? make-call call-src call-proc call-args + <primcall> primcall? make-primcall primcall-src primcall-name primcall-args <sequence> sequence? make-sequence sequence-src sequence-exps <lambda> lambda? make-lambda lambda-src lambda-meta lambda-body <lambda-case> lambda-case? make-lambda-case lambda-case-src @@ -119,6 +120,7 @@ ;; (<toplevel-define> name exp) ;; (<conditional> test consequent alternate) ;; (<call> proc args) + ;; (<primcall> name args) ;; (<sequence> exps) ;; (<lambda> meta body) ;; (<lambda-case> req opt rest kw inits gensyms body alternate) @@ -152,6 +154,9 @@ ((call ,proc . ,args) (make-call loc (retrans proc) (map retrans args))) + ((primcall ,name . ,args) + (make-primcall loc name (map retrans args))) + ((if ,test ,consequent ,alternate) (make-conditional loc (retrans test) (retrans consequent) (retrans alternate))) @@ -256,6 +261,9 @@ ((<call> proc args) `(call ,(unparse-tree-il proc) ,@(map unparse-tree-il args))) + ((<primcall> name args) + `(primcall ,name ,@(map unparse-tree-il args))) + ((<conditional> test consequent alternate) `(if ,(unparse-tree-il test) ,(unparse-tree-il consequent) ,(unparse-tree-il alternate))) @@ -339,6 +347,9 @@ ((<call> proc args) `(,(tree-il->scheme proc) ,@(map tree-il->scheme args))) + ((<primcall> name args) + `(,name ,@(map tree-il->scheme args))) + ((<conditional> test consequent alternate) (if (void? alternate) `(if ,(tree-il->scheme test) ,(tree-il->scheme consequent)) @@ -510,6 +521,8 @@ This is an implementation of `foldts' as described by Andy Wingo in (loop test (down tree result)))))) ((<call> proc args) (up tree (loop (cons proc args) (down tree result)))) + ((<primcall> name args) + (up tree (loop args (down tree result)))) ((<sequence> exps) (up tree (loop exps (down tree result)))) ((<lambda> body) @@ -584,6 +597,8 @@ This is an implementation of `foldts' as described by Andy Wingo in ((<call> proc args) (let-values (((seed ...) (foldts proc seed ...))) (fold-values foldts args seed ...))) + ((<primcall> name args) + (fold-values foldts args seed ...)) ((<sequence> exps) (fold-values foldts exps seed ...)) ((<lambda> body) @@ -638,6 +653,9 @@ This is an implementation of `foldts' as described by Andy Wingo in (set! (call-proc x) (lp proc)) (set! (call-args x) (map lp args))) + ((<primcall> name args) + (set! (primcall-args x) (map lp args))) + ((<conditional> test consequent alternate) (set! (conditional-test x) (lp test)) (set! (conditional-consequent x) (lp consequent)) @@ -722,6 +740,9 @@ This is an implementation of `foldts' as described by Andy Wingo in (set! (call-proc x) (lp proc)) (set! (call-args x) (map lp args))) + ((<primcall> name args) + (set! (primcall-args x) (map lp args))) + ((<conditional> test consequent alternate) (set! (conditional-test x) (lp test)) (set! (conditional-consequent x) (lp consequent)) diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm index b165a299c..3f2c10e67 100644 --- a/module/language/tree-il/analyze.scm +++ b/module/language/tree-il/analyze.scm @@ -182,6 +182,9 @@ (apply lset-union eq? (step-tail-call proc args) (map step args))) + ((<primcall> args) + (apply lset-union eq? (map step args))) + ((<conditional> test consequent alternate) (lset-union eq? (step test) (step-tail consequent) (step-tail alternate))) @@ -367,6 +370,9 @@ ((<call> proc args) (apply max (recur proc) (map recur args))) + ((<primcall> args) + (apply max n (map recur args))) + ((<conditional> test consequent alternate) (max (recur test) (recur consequent) (recur alternate))) diff --git a/module/language/tree-il/compile-glil.scm b/module/language/tree-il/compile-glil.scm index c85063ce4..ac164be8e 100644 --- a/module/language/tree-il/compile-glil.scm +++ b/module/language/tree-il/compile-glil.scm @@ -256,172 +256,7 @@ (lp (cdr exps)))))) ((<call> src proc args) - ;; FIXME: need a better pattern-matcher here (cond - ((and (primitive-ref? proc) - (eq? (primitive-ref-name proc) '@apply) - (>= (length args) 1)) - (let ((proc (car args)) - (args (cdr args))) - (cond - ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values) - (not (eq? context 'push)) (not (eq? context 'vals))) - ;; tail: (lambda () (apply values '(1 2))) - ;; drop: (lambda () (apply values '(1 2)) 3) - ;; push: (lambda () (list (apply values '(10 12)) 1)) - (case context - ((drop) (for-each comp-drop args) (maybe-emit-return)) - ((tail) - (for-each comp-push args) - (emit-code src (make-glil-call 'return/values* (length args)))))) - - (else - (case context - ((tail) - (comp-push proc) - (for-each comp-push args) - (emit-code src (make-glil-call 'tail-apply (1+ (length args))))) - ((push) - (emit-code src (make-glil-call 'new-frame 0)) - (comp-push proc) - (for-each comp-push args) - (emit-code src (make-glil-call 'apply (1+ (length args)))) - (maybe-emit-return)) - ((vals) - (comp-vals - (make-call src (make-primitive-ref #f 'apply) - (cons proc args)) - MVRA) - (maybe-emit-return)) - ((drop) - ;; Well, shit. The proc might return any number of - ;; values (including 0), since it's in a drop context, - ;; yet apply does not create a MV continuation. So we - ;; mv-call out to our trampoline instead. - (comp-drop - (make-call src (make-primitive-ref #f 'apply) - (cons proc args))) - (maybe-emit-return))))))) - - ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values) - (not (eq? context 'push))) - ;; tail: (lambda () (values '(1 2))) - ;; drop: (lambda () (values '(1 2)) 3) - ;; push: (lambda () (list (values '(10 12)) 1)) - ;; vals: (let-values (((a b ...) (values 1 2 ...))) ...) - (case context - ((drop) (for-each comp-drop args) (maybe-emit-return)) - ((vals) - (for-each comp-push args) - (emit-code #f (make-glil-const (length args))) - (emit-branch src 'br MVRA)) - ((tail) - (for-each comp-push args) - (emit-code src (make-glil-call 'return/values (length args)))))) - - ((and (primitive-ref? proc) - (eq? (primitive-ref-name proc) '@call-with-values) - (= (length args) 2)) - ;; CONSUMER - ;; PRODUCER - ;; (mv-call MV) - ;; ([tail]-call 1) - ;; goto POST - ;; MV: [tail-]call/nargs - ;; POST: (maybe-drop) - (case context - ((vals) - ;; Fall back. - (comp-vals - (make-call src (make-primitive-ref #f 'call-with-values) - args) - MVRA) - (maybe-emit-return)) - (else - (let ((MV (make-label)) (POST (make-label)) - (producer (car args)) (consumer (cadr args))) - (if (not (eq? context 'tail)) - (emit-code src (make-glil-call 'new-frame 0))) - (comp-push consumer) - (emit-code src (make-glil-call 'new-frame 0)) - (comp-push producer) - (emit-code src (make-glil-mv-call 0 MV)) - (case context - ((tail) (emit-code src (make-glil-call 'tail-call 1))) - (else (emit-code src (make-glil-call 'call 1)) - (emit-branch #f 'br POST))) - (emit-label MV) - (case context - ((tail) (emit-code src (make-glil-call 'tail-call/nargs 0))) - (else (emit-code src (make-glil-call 'call/nargs 0)) - (emit-label POST) - (if (eq? context 'drop) - (emit-code #f (make-glil-call 'drop 1))) - (maybe-emit-return))))))) - - ((and (primitive-ref? proc) - (eq? (primitive-ref-name proc) '@call-with-current-continuation) - (= (length args) 1)) - (case context - ((tail) - (comp-push (car args)) - (emit-code src (make-glil-call 'tail-call/cc 1))) - ((vals) - (comp-vals - (make-call - src (make-primitive-ref #f 'call-with-current-continuation) - args) - MVRA) - (maybe-emit-return)) - ((push) - (comp-push (car args)) - (emit-code src (make-glil-call 'call/cc 1)) - (maybe-emit-return)) - ((drop) - ;; Crap. Just like `apply' in drop context. - (comp-drop - (make-call - src (make-primitive-ref #f 'call-with-current-continuation) - args)) - (maybe-emit-return)))) - - ;; A hack for variable-set, the opcode for which takes its args - ;; reversed, relative to the variable-set! function - ((and (primitive-ref? proc) - (eq? (primitive-ref-name proc) 'variable-set!) - (= (length args) 2)) - (comp-push (cadr args)) - (comp-push (car args)) - (emit-code src (make-glil-call 'variable-set 2)) - (case context - ((tail push vals) (emit-code #f (make-glil-void)))) - (maybe-emit-return)) - - ((and (primitive-ref? proc) - (or (hash-ref *primcall-ops* - (cons (primitive-ref-name proc) (length args))) - (hash-ref *primcall-ops* (primitive-ref-name proc)))) - => (lambda (op) - (for-each comp-push args) - (emit-code src (make-glil-call op (length args))) - (case (instruction-pushes op) - ((0) - (case context - ((tail push vals) (emit-code #f (make-glil-void)))) - (maybe-emit-return)) - ((1) - (case context - ((drop) (emit-code #f (make-glil-call 'drop 1)))) - (maybe-emit-return)) - ((-1) - ;; A control instruction, like return/values. Here we - ;; just have to hope that the author of the tree-il - ;; knew what they were doing. - *unspecified*) - (else - (error "bad primitive op: too many pushes" - op (instruction-pushes op)))))) - ;; self-call in tail position ((and (lexical-ref? proc) self-label (eq? (lexical-ref-gensym proc) self-label) @@ -518,6 +353,141 @@ (emit-branch #f 'br RA) (emit-label POST))))))))) + ((<primcall> src name args) + (pmatch (cons name args) + ((@apply ,proc . ,args) + (cond + ((and (primitive-ref? proc) (eq? (primitive-ref-name proc) 'values) + (not (eq? context 'push)) (not (eq? context 'vals))) + ;; tail: (lambda () (apply values '(1 2))) + ;; drop: (lambda () (apply values '(1 2)) 3) + ;; push: (lambda () (list (apply values '(10 12)) 1)) + (case context + ((drop) (for-each comp-drop args) (maybe-emit-return)) + ((tail) + (for-each comp-push args) + (emit-code src (make-glil-call 'return/values* (length args)))))) + + (else + (case context + ((tail) + (comp-push proc) + (for-each comp-push args) + (emit-code src (make-glil-call 'tail-apply (1+ (length args))))) + ((push) + (emit-code src (make-glil-call 'new-frame 0)) + (comp-push proc) + (for-each comp-push args) + (emit-code src (make-glil-call 'apply (1+ (length args)))) + (maybe-emit-return)) + (else + (comp-tail (make-primcall src 'apply (cons proc args)))))))) + + ((values . _) (guard (not (eq? context 'push))) + ;; tail: (lambda () (values '(1 2))) + ;; drop: (lambda () (values '(1 2)) 3) + ;; push: (lambda () (list (values '(10 12)) 1)) + ;; vals: (let-values (((a b ...) (values 1 2 ...))) ...) + (case context + ((drop) (for-each comp-drop args) (maybe-emit-return)) + ((vals) + (for-each comp-push args) + (emit-code #f (make-glil-const (length args))) + (emit-branch src 'br MVRA)) + ((tail) + (for-each comp-push args) + (emit-code src (make-glil-call 'return/values (length args)))))) + + ((@call-with-values ,producer ,consumer) + ;; CONSUMER + ;; PRODUCER + ;; (mv-call MV) + ;; ([tail]-call 1) + ;; goto POST + ;; MV: [tail-]call/nargs + ;; POST: (maybe-drop) + (case context + ((vals) + ;; Fall back. + (comp-tail (make-primcall src 'call-with-values args))) + (else + (let ((MV (make-label)) (POST (make-label))) + (if (not (eq? context 'tail)) + (emit-code src (make-glil-call 'new-frame 0))) + (comp-push consumer) + (emit-code src (make-glil-call 'new-frame 0)) + (comp-push producer) + (emit-code src (make-glil-mv-call 0 MV)) + (case context + ((tail) (emit-code src (make-glil-call 'tail-call 1))) + (else (emit-code src (make-glil-call 'call 1)) + (emit-branch #f 'br POST))) + (emit-label MV) + (case context + ((tail) (emit-code src (make-glil-call 'tail-call/nargs 0))) + (else (emit-code src (make-glil-call 'call/nargs 0)) + (emit-label POST) + (if (eq? context 'drop) + (emit-code #f (make-glil-call 'drop 1))) + (maybe-emit-return))))))) + + ((@call-with-current-continuation ,proc) + (case context + ((tail) + (comp-push proc) + (emit-code src (make-glil-call 'tail-call/cc 1))) + ((vals) + (comp-vals + (make-primcall src 'call-with-current-continuation args) + MVRA) + (maybe-emit-return)) + ((push) + (comp-push proc) + (emit-code src (make-glil-call 'call/cc 1)) + (maybe-emit-return)) + ((drop) + ;; Fall back. + (comp-tail + (make-primcall src 'call-with-current-continuation args))))) + + ;; A hack for variable-set, the opcode for which takes its args + ;; reversed, relative to the variable-set! function + ((variable-set! ,var ,val) + (comp-push val) + (comp-push var) + (emit-code src (make-glil-call 'variable-set 2)) + (case context + ((tail push vals) (emit-code #f (make-glil-void)))) + (maybe-emit-return)) + + (else + (cond + ((or (hash-ref *primcall-ops* (cons name (length args))) + (hash-ref *primcall-ops* name)) + => (lambda (op) + (for-each comp-push args) + (emit-code src (make-glil-call op (length args))) + (case (instruction-pushes op) + ((0) + (case context + ((tail push vals) (emit-code #f (make-glil-void)))) + (maybe-emit-return)) + ((1) + (case context + ((drop) (emit-code #f (make-glil-call 'drop 1)))) + (maybe-emit-return)) + ((-1) + ;; A control instruction, like return/values. Here we + ;; just have to hope that the author of the tree-il + ;; knew what they were doing. + *unspecified*) + (else + (error "bad primitive op: too many pushes" + op (instruction-pushes op)))))) + (else + ;; Fall back to the normal compilation strategy. + (comp-tail (make-call src (make-primitive-ref #f name) args))))))) + ((<conditional> src test consequent alternate) ;; TEST ;; (br-if-not L1) @@ -526,54 +496,33 @@ ;; L1: alternate ;; L2: (let ((L1 (make-label)) (L2 (make-label))) - ;; need a pattern matcher (record-case test - ((<call> proc args) - (record-case proc - ((<primitive-ref> name) - (let ((len (length args))) - (cond - - ((and (eq? name 'eq?) (= len 2)) - (comp-push (car args)) - (comp-push (cadr args)) - (emit-branch src 'br-if-not-eq L1)) - - ((and (eq? name 'null?) (= len 1)) - (comp-push (car args)) - (emit-branch src 'br-if-not-null L1)) - - ((and (eq? name 'not) (= len 1)) - (let ((app (car args))) - (record-case app - ((<call> proc args) - (let ((len (length args))) - (record-case proc - ((<primitive-ref> name) - (cond - - ((and (eq? name 'eq?) (= len 2)) - (comp-push (car args)) - (comp-push (cadr args)) - (emit-branch src 'br-if-eq L1)) - - ((and (eq? name 'null?) (= len 1)) - (comp-push (car args)) - (emit-branch src 'br-if-null L1)) - - (else - (comp-push app) - (emit-branch src 'br-if L1)))) - (else - (comp-push app) - (emit-branch src 'br-if L1))))) - (else - (comp-push app) - (emit-branch src 'br-if L1))))) - - (else - (comp-push test) - (emit-branch src 'br-if-not L1))))) + ((<primcall> name args) + (pmatch (cons name args) + ((eq? ,a ,b) + (comp-push a) + (comp-push b) + (emit-branch src 'br-if-not-eq L1)) + ((null? ,x) + (comp-push x) + (emit-branch src 'br-if-not-null L1)) + ((not ,x) + (record-case x + ((<primcall> name args) + (pmatch (cons name args) + ((eq? ,a ,b) + (comp-push a) + (comp-push b) + (emit-branch src 'br-if-eq L1)) + ((null? ,x) + (comp-push x) + (emit-branch src 'br-if-null L1)) + (else + (comp-push x) + (emit-branch src 'br-if L1)))) + (else + (comp-push x) + (emit-branch src 'br-if L1)))) (else (comp-push test) (emit-branch src 'br-if-not L1)))) diff --git a/module/language/tree-il/fix-letrec.scm b/module/language/tree-il/fix-letrec.scm index 1632a9400..cafc5d70b 100644 --- a/module/language/tree-il/fix-letrec.scm +++ b/module/language/tree-il/fix-letrec.scm @@ -44,9 +44,8 @@ ((<sequence> exps) (and-map (lambda (x) (simple-expression? x bound-vars simple-primitive?)) exps)) - ((<call> proc args) - (and (primitive-ref? proc) - (simple-primitive? (primitive-ref-name proc)) + ((<primcall> name args) + (and (simple-primitive? name) ;; FIXME: check arity? (and-map (lambda (x) (simple-expression? x bound-vars simple-primitive?)) diff --git a/module/language/tree-il/inline.scm b/module/language/tree-il/inline.scm index f23fd6f5d..16af52a18 100644 --- a/module/language/tree-il/inline.scm +++ b/module/language/tree-il/inline.scm @@ -47,44 +47,36 @@ (else x))) (else x))) - ((<call> src proc args) - (record-case proc - ;; ((lambda (y ...) x) z ...) => (let ((y z) ...) x) - ((<primitive-ref> name) - (case name - ((memq memv) - (pmatch args - ((,k ,l) (guard (const? l) (list? (const-exp l))) - (cond - ((null? (const-exp l)) - (make-const #f #f)) - ((const? k) - (make-const #f (->bool ((case name - ((memq) memq) - ((memv) memv) - (else (error "unexpected member func" name))) - (const-exp k) (const-exp l))))) - (else - (let lp ((elts (const-exp l))) - (let ((test (make-call - #f - (make-primitive-ref #f (case name - ((memq) 'eq?) - ((memv) 'eqv?) - (else (error "what")))) - (list k (make-const #f (car elts)))))) - (if (null? (cdr elts)) - test - (make-conditional - src - test - (make-const #f #t) - (lp (cdr elts))))))))) - - (else x))) - - (else x))) - + ((<primcall> src name args) + (pmatch (cons name args) + ((,member ,k ,l) (guard (and (memq member '(memq memv)) + (const? k) + (list? (const-exp l)))) + (cond + ((null? (const-exp l)) + (make-const #f #f)) + ((const? k) + (make-const #f (->bool ((case member + ((memq) memq) + ((memv) memv) + (else (error "what" member))) + (const-exp k) (const-exp l))))) + (else + (let lp ((elts (const-exp l))) + (let ((test (make-primcall + #f + (case member + ((memq) 'eq?) + ((memv) 'eqv?) + (else (error "what" member))) + (list k (make-const #f (car elts)))))) + (if (null? (cdr elts)) + test + (make-conditional + src + test + (make-const #f #t) + (lp (cdr elts))))))))) (else x))) ((<lambda> meta body) @@ -114,34 +106,29 @@ (or (inline1 x) x)) (lp alternate))))))) - ((<primitive-ref> name) - (case name - ((@call-with-values) - (pmatch args - ;; (call-with-values (lambda () foo) (lambda (a b . c) bar)) - ;; => (let-values (((a b . c) foo)) bar) - ;; - ;; Note that this is a singly-binding form of let-values. - ;; Also note that Scheme's let-values expands into - ;; call-with-values, then here we reduce it to tree-il's - ;; let-values. - ((,producer ,consumer) - (guard (lambda? consumer) - (lambda-case? (lambda-body consumer)) - (not (lambda-case-opt (lambda-body consumer))) - (not (lambda-case-kw (lambda-body consumer))) - (not (lambda-case-alternate (lambda-body consumer)))) - (make-let-values - src - (let ((x (make-call src producer '()))) - (or (inline1 x) x)) - (lambda-body consumer))) - (else #f))) - - (else #f))) - (else #f))) + ((<primcall> src name args) + (pmatch (cons name args) + ;; (call-with-values (lambda () foo) (lambda (a b . c) bar)) + ;; => (let-values (((a b . c) foo)) bar) + ;; + ;; Note that this is a singly-binding form of let-values. Also + ;; note that Scheme's let-values expands into call-with-values, + ;; then here we reduce it to tree-il's let-values. + ((@call-with-values ,producer ,consumer) + (guard (lambda? consumer) + (lambda-case? (lambda-body consumer)) + (not (lambda-case-opt (lambda-body consumer))) + (not (lambda-case-kw (lambda-body consumer))) + (not (lambda-case-alternate (lambda-body consumer)))) + (make-let-values + src + (let ((x (make-call src producer '()))) + (or (inline1 x) x)) + (lambda-body consumer))) + (else #f))) + ((<conditional> test consequent alternate) (let ((btest (boolean-value test))) (or (record-case btest @@ -178,10 +165,9 @@ (and (not opt) (not kw) rest (not alternate) (record-case body - ((<call> proc args) + ((<primcall> name args) ;; (lambda args (apply (lambda ...) args)) => (lambda ...) - (and (primitive-ref? proc) - (eq? (primitive-ref-name proc) '@apply) + (and (eq? name '@apply) (pair? args) (lambda? (car args)) (args-compatible? (cdr args) gensyms) diff --git a/module/language/tree-il/primitives.scm b/module/language/tree-il/primitives.scm index 63ef20c37..40fc19444 100644 --- a/module/language/tree-il/primitives.scm +++ b/module/language/tree-il/primitives.scm @@ -172,6 +172,9 @@ (and=> (hashq-ref *interesting-primitive-vars* (module-variable m name)) (lambda (name) (make-primitive-ref src name)))))) + ((<call> src proc args) + (and (primitive-ref? proc) + (make-primcall src (primitive-ref-name proc) args))) (else #f))) x)) @@ -183,11 +186,9 @@ (pre-order! (lambda (x) (record-case x - ((<call> src proc args) - (and (primitive-ref? proc) - (let ((expand (hashq-ref *primitive-expand-table* - (primitive-ref-name proc)))) - (and expand (apply expand src args))))) + ((<primcall> src name args) + (let ((expand (hashq-ref *primitive-expand-table* name))) + (and expand (apply expand src args)))) (else #f))) x)) @@ -203,8 +204,8 @@ (lp (cdr in) (cons (if (eq? (caar in) 'quote) `(make-const src ,@(cdar in)) - `(make-call src (make-primitive-ref src ',(caar in)) - ,(inline-args (cdar in)))) + `(make-primcall src ',(caar in) + ,(inline-args (cdar in)))) out))) ((symbol? (car in)) ;; assume it's locally bound @@ -222,8 +223,8 @@ ,(consequent then) ,(consequent else))) (else - `(make-call src (make-primitive-ref src ',(car exp)) - ,(inline-args (cdr exp)))))) + `(make-primcall src ',(car exp) + ,(inline-args (cdr exp)))))) ((symbol? exp) ;; assume locally bound exp) @@ -470,9 +471,9 @@ ;; trickery here. (make-lambda-case (tree-il-src handler) '() #f 'args #f '() (list args-sym) - (make-call #f (make-primitive-ref #f 'apply) - (list handler - (make-lexical-ref #f 'args args-sym))) + (make-primcall #f 'apply + (list handler + (make-lexical-ref #f 'args args-sym))) #f)))) (else #f))) @@ -491,9 +492,9 @@ ;; trickery here. (make-lambda-case (tree-il-src handler) '() #f 'args #f '() (list args-sym) - (make-call #f (make-primitive-ref #f 'apply) - (list handler - (make-lexical-ref #f 'args args-sym))) + (make-primcall #f 'apply + (list handler + (make-lexical-ref #f 'args args-sym))) #f)))) (else #f))) (else #f))) diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test index d6e456b48..a59835e0e 100644 --- a/test-suite/tests/tree-il.test +++ b/test-suite/tests/tree-il.test @@ -63,7 +63,7 @@ (begin (void) (const 1)) (program () (std-prelude 0 0 #f) (label _) (const 1) (call return 1))) (assert-tree-il->glil - (call (primitive +) (void) (const 1)) + (primcall + (void) (const 1)) (program () (std-prelude 0 0 #f) (label _) (void) (call add1 1) (call return 1)))) (with-test-prefix "application" @@ -98,7 +98,7 @@ (eq? l1 l3) (eq? l2 l4)) (assert-tree-il->glil - (call (primitive null?) (if (toplevel foo) (const 1) (const 2))) + (primcall null? (if (toplevel foo) (const 1) (const 2))) (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (branch br-if-not ,l1) (const 1) (branch br ,l2) (label ,l3) (const 2) (label ,l4) @@ -115,7 +115,7 @@ (program () (std-prelude 0 0 #f) (label _) (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (primitive +)) + (primcall null? (primitive +)) (program () (std-prelude 0 0 #f) (label _) (toplevel ref +) (call null? 1) (call return 1)))) @@ -135,7 +135,7 @@ (unbind))) (assert-tree-il->glil - (let (x) (y) ((const 1)) (call (primitive null?) (lexical x y))) + (let (x) (y) ((const 1)) (primcall null? (lexical x y))) (program () (std-prelude 0 1 #f) (label _) (const 1) (bind (x #f 0)) (lexical #t #f set 0) (lexical #t #f ref 0) (call null? 1) (call return 1) @@ -145,7 +145,7 @@ (assert-tree-il->glil ;; unreferenced sets may be optimized away -- make sure they are ref'd (let (x) (y) ((const 1)) - (set! (lexical x y) (call (primitive 1+) (lexical x y)))) + (set! (lexical x y) (primcall 1+ (lexical x y)))) (program () (std-prelude 0 1 #f) (label _) (const 1) (bind (x #t 0)) (lexical #t #t box 0) (lexical #t #t ref 0) (call add1 1) (lexical #t #t set 0) @@ -154,7 +154,7 @@ (assert-tree-il->glil (let (x) (y) ((const 1)) - (begin (set! (lexical x y) (call (primitive 1+) (lexical x y))) + (begin (set! (lexical x y) (primcall 1+ (lexical x y))) (lexical x y))) (program () (std-prelude 0 1 #f) (label _) (const 1) (bind (x #t 0)) (lexical #t #t box 0) @@ -164,8 +164,8 @@ (assert-tree-il->glil (let (x) (y) ((const 1)) - (call (primitive null?) - (set! (lexical x y) (call (primitive 1+) (lexical x y))))) + (primcall null? + (set! (lexical x y) (primcall 1+ (lexical x y))))) (program () (std-prelude 0 1 #f) (label _) (const 1) (bind (x #t 0)) (lexical #t #t box 0) (lexical #t #t ref 0) (call add1 1) (lexical #t #t set 0) (void) @@ -186,7 +186,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (@ (foo) bar)) + (primcall null? (@ (foo) bar)) (program () (std-prelude 0 0 #f) (label _) (module public ref (foo) bar) (call null? 1) (call return 1))) @@ -204,7 +204,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (@@ (foo) bar)) + (primcall null? (@@ (foo) bar)) (program () (std-prelude 0 0 #f) (label _) (module private ref (foo) bar) (call null? 1) (call return 1)))) @@ -223,7 +223,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (set! (@ (foo) bar) (const 2))) + (primcall null? (set! (@ (foo) bar) (const 2))) (program () (std-prelude 0 0 #f) (label _) (const 2) (module public set (foo) bar) (void) (call null? 1) (call return 1))) @@ -241,7 +241,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (set! (@@ (foo) bar) (const 2))) + (primcall null? (set! (@@ (foo) bar) (const 2))) (program () (std-prelude 0 0 #f) (label _) (const 2) (module private set (foo) bar) (void) (call null? 1) (call return 1)))) @@ -260,7 +260,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (toplevel bar)) + (primcall null? (toplevel bar)) (program () (std-prelude 0 0 #f) (label _) (toplevel ref bar) (call null? 1) (call return 1)))) @@ -279,7 +279,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (set! (toplevel bar) (const 2))) + (primcall null? (set! (toplevel bar) (const 2))) (program () (std-prelude 0 0 #f) (label _) (const 2) (toplevel set bar) (void) (call null? 1) (call return 1)))) @@ -298,7 +298,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (define bar (const 2))) + (primcall null? (define bar (const 2))) (program () (std-prelude 0 0 #f) (label _) (const 2) (toplevel define bar) (void) (call null? 1) (call return 1)))) @@ -315,7 +315,7 @@ (const #f) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (const 2)) + (primcall null? (const 2)) (program () (std-prelude 0 0 #f) (label _) (const 2) (call null? 1) (call return 1)))) @@ -336,7 +336,7 @@ ;; complex bindings -> box and set! within let (assert-tree-il->glil (letrec (x y) (x1 y1) ((call (toplevel foo)) (call (toplevel bar))) - (call (primitive +) (lexical x x1) (lexical y y1))) + (primcall + (lexical x x1) (lexical y y1))) (program () (std-prelude 0 4 #f) (label _) (void) (void) ;; what are these? (bind (x #t 0) (y #t 1)) @@ -352,7 +352,7 @@ ;; complex bindings in letrec* -> box and set! in order (assert-tree-il->glil (letrec* (x y) (x1 y1) ((call (toplevel foo)) (call (toplevel bar))) - (call (primitive +) (lexical x x1) (lexical y y1))) + (primcall + (lexical x x1) (lexical y y1))) (program () (std-prelude 0 2 #f) (label _) (void) (void) ;; what are these? (bind (x #t 0) (y #t 1)) @@ -470,7 +470,7 @@ (const #t) (call return 1))) (assert-tree-il->glil - (call (primitive null?) (begin (const #f) (const 2))) + (primcall null? (begin (const #f) (const 2))) (program () (std-prelude 0 0 #f) (label _) (const 2) (call null? 1) (call return 1)))) @@ -512,10 +512,10 @@ (with-test-prefix "apply" (assert-tree-il->glil - (call (primitive @apply) (toplevel foo) (toplevel bar)) + (primcall @apply (toplevel foo) (toplevel bar)) (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (toplevel ref bar) (call tail-apply 2))) (assert-tree-il->glil - (begin (call (primitive @apply) (toplevel foo) (toplevel bar)) (void)) + (begin (primcall @apply (toplevel foo) (toplevel bar)) (void)) (program () (std-prelude 0 0 #f) (label _) (call new-frame 0) (toplevel ref apply) (toplevel ref foo) (toplevel ref bar) (mv-call 2 ,l1) (call drop 1) (branch br ,l2) (label ,l3) (mv-bind 0 #f) @@ -531,10 +531,10 @@ (with-test-prefix "call/cc" (assert-tree-il->glil - (call (primitive @call-with-current-continuation) (toplevel foo)) + (primcall @call-with-current-continuation (toplevel foo)) (program () (std-prelude 0 0 #f) (label _) (toplevel ref foo) (call tail-call/cc 1))) (assert-tree-il->glil - (begin (call (primitive @call-with-current-continuation) (toplevel foo)) (void)) + (begin (primcall @call-with-current-continuation (toplevel foo)) (void)) (program () (std-prelude 0 0 #f) (label _) (call new-frame 0) (toplevel ref call-with-current-continuation) (toplevel ref foo) (mv-call 1 ,l1) (call drop 1) (branch br ,l2) (label ,l3) (mv-bind 0 #f) |