From 3009b93e9b7d14edebedde6dc28539917b556344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 5 May 2011 17:56:47 +0200 Subject: [PATCH 1/5] Generate `escape' and `substitute' port decoding tests. --- test-suite/tests/ports.test | 56 ++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test index 7b646a110..9fb6a9632 100644 --- a/test-suite/tests/ports.test +++ b/test-suite/tests/ports.test @@ -486,7 +486,10 @@ (make-check (syntax-rules (-> error eof) ((_ port (proc -> error)) - (decoding-error? port (proc port))) + (if (eq? 'substitute + (port-conversion-strategy port)) + (eq? (proc port) #\?) + (decoding-error? port (proc port)))) ((_ port (proc -> eof)) (eof-object? (proc port))) ((_ port (proc -> char)) @@ -510,7 +513,8 @@ ((peek-char -> e1) (read-char -> e1)) expected ...)))) - (test-decoding-error + + (test-decoding-error* (syntax-rules () ((_ sequence encoding strategy (expected ...)) (begin @@ -532,56 +536,56 @@ (u8-list->bytevector 'sequence)))) (set-port-encoding! p encoding) (set-port-conversion-strategy! p strategy) - (make-peek+read-checks p #f expected ...)))))))) + (make-peek+read-checks p #f expected + ...))))))) + (test-decoding-error + (syntax-rules () + ((_ sequence encoding (expected ...)) + (begin + (test-decoding-error* sequence encoding 'error + (expected ...)) - (test-decoding-error (255 65 66 67) "UTF-8" 'error + ;; `escape' should behave exactly like `error'. + (test-decoding-error* sequence encoding 'escape + (expected ...)) + + (test-decoding-error* sequence encoding 'substitute + (expected ...))))))) + + (test-decoding-error (255 65 66 67) "UTF-8" (error #\A #\B #\C eof)) - (test-decoding-error (255 65 66 67) "UTF-8" 'escape - ;; `escape' should behave exactly like `error'. - (error #\A #\B #\C eof)) + (test-decoding-error (255 206 187 206 188) "UTF-8" + (error #\λ #\μ eof)) - (test-decoding-error (255 206 187 206 188) "UTF-8" 'substitute - (#\? #\λ #\μ eof)) - - (test-decoding-error (206 187 206) "UTF-8" 'error + (test-decoding-error (206 187 206) "UTF-8" ;; Unterminated sequence. (#\λ error eof)) - (test-decoding-error (206 187 206) "UTF-8" 'substitute - ;; Unterminated sequence. - (#\λ #\? eof)) - ;; Check how ill-formed UTF-8 sequences are handled (see Table 3-7 ;; of the "Conformance" chapter of Unicode 6.0.0.) - (test-decoding-error (#xc0 #x80 #x41) "UTF-8" 'error + (test-decoding-error (#xc0 #x80 #x41) "UTF-8" (error ;; C0: should be in the C2..DF range error ;; 80: invalid #\A eof)) - (test-decoding-error (#xc0 #x80 #x41) "UTF-8" 'substitute - (#\? ;; C0: should be in the C2..DF range - #\? ;; 80: invalid - #\A - eof)) - - (test-decoding-error (#xc2 #x41 #x42) "UTF-8" 'error + (test-decoding-error (#xc2 #x41 #x42) "UTF-8" (error ;; 41: should be in the 80..BF range #\B eof)) - (test-decoding-error (#xe0 #x88 #x88) "UTF-8" 'error + (test-decoding-error (#xe0 #x88 #x88) "UTF-8" (error ;; 2nd byte should be in the A0..BF range eof)) - (test-decoding-error (#xe0 #xa0 #x41 #x42) "UTF-8" 'error + (test-decoding-error (#xe0 #xa0 #x41 #x42) "UTF-8" (error ;; 3rd byte should be in the 80..BF range #\B eof)) - (test-decoding-error (#xf0 #x88 #x88 #x88) "UTF-8" 'error + (test-decoding-error (#xf0 #x88 #x88 #x88) "UTF-8" (error ;; 2nd byte should be in the 90..BF range eof)))) From 3b7f4ba37b41a4db80fc60ef7324d5c1e27944c1 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 5 May 2011 15:13:08 +0200 Subject: [PATCH 2/5] scm_mem[qv] optimization * libguile/list.c (scm_memq, scm_memv): Inline the tortoise/hare check that scm_ilength does, via SCM_VALIDATE_LIST, into the memq/memv bodies. Avoids traversing these lists twice. --- libguile/list.c | 59 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/libguile/list.c b/libguile/list.c index 23ef40407..704151519 100644 --- a/libguile/list.c +++ b/libguile/list.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004,2008,2009,2010 +/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004,2008,2009,2010,2011 * Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or @@ -617,8 +617,32 @@ SCM_DEFINE (scm_memq, "memq", 2, 0, 0, "returned.") #define FUNC_NAME s_scm_memq { - SCM_VALIDATE_LIST (2, lst); - return scm_c_memq (x, lst); + SCM hare = lst, tortoise = lst; + + while (scm_is_pair (hare)) + { + if (scm_is_eq (SCM_CAR (hare), x)) + return hare; + else + hare = SCM_CDR (hare); + + if (!scm_is_pair (hare)) + break; + + if (scm_is_eq (SCM_CAR (hare), x)) + return hare; + else + hare = SCM_CDR (hare); + + tortoise = SCM_CDR (tortoise); + if (SCM_UNLIKELY (scm_is_eq (hare, tortoise))) + break; + } + + if (SCM_LIKELY (scm_is_null (hare))) + return SCM_BOOL_F; + else + scm_wrong_type_arg_msg (FUNC_NAME, 2, lst, "list"); } #undef FUNC_NAME @@ -633,13 +657,32 @@ SCM_DEFINE (scm_memv, "memv", 2, 0, 0, "returned.") #define FUNC_NAME s_scm_memv { - SCM_VALIDATE_LIST (2, lst); - for (; !SCM_NULL_OR_NIL_P (lst); lst = SCM_CDR (lst)) + SCM hare = lst, tortoise = lst; + + while (scm_is_pair (hare)) { - if (! scm_is_false (scm_eqv_p (SCM_CAR (lst), x))) - return lst; + if (scm_is_true (scm_eqv_p (SCM_CAR (hare), x))) + return hare; + else + hare = SCM_CDR (hare); + + if (!scm_is_pair (hare)) + break; + + if (scm_is_true (scm_eqv_p (SCM_CAR (hare), x))) + return hare; + else + hare = SCM_CDR (hare); + + tortoise = SCM_CDR (tortoise); + if (SCM_UNLIKELY (scm_is_eq (hare, tortoise))) + break; } - return SCM_BOOL_F; + + if (SCM_LIKELY (scm_is_null (hare))) + return SCM_BOOL_F; + else + scm_wrong_type_arg_msg (FUNC_NAME, 2, lst, "list"); } #undef FUNC_NAME From e2ccab571e3e756b96b4179769b8fe8821bc28fd Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 5 May 2011 16:28:28 +0200 Subject: [PATCH 3/5] psyntax simplification * module/ice-9/psyntax.scm (strip): Inline the and-map* definition to its one call site. * module/ice-9/psyntax-pp.scm: Regenerate. --- module/ice-9/psyntax-pp.scm | 30349 +++++++++++++++++----------------- module/ice-9/psyntax.scm | 27 +- 2 files changed, 15076 insertions(+), 15300 deletions(-) diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index 16c6a90a4..2a444a086 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -2,10603 +2,1521 @@ (if #f #f) (letrec* - ((#{and-map* 38}# - (lambda (#{f 202}# #{first 203}# . #{rest 204}#) + ((#{make-void 203}# + (lambda (#{src 761}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + #{src 761}#))) + (#{make-const 205}# + (lambda (#{src 763}# #{exp 764}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #{src 763}# + #{exp 764}#))) + (#{make-lexical-ref 209}# + (lambda (#{src 771}# #{name 772}# #{gensym 773}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + #{src 771}# + #{name 772}# + #{gensym 773}#))) + (#{make-lexical-set 211}# + (lambda (#{src 777}# + #{name 778}# + #{gensym 779}# + #{exp 780}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 4) + #{src 777}# + #{name 778}# + #{gensym 779}# + #{exp 780}#))) + (#{make-module-ref 213}# + (lambda (#{src 785}# + #{mod 786}# + #{name 787}# + #{public? 788}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 5) + #{src 785}# + #{mod 786}# + #{name 787}# + #{public? 788}#))) + (#{make-module-set 215}# + (lambda (#{src 793}# + #{mod 794}# + #{name 795}# + #{public? 796}# + #{exp 797}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 6) + #{src 793}# + #{mod 794}# + #{name 795}# + #{public? 796}# + #{exp 797}#))) + (#{make-toplevel-ref 217}# + (lambda (#{src 803}# #{name 804}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 7) + #{src 803}# + #{name 804}#))) + (#{make-toplevel-set 219}# + (lambda (#{src 807}# #{name 808}# #{exp 809}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 8) + #{src 807}# + #{name 808}# + #{exp 809}#))) + (#{make-toplevel-define 221}# + (lambda (#{src 813}# #{name 814}# #{exp 815}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 9) + #{src 813}# + #{name 814}# + #{exp 815}#))) + (#{make-conditional 223}# + (lambda (#{src 819}# + #{test 820}# + #{consequent 821}# + #{alternate 822}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 10) + #{src 819}# + #{test 820}# + #{consequent 821}# + #{alternate 822}#))) + (#{make-application 225}# + (lambda (#{src 827}# #{proc 828}# #{args 829}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 11) + #{src 827}# + #{proc 828}# + #{args 829}#))) + (#{make-sequence 227}# + (lambda (#{src 833}# #{exps 834}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #{src 833}# + #{exps 834}#))) + (#{make-lambda 229}# + (lambda (#{src 837}# #{meta 838}# #{body 839}#) + (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}#) + (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}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #{src 861}# + #{names 862}# + #{gensyms 863}# + #{vals 864}# + #{body 865}#))) + (#{make-letrec 235}# + (lambda (#{src 871}# + #{in-order? 872}# + #{names 873}# + #{gensyms 874}# + #{vals 875}# + #{body 876}#) + (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}# + #{vals 885}# + #{body 886}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 17) + #{src 883}# + #{fluids 884}# + #{vals 885}# + #{body 886}#))) + (#{lambda? 240}# + (lambda (#{x 891}#) + (if (struct? #{x 891}#) + (eq? (struct-vtable #{x 891}#) + (vector-ref %expanded-vtables 13)) + #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}#) + (module-define! + (current-module) + #{symbol 909}# + (make-syntax-transformer + #{symbol 909}# + #{type 910}# + #{val 911}#)))) + (#{get-global-definition-hook 257}# + (lambda (#{symbol 915}# #{module 916}#) (begin - (let ((#{t 210}# (null? #{first 203}#))) - (if #{t 210}# - #{t 210}# - (if (null? #{rest 204}#) - (letrec* - ((#{andmap 214}# - (lambda (#{first 215}#) - (begin - (let ((#{x 218}# (car #{first 215}#)) - (#{first 219}# (cdr #{first 215}#))) - (if (null? #{first 219}#) - (#{f 202}# #{x 218}#) - (if (#{f 202}# #{x 218}#) - (#{andmap 214}# #{first 219}#) - #f))))))) - (begin (#{andmap 214}# #{first 203}#))) - (letrec* - ((#{andmap 225}# - (lambda (#{first 226}# #{rest 227}#) - (begin - (let ((#{x 232}# (car #{first 226}#)) - (#{xr 233}# (map car #{rest 227}#)) - (#{first 234}# (cdr #{first 226}#)) - (#{rest 235}# (map cdr #{rest 227}#))) - (if (null? #{first 234}#) - (@apply #{f 202}# #{x 232}# #{xr 233}#) - (if (@apply #{f 202}# #{x 232}# #{xr 233}#) - (#{andmap 225}# #{first 234}# #{rest 235}#) - #f))))))) + (if (if (not #{module 916}#) (current-module) #f) + (warn "module system is booted, we should have a module" + #{symbol 915}#)) + (begin + (let ((#{v 922}# (module-variable + (if #{module 916}# + (resolve-module (cdr #{module 916}#)) + (current-module)) + #{symbol 915}#))) + (if #{v 922}# + (if (variable-bound? #{v 922}#) (begin - (#{andmap 225}# #{first 203}# #{rest 204}#)))))))))) - (begin - (letrec* - ((#{make-void 240}# - (lambda (#{src 798}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #{src 798}#))) - (#{make-const 242}# - (lambda (#{src 800}# #{exp 801}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #{src 800}# - #{exp 801}#))) - (#{make-lexical-ref 246}# - (lambda (#{src 808}# #{name 809}# #{gensym 810}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{src 808}# - #{name 809}# - #{gensym 810}#))) - (#{make-lexical-set 248}# - (lambda (#{src 814}# - #{name 815}# - #{gensym 816}# - #{exp 817}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 4) - #{src 814}# - #{name 815}# - #{gensym 816}# - #{exp 817}#))) - (#{make-module-ref 250}# - (lambda (#{src 822}# - #{mod 823}# - #{name 824}# - #{public? 825}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 5) - #{src 822}# - #{mod 823}# - #{name 824}# - #{public? 825}#))) - (#{make-module-set 252}# - (lambda (#{src 830}# - #{mod 831}# - #{name 832}# - #{public? 833}# - #{exp 834}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 6) - #{src 830}# - #{mod 831}# - #{name 832}# - #{public? 833}# - #{exp 834}#))) - (#{make-toplevel-ref 254}# - (lambda (#{src 840}# #{name 841}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 7) - #{src 840}# - #{name 841}#))) - (#{make-toplevel-set 256}# - (lambda (#{src 844}# #{name 845}# #{exp 846}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 8) - #{src 844}# - #{name 845}# - #{exp 846}#))) - (#{make-toplevel-define 258}# - (lambda (#{src 850}# #{name 851}# #{exp 852}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 9) - #{src 850}# - #{name 851}# - #{exp 852}#))) - (#{make-conditional 260}# - (lambda (#{src 856}# - #{test 857}# - #{consequent 858}# - #{alternate 859}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 10) - #{src 856}# - #{test 857}# - #{consequent 858}# - #{alternate 859}#))) - (#{make-application 262}# - (lambda (#{src 864}# #{proc 865}# #{args 866}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #{src 864}# - #{proc 865}# - #{args 866}#))) - (#{make-sequence 264}# - (lambda (#{src 870}# #{exps 871}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #{src 870}# - #{exps 871}#))) - (#{make-lambda 266}# - (lambda (#{src 874}# #{meta 875}# #{body 876}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 13) - #{src 874}# - #{meta 875}# - #{body 876}#))) - (#{make-lambda-case 268}# - (lambda (#{src 880}# - #{req 881}# - #{opt 882}# - #{rest 883}# - #{kw 884}# - #{inits 885}# - #{gensyms 886}# - #{body 887}# - #{alternate 888}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{src 880}# - #{req 881}# - #{opt 882}# - #{rest 883}# - #{kw 884}# - #{inits 885}# - #{gensyms 886}# - #{body 887}# - #{alternate 888}#))) - (#{make-let 270}# - (lambda (#{src 898}# - #{names 899}# - #{gensyms 900}# - #{vals 901}# - #{body 902}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{src 898}# - #{names 899}# - #{gensyms 900}# - #{vals 901}# - #{body 902}#))) - (#{make-letrec 272}# - (lambda (#{src 908}# - #{in-order? 909}# - #{names 910}# - #{gensyms 911}# - #{vals 912}# - #{body 913}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 16) - #{src 908}# - #{in-order? 909}# - #{names 910}# - #{gensyms 911}# - #{vals 912}# - #{body 913}#))) - (#{make-dynlet 274}# - (lambda (#{src 920}# - #{fluids 921}# - #{vals 922}# - #{body 923}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 17) - #{src 920}# - #{fluids 921}# - #{vals 922}# - #{body 923}#))) - (#{lambda? 277}# - (lambda (#{x 928}#) - (if (struct? #{x 928}#) - (eq? (struct-vtable #{x 928}#) - (vector-ref %expanded-vtables 13)) - #f))) - (#{lambda-meta 279}# - (lambda (#{x 932}#) (struct-ref #{x 932}# 1))) - (#{set-lambda-meta! 281}# - (lambda (#{x 934}# #{v 935}#) - (struct-set! #{x 934}# 1 #{v 935}#))) - (#{top-level-eval-hook 287}# - (lambda (#{x 938}# #{mod 939}#) - (primitive-eval #{x 938}#))) - (#{local-eval-hook 289}# - (lambda (#{x 942}# #{mod 943}#) - (primitive-eval #{x 942}#))) - (#{put-global-definition-hook 292}# - (lambda (#{symbol 946}# #{type 947}# #{val 948}#) - (module-define! - (current-module) - #{symbol 946}# - (make-syntax-transformer - #{symbol 946}# - #{type 947}# - #{val 948}#)))) - (#{get-global-definition-hook 294}# - (lambda (#{symbol 952}# #{module 953}#) - (begin - (if (if (not #{module 953}#) (current-module) #f) - (warn "module system is booted, we should have a module" - #{symbol 952}#)) - (begin - (let ((#{v 959}# (module-variable - (if #{module 953}# - (resolve-module (cdr #{module 953}#)) - (current-module)) - #{symbol 952}#))) - (if #{v 959}# - (if (variable-bound? #{v 959}#) - (begin - (let ((#{val 964}# (variable-ref #{v 959}#))) - (if (macro? #{val 964}#) - (if (macro-type #{val 964}#) - (cons (macro-type #{val 964}#) - (macro-binding #{val 964}#)) - #f) - #f))) - #f) - #f)))))) - (#{decorate-source 296}# - (lambda (#{e 968}# #{s 969}#) - (begin - (if (if (pair? #{e 968}#) #{s 969}# #f) - (set-source-properties! #{e 968}# #{s 969}#)) - #{e 968}#))) - (#{maybe-name-value! 298}# - (lambda (#{name 974}# #{val 975}#) - (if (#{lambda? 277}# #{val 975}#) - (begin - (let ((#{meta 979}# (#{lambda-meta 279}# #{val 975}#))) - (if (not (assq 'name #{meta 979}#)) - (#{set-lambda-meta! 281}# - #{val 975}# - (cons (cons 'name #{name 974}#) #{meta 979}#)))))))) - (#{build-void 300}# - (lambda (#{source 980}#) - (#{make-void 240}# #{source 980}#))) - (#{build-application 302}# - (lambda (#{source 982}# #{fun-exp 983}# #{arg-exps 984}#) - (#{make-application 262}# - #{source 982}# - #{fun-exp 983}# - #{arg-exps 984}#))) - (#{build-conditional 304}# - (lambda (#{source 988}# - #{test-exp 989}# - #{then-exp 990}# - #{else-exp 991}#) - (#{make-conditional 260}# - #{source 988}# - #{test-exp 989}# - #{then-exp 990}# - #{else-exp 991}#))) - (#{build-dynlet 306}# - (lambda (#{source 996}# - #{fluids 997}# - #{vals 998}# - #{body 999}#) - (#{make-dynlet 274}# - #{source 996}# - #{fluids 997}# - #{vals 998}# - #{body 999}#))) - (#{build-lexical-reference 308}# - (lambda (#{type 1004}# - #{source 1005}# - #{name 1006}# - #{var 1007}#) - (#{make-lexical-ref 246}# - #{source 1005}# - #{name 1006}# - #{var 1007}#))) - (#{build-lexical-assignment 310}# - (lambda (#{source 1012}# - #{name 1013}# - #{var 1014}# - #{exp 1015}#) - (begin - (#{maybe-name-value! 298}# - #{name 1013}# - #{exp 1015}#) - (#{make-lexical-set 248}# - #{source 1012}# - #{name 1013}# - #{var 1014}# - #{exp 1015}#)))) - (#{analyze-variable 312}# - (lambda (#{mod 1020}# - #{var 1021}# - #{modref-cont 1022}# - #{bare-cont 1023}#) - (if (not #{mod 1020}#) - (#{bare-cont 1023}# #{var 1021}#) - (begin - (let ((#{kind 1030}# (car #{mod 1020}#)) - (#{mod 1031}# (cdr #{mod 1020}#))) - (if (eqv? #{kind 1030}# 'public) - (#{modref-cont 1022}# - #{mod 1031}# - #{var 1021}# - #t) - (if (eqv? #{kind 1030}# 'private) - (if (not (equal? - #{mod 1031}# - (module-name (current-module)))) - (#{modref-cont 1022}# - #{mod 1031}# - #{var 1021}# + (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}#)) #f) - (#{bare-cont 1023}# #{var 1021}#)) - (if (eqv? #{kind 1030}# 'bare) - (#{bare-cont 1023}# #{var 1021}#) - (if (eqv? #{kind 1030}# 'hygiene) - (if (if (not (equal? - #{mod 1031}# - (module-name (current-module)))) - (module-variable - (resolve-module #{mod 1031}#) - #{var 1021}#) - #f) - (#{modref-cont 1022}# - #{mod 1031}# - #{var 1021}# - #f) - (#{bare-cont 1023}# #{var 1021}#)) - (syntax-violation - #f - "bad module kind" - #{var 1021}# - #{mod 1031}#)))))))))) - (#{build-global-reference 314}# - (lambda (#{source 1039}# #{var 1040}# #{mod 1041}#) - (#{analyze-variable 312}# - #{mod 1041}# - #{var 1040}# - (lambda (#{mod 1045}# #{var 1046}# #{public? 1047}#) - (#{make-module-ref 250}# - #{source 1039}# - #{mod 1045}# - #{var 1046}# - #{public? 1047}#)) - (lambda (#{var 1051}#) - (#{make-toplevel-ref 254}# - #{source 1039}# - #{var 1051}#))))) - (#{build-global-assignment 316}# - (lambda (#{source 1053}# - #{var 1054}# - #{exp 1055}# - #{mod 1056}#) - (begin - (#{maybe-name-value! 298}# - #{var 1054}# - #{exp 1055}#) - (#{analyze-variable 312}# - #{mod 1056}# - #{var 1054}# - (lambda (#{mod 1061}# #{var 1062}# #{public? 1063}#) - (#{make-module-set 252}# - #{source 1053}# - #{mod 1061}# - #{var 1062}# - #{public? 1063}# - #{exp 1055}#)) - (lambda (#{var 1067}#) - (#{make-toplevel-set 256}# - #{source 1053}# - #{var 1067}# - #{exp 1055}#)))))) - (#{build-global-definition 318}# - (lambda (#{source 1069}# #{var 1070}# #{exp 1071}#) - (begin - (#{maybe-name-value! 298}# - #{var 1070}# - #{exp 1071}#) - (#{make-toplevel-define 258}# - #{source 1069}# - #{var 1070}# - #{exp 1071}#)))) - (#{build-simple-lambda 320}# - (lambda (#{src 1075}# - #{req 1076}# - #{rest 1077}# - #{vars 1078}# - #{meta 1079}# - #{exp 1080}#) - (#{make-lambda 266}# - #{src 1075}# - #{meta 1079}# - (#{make-lambda-case 268}# - #{src 1075}# - #{req 1076}# - #f - #{rest 1077}# - #f - '() - #{vars 1078}# - #{exp 1080}# - #f)))) - (#{build-case-lambda 322}# - (lambda (#{src 1087}# #{meta 1088}# #{body 1089}#) - (#{make-lambda 266}# - #{src 1087}# - #{meta 1088}# - #{body 1089}#))) - (#{build-lambda-case 324}# - (lambda (#{src 1093}# - #{req 1094}# - #{opt 1095}# - #{rest 1096}# - #{kw 1097}# - #{inits 1098}# - #{vars 1099}# - #{body 1100}# - #{else-case 1101}#) - (#{make-lambda-case 268}# - #{src 1093}# - #{req 1094}# - #{opt 1095}# - #{rest 1096}# - #{kw 1097}# - #{inits 1098}# - #{vars 1099}# - #{body 1100}# - #{else-case 1101}#))) - (#{build-primref 326}# - (lambda (#{src 1111}# #{name 1112}#) - (if (equal? (module-name (current-module)) '(guile)) - (#{make-toplevel-ref 254}# - #{src 1111}# - #{name 1112}#) - (#{make-module-ref 250}# - #{src 1111}# - '(guile) - #{name 1112}# - #f)))) - (#{build-data 328}# - (lambda (#{src 1115}# #{exp 1116}#) - (#{make-const 242}# #{src 1115}# #{exp 1116}#))) - (#{build-sequence 330}# - (lambda (#{src 1119}# #{exps 1120}#) - (if (null? (cdr #{exps 1120}#)) - (car #{exps 1120}#) - (#{make-sequence 264}# - #{src 1119}# - #{exps 1120}#)))) - (#{build-let 332}# - (lambda (#{src 1123}# - #{ids 1124}# - #{vars 1125}# - #{val-exps 1126}# - #{body-exp 1127}#) - (begin - (for-each - #{maybe-name-value! 298}# - #{ids 1124}# - #{val-exps 1126}#) - (if (null? #{vars 1125}#) - #{body-exp 1127}# - (#{make-let 270}# - #{src 1123}# - #{ids 1124}# - #{vars 1125}# - #{val-exps 1126}# - #{body-exp 1127}#))))) - (#{build-named-let 334}# - (lambda (#{src 1133}# - #{ids 1134}# - #{vars 1135}# - #{val-exps 1136}# - #{body-exp 1137}#) - (begin - (let ((#{f 1147}# (car #{vars 1135}#)) - (#{f-name 1148}# (car #{ids 1134}#)) - (#{vars 1149}# (cdr #{vars 1135}#)) - (#{ids 1150}# (cdr #{ids 1134}#))) - (begin - (let ((#{proc 1152}# - (#{build-simple-lambda 320}# - #{src 1133}# - #{ids 1150}# - #f - #{vars 1149}# - '() - #{body-exp 1137}#))) - (begin - (#{maybe-name-value! 298}# - #{f-name 1148}# - #{proc 1152}#) - (for-each - #{maybe-name-value! 298}# - #{ids 1150}# - #{val-exps 1136}#) - (#{make-letrec 272}# - #{src 1133}# + #f))) + #f) + #f)))))) + (#{decorate-source 259}# + (lambda (#{e 931}# #{s 932}#) + (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}#) + (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-application 265}# + (lambda (#{source 945}# #{fun-exp 946}# #{arg-exps 947}#) + (#{make-application 225}# + #{source 945}# + #{fun-exp 946}# + #{arg-exps 947}#))) + (#{build-conditional 267}# + (lambda (#{source 951}# + #{test-exp 952}# + #{then-exp 953}# + #{else-exp 954}#) + (#{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}#) + (#{make-lexical-ref 209}# + #{source 968}# + #{name 969}# + #{var 970}#))) + (#{build-lexical-assignment 273}# + (lambda (#{source 975}# + #{name 976}# + #{var 977}# + #{exp 978}#) + (begin + (#{maybe-name-value! 261}# + #{name 976}# + #{exp 978}#) + (#{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}#) + (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) + (if (not (equal? + #{mod 994}# + (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) + (if (if (not (equal? + #{mod 994}# + (module-name (current-module)))) + (module-variable + (resolve-module #{mod 994}#) + #{var 984}#) + #f) + (#{modref-cont 985}# #{mod 994}# #{var 984}# #f) + (#{bare-cont 986}# #{var 984}#)) + (syntax-violation #f - (list #{f-name 1148}#) - (list #{f 1147}#) - (list #{proc 1152}#) - (#{build-application 302}# - #{src 1133}# - (#{build-lexical-reference 308}# - 'fun - #{src 1133}# - #{f-name 1148}# - #{f 1147}#) - #{val-exps 1136}#))))))))) - (#{build-letrec 336}# - (lambda (#{src 1153}# - #{in-order? 1154}# - #{ids 1155}# - #{vars 1156}# - #{val-exps 1157}# - #{body-exp 1158}#) - (if (null? #{vars 1156}#) - #{body-exp 1158}# - (begin - (for-each - #{maybe-name-value! 298}# - #{ids 1155}# - #{val-exps 1157}#) - (#{make-letrec 272}# - #{src 1153}# - #{in-order? 1154}# - #{ids 1155}# - #{vars 1156}# - #{val-exps 1157}# - #{body-exp 1158}#))))) - (#{make-syntax-object 340}# - (lambda (#{expression 1165}# - #{wrap 1166}# - #{module 1167}#) - (vector - 'syntax-object - #{expression 1165}# - #{wrap 1166}# - #{module 1167}#))) - (#{syntax-object? 342}# - (lambda (#{x 1171}#) - (if (vector? #{x 1171}#) - (if (= (vector-length #{x 1171}#) 4) - (eq? (vector-ref #{x 1171}# 0) 'syntax-object) - #f) - #f))) - (#{syntax-object-expression 344}# - (lambda (#{x 1176}#) (vector-ref #{x 1176}# 1))) - (#{syntax-object-wrap 346}# - (lambda (#{x 1178}#) (vector-ref #{x 1178}# 2))) - (#{syntax-object-module 348}# - (lambda (#{x 1180}#) (vector-ref #{x 1180}# 3))) - (#{source-annotation 357}# - (lambda (#{x 1194}#) - (if (#{syntax-object? 342}# #{x 1194}#) - (#{source-annotation 357}# - (#{syntax-object-expression 344}# #{x 1194}#)) - (if (pair? #{x 1194}#) + "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}#) + (#{make-module-ref 213}# + #{source 1002}# + #{mod 1008}# + #{var 1009}# + #{public? 1010}#)) + (lambda (#{var 1014}#) + (#{make-toplevel-ref 217}# + #{source 1002}# + #{var 1014}#))))) + (#{build-global-assignment 279}# + (lambda (#{source 1016}# + #{var 1017}# + #{exp 1018}# + #{mod 1019}#) + (begin + (#{maybe-name-value! 261}# + #{var 1017}# + #{exp 1018}#) + (#{analyze-variable 275}# + #{mod 1019}# + #{var 1017}# + (lambda (#{mod 1024}# #{var 1025}# #{public? 1026}#) + (#{make-module-set 215}# + #{source 1016}# + #{mod 1024}# + #{var 1025}# + #{public? 1026}# + #{exp 1018}#)) + (lambda (#{var 1030}#) + (#{make-toplevel-set 219}# + #{source 1016}# + #{var 1030}# + #{exp 1018}#)))))) + (#{build-global-definition 281}# + (lambda (#{source 1032}# #{var 1033}# #{exp 1034}#) + (begin + (#{maybe-name-value! 261}# + #{var 1033}# + #{exp 1034}#) + (#{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}# + #f + #{rest 1040}# + #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}# + #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}#) + (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}#) + (begin + (let ((#{f 1110}# (car #{vars 1098}#)) + (#{f-name 1111}# (car #{ids 1097}#)) + (#{vars 1112}# (cdr #{vars 1098}#)) + (#{ids 1113}# (cdr #{ids 1097}#))) + (begin + (let ((#{proc 1115}# + (#{build-simple-lambda 283}# + #{src 1096}# + #{ids 1113}# + #f + #{vars 1112}# + '() + #{body-exp 1100}#))) (begin - (let ((#{props 1201}# (source-properties #{x 1194}#))) - (if (pair? #{props 1201}#) #{props 1201}# #f))) - #f)))) - (#{extend-env 364}# - (lambda (#{labels 1203}# #{bindings 1204}# #{r 1205}#) - (if (null? #{labels 1203}#) - #{r 1205}# - (#{extend-env 364}# - (cdr #{labels 1203}#) - (cdr #{bindings 1204}#) - (cons (cons (car #{labels 1203}#) - (car #{bindings 1204}#)) - #{r 1205}#))))) - (#{extend-var-env 366}# - (lambda (#{labels 1209}# #{vars 1210}# #{r 1211}#) - (if (null? #{labels 1209}#) - #{r 1211}# - (#{extend-var-env 366}# - (cdr #{labels 1209}#) - (cdr #{vars 1210}#) - (cons (cons (car #{labels 1209}#) - (cons 'lexical (car #{vars 1210}#))) - #{r 1211}#))))) - (#{macros-only-env 368}# - (lambda (#{r 1216}#) - (if (null? #{r 1216}#) - '() - (begin - (let ((#{a 1219}# (car #{r 1216}#))) - (if (eq? (car (cdr #{a 1219}#)) 'macro) - (cons #{a 1219}# - (#{macros-only-env 368}# (cdr #{r 1216}#))) - (#{macros-only-env 368}# (cdr #{r 1216}#)))))))) - (#{lookup 370}# - (lambda (#{x 1220}# #{r 1221}# #{mod 1222}#) + (#{maybe-name-value! 261}# + #{f-name 1111}# + #{proc 1115}#) + (for-each + #{maybe-name-value! 261}# + #{ids 1113}# + #{val-exps 1099}#) + (#{make-letrec 235}# + #{src 1096}# + #f + (list #{f-name 1111}#) + (list #{f 1110}#) + (list #{proc 1115}#) + (#{build-application 265}# + #{src 1096}# + (#{build-lexical-reference 271}# + '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}# + (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}#) + (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) + #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}#) (begin - (let ((#{t 1228}# (assq #{x 1220}# #{r 1221}#))) - (if #{t 1228}# - (cdr #{t 1228}#) - (if (symbol? #{x 1220}#) - (begin - (let ((#{t 1234}# - (#{get-global-definition-hook 294}# - #{x 1220}# - #{mod 1222}#))) - (if #{t 1234}# #{t 1234}# '(global)))) - '(displaced-lexical))))))) - (#{global-extend 372}# - (lambda (#{type 1239}# #{sym 1240}# #{val 1241}#) - (#{put-global-definition-hook 292}# - #{sym 1240}# - #{type 1239}# - #{val 1241}#))) - (#{nonsymbol-id? 374}# - (lambda (#{x 1245}#) - (if (#{syntax-object? 342}# #{x 1245}#) - (symbol? - (#{syntax-object-expression 344}# #{x 1245}#)) - #f))) - (#{id? 376}# - (lambda (#{x 1249}#) - (if (symbol? #{x 1249}#) - #t - (if (#{syntax-object? 342}# #{x 1249}#) - (symbol? - (#{syntax-object-expression 344}# #{x 1249}#)) - #f)))) - (#{id-sym-name&marks 379}# - (lambda (#{x 1256}# #{w 1257}#) - (if (#{syntax-object? 342}# #{x 1256}#) - (values - (#{syntax-object-expression 344}# #{x 1256}#) - (#{join-marks 426}# - (car #{w 1257}#) - (car (#{syntax-object-wrap 346}# #{x 1256}#)))) - (values #{x 1256}# (car #{w 1257}#))))) - (#{gen-label 389}# - (lambda () (symbol->string (gensym "i")))) - (#{gen-labels 391}# - (lambda (#{ls 1263}#) - (if (null? #{ls 1263}#) - '() - (cons (#{gen-label 389}#) - (#{gen-labels 391}# (cdr #{ls 1263}#)))))) - (#{make-ribcage 394}# - (lambda (#{symnames 1265}# - #{marks 1266}# - #{labels 1267}#) - (vector - 'ribcage - #{symnames 1265}# - #{marks 1266}# - #{labels 1267}#))) - (#{ribcage-symnames 398}# - (lambda (#{x 1276}#) (vector-ref #{x 1276}# 1))) - (#{ribcage-marks 400}# - (lambda (#{x 1278}#) (vector-ref #{x 1278}# 2))) - (#{ribcage-labels 402}# - (lambda (#{x 1280}#) (vector-ref #{x 1280}# 3))) - (#{set-ribcage-symnames! 404}# - (lambda (#{x 1282}# #{update 1283}#) - (vector-set! #{x 1282}# 1 #{update 1283}#))) - (#{set-ribcage-marks! 406}# - (lambda (#{x 1286}# #{update 1287}#) - (vector-set! #{x 1286}# 2 #{update 1287}#))) - (#{set-ribcage-labels! 408}# - (lambda (#{x 1290}# #{update 1291}#) - (vector-set! #{x 1290}# 3 #{update 1291}#))) - (#{anti-mark 414}# - (lambda (#{w 1294}#) - (cons (cons #f (car #{w 1294}#)) - (cons 'shift (cdr #{w 1294}#))))) - (#{extend-ribcage! 418}# - (lambda (#{ribcage 1300}# #{id 1301}# #{label 1302}#) - (begin - (#{set-ribcage-symnames! 404}# - #{ribcage 1300}# - (cons (#{syntax-object-expression 344}# #{id 1301}#) - (#{ribcage-symnames 398}# #{ribcage 1300}#))) - (#{set-ribcage-marks! 406}# - #{ribcage 1300}# - (cons (car (#{syntax-object-wrap 346}# #{id 1301}#)) - (#{ribcage-marks 400}# #{ribcage 1300}#))) - (#{set-ribcage-labels! 408}# - #{ribcage 1300}# - (cons #{label 1302}# - (#{ribcage-labels 402}# #{ribcage 1300}#)))))) - (#{make-binding-wrap 420}# - (lambda (#{ids 1307}# #{labels 1308}# #{w 1309}#) - (if (null? #{ids 1307}#) - #{w 1309}# - (cons (car #{w 1309}#) - (cons (begin - (let ((#{labelvec 1316}# - (list->vector #{labels 1308}#))) + (let ((#{props 1164}# (source-properties #{x 1157}#))) + (if (pair? #{props 1164}#) #{props 1164}# #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}#) + '() + (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}#) + (begin + (let ((#{t 1191}# (assq #{x 1183}# #{r 1184}#))) + (if #{t 1191}# + (cdr #{t 1191}#) + (if (symbol? #{x 1183}#) + (begin + (let ((#{t 1197}# + (#{get-global-definition-hook 257}# + #{x 1183}# + #{mod 1185}#))) + (if #{t 1197}# #{t 1197}# '(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}#) + (symbol? + (#{syntax-object-expression 307}# #{x 1208}#)) + #f))) + (#{id? 339}# + (lambda (#{x 1212}#) + (if (symbol? #{x 1212}#) + #t + (if (#{syntax-object? 305}# #{x 1212}#) + (symbol? + (#{syntax-object-expression 307}# #{x 1212}#)) + #f)))) + (#{id-sym-name&marks 342}# + (lambda (#{x 1219}# #{w 1220}#) + (if (#{syntax-object? 305}# #{x 1219}#) + (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}# + (lambda () (symbol->string (gensym "i")))) + (#{gen-labels 354}# + (lambda (#{ls 1226}#) + (if (null? #{ls 1226}#) + '() + (cons (#{gen-label 352}#) + (#{gen-labels 354}# (cdr #{ls 1226}#)))))) + (#{make-ribcage 357}# + (lambda (#{symnames 1228}# + #{marks 1229}# + #{labels 1230}#) + (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}#) + (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}#) + (cons (begin + (let ((#{labelvec 1279}# + (list->vector #{labels 1271}#))) + (begin + (let ((#{n 1281}# + (vector-length #{labelvec 1279}#))) (begin - (let ((#{n 1318}# - (vector-length #{labelvec 1316}#))) + (let ((#{symnamevec 1284}# + (make-vector #{n 1281}#)) + (#{marksvec 1285}# + (make-vector #{n 1281}#))) (begin - (let ((#{symnamevec 1321}# - (make-vector #{n 1318}#)) - (#{marksvec 1322}# - (make-vector #{n 1318}#))) - (begin - (letrec* - ((#{f 1326}# - (lambda (#{ids 1327}# #{i 1328}#) - (if (not (null? #{ids 1327}#)) - (call-with-values - (lambda () - (#{id-sym-name&marks 379}# - (car #{ids 1327}#) - #{w 1309}#)) - (lambda (#{symname 1329}# - #{marks 1330}#) - (begin - (vector-set! - #{symnamevec 1321}# - #{i 1328}# - #{symname 1329}#) - (vector-set! - #{marksvec 1322}# - #{i 1328}# - #{marks 1330}#) - (#{f 1326}# - (cdr #{ids 1327}#) - (#{1+}# #{i 1328}#))))))))) - (begin (#{f 1326}# #{ids 1307}# 0))) - (#{make-ribcage 394}# - #{symnamevec 1321}# - #{marksvec 1322}# - #{labelvec 1316}#)))))))) - (cdr #{w 1309}#)))))) - (#{smart-append 422}# - (lambda (#{m1 1335}# #{m2 1336}#) - (if (null? #{m2 1336}#) - #{m1 1335}# - (append #{m1 1335}# #{m2 1336}#)))) - (#{join-wraps 424}# - (lambda (#{w1 1339}# #{w2 1340}#) - (begin - (let ((#{m1 1345}# (car #{w1 1339}#)) - (#{s1 1346}# (cdr #{w1 1339}#))) - (if (null? #{m1 1345}#) - (if (null? #{s1 1346}#) - #{w2 1340}# - (cons (car #{w2 1340}#) - (#{smart-append 422}# - #{s1 1346}# - (cdr #{w2 1340}#)))) - (cons (#{smart-append 422}# - #{m1 1345}# - (car #{w2 1340}#)) - (#{smart-append 422}# - #{s1 1346}# - (cdr #{w2 1340}#)))))))) - (#{join-marks 426}# - (lambda (#{m1 1355}# #{m2 1356}#) - (#{smart-append 422}# #{m1 1355}# #{m2 1356}#))) - (#{same-marks? 428}# - (lambda (#{x 1359}# #{y 1360}#) - (begin - (let ((#{t 1365}# (eq? #{x 1359}# #{y 1360}#))) - (if #{t 1365}# - #{t 1365}# - (if (not (null? #{x 1359}#)) - (if (not (null? #{y 1360}#)) - (if (eq? (car #{x 1359}#) (car #{y 1360}#)) - (#{same-marks? 428}# - (cdr #{x 1359}#) - (cdr #{y 1360}#)) - #f) - #f) - #f)))))) - (#{id-var-name 430}# - (lambda (#{id 1371}# #{w 1372}#) - (letrec* - ((#{search 1377}# - (lambda (#{sym 1393}# #{subst 1394}# #{marks 1395}#) - (if (null? #{subst 1394}#) - (values #f #{marks 1395}#) - (begin - (let ((#{fst 1400}# (car #{subst 1394}#))) - (if (eq? #{fst 1400}# 'shift) - (#{search 1377}# - #{sym 1393}# - (cdr #{subst 1394}#) - (cdr #{marks 1395}#)) - (begin - (let ((#{symnames 1402}# - (#{ribcage-symnames 398}# #{fst 1400}#))) - (if (vector? #{symnames 1402}#) - (#{search-vector-rib 1381}# - #{sym 1393}# - #{subst 1394}# - #{marks 1395}# - #{symnames 1402}# - #{fst 1400}#) - (#{search-list-rib 1379}# - #{sym 1393}# - #{subst 1394}# - #{marks 1395}# - #{symnames 1402}# - #{fst 1400}#)))))))))) - (#{search-list-rib 1379}# - (lambda (#{sym 1403}# - #{subst 1404}# - #{marks 1405}# - #{symnames 1406}# - #{ribcage 1407}#) + (letrec* + ((#{f 1289}# + (lambda (#{ids 1290}# #{i 1291}#) + (if (not (null? #{ids 1290}#)) + (call-with-values + (lambda () + (#{id-sym-name&marks 342}# + (car #{ids 1290}#) + #{w 1272}#)) + (lambda (#{symname 1292}# + #{marks 1293}#) + (begin + (vector-set! + #{symnamevec 1284}# + #{i 1291}# + #{symname 1292}#) + (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}#) + (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}#) + (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}#)) + #f) + #f) + #f)))))) + (#{id-var-name 393}# + (lambda (#{id 1334}# #{w 1335}#) + (letrec* + ((#{search 1340}# + (lambda (#{sym 1356}# #{subst 1357}# #{marks 1358}#) + (if (null? #{subst 1357}#) + (values #f #{marks 1358}#) + (begin + (let ((#{fst 1363}# (car #{subst 1357}#))) + (if (eq? #{fst 1363}# 'shift) + (#{search 1340}# + #{sym 1356}# + (cdr #{subst 1357}#) + (cdr #{marks 1358}#)) + (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}#) + (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}# + (list-ref + (#{ribcage-marks 363}# #{ribcage 1370}#) + #{i 1381}#)) + #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}#) + (begin + (let ((#{n 1401}# (vector-length #{symnames 1393}#))) (letrec* - ((#{f 1416}# - (lambda (#{symnames 1417}# #{i 1418}#) - (if (null? #{symnames 1417}#) - (#{search 1377}# - #{sym 1403}# - (cdr #{subst 1404}#) - #{marks 1405}#) - (if (if (eq? (car #{symnames 1417}#) #{sym 1403}#) - (#{same-marks? 428}# - #{marks 1405}# - (list-ref - (#{ribcage-marks 400}# #{ribcage 1407}#) - #{i 1418}#)) + ((#{f 1404}# + (lambda (#{i 1405}#) + (if (= #{i 1405}# #{n 1401}#) + (#{search 1340}# + #{sym 1390}# + (cdr #{subst 1391}#) + #{marks 1392}#) + (if (if (eq? (vector-ref + #{symnames 1393}# + #{i 1405}#) + #{sym 1390}#) + (#{same-marks? 391}# + #{marks 1392}# + (vector-ref + (#{ribcage-marks 363}# #{ribcage 1394}#) + #{i 1405}#)) #f) (values - (list-ref - (#{ribcage-labels 402}# #{ribcage 1407}#) - #{i 1418}#) - #{marks 1405}#) - (#{f 1416}# - (cdr #{symnames 1417}#) - (#{1+}# #{i 1418}#))))))) - (begin (#{f 1416}# #{symnames 1406}# 0))))) - (#{search-vector-rib 1381}# - (lambda (#{sym 1427}# - #{subst 1428}# - #{marks 1429}# - #{symnames 1430}# - #{ribcage 1431}#) - (begin - (let ((#{n 1438}# (vector-length #{symnames 1430}#))) - (letrec* - ((#{f 1441}# - (lambda (#{i 1442}#) - (if (= #{i 1442}# #{n 1438}#) - (#{search 1377}# - #{sym 1427}# - (cdr #{subst 1428}#) - #{marks 1429}#) - (if (if (eq? (vector-ref - #{symnames 1430}# - #{i 1442}#) - #{sym 1427}#) - (#{same-marks? 428}# - #{marks 1429}# - (vector-ref - (#{ribcage-marks 400}# - #{ribcage 1431}#) - #{i 1442}#)) - #f) - (values - (vector-ref - (#{ribcage-labels 402}# #{ribcage 1431}#) - #{i 1442}#) - #{marks 1429}#) - (#{f 1441}# (#{1+}# #{i 1442}#))))))) - (begin (#{f 1441}# 0)))))))) + (vector-ref + (#{ribcage-labels 365}# #{ribcage 1394}#) + #{i 1405}#) + #{marks 1392}#) + (#{f 1404}# (#{1+}# #{i 1405}#))))))) + (begin (#{f 1404}# 0)))))))) + (begin + (if (symbol? #{id 1334}#) (begin - (if (symbol? #{id 1371}#) - (begin - (let ((#{t 1454}# - (call-with-values - (lambda () - (#{search 1377}# - #{id 1371}# - (cdr #{w 1372}#) - (car #{w 1372}#))) - (lambda (#{x 1458}# . #{ignore 1459}#) - #{x 1458}#)))) - (if #{t 1454}# #{t 1454}# #{id 1371}#))) - (if (#{syntax-object? 342}# #{id 1371}#) - (begin - (let ((#{id 1467}# - (#{syntax-object-expression 344}# #{id 1371}#)) - (#{w1 1468}# - (#{syntax-object-wrap 346}# #{id 1371}#))) - (begin - (let ((#{marks 1470}# - (#{join-marks 426}# - (car #{w 1372}#) - (car #{w1 1468}#)))) - (call-with-values - (lambda () - (#{search 1377}# - #{id 1467}# - (cdr #{w 1372}#) - #{marks 1470}#)) - (lambda (#{new-id 1474}# #{marks 1475}#) - (begin - (let ((#{t 1480}# #{new-id 1474}#)) - (if #{t 1480}# - #{t 1480}# - (begin - (let ((#{t 1483}# - (call-with-values - (lambda () - (#{search 1377}# - #{id 1467}# - (cdr #{w1 1468}#) - #{marks 1475}#)) - (lambda (#{x 1486}# - . - #{ignore 1487}#) - #{x 1486}#)))) - (if #{t 1483}# - #{t 1483}# - #{id 1467}#)))))))))))) - (syntax-violation - 'id-var-name - "invalid id" - #{id 1371}#))))))) - (#{free-id=? 432}# - (lambda (#{i 1492}# #{j 1493}#) - (if (eq? (begin - (let ((#{x 1499}# #{i 1492}#)) - (if (#{syntax-object? 342}# #{x 1499}#) - (#{syntax-object-expression 344}# #{x 1499}#) - #{x 1499}#))) - (begin - (let ((#{x 1502}# #{j 1493}#)) - (if (#{syntax-object? 342}# #{x 1502}#) - (#{syntax-object-expression 344}# #{x 1502}#) - #{x 1502}#)))) - (eq? (#{id-var-name 430}# #{i 1492}# '(())) - (#{id-var-name 430}# #{j 1493}# '(()))) - #f))) - (#{bound-id=? 434}# - (lambda (#{i 1506}# #{j 1507}#) - (if (if (#{syntax-object? 342}# #{i 1506}#) - (#{syntax-object? 342}# #{j 1507}#) - #f) - (if (eq? (#{syntax-object-expression 344}# #{i 1506}#) - (#{syntax-object-expression 344}# #{j 1507}#)) - (#{same-marks? 428}# - (car (#{syntax-object-wrap 346}# #{i 1506}#)) - (car (#{syntax-object-wrap 346}# #{j 1507}#))) - #f) - (eq? #{i 1506}# #{j 1507}#)))) - (#{valid-bound-ids? 436}# - (lambda (#{ids 1516}#) - (if (letrec* - ((#{all-ids? 1521}# - (lambda (#{ids 1522}#) - (begin - (let ((#{t 1525}# (null? #{ids 1522}#))) - (if #{t 1525}# - #{t 1525}# - (if (#{id? 376}# (car #{ids 1522}#)) - (#{all-ids? 1521}# (cdr #{ids 1522}#)) - #f))))))) - (begin (#{all-ids? 1521}# #{ids 1516}#))) - (#{distinct-bound-ids? 438}# #{ids 1516}#) - #f))) - (#{distinct-bound-ids? 438}# - (lambda (#{ids 1530}#) - (letrec* - ((#{distinct? 1534}# - (lambda (#{ids 1535}#) - (begin - (let ((#{t 1538}# (null? #{ids 1535}#))) - (if #{t 1538}# - #{t 1538}# - (if (not (#{bound-id-member? 440}# - (car #{ids 1535}#) - (cdr #{ids 1535}#))) - (#{distinct? 1534}# (cdr #{ids 1535}#)) - #f))))))) - (begin (#{distinct? 1534}# #{ids 1530}#))))) - (#{bound-id-member? 440}# - (lambda (#{x 1542}# #{list 1543}#) - (if (not (null? #{list 1543}#)) - (begin - (let ((#{t 1550}# - (#{bound-id=? 434}# - #{x 1542}# - (car #{list 1543}#)))) - (if #{t 1550}# - #{t 1550}# - (#{bound-id-member? 440}# - #{x 1542}# - (cdr #{list 1543}#))))) - #f))) - (#{wrap 442}# - (lambda (#{x 1552}# #{w 1553}# #{defmod 1554}#) - (if (if (null? (car #{w 1553}#)) - (null? (cdr #{w 1553}#)) - #f) - #{x 1552}# - (if (#{syntax-object? 342}# #{x 1552}#) - (#{make-syntax-object 340}# - (#{syntax-object-expression 344}# #{x 1552}#) - (#{join-wraps 424}# - #{w 1553}# - (#{syntax-object-wrap 346}# #{x 1552}#)) - (#{syntax-object-module 348}# #{x 1552}#)) - (if (null? #{x 1552}#) - #{x 1552}# - (#{make-syntax-object 340}# - #{x 1552}# - #{w 1553}# - #{defmod 1554}#)))))) - (#{source-wrap 444}# - (lambda (#{x 1569}# - #{w 1570}# - #{s 1571}# - #{defmod 1572}#) - (#{wrap 442}# - (#{decorate-source 296}# #{x 1569}# #{s 1571}#) - #{w 1570}# - #{defmod 1572}#))) - (#{chi-sequence 446}# - (lambda (#{body 1577}# - #{r 1578}# - #{w 1579}# - #{s 1580}# - #{mod 1581}#) - (#{build-sequence 330}# - #{s 1580}# - (letrec* - ((#{dobody 1592}# - (lambda (#{body 1593}# - #{r 1594}# - #{w 1595}# - #{mod 1596}#) - (if (null? #{body 1593}#) - '() - (begin - (let ((#{first 1598}# - (#{chi 456}# - (car #{body 1593}#) - #{r 1594}# - #{w 1595}# - #{mod 1596}#))) - (cons #{first 1598}# - (#{dobody 1592}# - (cdr #{body 1593}#) - #{r 1594}# - #{w 1595}# - #{mod 1596}#)))))))) + (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}#) (begin - (#{dobody 1592}# - #{body 1577}# - #{r 1578}# - #{w 1579}# - #{mod 1581}#)))))) - (#{chi-top-sequence 448}# - (lambda (#{body 1599}# - #{r 1600}# - #{w 1601}# - #{s 1602}# - #{m 1603}# - #{esew 1604}# - #{mod 1605}#) - (letrec* - ((#{scan 1614}# - (lambda (#{body 1615}# - #{r 1616}# - #{w 1617}# - #{s 1618}# - #{m 1619}# - #{esew 1620}# - #{mod 1621}# - #{exps 1622}#) - (if (null? #{body 1615}#) - #{exps 1622}# - (call-with-values - (lambda () - (call-with-values - (lambda () - (begin - (let ((#{e 1635}# (car #{body 1615}#))) - (#{syntax-type 454}# - #{e 1635}# - #{r 1616}# - #{w 1617}# - (begin - (let ((#{t 1638}# - (#{source-annotation 357}# - #{e 1635}#))) - (if #{t 1638}# #{t 1638}# #{s 1618}#))) - #f - #{mod 1621}# - #f)))) - (lambda (#{type 1640}# - #{value 1641}# - #{e 1642}# - #{w 1643}# - #{s 1644}# - #{mod 1645}#) - (if (eqv? #{type 1640}# 'begin-form) - (let ((#{tmp 1653}# #{e 1642}#)) - (let ((#{tmp 1654}# - ($sc-dispatch #{tmp 1653}# '(_)))) - (if #{tmp 1654}# - (@apply - (lambda () #{exps 1622}#) - #{tmp 1654}#) - (let ((#{tmp 1655}# - ($sc-dispatch - #{tmp 1653}# - '(_ any . each-any)))) - (if #{tmp 1655}# - (@apply - (lambda (#{e1 1658}# #{e2 1659}#) - (#{scan 1614}# - (cons #{e1 1658}# #{e2 1659}#) - #{r 1616}# - #{w 1643}# - #{s 1644}# - #{m 1619}# - #{esew 1620}# - #{mod 1645}# - #{exps 1622}#)) - #{tmp 1655}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1653}#)))))) - (if (eqv? #{type 1640}# 'local-syntax-form) - (#{chi-local-syntax 466}# - #{value 1641}# - #{e 1642}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - #{mod 1645}# - (lambda (#{body 1662}# - #{r 1663}# - #{w 1664}# - #{s 1665}# - #{mod 1666}#) - (#{scan 1614}# - #{body 1662}# - #{r 1663}# - #{w 1664}# - #{s 1665}# - #{m 1619}# - #{esew 1620}# - #{mod 1666}# - #{exps 1622}#))) - (if (eqv? #{type 1640}# 'eval-when-form) - (let ((#{tmp 1673}# #{e 1642}#)) - (let ((#{tmp 1674}# - ($sc-dispatch - #{tmp 1673}# - '(_ each-any any . each-any)))) - (if #{tmp 1674}# - (@apply - (lambda (#{x 1678}# - #{e1 1679}# - #{e2 1680}#) - (begin - (let ((#{when-list 1683}# - (#{chi-when-list 452}# - #{e 1642}# - #{x 1678}# - #{w 1643}#)) - (#{body 1684}# - (cons #{e1 1679}# - #{e2 1680}#))) - (if (eq? #{m 1619}# 'e) - (if (memq 'eval - #{when-list 1683}#) - (#{scan 1614}# - #{body 1684}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - (if (memq 'expand - #{when-list 1683}#) - 'c&e - 'e) - '(eval) - #{mod 1645}# - #{exps 1622}#) - (begin - (if (memq 'expand - #{when-list 1683}#) - (#{top-level-eval-hook 287}# - (#{chi-top-sequence 448}# - #{body 1684}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - 'e - '(eval) - #{mod 1645}#) - #{mod 1645}#)) - #{exps 1622}#)) - (if (memq 'load - #{when-list 1683}#) - (if (begin - (let ((#{t 1693}# - (memq 'compile - #{when-list 1683}#))) - (if #{t 1693}# - #{t 1693}# - (begin - (let ((#{t 1696}# - (memq 'expand - #{when-list 1683}#))) - (if #{t 1696}# - #{t 1696}# - (if (eq? #{m 1619}# - 'c&e) - (memq 'eval - #{when-list 1683}#) - #f))))))) - (#{scan 1614}# - #{body 1684}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - 'c&e - '(compile load) - #{mod 1645}# - #{exps 1622}#) - (if (if (eq? #{m 1619}# - 'c) - #t - (eq? #{m 1619}# - 'c&e)) - (#{scan 1614}# - #{body 1684}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - 'c - '(load) - #{mod 1645}# - #{exps 1622}#) - #{exps 1622}#)) - (if (begin - (let ((#{t 1704}# - (memq 'compile - #{when-list 1683}#))) - (if #{t 1704}# - #{t 1704}# - (begin - (let ((#{t 1707}# - (memq 'expand - #{when-list 1683}#))) - (if #{t 1707}# - #{t 1707}# - (if (eq? #{m 1619}# - 'c&e) - (memq 'eval - #{when-list 1683}#) - #f))))))) - (begin - (#{top-level-eval-hook 287}# - (#{chi-top-sequence 448}# - #{body 1684}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - 'e - '(eval) - #{mod 1645}#) - #{mod 1645}#) - #{exps 1622}#) - #{exps 1622}#)))))) - #{tmp 1674}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1673}#)))) - (if (eqv? #{type 1640}# 'define-syntax-form) - (begin - (let ((#{n 1715}# - (#{id-var-name 430}# - #{value 1641}# - #{w 1643}#)) - (#{r 1716}# - (#{macros-only-env 368}# - #{r 1616}#))) - (if (eqv? #{m 1619}# 'c) - (if (memq 'compile #{esew 1620}#) - (begin - (let ((#{e 1719}# - (#{chi-install-global 450}# - #{n 1715}# - (#{chi 456}# - #{e 1642}# - #{r 1716}# - #{w 1643}# - #{mod 1645}#)))) - (begin - (#{top-level-eval-hook 287}# - #{e 1719}# - #{mod 1645}#) - (if (memq 'load - #{esew 1620}#) - (cons #{e 1719}# - #{exps 1622}#) - #{exps 1622}#)))) - (if (memq 'load #{esew 1620}#) - (cons (#{chi-install-global 450}# - #{n 1715}# - (#{chi 456}# - #{e 1642}# - #{r 1716}# - #{w 1643}# - #{mod 1645}#)) - #{exps 1622}#) - #{exps 1622}#)) - (if (eqv? #{m 1619}# 'c&e) - (begin - (let ((#{e 1722}# - (#{chi-install-global 450}# - #{n 1715}# - (#{chi 456}# - #{e 1642}# - #{r 1716}# - #{w 1643}# - #{mod 1645}#)))) - (begin - (#{top-level-eval-hook 287}# - #{e 1722}# - #{mod 1645}#) - (cons #{e 1722}# - #{exps 1622}#)))) - (begin - (if (memq 'eval #{esew 1620}#) - (#{top-level-eval-hook 287}# - (#{chi-install-global 450}# - #{n 1715}# - (#{chi 456}# - #{e 1642}# - #{r 1716}# - #{w 1643}# - #{mod 1645}#)) - #{mod 1645}#)) - #{exps 1622}#))))) - (if (eqv? #{type 1640}# 'define-form) - (begin - (let ((#{n 1727}# - (#{id-var-name 430}# - #{value 1641}# - #{w 1643}#))) - (begin - (let ((#{type 1729}# - (car (#{lookup 370}# - #{n 1727}# - #{r 1616}# - #{mod 1645}#)))) - (if (if (eqv? #{type 1729}# - 'global) - #t - (if (eqv? #{type 1729}# - 'core) - #t - (if (eqv? #{type 1729}# - 'macro) - #t - (eqv? #{type 1729}# - 'module-ref)))) - (begin - (if (if (if (eq? #{m 1619}# - 'c) - #t - (eq? #{m 1619}# - 'c&e)) - (if (not (module-local-variable - (current-module) - #{n 1727}#)) - (current-module) - #f) - #f) - (begin - (let ((#{old 1736}# - (module-variable - (current-module) - #{n 1727}#))) - (if (if (variable? - #{old 1736}#) - (variable-bound? - #{old 1736}#) - #f) - (module-define! - (current-module) - #{n 1727}# - (variable-ref - #{old 1736}#)) - (module-add! - (current-module) - #{n 1727}# - (make-undefined-variable)))))) - (cons (if (eq? #{m 1619}# - 'c&e) - (begin - (let ((#{x 1740}# - (#{build-global-definition 318}# - #{s 1644}# - #{n 1727}# - (#{chi 456}# - #{e 1642}# - #{r 1616}# - #{w 1643}# - #{mod 1645}#)))) - (begin - (#{top-level-eval-hook 287}# - #{x 1740}# - #{mod 1645}#) - #{x 1740}#))) - (lambda () - (#{build-global-definition 318}# - #{s 1644}# - #{n 1727}# - (#{chi 456}# - #{e 1642}# - #{r 1616}# - #{w 1643}# - #{mod 1645}#)))) - #{exps 1622}#)) - (if (eqv? #{type 1729}# - 'displaced-lexical) - (syntax-violation - #f - "identifier out of context" - #{e 1642}# - (#{wrap 442}# - #{value 1641}# - #{w 1643}# - #{mod 1645}#)) - (syntax-violation - #f - "cannot define keyword at top level" - #{e 1642}# - (#{wrap 442}# - #{value 1641}# - #{w 1643}# - #{mod 1645}#)))))))) - (cons (if (eq? #{m 1619}# 'c&e) - (begin - (let ((#{x 1745}# - (#{chi-expr 458}# - #{type 1640}# - #{value 1641}# - #{e 1642}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - #{mod 1645}#))) - (begin - (#{top-level-eval-hook 287}# - #{x 1745}# - #{mod 1645}#) - #{x 1745}#))) - (lambda () - (#{chi-expr 458}# - #{type 1640}# - #{value 1641}# - #{e 1642}# - #{r 1616}# - #{w 1643}# - #{s 1644}# - #{mod 1645}#))) - #{exps 1622}#))))))))) - (lambda (#{exps 1746}#) - (#{scan 1614}# - (cdr #{body 1615}#) - #{r 1616}# - #{w 1617}# - #{s 1618}# - #{m 1619}# - #{esew 1620}# - #{mod 1621}# - #{exps 1746}#))))))) - (begin - (call-with-values - (lambda () - (#{scan 1614}# - #{body 1599}# - #{r 1600}# - #{w 1601}# - #{s 1602}# - #{m 1603}# - #{esew 1604}# - #{mod 1605}# - '())) - (lambda (#{exps 1748}#) - (if (null? #{exps 1748}#) - (#{build-void 300}# #{s 1602}#) - (#{build-sequence 330}# - #{s 1602}# - (letrec* - ((#{lp 1753}# - (lambda (#{in 1754}# #{out 1755}#) - (if (null? #{in 1754}#) - #{out 1755}# - (begin - (let ((#{e 1757}# (car #{in 1754}#))) - (#{lp 1753}# - (cdr #{in 1754}#) - (cons (if (procedure? #{e 1757}#) - (#{e 1757}#) - #{e 1757}#) - #{out 1755}#)))))))) - (begin (#{lp 1753}# #{exps 1748}# '()))))))))))) - (#{chi-install-global 450}# - (lambda (#{name 1758}# #{e 1759}#) - (#{build-global-definition 318}# - #f - #{name 1758}# - (#{build-application 302}# - #f - (#{build-primref 326}# - #f - 'make-syntax-transformer) - (list (#{build-data 328}# #f #{name 1758}#) - (#{build-data 328}# #f 'macro) - #{e 1759}#))))) - (#{chi-when-list 452}# - (lambda (#{e 1767}# #{when-list 1768}# #{w 1769}#) - (letrec* - ((#{f 1776}# - (lambda (#{when-list 1777}# #{situations 1778}#) - (if (null? #{when-list 1777}#) - #{situations 1778}# - (#{f 1776}# - (cdr #{when-list 1777}#) - (cons (begin - (let ((#{x 1780}# (car #{when-list 1777}#))) - (if (#{free-id=? 432}# - #{x 1780}# - '#(syntax-object - compile - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1779")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1773" "i1774" "i1775")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1770" "i1771" "i1772")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - 'compile - (if (#{free-id=? 432}# - #{x 1780}# - '#(syntax-object - load - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1779")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1773" "i1774" "i1775")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1770" "i1771" "i1772")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - 'load - (if (#{free-id=? 432}# - #{x 1780}# - '#(syntax-object - eval - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1779")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1773" "i1774" "i1775")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1770" "i1771" "i1772")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - 'eval - (if (#{free-id=? 432}# - #{x 1780}# - '#(syntax-object - expand - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1779")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1773" "i1774" "i1775")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1770" "i1771" "i1772")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - 'expand - (syntax-violation - 'eval-when - "invalid situation" - #{e 1767}# - (#{wrap 442}# - #{x 1780}# - #{w 1769}# - #f)))))))) - #{situations 1778}#)))))) - (begin (#{f 1776}# #{when-list 1768}# '()))))) - (#{syntax-type 454}# - (lambda (#{e 1790}# - #{r 1791}# - #{w 1792}# - #{s 1793}# - #{rib 1794}# - #{mod 1795}# - #{for-car? 1796}#) - (if (symbol? #{e 1790}#) - (begin - (let ((#{n 1808}# - (#{id-var-name 430}# #{e 1790}# #{w 1792}#))) - (begin - (let ((#{b 1810}# - (#{lookup 370}# - #{n 1808}# - #{r 1791}# - #{mod 1795}#))) - (begin - (let ((#{type 1812}# (car #{b 1810}#))) - (if (eqv? #{type 1812}# 'lexical) - (values - #{type 1812}# - (cdr #{b 1810}#) - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{type 1812}# 'global) - (values - #{type 1812}# - #{n 1808}# - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{type 1812}# 'macro) - (if #{for-car? 1796}# - (values - #{type 1812}# - (cdr #{b 1810}#) - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (#{syntax-type 454}# - (#{chi-macro 462}# - (cdr #{b 1810}#) - #{e 1790}# - #{r 1791}# - #{w 1792}# - #{s 1793}# - #{rib 1794}# - #{mod 1795}#) - #{r 1791}# - '(()) - #{s 1793}# - #{rib 1794}# - #{mod 1795}# - #f)) - (values - #{type 1812}# - (cdr #{b 1810}#) - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#)))))))))) - (if (pair? #{e 1790}#) - (begin - (let ((#{first 1826}# (car #{e 1790}#))) - (call-with-values - (lambda () - (#{syntax-type 454}# - #{first 1826}# - #{r 1791}# - #{w 1792}# - #{s 1793}# - #{rib 1794}# - #{mod 1795}# - #t)) - (lambda (#{ftype 1827}# - #{fval 1828}# - #{fe 1829}# - #{fw 1830}# - #{fs 1831}# - #{fmod 1832}#) - (if (eqv? #{ftype 1827}# 'lexical) - (values - 'lexical-call - #{fval 1828}# - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'global) - (values - 'global-call - (#{make-syntax-object 340}# - #{fval 1828}# - #{w 1792}# - #{fmod 1832}#) - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'macro) - (#{syntax-type 454}# - (#{chi-macro 462}# - #{fval 1828}# - #{e 1790}# - #{r 1791}# - #{w 1792}# - #{s 1793}# - #{rib 1794}# - #{mod 1795}#) - #{r 1791}# - '(()) - #{s 1793}# - #{rib 1794}# - #{mod 1795}# - #{for-car? 1796}#) - (if (eqv? #{ftype 1827}# 'module-ref) - (call-with-values - (lambda () - (#{fval 1828}# - #{e 1790}# - #{r 1791}# - #{w 1792}#)) - (lambda (#{e 1844}# - #{r 1845}# - #{w 1846}# - #{s 1847}# - #{mod 1848}#) - (#{syntax-type 454}# - #{e 1844}# - #{r 1845}# - #{w 1846}# - #{s 1847}# - #{rib 1794}# - #{mod 1848}# - #{for-car? 1796}#))) - (if (eqv? #{ftype 1827}# 'core) - (values - 'core-form - #{fval 1828}# - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'local-syntax) - (values - 'local-syntax-form - #{fval 1828}# - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'begin) - (values - 'begin-form - #f - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'eval-when) - (values - 'eval-when-form - #f - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (if (eqv? #{ftype 1827}# 'define) - (let ((#{tmp 1859}# #{e 1790}#)) - (let ((#{tmp 1860}# - ($sc-dispatch - #{tmp 1859}# - '(_ any any)))) - (if (if #{tmp 1860}# - (@apply - (lambda (#{name 1863}# - #{val 1864}#) - (#{id? 376}# - #{name 1863}#)) - #{tmp 1860}#) - #f) - (@apply - (lambda (#{name 1867}# - #{val 1868}#) - (values - 'define-form - #{name 1867}# - #{val 1868}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#)) - #{tmp 1860}#) - (let ((#{tmp 1869}# - ($sc-dispatch - #{tmp 1859}# - '(_ (any . any) - any - . - each-any)))) - (if (if #{tmp 1869}# - (@apply - (lambda (#{name 1874}# - #{args 1875}# - #{e1 1876}# - #{e2 1877}#) - (if (#{id? 376}# - #{name 1874}#) - (#{valid-bound-ids? 436}# - (#{lambda-var-list 486}# - #{args 1875}#)) - #f)) - #{tmp 1869}#) - #f) - (@apply - (lambda (#{name 1884}# - #{args 1885}# - #{e1 1886}# - #{e2 1887}#) - (values - 'define-form - (#{wrap 442}# - #{name 1884}# - #{w 1792}# - #{mod 1795}#) - (#{decorate-source 296}# - (cons '#(syntax-object - lambda - ((top) - #(ribcage - #(name - args - e1 - e2) - #((top) - (top) - (top) - (top)) - #("i1880" - "i1881" - "i1882" - "i1883")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i1833" - "i1834" - "i1835" - "i1836" - "i1837" - "i1838")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1825")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i1797" - "i1798" - "i1799" - "i1800" - "i1801" - "i1802" - "i1803")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene - guile)) - (#{wrap 442}# - (cons #{args 1885}# - (cons #{e1 1886}# - #{e2 1887}#)) - #{w 1792}# - #{mod 1795}#)) - #{s 1793}#) - '(()) - #{s 1793}# - #{mod 1795}#)) - #{tmp 1869}#) - (let ((#{tmp 1890}# - ($sc-dispatch - #{tmp 1859}# - '(_ any)))) - (if (if #{tmp 1890}# - (@apply - (lambda (#{name 1892}#) - (#{id? 376}# - #{name 1892}#)) - #{tmp 1890}#) - #f) - (@apply - (lambda (#{name 1894}#) - (values - 'define-form - (#{wrap 442}# - #{name 1894}# - #{w 1792}# - #{mod 1795}#) - '(#(syntax-object - if - ((top) - #(ribcage - #(name) - #((top)) - #("i1893")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i1833" - "i1834" - "i1835" - "i1836" - "i1837" - "i1838")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1825")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i1797" - "i1798" - "i1799" - "i1800" - "i1801" - "i1802" - "i1803")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene - guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i1893")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i1833" - "i1834" - "i1835" - "i1836" - "i1837" - "i1838")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1825")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i1797" - "i1798" - "i1799" - "i1800" - "i1801" - "i1802" - "i1803")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene - guile)) - #(syntax-object - #f - ((top) - #(ribcage - #(name) - #((top)) - #("i1893")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(ftype - fval - fe - fw - fs - fmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i1833" - "i1834" - "i1835" - "i1836" - "i1837" - "i1838")) - #(ribcage - () - () - ()) - #(ribcage - #(first) - #((top)) - #("i1825")) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - () - () - ()) - #(ribcage - #(e - r - w - s - rib - mod - for-car?) - #((top) - (top) - (top) - (top) - (top) - (top) - (top)) - #("i1797" - "i1798" - "i1799" - "i1800" - "i1801" - "i1802" - "i1803")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene - guile))) - '(()) - #{s 1793}# - #{mod 1795}#)) - #{tmp 1890}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1859}#)))))))) - (if (eqv? #{ftype 1827}# - 'define-syntax) - (let ((#{tmp 1897}# #{e 1790}#)) - (let ((#{tmp 1898}# - ($sc-dispatch - #{tmp 1897}# - '(_ any any)))) - (if (if #{tmp 1898}# - (@apply - (lambda (#{name 1901}# - #{val 1902}#) - (#{id? 376}# - #{name 1901}#)) - #{tmp 1898}#) - #f) - (@apply - (lambda (#{name 1905}# - #{val 1906}#) - (values - 'define-syntax-form - #{name 1905}# - #{val 1906}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#)) - #{tmp 1898}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1897}#)))) - (values - 'call - #f - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#))))))))))))))) - (if (#{syntax-object? 342}# #{e 1790}#) - (#{syntax-type 454}# - (#{syntax-object-expression 344}# #{e 1790}#) - #{r 1791}# - (#{join-wraps 424}# - #{w 1792}# - (#{syntax-object-wrap 346}# #{e 1790}#)) + (let ((#{id 1426}# + (#{syntax-object-expression 307}# #{id 1334}#)) + (#{w1 1427}# + (#{syntax-object-wrap 309}# #{id 1334}#))) (begin - (let ((#{t 1912}# - (#{source-annotation 357}# #{e 1790}#))) - (if #{t 1912}# #{t 1912}# #{s 1793}#))) - #{rib 1794}# - (begin - (let ((#{t 1916}# - (#{syntax-object-module 348}# #{e 1790}#))) - (if #{t 1916}# #{t 1916}# #{mod 1795}#))) - #{for-car? 1796}#) - (if (self-evaluating? #{e 1790}#) - (values - 'constant - #f - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#) - (values - 'other - #f - #{e 1790}# - #{w 1792}# - #{s 1793}# - #{mod 1795}#))))))) - (#{chi 456}# - (lambda (#{e 1921}# #{r 1922}# #{w 1923}# #{mod 1924}#) - (call-with-values - (lambda () - (#{syntax-type 454}# - #{e 1921}# - #{r 1922}# - #{w 1923}# - (#{source-annotation 357}# #{e 1921}#) - #f - #{mod 1924}# - #f)) - (lambda (#{type 1929}# - #{value 1930}# - #{e 1931}# - #{w 1932}# - #{s 1933}# - #{mod 1934}#) - (#{chi-expr 458}# - #{type 1929}# - #{value 1930}# - #{e 1931}# - #{r 1922}# - #{w 1932}# - #{s 1933}# - #{mod 1934}#))))) - (#{chi-expr 458}# - (lambda (#{type 1941}# - #{value 1942}# - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'lexical) - (#{build-lexical-reference 308}# - 'value - #{s 1946}# - #{e 1943}# - #{value 1942}#) - (if (if (eqv? #{type 1941}# 'core) - #t - (eqv? #{type 1941}# 'core-form)) - (#{value 1942}# - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'module-ref) - (call-with-values - (lambda () - (#{value 1942}# #{e 1943}# #{r 1944}# #{w 1945}#)) - (lambda (#{e 1958}# - #{r 1959}# - #{w 1960}# - #{s 1961}# - #{mod 1962}#) - (#{chi 456}# - #{e 1958}# - #{r 1959}# - #{w 1960}# - #{mod 1962}#))) - (if (eqv? #{type 1941}# 'lexical-call) - (#{chi-application 460}# - (begin - (let ((#{id 1970}# (car #{e 1943}#))) - (#{build-lexical-reference 308}# - 'fun - (#{source-annotation 357}# #{id 1970}#) - (if (#{syntax-object? 342}# #{id 1970}#) - (syntax->datum #{id 1970}#) - #{id 1970}#) - #{value 1942}#))) - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'global-call) - (#{chi-application 460}# - (#{build-global-reference 314}# - (#{source-annotation 357}# (car #{e 1943}#)) - (if (#{syntax-object? 342}# #{value 1942}#) - (#{syntax-object-expression 344}# #{value 1942}#) - #{value 1942}#) - (if (#{syntax-object? 342}# #{value 1942}#) - (#{syntax-object-module 348}# #{value 1942}#) - #{mod 1947}#)) - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'constant) - (#{build-data 328}# - #{s 1946}# - (#{strip 482}# - (#{source-wrap 444}# - #{e 1943}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - '(()))) - (if (eqv? #{type 1941}# 'global) - (#{build-global-reference 314}# - #{s 1946}# - #{value 1942}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'call) - (#{chi-application 460}# - (#{chi 456}# - (car #{e 1943}#) - #{r 1944}# - #{w 1945}# - #{mod 1947}#) - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (if (eqv? #{type 1941}# 'begin-form) - (let ((#{tmp 1977}# #{e 1943}#)) - (let ((#{tmp 1978}# - ($sc-dispatch - #{tmp 1977}# - '(_ any . each-any)))) - (if #{tmp 1978}# - (@apply - (lambda (#{e1 1981}# #{e2 1982}#) - (#{chi-sequence 446}# - (cons #{e1 1981}# #{e2 1982}#) - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#)) - #{tmp 1978}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1977}#)))) - (if (eqv? #{type 1941}# 'local-syntax-form) - (#{chi-local-syntax 466}# - #{value 1942}# - #{e 1943}# - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}# - #{chi-sequence 446}#) - (if (eqv? #{type 1941}# 'eval-when-form) - (let ((#{tmp 1986}# #{e 1943}#)) - (let ((#{tmp 1987}# - ($sc-dispatch - #{tmp 1986}# - '(_ each-any any . each-any)))) - (if #{tmp 1987}# - (@apply - (lambda (#{x 1991}# - #{e1 1992}# - #{e2 1993}#) - (begin - (let ((#{when-list 1995}# - (#{chi-when-list 452}# - #{e 1943}# - #{x 1991}# - #{w 1945}#))) - (if (memq 'eval - #{when-list 1995}#) - (#{chi-sequence 446}# - (cons #{e1 1992}# - #{e2 1993}#) - #{r 1944}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#) - (#{chi-void 470}#))))) - #{tmp 1987}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 1986}#)))) - (if (if (eqv? #{type 1941}# 'define-form) - #t - (eqv? #{type 1941}# - 'define-syntax-form)) - (syntax-violation - #f - "definition in expression context" - #{e 1943}# - (#{wrap 442}# - #{value 1942}# - #{w 1945}# - #{mod 1947}#)) - (if (eqv? #{type 1941}# 'syntax) - (syntax-violation - #f - "reference to pattern variable outside syntax form" - (#{source-wrap 444}# - #{e 1943}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#)) - (if (eqv? #{type 1941}# - 'displaced-lexical) - (syntax-violation - #f - "reference to identifier outside its scope" - (#{source-wrap 444}# - #{e 1943}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#)) - (syntax-violation - #f - "unexpected syntax" - (#{source-wrap 444}# - #{e 1943}# - #{w 1945}# - #{s 1946}# - #{mod 1947}#)))))))))))))))))) - (#{chi-application 460}# - (lambda (#{x 2002}# - #{e 2003}# - #{r 2004}# - #{w 2005}# - #{s 2006}# - #{mod 2007}#) - (let ((#{tmp 2014}# #{e 2003}#)) - (let ((#{tmp 2015}# - ($sc-dispatch #{tmp 2014}# '(any . each-any)))) - (if #{tmp 2015}# - (@apply - (lambda (#{e0 2018}# #{e1 2019}#) - (#{build-application 302}# - #{s 2006}# - #{x 2002}# - (map (lambda (#{e 2020}#) - (#{chi 456}# - #{e 2020}# - #{r 2004}# - #{w 2005}# - #{mod 2007}#)) - #{e1 2019}#))) - #{tmp 2015}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2014}#)))))) - (#{chi-macro 462}# - (lambda (#{p 2023}# - #{e 2024}# - #{r 2025}# - #{w 2026}# - #{s 2027}# - #{rib 2028}# - #{mod 2029}#) - (letrec* - ((#{rebuild-macro-output 2038}# - (lambda (#{x 2039}# #{m 2040}#) - (if (pair? #{x 2039}#) - (#{decorate-source 296}# - (cons (#{rebuild-macro-output 2038}# - (car #{x 2039}#) - #{m 2040}#) - (#{rebuild-macro-output 2038}# - (cdr #{x 2039}#) - #{m 2040}#)) - #{s 2027}#) - (if (#{syntax-object? 342}# #{x 2039}#) - (begin - (let ((#{w 2048}# - (#{syntax-object-wrap 346}# #{x 2039}#))) - (begin - (let ((#{ms 2051}# (car #{w 2048}#)) - (#{s 2052}# (cdr #{w 2048}#))) - (if (if (pair? #{ms 2051}#) - (eq? (car #{ms 2051}#) #f) - #f) - (#{make-syntax-object 340}# - (#{syntax-object-expression 344}# #{x 2039}#) - (cons (cdr #{ms 2051}#) - (if #{rib 2028}# - (cons #{rib 2028}# (cdr #{s 2052}#)) - (cdr #{s 2052}#))) - (#{syntax-object-module 348}# #{x 2039}#)) - (#{make-syntax-object 340}# - (#{decorate-source 296}# - (#{syntax-object-expression 344}# - #{x 2039}#) - #{s 2052}#) - (cons (cons #{m 2040}# #{ms 2051}#) - (if #{rib 2028}# - (cons #{rib 2028}# - (cons 'shift #{s 2052}#)) - (cons 'shift #{s 2052}#))) - (#{syntax-object-module 348}# - #{x 2039}#))))))) - (if (vector? #{x 2039}#) - (begin - (let ((#{n 2064}# (vector-length #{x 2039}#))) - (begin - (let ((#{v 2066}# - (#{decorate-source 296}# - (make-vector #{n 2064}#) - #{x 2039}#))) - (letrec* - ((#{loop 2069}# - (lambda (#{i 2070}#) - (if (= #{i 2070}# #{n 2064}#) - (begin (if #f #f) #{v 2066}#) - (begin - (vector-set! - #{v 2066}# - #{i 2070}# - (#{rebuild-macro-output 2038}# - (vector-ref - #{x 2039}# - #{i 2070}#) - #{m 2040}#)) - (#{loop 2069}# - (#{1+}# #{i 2070}#))))))) - (begin (#{loop 2069}# 0))))))) - (if (symbol? #{x 2039}#) - (syntax-violation - #f - "encountered raw symbol in macro output" - (#{source-wrap 444}# - #{e 2024}# - #{w 2026}# - (cdr #{w 2026}#) - #{mod 2029}#) - #{x 2039}#) - (#{decorate-source 296}# - #{x 2039}# - #{s 2027}#)))))))) - (begin - (#{rebuild-macro-output 2038}# - (#{p 2023}# - (#{source-wrap 444}# - #{e 2024}# - (#{anti-mark 414}# #{w 2026}#) - #{s 2027}# - #{mod 2029}#)) - (gensym "m")))))) - (#{chi-body 464}# - (lambda (#{body 2080}# - #{outer-form 2081}# - #{r 2082}# - #{w 2083}# - #{mod 2084}#) - (begin - (let ((#{r 2092}# - (cons '("placeholder" placeholder) #{r 2082}#))) - (begin - (let ((#{ribcage 2094}# - (#{make-ribcage 394}# '() '() '()))) - (begin - (let ((#{w 2097}# - (cons (car #{w 2083}#) - (cons #{ribcage 2094}# (cdr #{w 2083}#))))) - (letrec* - ((#{parse 2109}# - (lambda (#{body 2110}# - #{ids 2111}# - #{labels 2112}# - #{var-ids 2113}# - #{vars 2114}# - #{vals 2115}# - #{bindings 2116}#) - (if (null? #{body 2110}#) - (syntax-violation - #f - "no expressions in body" - #{outer-form 2081}#) - (begin - (let ((#{e 2121}# (cdr (car #{body 2110}#))) - (#{er 2122}# - (car (car #{body 2110}#)))) - (call-with-values - (lambda () - (#{syntax-type 454}# - #{e 2121}# - #{er 2122}# - '(()) - (#{source-annotation 357}# - #{er 2122}#) - #{ribcage 2094}# - #{mod 2084}# - #f)) - (lambda (#{type 2124}# - #{value 2125}# - #{e 2126}# - #{w 2127}# - #{s 2128}# - #{mod 2129}#) - (if (eqv? #{type 2124}# 'define-form) - (begin - (let ((#{id 2139}# - (#{wrap 442}# - #{value 2125}# - #{w 2127}# - #{mod 2129}#)) - (#{label 2140}# - (#{gen-label 389}#))) - (begin - (let ((#{var 2142}# - (#{gen-var 484}# - #{id 2139}#))) - (begin - (#{extend-ribcage! 418}# - #{ribcage 2094}# - #{id 2139}# - #{label 2140}#) - (#{parse 2109}# - (cdr #{body 2110}#) - (cons #{id 2139}# - #{ids 2111}#) - (cons #{label 2140}# - #{labels 2112}#) - (cons #{id 2139}# - #{var-ids 2113}#) - (cons #{var 2142}# - #{vars 2114}#) - (cons (cons #{er 2122}# - (#{wrap 442}# - #{e 2126}# - #{w 2127}# - #{mod 2129}#)) - #{vals 2115}#) - (cons (cons 'lexical - #{var 2142}#) - #{bindings 2116}#))))))) - (if (eqv? #{type 2124}# - 'define-syntax-form) - (begin - (let ((#{id 2147}# - (#{wrap 442}# - #{value 2125}# - #{w 2127}# - #{mod 2129}#)) - (#{label 2148}# - (#{gen-label 389}#))) - (begin - (#{extend-ribcage! 418}# - #{ribcage 2094}# - #{id 2147}# - #{label 2148}#) - (#{parse 2109}# - (cdr #{body 2110}#) - (cons #{id 2147}# - #{ids 2111}#) - (cons #{label 2148}# - #{labels 2112}#) - #{var-ids 2113}# - #{vars 2114}# - #{vals 2115}# - (cons (cons 'macro - (cons #{er 2122}# - (#{wrap 442}# - #{e 2126}# - #{w 2127}# - #{mod 2129}#))) - #{bindings 2116}#))))) - (if (eqv? #{type 2124}# - 'begin-form) - (let ((#{tmp 2151}# #{e 2126}#)) - (let ((#{tmp 2152}# - ($sc-dispatch - #{tmp 2151}# - '(_ . each-any)))) - (if #{tmp 2152}# - (@apply - (lambda (#{e1 2154}#) - (#{parse 2109}# - (letrec* - ((#{f 2157}# - (lambda (#{forms 2158}#) - (if (null? #{forms 2158}#) - (cdr #{body 2110}#) - (cons (cons #{er 2122}# - (#{wrap 442}# - (car #{forms 2158}#) - #{w 2127}# - #{mod 2129}#)) - (#{f 2157}# - (cdr #{forms 2158}#))))))) - (begin - (#{f 2157}# - #{e1 2154}#))) - #{ids 2111}# - #{labels 2112}# - #{var-ids 2113}# - #{vars 2114}# - #{vals 2115}# - #{bindings 2116}#)) - #{tmp 2152}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2151}#)))) - (if (eqv? #{type 2124}# - 'local-syntax-form) - (#{chi-local-syntax 466}# - #{value 2125}# - #{e 2126}# - #{er 2122}# - #{w 2127}# - #{s 2128}# - #{mod 2129}# - (lambda (#{forms 2161}# - #{er 2162}# - #{w 2163}# - #{s 2164}# - #{mod 2165}#) - (#{parse 2109}# - (letrec* - ((#{f 2173}# - (lambda (#{forms 2174}#) - (if (null? #{forms 2174}#) - (cdr #{body 2110}#) - (cons (cons #{er 2162}# - (#{wrap 442}# - (car #{forms 2174}#) - #{w 2163}# - #{mod 2165}#)) - (#{f 2173}# - (cdr #{forms 2174}#))))))) - (begin - (#{f 2173}# - #{forms 2161}#))) - #{ids 2111}# - #{labels 2112}# - #{var-ids 2113}# - #{vars 2114}# - #{vals 2115}# - #{bindings 2116}#))) - (if (null? #{ids 2111}#) - (#{build-sequence 330}# - #f - (map (lambda (#{x 2177}#) - (#{chi 456}# - (cdr #{x 2177}#) - (car #{x 2177}#) - '(()) - #{mod 2129}#)) - (cons (cons #{er 2122}# - (#{source-wrap 444}# - #{e 2126}# - #{w 2127}# - #{s 2128}# - #{mod 2129}#)) - (cdr #{body 2110}#)))) - (begin - (if (not (#{valid-bound-ids? 436}# - #{ids 2111}#)) - (syntax-violation - #f - "invalid or duplicate identifier in definition" - #{outer-form 2081}#)) - (letrec* - ((#{loop 2184}# - (lambda (#{bs 2185}# - #{er-cache 2186}# - #{r-cache 2187}#) - (if (not (null? #{bs 2185}#)) - (begin - (let ((#{b 2190}# - (car #{bs 2185}#))) - (if (eq? (car #{b 2190}#) - 'macro) - (begin - (let ((#{er 2193}# - (car (cdr #{b 2190}#)))) - (begin - (let ((#{r-cache 2195}# - (if (eq? #{er 2193}# - #{er-cache 2186}#) - #{r-cache 2187}# - (#{macros-only-env 368}# - #{er 2193}#)))) - (begin - (set-cdr! - #{b 2190}# - (#{eval-local-transformer 468}# - (#{chi 456}# - (cdr (cdr #{b 2190}#)) - #{r-cache 2195}# - '(()) - #{mod 2129}#) - #{mod 2129}#)) - (#{loop 2184}# - (cdr #{bs 2185}#) - #{er 2193}# - #{r-cache 2195}#)))))) - (#{loop 2184}# - (cdr #{bs 2185}#) - #{er-cache 2186}# - #{r-cache 2187}#)))))))) - (begin - (#{loop 2184}# - #{bindings 2116}# - #f - #f))) - (set-cdr! - #{r 2092}# - (#{extend-env 364}# - #{labels 2112}# - #{bindings 2116}# - (cdr #{r 2092}#))) - (#{build-letrec 336}# - #f - #t - (reverse - (map syntax->datum - #{var-ids 2113}#)) - (reverse #{vars 2114}#) - (map (lambda (#{x 2198}#) - (#{chi 456}# - (cdr #{x 2198}#) - (car #{x 2198}#) - '(()) - #{mod 2129}#)) - (reverse - #{vals 2115}#)) - (#{build-sequence 330}# - #f - (map (lambda (#{x 2202}#) - (#{chi 456}# - (cdr #{x 2202}#) - (car #{x 2202}#) - '(()) - #{mod 2129}#)) - (cons (cons #{er 2122}# - (#{source-wrap 444}# - #{e 2126}# - #{w 2127}# - #{s 2128}# - #{mod 2129}#)) - (cdr #{body 2110}#))))))))))))))))))) - (begin - (#{parse 2109}# - (map (lambda (#{x 2117}#) - (cons #{r 2092}# - (#{wrap 442}# - #{x 2117}# - #{w 2097}# - #{mod 2084}#))) - #{body 2080}#) - '() - '() - '() - '() - '() - '()))))))))))) - (#{chi-local-syntax 466}# - (lambda (#{rec? 2205}# - #{e 2206}# - #{r 2207}# - #{w 2208}# - #{s 2209}# - #{mod 2210}# - #{k 2211}#) - (let ((#{tmp 2219}# #{e 2206}#)) - (let ((#{tmp 2220}# - ($sc-dispatch - #{tmp 2219}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp 2220}# - (@apply - (lambda (#{id 2225}# - #{val 2226}# - #{e1 2227}# - #{e2 2228}#) - (begin - (let ((#{ids 2230}# #{id 2225}#)) - (if (not (#{valid-bound-ids? 436}# #{ids 2230}#)) - (syntax-violation - #f - "duplicate bound keyword" - #{e 2206}#) - (begin - (let ((#{labels 2233}# - (#{gen-labels 391}# #{ids 2230}#))) - (begin - (let ((#{new-w 2235}# - (#{make-binding-wrap 420}# - #{ids 2230}# - #{labels 2233}# - #{w 2208}#))) - (#{k 2211}# - (cons #{e1 2227}# #{e2 2228}#) - (#{extend-env 364}# - #{labels 2233}# - (begin - (let ((#{w 2239}# - (if #{rec? 2205}# - #{new-w 2235}# - #{w 2208}#)) - (#{trans-r 2240}# - (#{macros-only-env 368}# - #{r 2207}#))) - (map (lambda (#{x 2241}#) - (cons 'macro - (#{eval-local-transformer 468}# - (#{chi 456}# - #{x 2241}# - #{trans-r 2240}# - #{w 2239}# - #{mod 2210}#) - #{mod 2210}#))) - #{val 2226}#))) - #{r 2207}#) - #{new-w 2235}# - #{s 2209}# - #{mod 2210}#))))))))) - #{tmp 2220}#) - (let ((#{_ 2246}# #{tmp 2219}#)) - (syntax-violation - #f - "bad local syntax definition" - (#{source-wrap 444}# - #{e 2206}# - #{w 2208}# - #{s 2209}# - #{mod 2210}#)))))))) - (#{eval-local-transformer 468}# - (lambda (#{expanded 2247}# #{mod 2248}#) - (begin - (let ((#{p 2252}# - (#{local-eval-hook 289}# - #{expanded 2247}# - #{mod 2248}#))) - (if (procedure? #{p 2252}#) - #{p 2252}# - (syntax-violation - #f - "nonprocedure transformer" - #{p 2252}#)))))) - (#{chi-void 470}# - (lambda () (#{build-void 300}# #f))) - (#{ellipsis? 472}# - (lambda (#{x 2254}#) - (if (#{nonsymbol-id? 374}# #{x 2254}#) - (#{free-id=? 432}# - #{x 2254}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i2255")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - #f))) - (#{lambda-formals 474}# - (lambda (#{orig-args 2258}#) - (letrec* - ((#{req 2261}# - (lambda (#{args 2264}# #{rreq 2265}#) - (let ((#{tmp 2268}# #{args 2264}#)) - (let ((#{tmp 2269}# ($sc-dispatch #{tmp 2268}# '()))) - (if #{tmp 2269}# - (@apply - (lambda () - (#{check 2263}# (reverse #{rreq 2265}#) #f)) - #{tmp 2269}#) - (let ((#{tmp 2270}# - ($sc-dispatch #{tmp 2268}# '(any . any)))) - (if (if #{tmp 2270}# - (@apply - (lambda (#{a 2273}# #{b 2274}#) - (#{id? 376}# #{a 2273}#)) - #{tmp 2270}#) - #f) - (@apply - (lambda (#{a 2277}# #{b 2278}#) - (#{req 2261}# - #{b 2278}# - (cons #{a 2277}# #{rreq 2265}#))) - #{tmp 2270}#) - (let ((#{tmp 2279}# (list #{tmp 2268}#))) - (if (if #{tmp 2279}# - (@apply - (lambda (#{r 2281}#) - (#{id? 376}# #{r 2281}#)) - #{tmp 2279}#) - #f) - (@apply - (lambda (#{r 2283}#) - (#{check 2263}# - (reverse #{rreq 2265}#) - #{r 2283}#)) - #{tmp 2279}#) - (let ((#{else 2285}# #{tmp 2268}#)) - (syntax-violation - 'lambda - "invalid argument list" - #{orig-args 2258}# - #{args 2264}#))))))))))) - (#{check 2263}# - (lambda (#{req 2286}# #{rest 2287}#) - (if (#{distinct-bound-ids? 438}# - (if #{rest 2287}# - (cons #{rest 2287}# #{req 2286}#) - #{req 2286}#)) - (values #{req 2286}# #f #{rest 2287}# #f) - (syntax-violation - 'lambda - "duplicate identifier in argument list" - #{orig-args 2258}#))))) - (begin (#{req 2261}# #{orig-args 2258}# '()))))) - (#{chi-simple-lambda 476}# - (lambda (#{e 2293}# - #{r 2294}# - #{w 2295}# - #{s 2296}# - #{mod 2297}# - #{req 2298}# - #{rest 2299}# - #{meta 2300}# - #{body 2301}#) - (begin - (let ((#{ids 2313}# - (if #{rest 2299}# - (append #{req 2298}# (list #{rest 2299}#)) - #{req 2298}#))) - (begin - (let ((#{vars 2315}# - (map #{gen-var 484}# #{ids 2313}#))) - (begin - (let ((#{labels 2317}# - (#{gen-labels 391}# #{ids 2313}#))) - (#{build-simple-lambda 320}# - #{s 2296}# - (map syntax->datum #{req 2298}#) - (if #{rest 2299}# - (syntax->datum #{rest 2299}#) - #f) - #{vars 2315}# - #{meta 2300}# - (#{chi-body 464}# - #{body 2301}# - (#{source-wrap 444}# - #{e 2293}# - #{w 2295}# - #{s 2296}# - #{mod 2297}#) - (#{extend-var-env 366}# - #{labels 2317}# - #{vars 2315}# - #{r 2294}#) - (#{make-binding-wrap 420}# - #{ids 2313}# - #{labels 2317}# - #{w 2295}#) - #{mod 2297}#)))))))))) - (#{lambda*-formals 478}# - (lambda (#{orig-args 2320}#) - (letrec* - ((#{req 2323}# - (lambda (#{args 2332}# #{rreq 2333}#) - (let ((#{tmp 2336}# #{args 2332}#)) - (let ((#{tmp 2337}# ($sc-dispatch #{tmp 2336}# '()))) - (if #{tmp 2337}# - (@apply - (lambda () - (#{check 2331}# - (reverse #{rreq 2333}#) - '() - #f - '())) - #{tmp 2337}#) - (let ((#{tmp 2338}# - ($sc-dispatch #{tmp 2336}# '(any . any)))) - (if (if #{tmp 2338}# - (@apply - (lambda (#{a 2341}# #{b 2342}#) - (#{id? 376}# #{a 2341}#)) - #{tmp 2338}#) - #f) - (@apply - (lambda (#{a 2345}# #{b 2346}#) - (#{req 2323}# - #{b 2346}# - (cons #{a 2345}# #{rreq 2333}#))) - #{tmp 2338}#) - (let ((#{tmp 2347}# - ($sc-dispatch #{tmp 2336}# '(any . any)))) - (if (if #{tmp 2347}# - (@apply - (lambda (#{a 2350}# #{b 2351}#) - (eq? (syntax->datum #{a 2350}#) - #:optional)) - #{tmp 2347}#) - #f) - (@apply - (lambda (#{a 2354}# #{b 2355}#) - (#{opt 2325}# - #{b 2355}# - (reverse #{rreq 2333}#) - '())) - #{tmp 2347}#) - (let ((#{tmp 2356}# - ($sc-dispatch - #{tmp 2336}# - '(any . any)))) - (if (if #{tmp 2356}# - (@apply - (lambda (#{a 2359}# #{b 2360}#) - (eq? (syntax->datum #{a 2359}#) - #:key)) - #{tmp 2356}#) - #f) - (@apply - (lambda (#{a 2363}# #{b 2364}#) - (#{key 2327}# - #{b 2364}# - (reverse #{rreq 2333}#) - '() - '())) - #{tmp 2356}#) - (let ((#{tmp 2365}# - ($sc-dispatch - #{tmp 2336}# - '(any any)))) - (if (if #{tmp 2365}# - (@apply - (lambda (#{a 2368}# #{b 2369}#) - (eq? (syntax->datum #{a 2368}#) - #:rest)) - #{tmp 2365}#) - #f) - (@apply - (lambda (#{a 2372}# #{b 2373}#) - (#{rest 2329}# - #{b 2373}# - (reverse #{rreq 2333}#) - '() - '())) - #{tmp 2365}#) - (let ((#{tmp 2374}# - (list #{tmp 2336}#))) - (if (if #{tmp 2374}# - (@apply - (lambda (#{r 2376}#) - (#{id? 376}# #{r 2376}#)) - #{tmp 2374}#) - #f) - (@apply - (lambda (#{r 2378}#) - (#{rest 2329}# - #{r 2378}# - (reverse #{rreq 2333}#) - '() - '())) - #{tmp 2374}#) - (let ((#{else 2380}# #{tmp 2336}#)) - (syntax-violation - 'lambda* - "invalid argument list" - #{orig-args 2320}# - #{args 2332}#))))))))))))))))) - (#{opt 2325}# - (lambda (#{args 2381}# #{req 2382}# #{ropt 2383}#) - (let ((#{tmp 2387}# #{args 2381}#)) - (let ((#{tmp 2388}# ($sc-dispatch #{tmp 2387}# '()))) - (if #{tmp 2388}# - (@apply - (lambda () - (#{check 2331}# - #{req 2382}# - (reverse #{ropt 2383}#) - #f - '())) - #{tmp 2388}#) - (let ((#{tmp 2389}# - ($sc-dispatch #{tmp 2387}# '(any . any)))) - (if (if #{tmp 2389}# - (@apply - (lambda (#{a 2392}# #{b 2393}#) - (#{id? 376}# #{a 2392}#)) - #{tmp 2389}#) - #f) - (@apply - (lambda (#{a 2396}# #{b 2397}#) - (#{opt 2325}# - #{b 2397}# - #{req 2382}# - (cons (cons #{a 2396}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(a b) - #((top) (top)) - #("i2394" "i2395")) - #(ribcage () () ()) - #(ribcage - #(args req ropt) - #((top) (top) (top)) - #("i2384" - "i2385" - "i2386")) - #(ribcage - (check rest key opt req) - ((top) - (top) - (top) - (top) - (top)) - ("i2330" - "i2328" - "i2326" - "i2324" - "i2322")) - #(ribcage - #(orig-args) - #((top)) - #("i2321")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene guile)))) - #{ropt 2383}#))) - #{tmp 2389}#) - (let ((#{tmp 2398}# - ($sc-dispatch - #{tmp 2387}# - '((any any) . any)))) - (if (if #{tmp 2398}# - (@apply - (lambda (#{a 2402}# - #{init 2403}# - #{b 2404}#) - (#{id? 376}# #{a 2402}#)) - #{tmp 2398}#) - #f) - (@apply - (lambda (#{a 2408}# #{init 2409}# #{b 2410}#) - (#{opt 2325}# - #{b 2410}# - #{req 2382}# - (cons (list #{a 2408}# #{init 2409}#) - #{ropt 2383}#))) - #{tmp 2398}#) - (let ((#{tmp 2411}# - ($sc-dispatch - #{tmp 2387}# - '(any . any)))) - (if (if #{tmp 2411}# - (@apply - (lambda (#{a 2414}# #{b 2415}#) - (eq? (syntax->datum #{a 2414}#) - #:key)) - #{tmp 2411}#) - #f) - (@apply - (lambda (#{a 2418}# #{b 2419}#) - (#{key 2327}# - #{b 2419}# - #{req 2382}# - (reverse #{ropt 2383}#) - '())) - #{tmp 2411}#) - (let ((#{tmp 2420}# - ($sc-dispatch - #{tmp 2387}# - '(any any)))) - (if (if #{tmp 2420}# - (@apply - (lambda (#{a 2423}# #{b 2424}#) - (eq? (syntax->datum #{a 2423}#) - #:rest)) - #{tmp 2420}#) - #f) - (@apply - (lambda (#{a 2427}# #{b 2428}#) - (#{rest 2329}# - #{b 2428}# - #{req 2382}# - (reverse #{ropt 2383}#) - '())) - #{tmp 2420}#) - (let ((#{tmp 2429}# - (list #{tmp 2387}#))) - (if (if #{tmp 2429}# - (@apply - (lambda (#{r 2431}#) - (#{id? 376}# #{r 2431}#)) - #{tmp 2429}#) - #f) - (@apply - (lambda (#{r 2433}#) - (#{rest 2329}# - #{r 2433}# - #{req 2382}# - (reverse #{ropt 2383}#) - '())) - #{tmp 2429}#) - (let ((#{else 2435}# #{tmp 2387}#)) - (syntax-violation - 'lambda* - "invalid optional argument list" - #{orig-args 2320}# - #{args 2381}#))))))))))))))))) - (#{key 2327}# - (lambda (#{args 2436}# - #{req 2437}# - #{opt 2438}# - #{rkey 2439}#) - (let ((#{tmp 2444}# #{args 2436}#)) - (let ((#{tmp 2445}# ($sc-dispatch #{tmp 2444}# '()))) - (if #{tmp 2445}# - (@apply - (lambda () - (#{check 2331}# - #{req 2437}# - #{opt 2438}# - #f - (cons #f (reverse #{rkey 2439}#)))) - #{tmp 2445}#) - (let ((#{tmp 2446}# - ($sc-dispatch #{tmp 2444}# '(any . any)))) - (if (if #{tmp 2446}# - (@apply - (lambda (#{a 2449}# #{b 2450}#) - (#{id? 376}# #{a 2449}#)) - #{tmp 2446}#) - #f) - (@apply - (lambda (#{a 2453}# #{b 2454}#) - (let ((#{tmp 2456}# - (symbol->keyword - (syntax->datum #{a 2453}#)))) - (let ((#{k 2458}# #{tmp 2456}#)) - (#{key 2327}# - #{b 2454}# - #{req 2437}# - #{opt 2438}# - (cons (cons #{k 2458}# - (cons #{a 2453}# - '(#(syntax-object - #f - ((top) - #(ribcage - () - () - ()) - #(ribcage - #(k) - #((top)) - #("i2457")) - #(ribcage - #(a b) - #((top) (top)) - #("i2451" - "i2452")) - #(ribcage - () - () - ()) - #(ribcage - #(args - req - opt - rkey) - #((top) - (top) - (top) - (top)) - #("i2440" - "i2441" - "i2442" - "i2443")) - #(ribcage - (check rest - key - opt - req) - ((top) - (top) - (top) - (top) - (top)) - ("i2330" - "i2328" - "i2326" - "i2324" - "i2322")) - #(ribcage - #(orig-args) - #((top)) - #("i2321")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i41" - "i40" - "i39" - "i37"))) - (hygiene guile))))) - #{rkey 2439}#))))) - #{tmp 2446}#) - (let ((#{tmp 2459}# - ($sc-dispatch - #{tmp 2444}# - '((any any) . any)))) - (if (if #{tmp 2459}# - (@apply - (lambda (#{a 2463}# - #{init 2464}# - #{b 2465}#) - (#{id? 376}# #{a 2463}#)) - #{tmp 2459}#) - #f) - (@apply - (lambda (#{a 2469}# #{init 2470}# #{b 2471}#) - (let ((#{tmp 2473}# - (symbol->keyword - (syntax->datum #{a 2469}#)))) - (let ((#{k 2475}# #{tmp 2473}#)) - (#{key 2327}# - #{b 2471}# - #{req 2437}# - #{opt 2438}# - (cons (list #{k 2475}# - #{a 2469}# - #{init 2470}#) - #{rkey 2439}#))))) - #{tmp 2459}#) - (let ((#{tmp 2476}# - ($sc-dispatch - #{tmp 2444}# - '((any any any) . any)))) - (if (if #{tmp 2476}# - (@apply - (lambda (#{a 2481}# - #{init 2482}# - #{k 2483}# - #{b 2484}#) - (if (#{id? 376}# #{a 2481}#) - (keyword? - (syntax->datum #{k 2483}#)) - #f)) - #{tmp 2476}#) - #f) - (@apply - (lambda (#{a 2491}# - #{init 2492}# - #{k 2493}# - #{b 2494}#) - (#{key 2327}# - #{b 2494}# - #{req 2437}# - #{opt 2438}# - (cons (list #{k 2493}# - #{a 2491}# - #{init 2492}#) - #{rkey 2439}#))) - #{tmp 2476}#) - (let ((#{tmp 2495}# - ($sc-dispatch - #{tmp 2444}# - '(any)))) - (if (if #{tmp 2495}# - (@apply - (lambda (#{aok 2497}#) - (eq? (syntax->datum - #{aok 2497}#) - #:allow-other-keys)) - #{tmp 2495}#) - #f) - (@apply - (lambda (#{aok 2499}#) - (#{check 2331}# - #{req 2437}# - #{opt 2438}# - #f - (cons #t - (reverse #{rkey 2439}#)))) - #{tmp 2495}#) - (let ((#{tmp 2500}# - ($sc-dispatch - #{tmp 2444}# - '(any any any)))) - (if (if #{tmp 2500}# - (@apply - (lambda (#{aok 2504}# - #{a 2505}# - #{b 2506}#) - (if (eq? (syntax->datum - #{aok 2504}#) - #:allow-other-keys) - (eq? (syntax->datum - #{a 2505}#) - #:rest) - #f)) - #{tmp 2500}#) - #f) - (@apply - (lambda (#{aok 2512}# - #{a 2513}# - #{b 2514}#) - (#{rest 2329}# - #{b 2514}# - #{req 2437}# - #{opt 2438}# - (cons #t - (reverse - #{rkey 2439}#)))) - #{tmp 2500}#) - (let ((#{tmp 2515}# - ($sc-dispatch - #{tmp 2444}# - '(any . any)))) - (if (if #{tmp 2515}# - (@apply - (lambda (#{aok 2518}# - #{r 2519}#) - (if (eq? (syntax->datum - #{aok 2518}#) - #:allow-other-keys) - (#{id? 376}# - #{r 2519}#) - #f)) - #{tmp 2515}#) - #f) - (@apply - (lambda (#{aok 2524}# - #{r 2525}#) - (#{rest 2329}# - #{r 2525}# - #{req 2437}# - #{opt 2438}# - (cons #t - (reverse - #{rkey 2439}#)))) - #{tmp 2515}#) - (let ((#{tmp 2526}# - ($sc-dispatch - #{tmp 2444}# - '(any any)))) - (if (if #{tmp 2526}# - (@apply - (lambda (#{a 2529}# - #{b 2530}#) - (eq? (syntax->datum - #{a 2529}#) - #:rest)) - #{tmp 2526}#) - #f) - (@apply - (lambda (#{a 2533}# - #{b 2534}#) - (#{rest 2329}# - #{b 2534}# - #{req 2437}# - #{opt 2438}# - (cons #f - (reverse - #{rkey 2439}#)))) - #{tmp 2526}#) - (let ((#{tmp 2535}# - (list #{tmp 2444}#))) - (if (if #{tmp 2535}# - (@apply - (lambda (#{r 2537}#) - (#{id? 376}# - #{r 2537}#)) - #{tmp 2535}#) - #f) - (@apply - (lambda (#{r 2539}#) - (#{rest 2329}# - #{r 2539}# - #{req 2437}# - #{opt 2438}# - (cons #f - (reverse - #{rkey 2439}#)))) - #{tmp 2535}#) - (let ((#{else 2541}# - #{tmp 2444}#)) - (syntax-violation - 'lambda* - "invalid keyword argument list" - #{orig-args 2320}# - #{args 2436}#))))))))))))))))))))))) - (#{rest 2329}# - (lambda (#{args 2542}# - #{req 2543}# - #{opt 2544}# - #{kw 2545}#) - (let ((#{tmp 2550}# #{args 2542}#)) - (let ((#{tmp 2551}# (list #{tmp 2550}#))) - (if (if #{tmp 2551}# - (@apply - (lambda (#{r 2553}#) (#{id? 376}# #{r 2553}#)) - #{tmp 2551}#) - #f) - (@apply - (lambda (#{r 2555}#) - (#{check 2331}# - #{req 2543}# - #{opt 2544}# - #{r 2555}# - #{kw 2545}#)) - #{tmp 2551}#) - (let ((#{else 2557}# #{tmp 2550}#)) - (syntax-violation - 'lambda* - "invalid rest argument" - #{orig-args 2320}# - #{args 2542}#))))))) - (#{check 2331}# - (lambda (#{req 2558}# - #{opt 2559}# - #{rest 2560}# - #{kw 2561}#) - (if (#{distinct-bound-ids? 438}# - (append - #{req 2558}# - (map car #{opt 2559}#) - (if #{rest 2560}# (list #{rest 2560}#) '()) - (if (pair? #{kw 2561}#) - (map cadr (cdr #{kw 2561}#)) - '()))) - (values - #{req 2558}# - #{opt 2559}# - #{rest 2560}# - #{kw 2561}#) - (syntax-violation - 'lambda* - "duplicate identifier in argument list" - #{orig-args 2320}#))))) - (begin (#{req 2323}# #{orig-args 2320}# '()))))) - (#{chi-lambda-case 480}# - (lambda (#{e 2569}# - #{r 2570}# - #{w 2571}# - #{s 2572}# - #{mod 2573}# - #{get-formals 2574}# - #{clauses 2575}#) - (letrec* - ((#{expand-req 2584}# - (lambda (#{req 2591}# - #{opt 2592}# - #{rest 2593}# - #{kw 2594}# - #{body 2595}#) - (begin - (let ((#{vars 2603}# - (map #{gen-var 484}# #{req 2591}#)) - (#{labels 2604}# - (#{gen-labels 391}# #{req 2591}#))) - (begin - (let ((#{r* 2607}# - (#{extend-var-env 366}# - #{labels 2604}# - #{vars 2603}# - #{r 2570}#)) - (#{w* 2608}# - (#{make-binding-wrap 420}# - #{req 2591}# - #{labels 2604}# - #{w 2571}#))) - (#{expand-opt 2586}# - (map syntax->datum #{req 2591}#) - #{opt 2592}# - #{rest 2593}# - #{kw 2594}# - #{body 2595}# - (reverse #{vars 2603}#) - #{r* 2607}# - #{w* 2608}# - '() - '()))))))) - (#{expand-opt 2586}# - (lambda (#{req 2609}# - #{opt 2610}# - #{rest 2611}# - #{kw 2612}# - #{body 2613}# - #{vars 2614}# - #{r* 2615}# - #{w* 2616}# - #{out 2617}# - #{inits 2618}#) - (if (pair? #{opt 2610}#) - (let ((#{tmp 2631}# (car #{opt 2610}#))) - (let ((#{tmp 2632}# - ($sc-dispatch #{tmp 2631}# '(any any)))) - (if #{tmp 2632}# - (@apply - (lambda (#{id 2635}# #{i 2636}#) - (begin - (let ((#{v 2639}# - (#{gen-var 484}# #{id 2635}#))) - (begin - (let ((#{l 2641}# - (#{gen-labels 391}# - (list #{v 2639}#)))) - (begin - (let ((#{r** 2643}# - (#{extend-var-env 366}# - #{l 2641}# - (list #{v 2639}#) - #{r* 2615}#))) - (begin - (let ((#{w** 2645}# - (#{make-binding-wrap 420}# - (list #{id 2635}#) - #{l 2641}# - #{w* 2616}#))) - (#{expand-opt 2586}# - #{req 2609}# - (cdr #{opt 2610}#) - #{rest 2611}# - #{kw 2612}# - #{body 2613}# - (cons #{v 2639}# #{vars 2614}#) - #{r** 2643}# - #{w** 2645}# - (cons (syntax->datum - #{id 2635}#) - #{out 2617}#) - (cons (#{chi 456}# - #{i 2636}# - #{r* 2615}# - #{w* 2616}# - #{mod 2573}#) - #{inits 2618}#))))))))))) - #{tmp 2632}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2631}#)))) - (if #{rest 2611}# - (begin - (let ((#{v 2650}# (#{gen-var 484}# #{rest 2611}#))) - (begin - (let ((#{l 2652}# - (#{gen-labels 391}# (list #{v 2650}#)))) - (begin - (let ((#{r* 2654}# - (#{extend-var-env 366}# - #{l 2652}# - (list #{v 2650}#) - #{r* 2615}#))) - (begin - (let ((#{w* 2656}# - (#{make-binding-wrap 420}# - (list #{rest 2611}#) - #{l 2652}# - #{w* 2616}#))) - (#{expand-kw 2588}# - #{req 2609}# - (if (pair? #{out 2617}#) - (reverse #{out 2617}#) - #f) - (syntax->datum #{rest 2611}#) - (if (pair? #{kw 2612}#) - (cdr #{kw 2612}#) - #{kw 2612}#) - #{body 2613}# - (cons #{v 2650}# #{vars 2614}#) - #{r* 2654}# - #{w* 2656}# - (if (pair? #{kw 2612}#) - (car #{kw 2612}#) - #f) - '() - #{inits 2618}#))))))))) - (#{expand-kw 2588}# - #{req 2609}# - (if (pair? #{out 2617}#) - (reverse #{out 2617}#) - #f) - #f - (if (pair? #{kw 2612}#) - (cdr #{kw 2612}#) - #{kw 2612}#) - #{body 2613}# - #{vars 2614}# - #{r* 2615}# - #{w* 2616}# - (if (pair? #{kw 2612}#) (car #{kw 2612}#) #f) - '() - #{inits 2618}#))))) - (#{expand-kw 2588}# - (lambda (#{req 2658}# - #{opt 2659}# - #{rest 2660}# - #{kw 2661}# - #{body 2662}# - #{vars 2663}# - #{r* 2664}# - #{w* 2665}# - #{aok 2666}# - #{out 2667}# - #{inits 2668}#) - (if (pair? #{kw 2661}#) - (let ((#{tmp 2682}# (car #{kw 2661}#))) - (let ((#{tmp 2683}# - ($sc-dispatch #{tmp 2682}# '(any any any)))) - (if #{tmp 2683}# - (@apply - (lambda (#{k 2687}# #{id 2688}# #{i 2689}#) - (begin - (let ((#{v 2692}# - (#{gen-var 484}# #{id 2688}#))) - (begin - (let ((#{l 2694}# - (#{gen-labels 391}# - (list #{v 2692}#)))) - (begin - (let ((#{r** 2696}# - (#{extend-var-env 366}# - #{l 2694}# - (list #{v 2692}#) - #{r* 2664}#))) - (begin - (let ((#{w** 2698}# - (#{make-binding-wrap 420}# - (list #{id 2688}#) - #{l 2694}# - #{w* 2665}#))) - (#{expand-kw 2588}# - #{req 2658}# - #{opt 2659}# - #{rest 2660}# - (cdr #{kw 2661}#) - #{body 2662}# - (cons #{v 2692}# #{vars 2663}#) - #{r** 2696}# - #{w** 2698}# - #{aok 2666}# - (cons (list (syntax->datum - #{k 2687}#) - (syntax->datum - #{id 2688}#) - #{v 2692}#) - #{out 2667}#) - (cons (#{chi 456}# - #{i 2689}# - #{r* 2664}# - #{w* 2665}# - #{mod 2573}#) - #{inits 2668}#))))))))))) - #{tmp 2683}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2682}#)))) - (#{expand-body 2590}# - #{req 2658}# - #{opt 2659}# - #{rest 2660}# - (if (begin - (let ((#{t 2702}# #{aok 2666}#)) - (if #{t 2702}# #{t 2702}# (pair? #{out 2667}#)))) - (cons #{aok 2666}# (reverse #{out 2667}#)) - #f) - #{body 2662}# - (reverse #{vars 2663}#) - #{r* 2664}# - #{w* 2665}# - (reverse #{inits 2668}#) - '())))) - (#{expand-body 2590}# - (lambda (#{req 2704}# - #{opt 2705}# - #{rest 2706}# - #{kw 2707}# - #{body 2708}# - #{vars 2709}# - #{r* 2710}# - #{w* 2711}# - #{inits 2712}# - #{meta 2713}#) - (let ((#{tmp 2724}# #{body 2708}#)) - (let ((#{tmp 2725}# - ($sc-dispatch #{tmp 2724}# '(any any . each-any)))) - (if (if #{tmp 2725}# - (@apply - (lambda (#{docstring 2729}# - #{e1 2730}# - #{e2 2731}#) - (string? (syntax->datum #{docstring 2729}#))) - #{tmp 2725}#) - #f) - (@apply - (lambda (#{docstring 2735}# #{e1 2736}# #{e2 2737}#) - (#{expand-body 2590}# - #{req 2704}# - #{opt 2705}# - #{rest 2706}# - #{kw 2707}# - (cons #{e1 2736}# #{e2 2737}#) - #{vars 2709}# - #{r* 2710}# - #{w* 2711}# - #{inits 2712}# - (append - #{meta 2713}# - (list (cons 'documentation - (syntax->datum - #{docstring 2735}#)))))) - #{tmp 2725}#) - (let ((#{tmp 2740}# - ($sc-dispatch - #{tmp 2724}# - '(#(vector #(each (any . any))) - any - . - each-any)))) - (if #{tmp 2740}# - (@apply - (lambda (#{k 2745}# - #{v 2746}# - #{e1 2747}# - #{e2 2748}#) - (#{expand-body 2590}# - #{req 2704}# - #{opt 2705}# - #{rest 2706}# - #{kw 2707}# - (cons #{e1 2747}# #{e2 2748}#) - #{vars 2709}# - #{r* 2710}# - #{w* 2711}# - #{inits 2712}# - (append - #{meta 2713}# - (syntax->datum - (map cons #{k 2745}# #{v 2746}#))))) - #{tmp 2740}#) - (let ((#{tmp 2752}# - ($sc-dispatch - #{tmp 2724}# - '(any . each-any)))) - (if #{tmp 2752}# - (@apply - (lambda (#{e1 2755}# #{e2 2756}#) - (values - #{meta 2713}# - #{req 2704}# - #{opt 2705}# - #{rest 2706}# - #{kw 2707}# - #{inits 2712}# - #{vars 2709}# - (#{chi-body 464}# - (cons #{e1 2755}# #{e2 2756}#) - (#{source-wrap 444}# - #{e 2569}# - #{w 2571}# - #{s 2572}# - #{mod 2573}#) - #{r* 2710}# - #{w* 2711}# - #{mod 2573}#))) - #{tmp 2752}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2724}#))))))))))) - (begin - (let ((#{tmp 2758}# #{clauses 2575}#)) - (let ((#{tmp 2759}# ($sc-dispatch #{tmp 2758}# '()))) - (if #{tmp 2759}# - (@apply (lambda () (values '() #f)) #{tmp 2759}#) - (let ((#{tmp 2760}# - ($sc-dispatch - #{tmp 2758}# - '((any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 2760}# - (@apply - (lambda (#{args 2767}# - #{e1 2768}# - #{e2 2769}# - #{args* 2770}# - #{e1* 2771}# - #{e2* 2772}#) - (call-with-values - (lambda () (#{get-formals 2574}# #{args 2767}#)) - (lambda (#{req 2773}# - #{opt 2774}# - #{rest 2775}# - #{kw 2776}#) - (call-with-values - (lambda () - (#{expand-req 2584}# - #{req 2773}# - #{opt 2774}# - #{rest 2775}# - #{kw 2776}# - (cons #{e1 2768}# #{e2 2769}#))) - (lambda (#{meta 2782}# - #{req 2783}# - #{opt 2784}# - #{rest 2785}# - #{kw 2786}# - #{inits 2787}# - #{vars 2788}# - #{body 2789}#) - (call-with-values - (lambda () - (#{chi-lambda-case 480}# - #{e 2569}# - #{r 2570}# - #{w 2571}# - #{s 2572}# - #{mod 2573}# - #{get-formals 2574}# - (map (lambda (#{tmp 2800}# - #{tmp 2799}# - #{tmp 2798}#) - (cons #{tmp 2798}# - (cons #{tmp 2799}# - #{tmp 2800}#))) - #{e2* 2772}# - #{e1* 2771}# - #{args* 2770}#))) - (lambda (#{meta* 2802}# #{else* 2803}#) - (values - (append - #{meta 2782}# - #{meta* 2802}#) - (#{build-lambda-case 324}# - #{s 2572}# - #{req 2783}# - #{opt 2784}# - #{rest 2785}# - #{kw 2786}# - #{inits 2787}# - #{vars 2788}# - #{body 2789}# - #{else* 2803}#))))))))) - #{tmp 2760}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 2758}#)))))))))) - (#{strip 482}# - (lambda (#{x 2806}# #{w 2807}#) - (if (memq 'top (car #{w 2807}#)) - #{x 2806}# - (letrec* - ((#{f 2814}# - (lambda (#{x 2815}#) - (if (#{syntax-object? 342}# #{x 2815}#) - (#{strip 482}# - (#{syntax-object-expression 344}# #{x 2815}#) - (#{syntax-object-wrap 346}# #{x 2815}#)) - (if (pair? #{x 2815}#) - (begin - (let ((#{a 2822}# (#{f 2814}# (car #{x 2815}#))) - (#{d 2823}# (#{f 2814}# (cdr #{x 2815}#)))) - (if (if (eq? #{a 2822}# (car #{x 2815}#)) - (eq? #{d 2823}# (cdr #{x 2815}#)) - #f) - #{x 2815}# - (cons #{a 2822}# #{d 2823}#)))) - (if (vector? #{x 2815}#) - (begin - (let ((#{old 2829}# (vector->list #{x 2815}#))) - (begin - (let ((#{new 2831}# - (map #{f 2814}# #{old 2829}#))) - (if (#{and-map* 38}# - eq? - #{old 2829}# - #{new 2831}#) - #{x 2815}# - (list->vector #{new 2831}#)))))) - #{x 2815}#)))))) - (begin (#{f 2814}# #{x 2806}#)))))) - (#{gen-var 484}# - (lambda (#{id 2833}#) - (begin - (let ((#{id 2836}# - (if (#{syntax-object? 342}# #{id 2833}#) - (#{syntax-object-expression 344}# #{id 2833}#) - #{id 2833}#))) - (gensym - (string-append (symbol->string #{id 2836}#) " ")))))) - (#{lambda-var-list 486}# - (lambda (#{vars 2838}#) - (letrec* - ((#{lvl 2844}# - (lambda (#{vars 2845}# #{ls 2846}# #{w 2847}#) - (if (pair? #{vars 2845}#) - (#{lvl 2844}# - (cdr #{vars 2845}#) - (cons (#{wrap 442}# (car #{vars 2845}#) #{w 2847}# #f) - #{ls 2846}#) - #{w 2847}#) - (if (#{id? 376}# #{vars 2845}#) - (cons (#{wrap 442}# #{vars 2845}# #{w 2847}# #f) - #{ls 2846}#) - (if (null? #{vars 2845}#) - #{ls 2846}# - (if (#{syntax-object? 342}# #{vars 2845}#) - (#{lvl 2844}# - (#{syntax-object-expression 344}# #{vars 2845}#) - #{ls 2846}# - (#{join-wraps 424}# - #{w 2847}# - (#{syntax-object-wrap 346}# #{vars 2845}#))) - (cons #{vars 2845}# #{ls 2846}#)))))))) - (begin (#{lvl 2844}# #{vars 2838}# '() '(()))))))) - (begin - (lambda (#{src 804}# #{name 805}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 2) - #{src 804}# - #{name 805}#)) - (lambda (#{x 1182}# #{update 1183}#) - (vector-set! #{x 1182}# 1 #{update 1183}#)) - (lambda (#{x 1186}# #{update 1187}#) - (vector-set! #{x 1186}# 2 #{update 1187}#)) - (lambda (#{x 1190}# #{update 1191}#) - (vector-set! #{x 1190}# 3 #{update 1191}#)) - (lambda (#{x 1271}#) - (if (vector? #{x 1271}#) - (if (= (vector-length #{x 1271}#) 4) - (eq? (vector-ref #{x 1271}# 0) 'ribcage) - #f) - #f)) - (begin - (#{global-extend 372}# - 'local-syntax - 'letrec-syntax - #t) - (#{global-extend 372}# - 'local-syntax - 'let-syntax - #f) - (#{global-extend 372}# - 'core - 'fluid-let-syntax - (lambda (#{e 2858}# - #{r 2859}# - #{w 2860}# - #{s 2861}# - #{mod 2862}#) - (let ((#{tmp 2868}# #{e 2858}#)) - (let ((#{tmp 2869}# - ($sc-dispatch - #{tmp 2868}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 2869}# - (@apply - (lambda (#{var 2874}# - #{val 2875}# - #{e1 2876}# - #{e2 2877}#) - (#{valid-bound-ids? 436}# #{var 2874}#)) - #{tmp 2869}#) - #f) - (@apply - (lambda (#{var 2883}# - #{val 2884}# - #{e1 2885}# - #{e2 2886}#) - (begin - (let ((#{names 2888}# - (map (lambda (#{x 2889}#) - (#{id-var-name 430}# - #{x 2889}# - #{w 2860}#)) - #{var 2883}#))) - (begin - (for-each - (lambda (#{id 2892}# #{n 2893}#) - (begin - (let ((#{atom-key 2898}# - (car (#{lookup 370}# - #{n 2893}# - #{r 2859}# - #{mod 2862}#)))) - (if (eqv? #{atom-key 2898}# - 'displaced-lexical) - (syntax-violation - 'fluid-let-syntax - "identifier out of context" - #{e 2858}# - (#{source-wrap 444}# - #{id 2892}# - #{w 2860}# - #{s 2861}# - #{mod 2862}#)))))) - #{var 2883}# - #{names 2888}#) - (#{chi-body 464}# - (cons #{e1 2885}# #{e2 2886}#) - (#{source-wrap 444}# - #{e 2858}# - #{w 2860}# - #{s 2861}# - #{mod 2862}#) - (#{extend-env 364}# - #{names 2888}# - (begin - (let ((#{trans-r 2904}# - (#{macros-only-env 368}# - #{r 2859}#))) - (map (lambda (#{x 2905}#) - (cons 'macro - (#{eval-local-transformer 468}# - (#{chi 456}# - #{x 2905}# - #{trans-r 2904}# - #{w 2860}# - #{mod 2862}#) - #{mod 2862}#))) - #{val 2884}#))) - #{r 2859}#) - #{w 2860}# - #{mod 2862}#))))) - #{tmp 2869}#) - (let ((#{_ 2910}# #{tmp 2868}#)) - (syntax-violation - 'fluid-let-syntax - "bad syntax" - (#{source-wrap 444}# - #{e 2858}# - #{w 2860}# - #{s 2861}# - #{mod 2862}#)))))))) - (#{global-extend 372}# - 'core - 'quote - (lambda (#{e 2911}# - #{r 2912}# - #{w 2913}# - #{s 2914}# - #{mod 2915}#) - (let ((#{tmp 2921}# #{e 2911}#)) - (let ((#{tmp 2922}# - ($sc-dispatch #{tmp 2921}# '(_ any)))) - (if #{tmp 2922}# - (@apply - (lambda (#{e 2924}#) - (#{build-data 328}# - #{s 2914}# - (#{strip 482}# #{e 2924}# #{w 2913}#))) - #{tmp 2922}#) - (let ((#{_ 2926}# #{tmp 2921}#)) - (syntax-violation - 'quote - "bad syntax" - (#{source-wrap 444}# - #{e 2911}# - #{w 2913}# - #{s 2914}# - #{mod 2915}#)))))))) - (#{global-extend 372}# - 'core - 'syntax - (letrec* - ((#{gen-syntax 2928}# - (lambda (#{src 2943}# - #{e 2944}# - #{r 2945}# - #{maps 2946}# - #{ellipsis? 2947}# - #{mod 2948}#) - (if (#{id? 376}# #{e 2944}#) - (begin - (let ((#{label 2956}# - (#{id-var-name 430}# #{e 2944}# '(())))) - (begin - (let ((#{b 2959}# - (#{lookup 370}# - #{label 2956}# - #{r 2945}# - #{mod 2948}#))) - (if (eq? (car #{b 2959}#) 'syntax) - (call-with-values - (lambda () - (begin - (let ((#{var.lev 2962}# (cdr #{b 2959}#))) - (#{gen-ref 2930}# - #{src 2943}# - (car #{var.lev 2962}#) - (cdr #{var.lev 2962}#) - #{maps 2946}#)))) - (lambda (#{var 2964}# #{maps 2965}#) - (values - (list 'ref #{var 2964}#) - #{maps 2965}#))) - (if (#{ellipsis? 2947}# #{e 2944}#) - (syntax-violation - 'syntax - "misplaced ellipsis" - #{src 2943}#) - (values - (list 'quote #{e 2944}#) - #{maps 2946}#))))))) - (let ((#{tmp 2970}# #{e 2944}#)) - (let ((#{tmp 2971}# - ($sc-dispatch #{tmp 2970}# '(any any)))) - (if (if #{tmp 2971}# - (@apply - (lambda (#{dots 2974}# #{e 2975}#) - (#{ellipsis? 2947}# #{dots 2974}#)) - #{tmp 2971}#) - #f) - (@apply - (lambda (#{dots 2978}# #{e 2979}#) - (#{gen-syntax 2928}# - #{src 2943}# - #{e 2979}# - #{r 2945}# - #{maps 2946}# - (lambda (#{x 2980}#) #f) - #{mod 2948}#)) - #{tmp 2971}#) - (let ((#{tmp 2982}# - ($sc-dispatch - #{tmp 2970}# - '(any any . any)))) - (if (if #{tmp 2982}# - (@apply - (lambda (#{x 2986}# - #{dots 2987}# - #{y 2988}#) - (#{ellipsis? 2947}# #{dots 2987}#)) - #{tmp 2982}#) - #f) - (@apply - (lambda (#{x 2992}# #{dots 2993}# #{y 2994}#) - (letrec* - ((#{f 2998}# - (lambda (#{y 2999}# #{k 3000}#) - (let ((#{tmp 3007}# #{y 2999}#)) - (let ((#{tmp 3008}# - ($sc-dispatch - #{tmp 3007}# - '(any . any)))) - (if (if #{tmp 3008}# - (@apply - (lambda (#{dots 3011}# - #{y 3012}#) - (#{ellipsis? 2947}# - #{dots 3011}#)) - #{tmp 3008}#) - #f) - (@apply - (lambda (#{dots 3015}# - #{y 3016}#) - (#{f 2998}# - #{y 3016}# - (lambda (#{maps 3017}#) - (call-with-values - (lambda () - (#{k 3000}# - (cons '() - #{maps 3017}#))) - (lambda (#{x 3019}# - #{maps 3020}#) - (if (null? (car #{maps 3020}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src 2943}#) - (values - (#{gen-mappend 2932}# - #{x 3019}# - (car #{maps 3020}#)) - (cdr #{maps 3020}#)))))))) - #{tmp 3008}#) - (let ((#{_ 3024}# - #{tmp 3007}#)) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{src 2943}# - #{y 2999}# - #{r 2945}# - #{maps 2946}# - #{ellipsis? 2947}# - #{mod 2948}#)) - (lambda (#{y 3025}# - #{maps 3026}#) - (call-with-values - (lambda () - (#{k 3000}# - #{maps 3026}#)) - (lambda (#{x 3029}# - #{maps 3030}#) - (values - (#{gen-append 2938}# - #{x 3029}# - #{y 3025}#) - #{maps 3030}#)))))))))))) - (begin - (#{f 2998}# - #{y 2994}# - (lambda (#{maps 3001}#) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{src 2943}# - #{x 2992}# - #{r 2945}# - (cons '() #{maps 3001}#) - #{ellipsis? 2947}# - #{mod 2948}#)) - (lambda (#{x 3003}# #{maps 3004}#) - (if (null? (car #{maps 3004}#)) - (syntax-violation - 'syntax - "extra ellipsis" - #{src 2943}#) - (values - (#{gen-map 2934}# - #{x 3003}# - (car #{maps 3004}#)) - (cdr #{maps 3004}#)))))))))) - #{tmp 2982}#) - (let ((#{tmp 3033}# - ($sc-dispatch - #{tmp 2970}# - '(any . any)))) - (if #{tmp 3033}# - (@apply - (lambda (#{x 3036}# #{y 3037}#) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{src 2943}# - #{x 3036}# - #{r 2945}# - #{maps 2946}# - #{ellipsis? 2947}# - #{mod 2948}#)) - (lambda (#{x 3038}# #{maps 3039}#) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{src 2943}# - #{y 3037}# - #{r 2945}# - #{maps 3039}# - #{ellipsis? 2947}# - #{mod 2948}#)) - (lambda (#{y 3042}# #{maps 3043}#) - (values - (#{gen-cons 2936}# - #{x 3038}# - #{y 3042}#) - #{maps 3043}#)))))) - #{tmp 3033}#) - (let ((#{tmp 3046}# - ($sc-dispatch - #{tmp 2970}# - '#(vector (any . each-any))))) - (if #{tmp 3046}# - (@apply - (lambda (#{e1 3049}# #{e2 3050}#) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{src 2943}# - (cons #{e1 3049}# #{e2 3050}#) - #{r 2945}# - #{maps 2946}# - #{ellipsis? 2947}# - #{mod 2948}#)) - (lambda (#{e 3052}# #{maps 3053}#) - (values - (#{gen-vector 2940}# - #{e 3052}#) - #{maps 3053}#)))) - #{tmp 3046}#) - (let ((#{_ 3057}# #{tmp 2970}#)) - (values - (list 'quote #{e 2944}#) - #{maps 2946}#)))))))))))))) - (#{gen-ref 2930}# - (lambda (#{src 3059}# - #{var 3060}# - #{level 3061}# - #{maps 3062}#) - (if (= #{level 3061}# 0) - (values #{var 3060}# #{maps 3062}#) - (if (null? #{maps 3062}#) - (syntax-violation - 'syntax - "missing ellipsis" - #{src 3059}#) + (let ((#{marks 1429}# + (#{join-marks 389}# + (car #{w 1335}#) + (car #{w1 1427}#)))) (call-with-values (lambda () - (#{gen-ref 2930}# - #{src 3059}# - #{var 3060}# - (#{1-}# #{level 3061}#) - (cdr #{maps 3062}#))) - (lambda (#{outer-var 3069}# #{outer-maps 3070}#) + (#{search 1340}# + #{id 1426}# + (cdr #{w 1335}#) + #{marks 1429}#)) + (lambda (#{new-id 1433}# #{marks 1434}#) (begin - (let ((#{b 3074}# - (assq #{outer-var 3069}# - (car #{maps 3062}#)))) - (if #{b 3074}# - (values (cdr #{b 3074}#) #{maps 3062}#) + (let ((#{t 1439}# #{new-id 1433}#)) + (if #{t 1439}# + #{t 1439}# (begin - (let ((#{inner-var 3076}# - (#{gen-var 484}# 'tmp))) - (values - #{inner-var 3076}# - (cons (cons (cons #{outer-var 3069}# - #{inner-var 3076}#) - (car #{maps 3062}#)) - #{outer-maps 3070}#))))))))))))) - (#{gen-mappend 2932}# - (lambda (#{e 3077}# #{map-env 3078}#) - (list 'apply - '(primitive append) - (#{gen-map 2934}# #{e 3077}# #{map-env 3078}#)))) - (#{gen-map 2934}# - (lambda (#{e 3082}# #{map-env 3083}#) - (begin - (let ((#{formals 3088}# (map cdr #{map-env 3083}#)) - (#{actuals 3089}# - (map (lambda (#{x 3090}#) - (list 'ref (car #{x 3090}#))) - #{map-env 3083}#))) - (if (eq? (car #{e 3082}#) 'ref) - (car #{actuals 3089}#) - (if (and-map - (lambda (#{x 3097}#) - (if (eq? (car #{x 3097}#) 'ref) - (memq (car (cdr #{x 3097}#)) - #{formals 3088}#) - #f)) - (cdr #{e 3082}#)) - (cons 'map - (cons (list 'primitive (car #{e 3082}#)) - (map (begin - (let ((#{r 3103}# - (map cons - #{formals 3088}# - #{actuals 3089}#))) - (lambda (#{x 3104}#) - (cdr (assq (car (cdr #{x 3104}#)) - #{r 3103}#))))) - (cdr #{e 3082}#)))) - (cons 'map - (cons (list 'lambda - #{formals 3088}# - #{e 3082}#) - #{actuals 3089}#)))))))) - (#{gen-cons 2936}# - (lambda (#{x 3108}# #{y 3109}#) - (begin - (let ((#{atom-key 3114}# (car #{y 3109}#))) - (if (eqv? #{atom-key 3114}# 'quote) - (if (eq? (car #{x 3108}#) 'quote) - (list 'quote - (cons (car (cdr #{x 3108}#)) - (car (cdr #{y 3109}#)))) - (if (eq? (car (cdr #{y 3109}#)) '()) - (list 'list #{x 3108}#) - (list 'cons #{x 3108}# #{y 3109}#))) - (if (eqv? #{atom-key 3114}# 'list) - (cons 'list (cons #{x 3108}# (cdr #{y 3109}#))) - (list 'cons #{x 3108}# #{y 3109}#))))))) - (#{gen-append 2938}# - (lambda (#{x 3123}# #{y 3124}#) - (if (equal? #{y 3124}# ''()) - #{x 3123}# - (list 'append #{x 3123}# #{y 3124}#)))) - (#{gen-vector 2940}# - (lambda (#{x 3128}#) - (if (eq? (car #{x 3128}#) 'list) - (cons 'vector (cdr #{x 3128}#)) - (if (eq? (car #{x 3128}#) 'quote) - (list 'quote - (list->vector (car (cdr #{x 3128}#)))) - (list 'list->vector #{x 3128}#))))) - (#{regen 2942}# - (lambda (#{x 3138}#) - (begin - (let ((#{atom-key 3142}# (car #{x 3138}#))) - (if (eqv? #{atom-key 3142}# 'ref) - (#{build-lexical-reference 308}# - 'value - #f - (car (cdr #{x 3138}#)) - (car (cdr #{x 3138}#))) - (if (eqv? #{atom-key 3142}# 'primitive) - (#{build-primref 326}# #f (car (cdr #{x 3138}#))) - (if (eqv? #{atom-key 3142}# 'quote) - (#{build-data 328}# #f (car (cdr #{x 3138}#))) - (if (eqv? #{atom-key 3142}# 'lambda) - (if (list? (car (cdr #{x 3138}#))) - (#{build-simple-lambda 320}# - #f - (car (cdr #{x 3138}#)) - #f - (car (cdr #{x 3138}#)) - '() - (#{regen 2942}# - (car (cdr (cdr #{x 3138}#))))) - (error "how did we get here" #{x 3138}#)) - (#{build-application 302}# - #f - (#{build-primref 326}# #f (car #{x 3138}#)) - (map #{regen 2942}# - (cdr #{x 3138}#)))))))))))) - (begin - (lambda (#{e 3154}# - #{r 3155}# - #{w 3156}# - #{s 3157}# - #{mod 3158}#) + (let ((#{t 1442}# + (#{search 1340}# + #{id 1426}# + (cdr #{w1 1427}#) + #{marks 1434}#))) + (if #{t 1442}# + #{t 1442}# + #{id 1426}#)))))))))))) + (syntax-violation + 'id-var-name + "invalid id" + #{id 1334}#))))))) + (#{free-id=? 395}# + (lambda (#{i 1447}# #{j 1448}#) + (if (eq? (begin + (let ((#{x 1454}# #{i 1447}#)) + (if (#{syntax-object? 305}# #{x 1454}#) + (#{syntax-object-expression 307}# #{x 1454}#) + #{x 1454}#))) + (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}# '(()))) + #f))) + (#{bound-id=? 397}# + (lambda (#{i 1461}# #{j 1462}#) + (if (if (#{syntax-object? 305}# #{i 1461}#) + (#{syntax-object? 305}# #{j 1462}#) + #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}#))) + #f) + (eq? #{i 1461}# #{j 1462}#)))) + (#{valid-bound-ids? 399}# + (lambda (#{ids 1471}#) + (if (letrec* + ((#{all-ids? 1476}# + (lambda (#{ids 1477}#) (begin - (let ((#{e 3165}# - (#{source-wrap 444}# - #{e 3154}# - #{w 3156}# - #{s 3157}# - #{mod 3158}#))) - (let ((#{tmp 3166}# #{e 3165}#)) - (let ((#{tmp 3167}# - ($sc-dispatch #{tmp 3166}# '(_ any)))) - (if #{tmp 3167}# - (@apply - (lambda (#{x 3169}#) - (call-with-values - (lambda () - (#{gen-syntax 2928}# - #{e 3165}# - #{x 3169}# - #{r 3155}# - '() - #{ellipsis? 472}# - #{mod 3158}#)) - (lambda (#{e 3170}# #{maps 3171}#) - (#{regen 2942}# #{e 3170}#)))) - #{tmp 3167}#) - (let ((#{_ 3175}# #{tmp 3166}#)) - (syntax-violation - 'syntax - "bad `syntax' form" - #{e 3165}#))))))))))) - (#{global-extend 372}# - 'core - 'lambda - (lambda (#{e 3176}# - #{r 3177}# - #{w 3178}# - #{s 3179}# - #{mod 3180}#) - (let ((#{tmp 3186}# #{e 3176}#)) - (let ((#{tmp 3187}# - ($sc-dispatch - #{tmp 3186}# - '(_ any any . each-any)))) - (if #{tmp 3187}# - (@apply - (lambda (#{args 3191}# #{e1 3192}# #{e2 3193}#) - (call-with-values - (lambda () - (#{lambda-formals 474}# #{args 3191}#)) - (lambda (#{req 3194}# - #{opt 3195}# - #{rest 3196}# - #{kw 3197}#) - (letrec* - ((#{lp 3205}# - (lambda (#{body 3206}# #{meta 3207}#) - (let ((#{tmp 3209}# #{body 3206}#)) - (let ((#{tmp 3210}# - ($sc-dispatch - #{tmp 3209}# - '(any any . each-any)))) - (if (if #{tmp 3210}# - (@apply - (lambda (#{docstring 3214}# - #{e1 3215}# - #{e2 3216}#) - (string? - (syntax->datum - #{docstring 3214}#))) - #{tmp 3210}#) - #f) - (@apply - (lambda (#{docstring 3220}# - #{e1 3221}# - #{e2 3222}#) - (#{lp 3205}# - (cons #{e1 3221}# #{e2 3222}#) - (append - #{meta 3207}# - (list (cons 'documentation - (syntax->datum - #{docstring 3220}#)))))) - #{tmp 3210}#) - (let ((#{tmp 3225}# - ($sc-dispatch - #{tmp 3209}# - '(#(vector - #(each (any . any))) - any - . - each-any)))) - (if #{tmp 3225}# - (@apply - (lambda (#{k 3230}# - #{v 3231}# - #{e1 3232}# - #{e2 3233}#) - (#{lp 3205}# - (cons #{e1 3232}# - #{e2 3233}#) - (append - #{meta 3207}# - (syntax->datum - (map cons - #{k 3230}# - #{v 3231}#))))) - #{tmp 3225}#) - (let ((#{_ 3238}# #{tmp 3209}#)) - (#{chi-simple-lambda 476}# - #{e 3176}# - #{r 3177}# - #{w 3178}# - #{s 3179}# - #{mod 3180}# - #{req 3194}# - #{rest 3196}# - #{meta 3207}# - #{body 3206}#)))))))))) - (begin - (#{lp 3205}# - (cons #{e1 3192}# #{e2 3193}#) - '())))))) - #{tmp 3187}#) - (let ((#{_ 3240}# #{tmp 3186}#)) - (syntax-violation - 'lambda - "bad lambda" - #{e 3176}#))))))) - (#{global-extend 372}# - 'core - 'lambda* - (lambda (#{e 3241}# - #{r 3242}# - #{w 3243}# - #{s 3244}# - #{mod 3245}#) - (let ((#{tmp 3251}# #{e 3241}#)) - (let ((#{tmp 3252}# - ($sc-dispatch - #{tmp 3251}# - '(_ any any . each-any)))) - (if #{tmp 3252}# - (@apply - (lambda (#{args 3256}# #{e1 3257}# #{e2 3258}#) - (call-with-values - (lambda () - (#{chi-lambda-case 480}# - #{e 3241}# - #{r 3242}# - #{w 3243}# - #{s 3244}# - #{mod 3245}# - #{lambda*-formals 478}# - (list (cons #{args 3256}# - (cons #{e1 3257}# #{e2 3258}#))))) - (lambda (#{meta 3260}# #{lcase 3261}#) - (#{build-case-lambda 322}# - #{s 3244}# - #{meta 3260}# - #{lcase 3261}#)))) - #{tmp 3252}#) - (let ((#{_ 3265}# #{tmp 3251}#)) - (syntax-violation - 'lambda - "bad lambda*" - #{e 3241}#))))))) - (#{global-extend 372}# - 'core - 'case-lambda - (lambda (#{e 3266}# - #{r 3267}# - #{w 3268}# - #{s 3269}# - #{mod 3270}#) - (let ((#{tmp 3276}# #{e 3266}#)) - (let ((#{tmp 3277}# - ($sc-dispatch - #{tmp 3276}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 3277}# - (@apply - (lambda (#{args 3284}# - #{e1 3285}# - #{e2 3286}# - #{args* 3287}# - #{e1* 3288}# - #{e2* 3289}#) - (call-with-values - (lambda () - (#{chi-lambda-case 480}# - #{e 3266}# - #{r 3267}# - #{w 3268}# - #{s 3269}# - #{mod 3270}# - #{lambda-formals 474}# - (cons (cons #{args 3284}# - (cons #{e1 3285}# #{e2 3286}#)) - (map (lambda (#{tmp 3293}# - #{tmp 3292}# - #{tmp 3291}#) - (cons #{tmp 3291}# - (cons #{tmp 3292}# - #{tmp 3293}#))) - #{e2* 3289}# - #{e1* 3288}# - #{args* 3287}#)))) - (lambda (#{meta 3295}# #{lcase 3296}#) - (#{build-case-lambda 322}# - #{s 3269}# - #{meta 3295}# - #{lcase 3296}#)))) - #{tmp 3277}#) - (let ((#{_ 3300}# #{tmp 3276}#)) - (syntax-violation - 'case-lambda - "bad case-lambda" - #{e 3266}#))))))) - (#{global-extend 372}# - 'core - 'case-lambda* - (lambda (#{e 3301}# - #{r 3302}# - #{w 3303}# - #{s 3304}# - #{mod 3305}#) - (let ((#{tmp 3311}# #{e 3301}#)) - (let ((#{tmp 3312}# - ($sc-dispatch - #{tmp 3311}# - '(_ (any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp 3312}# - (@apply - (lambda (#{args 3319}# - #{e1 3320}# - #{e2 3321}# - #{args* 3322}# - #{e1* 3323}# - #{e2* 3324}#) - (call-with-values - (lambda () - (#{chi-lambda-case 480}# - #{e 3301}# - #{r 3302}# - #{w 3303}# - #{s 3304}# - #{mod 3305}# - #{lambda*-formals 478}# - (cons (cons #{args 3319}# - (cons #{e1 3320}# #{e2 3321}#)) - (map (lambda (#{tmp 3328}# - #{tmp 3327}# - #{tmp 3326}#) - (cons #{tmp 3326}# - (cons #{tmp 3327}# - #{tmp 3328}#))) - #{e2* 3324}# - #{e1* 3323}# - #{args* 3322}#)))) - (lambda (#{meta 3330}# #{lcase 3331}#) - (#{build-case-lambda 322}# - #{s 3304}# - #{meta 3330}# - #{lcase 3331}#)))) - #{tmp 3312}#) - (let ((#{_ 3335}# #{tmp 3311}#)) - (syntax-violation - 'case-lambda - "bad case-lambda*" - #{e 3301}#))))))) - (#{global-extend 372}# - 'core - 'let - (letrec* - ((#{chi-let 3337}# - (lambda (#{e 3338}# - #{r 3339}# - #{w 3340}# - #{s 3341}# - #{mod 3342}# - #{constructor 3343}# - #{ids 3344}# - #{vals 3345}# - #{exps 3346}#) - (if (not (#{valid-bound-ids? 436}# #{ids 3344}#)) - (syntax-violation - 'let - "duplicate bound variable" - #{e 3338}#) - (begin - (let ((#{labels 3358}# - (#{gen-labels 391}# #{ids 3344}#)) - (#{new-vars 3359}# - (map #{gen-var 484}# #{ids 3344}#))) - (begin - (let ((#{nw 3362}# - (#{make-binding-wrap 420}# - #{ids 3344}# - #{labels 3358}# - #{w 3340}#)) - (#{nr 3363}# - (#{extend-var-env 366}# - #{labels 3358}# - #{new-vars 3359}# - #{r 3339}#))) - (#{constructor 3343}# - #{s 3341}# - (map syntax->datum #{ids 3344}#) - #{new-vars 3359}# - (map (lambda (#{x 3364}#) - (#{chi 456}# - #{x 3364}# - #{r 3339}# - #{w 3340}# - #{mod 3342}#)) - #{vals 3345}#) - (#{chi-body 464}# - #{exps 3346}# - (#{source-wrap 444}# - #{e 3338}# - #{nw 3362}# - #{s 3341}# - #{mod 3342}#) - #{nr 3363}# - #{nw 3362}# - #{mod 3342}#)))))))))) + (let ((#{t 1480}# (null? #{ids 1477}#))) + (if #{t 1480}# + #{t 1480}# + (if (#{id? 339}# (car #{ids 1477}#)) + (#{all-ids? 1476}# (cdr #{ids 1477}#)) + #f))))))) + (begin (#{all-ids? 1476}# #{ids 1471}#))) + (#{distinct-bound-ids? 401}# #{ids 1471}#) + #f))) + (#{distinct-bound-ids? 401}# + (lambda (#{ids 1485}#) + (letrec* + ((#{distinct? 1489}# + (lambda (#{ids 1490}#) (begin - (lambda (#{e 3366}# - #{r 3367}# - #{w 3368}# - #{s 3369}# - #{mod 3370}#) - (let ((#{tmp 3376}# #{e 3366}#)) - (let ((#{tmp 3377}# - ($sc-dispatch - #{tmp 3376}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3377}# - (@apply - (lambda (#{id 3382}# - #{val 3383}# - #{e1 3384}# - #{e2 3385}#) - (and-map #{id? 376}# #{id 3382}#)) - #{tmp 3377}#) - #f) - (@apply - (lambda (#{id 3391}# - #{val 3392}# - #{e1 3393}# - #{e2 3394}#) - (#{chi-let 3337}# - #{e 3366}# - #{r 3367}# - #{w 3368}# - #{s 3369}# - #{mod 3370}# - #{build-let 332}# - #{id 3391}# - #{val 3392}# - (cons #{e1 3393}# #{e2 3394}#))) - #{tmp 3377}#) - (let ((#{tmp 3398}# - ($sc-dispatch - #{tmp 3376}# - '(_ any #(each (any any)) any . each-any)))) - (if (if #{tmp 3398}# - (@apply - (lambda (#{f 3404}# - #{id 3405}# - #{val 3406}# - #{e1 3407}# - #{e2 3408}#) - (if (#{id? 376}# #{f 3404}#) - (and-map #{id? 376}# #{id 3405}#) - #f)) - #{tmp 3398}#) - #f) - (@apply - (lambda (#{f 3417}# - #{id 3418}# - #{val 3419}# - #{e1 3420}# - #{e2 3421}#) - (#{chi-let 3337}# - #{e 3366}# - #{r 3367}# - #{w 3368}# - #{s 3369}# - #{mod 3370}# - #{build-named-let 334}# - (cons #{f 3417}# #{id 3418}#) - #{val 3419}# - (cons #{e1 3420}# #{e2 3421}#))) - #{tmp 3398}#) - (let ((#{_ 3426}# #{tmp 3376}#)) - (syntax-violation - 'let - "bad let" - (#{source-wrap 444}# - #{e 3366}# - #{w 3368}# - #{s 3369}# - #{mod 3370}#)))))))))))) - (#{global-extend 372}# - 'core - 'letrec - (lambda (#{e 3427}# - #{r 3428}# - #{w 3429}# - #{s 3430}# - #{mod 3431}#) - (let ((#{tmp 3437}# #{e 3427}#)) - (let ((#{tmp 3438}# - ($sc-dispatch - #{tmp 3437}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3438}# - (@apply - (lambda (#{id 3443}# - #{val 3444}# - #{e1 3445}# - #{e2 3446}#) - (and-map #{id? 376}# #{id 3443}#)) - #{tmp 3438}#) - #f) - (@apply - (lambda (#{id 3452}# - #{val 3453}# - #{e1 3454}# - #{e2 3455}#) + (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}#)) + #f))))))) + (begin (#{distinct? 1489}# #{ids 1485}#))))) + (#{bound-id-member? 403}# + (lambda (#{x 1497}# #{list 1498}#) + (if (not (null? #{list 1498}#)) + (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}#))))) + #f))) + (#{wrap 405}# + (lambda (#{x 1507}# #{w 1508}# #{defmod 1509}#) + (if (if (null? (car #{w 1508}#)) + (null? (cdr #{w 1508}#)) + #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}# + (letrec* + ((#{dobody 1547}# + (lambda (#{body 1548}# + #{r 1549}# + #{w 1550}# + #{mod 1551}#) + (if (null? #{body 1548}#) + '() + (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}#)))))))) + (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}#) + (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}# + (call-with-values + (lambda () + (call-with-values + (lambda () (begin - (let ((#{ids 3457}# #{id 3452}#)) - (if (not (#{valid-bound-ids? 436}# #{ids 3457}#)) - (syntax-violation - 'letrec - "duplicate bound variable" - #{e 3427}#) + (let ((#{e 1590}# (car #{body 1570}#))) + (#{syntax-type 417}# + #{e 1590}# + #{r 1571}# + #{w 1572}# (begin - (let ((#{labels 3461}# - (#{gen-labels 391}# #{ids 3457}#)) - (#{new-vars 3462}# - (map #{gen-var 484}# #{ids 3457}#))) - (begin - (let ((#{w 3465}# - (#{make-binding-wrap 420}# - #{ids 3457}# - #{labels 3461}# - #{w 3429}#)) - (#{r 3466}# - (#{extend-var-env 366}# - #{labels 3461}# - #{new-vars 3462}# - #{r 3428}#))) - (#{build-letrec 336}# - #{s 3430}# - #f - (map syntax->datum #{ids 3457}#) - #{new-vars 3462}# - (map (lambda (#{x 3467}#) - (#{chi 456}# - #{x 3467}# - #{r 3466}# - #{w 3465}# - #{mod 3431}#)) - #{val 3453}#) - (#{chi-body 464}# - (cons #{e1 3454}# #{e2 3455}#) - (#{source-wrap 444}# - #{e 3427}# - #{w 3465}# - #{s 3430}# - #{mod 3431}#) - #{r 3466}# - #{w 3465}# - #{mod 3431}#)))))))))) - #{tmp 3438}#) - (let ((#{_ 3472}# #{tmp 3437}#)) - (syntax-violation - 'letrec - "bad letrec" - (#{source-wrap 444}# - #{e 3427}# - #{w 3429}# - #{s 3430}# - #{mod 3431}#)))))))) - (#{global-extend 372}# - 'core - 'letrec* - (lambda (#{e 3473}# - #{r 3474}# - #{w 3475}# - #{s 3476}# - #{mod 3477}#) - (let ((#{tmp 3483}# #{e 3473}#)) - (let ((#{tmp 3484}# - ($sc-dispatch - #{tmp 3483}# - '(_ #(each (any any)) any . each-any)))) - (if (if #{tmp 3484}# - (@apply - (lambda (#{id 3489}# - #{val 3490}# - #{e1 3491}# - #{e2 3492}#) - (and-map #{id? 376}# #{id 3489}#)) - #{tmp 3484}#) - #f) - (@apply - (lambda (#{id 3498}# - #{val 3499}# - #{e1 3500}# - #{e2 3501}#) - (begin - (let ((#{ids 3503}# #{id 3498}#)) - (if (not (#{valid-bound-ids? 436}# #{ids 3503}#)) - (syntax-violation - 'letrec* - "duplicate bound variable" - #{e 3473}#) - (begin - (let ((#{labels 3507}# - (#{gen-labels 391}# #{ids 3503}#)) - (#{new-vars 3508}# - (map #{gen-var 484}# #{ids 3503}#))) - (begin - (let ((#{w 3511}# - (#{make-binding-wrap 420}# - #{ids 3503}# - #{labels 3507}# - #{w 3475}#)) - (#{r 3512}# - (#{extend-var-env 366}# - #{labels 3507}# - #{new-vars 3508}# - #{r 3474}#))) - (#{build-letrec 336}# - #{s 3476}# - #t - (map syntax->datum #{ids 3503}#) - #{new-vars 3508}# - (map (lambda (#{x 3513}#) - (#{chi 456}# - #{x 3513}# - #{r 3512}# - #{w 3511}# - #{mod 3477}#)) - #{val 3499}#) - (#{chi-body 464}# - (cons #{e1 3500}# #{e2 3501}#) - (#{source-wrap 444}# - #{e 3473}# - #{w 3511}# - #{s 3476}# - #{mod 3477}#) - #{r 3512}# - #{w 3511}# - #{mod 3477}#)))))))))) - #{tmp 3484}#) - (let ((#{_ 3518}# #{tmp 3483}#)) - (syntax-violation - 'letrec* - "bad letrec*" - (#{source-wrap 444}# - #{e 3473}# - #{w 3475}# - #{s 3476}# - #{mod 3477}#)))))))) - (#{global-extend 372}# - 'core - 'set! - (lambda (#{e 3519}# - #{r 3520}# - #{w 3521}# - #{s 3522}# - #{mod 3523}#) - (let ((#{tmp 3529}# #{e 3519}#)) - (let ((#{tmp 3530}# - ($sc-dispatch #{tmp 3529}# '(_ any any)))) - (if (if #{tmp 3530}# - (@apply - (lambda (#{id 3533}# #{val 3534}#) - (#{id? 376}# #{id 3533}#)) - #{tmp 3530}#) - #f) - (@apply - (lambda (#{id 3537}# #{val 3538}#) - (begin - (let ((#{n 3541}# - (#{id-var-name 430}# #{id 3537}# #{w 3521}#)) - (#{id-mod 3542}# - (if (#{syntax-object? 342}# #{id 3537}#) - (#{syntax-object-module 348}# #{id 3537}#) - #{mod 3523}#))) - (begin - (let ((#{b 3544}# - (#{lookup 370}# - #{n 3541}# - #{r 3520}# - #{id-mod 3542}#))) + (let ((#{t 1593}# + (#{source-annotation 320}# + #{e 1590}#))) + (if #{t 1593}# #{t 1593}# #{s 1573}#))) + #f + #{mod 1576}# + #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}# + ($sc-dispatch + #{tmp 1608}# + '(_ any . each-any)))) + (if #{tmp 1610}# + (@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}#) + (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}# + ($sc-dispatch + #{tmp 1628}# + '(_ each-any any . each-any)))) + (if #{tmp 1629}# + (@apply + (lambda (#{x 1633}# + #{e1 1634}# + #{e2 1635}#) + (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) + (if (memq 'eval + #{when-list 1638}#) + (#{scan 1569}# + #{body 1639}# + #{r 1571}# + #{w 1598}# + #{s 1599}# + (if (memq 'expand + #{when-list 1638}#) + 'c&e + 'e) + '(eval) + #{mod 1600}# + #{exps 1577}#) + (begin + (if (memq 'expand + #{when-list 1638}#) + (#{top-level-eval-hook 250}# + (#{chi-top-sequence 411}# + #{body 1639}# + #{r 1571}# + #{w 1598}# + #{s 1599}# + 'e + '(eval) + #{mod 1600}#) + #{mod 1600}#)) + #{exps 1577}#)) + (if (memq 'load + #{when-list 1638}#) + (if (begin + (let ((#{t 1648}# + (memq 'compile + #{when-list 1638}#))) + (if #{t 1648}# + #{t 1648}# + (begin + (let ((#{t 1651}# + (memq 'expand + #{when-list 1638}#))) + (if #{t 1651}# + #{t 1651}# + (if (eq? #{m 1574}# + 'c&e) + (memq 'eval + #{when-list 1638}#) + #f))))))) + (#{scan 1569}# + #{body 1639}# + #{r 1571}# + #{w 1598}# + #{s 1599}# + '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}# + 'c + '(load) + #{mod 1600}# + #{exps 1577}#) + #{exps 1577}#)) + (if (begin + (let ((#{t 1659}# + (memq 'compile + #{when-list 1638}#))) + (if #{t 1659}# + #{t 1659}# + (begin + (let ((#{t 1662}# + (memq 'expand + #{when-list 1638}#))) + (if #{t 1662}# + #{t 1662}# + (if (eq? #{m 1574}# + 'c&e) + (memq 'eval + #{when-list 1638}#) + #f))))))) + (begin + (#{top-level-eval-hook 250}# + (#{chi-top-sequence 411}# + #{body 1639}# + #{r 1571}# + #{w 1598}# + #{s 1599}# + 'e + '(eval) + #{mod 1600}#) + #{mod 1600}#) + #{exps 1577}#) + #{exps 1577}#)))))) + #{tmp 1629}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1628}#)))) + (if (eqv? #{type 1595}# 'define-syntax-form) (begin - (let ((#{atom-key 3547}# (car #{b 3544}#))) - (if (eqv? #{atom-key 3547}# 'lexical) - (#{build-lexical-assignment 310}# - #{s 3522}# - (syntax->datum #{id 3537}#) - (cdr #{b 3544}#) - (#{chi 456}# - #{val 3538}# - #{r 3520}# - #{w 3521}# - #{mod 3523}#)) - (if (eqv? #{atom-key 3547}# 'global) - (#{build-global-assignment 316}# - #{s 3522}# - #{n 3541}# - (#{chi 456}# - #{val 3538}# - #{r 3520}# - #{w 3521}# - #{mod 3523}#) - #{id-mod 3542}#) - (if (eqv? #{atom-key 3547}# 'macro) - (begin - (let ((#{p 3554}# - (cdr #{b 3544}#))) - (if (procedure-property - #{p 3554}# - 'variable-transformer) - (#{chi 456}# - (#{chi-macro 462}# - #{p 3554}# - #{e 3519}# - #{r 3520}# - #{w 3521}# - #{s 3522}# - #f - #{mod 3523}#) - #{r 3520}# - '(()) - #{mod 3523}#) - (syntax-violation - 'set! - "not a variable transformer" - (#{wrap 442}# - #{e 3519}# - #{w 3521}# - #{mod 3523}#) - (#{wrap 442}# - #{id 3537}# - #{w 3521}# - #{id-mod 3542}#))))) - (if (eqv? #{atom-key 3547}# - 'displaced-lexical) - (syntax-violation - 'set! - "identifier out of context" - (#{wrap 442}# - #{id 3537}# - #{w 3521}# - #{mod 3523}#)) - (syntax-violation - 'set! - "bad set!" - (#{source-wrap 444}# - #{e 3519}# - #{w 3521}# - #{s 3522}# - #{mod 3523}#))))))))))))) - #{tmp 3530}#) - (let ((#{tmp 3559}# - ($sc-dispatch - #{tmp 3529}# - '(_ (any . each-any) any)))) - (if #{tmp 3559}# - (@apply - (lambda (#{head 3563}# #{tail 3564}# #{val 3565}#) - (call-with-values - (lambda () - (#{syntax-type 454}# - #{head 3563}# - #{r 3520}# - '(()) - #f - #f - #{mod 3523}# - #t)) - (lambda (#{type 3568}# - #{value 3569}# - #{ee 3570}# - #{ww 3571}# - #{ss 3572}# - #{modmod 3573}#) - (if (eqv? #{type 3568}# 'module-ref) + (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}#) + (begin + (let ((#{e 1674}# + (#{chi-install-global 413}# + #{n 1670}# + (#{chi 419}# + #{e 1597}# + #{r 1671}# + #{w 1598}# + #{mod 1600}#)))) + (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) + (begin + (let ((#{e 1677}# + (#{chi-install-global 413}# + #{n 1670}# + (#{chi 419}# + #{e 1597}# + #{r 1671}# + #{w 1598}# + #{mod 1600}#)))) + (begin + (#{top-level-eval-hook 250}# + #{e 1677}# + #{mod 1600}#) + (cons #{e 1677}# + #{exps 1577}#)))) + (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) (begin - (let ((#{val 3582}# - (#{chi 456}# - #{val 3565}# - #{r 3520}# - #{w 3521}# - #{mod 3523}#))) - (call-with-values - (lambda () - (#{value 3569}# - (cons #{head 3563}# #{tail 3564}#) - #{r 3520}# - #{w 3521}#)) - (lambda (#{e 3584}# - #{r 3585}# - #{w 3586}# - #{s* 3587}# - #{mod 3588}#) - (let ((#{tmp 3594}# #{e 3584}#)) - (let ((#{tmp 3595}# - (list #{tmp 3594}#))) - (if (if #{tmp 3595}# - (@apply - (lambda (#{e 3597}#) - (#{id? 376}# - #{e 3597}#)) - #{tmp 3595}#) + (let ((#{n 1682}# + (#{id-var-name 393}# + #{value 1596}# + #{w 1598}#))) + (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)))) + (begin + (if (if (if (eq? #{m 1574}# 'c) + #t + (eq? #{m 1574}# 'c&e)) + (if (not (module-local-variable + (current-module) + #{n 1682}#)) + (current-module) + #f) #f) - (@apply - (lambda (#{e 3599}#) - (#{build-global-assignment 316}# - #{s 3522}# - (syntax->datum - #{e 3599}#) - #{val 3582}# - #{mod 3588}#)) - #{tmp 3595}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 3594}#)))))))) - (#{build-application 302}# - #{s 3522}# - (#{chi 456}# - (list '#(syntax-object - setter - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(type value ee ww ss modmod) - #((top) - (top) - (top) - (top) - (top) - (top)) - #("i3574" - "i3575" - "i3576" - "i3577" - "i3578" - "i3579")) - #(ribcage - #(head tail val) - #((top) (top) (top)) - #("i3560" "i3561" "i3562")) - #(ribcage () () ()) - #(ribcage - #(e r w s mod) - #((top) - (top) - (top) - (top) - (top)) - #("i3524" - "i3525" - "i3526" - "i3527" - "i3528")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile)) - #{head 3563}#) - #{r 3520}# - #{w 3521}# - #{mod 3523}#) - (map (lambda (#{e 3601}#) - (#{chi 456}# - #{e 3601}# - #{r 3520}# - #{w 3521}# - #{mod 3523}#)) - (append - #{tail 3564}# - (list #{val 3565}#)))))))) - #{tmp 3559}#) - (let ((#{_ 3605}# #{tmp 3529}#)) - (syntax-violation - 'set! - "bad set!" - (#{source-wrap 444}# - #{e 3519}# - #{w 3521}# - #{s 3522}# - #{mod 3523}#)))))))))) - (#{global-extend 372}# - 'module-ref - '@ - (lambda (#{e 3606}# #{r 3607}# #{w 3608}#) - (let ((#{tmp 3612}# #{e 3606}#)) - (let ((#{tmp 3613}# - ($sc-dispatch #{tmp 3612}# '(_ each-any any)))) - (if (if #{tmp 3613}# - (@apply - (lambda (#{mod 3616}# #{id 3617}#) - (if (and-map #{id? 376}# #{mod 3616}#) - (#{id? 376}# #{id 3617}#) - #f)) - #{tmp 3613}#) - #f) - (@apply - (lambda (#{mod 3623}# #{id 3624}#) - (values - (syntax->datum #{id 3624}#) - #{r 3607}# - #{w 3608}# - #f - (syntax->datum - (cons '#(syntax-object - public + (begin + (let ((#{old 1691}# + (module-variable + (current-module) + #{n 1682}#))) + (if (if (variable? + #{old 1691}#) + (variable-bound? + #{old 1691}#) + #f) + (module-define! + (current-module) + #{n 1682}# + (variable-ref + #{old 1691}#)) + (module-add! + (current-module) + #{n 1682}# + (make-undefined-variable)))))) + (cons (if (eq? #{m 1574}# 'c&e) + (begin + (let ((#{x 1695}# + (#{build-global-definition 281}# + #{s 1599}# + #{n 1682}# + (#{chi 419}# + #{e 1597}# + #{r 1571}# + #{w 1598}# + #{mod 1600}#)))) + (begin + (#{top-level-eval-hook 250}# + #{x 1695}# + #{mod 1600}#) + #{x 1695}#))) + (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) + (syntax-violation + #f + "identifier out of context" + #{e 1597}# + (#{wrap 405}# + #{value 1596}# + #{w 1598}# + #{mod 1600}#)) + (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) + (begin + (let ((#{x 1700}# + (#{chi-expr 421}# + #{type 1595}# + #{value 1596}# + #{e 1597}# + #{r 1571}# + #{w 1598}# + #{s 1599}# + #{mod 1600}#))) + (begin + (#{top-level-eval-hook 250}# + #{x 1700}# + #{mod 1600}#) + #{x 1700}#))) + (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}#))))))) + (begin + (call-with-values + (lambda () + (#{scan 1569}# + #{body 1554}# + #{r 1555}# + #{w 1556}# + #{s 1557}# + #{m 1558}# + #{esew 1559}# + #{mod 1560}# + '())) + (lambda (#{exps 1703}#) + (if (null? #{exps 1703}#) + (#{build-void 263}# #{s 1557}#) + (#{build-sequence 293}# + #{s 1557}# + (letrec* + ((#{lp 1708}# + (lambda (#{in 1709}# #{out 1710}#) + (if (null? #{in 1709}#) + #{out 1710}# + (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}# + #f + #{name 1713}# + (#{build-application 265}# + #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}#) + (letrec* + ((#{f 1731}# + (lambda (#{when-list 1732}# #{situations 1733}#) + (if (null? #{when-list 1732}#) + #{situations 1733}# + (#{f 1731}# + (cdr #{when-list 1732}#) + (cons (begin + (let ((#{x 1735}# (car #{when-list 1732}#))) + (if (#{free-id=? 395}# + #{x 1735}# + '#(syntax-object + compile ((top) - #(ribcage - #(mod id) - #((top) (top)) - #("i3621" "i3622")) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage - #(e r w) + #(f when-list situations) #((top) (top) (top)) - #("i3609" "i3610" "i3611")) + #("i1728" "i1729" "i1730")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var @@ -10872,835 +1790,169 @@ (top) (top) (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" "i416" - "i415" - "i413" + "i414" "i412" - "i411" "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" "i390" "i388" - "i387" "i386" - "i385" "i384" - "i383" "i382" - "i381" "i380" + "i379" "i378" - "i377" + "i376" "i375" + "i374" "i373" - "i371" - "i369" - "i367" - "i365" - "i363" + "i372" + "i370" + "i368" + "i366" + "i364" "i362" - "i361" "i360" - "i359" "i358" "i356" - "i355" "i353" "i351" + "i350" "i349" + "i348" "i347" + "i346" "i345" + "i344" "i343" "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" "i325" + "i324" "i323" + "i322" "i321" "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" "i290" "i288" "i286" - "i285" "i284" - "i283" "i282" "i280" "i278" "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" "i253" "i251" "i249" + "i248" "i247" + "i246" "i245" "i243" "i241" - "i239")) + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) #(ribcage (define-structure define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile)) - #{mod 3623}#)))) - #{tmp 3613}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 3612}#)))))) - (#{global-extend 372}# - 'module-ref - '@@ - (lambda (#{e 3626}# #{r 3627}# #{w 3628}#) - (letrec* - ((#{remodulate 3633}# - (lambda (#{x 3634}# #{mod 3635}#) - (if (pair? #{x 3634}#) - (cons (#{remodulate 3633}# - (car #{x 3634}#) - #{mod 3635}#) - (#{remodulate 3633}# - (cdr #{x 3634}#) - #{mod 3635}#)) - (if (#{syntax-object? 342}# #{x 3634}#) - (#{make-syntax-object 340}# - (#{remodulate 3633}# - (#{syntax-object-expression 344}# #{x 3634}#) - #{mod 3635}#) - (#{syntax-object-wrap 346}# #{x 3634}#) - #{mod 3635}#) - (if (vector? #{x 3634}#) - (begin - (let ((#{n 3646}# (vector-length #{x 3634}#))) - (begin - (let ((#{v 3648}# (make-vector #{n 3646}#))) - (letrec* - ((#{loop 3651}# - (lambda (#{i 3652}#) - (if (= #{i 3652}# #{n 3646}#) - (begin (if #f #f) #{v 3648}#) - (begin - (vector-set! - #{v 3648}# - #{i 3652}# - (#{remodulate 3633}# - (vector-ref - #{x 3634}# - #{i 3652}#) - #{mod 3635}#)) - (#{loop 3651}# - (#{1+}# #{i 3652}#))))))) - (begin (#{loop 3651}# 0))))))) - #{x 3634}#)))))) - (begin - (let ((#{tmp 3658}# #{e 3626}#)) - (let ((#{tmp 3659}# - ($sc-dispatch #{tmp 3658}# '(_ each-any any)))) - (if (if #{tmp 3659}# - (@apply - (lambda (#{mod 3662}# #{exp 3663}#) - (and-map #{id? 376}# #{mod 3662}#)) - #{tmp 3659}#) - #f) - (@apply - (lambda (#{mod 3667}# #{exp 3668}#) - (begin - (let ((#{mod 3670}# - (syntax->datum - (cons '#(syntax-object - private - ((top) - #(ribcage - #(mod exp) - #((top) (top)) - #("i3665" "i3666")) - #(ribcage - (remodulate) - ((top)) - ("i3632")) - #(ribcage - #(e r w) - #((top) (top) (top)) - #("i3629" "i3630" "i3631")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile)) - #{mod 3667}#)))) - (values - (#{remodulate 3633}# - #{exp 3668}# - #{mod 3670}#) - #{r 3627}# - #{w 3628}# - (#{source-annotation 357}# #{exp 3668}#) - #{mod 3670}#)))) - #{tmp 3659}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 3658}#)))))))) - (#{global-extend 372}# - 'core - 'if - (lambda (#{e 3672}# - #{r 3673}# - #{w 3674}# - #{s 3675}# - #{mod 3676}#) - (let ((#{tmp 3682}# #{e 3672}#)) - (let ((#{tmp 3683}# - ($sc-dispatch #{tmp 3682}# '(_ any any)))) - (if #{tmp 3683}# - (@apply - (lambda (#{test 3686}# #{then 3687}#) - (#{build-conditional 304}# - #{s 3675}# - (#{chi 456}# - #{test 3686}# - #{r 3673}# - #{w 3674}# - #{mod 3676}#) - (#{chi 456}# - #{then 3687}# - #{r 3673}# - #{w 3674}# - #{mod 3676}#) - (#{build-void 300}# #f))) - #{tmp 3683}#) - (let ((#{tmp 3689}# - ($sc-dispatch #{tmp 3682}# '(_ any any any)))) - (if #{tmp 3689}# - (@apply - (lambda (#{test 3693}# #{then 3694}# #{else 3695}#) - (#{build-conditional 304}# - #{s 3675}# - (#{chi 456}# - #{test 3693}# - #{r 3673}# - #{w 3674}# - #{mod 3676}#) - (#{chi 456}# - #{then 3694}# - #{r 3673}# - #{w 3674}# - #{mod 3676}#) - (#{chi 456}# - #{else 3695}# - #{r 3673}# - #{w 3674}# - #{mod 3676}#))) - #{tmp 3689}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 3682}#)))))))) - (#{global-extend 372}# - 'core - 'with-fluids - (lambda (#{e 3696}# - #{r 3697}# - #{w 3698}# - #{s 3699}# - #{mod 3700}#) - (let ((#{tmp 3706}# #{e 3696}#)) - (let ((#{tmp 3707}# - ($sc-dispatch - #{tmp 3706}# - '(_ #(each (any any)) any . each-any)))) - (if #{tmp 3707}# - (@apply - (lambda (#{fluid 3712}# - #{val 3713}# - #{b 3714}# - #{b* 3715}#) - (#{build-dynlet 306}# - #{s 3699}# - (map (lambda (#{x 3716}#) - (#{chi 456}# - #{x 3716}# - #{r 3697}# - #{w 3698}# - #{mod 3700}#)) - #{fluid 3712}#) - (map (lambda (#{x 3719}#) - (#{chi 456}# - #{x 3719}# - #{r 3697}# - #{w 3698}# - #{mod 3700}#)) - #{val 3713}#) - (#{chi-body 464}# - (cons #{b 3714}# #{b* 3715}#) - (#{source-wrap 444}# - #{e 3696}# - #{w 3698}# - #{s 3699}# - #{mod 3700}#) - #{r 3697}# - #{w 3698}# - #{mod 3700}#))) - #{tmp 3707}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp 3706}#)))))) - (#{global-extend 372}# 'begin 'begin '()) - (#{global-extend 372}# 'define 'define '()) - (#{global-extend 372}# - 'define-syntax - 'define-syntax - '()) - (#{global-extend 372}# 'eval-when 'eval-when '()) - (#{global-extend 372}# - 'core - 'syntax-case - (letrec* - ((#{convert-pattern 3724}# - (lambda (#{pattern 3731}# #{keys 3732}#) - (letrec* - ((#{cvt* 3736}# - (lambda (#{p* 3739}# #{n 3740}# #{ids 3741}#) - (if (null? #{p* 3739}#) - (values '() #{ids 3741}#) - (call-with-values - (lambda () - (#{cvt* 3736}# - (cdr #{p* 3739}#) - #{n 3740}# - #{ids 3741}#)) - (lambda (#{y 3745}# #{ids 3746}#) - (call-with-values - (lambda () - (#{cvt 3738}# - (car #{p* 3739}#) - #{n 3740}# - #{ids 3746}#)) - (lambda (#{x 3749}# #{ids 3750}#) - (values - (cons #{x 3749}# #{y 3745}#) - #{ids 3750}#)))))))) - (#{cvt 3738}# - (lambda (#{p 3753}# #{n 3754}# #{ids 3755}#) - (if (#{id? 376}# #{p 3753}#) - (if (#{bound-id-member? 440}# - #{p 3753}# - #{keys 3732}#) - (values - (vector 'free-id #{p 3753}#) - #{ids 3755}#) - (if (#{free-id=? 432}# - #{p 3753}# + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + 'compile + (if (#{free-id=? 395}# + #{x 1735}# '#(syntax-object - _ + load ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1734")) #(ribcage () () ()) #(ribcage - #(p n ids) + #(f when-list situations) #((top) (top) (top)) - #("i3756" "i3757" "i3758")) + #("i1728" "i1729" "i1730")) + #(ribcage () () ()) #(ribcage - (cvt cvt*) - ((top) (top)) - ("i3737" "i3735")) - #(ribcage - #(pattern keys) - #((top) (top)) - #("i3733" "i3734")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3729" "i3727" "i3725" "i3723")) + #(e when-list w) + #((top) (top) (top)) + #("i1725" "i1726" "i1727")) #(ribcage (lambda-var-list gen-var @@ -11974,2427 +2226,11964 @@ (top) (top) (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" "i416" - "i415" - "i413" + "i414" "i412" - "i411" "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" "i390" "i388" - "i387" "i386" - "i385" "i384" - "i383" "i382" - "i381" "i380" + "i379" "i378" - "i377" + "i376" "i375" + "i374" "i373" - "i371" - "i369" - "i367" - "i365" - "i363" + "i372" + "i370" + "i368" + "i366" + "i364" "i362" - "i361" "i360" - "i359" "i358" "i356" - "i355" "i353" "i351" + "i350" "i349" + "i348" "i347" + "i346" "i345" + "i344" "i343" "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" "i325" + "i324" "i323" + "i322" "i321" "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" "i290" "i288" "i286" - "i285" "i284" - "i283" "i282" "i280" "i278" "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" "i253" "i251" "i249" + "i248" "i247" + "i246" "i245" "i243" "i241" - "i239")) + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) #(ribcage (define-structure define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) (hygiene guile))) - (values '_ #{ids 3755}#) - (values - 'any - (cons (cons #{p 3753}# #{n 3754}#) - #{ids 3755}#)))) - (let ((#{tmp 3764}# #{p 3753}#)) - (let ((#{tmp 3765}# - ($sc-dispatch #{tmp 3764}# '(any any)))) - (if (if #{tmp 3765}# - (@apply - (lambda (#{x 3768}# #{dots 3769}#) - (#{ellipsis? 472}# #{dots 3769}#)) - #{tmp 3765}#) - #f) - (@apply - (lambda (#{x 3772}# #{dots 3773}#) - (call-with-values - (lambda () - (#{cvt 3738}# - #{x 3772}# - (#{1+}# #{n 3754}#) - #{ids 3755}#)) - (lambda (#{p 3775}# #{ids 3776}#) - (values - (if (eq? #{p 3775}# 'any) - 'each-any - (vector 'each #{p 3775}#)) - #{ids 3776}#)))) - #{tmp 3765}#) - (let ((#{tmp 3779}# - ($sc-dispatch - #{tmp 3764}# - '(any any . each-any)))) - (if (if #{tmp 3779}# - (@apply - (lambda (#{x 3783}# - #{dots 3784}# - #{ys 3785}#) - (#{ellipsis? 472}# - #{dots 3784}#)) - #{tmp 3779}#) - #f) - (@apply - (lambda (#{x 3789}# - #{dots 3790}# - #{ys 3791}#) - (call-with-values - (lambda () - (#{cvt* 3736}# - #{ys 3791}# - #{n 3754}# - #{ids 3755}#)) - (lambda (#{ys 3793}# #{ids 3794}#) - (call-with-values - (lambda () - (#{cvt 3738}# - #{x 3789}# - (#{1+}# #{n 3754}#) - #{ids 3794}#)) - (lambda (#{x 3797}# - #{ids 3798}#) - (values - (vector - 'each+ - #{x 3797}# - (reverse #{ys 3793}#) - '()) - #{ids 3798}#)))))) - #{tmp 3779}#) - (let ((#{tmp 3802}# - ($sc-dispatch - #{tmp 3764}# - '(any . any)))) - (if #{tmp 3802}# - (@apply - (lambda (#{x 3805}# #{y 3806}#) - (call-with-values - (lambda () - (#{cvt 3738}# - #{y 3806}# - #{n 3754}# - #{ids 3755}#)) - (lambda (#{y 3807}# - #{ids 3808}#) - (call-with-values - (lambda () - (#{cvt 3738}# - #{x 3805}# - #{n 3754}# - #{ids 3808}#)) - (lambda (#{x 3811}# - #{ids 3812}#) - (values - (cons #{x 3811}# - #{y 3807}#) - #{ids 3812}#)))))) - #{tmp 3802}#) - (let ((#{tmp 3815}# - ($sc-dispatch - #{tmp 3764}# - '()))) - (if #{tmp 3815}# - (@apply - (lambda () - (values '() #{ids 3755}#)) - #{tmp 3815}#) - (let ((#{tmp 3816}# - ($sc-dispatch - #{tmp 3764}# - '#(vector each-any)))) - (if #{tmp 3816}# - (@apply - (lambda (#{x 3818}#) - (call-with-values - (lambda () - (#{cvt 3738}# - #{x 3818}# - #{n 3754}# - #{ids 3755}#)) - (lambda (#{p 3820}# - #{ids 3821}#) - (values - (vector - 'vector - #{p 3820}#) - #{ids 3821}#)))) - #{tmp 3816}#) - (let ((#{x 3825}# - #{tmp 3764}#)) - (values - (vector - 'atom - (#{strip 482}# - #{p 3753}# - '(()))) - #{ids 3755}#))))))))))))))))) - (begin (#{cvt 3738}# #{pattern 3731}# 0 '()))))) - (#{build-dispatch-call 3726}# - (lambda (#{pvars 3827}# - #{exp 3828}# - #{y 3829}# - #{r 3830}# - #{mod 3831}#) - (begin - (map cdr #{pvars 3827}#) - (let ((#{ids 3839}# (map car #{pvars 3827}#))) - (begin - (let ((#{labels 3843}# - (#{gen-labels 391}# #{ids 3839}#)) - (#{new-vars 3844}# - (map #{gen-var 484}# #{ids 3839}#))) - (#{build-application 302}# - #f - (#{build-primref 326}# #f 'apply) - (list (#{build-simple-lambda 320}# - #f - (map syntax->datum #{ids 3839}#) - #f - #{new-vars 3844}# - '() - (#{chi 456}# - #{exp 3828}# - (#{extend-env 364}# - #{labels 3843}# - (map (lambda (#{var 3848}# - #{level 3849}#) - (cons 'syntax - (cons #{var 3848}# - #{level 3849}#))) - #{new-vars 3844}# - (map cdr #{pvars 3827}#)) - #{r 3830}#) - (#{make-binding-wrap 420}# - #{ids 3839}# - #{labels 3843}# - '(())) - #{mod 3831}#)) - #{y 3829}#)))))))) - (#{gen-clause 3728}# - (lambda (#{x 3855}# - #{keys 3856}# - #{clauses 3857}# - #{r 3858}# - #{pat 3859}# - #{fender 3860}# - #{exp 3861}# - #{mod 3862}#) - (call-with-values - (lambda () - (#{convert-pattern 3724}# - #{pat 3859}# - #{keys 3856}#)) - (lambda (#{p 3871}# #{pvars 3872}#) - (if (not (#{distinct-bound-ids? 438}# - (map car #{pvars 3872}#))) - (syntax-violation - 'syntax-case - "duplicate pattern variable" - #{pat 3859}#) - (if (not (and-map - (lambda (#{x 3879}#) - (not (#{ellipsis? 472}# - (car #{x 3879}#)))) - #{pvars 3872}#)) - (syntax-violation - 'syntax-case - "misplaced ellipsis" - #{pat 3859}#) - (begin - (let ((#{y 3883}# (#{gen-var 484}# 'tmp))) - (#{build-application 302}# - #f - (#{build-simple-lambda 320}# + 'load + (if (#{free-id=? 395}# + #{x 1735}# + '#(syntax-object + eval + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1734")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1728" "i1729" "i1730")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1725" "i1726" "i1727")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + 'eval + (if (#{free-id=? 395}# + #{x 1735}# + '#(syntax-object + expand + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1734")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1728" "i1729" "i1730")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1725" "i1726" "i1727")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + 'expand + (syntax-violation + 'eval-when + "invalid situation" + #{e 1722}# + (#{wrap 405}# + #{x 1735}# + #{w 1724}# + #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}#) + (begin + (let ((#{n 1763}# + (#{id-var-name 393}# #{e 1745}# #{w 1747}#))) + (begin + (let ((#{b 1765}# + (#{lookup 333}# + #{n 1763}# + #{r 1746}# + #{mod 1750}#))) + (begin + (let ((#{type 1767}# (car #{b 1765}#))) + (if (eqv? #{type 1767}# 'lexical) + (values + #{type 1767}# + (cdr #{b 1765}#) + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{type 1767}# 'global) + (values + #{type 1767}# + #{n 1763}# + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{type 1767}# 'macro) + (if #{for-car? 1751}# + (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}# + '(()) + #{s 1748}# + #{rib 1749}# + #{mod 1750}# + #f)) + (values + #{type 1767}# + (cdr #{b 1765}#) + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#)))))))))) + (if (pair? #{e 1745}#) + (begin + (let ((#{first 1781}# (car #{e 1745}#))) + (call-with-values + (lambda () + (#{syntax-type 417}# + #{first 1781}# + #{r 1746}# + #{w 1747}# + #{s 1748}# + #{rib 1749}# + #{mod 1750}# + #t)) + (lambda (#{ftype 1782}# + #{fval 1783}# + #{fe 1784}# + #{fw 1785}# + #{fs 1786}# + #{fmod 1787}#) + (if (eqv? #{ftype 1782}# 'lexical) + (values + 'lexical-call + #{fval 1783}# + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{ftype 1782}# '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}# + '(()) + #{s 1748}# + #{rib 1749}# + #{mod 1750}# + #{for-car? 1751}#) + (if (eqv? #{ftype 1782}# '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) + (values + 'core-form + #{fval 1783}# + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{ftype 1782}# 'local-syntax) + (values + 'local-syntax-form + #{fval 1783}# + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{ftype 1782}# 'begin) + (values + 'begin-form #f - (list 'tmp) - #f - (list #{y 3883}#) - '() - (begin - (let ((#{y 3887}# - (#{build-lexical-reference 308}# - 'value - #f - 'tmp - #{y 3883}#))) - (#{build-conditional 304}# - #f - (let ((#{tmp 3890}# #{fender 3860}#)) - (let ((#{tmp 3891}# - ($sc-dispatch - #{tmp 3890}# - '#(atom #t)))) - (if #{tmp 3891}# + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (if (eqv? #{ftype 1782}# '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}# + ($sc-dispatch + #{tmp 1814}# + '(_ any any)))) + (if (if #{tmp 1815}# (@apply - (lambda () #{y 3887}#) - #{tmp 3891}#) - (let ((#{_ 3893}# #{tmp 3890}#)) - (#{build-conditional 304}# - #f - #{y 3887}# - (#{build-dispatch-call 3726}# - #{pvars 3872}# - #{fender 3860}# - #{y 3887}# - #{r 3858}# - #{mod 3862}#) - (#{build-data 328}# + (lambda (#{name 1818}# + #{val 1819}#) + (#{id? 339}# #{name 1818}#)) + #{tmp 1815}#) + #f) + (@apply + (lambda (#{name 1822}# + #{val 1823}#) + (values + 'define-form + #{name 1822}# + #{val 1823}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#)) + #{tmp 1815}#) + (let ((#{tmp 1824}# + ($sc-dispatch + #{tmp 1814}# + '(_ (any . any) + any + . + each-any)))) + (if (if #{tmp 1824}# + (@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}#)) + #f)) + #{tmp 1824}#) + #f) + (@apply + (lambda (#{name 1839}# + #{args 1840}# + #{e1 1841}# + #{e2 1842}#) + (values + 'define-form + (#{wrap 405}# + #{name 1839}# + #{w 1747}# + #{mod 1750}#) + (#{decorate-source 259}# + (cons '#(syntax-object + lambda + ((top) + #(ribcage + #(name + args + e1 + e2) + #((top) + (top) + (top) + (top)) + #("i1835" + "i1836" + "i1837" + "i1838")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1788" + "i1789" + "i1790" + "i1791" + "i1792" + "i1793")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1780")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1752" + "i1753" + "i1754" + "i1755" + "i1756" + "i1757" + "i1758")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("i40" + "i39" + "i38"))) + (hygiene + guile)) + (#{wrap 405}# + (cons #{args 1840}# + (cons #{e1 1841}# + #{e2 1842}#)) + #{w 1747}# + #{mod 1750}#)) + #{s 1748}#) + '(()) + #{s 1748}# + #{mod 1750}#)) + #{tmp 1824}#) + (let ((#{tmp 1845}# + ($sc-dispatch + #{tmp 1814}# + '(_ any)))) + (if (if #{tmp 1845}# + (@apply + (lambda (#{name 1847}#) + (#{id? 339}# + #{name 1847}#)) + #{tmp 1845}#) + #f) + (@apply + (lambda (#{name 1849}#) + (values + 'define-form + (#{wrap 405}# + #{name 1849}# + #{w 1747}# + #{mod 1750}#) + '(#(syntax-object + if + ((top) + #(ribcage + #(name) + #((top)) + #("i1848")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1788" + "i1789" + "i1790" + "i1791" + "i1792" + "i1793")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1780")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1752" + "i1753" + "i1754" + "i1755" + "i1756" + "i1757" + "i1758")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("i40" + "i39" + "i38"))) + (hygiene guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("i1848")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1788" + "i1789" + "i1790" + "i1791" + "i1792" + "i1793")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1780")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1752" + "i1753" + "i1754" + "i1755" + "i1756" + "i1757" + "i1758")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("i40" + "i39" + "i38"))) + (hygiene guile)) + #(syntax-object + #f + ((top) + #(ribcage + #(name) + #((top)) + #("i1848")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(ftype + fval + fe + fw + fs + fmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i1788" + "i1789" + "i1790" + "i1791" + "i1792" + "i1793")) + #(ribcage + () + () + ()) + #(ribcage + #(first) + #((top)) + #("i1780")) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + () + () + ()) + #(ribcage + #(e + r + w + s + rib + mod + for-car?) + #((top) + (top) + (top) + (top) + (top) + (top) + (top)) + #("i1752" + "i1753" + "i1754" + "i1755" + "i1756" + "i1757" + "i1758")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) + (top) + (top)) + ("i40" + "i39" + "i38"))) + (hygiene guile))) + '(()) + #{s 1748}# + #{mod 1750}#)) + #{tmp 1845}#) + (syntax-violation #f - #f)))))) - (#{build-dispatch-call 3726}# - #{pvars 3872}# - #{exp 3861}# - #{y 3887}# - #{r 3858}# - #{mod 3862}#) - (#{gen-syntax-case 3730}# - #{x 3855}# - #{keys 3856}# - #{clauses 3857}# - #{r 3858}# - #{mod 3862}#))))) - (list (if (eq? #{p 3871}# 'any) - (#{build-application 302}# - #f - (#{build-primref 326}# #f 'list) - (list #{x 3855}#)) - (#{build-application 302}# - #f - (#{build-primref 326}# - #f - '$sc-dispatch) - (list #{x 3855}# - (#{build-data 328}# - #f - #{p 3871}#)))))))))))))) - (#{gen-syntax-case 3730}# - (lambda (#{x 3901}# - #{keys 3902}# - #{clauses 3903}# - #{r 3904}# - #{mod 3905}#) - (if (null? #{clauses 3903}#) - (#{build-application 302}# - #f - (#{build-primref 326}# #f 'syntax-violation) - (list (#{build-data 328}# #f #f) - (#{build-data 328}# - #f - "source expression failed to match any pattern") - #{x 3901}#)) - (let ((#{tmp 3915}# (car #{clauses 3903}#))) - (let ((#{tmp 3916}# - ($sc-dispatch #{tmp 3915}# '(any any)))) - (if #{tmp 3916}# - (@apply - (lambda (#{pat 3919}# #{exp 3920}#) - (if (if (#{id? 376}# #{pat 3919}#) - (and-map - (lambda (#{x 3923}#) - (not (#{free-id=? 432}# - #{pat 3919}# - #{x 3923}#))) - (cons '#(syntax-object - ... - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3917" "i3918")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) - (top) - (top) - (top) - (top)) - #("i3906" - "i3907" - "i3908" - "i3909" - "i3910")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3729" - "i3727" - "i3725" - "i3723")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile)) - #{keys 3902}#)) - #f) - (if (#{free-id=? 432}# - '#(syntax-object - pad - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3917" "i3918")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i3906" - "i3907" - "i3908" - "i3909" - "i3910")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3729" "i3727" "i3725" "i3723")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile)) - '#(syntax-object - _ - ((top) - #(ribcage - #(pat exp) - #((top) (top)) - #("i3917" "i3918")) - #(ribcage () () ()) - #(ribcage - #(x keys clauses r mod) - #((top) (top) (top) (top) (top)) - #("i3906" - "i3907" - "i3908" - "i3909" - "i3910")) - #(ribcage - (gen-syntax-case - gen-clause - build-dispatch-call - convert-pattern) - ((top) (top) (top) (top)) - ("i3729" "i3727" "i3725" "i3723")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - maybe-name-value! - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i429" - "i427" - "i425" - "i423" - "i421" - "i419" - "i417" - "i416" - "i415" - "i413" - "i412" - "i411" - "i410" - "i409" - "i407" - "i405" - "i403" - "i401" - "i399" - "i397" - "i395" - "i393" - "i390" - "i388" - "i387" - "i386" - "i385" - "i384" - "i383" - "i382" - "i381" - "i380" - "i378" - "i377" - "i375" - "i373" - "i371" - "i369" - "i367" - "i365" - "i363" - "i362" - "i361" - "i360" - "i359" - "i358" - "i356" - "i355" - "i353" - "i351" - "i349" - "i347" - "i345" - "i343" - "i341" - "i339" - "i337" - "i335" - "i333" - "i331" - "i329" - "i327" - "i325" - "i323" - "i321" - "i319" - "i317" - "i315" - "i313" - "i311" - "i309" - "i307" - "i305" - "i303" - "i301" - "i299" - "i297" - "i295" - "i293" - "i291" - "i290" - "i288" - "i286" - "i285" - "i284" - "i283" - "i282" - "i280" - "i278" - "i276" - "i273" - "i271" - "i269" - "i267" - "i265" - "i263" - "i261" - "i259" - "i257" - "i255" - "i253" - "i251" - "i249" - "i247" - "i245" - "i243" - "i241" - "i239")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i41" "i40" "i39" "i37"))) - (hygiene guile))) - (#{chi 456}# - #{exp 3920}# - #{r 3904}# - '(()) - #{mod 3905}#) - (begin - (let ((#{labels 3928}# - (list (#{gen-label 389}#))) - (#{var 3929}# - (#{gen-var 484}# #{pat 3919}#))) - (#{build-application 302}# + "source expression failed to match any pattern" + #{tmp 1814}#)))))))) + (if (eqv? #{ftype 1782}# 'define-syntax) + (let ((#{tmp 1852}# #{e 1745}#)) + (let ((#{tmp 1853}# + ($sc-dispatch + #{tmp 1852}# + '(_ any any)))) + (if (if #{tmp 1853}# + (@apply + (lambda (#{name 1856}# + #{val 1857}#) + (#{id? 339}# + #{name 1856}#)) + #{tmp 1853}#) + #f) + (@apply + (lambda (#{name 1860}# + #{val 1861}#) + (values + 'define-syntax-form + #{name 1860}# + #{val 1861}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#)) + #{tmp 1853}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 1852}#)))) + (values + 'call #f - (#{build-simple-lambda 320}# - #f - (list (syntax->datum #{pat 3919}#)) - #f - (list #{var 3929}#) - '() - (#{chi 456}# - #{exp 3920}# - (#{extend-env 364}# - #{labels 3928}# - (list (cons 'syntax - (cons #{var 3929}# - 0))) - #{r 3904}#) - (#{make-binding-wrap 420}# - (list #{pat 3919}#) - #{labels 3928}# - '(())) - #{mod 3905}#)) - (list #{x 3901}#))))) - (#{gen-clause 3728}# - #{x 3901}# - #{keys 3902}# - (cdr #{clauses 3903}#) - #{r 3904}# - #{pat 3919}# - #t - #{exp 3920}# - #{mod 3905}#))) - #{tmp 3916}#) - (let ((#{tmp 3935}# - ($sc-dispatch #{tmp 3915}# '(any any any)))) - (if #{tmp 3935}# + #{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}#)) + (begin + (let ((#{t 1867}# + (#{source-annotation 320}# #{e 1745}#))) + (if #{t 1867}# #{t 1867}# #{s 1748}#))) + #{rib 1749}# + (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}#) + (values + 'constant + #f + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#) + (values + 'other + #f + #{e 1745}# + #{w 1747}# + #{s 1748}# + #{mod 1750}#))))))) + (#{chi 419}# + (lambda (#{e 1876}# #{r 1877}# #{w 1878}# #{mod 1879}#) + (call-with-values + (lambda () + (#{syntax-type 417}# + #{e 1876}# + #{r 1877}# + #{w 1878}# + (#{source-annotation 320}# #{e 1876}#) + #f + #{mod 1879}# + #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}# + '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) + (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}# + #{e 1913}# + #{r 1914}# + #{w 1915}# + #{mod 1917}#))) + (if (eqv? #{type 1896}# 'lexical-call) + (#{chi-application 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-application 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}#) + '(()))) + (if (eqv? #{type 1896}# 'global) + (#{build-global-reference 277}# + #{s 1901}# + #{value 1897}# + #{mod 1902}#) + (if (eqv? #{type 1896}# 'call) + (#{chi-application 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}# + ($sc-dispatch + #{tmp 1932}# + '(_ any . each-any)))) + (if #{tmp 1933}# (@apply - (lambda (#{pat 3939}# - #{fender 3940}# - #{exp 3941}#) - (#{gen-clause 3728}# - #{x 3901}# - #{keys 3902}# - (cdr #{clauses 3903}#) - #{r 3904}# - #{pat 3939}# - #{fender 3940}# - #{exp 3941}# - #{mod 3905}#)) - #{tmp 3935}#) - (let ((#{_ 3943}# #{tmp 3915}#)) + (lambda (#{e1 1936}# #{e2 1937}#) + (#{chi-sequence 409}# + (cons #{e1 1936}# #{e2 1937}#) + #{r 1899}# + #{w 1900}# + #{s 1901}# + #{mod 1902}#)) + #{tmp 1933}#) + (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}# + ($sc-dispatch + #{tmp 1941}# + '(_ each-any any . each-any)))) + (if #{tmp 1942}# + (@apply + (lambda (#{x 1946}# + #{e1 1947}# + #{e2 1948}#) + (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}#) + (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)) + (syntax-violation + #f + "definition in expression context" + #{e 1898}# + (#{wrap 405}# + #{value 1897}# + #{w 1900}# + #{mod 1902}#)) + (if (eqv? #{type 1896}# 'syntax) (syntax-violation - 'syntax-case - "invalid clause" - (car #{clauses 3903}#)))))))))))) - (begin - (lambda (#{e 3944}# - #{r 3945}# - #{w 3946}# - #{s 3947}# - #{mod 3948}#) + #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) + (syntax-violation + #f + "reference to identifier outside its scope" + (#{source-wrap 407}# + #{e 1898}# + #{w 1900}# + #{s 1901}# + #{mod 1902}#)) + (syntax-violation + #f + "unexpected syntax" + (#{source-wrap 407}# + #{e 1898}# + #{w 1900}# + #{s 1901}# + #{mod 1902}#)))))))))))))))))) + (#{chi-application 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}# + (@apply + (lambda (#{e0 1973}# #{e1 1974}#) + (#{build-application 265}# + #{s 1961}# + #{x 1957}# + (map (lambda (#{e 1975}#) + (#{chi 419}# + #{e 1975}# + #{r 1959}# + #{w 1960}# + #{mod 1962}#)) + #{e1 1974}#))) + #{tmp 1970}#) + (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}#) + (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}#) (begin - (let ((#{e 3955}# - (#{source-wrap 444}# - #{e 3944}# - #{w 3946}# - #{s 3947}# - #{mod 3948}#))) - (let ((#{tmp 3956}# #{e 3955}#)) - (let ((#{tmp 3957}# - ($sc-dispatch - #{tmp 3956}# - '(_ any each-any . each-any)))) - (if #{tmp 3957}# + (let ((#{w 2003}# + (#{syntax-object-wrap 309}# #{x 1994}#))) + (begin + (let ((#{ms 2006}# (car #{w 2003}#)) + (#{s 2007}# (cdr #{w 2003}#))) + (if (if (pair? #{ms 2006}#) + (eq? (car #{ms 2006}#) #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}#) + (begin + (let ((#{n 2019}# (vector-length #{x 1994}#))) + (begin + (let ((#{v 2021}# + (#{decorate-source 259}# + (make-vector #{n 2019}#) + #{x 1994}#))) + (letrec* + ((#{loop 2024}# + (lambda (#{i 2025}#) + (if (= #{i 2025}# #{n 2019}#) + (begin (if #f #f) #{v 2021}#) + (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}#) + (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}#)))))))) + (begin + (#{rebuild-macro-output 1993}# + (#{p 1978}# + (#{source-wrap 407}# + #{e 1979}# + (#{anti-mark 377}# #{w 1981}#) + #{s 1982}# + #{mod 1984}#)) + (gensym "m")))))) + (#{chi-body 427}# + (lambda (#{body 2035}# + #{outer-form 2036}# + #{r 2037}# + #{w 2038}# + #{mod 2039}#) + (begin + (let ((#{r 2047}# + (cons '("placeholder" placeholder) #{r 2037}#))) + (begin + (let ((#{ribcage 2049}# + (#{make-ribcage 357}# '() '() '()))) + (begin + (let ((#{w 2052}# + (cons (car #{w 2038}#) + (cons #{ribcage 2049}# (cdr #{w 2038}#))))) + (letrec* + ((#{parse 2064}# + (lambda (#{body 2065}# + #{ids 2066}# + #{labels 2067}# + #{var-ids 2068}# + #{vars 2069}# + #{vals 2070}# + #{bindings 2071}#) + (if (null? #{body 2065}#) + (syntax-violation + #f + "no expressions in body" + #{outer-form 2036}#) + (begin + (let ((#{e 2076}# (cdr (car #{body 2065}#))) + (#{er 2077}# (car (car #{body 2065}#)))) + (call-with-values + (lambda () + (#{syntax-type 417}# + #{e 2076}# + #{er 2077}# + '(()) + (#{source-annotation 320}# #{er 2077}#) + #{ribcage 2049}# + #{mod 2039}# + #f)) + (lambda (#{type 2079}# + #{value 2080}# + #{e 2081}# + #{w 2082}# + #{s 2083}# + #{mod 2084}#) + (if (eqv? #{type 2079}# 'define-form) + (begin + (let ((#{id 2094}# + (#{wrap 405}# + #{value 2080}# + #{w 2082}# + #{mod 2084}#)) + (#{label 2095}# + (#{gen-label 352}#))) + (begin + (let ((#{var 2097}# + (#{gen-var 447}# + #{id 2094}#))) + (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}#) + (cons (cons 'lexical + #{var 2097}#) + #{bindings 2071}#))))))) + (if (eqv? #{type 2079}# + 'define-syntax-form) + (begin + (let ((#{id 2102}# + (#{wrap 405}# + #{value 2080}# + #{w 2082}# + #{mod 2084}#)) + (#{label 2103}# + (#{gen-label 352}#))) + (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}# + (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}# + ($sc-dispatch + #{tmp 2106}# + '(_ . each-any)))) + (if #{tmp 2107}# + (@apply + (lambda (#{e1 2109}#) + (#{parse 2064}# + (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}#))))))) + (begin + (#{f 2112}# + #{e1 2109}#))) + #{ids 2066}# + #{labels 2067}# + #{var-ids 2068}# + #{vars 2069}# + #{vals 2070}# + #{bindings 2071}#)) + #{tmp 2107}#) + (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}# + (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}#))))))) + (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 + (map (lambda (#{x 2132}#) + (#{chi 419}# + (cdr #{x 2132}#) + (car #{x 2132}#) + '(()) + #{mod 2084}#)) + (cons (cons #{er 2077}# + (#{source-wrap 407}# + #{e 2081}# + #{w 2082}# + #{s 2083}# + #{mod 2084}#)) + (cdr #{body 2065}#)))) + (begin + (if (not (#{valid-bound-ids? 399}# + #{ids 2066}#)) + (syntax-violation + #f + "invalid or duplicate identifier in definition" + #{outer-form 2036}#)) + (letrec* + ((#{loop 2139}# + (lambda (#{bs 2140}# + #{er-cache 2141}# + #{r-cache 2142}#) + (if (not (null? #{bs 2140}#)) + (begin + (let ((#{b 2145}# + (car #{bs 2140}#))) + (if (eq? (car #{b 2145}#) + 'macro) + (begin + (let ((#{er 2148}# + (car (cdr #{b 2145}#)))) + (begin + (let ((#{r-cache 2150}# + (if (eq? #{er 2148}# + #{er-cache 2141}#) + #{r-cache 2142}# + (#{macros-only-env 331}# + #{er 2148}#)))) + (begin + (set-cdr! + #{b 2145}# + (#{eval-local-transformer 431}# + (#{chi 419}# + (cdr (cdr #{b 2145}#)) + #{r-cache 2150}# + '(()) + #{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}#)))))))) + (begin + (#{loop 2139}# + #{bindings 2071}# + #f + #f))) + (set-cdr! + #{r 2047}# + (#{extend-env 327}# + #{labels 2067}# + #{bindings 2071}# + (cdr #{r 2047}#))) + (#{build-letrec 299}# + #f + #t + (reverse + (map syntax->datum + #{var-ids 2068}#)) + (reverse #{vars 2069}#) + (map (lambda (#{x 2153}#) + (#{chi 419}# + (cdr #{x 2153}#) + (car #{x 2153}#) + '(()) + #{mod 2084}#)) + (reverse #{vals 2070}#)) + (#{build-sequence 293}# + #f + (map (lambda (#{x 2157}#) + (#{chi 419}# + (cdr #{x 2157}#) + (car #{x 2157}#) + '(()) + #{mod 2084}#)) + (cons (cons #{er 2077}# + (#{source-wrap 407}# + #{e 2081}# + #{w 2082}# + #{s 2083}# + #{mod 2084}#)) + (cdr #{body 2065}#))))))))))))))))))) + (begin + (#{parse 2064}# + (map (lambda (#{x 2072}#) + (cons #{r 2047}# + (#{wrap 405}# + #{x 2072}# + #{w 2052}# + #{mod 2039}#))) + #{body 2035}#) + '() + '() + '() + '() + '() + '()))))))))))) + (#{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}# + ($sc-dispatch + #{tmp 2174}# + '(_ #(each (any any)) any . each-any)))) + (if #{tmp 2175}# + (@apply + (lambda (#{id 2180}# + #{val 2181}# + #{e1 2182}# + #{e2 2183}#) + (begin + (let ((#{ids 2185}# #{id 2180}#)) + (if (not (#{valid-bound-ids? 399}# #{ids 2185}#)) + (syntax-violation + #f + "duplicate bound keyword" + #{e 2161}#) + (begin + (let ((#{labels 2188}# + (#{gen-labels 354}# #{ids 2185}#))) + (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}# + (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}#) + (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}#)) + (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}#) + (begin + (let ((#{p 2207}# + (#{local-eval-hook 252}# + #{expanded 2202}# + #{mod 2203}#))) + (if (procedure? #{p 2207}#) + #{p 2207}# + (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}# + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i2210")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + #f))) + (#{lambda-formals 437}# + (lambda (#{orig-args 2213}#) + (letrec* + ((#{req 2216}# + (lambda (#{args 2219}# #{rreq 2220}#) + (let ((#{tmp 2223}# #{args 2219}#)) + (let ((#{tmp 2224}# ($sc-dispatch #{tmp 2223}# '()))) + (if #{tmp 2224}# + (@apply + (lambda () + (#{check 2218}# (reverse #{rreq 2220}#) #f)) + #{tmp 2224}#) + (let ((#{tmp 2225}# + ($sc-dispatch #{tmp 2223}# '(any . any)))) + (if (if #{tmp 2225}# (@apply - (lambda (#{val 3961}# #{key 3962}# #{m 3963}#) - (if (and-map - (lambda (#{x 3964}#) - (if (#{id? 376}# #{x 3964}#) - (not (#{ellipsis? 472}# #{x 3964}#)) - #f)) - #{key 3962}#) - (begin - (let ((#{x 3970}# (#{gen-var 484}# 'tmp))) - (#{build-application 302}# - #{s 3947}# - (#{build-simple-lambda 320}# - #f - (list 'tmp) - #f - (list #{x 3970}#) + (lambda (#{a 2228}# #{b 2229}#) + (#{id? 339}# #{a 2228}#)) + #{tmp 2225}#) + #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}# + (@apply + (lambda (#{r 2236}#) + (#{id? 339}# #{r 2236}#)) + #{tmp 2234}#) + #f) + (@apply + (lambda (#{r 2238}#) + (#{check 2218}# + (reverse #{rreq 2220}#) + #{r 2238}#)) + #{tmp 2234}#) + (let ((#{else 2240}# #{tmp 2223}#)) + (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) + (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}#) + (begin + (let ((#{ids 2268}# + (if #{rest 2254}# + (append #{req 2253}# (list #{rest 2254}#)) + #{req 2253}#))) + (begin + (let ((#{vars 2270}# + (map #{gen-var 447}# #{ids 2268}#))) + (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}#) + #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}#) + (letrec* + ((#{req 2278}# + (lambda (#{args 2287}# #{rreq 2288}#) + (let ((#{tmp 2291}# #{args 2287}#)) + (let ((#{tmp 2292}# ($sc-dispatch #{tmp 2291}# '()))) + (if #{tmp 2292}# + (@apply + (lambda () + (#{check 2286}# + (reverse #{rreq 2288}#) + '() + #f + '())) + #{tmp 2292}#) + (let ((#{tmp 2293}# + ($sc-dispatch #{tmp 2291}# '(any . any)))) + (if (if #{tmp 2293}# + (@apply + (lambda (#{a 2296}# #{b 2297}#) + (#{id? 339}# #{a 2296}#)) + #{tmp 2293}#) + #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}# + (@apply + (lambda (#{a 2305}# #{b 2306}#) + (eq? (syntax->datum #{a 2305}#) + #:optional)) + #{tmp 2302}#) + #f) + (@apply + (lambda (#{a 2309}# #{b 2310}#) + (#{opt 2280}# + #{b 2310}# + (reverse #{rreq 2288}#) + '())) + #{tmp 2302}#) + (let ((#{tmp 2311}# + ($sc-dispatch #{tmp 2291}# '(any . any)))) + (if (if #{tmp 2311}# + (@apply + (lambda (#{a 2314}# #{b 2315}#) + (eq? (syntax->datum #{a 2314}#) #:key)) + #{tmp 2311}#) + #f) + (@apply + (lambda (#{a 2318}# #{b 2319}#) + (#{key 2282}# + #{b 2319}# + (reverse #{rreq 2288}#) + '() + '())) + #{tmp 2311}#) + (let ((#{tmp 2320}# + ($sc-dispatch + #{tmp 2291}# + '(any any)))) + (if (if #{tmp 2320}# + (@apply + (lambda (#{a 2323}# #{b 2324}#) + (eq? (syntax->datum #{a 2323}#) + #:rest)) + #{tmp 2320}#) + #f) + (@apply + (lambda (#{a 2327}# #{b 2328}#) + (#{rest 2284}# + #{b 2328}# + (reverse #{rreq 2288}#) '() - (#{gen-syntax-case 3730}# - (#{build-lexical-reference 308}# - 'value + '())) + #{tmp 2320}#) + (let ((#{tmp 2329}# (list #{tmp 2291}#))) + (if (if #{tmp 2329}# + (@apply + (lambda (#{r 2331}#) + (#{id? 339}# #{r 2331}#)) + #{tmp 2329}#) + #f) + (@apply + (lambda (#{r 2333}#) + (#{rest 2284}# + #{r 2333}# + (reverse #{rreq 2288}#) + '() + '())) + #{tmp 2329}#) + (let ((#{else 2335}# #{tmp 2291}#)) + (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}# + (@apply + (lambda () + (#{check 2286}# + #{req 2337}# + (reverse #{ropt 2338}#) + #f + '())) + #{tmp 2343}#) + (let ((#{tmp 2344}# + ($sc-dispatch #{tmp 2342}# '(any . any)))) + (if (if #{tmp 2344}# + (@apply + (lambda (#{a 2347}# #{b 2348}#) + (#{id? 339}# #{a 2347}#)) + #{tmp 2344}#) + #f) + (@apply + (lambda (#{a 2351}# #{b 2352}#) + (#{opt 2280}# + #{b 2352}# + #{req 2337}# + (cons (cons #{a 2351}# + '(#(syntax-object #f - 'tmp - #{x 3970}#) - #{key 3962}# - #{m 3963}# - #{r 3945}# - #{mod 3948}#)) - (list (#{chi 456}# - #{val 3961}# - #{r 3945}# - '(()) - #{mod 3948}#))))) - (syntax-violation - 'syntax-case - "invalid literals list" - #{e 3955}#))) - #{tmp 3957}#) + ((top) + #(ribcage + #(a b) + #((top) (top)) + #("i2349" "i2350")) + #(ribcage () () ()) + #(ribcage + #(args req ropt) + #((top) (top) (top)) + #("i2339" "i2340" "i2341")) + #(ribcage + (check rest key opt req) + ((top) + (top) + (top) + (top) + (top)) + ("i2285" + "i2283" + "i2281" + "i2279" + "i2277")) + #(ribcage + #(orig-args) + #((top)) + #("i2276")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile)))) + #{ropt 2338}#))) + #{tmp 2344}#) + (let ((#{tmp 2353}# + ($sc-dispatch + #{tmp 2342}# + '((any any) . any)))) + (if (if #{tmp 2353}# + (@apply + (lambda (#{a 2357}# #{init 2358}# #{b 2359}#) + (#{id? 339}# #{a 2357}#)) + #{tmp 2353}#) + #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}# + (@apply + (lambda (#{a 2369}# #{b 2370}#) + (eq? (syntax->datum #{a 2369}#) #:key)) + #{tmp 2366}#) + #f) + (@apply + (lambda (#{a 2373}# #{b 2374}#) + (#{key 2282}# + #{b 2374}# + #{req 2337}# + (reverse #{ropt 2338}#) + '())) + #{tmp 2366}#) + (let ((#{tmp 2375}# + ($sc-dispatch + #{tmp 2342}# + '(any any)))) + (if (if #{tmp 2375}# + (@apply + (lambda (#{a 2378}# #{b 2379}#) + (eq? (syntax->datum #{a 2378}#) + #:rest)) + #{tmp 2375}#) + #f) + (@apply + (lambda (#{a 2382}# #{b 2383}#) + (#{rest 2284}# + #{b 2383}# + #{req 2337}# + (reverse #{ropt 2338}#) + '())) + #{tmp 2375}#) + (let ((#{tmp 2384}# (list #{tmp 2342}#))) + (if (if #{tmp 2384}# + (@apply + (lambda (#{r 2386}#) + (#{id? 339}# #{r 2386}#)) + #{tmp 2384}#) + #f) + (@apply + (lambda (#{r 2388}#) + (#{rest 2284}# + #{r 2388}# + #{req 2337}# + (reverse #{ropt 2338}#) + '())) + #{tmp 2384}#) + (let ((#{else 2390}# #{tmp 2342}#)) + (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}# + (@apply + (lambda () + (#{check 2286}# + #{req 2392}# + #{opt 2393}# + #f + (cons #f (reverse #{rkey 2394}#)))) + #{tmp 2400}#) + (let ((#{tmp 2401}# + ($sc-dispatch #{tmp 2399}# '(any . any)))) + (if (if #{tmp 2401}# + (@apply + (lambda (#{a 2404}# #{b 2405}#) + (#{id? 339}# #{a 2404}#)) + #{tmp 2401}#) + #f) + (@apply + (lambda (#{a 2408}# #{b 2409}#) + (let ((#{tmp 2411}# + (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-object + #f + ((top) + #(ribcage () () ()) + #(ribcage + #(k) + #((top)) + #("i2412")) + #(ribcage + #(a b) + #((top) (top)) + #("i2406" "i2407")) + #(ribcage () () ()) + #(ribcage + #(args req opt rkey) + #((top) + (top) + (top) + (top)) + #("i2395" + "i2396" + "i2397" + "i2398")) + #(ribcage + (check rest + key + opt + req) + ((top) + (top) + (top) + (top) + (top)) + ("i2285" + "i2283" + "i2281" + "i2279" + "i2277")) + #(ribcage + #(orig-args) + #((top)) + #("i2276")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" + "i39" + "i38"))) + (hygiene guile))))) + #{rkey 2394}#))))) + #{tmp 2401}#) + (let ((#{tmp 2414}# + ($sc-dispatch + #{tmp 2399}# + '((any any) . any)))) + (if (if #{tmp 2414}# + (@apply + (lambda (#{a 2418}# #{init 2419}# #{b 2420}#) + (#{id? 339}# #{a 2418}#)) + #{tmp 2414}#) + #f) + (@apply + (lambda (#{a 2424}# #{init 2425}# #{b 2426}#) + (let ((#{tmp 2428}# + (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}# + ($sc-dispatch + #{tmp 2399}# + '((any any any) . any)))) + (if (if #{tmp 2431}# + (@apply + (lambda (#{a 2436}# + #{init 2437}# + #{k 2438}# + #{b 2439}#) + (if (#{id? 339}# #{a 2436}#) + (keyword? (syntax->datum #{k 2438}#)) + #f)) + #{tmp 2431}#) + #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}# + (@apply + (lambda (#{aok 2452}#) + (eq? (syntax->datum #{aok 2452}#) + #:allow-other-keys)) + #{tmp 2450}#) + #f) + (@apply + (lambda (#{aok 2454}#) + (#{check 2286}# + #{req 2392}# + #{opt 2393}# + #f + (cons #t (reverse #{rkey 2394}#)))) + #{tmp 2450}#) + (let ((#{tmp 2455}# + ($sc-dispatch + #{tmp 2399}# + '(any any any)))) + (if (if #{tmp 2455}# + (@apply + (lambda (#{aok 2459}# + #{a 2460}# + #{b 2461}#) + (if (eq? (syntax->datum + #{aok 2459}#) + #:allow-other-keys) + (eq? (syntax->datum + #{a 2460}#) + #:rest) + #f)) + #{tmp 2455}#) + #f) + (@apply + (lambda (#{aok 2467}# + #{a 2468}# + #{b 2469}#) + (#{rest 2284}# + #{b 2469}# + #{req 2392}# + #{opt 2393}# + (cons #t + (reverse #{rkey 2394}#)))) + #{tmp 2455}#) + (let ((#{tmp 2470}# + ($sc-dispatch + #{tmp 2399}# + '(any . any)))) + (if (if #{tmp 2470}# + (@apply + (lambda (#{aok 2473}# + #{r 2474}#) + (if (eq? (syntax->datum + #{aok 2473}#) + #:allow-other-keys) + (#{id? 339}# #{r 2474}#) + #f)) + #{tmp 2470}#) + #f) + (@apply + (lambda (#{aok 2479}# #{r 2480}#) + (#{rest 2284}# + #{r 2480}# + #{req 2392}# + #{opt 2393}# + (cons #t + (reverse + #{rkey 2394}#)))) + #{tmp 2470}#) + (let ((#{tmp 2481}# + ($sc-dispatch + #{tmp 2399}# + '(any any)))) + (if (if #{tmp 2481}# + (@apply + (lambda (#{a 2484}# + #{b 2485}#) + (eq? (syntax->datum + #{a 2484}#) + #:rest)) + #{tmp 2481}#) + #f) + (@apply + (lambda (#{a 2488}# + #{b 2489}#) + (#{rest 2284}# + #{b 2489}# + #{req 2392}# + #{opt 2393}# + (cons #f + (reverse + #{rkey 2394}#)))) + #{tmp 2481}#) + (let ((#{tmp 2490}# + (list #{tmp 2399}#))) + (if (if #{tmp 2490}# + (@apply + (lambda (#{r 2492}#) + (#{id? 339}# + #{r 2492}#)) + #{tmp 2490}#) + #f) + (@apply + (lambda (#{r 2494}#) + (#{rest 2284}# + #{r 2494}# + #{req 2392}# + #{opt 2393}# + (cons #f + (reverse + #{rkey 2394}#)))) + #{tmp 2490}#) + (let ((#{else 2496}# + #{tmp 2399}#)) + (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}# + (@apply + (lambda (#{r 2508}#) (#{id? 339}# #{r 2508}#)) + #{tmp 2506}#) + #f) + (@apply + (lambda (#{r 2510}#) + (#{check 2286}# + #{req 2498}# + #{opt 2499}# + #{r 2510}# + #{kw 2500}#)) + #{tmp 2506}#) + (let ((#{else 2512}# #{tmp 2505}#)) + (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}# + (append + #{req 2513}# + (map car #{opt 2514}#) + (if #{rest 2515}# (list #{rest 2515}#) '()) + (if (pair? #{kw 2516}#) + (map cadr (cdr #{kw 2516}#)) + '()))) + (values + #{req 2513}# + #{opt 2514}# + #{rest 2515}# + #{kw 2516}#) + (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}#) + (letrec* + ((#{expand-req 2539}# + (lambda (#{req 2546}# + #{opt 2547}# + #{rest 2548}# + #{kw 2549}# + #{body 2550}#) + (begin + (let ((#{vars 2558}# + (map #{gen-var 447}# #{req 2546}#)) + (#{labels 2559}# + (#{gen-labels 354}# #{req 2546}#))) + (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}# + '() + '()))))))) + (#{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}# + (@apply + (lambda (#{id 2590}# #{i 2591}#) + (begin + (let ((#{v 2594}# (#{gen-var 447}# #{id 2590}#))) + (begin + (let ((#{l 2596}# + (#{gen-labels 354}# + (list #{v 2594}#)))) + (begin + (let ((#{r** 2598}# + (#{extend-var-env 329}# + #{l 2596}# + (list #{v 2594}#) + #{r* 2570}#))) + (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}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2586}#)))) + (if #{rest 2566}# + (begin + (let ((#{v 2605}# (#{gen-var 447}# #{rest 2566}#))) + (begin + (let ((#{l 2607}# + (#{gen-labels 354}# (list #{v 2605}#)))) + (begin + (let ((#{r* 2609}# + (#{extend-var-env 329}# + #{l 2607}# + (list #{v 2605}#) + #{r* 2570}#))) + (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}#) + #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}#) + #f) + '() + #{inits 2573}#))))))))) + (#{expand-kw 2543}# + #{req 2564}# + (if (pair? #{out 2572}#) + (reverse #{out 2572}#) + #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) + '() + #{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}# + (@apply + (lambda (#{k 2642}# #{id 2643}# #{i 2644}#) + (begin + (let ((#{v 2647}# (#{gen-var 447}# #{id 2643}#))) + (begin + (let ((#{l 2649}# + (#{gen-labels 354}# + (list #{v 2647}#)))) + (begin + (let ((#{r** 2651}# + (#{extend-var-env 329}# + #{l 2649}# + (list #{v 2647}#) + #{r* 2619}#))) + (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}# + (cons (list (syntax->datum + #{k 2642}#) + (syntax->datum + #{id 2643}#) + #{v 2647}#) + #{out 2622}#) + (cons (#{chi 419}# + #{i 2644}# + #{r* 2619}# + #{w* 2620}# + #{mod 2528}#) + #{inits 2623}#))))))))))) + #{tmp 2638}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 2637}#)))) + (#{expand-body 2545}# + #{req 2613}# + #{opt 2614}# + #{rest 2615}# + (if (begin + (let ((#{t 2657}# #{aok 2621}#)) + (if #{t 2657}# #{t 2657}# (pair? #{out 2622}#)))) + (cons #{aok 2621}# (reverse #{out 2622}#)) + #f) + #{body 2617}# + (reverse #{vars 2618}#) + #{r* 2619}# + #{w* 2620}# + (reverse #{inits 2623}#) + '())))) + (#{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}# + (@apply + (lambda (#{docstring 2684}# #{e1 2685}# #{e2 2686}#) + (string? (syntax->datum #{docstring 2684}#))) + #{tmp 2680}#) + #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}# + (append + #{meta 2668}# + (list (cons 'documentation + (syntax->datum #{docstring 2690}#)))))) + #{tmp 2680}#) + (let ((#{tmp 2695}# + ($sc-dispatch + #{tmp 2679}# + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if #{tmp 2695}# + (@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}# + (append + #{meta 2668}# + (syntax->datum + (map cons #{k 2700}# #{v 2701}#))))) + #{tmp 2695}#) + (let ((#{tmp 2707}# + ($sc-dispatch #{tmp 2679}# '(any . each-any)))) + (if #{tmp 2707}# + (@apply + (lambda (#{e1 2710}# #{e2 2711}#) + (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}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 3956}#)))))))))) - (set! macroexpand - (lambda* - (#{x 3976}# - #:optional - (#{m 3978}# 'e) - (#{esew 3980}# '(eval))) - (#{chi-top-sequence 448}# - (list #{x 3976}#) - '() - '((top)) - #f - #{m 3978}# - #{esew 3980}# - (cons 'hygiene (module-name (current-module)))))) - (set! identifier? - (lambda (#{x 3984}#) - (#{nonsymbol-id? 374}# #{x 3984}#))) - (set! datum->syntax - (lambda (#{id 3986}# #{datum 3987}#) - (#{make-syntax-object 340}# - #{datum 3987}# - (#{syntax-object-wrap 346}# #{id 3986}#) - (#{syntax-object-module 348}# #{id 3986}#)))) - (set! syntax->datum - (lambda (#{x 3990}#) - (#{strip 482}# #{x 3990}# '(())))) - (set! syntax-source - (lambda (#{x 3993}#) - (#{source-annotation 357}# #{x 3993}#))) - (set! generate-temporaries - (lambda (#{ls 3995}#) - (begin - (begin - (let ((#{x 3999}# #{ls 3995}#)) - (if (not (list? #{x 3999}#)) - (syntax-violation - 'generate-temporaries - "invalid argument" - #{x 3999}#)))) - (map (lambda (#{x 4000}#) - (#{wrap 442}# (gensym) '((top)) #f)) - #{ls 3995}#)))) - (set! free-identifier=? - (lambda (#{x 4004}# #{y 4005}#) - (begin - (begin - (let ((#{x 4010}# #{x 4004}#)) - (if (not (#{nonsymbol-id? 374}# #{x 4010}#)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{x 4010}#)))) - (begin - (let ((#{x 4013}# #{y 4005}#)) - (if (not (#{nonsymbol-id? 374}# #{x 4013}#)) - (syntax-violation - 'free-identifier=? - "invalid argument" - #{x 4013}#)))) - (#{free-id=? 432}# #{x 4004}# #{y 4005}#)))) - (set! bound-identifier=? - (lambda (#{x 4014}# #{y 4015}#) - (begin - (begin - (let ((#{x 4020}# #{x 4014}#)) - (if (not (#{nonsymbol-id? 374}# #{x 4020}#)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{x 4020}#)))) - (begin - (let ((#{x 4023}# #{y 4015}#)) - (if (not (#{nonsymbol-id? 374}# #{x 4023}#)) - (syntax-violation - 'bound-identifier=? - "invalid argument" - #{x 4023}#)))) - (#{bound-id=? 434}# #{x 4014}# #{y 4015}#)))) - (set! syntax-violation - (lambda* - (#{who 4024}# - #{message 4025}# - #{form 4026}# - #:optional - (#{subform 4030}# #f)) - (begin - (begin - (let ((#{x 4034}# #{who 4024}#)) - (if (not (let ((#{x 4035}# #{x 4034}#)) + #{tmp 2679}#))))))))))) + (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}# + ($sc-dispatch + #{tmp 2713}# + '((any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 2715}# + (@apply + (lambda (#{args 2722}# + #{e1 2723}# + #{e2 2724}# + #{args* 2725}# + #{e1* 2726}# + #{e2* 2727}#) + (call-with-values + (lambda () (#{get-formals 2529}# #{args 2722}#)) + (lambda (#{req 2728}# + #{opt 2729}# + #{rest 2730}# + #{kw 2731}#) + (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}#) + (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}#) + (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}#) + (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}# + (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}#) + (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}#)) + #f) + #{x 2770}# + (cons #{a 2777}# #{d 2778}#)))) + (if (vector? #{x 2770}#) + (begin + (let ((#{old 2784}# (vector->list #{x 2770}#))) + (begin + (let ((#{new 2786}# (map #{f 2769}# #{old 2784}#))) + (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}#)))))) + (begin + (#{lp 2790}# #{old 2784}# #{new 2786}#))))))) + #{x 2770}#)))))) + (begin (#{f 2769}# #{x 2761}#)))))) + (#{gen-var 447}# + (lambda (#{id 2794}#) + (begin + (let ((#{id 2797}# + (if (#{syntax-object? 305}# #{id 2794}#) + (#{syntax-object-expression 307}# #{id 2794}#) + #{id 2794}#))) + (gensym + (string-append (symbol->string #{id 2797}#) " ")))))) + (#{lambda-var-list 449}# + (lambda (#{vars 2799}#) + (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}# '() '(()))))))) + (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) + #f) + #f)) + (begin + (#{global-extend 335}# + 'local-syntax + 'letrec-syntax + #t) + (#{global-extend 335}# + 'local-syntax + 'let-syntax + #f) + (#{global-extend 335}# + 'core + 'fluid-let-syntax + (lambda (#{e 2819}# + #{r 2820}# + #{w 2821}# + #{s 2822}# + #{mod 2823}#) + (let ((#{tmp 2829}# #{e 2819}#)) + (let ((#{tmp 2830}# + ($sc-dispatch + #{tmp 2829}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 2830}# + (@apply + (lambda (#{var 2835}# + #{val 2836}# + #{e1 2837}# + #{e2 2838}#) + (#{valid-bound-ids? 399}# #{var 2835}#)) + #{tmp 2830}#) + #f) + (@apply + (lambda (#{var 2844}# + #{val 2845}# + #{e1 2846}# + #{e2 2847}#) + (begin + (let ((#{names 2849}# + (map (lambda (#{x 2850}#) + (#{id-var-name 393}# + #{x 2850}# + #{w 2821}#)) + #{var 2844}#))) + (begin + (for-each + (lambda (#{id 2853}# #{n 2854}#) + (begin + (let ((#{atom-key 2859}# + (car (#{lookup 333}# + #{n 2854}# + #{r 2820}# + #{mod 2823}#)))) + (if (eqv? #{atom-key 2859}# + '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}# + (begin + (let ((#{trans-r 2865}# + (#{macros-only-env 331}# #{r 2820}#))) + (map (lambda (#{x 2866}#) + (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}#)) + (syntax-violation + 'fluid-let-syntax + "bad syntax" + (#{source-wrap 407}# + #{e 2819}# + #{w 2821}# + #{s 2822}# + #{mod 2823}#)))))))) + (#{global-extend 335}# + '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}# + (@apply + (lambda (#{e 2885}#) + (#{build-data 291}# + #{s 2875}# + (#{strip 445}# #{e 2885}# #{w 2874}#))) + #{tmp 2883}#) + (let ((#{_ 2887}# #{tmp 2882}#)) + (syntax-violation + 'quote + "bad syntax" + (#{source-wrap 407}# + #{e 2872}# + #{w 2874}# + #{s 2875}# + #{mod 2876}#)))))))) + (#{global-extend 335}# + 'core + 'syntax + (letrec* + ((#{gen-syntax 2889}# + (lambda (#{src 2904}# + #{e 2905}# + #{r 2906}# + #{maps 2907}# + #{ellipsis? 2908}# + #{mod 2909}#) + (if (#{id? 339}# #{e 2905}#) + (begin + (let ((#{label 2917}# + (#{id-var-name 393}# #{e 2905}# '(())))) + (begin + (let ((#{b 2920}# + (#{lookup 333}# + #{label 2917}# + #{r 2906}# + #{mod 2909}#))) + (if (eq? (car #{b 2920}#) 'syntax) + (call-with-values + (lambda () (begin - (let ((#{t 4039}# (not #{x 4035}#))) - (if #{t 4039}# - #{t 4039}# - (begin - (let ((#{t 4042}# (string? #{x 4035}#))) - (if #{t 4042}# - #{t 4042}# - (symbol? #{x 4035}#))))))))) - (syntax-violation - 'syntax-violation - "invalid argument" - #{x 4034}#)))) - (begin - (let ((#{x 4046}# #{message 4025}#)) - (if (not (string? #{x 4046}#)) - (syntax-violation - 'syntax-violation - "invalid argument" - #{x 4046}#)))) - (throw 'syntax-error - #{who 4024}# - #{message 4025}# - (#{source-annotation 357}# - (begin - (let ((#{t 4049}# #{form 4026}#)) - (if #{t 4049}# #{t 4049}# #{subform 4030}#)))) - (#{strip 482}# #{form 4026}# '(())) - (if #{subform 4030}# - (#{strip 482}# #{subform 4030}# '(())) - #f))))) - (letrec* - ((#{match-each 4056}# - (lambda (#{e 4069}# #{p 4070}# #{w 4071}# #{mod 4072}#) - (if (pair? #{e 4069}#) - (begin - (let ((#{first 4080}# - (#{match 4068}# - (car #{e 4069}#) - #{p 4070}# - #{w 4071}# + (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}#) + (values + (list 'ref #{var 2925}#) + #{maps 2926}#))) + (if (#{ellipsis? 2908}# #{e 2905}#) + (syntax-violation + 'syntax + "misplaced ellipsis" + #{src 2904}#) + (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}# + (@apply + (lambda (#{dots 2935}# #{e 2936}#) + (#{ellipsis? 2908}# #{dots 2935}#)) + #{tmp 2932}#) + #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}# + (@apply + (lambda (#{x 2947}# #{dots 2948}# #{y 2949}#) + (#{ellipsis? 2908}# #{dots 2948}#)) + #{tmp 2943}#) + #f) + (@apply + (lambda (#{x 2953}# #{dots 2954}# #{y 2955}#) + (letrec* + ((#{f 2959}# + (lambda (#{y 2960}# #{k 2961}#) + (let ((#{tmp 2968}# #{y 2960}#)) + (let ((#{tmp 2969}# + ($sc-dispatch + #{tmp 2968}# + '(any . any)))) + (if (if #{tmp 2969}# + (@apply + (lambda (#{dots 2972}# + #{y 2973}#) + (#{ellipsis? 2908}# + #{dots 2972}#)) + #{tmp 2969}#) + #f) + (@apply + (lambda (#{dots 2976}# + #{y 2977}#) + (#{f 2959}# + #{y 2977}# + (lambda (#{maps 2978}#) + (call-with-values + (lambda () + (#{k 2961}# + (cons '() + #{maps 2978}#))) + (lambda (#{x 2980}# + #{maps 2981}#) + (if (null? (car #{maps 2981}#)) + (syntax-violation + 'syntax + "extra ellipsis" + #{src 2904}#) + (values + (#{gen-mappend 2893}# + #{x 2980}# + (car #{maps 2981}#)) + (cdr #{maps 2981}#)))))))) + #{tmp 2969}#) + (let ((#{_ 2985}# #{tmp 2968}#)) + (call-with-values + (lambda () + (#{gen-syntax 2889}# + #{src 2904}# + #{y 2960}# + #{r 2906}# + #{maps 2907}# + #{ellipsis? 2908}# + #{mod 2909}#)) + (lambda (#{y 2986}# + #{maps 2987}#) + (call-with-values + (lambda () + (#{k 2961}# + #{maps 2987}#)) + (lambda (#{x 2990}# + #{maps 2991}#) + (values + (#{gen-append 2899}# + #{x 2990}# + #{y 2986}#) + #{maps 2991}#)))))))))))) + (begin + (#{f 2959}# + #{y 2955}# + (lambda (#{maps 2962}#) + (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}#)) + (syntax-violation + 'syntax + "extra ellipsis" + #{src 2904}#) + (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}# + (@apply + (lambda (#{x 2997}# #{y 2998}#) + (call-with-values + (lambda () + (#{gen-syntax 2889}# + #{src 2904}# + #{x 2997}# + #{r 2906}# + #{maps 2907}# + #{ellipsis? 2908}# + #{mod 2909}#)) + (lambda (#{x 2999}# #{maps 3000}#) + (call-with-values + (lambda () + (#{gen-syntax 2889}# + #{src 2904}# + #{y 2998}# + #{r 2906}# + #{maps 3000}# + #{ellipsis? 2908}# + #{mod 2909}#)) + (lambda (#{y 3003}# #{maps 3004}#) + (values + (#{gen-cons 2897}# + #{x 2999}# + #{y 3003}#) + #{maps 3004}#)))))) + #{tmp 2994}#) + (let ((#{tmp 3007}# + ($sc-dispatch + #{tmp 2931}# + '#(vector (any . each-any))))) + (if #{tmp 3007}# + (@apply + (lambda (#{e1 3010}# #{e2 3011}#) + (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}#) + (values + (#{gen-vector 2901}# #{e 3013}#) + #{maps 3014}#)))) + #{tmp 3007}#) + (let ((#{_ 3018}# #{tmp 2931}#)) + (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}#) + (syntax-violation + 'syntax + "missing ellipsis" + #{src 3020}#) + (call-with-values + (lambda () + (#{gen-ref 2891}# + #{src 3020}# + #{var 3021}# + (#{1-}# #{level 3022}#) + (cdr #{maps 3023}#))) + (lambda (#{outer-var 3030}# #{outer-maps 3031}#) + (begin + (let ((#{b 3035}# + (assq #{outer-var 3030}# + (car #{maps 3023}#)))) + (if #{b 3035}# + (values (cdr #{b 3035}#) #{maps 3023}#) + (begin + (let ((#{inner-var 3037}# + (#{gen-var 447}# '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}#) + (list 'apply + '(primitive append) + (#{gen-map 2895}# #{e 3038}# #{map-env 3039}#)))) + (#{gen-map 2895}# + (lambda (#{e 3043}# #{map-env 3044}#) + (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}#) + (if (and-map + (lambda (#{x 3058}#) + (if (eq? (car #{x 3058}#) 'ref) + (memq (car (cdr #{x 3058}#)) #{formals 3049}#) + #f)) + (cdr #{e 3043}#)) + (cons 'map + (cons (list 'primitive (car #{e 3043}#)) + (map (begin + (let ((#{r 3064}# + (map cons + #{formals 3049}# + #{actuals 3050}#))) + (lambda (#{x 3065}#) + (cdr (assq (car (cdr #{x 3065}#)) + #{r 3064}#))))) + (cdr #{e 3043}#)))) + (cons 'map + (cons (list 'lambda #{formals 3049}# #{e 3043}#) + #{actuals 3050}#)))))))) + (#{gen-cons 2897}# + (lambda (#{x 3069}# #{y 3070}#) + (begin + (let ((#{atom-key 3075}# (car #{y 3070}#))) + (if (eqv? #{atom-key 3075}# 'quote) + (if (eq? (car #{x 3069}#) '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) + (list 'quote + (list->vector (car (cdr #{x 3089}#)))) + (list 'list->vector #{x 3089}#))))) + (#{regen 2903}# + (lambda (#{x 3099}#) + (begin + (let ((#{atom-key 3103}# (car #{x 3099}#))) + (if (eqv? #{atom-key 3103}# 'ref) + (#{build-lexical-reference 271}# + '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}# + #f + (car (cdr #{x 3099}#)) + #f + (car (cdr #{x 3099}#)) '() - #{mod 4072}#))) - (if #{first 4080}# - (begin - (let ((#{rest 4084}# - (#{match-each 4056}# - (cdr #{e 4069}#) - #{p 4070}# - #{w 4071}# - #{mod 4072}#))) - (if #{rest 4084}# - (cons #{first 4080}# #{rest 4084}#) - #f))) - #f))) - (if (null? #{e 4069}#) - '() - (if (#{syntax-object? 342}# #{e 4069}#) - (#{match-each 4056}# - (#{syntax-object-expression 344}# #{e 4069}#) - #{p 4070}# - (#{join-wraps 424}# - #{w 4071}# - (#{syntax-object-wrap 346}# #{e 4069}#)) - (#{syntax-object-module 348}# #{e 4069}#)) - #f))))) - (#{match-each+ 4058}# - (lambda (#{e 4092}# - #{x-pat 4093}# - #{y-pat 4094}# - #{z-pat 4095}# - #{w 4096}# - #{r 4097}# - #{mod 4098}#) - (letrec* - ((#{f 4109}# - (lambda (#{e 4110}# #{w 4111}#) - (if (pair? #{e 4110}#) - (call-with-values - (lambda () - (#{f 4109}# (cdr #{e 4110}#) #{w 4111}#)) - (lambda (#{xr* 4114}# #{y-pat 4115}# #{r 4116}#) - (if #{r 4116}# - (if (null? #{y-pat 4115}#) - (begin - (let ((#{xr 4121}# - (#{match 4068}# - (car #{e 4110}#) - #{x-pat 4093}# - #{w 4111}# - '() - #{mod 4098}#))) - (if #{xr 4121}# - (values - (cons #{xr 4121}# #{xr* 4114}#) - #{y-pat 4115}# - #{r 4116}#) - (values #f #f #f)))) - (values - '() - (cdr #{y-pat 4115}#) - (#{match 4068}# - (car #{e 4110}#) - (car #{y-pat 4115}#) - #{w 4111}# - #{r 4116}# - #{mod 4098}#))) - (values #f #f #f)))) - (if (#{syntax-object? 342}# #{e 4110}#) - (#{f 4109}# - (#{syntax-object-expression 344}# #{e 4110}#) - (#{join-wraps 424}# #{w 4111}# #{e 4110}#)) - (values - '() - #{y-pat 4094}# - (#{match 4068}# - #{e 4110}# - #{z-pat 4095}# - #{w 4111}# - #{r 4097}# - #{mod 4098}#))))))) - (begin (#{f 4109}# #{e 4092}# #{w 4096}#))))) - (#{match-each-any 4060}# - (lambda (#{e 4125}# #{w 4126}# #{mod 4127}#) - (if (pair? #{e 4125}#) - (begin - (let ((#{l 4134}# - (#{match-each-any 4060}# - (cdr #{e 4125}#) - #{w 4126}# - #{mod 4127}#))) - (if #{l 4134}# - (cons (#{wrap 442}# - (car #{e 4125}#) - #{w 4126}# - #{mod 4127}#) - #{l 4134}#) - #f))) - (if (null? #{e 4125}#) - '() - (if (#{syntax-object? 342}# #{e 4125}#) - (#{match-each-any 4060}# - (#{syntax-object-expression 344}# #{e 4125}#) - (#{join-wraps 424}# - #{w 4126}# - (#{syntax-object-wrap 346}# #{e 4125}#)) - #{mod 4127}#) - #f))))) - (#{match-empty 4062}# - (lambda (#{p 4142}# #{r 4143}#) - (if (null? #{p 4142}#) - #{r 4143}# - (if (eq? #{p 4142}# '_) - #{r 4143}# - (if (eq? #{p 4142}# 'any) - (cons '() #{r 4143}#) - (if (pair? #{p 4142}#) - (#{match-empty 4062}# - (car #{p 4142}#) - (#{match-empty 4062}# - (cdr #{p 4142}#) - #{r 4143}#)) - (if (eq? #{p 4142}# 'each-any) - (cons '() #{r 4143}#) + (#{regen 2903}# (car (cdr (cdr #{x 3099}#))))) + (error "how did we get here" #{x 3099}#)) + (#{build-application 265}# + #f + (#{build-primref 289}# #f (car #{x 3099}#)) + (map #{regen 2903}# (cdr #{x 3099}#)))))))))))) + (begin + (lambda (#{e 3115}# + #{r 3116}# + #{w 3117}# + #{s 3118}# + #{mod 3119}#) + (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}# + (@apply + (lambda (#{x 3130}#) + (call-with-values + (lambda () + (#{gen-syntax 2889}# + #{e 3126}# + #{x 3130}# + #{r 3116}# + '() + #{ellipsis? 435}# + #{mod 3119}#)) + (lambda (#{e 3131}# #{maps 3132}#) + (#{regen 2903}# #{e 3131}#)))) + #{tmp 3128}#) + (let ((#{_ 3136}# #{tmp 3127}#)) + (syntax-violation + 'syntax + "bad `syntax' form" + #{e 3126}#))))))))))) + (#{global-extend 335}# + 'core + 'lambda + (lambda (#{e 3137}# + #{r 3138}# + #{w 3139}# + #{s 3140}# + #{mod 3141}#) + (let ((#{tmp 3147}# #{e 3137}#)) + (let ((#{tmp 3148}# + ($sc-dispatch + #{tmp 3147}# + '(_ any any . each-any)))) + (if #{tmp 3148}# + (@apply + (lambda (#{args 3152}# #{e1 3153}# #{e2 3154}#) + (call-with-values + (lambda () + (#{lambda-formals 437}# #{args 3152}#)) + (lambda (#{req 3155}# + #{opt 3156}# + #{rest 3157}# + #{kw 3158}#) + (letrec* + ((#{lp 3166}# + (lambda (#{body 3167}# #{meta 3168}#) + (let ((#{tmp 3170}# #{body 3167}#)) + (let ((#{tmp 3171}# + ($sc-dispatch + #{tmp 3170}# + '(any any . each-any)))) + (if (if #{tmp 3171}# + (@apply + (lambda (#{docstring 3175}# + #{e1 3176}# + #{e2 3177}#) + (string? + (syntax->datum + #{docstring 3175}#))) + #{tmp 3171}#) + #f) + (@apply + (lambda (#{docstring 3181}# + #{e1 3182}# + #{e2 3183}#) + (#{lp 3166}# + (cons #{e1 3182}# #{e2 3183}#) + (append + #{meta 3168}# + (list (cons 'documentation + (syntax->datum + #{docstring 3181}#)))))) + #{tmp 3171}#) + (let ((#{tmp 3186}# + ($sc-dispatch + #{tmp 3170}# + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if #{tmp 3186}# + (@apply + (lambda (#{k 3191}# + #{v 3192}# + #{e1 3193}# + #{e2 3194}#) + (#{lp 3166}# + (cons #{e1 3193}# #{e2 3194}#) + (append + #{meta 3168}# + (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}#)))))))))) + (begin + (#{lp 3166}# + (cons #{e1 3153}# #{e2 3154}#) + '())))))) + #{tmp 3148}#) + (let ((#{_ 3201}# #{tmp 3147}#)) + (syntax-violation + 'lambda + "bad lambda" + #{e 3137}#))))))) + (#{global-extend 335}# + 'core + 'lambda* + (lambda (#{e 3202}# + #{r 3203}# + #{w 3204}# + #{s 3205}# + #{mod 3206}#) + (let ((#{tmp 3212}# #{e 3202}#)) + (let ((#{tmp 3213}# + ($sc-dispatch + #{tmp 3212}# + '(_ any any . each-any)))) + (if #{tmp 3213}# + (@apply + (lambda (#{args 3217}# #{e1 3218}# #{e2 3219}#) + (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}#)) + (syntax-violation + 'lambda + "bad lambda*" + #{e 3202}#))))))) + (#{global-extend 335}# + 'core + 'case-lambda + (lambda (#{e 3227}# + #{r 3228}# + #{w 3229}# + #{s 3230}# + #{mod 3231}#) + (let ((#{tmp 3237}# #{e 3227}#)) + (let ((#{tmp 3238}# + ($sc-dispatch + #{tmp 3237}# + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 3238}# + (@apply + (lambda (#{args 3245}# + #{e1 3246}# + #{e2 3247}# + #{args* 3248}# + #{e1* 3249}# + #{e2* 3250}#) + (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}#)) + (syntax-violation + 'case-lambda + "bad case-lambda" + #{e 3227}#))))))) + (#{global-extend 335}# + 'core + 'case-lambda* + (lambda (#{e 3262}# + #{r 3263}# + #{w 3264}# + #{s 3265}# + #{mod 3266}#) + (let ((#{tmp 3272}# #{e 3262}#)) + (let ((#{tmp 3273}# + ($sc-dispatch + #{tmp 3272}# + '(_ (any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp 3273}# + (@apply + (lambda (#{args 3280}# + #{e1 3281}# + #{e2 3282}# + #{args* 3283}# + #{e1* 3284}# + #{e2* 3285}#) + (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}#)) + (syntax-violation + 'case-lambda + "bad case-lambda*" + #{e 3262}#))))))) + (#{global-extend 335}# + '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}#)) + (syntax-violation + 'let + "duplicate bound variable" + #{e 3299}#) + (begin + (let ((#{labels 3319}# + (#{gen-labels 354}# #{ids 3305}#)) + (#{new-vars 3320}# + (map #{gen-var 447}# #{ids 3305}#))) + (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}#)))))))))) + (begin + (lambda (#{e 3327}# + #{r 3328}# + #{w 3329}# + #{s 3330}# + #{mod 3331}#) + (let ((#{tmp 3337}# #{e 3327}#)) + (let ((#{tmp 3338}# + ($sc-dispatch + #{tmp 3337}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3338}# + (@apply + (lambda (#{id 3343}# + #{val 3344}# + #{e1 3345}# + #{e2 3346}#) + (and-map #{id? 339}# #{id 3343}#)) + #{tmp 3338}#) + #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}# + ($sc-dispatch + #{tmp 3337}# + '(_ any #(each (any any)) any . each-any)))) + (if (if #{tmp 3359}# + (@apply + (lambda (#{f 3365}# + #{id 3366}# + #{val 3367}# + #{e1 3368}# + #{e2 3369}#) + (if (#{id? 339}# #{f 3365}#) + (and-map #{id? 339}# #{id 3366}#) + #f)) + #{tmp 3359}#) + #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}#)) + (syntax-violation + 'let + "bad let" + (#{source-wrap 407}# + #{e 3327}# + #{w 3329}# + #{s 3330}# + #{mod 3331}#)))))))))))) + (#{global-extend 335}# + 'core + 'letrec + (lambda (#{e 3388}# + #{r 3389}# + #{w 3390}# + #{s 3391}# + #{mod 3392}#) + (let ((#{tmp 3398}# #{e 3388}#)) + (let ((#{tmp 3399}# + ($sc-dispatch + #{tmp 3398}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3399}# + (@apply + (lambda (#{id 3404}# + #{val 3405}# + #{e1 3406}# + #{e2 3407}#) + (and-map #{id? 339}# #{id 3404}#)) + #{tmp 3399}#) + #f) + (@apply + (lambda (#{id 3413}# + #{val 3414}# + #{e1 3415}# + #{e2 3416}#) + (begin + (let ((#{ids 3418}# #{id 3413}#)) + (if (not (#{valid-bound-ids? 399}# #{ids 3418}#)) + (syntax-violation + 'letrec + "duplicate bound variable" + #{e 3388}#) + (begin + (let ((#{labels 3422}# + (#{gen-labels 354}# #{ids 3418}#)) + (#{new-vars 3423}# + (map #{gen-var 447}# #{ids 3418}#))) + (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}# + #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}#)) + (syntax-violation + 'letrec + "bad letrec" + (#{source-wrap 407}# + #{e 3388}# + #{w 3390}# + #{s 3391}# + #{mod 3392}#)))))))) + (#{global-extend 335}# + 'core + 'letrec* + (lambda (#{e 3434}# + #{r 3435}# + #{w 3436}# + #{s 3437}# + #{mod 3438}#) + (let ((#{tmp 3444}# #{e 3434}#)) + (let ((#{tmp 3445}# + ($sc-dispatch + #{tmp 3444}# + '(_ #(each (any any)) any . each-any)))) + (if (if #{tmp 3445}# + (@apply + (lambda (#{id 3450}# + #{val 3451}# + #{e1 3452}# + #{e2 3453}#) + (and-map #{id? 339}# #{id 3450}#)) + #{tmp 3445}#) + #f) + (@apply + (lambda (#{id 3459}# + #{val 3460}# + #{e1 3461}# + #{e2 3462}#) + (begin + (let ((#{ids 3464}# #{id 3459}#)) + (if (not (#{valid-bound-ids? 399}# #{ids 3464}#)) + (syntax-violation + 'letrec* + "duplicate bound variable" + #{e 3434}#) + (begin + (let ((#{labels 3468}# + (#{gen-labels 354}# #{ids 3464}#)) + (#{new-vars 3469}# + (map #{gen-var 447}# #{ids 3464}#))) + (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}# + #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}#)) + (syntax-violation + 'letrec* + "bad letrec*" + (#{source-wrap 407}# + #{e 3434}# + #{w 3436}# + #{s 3437}# + #{mod 3438}#)))))))) + (#{global-extend 335}# + '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}# + (@apply + (lambda (#{id 3494}# #{val 3495}#) + (#{id? 339}# #{id 3494}#)) + #{tmp 3491}#) + #f) + (@apply + (lambda (#{id 3498}# #{val 3499}#) + (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}#))) + (begin + (let ((#{b 3505}# + (#{lookup 333}# + #{n 3502}# + #{r 3481}# + #{id-mod 3503}#))) + (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) + (begin + (let ((#{p 3515}# (cdr #{b 3505}#))) + (if (procedure-property + #{p 3515}# + 'variable-transformer) + (#{chi 419}# + (#{chi-macro 425}# + #{p 3515}# + #{e 3480}# + #{r 3481}# + #{w 3482}# + #{s 3483}# + #f + #{mod 3484}#) + #{r 3481}# + '(()) + #{mod 3484}#) + (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) + (syntax-violation + 'set! + "identifier out of context" + (#{wrap 405}# + #{id 3498}# + #{w 3482}# + #{mod 3484}#)) + (syntax-violation + 'set! + "bad set!" + (#{source-wrap 407}# + #{e 3480}# + #{w 3482}# + #{s 3483}# + #{mod 3484}#))))))))))))) + #{tmp 3491}#) + (let ((#{tmp 3520}# + ($sc-dispatch + #{tmp 3490}# + '(_ (any . each-any) any)))) + (if #{tmp 3520}# + (@apply + (lambda (#{head 3524}# #{tail 3525}# #{val 3526}#) + (call-with-values + (lambda () + (#{syntax-type 417}# + #{head 3524}# + #{r 3481}# + '(()) + #f + #f + #{mod 3484}# + #t)) + (lambda (#{type 3529}# + #{value 3530}# + #{ee 3531}# + #{ww 3532}# + #{ss 3533}# + #{modmod 3534}#) + (if (eqv? #{type 3529}# 'module-ref) + (begin + (let ((#{val 3543}# + (#{chi 419}# + #{val 3526}# + #{r 3481}# + #{w 3482}# + #{mod 3484}#))) + (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}# + (@apply + (lambda (#{e 3558}#) + (#{id? 339}# #{e 3558}#)) + #{tmp 3556}#) + #f) + (@apply + (lambda (#{e 3560}#) + (#{build-global-assignment 279}# + #{s 3483}# + (syntax->datum #{e 3560}#) + #{val 3543}# + #{mod 3549}#)) + #{tmp 3556}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3555}#)))))))) + (#{build-application 265}# + #{s 3483}# + (#{chi 419}# + (list '#(syntax-object + setter + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(type value ee ww ss modmod) + #((top) + (top) + (top) + (top) + (top) + (top)) + #("i3535" + "i3536" + "i3537" + "i3538" + "i3539" + "i3540")) + #(ribcage + #(head tail val) + #((top) (top) (top)) + #("i3521" "i3522" "i3523")) + #(ribcage () () ()) + #(ribcage + #(e r w s mod) + #((top) (top) (top) (top) (top)) + #("i3485" + "i3486" + "i3487" + "i3488" + "i3489")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((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}#)) + (append + #{tail 3525}# + (list #{val 3526}#)))))))) + #{tmp 3520}#) + (let ((#{_ 3566}# #{tmp 3490}#)) + (syntax-violation + 'set! + "bad set!" + (#{source-wrap 407}# + #{e 3480}# + #{w 3482}# + #{s 3483}# + #{mod 3484}#)))))))))) + (#{global-extend 335}# + '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}# + (@apply + (lambda (#{mod 3577}# #{id 3578}#) + (if (and-map #{id? 339}# #{mod 3577}#) + (#{id? 339}# #{id 3578}#) + #f)) + #{tmp 3574}#) + #f) + (@apply + (lambda (#{mod 3584}# #{id 3585}#) + (values + (syntax->datum #{id 3585}#) + #{r 3568}# + #{w 3569}# + #f + (syntax->datum + (cons '#(syntax-object + public + ((top) + #(ribcage + #(mod id) + #((top) (top)) + #("i3582" "i3583")) + #(ribcage () () ()) + #(ribcage + #(e r w) + #((top) (top) (top)) + #("i3570" "i3571" "i3572")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile)) + #{mod 3584}#)))) + #{tmp 3574}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3573}#)))))) + (#{global-extend 335}# + 'module-ref + '@@ + (lambda (#{e 3587}# #{r 3588}# #{w 3589}#) + (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}#) + (begin + (let ((#{n 3607}# (vector-length #{x 3595}#))) (begin - (let ((#{atom-key 4159}# - (vector-ref #{p 4142}# 0))) - (if (eqv? #{atom-key 4159}# 'each) - (#{match-empty 4062}# - (vector-ref #{p 4142}# 1) - #{r 4143}#) - (if (eqv? #{atom-key 4159}# 'each+) - (#{match-empty 4062}# - (vector-ref #{p 4142}# 1) - (#{match-empty 4062}# - (reverse (vector-ref #{p 4142}# 2)) - (#{match-empty 4062}# - (vector-ref #{p 4142}# 3) - #{r 4143}#))) - (if (if (eqv? #{atom-key 4159}# 'free-id) - #t - (eqv? #{atom-key 4159}# 'atom)) - #{r 4143}# - (if (eqv? #{atom-key 4159}# 'vector) - (#{match-empty 4062}# - (vector-ref #{p 4142}# 1) - #{r 4143}#)))))))))))))) - (#{combine 4064}# - (lambda (#{r* 4164}# #{r 4165}#) - (if (null? (car #{r* 4164}#)) - #{r 4165}# - (cons (map car #{r* 4164}#) - (#{combine 4064}# - (map cdr #{r* 4164}#) - #{r 4165}#))))) - (#{match* 4066}# - (lambda (#{e 4168}# - #{p 4169}# - #{w 4170}# - #{r 4171}# - #{mod 4172}#) - (if (null? #{p 4169}#) - (if (null? #{e 4168}#) #{r 4171}# #f) - (if (pair? #{p 4169}#) - (if (pair? #{e 4168}#) - (#{match 4068}# - (car #{e 4168}#) - (car #{p 4169}#) - #{w 4170}# - (#{match 4068}# - (cdr #{e 4168}#) - (cdr #{p 4169}#) - #{w 4170}# - #{r 4171}# - #{mod 4172}#) - #{mod 4172}#) - #f) - (if (eq? #{p 4169}# 'each-any) - (begin - (let ((#{l 4189}# - (#{match-each-any 4060}# - #{e 4168}# - #{w 4170}# - #{mod 4172}#))) - (if #{l 4189}# (cons #{l 4189}# #{r 4171}#) #f))) - (begin - (let ((#{atom-key 4195}# (vector-ref #{p 4169}# 0))) - (if (eqv? #{atom-key 4195}# 'each) - (if (null? #{e 4168}#) - (#{match-empty 4062}# - (vector-ref #{p 4169}# 1) - #{r 4171}#) - (begin - (let ((#{l 4198}# - (#{match-each 4056}# - #{e 4168}# - (vector-ref #{p 4169}# 1) - #{w 4170}# - #{mod 4172}#))) - (if #{l 4198}# - (letrec* - ((#{collect 4203}# - (lambda (#{l 4204}#) - (if (null? (car #{l 4204}#)) - #{r 4171}# - (cons (map car #{l 4204}#) - (#{collect 4203}# - (map cdr - #{l 4204}#))))))) - (begin (#{collect 4203}# #{l 4198}#))) - #f)))) - (if (eqv? #{atom-key 4195}# 'each+) - (call-with-values - (lambda () - (#{match-each+ 4058}# - #{e 4168}# - (vector-ref #{p 4169}# 1) - (vector-ref #{p 4169}# 2) - (vector-ref #{p 4169}# 3) - #{w 4170}# - #{r 4171}# - #{mod 4172}#)) - (lambda (#{xr* 4206}# - #{y-pat 4207}# - #{r 4208}#) - (if #{r 4208}# - (if (null? #{y-pat 4207}#) - (if (null? #{xr* 4206}#) - (#{match-empty 4062}# - (vector-ref #{p 4169}# 1) - #{r 4208}#) - (#{combine 4064}# - #{xr* 4206}# - #{r 4208}#)) - #f) - #f))) - (if (eqv? #{atom-key 4195}# 'free-id) - (if (#{id? 376}# #{e 4168}#) - (if (#{free-id=? 432}# - (#{wrap 442}# - #{e 4168}# - #{w 4170}# - #{mod 4172}#) - (vector-ref #{p 4169}# 1)) - #{r 4171}# - #f) - #f) - (if (eqv? #{atom-key 4195}# 'atom) - (if (equal? - (vector-ref #{p 4169}# 1) - (#{strip 482}# #{e 4168}# #{w 4170}#)) - #{r 4171}# - #f) - (if (eqv? #{atom-key 4195}# 'vector) - (if (vector? #{e 4168}#) - (#{match 4068}# - (vector->list #{e 4168}#) - (vector-ref #{p 4169}# 1) - #{w 4170}# - #{r 4171}# - #{mod 4172}#) - #f))))))))))))) - (#{match 4068}# - (lambda (#{e 4225}# - #{p 4226}# - #{w 4227}# - #{r 4228}# - #{mod 4229}#) - (if (not #{r 4228}#) - #f - (if (eq? #{p 4226}# '_) - #{r 4228}# - (if (eq? #{p 4226}# 'any) - (cons (#{wrap 442}# #{e 4225}# #{w 4227}# #{mod 4229}#) - #{r 4228}#) - (if (#{syntax-object? 342}# #{e 4225}#) - (#{match* 4066}# - (#{syntax-object-expression 344}# #{e 4225}#) - #{p 4226}# - (#{join-wraps 424}# - #{w 4227}# - (#{syntax-object-wrap 346}# #{e 4225}#)) - #{r 4228}# - (#{syntax-object-module 348}# #{e 4225}#)) - (#{match* 4066}# - #{e 4225}# - #{p 4226}# - #{w 4227}# - #{r 4228}# - #{mod 4229}#)))))))) + (let ((#{v 3609}# (make-vector #{n 3607}#))) + (letrec* + ((#{loop 3612}# + (lambda (#{i 3613}#) + (if (= #{i 3613}# #{n 3607}#) + (begin (if #f #f) #{v 3609}#) + (begin + (vector-set! + #{v 3609}# + #{i 3613}# + (#{remodulate 3594}# + (vector-ref + #{x 3595}# + #{i 3613}#) + #{mod 3596}#)) + (#{loop 3612}# + (#{1+}# #{i 3613}#))))))) + (begin (#{loop 3612}# 0))))))) + #{x 3595}#)))))) (begin - (set! $sc-dispatch - (lambda (#{e 4244}# #{p 4245}#) - (if (eq? #{p 4245}# 'any) - (list #{e 4244}#) - (if (eq? #{p 4245}# '_) + (let ((#{tmp 3619}# #{e 3587}#)) + (let ((#{tmp 3620}# + ($sc-dispatch #{tmp 3619}# '(_ each-any any)))) + (if (if #{tmp 3620}# + (@apply + (lambda (#{mod 3623}# #{exp 3624}#) + (and-map #{id? 339}# #{mod 3623}#)) + #{tmp 3620}#) + #f) + (@apply + (lambda (#{mod 3628}# #{exp 3629}#) + (begin + (let ((#{mod 3631}# + (syntax->datum + (cons '#(syntax-object + private + ((top) + #(ribcage + #(mod exp) + #((top) (top)) + #("i3626" "i3627")) + #(ribcage + (remodulate) + ((top)) + ("i3593")) + #(ribcage + #(e r w) + #((top) (top) (top)) + #("i3590" "i3591" "i3592")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile)) + #{mod 3628}#)))) + (values + (#{remodulate 3594}# #{exp 3629}# #{mod 3631}#) + #{r 3588}# + #{w 3589}# + (#{source-annotation 320}# #{exp 3629}#) + #{mod 3631}#)))) + #{tmp 3620}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3619}#)))))))) + (#{global-extend 335}# + '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}# + (@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}# + (@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}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3643}#)))))))) + (#{global-extend 335}# + 'core + 'with-fluids + (lambda (#{e 3657}# + #{r 3658}# + #{w 3659}# + #{s 3660}# + #{mod 3661}#) + (let ((#{tmp 3667}# #{e 3657}#)) + (let ((#{tmp 3668}# + ($sc-dispatch + #{tmp 3667}# + '(_ #(each (any any)) any . each-any)))) + (if #{tmp 3668}# + (@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}#) + (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}# + 'define-syntax + 'define-syntax + '()) + (#{global-extend 335}# 'eval-when 'eval-when '()) + (#{global-extend 335}# + 'core + 'syntax-case + (letrec* + ((#{convert-pattern 3685}# + (lambda (#{pattern 3692}# #{keys 3693}#) + (letrec* + ((#{cvt* 3697}# + (lambda (#{p* 3700}# #{n 3701}# #{ids 3702}#) + (if (null? #{p* 3700}#) + (values '() #{ids 3702}#) + (call-with-values + (lambda () + (#{cvt* 3697}# + (cdr #{p* 3700}#) + #{n 3701}# + #{ids 3702}#)) + (lambda (#{y 3706}# #{ids 3707}#) + (call-with-values + (lambda () + (#{cvt 3699}# + (car #{p* 3700}#) + #{n 3701}# + #{ids 3707}#)) + (lambda (#{x 3710}# #{ids 3711}#) + (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}#) + (values + (vector 'free-id #{p 3714}#) + #{ids 3716}#) + (if (#{free-id=? 395}# + #{p 3714}# + '#(syntax-object + _ + ((top) + #(ribcage () () ()) + #(ribcage + #(p n ids) + #((top) (top) (top)) + #("i3717" "i3718" "i3719")) + #(ribcage + (cvt cvt*) + ((top) (top)) + ("i3698" "i3696")) + #(ribcage + #(pattern keys) + #((top) (top)) + #("i3694" "i3695")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3690" "i3688" "i3686" "i3684")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + (values '_ #{ids 3716}#) + (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}# + (@apply + (lambda (#{x 3729}# #{dots 3730}#) + (#{ellipsis? 435}# #{dots 3730}#)) + #{tmp 3726}#) + #f) + (@apply + (lambda (#{x 3733}# #{dots 3734}#) + (call-with-values + (lambda () + (#{cvt 3699}# + #{x 3733}# + (#{1+}# #{n 3715}#) + #{ids 3716}#)) + (lambda (#{p 3736}# #{ids 3737}#) + (values + (if (eq? #{p 3736}# 'any) + 'each-any + (vector 'each #{p 3736}#)) + #{ids 3737}#)))) + #{tmp 3726}#) + (let ((#{tmp 3740}# + ($sc-dispatch + #{tmp 3725}# + '(any any . each-any)))) + (if (if #{tmp 3740}# + (@apply + (lambda (#{x 3744}# + #{dots 3745}# + #{ys 3746}#) + (#{ellipsis? 435}# #{dots 3745}#)) + #{tmp 3740}#) + #f) + (@apply + (lambda (#{x 3750}# + #{dots 3751}# + #{ys 3752}#) + (call-with-values + (lambda () + (#{cvt* 3697}# + #{ys 3752}# + #{n 3715}# + #{ids 3716}#)) + (lambda (#{ys 3754}# #{ids 3755}#) + (call-with-values + (lambda () + (#{cvt 3699}# + #{x 3750}# + (#{1+}# #{n 3715}#) + #{ids 3755}#)) + (lambda (#{x 3758}# #{ids 3759}#) + (values + (vector + 'each+ + #{x 3758}# + (reverse #{ys 3754}#) + '()) + #{ids 3759}#)))))) + #{tmp 3740}#) + (let ((#{tmp 3763}# + ($sc-dispatch + #{tmp 3725}# + '(any . any)))) + (if #{tmp 3763}# + (@apply + (lambda (#{x 3766}# #{y 3767}#) + (call-with-values + (lambda () + (#{cvt 3699}# + #{y 3767}# + #{n 3715}# + #{ids 3716}#)) + (lambda (#{y 3768}# #{ids 3769}#) + (call-with-values + (lambda () + (#{cvt 3699}# + #{x 3766}# + #{n 3715}# + #{ids 3769}#)) + (lambda (#{x 3772}# + #{ids 3773}#) + (values + (cons #{x 3772}# + #{y 3768}#) + #{ids 3773}#)))))) + #{tmp 3763}#) + (let ((#{tmp 3776}# + ($sc-dispatch #{tmp 3725}# '()))) + (if #{tmp 3776}# + (@apply + (lambda () + (values '() #{ids 3716}#)) + #{tmp 3776}#) + (let ((#{tmp 3777}# + ($sc-dispatch + #{tmp 3725}# + '#(vector each-any)))) + (if #{tmp 3777}# + (@apply + (lambda (#{x 3779}#) + (call-with-values + (lambda () + (#{cvt 3699}# + #{x 3779}# + #{n 3715}# + #{ids 3716}#)) + (lambda (#{p 3781}# + #{ids 3782}#) + (values + (vector + 'vector + #{p 3781}#) + #{ids 3782}#)))) + #{tmp 3777}#) + (let ((#{x 3786}# #{tmp 3725}#)) + (values + (vector + 'atom + (#{strip 445}# + #{p 3714}# + '(()))) + #{ids 3716}#))))))))))))))))) + (begin (#{cvt 3699}# #{pattern 3692}# 0 '()))))) + (#{build-dispatch-call 3687}# + (lambda (#{pvars 3788}# + #{exp 3789}# + #{y 3790}# + #{r 3791}# + #{mod 3792}#) + (begin + (map cdr #{pvars 3788}#) + (let ((#{ids 3800}# (map car #{pvars 3788}#))) + (begin + (let ((#{labels 3804}# + (#{gen-labels 354}# #{ids 3800}#)) + (#{new-vars 3805}# + (map #{gen-var 447}# #{ids 3800}#))) + (#{build-application 265}# + #f + (#{build-primref 289}# #f 'apply) + (list (#{build-simple-lambda 283}# + #f + (map syntax->datum #{ids 3800}#) + #f + #{new-vars 3805}# + '() + (#{chi 419}# + #{exp 3789}# + (#{extend-env 327}# + #{labels 3804}# + (map (lambda (#{var 3809}# #{level 3810}#) + (cons 'syntax + (cons #{var 3809}# + #{level 3810}#))) + #{new-vars 3805}# + (map cdr #{pvars 3788}#)) + #{r 3791}#) + (#{make-binding-wrap 383}# + #{ids 3800}# + #{labels 3804}# + '(())) + #{mod 3792}#)) + #{y 3790}#)))))))) + (#{gen-clause 3689}# + (lambda (#{x 3816}# + #{keys 3817}# + #{clauses 3818}# + #{r 3819}# + #{pat 3820}# + #{fender 3821}# + #{exp 3822}# + #{mod 3823}#) + (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}#))) + (syntax-violation + 'syntax-case + "duplicate pattern variable" + #{pat 3820}#) + (if (not (and-map + (lambda (#{x 3840}#) + (not (#{ellipsis? 435}# (car #{x 3840}#)))) + #{pvars 3833}#)) + (syntax-violation + 'syntax-case + "misplaced ellipsis" + #{pat 3820}#) + (begin + (let ((#{y 3844}# (#{gen-var 447}# 'tmp))) + (#{build-application 265}# + #f + (#{build-simple-lambda 283}# + #f + (list 'tmp) + #f + (list #{y 3844}#) + '() + (begin + (let ((#{y 3848}# + (#{build-lexical-reference 271}# + 'value + #f + 'tmp + #{y 3844}#))) + (#{build-conditional 267}# + #f + (let ((#{tmp 3851}# #{fender 3821}#)) + (let ((#{tmp 3852}# + ($sc-dispatch + #{tmp 3851}# + '#(atom #t)))) + (if #{tmp 3852}# + (@apply + (lambda () #{y 3848}#) + #{tmp 3852}#) + (let ((#{_ 3854}# #{tmp 3851}#)) + (#{build-conditional 267}# + #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-application 265}# + #f + (#{build-primref 289}# #f 'list) + (list #{x 3816}#)) + (#{build-application 265}# + #f + (#{build-primref 289}# #f '$sc-dispatch) + (list #{x 3816}# + (#{build-data 291}# + #f + #{p 3832}#)))))))))))))) + (#{gen-syntax-case 3691}# + (lambda (#{x 3862}# + #{keys 3863}# + #{clauses 3864}# + #{r 3865}# + #{mod 3866}#) + (if (null? #{clauses 3864}#) + (#{build-application 265}# + #f + (#{build-primref 289}# #f 'syntax-violation) + (list (#{build-data 291}# #f #f) + (#{build-data 291}# + #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}# + (@apply + (lambda (#{pat 3880}# #{exp 3881}#) + (if (if (#{id? 339}# #{pat 3880}#) + (and-map + (lambda (#{x 3884}#) + (not (#{free-id=? 395}# + #{pat 3880}# + #{x 3884}#))) + (cons '#(syntax-object + ... + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3878" "i3879")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("i3867" + "i3868" + "i3869" + "i3870" + "i3871")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3690" + "i3688" + "i3686" + "i3684")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile)) + #{keys 3863}#)) + #f) + (if (#{free-id=? 395}# + '#(syntax-object + pad + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3878" "i3879")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("i3867" + "i3868" + "i3869" + "i3870" + "i3871")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3690" "i3688" "i3686" "i3684")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile)) + '#(syntax-object + _ + ((top) + #(ribcage + #(pat exp) + #((top) (top)) + #("i3878" "i3879")) + #(ribcage () () ()) + #(ribcage + #(x keys clauses r mod) + #((top) (top) (top) (top) (top)) + #("i3867" + "i3868" + "i3869" + "i3870" + "i3871")) + #(ribcage + (gen-syntax-case + gen-clause + build-dispatch-call + convert-pattern) + ((top) (top) (top) (top)) + ("i3690" "i3688" "i3686" "i3684")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + maybe-name-value! + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i448" + "i446" + "i444" + "i442" + "i440" + "i438" + "i436" + "i434" + "i432" + "i430" + "i428" + "i426" + "i424" + "i422" + "i420" + "i418" + "i416" + "i414" + "i412" + "i410" + "i408" + "i406" + "i404" + "i402" + "i400" + "i398" + "i396" + "i394" + "i392" + "i390" + "i388" + "i386" + "i384" + "i382" + "i380" + "i379" + "i378" + "i376" + "i375" + "i374" + "i373" + "i372" + "i370" + "i368" + "i366" + "i364" + "i362" + "i360" + "i358" + "i356" + "i353" + "i351" + "i350" + "i349" + "i348" + "i347" + "i346" + "i345" + "i344" + "i343" + "i341" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i325" + "i324" + "i323" + "i322" + "i321" + "i319" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i298" + "i296" + "i294" + "i292" + "i290" + "i288" + "i286" + "i284" + "i282" + "i280" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i253" + "i251" + "i249" + "i248" + "i247" + "i246" + "i245" + "i243" + "i241" + "i239" + "i236" + "i234" + "i232" + "i230" + "i228" + "i226" + "i224" + "i222" + "i220" + "i218" + "i216" + "i214" + "i212" + "i210" + "i208" + "i206" + "i204" + "i202")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors) + ((top) (top) (top)) + ("i40" "i39" "i38"))) + (hygiene guile))) + (#{chi 419}# + #{exp 3881}# + #{r 3865}# + '(()) + #{mod 3866}#) + (begin + (let ((#{labels 3889}# + (list (#{gen-label 352}#))) + (#{var 3890}# + (#{gen-var 447}# #{pat 3880}#))) + (#{build-application 265}# + #f + (#{build-simple-lambda 283}# + #f + (list (syntax->datum #{pat 3880}#)) + #f + (list #{var 3890}#) + '() + (#{chi 419}# + #{exp 3881}# + (#{extend-env 327}# + #{labels 3889}# + (list (cons 'syntax + (cons #{var 3890}# 0))) + #{r 3865}#) + (#{make-binding-wrap 383}# + (list #{pat 3880}#) + #{labels 3889}# + '(())) + #{mod 3866}#)) + (list #{x 3862}#))))) + (#{gen-clause 3689}# + #{x 3862}# + #{keys 3863}# + (cdr #{clauses 3864}#) + #{r 3865}# + #{pat 3880}# + #t + #{exp 3881}# + #{mod 3866}#))) + #{tmp 3877}#) + (let ((#{tmp 3896}# + ($sc-dispatch #{tmp 3876}# '(any any any)))) + (if #{tmp 3896}# + (@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}#)) + (syntax-violation + 'syntax-case + "invalid clause" + (car #{clauses 3864}#)))))))))))) + (begin + (lambda (#{e 3905}# + #{r 3906}# + #{w 3907}# + #{s 3908}# + #{mod 3909}#) + (begin + (let ((#{e 3916}# + (#{source-wrap 407}# + #{e 3905}# + #{w 3907}# + #{s 3908}# + #{mod 3909}#))) + (let ((#{tmp 3917}# #{e 3916}#)) + (let ((#{tmp 3918}# + ($sc-dispatch + #{tmp 3917}# + '(_ any each-any . each-any)))) + (if #{tmp 3918}# + (@apply + (lambda (#{val 3922}# #{key 3923}# #{m 3924}#) + (if (and-map + (lambda (#{x 3925}#) + (if (#{id? 339}# #{x 3925}#) + (not (#{ellipsis? 435}# #{x 3925}#)) + #f)) + #{key 3923}#) + (begin + (let ((#{x 3931}# (#{gen-var 447}# 'tmp))) + (#{build-application 265}# + #{s 3908}# + (#{build-simple-lambda 283}# + #f + (list 'tmp) + #f + (list #{x 3931}#) + '() + (#{gen-syntax-case 3691}# + (#{build-lexical-reference 271}# + 'value + #f + 'tmp + #{x 3931}#) + #{key 3923}# + #{m 3924}# + #{r 3906}# + #{mod 3909}#)) + (list (#{chi 419}# + #{val 3922}# + #{r 3906}# + '(()) + #{mod 3909}#))))) + (syntax-violation + 'syntax-case + "invalid literals list" + #{e 3916}#))) + #{tmp 3918}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp 3917}#)))))))))) + (set! macroexpand + (lambda* + (#{x 3937}# + #:optional + (#{m 3939}# 'e) + (#{esew 3941}# '(eval))) + (#{chi-top-sequence 411}# + (list #{x 3937}#) + '() + '((top)) + #f + #{m 3939}# + #{esew 3941}# + (cons 'hygiene (module-name (current-module)))))) + (set! identifier? + (lambda (#{x 3945}#) + (#{nonsymbol-id? 337}# #{x 3945}#))) + (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}#)))) + (set! syntax->datum + (lambda (#{x 3951}#) + (#{strip 445}# #{x 3951}# '(())))) + (set! syntax-source + (lambda (#{x 3954}#) + (#{source-annotation 320}# #{x 3954}#))) + (set! generate-temporaries + (lambda (#{ls 3956}#) + (begin + (begin + (let ((#{x 3960}# #{ls 3956}#)) + (if (not (list? #{x 3960}#)) + (syntax-violation + 'generate-temporaries + "invalid argument" + #{x 3960}#)))) + (map (lambda (#{x 3961}#) + (#{wrap 405}# (gensym) '((top)) #f)) + #{ls 3956}#)))) + (set! free-identifier=? + (lambda (#{x 3965}# #{y 3966}#) + (begin + (begin + (let ((#{x 3971}# #{x 3965}#)) + (if (not (#{nonsymbol-id? 337}# #{x 3971}#)) + (syntax-violation + 'free-identifier=? + "invalid argument" + #{x 3971}#)))) + (begin + (let ((#{x 3974}# #{y 3966}#)) + (if (not (#{nonsymbol-id? 337}# #{x 3974}#)) + (syntax-violation + 'free-identifier=? + "invalid argument" + #{x 3974}#)))) + (#{free-id=? 395}# #{x 3965}# #{y 3966}#)))) + (set! bound-identifier=? + (lambda (#{x 3975}# #{y 3976}#) + (begin + (begin + (let ((#{x 3981}# #{x 3975}#)) + (if (not (#{nonsymbol-id? 337}# #{x 3981}#)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + #{x 3981}#)))) + (begin + (let ((#{x 3984}# #{y 3976}#)) + (if (not (#{nonsymbol-id? 337}# #{x 3984}#)) + (syntax-violation + 'bound-identifier=? + "invalid argument" + #{x 3984}#)))) + (#{bound-id=? 397}# #{x 3975}# #{y 3976}#)))) + (set! syntax-violation + (lambda* + (#{who 3985}# + #{message 3986}# + #{form 3987}# + #:optional + (#{subform 3991}# #f)) + (begin + (begin + (let ((#{x 3995}# #{who 3985}#)) + (if (not (let ((#{x 3996}# #{x 3995}#)) + (begin + (let ((#{t 4000}# (not #{x 3996}#))) + (if #{t 4000}# + #{t 4000}# + (begin + (let ((#{t 4003}# (string? #{x 3996}#))) + (if #{t 4003}# + #{t 4003}# + (symbol? #{x 3996}#))))))))) + (syntax-violation + 'syntax-violation + "invalid argument" + #{x 3995}#)))) + (begin + (let ((#{x 4007}# #{message 3986}#)) + (if (not (string? #{x 4007}#)) + (syntax-violation + 'syntax-violation + "invalid argument" + #{x 4007}#)))) + (throw 'syntax-error + #{who 3985}# + #{message 3986}# + (#{source-annotation 320}# + (begin + (let ((#{t 4010}# #{form 3987}#)) + (if #{t 4010}# #{t 4010}# #{subform 3991}#)))) + (#{strip 445}# #{form 3987}# '(())) + (if #{subform 3991}# + (#{strip 445}# #{subform 3991}# '(())) + #f))))) + (letrec* + ((#{match-each 4017}# + (lambda (#{e 4030}# #{p 4031}# #{w 4032}# #{mod 4033}#) + (if (pair? #{e 4030}#) + (begin + (let ((#{first 4041}# + (#{match 4029}# + (car #{e 4030}#) + #{p 4031}# + #{w 4032}# + '() + #{mod 4033}#))) + (if #{first 4041}# + (begin + (let ((#{rest 4045}# + (#{match-each 4017}# + (cdr #{e 4030}#) + #{p 4031}# + #{w 4032}# + #{mod 4033}#))) + (if #{rest 4045}# + (cons #{first 4041}# #{rest 4045}#) + #f))) + #f))) + (if (null? #{e 4030}#) + '() + (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}#)) + #f))))) + (#{match-each+ 4019}# + (lambda (#{e 4053}# + #{x-pat 4054}# + #{y-pat 4055}# + #{z-pat 4056}# + #{w 4057}# + #{r 4058}# + #{mod 4059}#) + (letrec* + ((#{f 4070}# + (lambda (#{e 4071}# #{w 4072}#) + (if (pair? #{e 4071}#) + (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}#) + (begin + (let ((#{xr 4082}# + (#{match 4029}# + (car #{e 4071}#) + #{x-pat 4054}# + #{w 4072}# + '() + #{mod 4059}#))) + (if #{xr 4082}# + (values + (cons #{xr 4082}# #{xr* 4075}#) + #{y-pat 4076}# + #{r 4077}#) + (values #f #f #f)))) + (values + '() + (cdr #{y-pat 4076}#) + (#{match 4029}# + (car #{e 4071}#) + (car #{y-pat 4076}#) + #{w 4072}# + #{r 4077}# + #{mod 4059}#))) + (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}#)) + (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}#) + (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}#) + #f))) + (if (null? #{e 4086}#) + '() + (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}#) + #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}#) + (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}#) + #f) + (if (eq? #{p 4130}# '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))) + (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}#) + (begin + (let ((#{l 4159}# + (#{match-each 4017}# + #{e 4129}# + (vector-ref #{p 4130}# 1) + #{w 4131}# + #{mod 4133}#))) + (if #{l 4159}# + (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}#))) + #f)))) + (if (eqv? #{atom-key 4156}# '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}#)) + #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}# + #f) + #f) + (if (eqv? #{atom-key 4156}# 'atom) + (if (equal? + (vector-ref #{p 4130}# 1) + (#{strip 445}# #{e 4129}# #{w 4131}#)) + #{r 4132}# + #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}#) + #f))))))))))))) + (#{match 4029}# + (lambda (#{e 4186}# + #{p 4187}# + #{w 4188}# + #{r 4189}# + #{mod 4190}#) + (if (not #{r 4189}#) + #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}#)))))))) + (begin + (set! $sc-dispatch + (lambda (#{e 4205}# #{p 4206}#) + (if (eq? #{p 4206}# 'any) + (list #{e 4205}#) + (if (eq? #{p 4206}# '_) + '() + (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? 342}# #{e 4244}#) - (#{match* 4066}# - (#{syntax-object-expression 344}# #{e 4244}#) - #{p 4245}# - (#{syntax-object-wrap 346}# #{e 4244}#) - '() - (#{syntax-object-module 348}# #{e 4244}#)) - (#{match* 4066}# - #{e 4244}# - #{p 4245}# - '(()) - '() - #f))))))))))))) + (#{syntax-object-module 311}# #{e 4205}#)) + (#{match* 4027}# + #{e 4205}# + #{p 4206}# + '(()) + '() + #f))))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro - (lambda (#{x 4256}#) - (let ((#{tmp 4258}# #{x 4256}#)) - (let ((#{tmp 4259}# + (lambda (#{x 4217}#) + (let ((#{tmp 4219}# #{x 4217}#)) + (let ((#{tmp 4220}# ($sc-dispatch - #{tmp 4258}# + #{tmp 4219}# '(_ () any . each-any)))) - (if #{tmp 4259}# + (if #{tmp 4220}# (@apply - (lambda (#{e1 4262}# #{e2 4263}#) + (lambda (#{e1 4223}# #{e2 4224}#) (cons '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4260" "i4261")) + #("i4221" "i4222")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4257"))) + #(ribcage #(x) #((top)) #("i4218"))) (hygiene guile)) - (cons '() (cons #{e1 4262}# #{e2 4263}#)))) - #{tmp 4259}#) - (let ((#{tmp 4265}# + (cons '() (cons #{e1 4223}# #{e2 4224}#)))) + #{tmp 4220}#) + (let ((#{tmp 4226}# ($sc-dispatch - #{tmp 4258}# + #{tmp 4219}# '(_ ((any any)) any . each-any)))) - (if #{tmp 4265}# + (if #{tmp 4226}# (@apply - (lambda (#{out 4270}# - #{in 4271}# - #{e1 4272}# - #{e2 4273}#) + (lambda (#{out 4231}# + #{in 4232}# + #{e1 4233}# + #{e2 4234}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4266" "i4267" "i4268" "i4269")) + #("i4227" "i4228" "i4229" "i4230")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4257"))) + #(ribcage #(x) #((top)) #("i4218"))) (hygiene guile)) - #{in 4271}# + #{in 4232}# '() - (list #{out 4270}# + (list #{out 4231}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4266" "i4267" "i4268" "i4269")) + #("i4227" "i4228" "i4229" "i4230")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4257"))) + #(ribcage #(x) #((top)) #("i4218"))) (hygiene guile)) (cons '() - (cons #{e1 4272}# #{e2 4273}#)))))) - #{tmp 4265}#) - (let ((#{tmp 4275}# + (cons #{e1 4233}# #{e2 4234}#)))))) + #{tmp 4226}#) + (let ((#{tmp 4236}# ($sc-dispatch - #{tmp 4258}# + #{tmp 4219}# '(_ #(each (any any)) any . each-any)))) - (if #{tmp 4275}# + (if #{tmp 4236}# (@apply - (lambda (#{out 4280}# - #{in 4281}# - #{e1 4282}# - #{e2 4283}#) + (lambda (#{out 4241}# + #{in 4242}# + #{e1 4243}# + #{e2 4244}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4276" "i4277" "i4278" "i4279")) + #("i4237" "i4238" "i4239" "i4240")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4257"))) + #(ribcage #(x) #((top)) #("i4218"))) (hygiene guile)) (cons '#(syntax-object list @@ -14402,63 +14191,63 @@ #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4276" "i4277" "i4278" "i4279")) + #("i4237" "i4238" "i4239" "i4240")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4257"))) + #(ribcage #(x) #((top)) #("i4218"))) (hygiene guile)) - #{in 4281}#) + #{in 4242}#) '() - (list #{out 4280}# + (list #{out 4241}# (cons '#(syntax-object let ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) - #("i4276" - "i4277" - "i4278" - "i4279")) + #("i4237" + "i4238" + "i4239" + "i4240")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4257"))) + #("i4218"))) (hygiene guile)) (cons '() - (cons #{e1 4282}# - #{e2 4283}#)))))) - #{tmp 4275}#) + (cons #{e1 4243}# + #{e2 4244}#)))))) + #{tmp 4236}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4258}#))))))))))) + #{tmp 4219}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro - (lambda (#{x 4287}#) - (let ((#{tmp 4289}# #{x 4287}#)) - (let ((#{tmp 4290}# + (lambda (#{x 4248}#) + (let ((#{tmp 4250}# #{x 4248}#)) + (let ((#{tmp 4251}# ($sc-dispatch - #{tmp 4289}# + #{tmp 4250}# '(_ each-any . #(each ((any . any) any)))))) - (if #{tmp 4290}# + (if #{tmp 4251}# (@apply - (lambda (#{k 4295}# - #{keyword 4296}# - #{pattern 4297}# - #{template 4298}#) + (lambda (#{k 4256}# + #{keyword 4257}# + #{pattern 4258}# + #{template 4259}#) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) '(#(syntax-object x @@ -14466,9 +14255,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile))) (vector '(#(syntax-object @@ -14477,9 +14266,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) . #(syntax-object @@ -14488,9 +14277,9 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14498,20 +14287,20 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) - #{pattern 4297}#)) + #{pattern 4258}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) (cons '#(syntax-object x @@ -14519,13 +14308,13 @@ #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) - #("i4291" "i4292" "i4293" "i4294")) + #("i4252" "i4253" "i4254" "i4255")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) - (cons #{k 4295}# - (map (lambda (#{tmp 4302}# - #{tmp 4301}#) + (cons #{k 4256}# + (map (lambda (#{tmp 4263}# + #{tmp 4262}#) (list (cons '#(syntax-object dummy ((top) @@ -14538,10 +14327,10 @@ (top) (top) (top)) - #("i4291" - "i4292" - "i4293" - "i4294")) + #("i4252" + "i4253" + "i4254" + "i4255")) #(ribcage () () @@ -14549,9 +14338,9 @@ #(ribcage #(x) #((top)) - #("i4288"))) + #("i4249"))) (hygiene guile)) - #{tmp 4301}#) + #{tmp 4262}#) (list '#(syntax-object syntax ((top) @@ -14564,10 +14353,10 @@ (top) (top) (top)) - #("i4291" - "i4292" - "i4293" - "i4294")) + #("i4252" + "i4253" + "i4254" + "i4255")) #(ribcage () () @@ -14575,41 +14364,41 @@ #(ribcage #(x) #((top)) - #("i4288"))) + #("i4249"))) (hygiene guile)) - #{tmp 4302}#))) - #{template 4298}# - #{pattern 4297}#)))))) - #{tmp 4290}#) - (let ((#{tmp 4303}# + #{tmp 4263}#))) + #{template 4259}# + #{pattern 4258}#)))))) + #{tmp 4251}#) + (let ((#{tmp 4264}# ($sc-dispatch - #{tmp 4289}# + #{tmp 4250}# '(_ each-any any . #(each ((any . any) any)))))) - (if (if #{tmp 4303}# + (if (if #{tmp 4264}# (@apply - (lambda (#{k 4309}# - #{docstring 4310}# - #{keyword 4311}# - #{pattern 4312}# - #{template 4313}#) - (string? (syntax->datum #{docstring 4310}#))) - #{tmp 4303}#) + (lambda (#{k 4270}# + #{docstring 4271}# + #{keyword 4272}# + #{pattern 4273}# + #{template 4274}#) + (string? (syntax->datum #{docstring 4271}#))) + #{tmp 4264}#) #f) (@apply - (lambda (#{k 4319}# - #{docstring 4320}# - #{keyword 4321}# - #{pattern 4322}# - #{template 4323}#) + (lambda (#{k 4280}# + #{docstring 4281}# + #{keyword 4282}# + #{pattern 4283}# + #{template 4284}#) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" "i4315" "i4316" "i4317" "i4318")) + #("i4275" "i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) '(#(syntax-object x @@ -14617,11 +14406,11 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" "i4315" "i4316" "i4317" "i4318")) + #("i4275" "i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile))) - #{docstring 4320}# + #{docstring 4281}# (vector '(#(syntax-object macro-type @@ -14629,9 +14418,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" "i4315" "i4316" "i4317" "i4318")) + #("i4275" "i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) . #(syntax-object @@ -14640,9 +14429,9 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" "i4315" "i4316" "i4317" "i4318")) + #("i4275" "i4276" "i4277" "i4278" "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile))) (cons '#(syntax-object patterns @@ -14650,28 +14439,28 @@ #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" - "i4315" - "i4316" - "i4317" - "i4318")) + #("i4275" + "i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) - #{pattern 4322}#)) + #{pattern 4283}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) - #("i4314" - "i4315" - "i4316" - "i4317" - "i4318")) + #("i4275" + "i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) (cons '#(syntax-object x @@ -14683,17 +14472,17 @@ pattern template) #((top) (top) (top) (top) (top)) - #("i4314" - "i4315" - "i4316" - "i4317" - "i4318")) + #("i4275" + "i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4288"))) + #(ribcage #(x) #((top)) #("i4249"))) (hygiene guile)) - (cons #{k 4319}# - (map (lambda (#{tmp 4327}# - #{tmp 4326}#) + (cons #{k 4280}# + (map (lambda (#{tmp 4288}# + #{tmp 4287}#) (list (cons '#(syntax-object dummy ((top) @@ -14708,11 +14497,11 @@ (top) (top) (top)) - #("i4314" - "i4315" - "i4316" - "i4317" - "i4318")) + #("i4275" + "i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () @@ -14720,10 +14509,10 @@ #(ribcage #(x) #((top)) - #("i4288"))) + #("i4249"))) (hygiene guile)) - #{tmp 4326}#) + #{tmp 4287}#) (list '#(syntax-object syntax ((top) @@ -14738,11 +14527,11 @@ (top) (top) (top)) - #("i4314" - "i4315" - "i4316" - "i4317" - "i4318")) + #("i4275" + "i4276" + "i4277" + "i4278" + "i4279")) #(ribcage () () @@ -14750,48 +14539,48 @@ #(ribcage #(x) #((top)) - #("i4288"))) + #("i4249"))) (hygiene guile)) - #{tmp 4327}#))) - #{template 4323}# - #{pattern 4322}#)))))) - #{tmp 4303}#) + #{tmp 4288}#))) + #{template 4284}# + #{pattern 4283}#)))))) + #{tmp 4264}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4289}#))))))))) + #{tmp 4250}#))))))))) (define let* (make-syntax-transformer 'let* 'macro - (lambda (#{x 4328}#) - (let ((#{tmp 4330}# #{x 4328}#)) - (let ((#{tmp 4331}# + (lambda (#{x 4289}#) + (let ((#{tmp 4291}# #{x 4289}#)) + (let ((#{tmp 4292}# ($sc-dispatch - #{tmp 4330}# + #{tmp 4291}# '(any #(each (any any)) any . each-any)))) - (if (if #{tmp 4331}# + (if (if #{tmp 4292}# (@apply - (lambda (#{let* 4337}# - #{x 4338}# - #{v 4339}# - #{e1 4340}# - #{e2 4341}#) - (and-map identifier? #{x 4338}#)) - #{tmp 4331}#) + (lambda (#{let* 4298}# + #{x 4299}# + #{v 4300}# + #{e1 4301}# + #{e2 4302}#) + (and-map identifier? #{x 4299}#)) + #{tmp 4292}#) #f) (@apply - (lambda (#{let* 4348}# - #{x 4349}# - #{v 4350}# - #{e1 4351}# - #{e2 4352}#) + (lambda (#{let* 4309}# + #{x 4310}# + #{v 4311}# + #{e1 4312}# + #{e2 4313}#) (letrec* - ((#{f 4355}# - (lambda (#{bindings 4356}#) - (if (null? #{bindings 4356}#) + ((#{f 4316}# + (lambda (#{bindings 4317}#) + (if (null? #{bindings 4317}#) (cons '#(syntax-object let ((top) @@ -14799,27 +14588,27 @@ #(ribcage #(f bindings) #((top) (top)) - #("i4353" "i4354")) + #("i4314" "i4315")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4343" - "i4344" - "i4345" - "i4346" - "i4347")) + #("i4304" + "i4305" + "i4306" + "i4307" + "i4308")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4329"))) + #(ribcage #(x) #((top)) #("i4290"))) (hygiene guile)) - (cons '() (cons #{e1 4351}# #{e2 4352}#))) - (let ((#{tmp 4361}# - (list (#{f 4355}# (cdr #{bindings 4356}#)) - (car #{bindings 4356}#)))) - (let ((#{tmp 4362}# - ($sc-dispatch #{tmp 4361}# '(any any)))) - (if #{tmp 4362}# + (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}# (@apply - (lambda (#{body 4365}# #{binding 4366}#) + (lambda (#{body 4326}# #{binding 4327}#) (list '#(syntax-object let ((top) @@ -14827,96 +14616,96 @@ #(ribcage #(body binding) #((top) (top)) - #("i4363" "i4364")) + #("i4324" "i4325")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) - #("i4353" "i4354")) + #("i4314" "i4315")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) - #("i4343" - "i4344" - "i4345" - "i4346" - "i4347")) + #("i4304" + "i4305" + "i4306" + "i4307" + "i4308")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4329"))) + #("i4290"))) (hygiene guile)) - (list #{binding 4366}#) - #{body 4365}#)) - #{tmp 4362}#) + (list #{binding 4327}#) + #{body 4326}#)) + #{tmp 4323}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4361}#)))))))) + #{tmp 4322}#)))))))) (begin - (#{f 4355}# (map list #{x 4349}# #{v 4350}#))))) - #{tmp 4331}#) + (#{f 4316}# (map list #{x 4310}# #{v 4311}#))))) + #{tmp 4292}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4330}#))))))) + #{tmp 4291}#))))))) (define do (make-syntax-transformer 'do 'macro - (lambda (#{orig-x 4367}#) - (let ((#{tmp 4369}# #{orig-x 4367}#)) - (let ((#{tmp 4370}# + (lambda (#{orig-x 4328}#) + (let ((#{tmp 4330}# #{orig-x 4328}#)) + (let ((#{tmp 4331}# ($sc-dispatch - #{tmp 4369}# + #{tmp 4330}# '(_ #(each (any any . any)) (any . each-any) . each-any)))) - (if #{tmp 4370}# + (if #{tmp 4331}# (@apply - (lambda (#{var 4377}# - #{init 4378}# - #{step 4379}# - #{e0 4380}# - #{e1 4381}# - #{c 4382}#) - (let ((#{tmp 4384}# - (map (lambda (#{v 4405}# #{s 4406}#) - (let ((#{tmp 4409}# #{s 4406}#)) - (let ((#{tmp 4410}# - ($sc-dispatch #{tmp 4409}# '()))) - (if #{tmp 4410}# + (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}# (@apply - (lambda () #{v 4405}#) - #{tmp 4410}#) - (let ((#{tmp 4411}# + (lambda () #{v 4366}#) + #{tmp 4371}#) + (let ((#{tmp 4372}# ($sc-dispatch - #{tmp 4409}# + #{tmp 4370}# '(any)))) - (if #{tmp 4411}# + (if #{tmp 4372}# (@apply - (lambda (#{e 4413}#) #{e 4413}#) - #{tmp 4411}#) - (let ((#{_ 4415}# #{tmp 4409}#)) + (lambda (#{e 4374}#) #{e 4374}#) + #{tmp 4372}#) + (let ((#{_ 4376}# #{tmp 4370}#)) (syntax-violation 'do "bad step expression" - #{orig-x 4367}# - #{s 4406}#)))))))) - #{var 4377}# - #{step 4379}#))) - (let ((#{tmp 4385}# - ($sc-dispatch #{tmp 4384}# 'each-any))) - (if #{tmp 4385}# + #{orig-x 4328}# + #{s 4367}#)))))))) + #{var 4338}# + #{step 4340}#))) + (let ((#{tmp 4346}# + ($sc-dispatch #{tmp 4345}# 'each-any))) + (if #{tmp 4346}# (@apply - (lambda (#{step 4387}#) - (let ((#{tmp 4388}# #{e1 4381}#)) - (let ((#{tmp 4389}# - ($sc-dispatch #{tmp 4388}# '()))) - (if #{tmp 4389}# + (lambda (#{step 4348}#) + (let ((#{tmp 4349}# #{e1 4342}#)) + (let ((#{tmp 4350}# + ($sc-dispatch #{tmp 4349}# '()))) + (if #{tmp 4350}# (@apply (lambda () (list '#(syntax-object @@ -14926,7 +14715,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14935,17 +14724,17 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) '#(syntax-object doloop @@ -14954,7 +14743,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14963,19 +14752,19 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - (map list #{var 4377}# #{init 4378}#) + (map list #{var 4338}# #{init 4339}#) (list '#(syntax-object if ((top) @@ -14983,7 +14772,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init step e0 e1 c) #((top) @@ -14992,17 +14781,17 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) (list '#(syntax-object not @@ -15011,7 +14800,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15025,19 +14814,19 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - #{e0 4380}#) + #{e0 4341}#) (cons '#(syntax-object begin ((top) @@ -15045,7 +14834,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15059,20 +14848,20 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) (append - #{c 4382}# + #{c 4343}# (list (cons '#(syntax-object doloop ((top) @@ -15083,7 +14872,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15097,12 +14886,12 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () @@ -15110,30 +14899,30 @@ #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - #{step 4387}#))))))) - #{tmp 4389}#) - (let ((#{tmp 4394}# + #{step 4348}#))))))) + #{tmp 4350}#) + (let ((#{tmp 4355}# ($sc-dispatch - #{tmp 4388}# + #{tmp 4349}# '(any . each-any)))) - (if #{tmp 4394}# + (if #{tmp 4355}# (@apply - (lambda (#{e1 4397}# #{e2 4398}#) + (lambda (#{e1 4358}# #{e2 4359}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4395" "i4396")) + #("i4356" "i4357")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15142,17 +14931,17 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) '#(syntax-object doloop @@ -15160,12 +14949,12 @@ #(ribcage #(e1 e2) #((top) (top)) - #("i4395" "i4396")) + #("i4356" "i4357")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init step e0 e1 c) #((top) @@ -15174,33 +14963,33 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) (map list - #{var 4377}# - #{init 4378}#) + #{var 4338}# + #{init 4339}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4395" "i4396")) + #("i4356" "i4357")) #(ribcage () () ()) #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15214,27 +15003,27 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - #{e0 4380}# + #{e0 4341}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4395" - "i4396")) + #("i4356" + "i4357")) #(ribcage () () @@ -15242,7 +15031,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15256,12 +15045,12 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () @@ -15269,18 +15058,18 @@ #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - (cons #{e1 4397}# - #{e2 4398}#)) + (cons #{e1 4358}# + #{e2 4359}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4395" - "i4396")) + #("i4356" + "i4357")) #(ribcage () () @@ -15288,7 +15077,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15302,12 +15091,12 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () @@ -15315,10 +15104,10 @@ #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) (append - #{c 4382}# + #{c 4343}# (list (cons '#(syntax-object doloop ((top) @@ -15327,8 +15116,8 @@ e2) #((top) (top)) - #("i4395" - "i4396")) + #("i4356" + "i4357")) #(ribcage () () @@ -15336,7 +15125,7 @@ #(ribcage #(step) #((top)) - #("i4386")) + #("i4347")) #(ribcage #(var init @@ -15350,12 +15139,12 @@ (top) (top) (top)) - #("i4371" - "i4372" - "i4373" - "i4374" - "i4375" - "i4376")) + #("i4332" + "i4333" + "i4334" + "i4335" + "i4336" + "i4337")) #(ribcage () () @@ -15363,37 +15152,37 @@ #(ribcage #(orig-x) #((top)) - #("i4368"))) + #("i4329"))) (hygiene guile)) - #{step 4387}#))))))) - #{tmp 4394}#) + #{step 4348}#))))))) + #{tmp 4355}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4388}#))))))) - #{tmp 4385}#) + #{tmp 4349}#))))))) + #{tmp 4346}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4384}#))))) - #{tmp 4370}#) + #{tmp 4345}#))))) + #{tmp 4331}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4369}#))))))) + #{tmp 4330}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* - ((#{quasi 4419}# - (lambda (#{p 4432}# #{lev 4433}#) - (let ((#{tmp 4436}# #{p 4432}#)) - (let ((#{tmp 4437}# + ((#{quasi 4380}# + (lambda (#{p 4393}# #{lev 4394}#) + (let ((#{tmp 4397}# #{p 4393}#)) + (let ((#{tmp 4398}# ($sc-dispatch - #{tmp 4436}# + #{tmp 4397}# '(#(free-id #(syntax-object unquote @@ -15402,7 +15191,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15411,28 +15200,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) any)))) - (if #{tmp 4437}# + (if #{tmp 4398}# (@apply - (lambda (#{p 4439}#) - (if (= #{lev 4433}# 0) + (lambda (#{p 4400}#) + (if (= #{lev 4394}# 0) (list '#(syntax-object "value" ((top) - #(ribcage #(p) #((top)) #("i4438")) + #(ribcage #(p) #((top)) #("i4399")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15441,25 +15230,25 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{p 4439}#) - (#{quasicons 4423}# + #{p 4400}#) + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4438")) + #(ribcage #(p) #((top)) #("i4399")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15468,23 +15257,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4438")) + #(ribcage #(p) #((top)) #("i4399")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15493,21 +15282,21 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - (list #{p 4439}#) - (#{1-}# #{lev 4433}#))))) - #{tmp 4437}#) - (let ((#{tmp 4440}# + (#{quasi 4380}# + (list #{p 4400}#) + (#{1-}# #{lev 4394}#))))) + #{tmp 4398}#) + (let ((#{tmp 4401}# ($sc-dispatch - #{tmp 4436}# + #{tmp 4397}# '(#(free-id #(syntax-object quasiquote @@ -15516,7 +15305,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15525,28 +15314,28 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) any)))) - (if #{tmp 4440}# + (if #{tmp 4401}# (@apply - (lambda (#{p 4442}#) - (#{quasicons 4423}# + (lambda (#{p 4403}#) + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4441")) + #(ribcage #(p) #((top)) #("i4402")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15555,23 +15344,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object quasiquote ((top) - #(ribcage #(p) #((top)) #("i4441")) + #(ribcage #(p) #((top)) #("i4402")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15580,27 +15369,27 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - (list #{p 4442}#) - (#{1+}# #{lev 4433}#)))) - #{tmp 4440}#) - (let ((#{tmp 4443}# - ($sc-dispatch #{tmp 4436}# '(any . any)))) - (if #{tmp 4443}# + (#{quasi 4380}# + (list #{p 4403}#) + (#{1+}# #{lev 4394}#)))) + #{tmp 4401}#) + (let ((#{tmp 4404}# + ($sc-dispatch #{tmp 4397}# '(any . any)))) + (if #{tmp 4404}# (@apply - (lambda (#{p 4446}# #{q 4447}#) - (let ((#{tmp 4448}# #{p 4446}#)) - (let ((#{tmp 4449}# + (lambda (#{p 4407}# #{q 4408}#) + (let ((#{tmp 4409}# #{p 4407}#)) + (let ((#{tmp 4410}# ($sc-dispatch - #{tmp 4448}# + #{tmp 4409}# '(#(free-id #(syntax-object unquote @@ -15608,12 +15397,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15628,40 +15417,40 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) . each-any)))) - (if #{tmp 4449}# + (if #{tmp 4410}# (@apply - (lambda (#{p 4451}#) - (if (= #{lev 4433}# 0) - (#{quasilist* 4427}# - (map (lambda (#{tmp 4452}#) + (lambda (#{p 4412}#) + (if (= #{lev 4394}# 0) + (#{quasilist* 4388}# + (map (lambda (#{tmp 4413}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4450")) + #("i4411")) #(ribcage #(p q) #((top) (top)) - #("i4444" - "i4445")) + #("i4405" + "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" - "i4435")) + #("i4395" + "i4396")) #(ribcage (emit quasivector quasilist* @@ -15676,37 +15465,37 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{tmp 4452}#)) - #{p 4451}#) - (#{quasi 4419}# - #{q 4447}# - #{lev 4433}#)) - (#{quasicons 4423}# - (#{quasicons 4423}# + #{tmp 4413}#)) + #{p 4412}#) + (#{quasi 4380}# + #{q 4408}# + #{lev 4394}#)) + (#{quasicons 4384}# + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4450")) + #("i4411")) #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15721,13 +15510,13 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object unquote @@ -15735,16 +15524,16 @@ #(ribcage #(p) #((top)) - #("i4450")) + #("i4411")) #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15759,24 +15548,24 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - #{p 4451}# - (#{1-}# #{lev 4433}#))) - (#{quasi 4419}# - #{q 4447}# - #{lev 4433}#)))) - #{tmp 4449}#) - (let ((#{tmp 4454}# + (#{quasi 4380}# + #{p 4412}# + (#{1-}# #{lev 4394}#))) + (#{quasi 4380}# + #{q 4408}# + #{lev 4394}#)))) + #{tmp 4410}#) + (let ((#{tmp 4415}# ($sc-dispatch - #{tmp 4448}# + #{tmp 4409}# '(#(free-id #(syntax-object unquote-splicing @@ -15784,12 +15573,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15804,35 +15593,35 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) . each-any)))) - (if #{tmp 4454}# + (if #{tmp 4415}# (@apply - (lambda (#{p 4456}#) - (if (= #{lev 4433}# 0) - (#{quasiappend 4425}# - (map (lambda (#{tmp 4457}#) + (lambda (#{p 4417}#) + (if (= #{lev 4394}# 0) + (#{quasiappend 4386}# + (map (lambda (#{tmp 4418}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4455")) + #("i4416")) #(ribcage #(p q) #((top) (top)) - #("i4444" - "i4445")) + #("i4405" + "i4406")) #(ribcage () () @@ -15841,8 +15630,8 @@ #(p lev) #((top) (top)) - #("i4434" - "i4435")) + #("i4395" + "i4396")) #(ribcage (emit quasivector quasilist* @@ -15857,37 +15646,37 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{tmp 4457}#)) - #{p 4456}#) - (#{quasi 4419}# - #{q 4447}# - #{lev 4433}#)) - (#{quasicons 4423}# - (#{quasicons 4423}# + #{tmp 4418}#)) + #{p 4417}#) + (#{quasi 4380}# + #{q 4408}# + #{lev 4394}#)) + (#{quasicons 4384}# + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4455")) + #("i4416")) #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15902,13 +15691,13 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -15916,16 +15705,16 @@ #(ribcage #(p) #((top)) - #("i4455")) + #("i4416")) #(ribcage #(p q) #((top) (top)) - #("i4444" "i4445")) + #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15940,50 +15729,50 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - #{p 4456}# - (#{1-}# #{lev 4433}#))) - (#{quasi 4419}# - #{q 4447}# - #{lev 4433}#)))) - #{tmp 4454}#) - (let ((#{_ 4460}# #{tmp 4448}#)) - (#{quasicons 4423}# - (#{quasi 4419}# - #{p 4446}# - #{lev 4433}#) - (#{quasi 4419}# - #{q 4447}# - #{lev 4433}#))))))))) - #{tmp 4443}#) - (let ((#{tmp 4461}# + (#{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}# ($sc-dispatch - #{tmp 4436}# + #{tmp 4397}# '#(vector each-any)))) - (if #{tmp 4461}# + (if #{tmp 4422}# (@apply - (lambda (#{x 4463}#) - (#{quasivector 4429}# - (#{vquasi 4421}# #{x 4463}# #{lev 4433}#))) - #{tmp 4461}#) - (let ((#{p 4466}# #{tmp 4436}#)) + (lambda (#{x 4424}#) + (#{quasivector 4390}# + (#{vquasi 4382}# #{x 4424}# #{lev 4394}#))) + #{tmp 4422}#) + (let ((#{p 4427}# #{tmp 4397}#)) (list '#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4465")) + #(ribcage #(p) #((top)) #("i4426")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4434" "i4435")) + #("i4395" "i4396")) #(ribcage (emit quasivector quasilist* @@ -15998,27 +15787,27 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{p 4466}#))))))))))))) - (#{vquasi 4421}# - (lambda (#{p 4467}# #{lev 4468}#) - (let ((#{tmp 4471}# #{p 4467}#)) - (let ((#{tmp 4472}# - ($sc-dispatch #{tmp 4471}# '(any . any)))) - (if #{tmp 4472}# + #{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}# (@apply - (lambda (#{p 4475}# #{q 4476}#) - (let ((#{tmp 4477}# #{p 4475}#)) - (let ((#{tmp 4478}# + (lambda (#{p 4436}# #{q 4437}#) + (let ((#{tmp 4438}# #{p 4436}#)) + (let ((#{tmp 4439}# ($sc-dispatch - #{tmp 4477}# + #{tmp 4438}# '(#(free-id #(syntax-object unquote @@ -16026,12 +15815,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16046,38 +15835,38 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) . each-any)))) - (if #{tmp 4478}# + (if #{tmp 4439}# (@apply - (lambda (#{p 4480}#) - (if (= #{lev 4468}# 0) - (#{quasilist* 4427}# - (map (lambda (#{tmp 4481}#) + (lambda (#{p 4441}#) + (if (= #{lev 4429}# 0) + (#{quasilist* 4388}# + (map (lambda (#{tmp 4442}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4479")) + #("i4440")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16092,32 +15881,32 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{tmp 4481}#)) - #{p 4480}#) - (#{vquasi 4421}# #{q 4476}# #{lev 4468}#)) - (#{quasicons 4423}# - (#{quasicons 4423}# + #{tmp 4442}#)) + #{p 4441}#) + (#{vquasi 4382}# #{q 4437}# #{lev 4429}#)) + (#{quasicons 4384}# + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) - #(ribcage #(p) #((top)) #("i4479")) + #(ribcage #(p) #((top)) #("i4440")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16132,27 +15921,27 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object unquote ((top) - #(ribcage #(p) #((top)) #("i4479")) + #(ribcage #(p) #((top)) #("i4440")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16167,22 +15956,22 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - #{p 4480}# - (#{1-}# #{lev 4468}#))) - (#{vquasi 4421}# #{q 4476}# #{lev 4468}#)))) - #{tmp 4478}#) - (let ((#{tmp 4483}# + (#{quasi 4380}# + #{p 4441}# + (#{1-}# #{lev 4429}#))) + (#{vquasi 4382}# #{q 4437}# #{lev 4429}#)))) + #{tmp 4439}#) + (let ((#{tmp 4444}# ($sc-dispatch - #{tmp 4477}# + #{tmp 4438}# '(#(free-id #(syntax-object unquote-splicing @@ -16190,12 +15979,12 @@ #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16210,38 +15999,38 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) . each-any)))) - (if #{tmp 4483}# + (if #{tmp 4444}# (@apply - (lambda (#{p 4485}#) - (if (= #{lev 4468}# 0) - (#{quasiappend 4425}# - (map (lambda (#{tmp 4486}#) + (lambda (#{p 4446}#) + (if (= #{lev 4429}# 0) + (#{quasiappend 4386}# + (map (lambda (#{tmp 4447}#) (list '#(syntax-object "value" ((top) #(ribcage #(p) #((top)) - #("i4484")) + #("i4445")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16256,37 +16045,37 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{tmp 4486}#)) - #{p 4485}#) - (#{vquasi 4421}# - #{q 4476}# - #{lev 4468}#)) - (#{quasicons 4423}# - (#{quasicons 4423}# + #{tmp 4447}#)) + #{p 4446}#) + (#{vquasi 4382}# + #{q 4437}# + #{lev 4429}#)) + (#{quasicons 4384}# + (#{quasicons 4384}# '(#(syntax-object "quote" ((top) #(ribcage #(p) #((top)) - #("i4484")) + #("i4445")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16301,13 +16090,13 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) #(syntax-object unquote-splicing @@ -16315,16 +16104,16 @@ #(ribcage #(p) #((top)) - #("i4484")) + #("i4445")) #(ribcage #(p q) #((top) (top)) - #("i4473" "i4474")) + #("i4434" "i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16339,30 +16128,30 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile))) - (#{quasi 4419}# - #{p 4485}# - (#{1-}# #{lev 4468}#))) - (#{vquasi 4421}# - #{q 4476}# - #{lev 4468}#)))) - #{tmp 4483}#) - (let ((#{_ 4489}# #{tmp 4477}#)) - (#{quasicons 4423}# - (#{quasi 4419}# #{p 4475}# #{lev 4468}#) - (#{vquasi 4421}# - #{q 4476}# - #{lev 4468}#))))))))) - #{tmp 4472}#) - (let ((#{tmp 4490}# ($sc-dispatch #{tmp 4471}# '()))) - (if #{tmp 4490}# + (#{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}# (@apply (lambda () '(#(syntax-object @@ -16372,7 +16161,7 @@ #(ribcage #(p lev) #((top) (top)) - #("i4469" "i4470")) + #("i4430" "i4431")) #(ribcage (emit quasivector quasilist* @@ -16381,66 +16170,66 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) ())) - #{tmp 4490}#) + #{tmp 4451}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4471}#)))))))) - (#{quasicons 4423}# - (lambda (#{x 4491}# #{y 4492}#) - (let ((#{tmp 4496}# (list #{x 4491}# #{y 4492}#))) - (let ((#{tmp 4497}# - ($sc-dispatch #{tmp 4496}# '(any any)))) - (if #{tmp 4497}# + #{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}# (@apply - (lambda (#{x 4500}# #{y 4501}#) - (let ((#{tmp 4502}# #{y 4501}#)) - (let ((#{tmp 4503}# + (lambda (#{x 4461}# #{y 4462}#) + (let ((#{tmp 4463}# #{y 4462}#)) + (let ((#{tmp 4464}# ($sc-dispatch - #{tmp 4502}# + #{tmp 4463}# '(#(atom "quote") any)))) - (if #{tmp 4503}# + (if #{tmp 4464}# (@apply - (lambda (#{dy 4505}#) - (let ((#{tmp 4506}# #{x 4500}#)) - (let ((#{tmp 4507}# + (lambda (#{dy 4466}#) + (let ((#{tmp 4467}# #{x 4461}#)) + (let ((#{tmp 4468}# ($sc-dispatch - #{tmp 4506}# + #{tmp 4467}# '(#(atom "quote") any)))) - (if #{tmp 4507}# + (if #{tmp 4468}# (@apply - (lambda (#{dx 4509}#) + (lambda (#{dx 4470}#) (list '#(syntax-object "quote" ((top) #(ribcage #(dx) #((top)) - #("i4508")) + #("i4469")) #(ribcage #(dy) #((top)) - #("i4504")) + #("i4465")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16455,40 +16244,40 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - (cons #{dx 4509}# #{dy 4505}#))) - #{tmp 4507}#) - (let ((#{_ 4511}# #{tmp 4506}#)) - (if (null? #{dy 4505}#) + (cons #{dx 4470}# #{dy 4466}#))) + #{tmp 4468}#) + (let ((#{_ 4472}# #{tmp 4467}#)) + (if (null? #{dy 4466}#) (list '#(syntax-object "list" ((top) #(ribcage #(_) #((top)) - #("i4510")) + #("i4471")) #(ribcage #(dy) #((top)) - #("i4504")) + #("i4465")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16503,37 +16292,37 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{x 4500}#) + #{x 4461}#) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4510")) + #("i4471")) #(ribcage #(dy) #((top)) - #("i4504")) + #("i4465")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16548,42 +16337,42 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{x 4500}# - #{y 4501}#))))))) - #{tmp 4503}#) - (let ((#{tmp 4512}# + #{x 4461}# + #{y 4462}#))))))) + #{tmp 4464}#) + (let ((#{tmp 4473}# ($sc-dispatch - #{tmp 4502}# + #{tmp 4463}# '(#(atom "list") . any)))) - (if #{tmp 4512}# + (if #{tmp 4473}# (@apply - (lambda (#{stuff 4514}#) + (lambda (#{stuff 4475}#) (cons '#(syntax-object "list" ((top) #(ribcage #(stuff) #((top)) - #("i4513")) + #("i4474")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16598,41 +16387,41 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - (cons #{x 4500}# #{stuff 4514}#))) - #{tmp 4512}#) - (let ((#{tmp 4515}# + (cons #{x 4461}# #{stuff 4475}#))) + #{tmp 4473}#) + (let ((#{tmp 4476}# ($sc-dispatch - #{tmp 4502}# + #{tmp 4463}# '(#(atom "list*") . any)))) - (if #{tmp 4515}# + (if #{tmp 4476}# (@apply - (lambda (#{stuff 4517}#) + (lambda (#{stuff 4478}#) (cons '#(syntax-object "list*" ((top) #(ribcage #(stuff) #((top)) - #("i4516")) + #("i4477")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16647,35 +16436,35 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - (cons #{x 4500}# #{stuff 4517}#))) - #{tmp 4515}#) - (let ((#{_ 4519}# #{tmp 4502}#)) + (cons #{x 4461}# #{stuff 4478}#))) + #{tmp 4476}#) + (let ((#{_ 4480}# #{tmp 4463}#)) (list '#(syntax-object "list*" ((top) #(ribcage #(_) #((top)) - #("i4518")) + #("i4479")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4498" "i4499")) + #("i4459" "i4460")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4493" "i4494")) + #("i4454" "i4455")) #(ribcage (emit quasivector quasilist* @@ -16690,30 +16479,30 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{x 4500}# - #{y 4501}#)))))))))) - #{tmp 4497}#) + #{x 4461}# + #{y 4462}#)))))))))) + #{tmp 4458}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4496}#)))))) - (#{quasiappend 4425}# - (lambda (#{x 4520}# #{y 4521}#) - (let ((#{tmp 4524}# #{y 4521}#)) - (let ((#{tmp 4525}# - ($sc-dispatch #{tmp 4524}# '(#(atom "quote") ())))) - (if #{tmp 4525}# + #{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}# (@apply (lambda () - (if (null? #{x 4520}#) + (if (null? #{x 4481}#) '(#(syntax-object "quote" ((top) @@ -16721,7 +16510,7 @@ #(ribcage #(x y) #((top) (top)) - #("i4522" "i4523")) + #("i4483" "i4484")) #(ribcage (emit quasivector quasilist* @@ -16730,23 +16519,23 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) ()) - (if (null? (cdr #{x 4520}#)) - (car #{x 4520}#) - (let ((#{tmp 4532}# #{x 4520}#)) - (let ((#{tmp 4533}# - ($sc-dispatch #{tmp 4532}# 'each-any))) - (if #{tmp 4533}# + (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}# (@apply - (lambda (#{p 4535}#) + (lambda (#{p 4496}#) (cons '#(syntax-object "append" ((top) @@ -16754,12 +16543,12 @@ #(ribcage #(p) #((top)) - #("i4534")) + #("i4495")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4522" "i4523")) + #("i4483" "i4484")) #(ribcage (emit quasivector quasilist* @@ -16774,30 +16563,30 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{p 4535}#)) - #{tmp 4533}#) + #{p 4496}#)) + #{tmp 4494}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4532}#))))))) - #{tmp 4525}#) - (let ((#{_ 4538}# #{tmp 4524}#)) - (if (null? #{x 4520}#) - #{y 4521}# - (let ((#{tmp 4543}# (list #{x 4520}# #{y 4521}#))) - (let ((#{tmp 4544}# - ($sc-dispatch #{tmp 4543}# '(each-any any)))) - (if #{tmp 4544}# + #{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}# (@apply - (lambda (#{p 4547}# #{y 4548}#) + (lambda (#{p 4508}# #{y 4509}#) (cons '#(syntax-object "append" ((top) @@ -16805,13 +16594,13 @@ #(ribcage #(p y) #((top) (top)) - #("i4545" "i4546")) - #(ribcage #(_) #((top)) #("i4537")) + #("i4506" "i4507")) + #(ribcage #(_) #((top)) #("i4498")) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) - #("i4522" "i4523")) + #("i4483" "i4484")) #(ribcage (emit quasivector quasilist* @@ -16826,47 +16615,47 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - (append #{p 4547}# (list #{y 4548}#)))) - #{tmp 4544}#) + (append #{p 4508}# (list #{y 4509}#)))) + #{tmp 4505}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4543}#))))))))))) - (#{quasilist* 4427}# - (lambda (#{x 4550}# #{y 4551}#) + #{tmp 4504}#))))))))))) + (#{quasilist* 4388}# + (lambda (#{x 4511}# #{y 4512}#) (letrec* - ((#{f 4556}# - (lambda (#{x 4557}#) - (if (null? #{x 4557}#) - #{y 4551}# - (#{quasicons 4423}# - (car #{x 4557}#) - (#{f 4556}# (cdr #{x 4557}#))))))) - (begin (#{f 4556}# #{x 4550}#))))) - (#{quasivector 4429}# - (lambda (#{x 4558}#) - (let ((#{tmp 4560}# #{x 4558}#)) - (let ((#{tmp 4561}# + ((#{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}# ($sc-dispatch - #{tmp 4560}# + #{tmp 4521}# '(#(atom "quote") each-any)))) - (if #{tmp 4561}# + (if #{tmp 4522}# (@apply - (lambda (#{x 4563}#) + (lambda (#{x 4524}#) (list '#(syntax-object "quote" ((top) - #(ribcage #(x) #((top)) #("i4562")) + #(ribcage #(x) #((top)) #("i4523")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4559")) + #(ribcage #(x) #((top)) #("i4520")) #(ribcage (emit quasivector quasilist* @@ -16875,53 +16664,53 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - (list->vector #{x 4563}#))) - #{tmp 4561}#) - (let ((#{_ 4566}# #{tmp 4560}#)) + (list->vector #{x 4524}#))) + #{tmp 4522}#) + (let ((#{_ 4527}# #{tmp 4521}#)) (letrec* - ((#{f 4570}# - (lambda (#{y 4571}# #{k 4572}#) - (let ((#{tmp 4583}# #{y 4571}#)) - (let ((#{tmp 4584}# + ((#{f 4531}# + (lambda (#{y 4532}# #{k 4533}#) + (let ((#{tmp 4544}# #{y 4532}#)) + (let ((#{tmp 4545}# ($sc-dispatch - #{tmp 4583}# + #{tmp 4544}# '(#(atom "quote") each-any)))) - (if #{tmp 4584}# + (if #{tmp 4545}# (@apply - (lambda (#{y 4586}#) - (#{k 4572}# - (map (lambda (#{tmp 4587}#) + (lambda (#{y 4547}#) + (#{k 4533}# + (map (lambda (#{tmp 4548}#) (list '#(syntax-object "quote" ((top) #(ribcage #(y) #((top)) - #("i4585")) + #("i4546")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4567" - "i4568" - "i4569")) + #("i4528" + "i4529" + "i4530")) #(ribcage #(_) #((top)) - #("i4565")) + #("i4526")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4559")) + #("i4520")) #(ribcage (emit quasivector quasilist* @@ -16936,75 +16725,75 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{tmp 4587}#)) - #{y 4586}#))) - #{tmp 4584}#) - (let ((#{tmp 4588}# + #{tmp 4548}#)) + #{y 4547}#))) + #{tmp 4545}#) + (let ((#{tmp 4549}# ($sc-dispatch - #{tmp 4583}# + #{tmp 4544}# '(#(atom "list") . each-any)))) - (if #{tmp 4588}# + (if #{tmp 4549}# (@apply - (lambda (#{y 4590}#) - (#{k 4572}# #{y 4590}#)) - #{tmp 4588}#) - (let ((#{tmp 4592}# + (lambda (#{y 4551}#) + (#{k 4533}# #{y 4551}#)) + #{tmp 4549}#) + (let ((#{tmp 4553}# ($sc-dispatch - #{tmp 4583}# + #{tmp 4544}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 4592}# + (if #{tmp 4553}# (@apply - (lambda (#{y 4595}# #{z 4596}#) - (#{f 4570}# - #{z 4596}# - (lambda (#{ls 4597}#) - (#{k 4572}# + (lambda (#{y 4556}# #{z 4557}#) + (#{f 4531}# + #{z 4557}# + (lambda (#{ls 4558}#) + (#{k 4533}# (append - #{y 4595}# - #{ls 4597}#))))) - #{tmp 4592}#) - (let ((#{else 4601}# #{tmp 4583}#)) - (let ((#{tmp 4605}# #{x 4558}#)) - (let ((#{ g4602 4607}# - #{tmp 4605}#)) + #{y 4556}# + #{ls 4558}#))))) + #{tmp 4553}#) + (let ((#{else 4562}# #{tmp 4544}#)) + (let ((#{tmp 4566}# #{x 4519}#)) + (let ((#{ g4563 4568}# + #{tmp 4566}#)) (list '#(syntax-object "list->vector" ((top) #(ribcage () () ()) #(ribcage - #(#{ g4602}#) - #((m4603 top)) - #("i4606")) + #(#{ g4563}#) + #((m4564 top)) + #("i4567")) #(ribcage #(else) #((top)) - #("i4600")) + #("i4561")) #(ribcage () () ()) #(ribcage #(f y k) #((top) (top) (top)) - #("i4567" - "i4568" - "i4569")) + #("i4528" + "i4529" + "i4530")) #(ribcage #(_) #((top)) - #("i4565")) + #("i4526")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4559")) + #("i4520")) #(ribcage (emit quasivector quasilist* @@ -17019,49 +16808,49 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4602 4607}#)))))))))))))) + #{ g4563 4568}#)))))))))))))) (begin - (#{f 4570}# - #{x 4558}# - (lambda (#{ls 4573}#) - (let ((#{tmp 4578}# #{ls 4573}#)) - (let ((#{tmp 4579}# - ($sc-dispatch #{tmp 4578}# 'each-any))) - (if #{tmp 4579}# + (#{f 4531}# + #{x 4519}# + (lambda (#{ls 4534}#) + (let ((#{tmp 4539}# #{ls 4534}#)) + (let ((#{tmp 4540}# + ($sc-dispatch #{tmp 4539}# 'each-any))) + (if #{tmp 4540}# (@apply - (lambda (#{ g4575 4581}#) + (lambda (#{ g4536 4542}#) (cons '#(syntax-object "vector" ((top) #(ribcage () () ()) #(ribcage - #(#{ g4575}#) - #((m4576 top)) - #("i4580")) + #(#{ g4536}#) + #((m4537 top)) + #("i4541")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ls) #((top)) - #("i4574")) + #("i4535")) #(ribcage #(_) #((top)) - #("i4565")) + #("i4526")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4559")) + #("i4520")) #(ribcage (emit quasivector quasilist* @@ -17076,36 +16865,36 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4575 4581}#)) - #{tmp 4579}#) + #{ g4536 4542}#)) + #{tmp 4540}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4578}#)))))))))))))) - (#{emit 4431}# - (lambda (#{x 4608}#) - (let ((#{tmp 4610}# #{x 4608}#)) - (let ((#{tmp 4611}# + #{tmp 4539}#)))))))))))))) + (#{emit 4392}# + (lambda (#{x 4569}#) + (let ((#{tmp 4571}# #{x 4569}#)) + (let ((#{tmp 4572}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "quote") any)))) - (if #{tmp 4611}# + (if #{tmp 4572}# (@apply - (lambda (#{x 4613}#) + (lambda (#{x 4574}#) (list '#(syntax-object quote ((top) - #(ribcage #(x) #((top)) #("i4612")) + #(ribcage #(x) #((top)) #("i4573")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4609")) + #(ribcage #(x) #((top)) #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17114,46 +16903,46 @@ vquasi quasi) ((top) (top) (top) (top) (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{x 4613}#)) - #{tmp 4611}#) - (let ((#{tmp 4614}# + #{x 4574}#)) + #{tmp 4572}#) + (let ((#{tmp 4575}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "list") . each-any)))) - (if #{tmp 4614}# + (if #{tmp 4575}# (@apply - (lambda (#{x 4616}#) - (let ((#{tmp 4620}# (map #{emit 4431}# #{x 4616}#))) - (let ((#{tmp 4621}# - ($sc-dispatch #{tmp 4620}# 'each-any))) - (if #{tmp 4621}# + (lambda (#{x 4577}#) + (let ((#{tmp 4581}# (map #{emit 4392}# #{x 4577}#))) + (let ((#{tmp 4582}# + ($sc-dispatch #{tmp 4581}# 'each-any))) + (if #{tmp 4582}# (@apply - (lambda (#{ g4617 4623}#) + (lambda (#{ g4578 4584}#) (cons '#(syntax-object list ((top) #(ribcage () () ()) #(ribcage - #(#{ g4617}#) - #((m4618 top)) - #("i4622")) + #(#{ g4578}#) + #((m4579 top)) + #("i4583")) #(ribcage #(x) #((top)) - #("i4615")) + #("i4576")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4609")) + #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17168,70 +16957,70 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4617 4623}#)) - #{tmp 4621}#) + #{ g4578 4584}#)) + #{tmp 4582}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4620}#))))) - #{tmp 4614}#) - (let ((#{tmp 4626}# + #{tmp 4581}#))))) + #{tmp 4575}#) + (let ((#{tmp 4587}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "list*") . #(each+ any (any) ()))))) - (if #{tmp 4626}# + (if #{tmp 4587}# (@apply - (lambda (#{x 4629}# #{y 4630}#) + (lambda (#{x 4590}# #{y 4591}#) (letrec* - ((#{f 4633}# - (lambda (#{x* 4634}#) - (if (null? #{x* 4634}#) - (#{emit 4431}# #{y 4630}#) - (let ((#{tmp 4640}# - (list (#{emit 4431}# - (car #{x* 4634}#)) - (#{f 4633}# - (cdr #{x* 4634}#))))) - (let ((#{tmp 4641}# + ((#{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}# ($sc-dispatch - #{tmp 4640}# + #{tmp 4601}# '(any any)))) - (if #{tmp 4641}# + (if #{tmp 4602}# (@apply - (lambda (#{ g4637 4644}# - #{ g4636 4645}#) + (lambda (#{ g4598 4605}# + #{ g4597 4606}#) (list '#(syntax-object cons ((top) #(ribcage () () ()) #(ribcage - #(#{ g4637}# - #{ g4636}#) - #((m4638 top) - (m4638 top)) - #("i4642" "i4643")) + #(#{ g4598}# + #{ g4597}#) + #((m4599 top) + (m4599 top)) + #("i4603" "i4604")) #(ribcage () () ()) #(ribcage #(f x*) #((top) (top)) - #("i4631" "i4632")) + #("i4592" "i4593")) #(ribcage #(x y) #((top) (top)) - #("i4627" "i4628")) + #("i4588" "i4589")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4609")) + #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17246,56 +17035,56 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4637 4644}# - #{ g4636 4645}#)) - #{tmp 4641}#) + #{ g4598 4605}# + #{ g4597 4606}#)) + #{tmp 4602}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4640}#)))))))) - (begin (#{f 4633}# #{x 4629}#)))) - #{tmp 4626}#) - (let ((#{tmp 4646}# + #{tmp 4601}#)))))))) + (begin (#{f 4594}# #{x 4590}#)))) + #{tmp 4587}#) + (let ((#{tmp 4607}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "append") . each-any)))) - (if #{tmp 4646}# + (if #{tmp 4607}# (@apply - (lambda (#{x 4648}#) - (let ((#{tmp 4652}# - (map #{emit 4431}# #{x 4648}#))) - (let ((#{tmp 4653}# + (lambda (#{x 4609}#) + (let ((#{tmp 4613}# + (map #{emit 4392}# #{x 4609}#))) + (let ((#{tmp 4614}# ($sc-dispatch - #{tmp 4652}# + #{tmp 4613}# 'each-any))) - (if #{tmp 4653}# + (if #{tmp 4614}# (@apply - (lambda (#{ g4649 4655}#) + (lambda (#{ g4610 4616}#) (cons '#(syntax-object append ((top) #(ribcage () () ()) #(ribcage - #(#{ g4649}#) - #((m4650 top)) - #("i4654")) + #(#{ g4610}#) + #((m4611 top)) + #("i4615")) #(ribcage #(x) #((top)) - #("i4647")) + #("i4608")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4609")) + #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17310,54 +17099,54 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4649 4655}#)) - #{tmp 4653}#) + #{ g4610 4616}#)) + #{tmp 4614}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4652}#))))) - #{tmp 4646}#) - (let ((#{tmp 4658}# + #{tmp 4613}#))))) + #{tmp 4607}#) + (let ((#{tmp 4619}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "vector") . each-any)))) - (if #{tmp 4658}# + (if #{tmp 4619}# (@apply - (lambda (#{x 4660}#) - (let ((#{tmp 4664}# - (map #{emit 4431}# #{x 4660}#))) - (let ((#{tmp 4665}# + (lambda (#{x 4621}#) + (let ((#{tmp 4625}# + (map #{emit 4392}# #{x 4621}#))) + (let ((#{tmp 4626}# ($sc-dispatch - #{tmp 4664}# + #{tmp 4625}# 'each-any))) - (if #{tmp 4665}# + (if #{tmp 4626}# (@apply - (lambda (#{ g4661 4667}#) + (lambda (#{ g4622 4628}#) (cons '#(syntax-object vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g4661}#) - #((m4662 top)) - #("i4666")) + #(#{ g4622}#) + #((m4623 top)) + #("i4627")) #(ribcage #(x) #((top)) - #("i4659")) + #("i4620")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4609")) + #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17372,49 +17161,49 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4661 4667}#)) - #{tmp 4665}#) + #{ g4622 4628}#)) + #{tmp 4626}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4664}#))))) - #{tmp 4658}#) - (let ((#{tmp 4670}# + #{tmp 4625}#))))) + #{tmp 4619}#) + (let ((#{tmp 4631}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "list->vector") any)))) - (if #{tmp 4670}# + (if #{tmp 4631}# (@apply - (lambda (#{x 4672}#) - (let ((#{tmp 4676}# - (#{emit 4431}# #{x 4672}#))) - (let ((#{ g4673 4678}# - #{tmp 4676}#)) + (lambda (#{x 4633}#) + (let ((#{tmp 4637}# + (#{emit 4392}# #{x 4633}#))) + (let ((#{ g4634 4639}# + #{tmp 4637}#)) (list '#(syntax-object list->vector ((top) #(ribcage () () ()) #(ribcage - #(#{ g4673}#) - #((m4674 top)) - #("i4677")) + #(#{ g4634}#) + #((m4635 top)) + #("i4638")) #(ribcage #(x) #((top)) - #("i4671")) + #("i4632")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4609")) + #("i4570")) #(ribcage (emit quasivector quasilist* @@ -17429,83 +17218,83 @@ (top) (top) (top)) - ("i4430" - "i4428" - "i4426" - "i4424" - "i4422" - "i4420" - "i4418"))) + ("i4391" + "i4389" + "i4387" + "i4385" + "i4383" + "i4381" + "i4379"))) (hygiene guile)) - #{ g4673 4678}#)))) - #{tmp 4670}#) - (let ((#{tmp 4679}# + #{ g4634 4639}#)))) + #{tmp 4631}#) + (let ((#{tmp 4640}# ($sc-dispatch - #{tmp 4610}# + #{tmp 4571}# '(#(atom "value") any)))) - (if #{tmp 4679}# + (if #{tmp 4640}# (@apply - (lambda (#{x 4681}#) #{x 4681}#) - #{tmp 4679}#) + (lambda (#{x 4642}#) #{x 4642}#) + #{tmp 4640}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4610}#))))))))))))))))))) + #{tmp 4571}#))))))))))))))))))) (begin - (lambda (#{x 4682}#) - (let ((#{tmp 4684}# #{x 4682}#)) - (let ((#{tmp 4685}# - ($sc-dispatch #{tmp 4684}# '(_ any)))) - (if #{tmp 4685}# + (lambda (#{x 4643}#) + (let ((#{tmp 4645}# #{x 4643}#)) + (let ((#{tmp 4646}# + ($sc-dispatch #{tmp 4645}# '(_ any)))) + (if #{tmp 4646}# (@apply - (lambda (#{e 4687}#) - (#{emit 4431}# (#{quasi 4419}# #{e 4687}# 0))) - #{tmp 4685}#) + (lambda (#{e 4648}#) + (#{emit 4392}# (#{quasi 4380}# #{e 4648}# 0))) + #{tmp 4646}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4684}#))))))))) + #{tmp 4645}#))))))))) (define include (make-syntax-transformer 'include 'macro - (lambda (#{x 4688}#) + (lambda (#{x 4649}#) (letrec* - ((#{read-file 4691}# - (lambda (#{fn 4692}# #{k 4693}#) + ((#{read-file 4652}# + (lambda (#{fn 4653}# #{k 4654}#) (begin - (let ((#{p 4697}# (open-input-file #{fn 4692}#))) + (let ((#{p 4658}# (open-input-file #{fn 4653}#))) (letrec* - ((#{f 4701}# - (lambda (#{x 4702}# #{result 4703}#) - (if (eof-object? #{x 4702}#) + ((#{f 4662}# + (lambda (#{x 4663}# #{result 4664}#) + (if (eof-object? #{x 4663}#) (begin - (close-input-port #{p 4697}#) - (reverse #{result 4703}#)) - (#{f 4701}# - (read #{p 4697}#) - (cons (datum->syntax #{k 4693}# #{x 4702}#) - #{result 4703}#)))))) - (begin (#{f 4701}# (read #{p 4697}#) '())))))))) + (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}#) '())))))))) (begin - (let ((#{tmp 4704}# #{x 4688}#)) - (let ((#{tmp 4705}# - ($sc-dispatch #{tmp 4704}# '(any any)))) - (if #{tmp 4705}# + (let ((#{tmp 4665}# #{x 4649}#)) + (let ((#{tmp 4666}# + ($sc-dispatch #{tmp 4665}# '(any any)))) + (if #{tmp 4666}# (@apply - (lambda (#{k 4708}# #{filename 4709}#) + (lambda (#{k 4669}# #{filename 4670}#) (begin - (let ((#{fn 4711}# (syntax->datum #{filename 4709}#))) - (let ((#{tmp 4713}# - (#{read-file 4691}# - #{fn 4711}# - #{filename 4709}#))) - (let ((#{tmp 4714}# - ($sc-dispatch #{tmp 4713}# 'each-any))) - (if #{tmp 4714}# + (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}# (@apply - (lambda (#{exp 4716}#) + (lambda (#{exp 4677}#) (cons '#(syntax-object begin ((top) @@ -17513,129 +17302,129 @@ #(ribcage #(exp) #((top)) - #("i4715")) + #("i4676")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) - #("i4710")) + #("i4671")) #(ribcage #(k filename) #((top) (top)) - #("i4706" "i4707")) + #("i4667" "i4668")) #(ribcage (read-file) ((top)) - ("i4690")) + ("i4651")) #(ribcage #(x) #((top)) - #("i4689"))) + #("i4650"))) (hygiene guile)) - #{exp 4716}#)) - #{tmp 4714}#) + #{exp 4677}#)) + #{tmp 4675}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4713}#))))))) - #{tmp 4705}#) + #{tmp 4674}#))))))) + #{tmp 4666}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4704}#))))))))) + #{tmp 4665}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro - (lambda (#{x 4718}#) - (let ((#{tmp 4720}# #{x 4718}#)) - (let ((#{tmp 4721}# - ($sc-dispatch #{tmp 4720}# '(any any)))) - (if #{tmp 4721}# + (lambda (#{x 4679}#) + (let ((#{tmp 4681}# #{x 4679}#)) + (let ((#{tmp 4682}# + ($sc-dispatch #{tmp 4681}# '(any any)))) + (if #{tmp 4682}# (@apply - (lambda (#{k 4724}# #{filename 4725}#) + (lambda (#{k 4685}# #{filename 4686}#) (begin - (let ((#{fn 4727}# (syntax->datum #{filename 4725}#))) - (let ((#{tmp 4729}# + (let ((#{fn 4688}# (syntax->datum #{filename 4686}#))) + (let ((#{tmp 4690}# (datum->syntax - #{filename 4725}# + #{filename 4686}# (begin - (let ((#{t 4734}# - (%search-load-path #{fn 4727}#))) - (if #{t 4734}# - #{t 4734}# + (let ((#{t 4695}# + (%search-load-path #{fn 4688}#))) + (if #{t 4695}# + #{t 4695}# (syntax-violation 'include-from-path "file not found in path" - #{x 4718}# - #{filename 4725}#))))))) - (let ((#{fn 4731}# #{tmp 4729}#)) + #{x 4679}# + #{filename 4686}#))))))) + (let ((#{fn 4692}# #{tmp 4690}#)) (list '#(syntax-object include ((top) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i4730")) + #(ribcage #(fn) #((top)) #("i4691")) #(ribcage () () ()) #(ribcage () () ()) - #(ribcage #(fn) #((top)) #("i4726")) + #(ribcage #(fn) #((top)) #("i4687")) #(ribcage #(k filename) #((top) (top)) - #("i4722" "i4723")) + #("i4683" "i4684")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4719"))) + #(ribcage #(x) #((top)) #("i4680"))) (hygiene guile)) - #{fn 4731}#)))))) - #{tmp 4721}#) + #{fn 4692}#)))))) + #{tmp 4682}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4720}#))))))) + #{tmp 4681}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro - (lambda (#{x 4736}#) + (lambda (#{x 4697}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" - #{x 4736}#)))) + #{x 4697}#)))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro - (lambda (#{x 4738}#) + (lambda (#{x 4699}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" - #{x 4738}#)))) + #{x 4699}#)))) (define case (make-syntax-transformer 'case 'macro - (lambda (#{x 4740}#) - (let ((#{tmp 4742}# #{x 4740}#)) - (let ((#{tmp 4743}# + (lambda (#{x 4701}#) + (let ((#{tmp 4703}# #{x 4701}#)) + (let ((#{tmp 4704}# ($sc-dispatch - #{tmp 4742}# + #{tmp 4703}# '(_ any any . each-any)))) - (if #{tmp 4743}# + (if #{tmp 4704}# (@apply - (lambda (#{e 4747}# #{m1 4748}# #{m2 4749}#) - (let ((#{tmp 4751}# + (lambda (#{e 4708}# #{m1 4709}# #{m2 4710}#) + (let ((#{tmp 4712}# (letrec* - ((#{f 4757}# - (lambda (#{clause 4758}# #{clauses 4759}#) - (if (null? #{clauses 4759}#) - (let ((#{tmp 4761}# #{clause 4758}#)) - (let ((#{tmp 4762}# + ((#{f 4718}# + (lambda (#{clause 4719}# #{clauses 4720}#) + (if (null? #{clauses 4720}#) + (let ((#{tmp 4722}# #{clause 4719}#)) + (let ((#{tmp 4723}# ($sc-dispatch - #{tmp 4761}# + #{tmp 4722}# '(#(free-id #(syntax-object else @@ -17644,92 +17433,92 @@ #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile))) any . each-any)))) - (if #{tmp 4762}# + (if #{tmp 4723}# (@apply - (lambda (#{e1 4765}# #{e2 4766}#) + (lambda (#{e1 4726}# #{e2 4727}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) - #("i4763" "i4764")) + #("i4724" "i4725")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) - (cons #{e1 4765}# - #{e2 4766}#))) - #{tmp 4762}#) - (let ((#{tmp 4768}# + (cons #{e1 4726}# + #{e2 4727}#))) + #{tmp 4723}#) + (let ((#{tmp 4729}# ($sc-dispatch - #{tmp 4761}# + #{tmp 4722}# '(each-any any . each-any)))) - (if #{tmp 4768}# + (if #{tmp 4729}# (@apply - (lambda (#{k 4772}# - #{e1 4773}# - #{e2 4774}#) + (lambda (#{k 4733}# + #{e1 4734}# + #{e2 4735}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4769" - "i4770" - "i4771")) + #("i4730" + "i4731" + "i4732")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) (list '#(syntax-object memv @@ -17739,9 +17528,9 @@ #((top) (top) (top)) - #("i4769" - "i4770" - "i4771")) + #("i4730" + "i4731" + "i4732")) #(ribcage () () @@ -17753,17 +17542,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -17771,7 +17560,7 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) '#(syntax-object t @@ -17781,9 +17570,9 @@ #((top) (top) (top)) - #("i4769" - "i4770" - "i4771")) + #("i4730" + "i4731" + "i4732")) #(ribcage () () @@ -17795,17 +17584,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -17813,7 +17602,7 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) (list '#(syntax-object quote @@ -17825,9 +17614,9 @@ #((top) (top) (top)) - #("i4769" - "i4770" - "i4771")) + #("i4730" + "i4731" + "i4732")) #(ribcage () () @@ -17839,9 +17628,9 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 @@ -17849,9 +17638,9 @@ #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -17859,10 +17648,10 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) - #{k 4772}#)) + #{k 4733}#)) (cons '#(syntax-object begin ((top) @@ -17871,9 +17660,9 @@ #((top) (top) (top)) - #("i4769" - "i4770" - "i4771")) + #("i4730" + "i4731" + "i4732")) #(ribcage () () @@ -17885,17 +17674,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -17903,64 +17692,64 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) - (cons #{e1 4773}# - #{e2 4774}#)))) - #{tmp 4768}#) - (let ((#{_ 4778}# #{tmp 4761}#)) + (cons #{e1 4734}# + #{e2 4735}#)))) + #{tmp 4729}#) + (let ((#{_ 4739}# #{tmp 4722}#)) (syntax-violation 'case "bad clause" - #{x 4740}# - #{clause 4758}#))))))) - (let ((#{tmp 4780}# - (#{f 4757}# - (car #{clauses 4759}#) - (cdr #{clauses 4759}#)))) - (let ((#{rest 4782}# #{tmp 4780}#)) - (let ((#{tmp 4783}# #{clause 4758}#)) - (let ((#{tmp 4784}# + #{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}# ($sc-dispatch - #{tmp 4783}# + #{tmp 4744}# '(each-any any . each-any)))) - (if #{tmp 4784}# + (if #{tmp 4745}# (@apply - (lambda (#{k 4788}# - #{e1 4789}# - #{e2 4790}#) + (lambda (#{k 4749}# + #{e1 4750}# + #{e2 4751}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) - #("i4785" - "i4786" - "i4787")) + #("i4746" + "i4747" + "i4748")) #(ribcage () () ()) #(ribcage #(rest) #((top)) - #("i4781")) + #("i4742")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) (list '#(syntax-object memv @@ -17970,9 +17759,9 @@ #((top) (top) (top)) - #("i4785" - "i4786" - "i4787")) + #("i4746" + "i4747" + "i4748")) #(ribcage () () @@ -17980,7 +17769,7 @@ #(ribcage #(rest) #((top)) - #("i4781")) + #("i4742")) #(ribcage () () @@ -17992,17 +17781,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -18010,7 +17799,7 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) '#(syntax-object t @@ -18020,9 +17809,9 @@ #((top) (top) (top)) - #("i4785" - "i4786" - "i4787")) + #("i4746" + "i4747" + "i4748")) #(ribcage () () @@ -18030,7 +17819,7 @@ #(ribcage #(rest) #((top)) - #("i4781")) + #("i4742")) #(ribcage () () @@ -18042,17 +17831,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -18060,7 +17849,7 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) (list '#(syntax-object quote @@ -18072,9 +17861,9 @@ #((top) (top) (top)) - #("i4785" - "i4786" - "i4787")) + #("i4746" + "i4747" + "i4748")) #(ribcage () () @@ -18082,7 +17871,7 @@ #(ribcage #(rest) #((top)) - #("i4781")) + #("i4742")) #(ribcage () () @@ -18094,9 +17883,9 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 @@ -18104,9 +17893,9 @@ #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -18114,10 +17903,10 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) - #{k 4788}#)) + #{k 4749}#)) (cons '#(syntax-object begin ((top) @@ -18126,9 +17915,9 @@ #((top) (top) (top)) - #("i4785" - "i4786" - "i4787")) + #("i4746" + "i4747" + "i4748")) #(ribcage () () @@ -18136,7 +17925,7 @@ #(ribcage #(rest) #((top)) - #("i4781")) + #("i4742")) #(ribcage () () @@ -18148,17 +17937,17 @@ #((top) (top) (top)) - #("i4754" - "i4755" - "i4756")) + #("i4715" + "i4716" + "i4717")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" - "i4745" - "i4746")) + #("i4705" + "i4706" + "i4707")) #(ribcage () () @@ -18166,31 +17955,31 @@ #(ribcage #(x) #((top)) - #("i4741"))) + #("i4702"))) (hygiene guile)) - (cons #{e1 4789}# - #{e2 4790}#)) - #{rest 4782}#)) - #{tmp 4784}#) - (let ((#{_ 4794}# #{tmp 4783}#)) + (cons #{e1 4750}# + #{e2 4751}#)) + #{rest 4743}#)) + #{tmp 4745}#) + (let ((#{_ 4755}# #{tmp 4744}#)) (syntax-violation 'case "bad clause" - #{x 4740}# - #{clause 4758}#))))))))))) - (begin (#{f 4757}# #{m1 4748}# #{m2 4749}#))))) - (let ((#{body 4753}# #{tmp 4751}#)) + #{x 4701}# + #{clause 4719}#))))))))))) + (begin (#{f 4718}# #{m1 4709}# #{m2 4710}#))))) + (let ((#{body 4714}# #{tmp 4712}#)) (list '#(syntax-object let ((top) #(ribcage () () ()) - #(ribcage #(body) #((top)) #("i4752")) + #(ribcage #(body) #((top)) #("i4713")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" "i4745" "i4746")) + #("i4705" "i4706" "i4707")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4741"))) + #(ribcage #(x) #((top)) #("i4702"))) (hygiene guile)) (list (list '#(syntax-object t @@ -18199,176 +17988,176 @@ #(ribcage #(body) #((top)) - #("i4752")) + #("i4713")) #(ribcage #(e m1 m2) #((top) (top) (top)) - #("i4744" "i4745" "i4746")) + #("i4705" "i4706" "i4707")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4741"))) + #(ribcage #(x) #((top)) #("i4702"))) (hygiene guile)) - #{e 4747}#)) - #{body 4753}#)))) - #{tmp 4743}#) + #{e 4708}#)) + #{body 4714}#)))) + #{tmp 4704}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4742}#))))))) + #{tmp 4703}#))))))) (define make-variable-transformer - (lambda (#{proc 4795}#) - (if (procedure? #{proc 4795}#) + (lambda (#{proc 4756}#) + (if (procedure? #{proc 4756}#) (begin (letrec* - ((#{trans 4798}# - (lambda (#{x 4799}#) (#{proc 4795}# #{x 4799}#)))) + ((#{trans 4759}# + (lambda (#{x 4760}#) (#{proc 4756}# #{x 4760}#)))) (begin (set-procedure-property! - #{trans 4798}# + #{trans 4759}# 'variable-transformer #t) - #{trans 4798}#))) + #{trans 4759}#))) (error "variable transformer not a procedure" - #{proc 4795}#)))) + #{proc 4756}#)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro - (lambda (#{x 4801}#) - (let ((#{tmp 4803}# #{x 4801}#)) - (let ((#{tmp 4804}# - ($sc-dispatch #{tmp 4803}# '(_ any)))) - (if #{tmp 4804}# + (lambda (#{x 4762}#) + (let ((#{tmp 4764}# #{x 4762}#)) + (let ((#{tmp 4765}# + ($sc-dispatch #{tmp 4764}# '(_ any)))) + (if #{tmp 4765}# (@apply - (lambda (#{e 4806}#) + (lambda (#{e 4767}#) (list '#(syntax-object lambda ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '(#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '#(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '() (list '#(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '(#(syntax-object identifier? ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) (#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) #(syntax-object id ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - #{e 4806}#)) + #{e 4767}#)) (list '(#(syntax-object _ ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) #(syntax-object x ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) #(syntax-object ... ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile))) (list '#(syntax-object syntax ((top) - #(ribcage #(e) #((top)) #("i4805")) + #(ribcage #(e) #((top)) #("i4766")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - (cons #{e 4806}# + (cons #{e 4767}# '(#(syntax-object x ((top) #(ribcage #(e) #((top)) - #("i4805")) + #("i4766")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) #(syntax-object ... @@ -18376,55 +18165,55 @@ #(ribcage #(e) #((top)) - #("i4805")) + #("i4766")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile))))))))) - #{tmp 4804}#) - (let ((#{tmp 4807}# + #{tmp 4765}#) + (let ((#{tmp 4768}# ($sc-dispatch - #{tmp 4803}# + #{tmp 4764}# '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile))) any any) any))))) - (if (if #{tmp 4807}# + (if (if #{tmp 4768}# (@apply - (lambda (#{id 4813}# - #{exp1 4814}# - #{var 4815}# - #{val 4816}# - #{exp2 4817}#) - (if (identifier? #{id 4813}#) - (identifier? #{var 4815}#) + (lambda (#{id 4774}# + #{exp1 4775}# + #{var 4776}# + #{val 4777}# + #{exp2 4778}#) + (if (identifier? #{id 4774}#) + (identifier? #{var 4776}#) #f)) - #{tmp 4807}#) + #{tmp 4768}#) #f) (@apply - (lambda (#{id 4825}# - #{exp1 4826}# - #{var 4827}# - #{val 4828}# - #{exp2 4829}#) + (lambda (#{id 4786}# + #{exp1 4787}# + #{var 4788}# + #{val 4789}# + #{exp2 4790}#) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" "i4821" "i4822" "i4823" "i4824")) + #("i4781" "i4782" "i4783" "i4784" "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) (list '#(syntax-object lambda @@ -18432,13 +18221,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '(#(syntax-object x @@ -18446,13 +18235,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile))) '#((#(syntax-object macro-type @@ -18460,13 +18249,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) . #(syntax-object @@ -18475,13 +18264,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)))) (list '#(syntax-object syntax-case @@ -18489,13 +18278,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '#(syntax-object x @@ -18503,13 +18292,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile)) '(#(syntax-object set! @@ -18517,13 +18306,13 @@ #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4802"))) + #(ribcage #(x) #((top)) #("i4763"))) (hygiene guile))) (list (list '#(syntax-object set! @@ -18535,19 +18324,19 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - #{var 4827}# - #{val 4828}#) + #{var 4788}# + #{val 4789}#) (list '#(syntax-object syntax ((top) @@ -18558,19 +18347,19 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - #{exp2 4829}#)) - (list (cons #{id 4825}# + #{exp2 4790}#)) + (list (cons #{id 4786}# '(#(syntax-object x ((top) @@ -18585,16 +18374,16 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) #(syntax-object ... @@ -18610,16 +18399,16 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)))) (list '#(syntax-object syntax @@ -18631,18 +18420,18 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - (cons #{exp1 4826}# + (cons #{exp1 4787}# '(#(syntax-object x ((top) @@ -18657,11 +18446,11 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () @@ -18669,7 +18458,7 @@ #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) #(syntax-object ... @@ -18685,11 +18474,11 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () @@ -18697,10 +18486,10 @@ #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)))))) - (list #{id 4825}# + (list #{id 4786}# (list '#(syntax-object identifier? ((top) @@ -18711,16 +18500,16 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) (list '#(syntax-object syntax @@ -18736,18 +18525,18 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - #{id 4825}#)) + #{id 4786}#)) (list '#(syntax-object syntax ((top) @@ -18758,69 +18547,69 @@ (top) (top) (top)) - #("i4820" - "i4821" - "i4822" - "i4823" - "i4824")) + #("i4781" + "i4782" + "i4783" + "i4784" + "i4785")) #(ribcage () () ()) #(ribcage #(x) #((top)) - #("i4802"))) + #("i4763"))) (hygiene guile)) - #{exp1 4826}#)))))) - #{tmp 4807}#) + #{exp1 4787}#)))))) + #{tmp 4768}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4803}#))))))))) + #{tmp 4764}#))))))))) (define define* (make-syntax-transformer 'define* 'macro - (lambda (#{x 4830}#) - (let ((#{tmp 4832}# #{x 4830}#)) - (let ((#{tmp 4833}# + (lambda (#{x 4791}#) + (let ((#{tmp 4793}# #{x 4791}#)) + (let ((#{tmp 4794}# ($sc-dispatch - #{tmp 4832}# + #{tmp 4793}# '(_ (any . any) any . each-any)))) - (if #{tmp 4833}# + (if #{tmp 4794}# (@apply - (lambda (#{id 4838}# - #{args 4839}# - #{b0 4840}# - #{b1 4841}#) + (lambda (#{id 4799}# + #{args 4800}# + #{b0 4801}# + #{b1 4802}#) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4834" "i4835" "i4836" "i4837")) + #("i4795" "i4796" "i4797" "i4798")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4831"))) + #(ribcage #(x) #((top)) #("i4792"))) (hygiene guile)) - #{id 4838}# + #{id 4799}# (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) - #("i4834" "i4835" "i4836" "i4837")) + #("i4795" "i4796" "i4797" "i4798")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4831"))) + #(ribcage #(x) #((top)) #("i4792"))) (hygiene guile)) - (cons #{args 4839}# - (cons #{b0 4840}# #{b1 4841}#))))) - #{tmp 4833}#) - (let ((#{tmp 4843}# - ($sc-dispatch #{tmp 4832}# '(_ any any)))) - (if (if #{tmp 4843}# + (cons #{args 4800}# + (cons #{b0 4801}# #{b1 4802}#))))) + #{tmp 4794}#) + (let ((#{tmp 4804}# + ($sc-dispatch #{tmp 4793}# '(_ any any)))) + (if (if #{tmp 4804}# (@apply - (lambda (#{id 4846}# #{val 4847}#) + (lambda (#{id 4807}# #{val 4808}#) (identifier? '#(syntax-object x @@ -18828,29 +18617,29 @@ #(ribcage #(id val) #((top) (top)) - #("i4844" "i4845")) + #("i4805" "i4806")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4831"))) + #(ribcage #(x) #((top)) #("i4792"))) (hygiene guile)))) - #{tmp 4843}#) + #{tmp 4804}#) #f) (@apply - (lambda (#{id 4850}# #{val 4851}#) + (lambda (#{id 4811}# #{val 4812}#) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) - #("i4848" "i4849")) + #("i4809" "i4810")) #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i4831"))) + #(ribcage #(x) #((top)) #("i4792"))) (hygiene guile)) - #{id 4850}# - #{val 4851}#)) - #{tmp 4843}#) + #{id 4811}# + #{val 4812}#)) + #{tmp 4804}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp 4832}#))))))))) + #{tmp 4793}#))))))))) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index 85ceb13c2..5380ba787 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -156,25 +156,6 @@ (set-current-module (resolve-module '(guile)))) (let () - ;; Private version of and-map that handles multiple lists. - (define and-map* - (lambda (f first . rest) - (or (null? first) - (if (null? rest) - (let andmap ((first first)) - (let ((x (car first)) (first (cdr first))) - (if (null? first) - (f x) - (and (f x) (andmap first))))) - (let andmap ((first first) (rest rest)) - (let ((x (car first)) - (xr (map car rest)) - (first (cdr first)) - (rest (map cdr rest))) - (if (null? first) - (apply f x xr) - (and (apply f x xr) (andmap first rest))))))))) - (define-syntax define-expansion-constructors (lambda (x) (syntax-case x () @@ -1747,7 +1728,13 @@ ((vector? x) (let ((old (vector->list x))) (let ((new (map f old))) - (if (and-map* eq? old new) x (list->vector new))))) + ;; inlined and-map with two args + (let lp ((l1 old) (l2 new)) + (if (null? l1) + x + (if (eq? (car l1) (car l2)) + (lp (cdr l1) (cdr l2)) + (list->vector new))))))) (else x)))))) ;; lexical variables From a2230b653b86cece1daab09315873b5a4c592d6b Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 5 May 2011 23:07:23 +0200 Subject: [PATCH 4/5] map and for-each in scheme * module/ice-9/boot-9.scm (map, for-each): Implement in Scheme instead of C. There are boot versions before `cond' is defined. (map-in-order): Define this alias here instead of in evalext.h. * libguile/eval.c: Stub out the map and for-each definitions to just call into Scheme. * libguile/evalext.c: Remove map-in-order definition. * module/srfi/srfi-1.scm: Replace all calls to map1 with calls to map. (map, for-each): Define implementations here, in Scheme, instead of in C. * test-suite/tests/eval.test (exception:wrong-length, "map"): Update the expected exception for mapping over lists of different lengths. * libguile/srfi-1.h: * libguile/srfi-1.c: Remove map and for-each definitions. Remove the bit that extended the core `map' primitive with another method: the right way to do that is with modules. --- libguile/eval.c | 170 +++------------------------ libguile/evalext.c | 5 +- libguile/srfi-1.c | 229 ------------------------------------- libguile/srfi-1.h | 2 - module/ice-9/boot-9.scm | 185 ++++++++++++++++++++++++++++++ module/srfi/srfi-1.scm | 127 +++++++++++++++----- test-suite/tests/eval.test | 15 ++- 7 files changed, 309 insertions(+), 424 deletions(-) diff --git a/libguile/eval.c b/libguile/eval.c index f830e0099..009f3790b 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -596,171 +596,31 @@ SCM_DEFINE (scm_nconc2last, "apply:nconc2last", 1, 0, 0, #undef FUNC_NAME - -/* Typechecking for multi-argument MAP and FOR-EACH. - - Verify that each element of the vector ARGV, except for the first, - is a proper list whose length is LEN. Attribute errors to WHO, - and claim that the i'th element of ARGV is WHO's i+2'th argument. */ -static inline void -check_map_args (SCM argv, - long len, - SCM gf, - SCM proc, - SCM args, - const char *who) -{ - long i; - - for (i = SCM_SIMPLE_VECTOR_LENGTH (argv) - 1; i >= 1; i--) - { - SCM elt = SCM_SIMPLE_VECTOR_REF (argv, i); - long elt_len = scm_ilength (elt); - - if (elt_len < 0) - { - if (gf) - scm_apply_generic (gf, scm_cons (proc, args)); - else - scm_wrong_type_arg (who, i + 2, elt); - } - - if (elt_len != len) - scm_out_of_range_pos (who, elt, scm_from_long (i + 2)); - } -} - - -SCM_GPROC (s_map, "map", 2, 0, 1, scm_map, g_map); - -/* Note: Currently, scm_map applies PROC to the argument list(s) - sequentially, starting with the first element(s). This is used in - evalext.c where the Scheme procedure `map-in-order', which guarantees - sequential behaviour, is implemented using scm_map. If the - behaviour changes, we need to update `map-in-order'. -*/ - SCM scm_map (SCM proc, SCM arg1, SCM args) -#define FUNC_NAME s_map { - long i, len; - SCM res = SCM_EOL; - SCM *pres = &res; + static SCM var = SCM_BOOL_F; - len = scm_ilength (arg1); - SCM_GASSERTn (len >= 0, - g_map, scm_cons2 (proc, arg1, args), SCM_ARG2, s_map); - SCM_VALIDATE_REST_ARGUMENT (args); - if (scm_is_null (args)) - { - SCM_GASSERT2 (scm_is_true (scm_procedure_p (proc)), g_map, proc, arg1, SCM_ARG1, s_map); - while (SCM_NIMP (arg1)) - { - *pres = scm_list_1 (scm_call_1 (proc, SCM_CAR (arg1))); - pres = SCM_CDRLOC (*pres); - arg1 = SCM_CDR (arg1); - } - return res; - } - if (scm_is_null (SCM_CDR (args))) - { - SCM arg2 = SCM_CAR (args); - int len2 = scm_ilength (arg2); - SCM_GASSERTn (scm_is_true (scm_procedure_p (proc)), g_map, - scm_cons2 (proc, arg1, args), SCM_ARG1, s_map); - SCM_GASSERTn (len2 >= 0, - g_map, scm_cons2 (proc, arg1, args), SCM_ARG3, s_map); - if (len2 != len) - SCM_OUT_OF_RANGE (3, arg2); - while (SCM_NIMP (arg1)) - { - *pres = scm_list_1 (scm_call_2 (proc, SCM_CAR (arg1), SCM_CAR (arg2))); - pres = SCM_CDRLOC (*pres); - arg1 = SCM_CDR (arg1); - arg2 = SCM_CDR (arg2); - } - return res; - } - arg1 = scm_cons (arg1, args); - args = scm_vector (arg1); - check_map_args (args, len, g_map, proc, arg1, s_map); - while (1) - { - arg1 = SCM_EOL; - for (i = SCM_SIMPLE_VECTOR_LENGTH (args) - 1; i >= 0; i--) - { - SCM elt = SCM_SIMPLE_VECTOR_REF (args, i); - if (SCM_IMP (elt)) - return res; - arg1 = scm_cons (SCM_CAR (elt), arg1); - SCM_SIMPLE_VECTOR_SET (args, i, SCM_CDR (elt)); - } - *pres = scm_list_1 (scm_apply (proc, arg1, SCM_EOL)); - pres = SCM_CDRLOC (*pres); - } + if (scm_is_false (var)) + var = scm_private_variable (scm_the_root_module (), + scm_from_latin1_symbol ("map")); + + return scm_apply (scm_variable_ref (var), + scm_cons (proc, scm_cons (arg1, args)), SCM_EOL); } -#undef FUNC_NAME - - -SCM_GPROC (s_for_each, "for-each", 2, 0, 1, scm_for_each, g_for_each); SCM scm_for_each (SCM proc, SCM arg1, SCM args) -#define FUNC_NAME s_for_each { - long i, len; - len = scm_ilength (arg1); - SCM_GASSERTn (len >= 0, g_for_each, scm_cons2 (proc, arg1, args), - SCM_ARG2, s_for_each); - SCM_VALIDATE_REST_ARGUMENT (args); - if (scm_is_null (args)) - { - SCM_GASSERT2 (scm_is_true (scm_procedure_p (proc)), g_for_each, - proc, arg1, SCM_ARG1, s_for_each); - while (SCM_NIMP (arg1)) - { - scm_call_1 (proc, SCM_CAR (arg1)); - arg1 = SCM_CDR (arg1); - } - return SCM_UNSPECIFIED; - } - if (scm_is_null (SCM_CDR (args))) - { - SCM arg2 = SCM_CAR (args); - int len2 = scm_ilength (arg2); - SCM_GASSERTn (scm_is_true (scm_procedure_p (proc)), g_for_each, - scm_cons2 (proc, arg1, args), SCM_ARG1, s_for_each); - SCM_GASSERTn (len2 >= 0, g_for_each, - scm_cons2 (proc, arg1, args), SCM_ARG3, s_for_each); - if (len2 != len) - SCM_OUT_OF_RANGE (3, arg2); - while (SCM_NIMP (arg1)) - { - scm_call_2 (proc, SCM_CAR (arg1), SCM_CAR (arg2)); - arg1 = SCM_CDR (arg1); - arg2 = SCM_CDR (arg2); - } - return SCM_UNSPECIFIED; - } - arg1 = scm_cons (arg1, args); - args = scm_vector (arg1); - check_map_args (args, len, g_for_each, proc, arg1, s_for_each); - while (1) - { - arg1 = SCM_EOL; - for (i = SCM_SIMPLE_VECTOR_LENGTH (args) - 1; i >= 0; i--) - { - SCM elt = SCM_SIMPLE_VECTOR_REF (args, i); - if (SCM_IMP (elt)) - return SCM_UNSPECIFIED; - arg1 = scm_cons (SCM_CAR (elt), arg1); - SCM_SIMPLE_VECTOR_SET (args, i, SCM_CDR (elt)); - } - scm_apply (proc, arg1, SCM_EOL); - } + static SCM var = SCM_BOOL_F; + + if (scm_is_false (var)) + var = scm_private_variable (scm_the_root_module (), + scm_from_latin1_symbol ("for-each")); + + return scm_apply (scm_variable_ref (var), + scm_cons (proc, scm_cons (arg1, args)), SCM_EOL); } -#undef FUNC_NAME static SCM diff --git a/libguile/evalext.c b/libguile/evalext.c index ff2ff0ec0..1e5bd6822 100644 --- a/libguile/evalext.c +++ b/libguile/evalext.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998,1999,2000,2001,2002,2003, 2006, 2008, 2009, 2010 Free Software Foundation, Inc. +/* Copyright (C) 1998,1999,2000,2001,2002,2003, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -55,9 +55,6 @@ SCM_DEFINE (scm_defined_p, "defined?", 1, 1, 0, #undef FUNC_NAME -SCM_REGISTER_PROC (s_map_in_order, "map-in-order", 2, 0, 1, scm_map); - - SCM_DEFINE (scm_self_evaluating_p, "self-evaluating?", 1, 0, 0, (SCM obj), "Return #t for objects which Guile considers self-evaluating") diff --git a/libguile/srfi-1.c b/libguile/srfi-1.c index f67e60082..37441f788 100644 --- a/libguile/srfi-1.c +++ b/libguile/srfi-1.c @@ -44,32 +44,6 @@ */ -static long -srfi1_ilength (SCM sx) -{ - long i = 0; - SCM tortoise = sx; - SCM hare = sx; - - do { - if (SCM_NULL_OR_NIL_P(hare)) return i; - if (!scm_is_pair (hare)) return -2; - hare = SCM_CDR(hare); - i++; - if (SCM_NULL_OR_NIL_P(hare)) return i; - if (!scm_is_pair (hare)) return -2; - hare = SCM_CDR(hare); - i++; - /* For every two steps the hare takes, the tortoise takes one. */ - tortoise = SCM_CDR(tortoise); - } - while (! scm_is_eq (hare, tortoise)); - - /* If the tortoise ever catches the hare, then the list must contain - a cycle. */ - return -1; -} - static SCM equal_trampoline (SCM proc, SCM arg1, SCM arg2) { @@ -760,202 +734,6 @@ SCM_DEFINE (scm_srfi1_lset_difference_x, "lset-difference!", 2, 0, 1, #undef FUNC_NAME -/* Typechecking for multi-argument MAP and FOR-EACH. - - Verify that each element of the vector ARGV, except for the first, - is a list and return minimum length. Attribute errors to WHO, - and claim that the i'th element of ARGV is WHO's i+2'th argument. */ -static inline int -check_map_args (SCM argv, - long len, - SCM gf, - SCM proc, - SCM args, - const char *who) -{ - long i; - SCM elt; - - for (i = SCM_SIMPLE_VECTOR_LENGTH (argv) - 1; i >= 1; i--) - { - long elt_len; - elt = SCM_SIMPLE_VECTOR_REF (argv, i); - - if (!(scm_is_null (elt) || scm_is_pair (elt))) - goto check_map_error; - - elt_len = srfi1_ilength (elt); - if (elt_len < -1) - goto check_map_error; - - if (len < 0 || (elt_len >= 0 && elt_len < len)) - len = elt_len; - } - - if (len < 0) - { - /* i == 0 */ - elt = SCM_EOL; - check_map_error: - if (gf) - scm_apply_generic (gf, scm_cons (proc, args)); - else - scm_wrong_type_arg (who, i + 2, elt); - } - - scm_remember_upto_here_1 (argv); - return len; -} - - -SCM_GPROC (s_srfi1_map, "map", 2, 0, 1, scm_srfi1_map, g_srfi1_map); - -/* Note: Currently, scm_srfi1_map applies PROC to the argument list(s) - sequentially, starting with the first element(s). This is used in - the Scheme procedure `map-in-order', which guarantees sequential - behaviour, is implemented using scm_map. If the behaviour changes, - we need to update `map-in-order'. -*/ - -SCM -scm_srfi1_map (SCM proc, SCM arg1, SCM args) -#define FUNC_NAME s_srfi1_map -{ - long i, len; - SCM res = SCM_EOL; - SCM *pres = &res; - - len = srfi1_ilength (arg1); - SCM_GASSERTn ((scm_is_null (arg1) || scm_is_pair (arg1)) && len >= -1, - g_srfi1_map, - scm_cons2 (proc, arg1, args), SCM_ARG2, s_srfi1_map); - SCM_VALIDATE_REST_ARGUMENT (args); - if (scm_is_null (args)) - { - SCM_GASSERT2 (scm_is_true (scm_procedure_p (proc)), g_srfi1_map, - proc, arg1, SCM_ARG1, s_srfi1_map); - SCM_GASSERT2 (len >= 0, g_srfi1_map, proc, arg1, SCM_ARG2, s_srfi1_map); - while (SCM_NIMP (arg1)) - { - *pres = scm_list_1 (scm_call_1 (proc, SCM_CAR (arg1))); - pres = SCM_CDRLOC (*pres); - arg1 = SCM_CDR (arg1); - } - return res; - } - if (scm_is_null (SCM_CDR (args))) - { - SCM arg2 = SCM_CAR (args); - int len2 = srfi1_ilength (arg2); - SCM_GASSERTn (scm_is_true (scm_procedure_p (proc)), g_srfi1_map, - scm_cons2 (proc, arg1, args), SCM_ARG1, s_srfi1_map); - if (len < 0 || (len2 >= 0 && len2 < len)) - len = len2; - SCM_GASSERTn ((scm_is_null (arg2) || scm_is_pair (arg2)) - && len >= 0 && len2 >= -1, - g_srfi1_map, - scm_cons2 (proc, arg1, args), - len2 >= 0 ? SCM_ARG2 : SCM_ARG3, - s_srfi1_map); - while (len > 0) - { - *pres = scm_list_1 (scm_call_2 (proc, SCM_CAR (arg1), SCM_CAR (arg2))); - pres = SCM_CDRLOC (*pres); - arg1 = SCM_CDR (arg1); - arg2 = SCM_CDR (arg2); - --len; - } - return res; - } - args = scm_vector (arg1 = scm_cons (arg1, args)); - len = check_map_args (args, len, g_srfi1_map, proc, arg1, s_srfi1_map); - while (len > 0) - { - arg1 = SCM_EOL; - for (i = SCM_SIMPLE_VECTOR_LENGTH (args) - 1; i >= 0; i--) - { - SCM elt = SCM_SIMPLE_VECTOR_REF (args, i); - arg1 = scm_cons (SCM_CAR (elt), arg1); - SCM_SIMPLE_VECTOR_SET (args, i, SCM_CDR (elt)); - } - *pres = scm_list_1 (scm_apply (proc, arg1, SCM_EOL)); - pres = SCM_CDRLOC (*pres); - --len; - } - return res; -} -#undef FUNC_NAME - -SCM_REGISTER_PROC (s_srfi1_map_in_order, "map-in-order", 2, 0, 1, scm_srfi1_map); - -SCM_GPROC (s_srfi1_for_each, "for-each", 2, 0, 1, scm_srfi1_for_each, g_srfi1_for_each); - -SCM -scm_srfi1_for_each (SCM proc, SCM arg1, SCM args) -#define FUNC_NAME s_srfi1_for_each -{ - long i, len; - len = srfi1_ilength (arg1); - SCM_GASSERTn ((scm_is_null (arg1) || scm_is_pair (arg1)) && len >= -1, - g_srfi1_for_each, scm_cons2 (proc, arg1, args), - SCM_ARG2, s_srfi1_for_each); - SCM_VALIDATE_REST_ARGUMENT (args); - if (scm_is_null (args)) - { - SCM_GASSERT2 (scm_is_true (scm_procedure_p (proc)), g_srfi1_for_each, - proc, arg1, SCM_ARG1, s_srfi1_for_each); - SCM_GASSERT2 (len >= 0, g_srfi1_for_each, proc, arg1, - SCM_ARG2, s_srfi1_map); - while (SCM_NIMP (arg1)) - { - scm_call_1 (proc, SCM_CAR (arg1)); - arg1 = SCM_CDR (arg1); - } - return SCM_UNSPECIFIED; - } - if (scm_is_null (SCM_CDR (args))) - { - SCM arg2 = SCM_CAR (args); - int len2 = srfi1_ilength (arg2); - SCM_GASSERTn (scm_is_true (scm_procedure_p (proc)), g_srfi1_for_each, - scm_cons2 (proc, arg1, args), SCM_ARG1, s_srfi1_for_each); - if (len < 0 || (len2 >= 0 && len2 < len)) - len = len2; - SCM_GASSERTn ((scm_is_null (arg2) || scm_is_pair (arg2)) - && len >= 0 && len2 >= -1, - g_srfi1_for_each, - scm_cons2 (proc, arg1, args), - len2 >= 0 ? SCM_ARG2 : SCM_ARG3, - s_srfi1_for_each); - while (len > 0) - { - scm_call_2 (proc, SCM_CAR (arg1), SCM_CAR (arg2)); - arg1 = SCM_CDR (arg1); - arg2 = SCM_CDR (arg2); - --len; - } - return SCM_UNSPECIFIED; - } - args = scm_vector (arg1 = scm_cons (arg1, args)); - len = check_map_args (args, len, g_srfi1_for_each, proc, arg1, - s_srfi1_for_each); - while (len > 0) - { - arg1 = SCM_EOL; - for (i = SCM_SIMPLE_VECTOR_LENGTH (args) - 1; i >= 0; i--) - { - SCM elt = SCM_SIMPLE_VECTOR_REF (args, i); - arg1 = scm_cons (SCM_CAR (elt), arg1); - SCM_SIMPLE_VECTOR_SET (args, i, SCM_CDR (elt)); - } - scm_apply (proc, arg1, SCM_EOL); - --len; - } - return SCM_UNSPECIFIED; -} -#undef FUNC_NAME - - SCM_DEFINE (scm_srfi1_assoc, "assoc", 2, 1, 0, (SCM key, SCM alist, SCM pred), "Behaves like @code{assq} but uses third argument @var{pred?}\n" @@ -1175,16 +953,9 @@ scm_register_srfi_1 (void) void scm_init_srfi_1 (void) { - SCM the_root_module = scm_lookup_closure_module (SCM_BOOL_F); #ifndef SCM_MAGIC_SNARFER #include "libguile/srfi-1.x" #endif - scm_c_extend_primitive_generic - (SCM_VARIABLE_REF (scm_c_module_lookup (the_root_module, "map")), - SCM_VARIABLE_REF (scm_c_lookup ("map"))); - scm_c_extend_primitive_generic - (SCM_VARIABLE_REF (scm_c_module_lookup (the_root_module, "for-each")), - SCM_VARIABLE_REF (scm_c_lookup ("for-each"))); } /* End of srfi-1.c. */ diff --git a/libguile/srfi-1.h b/libguile/srfi-1.h index 85aa65d0c..13ab067bd 100644 --- a/libguile/srfi-1.h +++ b/libguile/srfi-1.h @@ -39,8 +39,6 @@ SCM_INTERNAL SCM scm_srfi1_find_tail (SCM pred, SCM lst); SCM_INTERNAL SCM scm_srfi1_length_plus (SCM lst); SCM_INTERNAL SCM scm_srfi1_lset_difference_x (SCM equal, SCM lst, SCM rest); SCM_INTERNAL SCM scm_srfi1_list_copy (SCM lst); -SCM_INTERNAL SCM scm_srfi1_map (SCM proc, SCM arg1, SCM args); -SCM_INTERNAL SCM scm_srfi1_for_each (SCM proc, SCM arg1, SCM args); SCM_INTERNAL SCM scm_srfi1_assoc (SCM key, SCM alist, SCM pred); SCM_INTERNAL SCM scm_srfi1_partition (SCM pred, SCM list); SCM_INTERNAL SCM scm_srfi1_partition_x (SCM pred, SCM list); diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm index 294b91515..60d133f20 100644 --- a/module/ice-9/boot-9.scm +++ b/module/ice-9/boot-9.scm @@ -263,6 +263,50 @@ If there is no handler at all, Guile prints an error and then exits." +;;; Boot versions of `map' and `for-each', enough to get the expander +;;; running. +;;; +(define map + (case-lambda + ((f l) + (let map1 ((l l)) + (if (null? l) + '() + (cons (f (car l)) (map1 (cdr l)))))) + ((f l1 l2) + (let map2 ((l1 l1) (l2 l2)) + (if (null? l1) + '() + (cons (f (car l1) (car l2)) + (map2 (cdr l1) (cdr l2)))))) + ((f l1 . rest) + (let lp ((l1 l1) (rest rest)) + (if (null? l1) + '() + (cons (apply f (car l1) (map car rest)) + (lp (cdr l1) (map cdr rest)))))))) + +(define for-each + (case-lambda + ((f l) + (let for-each1 ((l l)) + (if (pair? l) + (begin + (f (car l)) + (for-each1 (cdr l)))))) + ((f l1 l2) + (let for-each2 ((l1 l1) (l2 l2)) + (if (pair? l1) + (begin + (f (car l1) (car l2)) + (for-each2 (cdr l1) (cdr l2)))))) + ((f l1 . rest) + (let lp ((l1 l1) (rest rest)) + (if (pair? l1) + (begin + (apply f (car l1) (map car rest)) + (lp (cdr l1) (map cdr rest)))))))) + ;;; {and-map and or-map} ;;; ;;; (and-map fn lst) is like (and (fn (car lst)) (fn (cadr lst)) (fn...) ...) @@ -479,6 +523,147 @@ If there is no handler at all, Guile prints an error and then exits." (define sym (if (module-locally-bound? (current-module) 'sym) sym val))))) +;;; The real versions of `map' and `for-each', with cycle detection, and +;;; that use reverse! instead of recursion in the case of `map'. +;;; +(define map + (case-lambda + ((f l) + (let map1 ((hare l) (tortoise l) (move? #f) (out '())) + (if (pair? hare) + (if move? + (if (eq? tortoise hare) + (scm-error 'wrong-type-arg "map" "Circular list: ~S" + (list l) #f) + (map1 (cdr hare) (cdr tortoise) #f + (cons (f (car hare)) out))) + (map1 (cdr hare) tortoise #t + (cons (f (car hare)) out))) + (if (null? hare) + (reverse! out) + (scm-error 'wrong-type-arg "map" "Not a list: ~S" + (list l) #f))))) + + ((f l1 l2) + (let map2 ((h1 l1) (h2 l2) (t1 l1) (t2 l2) (move? #f) (out '())) + (cond + ((pair? h1) + (cond + ((not (pair? h2)) + (scm-error 'wrong-type-arg "map" + (if (list? h2) + "List of wrong length: ~S" + "Not a list: ~S") + (list l2) #f)) + ((not move?) + (map2 (cdr h1) (cdr h2) t1 t2 #t + (cons (f (car h1) (car h2)) out))) + ((eq? t1 h1) + (scm-error 'wrong-type-arg "map" "Circular list: ~S" + (list l1) #f)) + ((eq? t2 h2) + (scm-error 'wrong-type-arg "map" "Circular list: ~S" + (list l2) #f)) + (else + (map2 (cdr h1) (cdr h2) (cdr t1) (cdr t2) #f + (cons (f (car h1) (car h2)) out))))) + + ((and (null? h1) (null? h2)) + (reverse! out)) + + ((null? h1) + (scm-error 'wrong-type-arg "map" + (if (list? h2) + "List of wrong length: ~S" + "Not a list: ~S") + (list l2) #f)) + (else + (scm-error 'wrong-type-arg "map" + "Not a list: ~S" + (list l1) #f))))) + + ((f l1 . rest) + (let ((len (length l1))) + (let mapn ((rest rest)) + (or (null? rest) + (if (= (length (car rest)) len) + (mapn (cdr rest)) + (scm-error 'wrong-type-arg "map" "List of wrong length: ~S" + (list (car rest)) #f))))) + (let mapn ((l1 l1) (rest rest) (out '())) + (if (null? l1) + (reverse! out) + (mapn (cdr l1) (map cdr rest) + (cons (apply f (car l1) (map car rest)) out))))))) + +(define map-in-order map) + +(define for-each + (case-lambda + ((f l) + (let for-each1 ((hare l) (tortoise l) (move? #f)) + (if (pair? hare) + (if move? + (if (eq? tortoise hare) + (scm-error 'wrong-type-arg "for-each" "Circular list: ~S" + (list l) #f) + (begin + (f (car hare)) + (for-each1 (cdr hare) (cdr tortoise) #f))) + (begin + (f (car hare)) + (for-each1 (cdr hare) tortoise #t))) + + (if (not (null? hare)) + (scm-error 'wrong-type-arg "for-each" "Not a list: ~S" + (list l) #f))))) + + ((f l1 l2) + (let for-each2 ((h1 l1) (h2 l2) (t1 l1) (t2 l2) (move? #f)) + (cond + ((and (pair? h1) (pair? h2)) + (cond + ((not move?) + (f (car h1) (car h2)) + (for-each2 (cdr h1) (cdr h2) t1 t2 #t)) + ((eq? t1 h1) + (scm-error 'wrong-type-arg "for-each" "Circular list: ~S" + (list l1) #f)) + ((eq? t2 h2) + (scm-error 'wrong-type-arg "for-each" "Circular list: ~S" + (list l2) #f)) + (else + (f (car h1) (car h2)) + (for-each2 (cdr h1) (cdr h2) (cdr t1) (cdr t2) #f)))) + + ((if (null? h1) + (or (null? h2) (pair? h2)) + (and (pair? h1) (null? h2))) + (if #f #f)) + + ((list? h1) + (scm-error 'wrong-type-arg "for-each" "Unexpected tail: ~S" + (list h2) #f)) + (else + (scm-error 'wrong-type-arg "for-each" "Unexpected tail: ~S" + (list h1) #f))))) + + ((f l1 . rest) + (let ((len (length l1))) + (let for-eachn ((rest rest)) + (or (null? rest) + (if (= (length (car rest)) len) + (for-eachn (cdr rest)) + (scm-error 'wrong-type-arg "for-each" "List of wrong length: ~S" + (list (car rest)) #f))))) + + (let for-eachn ((l1 l1) (rest rest)) + (if (pair? l1) + (begin + (apply f (car l1) (map car rest)) + (for-eachn (cdr l1) (map cdr rest)))))))) + + ;;; diff --git a/module/srfi/srfi-1.scm b/module/srfi/srfi-1.scm index 68b62de56..bcaca65d7 100644 --- a/module/srfi/srfi-1.scm +++ b/module/srfi/srfi-1.scm @@ -418,20 +418,20 @@ a list of those after." (let lp ((l (cons clist1 rest)) (acc '())) (if (any null? l) (reverse! acc) - (lp (map1 cdr l) (cons (map1 car l) acc))))) + (lp (map cdr l) (cons (map car l) acc))))) (define (unzip1 l) - (map1 first l)) + (map first l)) (define (unzip2 l) - (values (map1 first l) (map1 second l))) + (values (map first l) (map second l))) (define (unzip3 l) - (values (map1 first l) (map1 second l) (map1 third l))) + (values (map first l) (map second l) (map third l))) (define (unzip4 l) - (values (map1 first l) (map1 second l) (map1 third l) (map1 fourth l))) + (values (map first l) (map second l) (map third l) (map fourth l))) (define (unzip5 l) - (values (map1 first l) (map1 second l) (map1 third l) (map1 fourth l) - (map1 fifth l))) + (values (map first l) (map second l) (map third l) (map fourth l) + (map fifth l))) ;;; Fold, unfold & map @@ -446,8 +446,8 @@ that result. See the manual for details." (let f ((knil knil) (lists (cons list1 rest))) (if (any null? lists) knil - (let ((cars (map1 car lists)) - (cdrs (map1 cdr lists))) + (let ((cars (map car lists)) + (cdrs (map cdr lists))) (f (apply kons (append! cars (list knil))) cdrs)))))) (define (fold-right kons knil clist1 . rest) @@ -458,12 +458,12 @@ that result. See the manual for details." result (loop (cdr lst) (kons (car lst) result)))) - (let loop ((lists (map1 reverse (cons clist1 rest))) + (let loop ((lists (map reverse (cons clist1 rest))) (result knil)) (if (any1 null? lists) result - (loop (map1 cdr lists) - (apply kons (append! (map1 car lists) (list result)))))))) + (loop (map cdr lists) + (apply kons (append! (map car lists) (list result)))))))) (define (pair-fold kons knil clist1 . rest) (if (null? rest) @@ -475,7 +475,7 @@ that result. See the manual for details." (let f ((knil knil) (lists (cons clist1 rest))) (if (any null? lists) knil - (let ((tails (map1 cdr lists))) + (let ((tails (map cdr lists))) (f (apply kons (append! lists (list knil))) tails)))))) @@ -488,7 +488,7 @@ that result. See the manual for details." (let f ((lists (cons clist1 rest))) (if (any null? lists) knil - (apply kons (append! lists (list (f (map1 cdr lists))))))))) + (apply kons (append! lists (list (f (map cdr lists))))))))) (define* (unfold p f g seed #:optional (tail-gen (lambda (x) '()))) (define (reverse+tail lst seed) @@ -530,10 +530,79 @@ has just one element then that's the return value." ridentity (fold-right f (last lst) (drop-right lst 1)))) +(define map + (case-lambda + ((f l) + (let map1 ((hare l) (tortoise l) (move? #f) (out '())) + (if (pair? hare) + (if move? + (if (eq? tortoise hare) + (scm-error 'wrong-type-arg "map" "Circular list: ~S" + (list l) #f) + (map1 (cdr hare) (cdr tortoise) #f + (cons (f (car hare)) out))) + (map1 (cdr hare) tortoise #t + (cons (f (car hare)) out))) + (if (null? hare) + (reverse! out) + (scm-error 'wrong-type-arg "map" "Not a list: ~S" + (list l) #f))))) + + ((f l1 . rest) + (let ((len (fold (lambda (ls len) + (let ((ls-len (length+ ls))) + (if len + (if ls-len (min ls-len len) len) + ls-len))) + (length+ l1) + rest))) + (if (not len) + (scm-error 'wrong-type-arg "map" + "Args do not contain a proper (finite) list: ~S" + (list (cons l1 rest)) #f)) + (let mapn ((l1 l1) (rest rest) (len len) (out '())) + (if (zero? len) + (reverse! out) + (mapn (cdr l1) (map cdr rest) (1- len) + (cons (apply f (car l1) (map car rest)) out)))))))) -;; Internal helper procedure. Map `f' over the single list `ls'. -;; -(define map1 map) +(define for-each + (case-lambda + ((f l) + (let for-each1 ((hare l) (tortoise l) (move? #f)) + (if (pair? hare) + (if move? + (if (eq? tortoise hare) + (scm-error 'wrong-type-arg "for-each" "Circular list: ~S" + (list l) #f) + (begin + (f (car hare)) + (for-each1 (cdr hare) (cdr tortoise) #f))) + (begin + (f (car hare)) + (for-each1 (cdr hare) tortoise #t))) + + (if (not (null? hare)) + (scm-error 'wrong-type-arg "for-each" "Not a list: ~S" + (list l) #f))))) + + ((f l1 . rest) + (let ((len (fold (lambda (ls len) + (let ((ls-len (length+ ls))) + (if len + (if ls-len (min ls-len len) len) + ls-len))) + (length+ l1) + rest))) + (if (not len) + (scm-error 'wrong-type-arg "for-each" + "Args do not contain a proper (finite) list: ~S" + (list (cons l1 rest)) #f)) + (let for-eachn ((l1 l1) (rest rest) (len len)) + (if (> len 0) + (begin + (apply f (car l1) (map car rest)) + (for-eachn (cdr l1) (map cdr rest) (1- len))))))))) (define (append-map f clist1 . rest) (concatenate (apply map f clist1 rest))) @@ -561,10 +630,10 @@ the list returned." (rl '())) (if (any1 null? l) (reverse! rl) - (let ((res (apply proc (map1 car l)))) + (let ((res (apply proc (map car l)))) (if res - (lp (map1 cdr l) (cons res rl)) - (lp (map1 cdr l) rl))))))) + (lp (map cdr l) (cons res rl)) + (lp (map cdr l) rl))))))) (define (pair-for-each f clist1 . rest) (if (null? rest) @@ -579,7 +648,7 @@ the list returned." (if #f #f) (begin (apply f l) - (lp (map1 cdr l))))))) + (lp (map cdr l))))))) ;;; Searching @@ -677,10 +746,10 @@ all fail the predicate PRED, and the remainder of LST." (let lp ((lists (cons ls lists))) (cond ((any1 null? lists) #f) - ((any1 null? (map1 cdr lists)) - (apply pred (map1 car lists))) + ((any1 null? (map cdr lists)) + (apply pred (map car lists))) (else - (or (apply pred (map1 car lists)) (lp (map1 cdr lists)))))))) + (or (apply pred (map car lists)) (lp (map cdr lists)))))))) (define (any1 pred ls) (let lp ((ls ls)) @@ -697,10 +766,10 @@ all fail the predicate PRED, and the remainder of LST." (let lp ((lists (cons ls lists))) (cond ((any1 null? lists) #t) - ((any1 null? (map1 cdr lists)) - (apply pred (map1 car lists))) + ((any1 null? (map cdr lists)) + (apply pred (map car lists))) (else - (and (apply pred (map1 car lists)) (lp (map1 cdr lists)))))))) + (and (apply pred (map car lists)) (lp (map cdr lists)))))))) (define (every1 pred ls) (let lp ((ls ls)) @@ -724,9 +793,9 @@ CLIST1 ... CLISTN, that satisfies PRED." (let lp ((lists (cons clist1 rest)) (i 0)) (cond ((any1 null? lists) #f) - ((apply pred (map1 car lists)) i) + ((apply pred (map car lists)) i) (else - (lp (map1 cdr lists) (+ i 1))))))) + (lp (map cdr lists) (+ i 1))))))) ;;; Association lists diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test index 7eb19ebec..9d6bc6d94 100644 --- a/test-suite/tests/eval.test +++ b/test-suite/tests/eval.test @@ -1,5 +1,5 @@ ;;;; eval.test --- tests guile's evaluator -*- scheme -*- -;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public @@ -28,6 +28,11 @@ (define exception:failed-match (cons 'syntax-error "failed to match any pattern")) +(define exception:not-a-list + (cons 'wrong-type-arg "Not a list")) + +(define exception:wrong-length + (cons 'wrong-type-arg "wrong length")) ;;; ;;; miscellaneous @@ -192,19 +197,19 @@ (with-test-prefix "different length lists" (pass-if-exception "first list empty" - exception:out-of-range + exception:wrong-length (map + '() '(1))) (pass-if-exception "second list empty" - exception:out-of-range + exception:wrong-length (map + '(1) '())) (pass-if-exception "first list shorter" - exception:out-of-range + exception:wrong-length (map + '(1) '(2 3))) (pass-if-exception "second list shorter" - exception:out-of-range + exception:wrong-length (map + '(1 2) '(3))) ))) From a2a6c0e319b5c146c484cb1fe8ffc9b14b9a9876 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 6 May 2011 00:17:35 +0200 Subject: [PATCH 5/5] avoid tls gets when handling interrupts in the vm * libguile/__scm.h (SCM_ASYNC_TICK_WITH_CODE): Redefine to take a scm_i_thread* as well. OK to do because it's within a BUILDING_LIBGUILE block. * libguile/vm-engine.c (vm_engine): Cache the scm_i_thread* instead of the dynstate, so we can use the thread for ticks. * libguile/vm-engine.h (VM_HANDLE_INTERRUPTS): Tick with the scm_i_thread* local var, to avoid excessive tls calls. * libguile/vm-i-system.c: Fix dynstate users to use current_thread->dynamic_state. --- libguile/__scm.h | 4 ++-- libguile/vm-engine.c | 2 +- libguile/vm-engine.h | 2 +- libguile/vm-i-system.c | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libguile/__scm.h b/libguile/__scm.h index 2bfb4f694..f5551ad7a 100644 --- a/libguile/__scm.h +++ b/libguile/__scm.h @@ -536,10 +536,10 @@ SCM_API void scm_async_tick (void); while (0) /* SCM_ASYNC_TICK_WITH_CODE is only available to Guile itself */ -# define SCM_ASYNC_TICK_WITH_CODE(stmt) \ +# define SCM_ASYNC_TICK_WITH_CODE(thr, stmt) \ do \ { \ - if (SCM_UNLIKELY (SCM_I_CURRENT_THREAD->pending_asyncs)) \ + if (SCM_UNLIKELY (thr->pending_asyncs)) \ { \ stmt; \ scm_async_click (); \ diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index bfa848967..e449b4372 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -52,7 +52,7 @@ VM_NAME (SCM vm, SCM program, SCM *argv, int nargs) #endif SCM *stack_limit = vp->stack_limit; /* stack limit address */ - SCM dynstate = SCM_I_CURRENT_THREAD->dynamic_state; + scm_i_thread *current_thread = SCM_I_CURRENT_THREAD; scm_t_int64 vm_cookie = vp->cookie++; /* Internal variables */ diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h index abbc11077..146931eb6 100644 --- a/libguile/vm-engine.h +++ b/libguile/vm-engine.h @@ -244,7 +244,7 @@ RUN_HOOK (SCM_VM_RESTORE_CONTINUATION_HOOK) #define VM_HANDLE_INTERRUPTS \ - SCM_ASYNC_TICK_WITH_CODE (SYNC_REGISTER ()) + SCM_ASYNC_TICK_WITH_CODE (current_thread, SYNC_REGISTER ()) /* diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index ea00fc920..0ff411f9a 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -1635,7 +1635,7 @@ VM_DEFINE_INSTRUCTION (89, wind_fluids, "wind-fluids", 1, -1, 0) wf = scm_i_make_with_fluids (n, sp + 1, sp + 1 + n); NULLSTACK (2 * n); - scm_i_swap_with_fluids (wf, dynstate); + scm_i_swap_with_fluids (wf, current_thread->dynamic_state); scm_i_set_dynwinds (scm_cons (wf, scm_i_dynwinds ())); NEXT; } @@ -1645,7 +1645,7 @@ VM_DEFINE_INSTRUCTION (90, unwind_fluids, "unwind-fluids", 0, 0, 0) SCM wf; wf = scm_car (scm_i_dynwinds ()); scm_i_set_dynwinds (scm_cdr (scm_i_dynwinds ())); - scm_i_swap_with_fluids (wf, dynstate); + scm_i_swap_with_fluids (wf, current_thread->dynamic_state); NEXT; } @@ -1655,7 +1655,7 @@ VM_DEFINE_INSTRUCTION (91, fluid_ref, "fluid-ref", 0, 1, 1) SCM fluids; CHECK_UNDERFLOW (); - fluids = SCM_I_DYNAMIC_STATE_FLUIDS (dynstate); + fluids = SCM_I_DYNAMIC_STATE_FLUIDS (current_thread->dynamic_state); if (SCM_UNLIKELY (!SCM_FLUID_P (*sp)) || ((num = SCM_I_FLUID_NUM (*sp)) >= SCM_SIMPLE_VECTOR_LENGTH (fluids))) { @@ -1683,7 +1683,7 @@ VM_DEFINE_INSTRUCTION (92, fluid_set, "fluid-set", 0, 2, 0) SCM val, fluid, fluids; POP2 (val, fluid); - fluids = SCM_I_DYNAMIC_STATE_FLUIDS (dynstate); + fluids = SCM_I_DYNAMIC_STATE_FLUIDS (current_thread->dynamic_state); if (SCM_UNLIKELY (!SCM_FLUID_P (fluid)) || ((num = SCM_I_FLUID_NUM (fluid)) >= SCM_SIMPLE_VECTOR_LENGTH (fluids))) {